read(fd int64, buffer *any, length int64) -> int64 { fd = kernel32.GetStdHandle(-10 - fd) kernel32.ReadConsole(fd, buffer, length, 0) return length } write(fd int64, buffer *any, length int64) -> int64 { fd = kernel32.GetStdHandle(-10 - fd) kernel32.WriteConsoleA(fd, buffer, length, 0) return length } mmap(address int, length int, protection int, flags int) -> *any { return kernel32.VirtualAlloc(address, length, flags, protection) } munmap(address *any, length int) -> int { return kernel32.VirtualFree(address, length, mem.decommit) } const mem { decommit 0x4000 } extern kernel32 { GetStdHandle(handle int64) -> int64 ReadConsole(fd int64, buffer *any, length uint32, written *uint32) -> bool VirtualAlloc(address int, length int, flags int, protection int) VirtualFree(address *any, length int, type int) -> bool WriteConsoleA(fd int64, buffer *any, length uint32, written *uint32) -> bool }