/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 * Ghidra 12.1.2 decompiler output for 0x14003a5b8 ATL::CAtlBaseModule::CAtlBaseModule * Pseudocode, not original source. */ /* Library Function - Single Match public: __cdecl ATL::CAtlBaseModule::CAtlBaseModule(void) __ptr64 Library: Visual Studio 2010 Release */ CAtlBaseModule * __thiscall ATL::CAtlBaseModule::CAtlBaseModule(CAtlBaseModule *this) { DWORD DVar1; BOOL BVar2; DWORD DVar3; memset(this + 0x28,0,0x28); *(undefined8 *)(this + 0x50) = 0; *(undefined4 *)(this + 0x58) = 0; *(undefined4 *)(this + 0x5c) = 0; *(IMAGE_DOS_HEADER **)(this + 0x10) = &IMAGE_DOS_HEADER_140000000; *(IMAGE_DOS_HEADER **)(this + 8) = &IMAGE_DOS_HEADER_140000000; *(undefined4 *)this = 0x60; *(undefined4 *)(this + 0x18) = 0xa00; *(undefined **)(this + 0x20) = &DAT_1400f59d0; BVar2 = InitializeCriticalSectionAndSpinCount((LPCRITICAL_SECTION)(this + 0x28),0); if (BVar2 == 0) { DVar3 = GetLastError(); DVar1 = DVar3 & 0xffff | 0x80070000; if ((int)DVar3 < 1) { DVar1 = DVar3; } if ((int)DVar1 < 0) { DAT_1401626e5 = 1; } } return this; }