/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 * Ghidra 12.1.2 decompiler output for 0x14002e1c0 FUN_14002e1c0 * Pseudocode, not original source. */ undefined8 * FUN_14002e1c0(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_140162d58 = puVar4; if (puVar1 != (undefined8 *)0x0) { *puVar1 = MagiServerFile::vftable; puVar1[1] = 0; puVar1[2] = 0; puVar1[3] = 0; DAT_140162d58 = puVar1; } puVar2 = operator_new(0x1f8); puVar1 = puVar4; if (puVar2 != (undefined8 *)0x0) { puVar1 = FUN_140022340(puVar2,param_2,CONCAT71(uVar6,uVar5),param_4); } DAT_140162d68 = puVar1; puVar2 = operator_new(0x50); puVar1 = puVar4; if (puVar2 != (undefined8 *)0x0) { puVar1 = FUN_14002b730(puVar2); } DAT_140162d48 = puVar1; puVar2 = operator_new(0x80); puVar1 = puVar4; if (puVar2 != (undefined8 *)0x0) { *puVar2 = MagiRealTimeEventData::vftable; FUN_1400296a0(puVar2 + 1); uVar3 = FUN_14002e790(); FUN_14002e600((undefined4 *)(puVar2 + 9),uVar3 & 0xffffffff,CONCAT71(uVar6,1),param_4); puVar1 = puVar2; } DAT_140162d88 = 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_1400296a0(puVar1 + 7); puVar4 = puVar1; } DAT_140162d60 = puVar4; return param_1; }