/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x14015d580 FUN_14015d580 * Pseudocode, not original source. */ undefined8 * FUN_14015d580(undefined8 *param_1) { undefined4 uVar1; undefined8 *puVar2; void *pvVar3; undefined8 *puVar4; undefined8 *puVar5; *param_1 = MagiAgentCommon::vftable; puVar2 = operator_new(0x28); puVar5 = (undefined8 *)0x0; DAT_1403531b0 = puVar5; if (puVar2 != (undefined8 *)0x0) { *puVar2 = MagiServerFile::vftable; puVar2[1] = 0; puVar2[2] = 0; puVar2[3] = 0; DAT_1403531b0 = puVar2; } pvVar3 = operator_new(0x1f8); puVar2 = puVar5; if (pvVar3 != (void *)0x0) { puVar2 = (undefined8 *)FUN_140154d30(pvVar3); } DAT_140353190 = puVar2; pvVar3 = operator_new(0x50); puVar2 = puVar5; if (pvVar3 != (void *)0x0) { puVar2 = (undefined8 *)FUN_14015c960(pvVar3); } DAT_140353198 = puVar2; puVar4 = operator_new(0x80); puVar2 = puVar5; if (puVar4 != (undefined8 *)0x0) { *puVar4 = MagiRealTimeEventData::vftable; FUN_14015ea80(puVar4 + 1); uVar1 = FUN_140171510(); FUN_14016da70(puVar4 + 9,uVar1,1); puVar2 = puVar4; } DAT_1403531b8 = puVar2; puVar2 = operator_new(0x78); if (puVar2 != (undefined8 *)0x0) { *puVar2 = MagiServerManager::vftable; puVar2[1] = 0; puVar2[2] = 0; puVar2[3] = 0; puVar2[4] = 0xf8; puVar2[5] = 0x20; puVar2[6] = 0x20; FUN_14015ea80(puVar2 + 7); puVar5 = puVar2; } DAT_1403531c0 = puVar5; return param_1; }