/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186 * Ghidra 12.1.2 decompiler output for 0x14003acf0 FUN_14003acf0 * Pseudocode, not original source. */ undefined8 * FUN_14003acf0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; undefined8 *puVar2; ulonglong uVar3; undefined8 *puVar4; undefined1 uVar5; undefined7 uVar6; uVar5 = (undefined1)param_3; uVar6 = (undefined7)((ulonglong)param_3 >> 8); *param_1 = MagiAgentCommon::vftable; puVar1 = operator_new(0x28); puVar4 = (undefined8 *)0x0; DAT_14017cf50 = puVar4; if (puVar1 != (undefined8 *)0x0) { *puVar1 = MagiServerFile::vftable; puVar1[1] = 0; puVar1[2] = 0; puVar1[3] = 0; DAT_14017cf50 = puVar1; } puVar2 = operator_new(0x1f8); puVar1 = puVar4; if (puVar2 != (undefined8 *)0x0) { puVar1 = FUN_14002f760(puVar2,param_2,CONCAT71(uVar6,uVar5),param_4); } DAT_14017cf28 = puVar1; puVar2 = operator_new(0x50); puVar1 = puVar4; if (puVar2 != (undefined8 *)0x0) { puVar1 = FUN_140038440(puVar2); } DAT_14017cf10 = puVar1; puVar2 = operator_new(0x80); puVar1 = puVar4; if (puVar2 != (undefined8 *)0x0) { *puVar2 = MagiRealTimeEventData::vftable; FUN_14000c1f0(puVar2 + 1); uVar3 = FUN_140094860(); FUN_14003cf60((undefined4 *)(puVar2 + 9),uVar3 & 0xffffffff,CONCAT71(uVar6,1),param_4); puVar1 = puVar2; } DAT_14017cf58 = puVar1; puVar1 = operator_new(0x78); if (puVar1 != (undefined8 *)0x0) { *puVar1 = MagiServerManager::vftable; puVar1[1] = 0; puVar1[2] = 0; puVar1[3] = 0; puVar1[4] = 0xf8; puVar1[5] = 0x20; puVar1[6] = 0x20; FUN_14000c1f0(puVar1 + 7); puVar4 = puVar1; } DAT_14017cf20 = puVar4; return param_1; }