/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x1401d2520 FUN_1401d2520 * Pseudocode, not original source. */ undefined8 FUN_1401d2520(longlong param_1,undefined8 param_2,undefined8 param_3,char *param_4,longlong *param_5 ) { longlong *plVar1; char cVar2; undefined8 uVar3; undefined8 uVar4; longlong lVar5; undefined *puVar6; longlong lVar7; undefined1 local_res8 [8]; undefined1 local_30 [8]; undefined4 local_28; undefined2 local_24; undefined8 local_20; undefined1 local_18; uVar3 = (**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); local_20 = uVar3; FUN_14016db50(uVar3); local_18 = 1; lVar7 = 0; if ((*param_4 != '\0') && (cVar2 = FUN_1401d1d10(*(undefined8 *)(param_1 + 0x20)), cVar2 != '\0')) { FUN_1401c7530(*(undefined8 *)(param_1 + 0x20)); puVar6 = (undefined *)*param_5; if ((undefined *)*param_5 == (undefined *)0x0) { puVar6 = PTR_DAT_140344098; } uVar4 = FUN_14019e770(local_res8,puVar6); FUN_14016fc40(local_30,uVar4,(short)param_5[1]); plVar1 = *(longlong **)(*(longlong *)(param_1 + 0x20) + 0x1570); lVar5 = lVar7; if (plVar1 != (longlong *)0x0) { lVar5 = *plVar1; } *(undefined4 *)(lVar5 + 0xd0) = local_28; *(undefined2 *)(lVar5 + 0xd4) = local_24; } plVar1 = *(longlong **)(*(longlong *)(param_1 + 0x20) + 0x1570); if (plVar1 != (longlong *)0x0) { lVar7 = *plVar1; } *(undefined1 *)(lVar7 + 0x40) = 0; FUN_14016dbe0(uVar3); return 1; }