/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x14019ce80 FUN_14019ce80 * Pseudocode, not original source. */ void FUN_14019ce80(longlong param_1,int param_2,undefined8 param_3) { int *piVar1; undefined *puVar2; undefined8 uVar3; undefined *local_res20; undefined *local_28; undefined8 local_20; undefined8 local_18; undefined1 local_10; if (((param_2 != 0x2733) && (local_20 = 0xfffffffffffffffe, param_2 != 0x3e5)) && (*(char *)(param_1 + 0x21) == '\x01')) { FUN_14016d8c0(); local_28 = PTR_DAT_1403440a0; FUN_14004c020(&local_28,&DAT_140280368,param_3,param_2); FUN_14016d8c0(); puVar2 = local_28; local_res20 = PTR_DAT_1403440a0; if (PTR_DAT_1403440a0 == (undefined *)0x0) { local_res20 = (undefined *)0x0; } if (local_28 != PTR_DAT_1403440a0) { uVar3 = FUN_14016d8c0(); local_18 = uVar3; FUN_14016db50(uVar3); local_10 = 1; FUN_14004eb70(&local_res20); local_res20 = puVar2; if (((puVar2 != PTR_DAT_1403440a0) && (puVar2 != (undefined *)0x0)) && (puVar2 != (undefined *)0x8)) { *(int *)(puVar2 + -4) = *(int *)(puVar2 + -4) + 1; } FUN_14016dbe0(uVar3); } (**(code **)(**(longlong **)(param_1 + 0x18) + 8)) (*(longlong **)(param_1 + 0x18),param_1,&local_res20); if (((puVar2 != (undefined *)0x0) && (puVar2 != PTR_DAT_1403440a0)) && (puVar2 + -8 != (undefined *)0x0)) { uVar3 = FUN_14016d8c0(); local_18 = uVar3; FUN_14016db50(uVar3); local_10 = 1; piVar1 = (int *)(puVar2 + -4); *piVar1 = *piVar1 + -1; if (*piVar1 == 0) { FUN_14016d970(puVar2 + -8); } FUN_14016dbe0(uVar3); } } return; }