server-re/decomp/Agent_Release_x64/full/functions/0x14002e1c0.c
2026-10-14 16:45:19 -04:00

66 lines
1.8 KiB
C

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