server-re/decomp/AgentManager_Release_x64/full/functions/0x14003acf0.c
2026-10-15 09:58:24 -04:00

66 lines
1.8 KiB
C

/* 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;
}