/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 * Ghidra 12.1.2 decompiler output for 0x14005c630 FUN_14005c630 * Pseudocode, not original source. */ void FUN_14005c630(undefined8 *param_1) { *param_1 = MagiServerOption::vftable; if (param_1[0x35] != 0) { FUN_1400616f0(param_1 + 0x35); } FUN_140060ed0(param_1 + 0x31); if (0xf < (ulonglong)param_1[0x24]) { operator_delete((void *)param_1[0x21]); } param_1[0x24] = 0xf; param_1[0x23] = 0; *(undefined1 *)(param_1 + 0x21) = 0; if (0xf < (ulonglong)param_1[0x1f]) { operator_delete((void *)param_1[0x1c]); } param_1[0x1f] = 0xf; param_1[0x1e] = 0; *(undefined1 *)(param_1 + 0x1c) = 0; if (0xf < (ulonglong)param_1[0x1a]) { operator_delete((void *)param_1[0x17]); } param_1[0x1a] = 0xf; param_1[0x19] = 0; *(undefined1 *)(param_1 + 0x17) = 0; if (0xf < (ulonglong)param_1[0x15]) { operator_delete((void *)param_1[0x12]); } param_1[0x15] = 0xf; param_1[0x14] = 0; *(undefined1 *)(param_1 + 0x12) = 0; if (7 < (ulonglong)param_1[0xe]) { operator_delete((void *)param_1[0xb]); } param_1[0xe] = 7; param_1[0xd] = 0; *(undefined2 *)(param_1 + 0xb) = 0; if (7 < (ulonglong)param_1[9]) { operator_delete((void *)param_1[6]); } param_1[9] = 7; param_1[8] = 0; *(undefined2 *)(param_1 + 6) = 0; if (7 < (ulonglong)param_1[4]) { operator_delete((void *)param_1[1]); } param_1[4] = 7; param_1[3] = 0; *(undefined2 *)(param_1 + 1) = 0; DAT_1401bd038 = 0; *param_1 = MBISingleton::vftable; return; }