Trying to figure out how to implement my WINC like compatibility layer. Going the emulation way is probably not so smart. We should not use the kernel but rather hook native functions in the Exec calls.
EXPORTS
??0Monitor@@IAE@XZ @ 1 NONAME ; protected: __thiscall Monitor::Monitor(void)
?CpuInit@Monitor@@QAEXXZ @ 2 NONAME ; public: void __thiscall Monitor::CpuInit(void)
?DisplayFaultInfo@Monitor@@QAEXXZ @ 3 NONAME ; public: void __thiscall Monitor::DisplayFaultInfo(void)
?DoDiscontiguousMemoryDumpL@Monitor@@QAEXIH@Z @ 4 NONAME ; public: void __thiscall Monitor::DoDiscontiguousMemoryDumpL(unsigned int,int)
?DoMemoryDumpL@Monitor@@QAEXIH@Z @ 5 NONAME ; public: void __thiscall Monitor::DoMemoryDumpL(unsigned int,int)
?DumpObjectContainer@Monitor@@QAEXIH@Z @ 6 NONAME ; public: void __thiscall Monitor::DumpObjectContainer(unsigned int,int)
?HandleException@Monitor@@SAXXZ @ 7 NONAME ; public: static void __cdecl Monitor::HandleException(void)
?NewLine@Monitor@@QAEXXZ @ 8 NONAME ; public: void __thiscall Monitor::NewLine(void)
?ObjectDump@Monitor@@QAEXI@Z @ 9 NONAME ; public: void __thiscall Monitor::ObjectDump(unsigned int)
?ObjectFullDump@Monitor@@QAEXI@Z @ 10 NONAME ; public: void __thiscall Monitor::ObjectFullDump(unsigned int)
?Print@Monitor@@QAEXPBD@Z @ 11 NONAME ; public: void __thiscall Monitor::Print(char const *)
?PrintLine@Monitor@@QAEXABVTDesC8@@@Z @ 12 NONAME ; public: void __thiscall Monitor::PrintLine(class TDesC8 const &)
?PrintLine@Monitor@@QAEXPBD@Z @ 13 NONAME ; public: void __thiscall Monitor::PrintLine(char const *)
?Printf@Monitor@@QAAXPBDZZ @ 14 NONAME ; public: void __cdecl Monitor::Printf(char const *,...)
?ProcessError@Monitor@@QAEXH@Z @ 15 NONAME ; public: void __thiscall Monitor::ProcessError(int)
?ProcessInfoCommand@Monitor@@QAEXABVTDesC8@@AAH@Z @ 16 NONAME ; public: void __thiscall Monitor::ProcessInfoCommand(class TDesC8 const &,int &)
?RegisterMonitorImpl@Monitor@@SAXPAV1@@Z @ 17 NONAME ; public: static void __cdecl Monitor::RegisterMonitorImpl(class Monitor *)
?DumpCpuRegisters@Monitor@@QAEXXZ @ 18 NONAME ; public: void __thiscall Monitor::DumpCpuRegisters(void)
?Trap@TTrapM@@QAEHAAH@Z @ 19 NONAME ; public: int __thiscall TTrapM::Trap(int &)
?UnTrap@TTrapM@@SAXXZ @ 20 NONAME ; public: static void __cdecl TTrapM::UnTrap(void)
?Leave@Monitor@@SAXH@Z @ 21 NONAME ; public: static void __cdecl Monitor::Leave(int)
?DisplayCpuFaultInfo@Monitor@@QAEXXZ @ 22 NONAME ; public: void __thiscall Monitor::DisplayCpuFaultInfo(void)
?DumpCpuThreadData@Monitor@@QAEXPAVDThread@@@Z @ 23 NONAME ; public: void __thiscall Monitor::DumpCpuThreadData(class DThread *)
?Entry@Monitor@@SAXPAX@Z @ 24 NONAME ; public: static void __cdecl Monitor::Entry(void *)
?Pause@Monitor@@UAEXH@Z @ 25 NONAME ; public: virtual void __thiscall Monitor::Pause(int)
?DumpThreadStack@Monitor@@QAEXPAVDThread@@@Z @ 26 NONAME ; public: void __thiscall Monitor::DumpThreadStack(class DThread *)
?DumpThreadStacks@Monitor@@QAEXH@Z @ 27 NONAME ; public: void __thiscall Monitor::DumpThreadStacks(int)
?DisplayCodeSeg@Monitor@@QAEXH@Z @ 28 NONAME ; public: void __thiscall Monitor::DisplayCodeSeg(int)
?DisplayCodeSeg@Monitor@@QAEXPAVDCodeSeg@@H@Z @ 29 NONAME ; public: void __thiscall Monitor::DisplayCodeSeg(DCodeSeg*, int)
?DoDiscontiguousMemoryDumpL@Monitor@@QAEXIHI@Z @ 30 NONAME ; public: void __thiscall Monitor::DoDiscontiguousMemoryDumpL(unsigned int,int,unsigned int)
?DoMemoryDumpL@Monitor@@QAEXIHI@Z @ 31 NONAME ; public: void __thiscall Monitor::DoMemoryDumpL(unsigned int,int,unsigned int)
?DumpExceptionStacks@Monitor@@QAEXXZ @ 32 NONAME ; public: void __thiscall Monitor::DumpExceptionStacks(void)
?SwitchAddressSpace@Monitor@@QAEHPAVDProcess@@H@Z @ 33 NONAME ; public: int __thiscall Monitor::SwitchAddressSpace(class DProcess *,int)
?CrashTime@@YA_JXZ @ 34 NONAME ; __int64 __cdecl CrashTime(void)
?DisplayNThreadInfo@Monitor@@QAEXPAVNThread@@@Z @ 35 NONAME ; public: void __thiscall Monitor::DisplayNThreadInfo(class NThread *)
?GetStackPointers@Monitor@@QAEXPAVNThread@@AAI1@Z @ 36 NONAME ; public: void __thiscall Monitor::GetStackPointers(class NThread *,unsigned int &,unsigned int &)
?MapAndLocateUserStack@Monitor@@QAEIPAVDThread@@@Z @ 37 NONAME ; public: unsigned int __thiscall Monitor::MapAndLocateUserStack(class DThread *)