/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x1401f0190 FUN_1401f0190 * Pseudocode, not original source. */ void FUN_1401f0190(longlong param_1,longlong *param_2) { undefined8 *puVar1; char cVar2; longlong *plVar3; longlong *plVar4; undefined8 uVar5; uVar5 = 0xfffffffffffffffe; plVar4 = (longlong *)0x0; plVar3 = plVar4; if ((undefined8 *)*param_2 != (undefined8 *)0x0) { plVar3 = *(longlong **)*param_2; } cVar2 = (**(code **)(*plVar3 + 0x10))(); if (cVar2 == '\0') { if ((undefined8 *)*param_2 != (undefined8 *)0x0) { plVar4 = *(longlong **)*param_2; } (**(code **)(*plVar4 + 8))(plVar4); } uVar5 = FUN_1401d4010(param_1 + 0x228,param_2,*(undefined8 *)(param_1 + 0x238),0,uVar5); if (*(undefined8 **)(param_1 + 0x238) == (undefined8 *)0x0) { *(undefined8 *)(param_1 + 0x230) = uVar5; } else { **(undefined8 **)(param_1 + 0x238) = uVar5; } *(undefined8 *)(param_1 + 0x238) = uVar5; 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; }