/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x1401c9120 FUN_1401c9120 * Pseudocode, not original source. */ void FUN_1401c9120(longlong *param_1) { undefined8 uVar1; undefined8 uVar2; longlong lVar3; longlong lVar4; uVar1 = (**(code **)(*param_1 + 0x58))(); FUN_14016db50(uVar1); if ((((longlong *)param_1[699] != (longlong *)0x0) && (lVar3 = *(longlong *)param_1[699], lVar3 != 0)) && (lVar3 != 0x40)) { if (lVar3 != 0) { lVar3 = lVar3 + -0x40; } FUN_1401f9bb0(lVar3); } if ((((longlong *)param_1[0x2a4] != (longlong *)0x0) && (lVar3 = *(longlong *)param_1[0x2a4], lVar3 != 0)) && (lVar3 != 0x40)) { if (lVar3 != 0) { lVar3 = lVar3 + -0x40; } FUN_1401fdde0(lVar3); } if (param_1[0x2ce] == 0) { lVar3 = 0; } else { lVar3 = param_1[0x2cc]; } for (; lVar3 != 0; lVar3 = *(longlong *)(lVar3 + 0x10)) { lVar4 = 0; if (*(longlong **)(lVar3 + 8) != (longlong *)0x0) { lVar4 = **(longlong **)(lVar3 + 8); } if (((*(char *)(lVar4 + 0x684) == '\0') && (*(longlong **)(lVar4 + 0x18) != (longlong *)0x0)) && (**(longlong **)(lVar4 + 0x18) != 0)) { uVar2 = FUN_1401fa4b0(); FUN_1401fdde0(uVar2); } } FUN_14016dbe0(uVar1); return; }