/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 * Ghidra 12.1.2 decompiler output for 0x14003a7d4 ATL::CAtlStringMgr::Reallocate * Pseudocode, not original source. */ /* Library Function - Single Match public: virtual struct ATL::CStringData * __ptr64 __cdecl ATL::CAtlStringMgr::Reallocate(struct ATL::CStringData * __ptr64,int,int) __ptr64 Libraries: Visual Studio 2008 Release, Visual Studio 2010 Release */ CStringData * __thiscall ATL::CAtlStringMgr::Reallocate(CAtlStringMgr *this,CStringData *param_1,int param_2,int param_3) { CStringData *pCVar1; uint uVar2; uint uVar3; ulonglong uVar4; uVar2 = param_2 + 8U & 0xfffffff8; uVar4 = (ulonglong)uVar2 * (ulonglong)(uint)param_3; if (((uVar4 < 0x100000000) && (uVar3 = (uint)uVar4, uVar3 < 0xffffffe8)) && (pCVar1 = (CStringData *) (**(code **)(**(longlong **)(this + 8) + 0x10)) (*(longlong **)(this + 8),param_1,uVar3 + 0x18), pCVar1 != (CStringData *)0x0)) { *(uint *)(pCVar1 + 0xc) = uVar2 - 1; return pCVar1; } return (CStringData *)0x0; }