/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x1401b53b0 FUN_1401b53b0 * Pseudocode, not original source. */ void FUN_1401b53b0(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; undefined8 *puVar2; undefined8 uVar3; undefined1 local_128 [8]; undefined1 local_120 [8]; longlong local_118; int local_10c; undefined1 local_100 [232]; uVar3 = 0xfffffffffffffffe; if ((*(longlong *)(param_1 + 0x238) != 0) && (*(longlong *)(*(longlong *)(param_1 + 0x238) + 0x3e0) != 0)) { FUN_14016b440(local_128); FUN_14018d500(local_100,param_2,param_3,param_4,uVar3); uVar3 = *(undefined8 *)(param_1 + 0x278); plVar1 = *(longlong **)(param_1 + 0x268); if (plVar1 == (longlong *)0x0) { puVar2 = (undefined8 *)FUN_14016d940(0x128); } else { puVar2 = (undefined8 *)(**(code **)(*plVar1 + 8))(plVar1,0x128); } if (puVar2 != (undefined8 *)0x0) { *(undefined4 *)(puVar2 + 2) = 0; FUN_14016b470(puVar2 + 3,local_128); FUN_14018d500(puVar2 + 8,local_100); } puVar2[1] = uVar3; *puVar2 = 0; *(longlong *)(param_1 + 0x280) = *(longlong *)(param_1 + 0x280) + 1; if (*(undefined8 **)(param_1 + 0x278) == (undefined8 *)0x0) { *(undefined8 **)(param_1 + 0x270) = puVar2; } else { **(undefined8 **)(param_1 + 0x278) = puVar2; } *(undefined8 **)(param_1 + 0x278) = puVar2; FUN_14018ba10(local_100); FUN_14016d0e0(local_120); if ((local_118 != 0) && (local_10c < 0)) { /* WARNING: Subroutine does not return */ FUN_14016d6b0(); } FUN_1401c2710(*(longlong *)(*(longlong *)(param_1 + 0x238) + 0x3e0) + 0x160,param_1 + 8); } return; }