LPVOID VirtualAlloc ( LPVOID lpAddress, SIZE_T dwSize, DWORD flAllocationType, DWORD flProtect);
MEM_RESET - drop data currently in block
MEM_COMMIT - reserve address range and storage for block
MEM_RESERVE - reserve address range but not storage for block
MEM_TOP_DOWN - allocate with as high address as possible
MEM_WRITE_WATCH - keep list of pages that were modified