Memory is something like a "singleton" class for memory management. The global instance gets instantiated (in VSHELL.EXE) in initProgram.
It manages an initial heap of 4.000.000 (0x3D0900) bytes; this value is a fixed constant at DATA:0046C284 (initialHeapSize dd 4000000).
ctor with initial heap size and a pointer to the 4MB space @ Memory::__construct
vtablePtr[1]: heap (pointer to first byte of heap area)
vtablePtr[2]: heapSize (size of heap in bytes)
vtablePtr[3]: heapCopy (needs further examination)
vtablePtr[4]: freeBytes (amount of bytes still free)
vtablePtr[5]: unknown (needs further examination)
vtablePtr[6]: unknown (needs further examination)
no vtable present here, all methods are called directly
Memory management
fff