/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186 * Ghidra 12.1.2 decompiler output for 0x14003f010 FUN_14003f010 * Pseudocode, not original source. */ undefined8 * FUN_14003f010(undefined1 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; undefined8 *puVar2; HANDLE pvVar3; undefined *puVar4; undefined **ppuVar5; wchar_t *pwVar6; ulonglong uVar7; undefined4 local_res8 [2]; undefined *local_res10; puVar2 = operator_new(0x18); if (puVar2 == (undefined8 *)0x0) { puVar2 = (undefined8 *)0x0; } else { *puVar2 = Proud::CMemoryHeapImpl::vftable; } pwVar6 = (wchar_t *)0x0; uVar7 = 0; ppuVar5 = (undefined **)0x4; pvVar3 = HeapCreate(4,0,0); puVar2[1] = pvVar3; if (pvVar3 == (HANDLE)0x0) { FUN_14003e7c0(ppuVar5,pwVar6,uVar7,param_4); local_res10 = PTR_DAT_14016f010; uVar1 = FUN_14003e620(L"FATAL: HeapCreate failed!"); puVar4 = FUN_140001ee0((longlong *)&local_res10,uVar1); pwVar6 = L"FATAL: HeapCreate failed!"; uVar7 = (ulonglong)uVar1; FUN_14003e650(puVar4,L"FATAL: HeapCreate failed!",uVar1); FUN_140001fc0((longlong *)&local_res10); ppuVar5 = &local_res10; FUN_1400416f0((longlong *)ppuVar5,pwVar6,uVar7,param_4); } local_res8[0] = 2; puVar4 = FUN_14003e0c0(ppuVar5,pwVar6,uVar7,param_4); if (*(longlong *)(puVar4 + 8) != 0) { puVar4 = FUN_14003e0c0(ppuVar5,pwVar6,uVar7,param_4); (**(code **)(puVar4 + 8))(puVar2[1],0,local_res8,4); } *(undefined1 *)(puVar2 + 2) = param_1; return puVar2; }