/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x1401d8ac0 FUN_1401d8ac0 * Pseudocode, not original source. */ void FUN_1401d8ac0(longlong param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; longlong lVar2; undefined8 uVar3; if (((longlong *)*param_2 == (longlong *)0x0) || (lVar2 = *(longlong *)*param_2, lVar2 == 0)) { lVar2 = 0; } else { lVar2 = lVar2 + -0x40; } FUN_1401d88c0(param_1 + 0x1720,lVar2 + 0x134,param_2,param_4,0xfffffffffffffffe); *(undefined8 *)(lVar2 + 0x120) = 0; uVar3 = (**(code **)(*(longlong *)(param_1 + 0x70) + 0x1c0))(); *(undefined8 *)(lVar2 + 0x148) = uVar3; FUN_1401fe0d0(lVar2); if ((*param_2 != 0) && (*(longlong *)(*param_2 + 8) = *(longlong *)(*param_2 + 8) + -1, *(longlong *)(*param_2 + 8) == 0)) { param_2 = (longlong *)*param_2; puVar1 = (undefined8 *)*param_2; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } FUN_14016d970(param_2); } return; }