write(fd Int, address Pointer, length Int) -> Int {
	// out numberOfBytesWritten
	// out overlapped
	return kernel32.WriteFile(fd, address, length)
}

mmap(address Int, length Int, protection Int, flags Int) -> Pointer {
	return kernel32.VirtualAlloc(address, length, flags, protection)
}

munmap(address Pointer, length Int) -> Int {
	return kernel32.VirtualFree(address, length, 0x4000)
}

exit(code Int) {
	kernel32.ExitProcess(code)
}