/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x14018be50 FUN_14018be50 * Pseudocode, not original source. */ longlong * FUN_14018be50(undefined8 param_1,int param_2,longlong *param_3) { undefined4 uVar1; longlong lVar2; undefined8 *puVar3; longlong lVar4; undefined4 *puVar5; undefined4 *puVar6; longlong *local_res20; puVar3 = (undefined8 *)FUN_14018bc80(param_1,&local_res20,param_2); puVar5 = (undefined4 *)0x0; puVar6 = puVar5; if ((undefined8 *)*puVar3 != (undefined8 *)0x0) { puVar6 = *(undefined4 **)*puVar3; } if ((local_res20 != (longlong *)0x0) && (local_res20[1] = local_res20[1] + -1, local_res20[1] == 0)) { lVar4 = *local_res20; if (lVar4 != 0) { FUN_140178e60(lVar4); FUN_14016d970(lVar4); } local_res20 = (longlong *)FUN_14016d970(local_res20); } if (puVar6 == (undefined4 *)0x0) { if ((param_2 != 1) && (lVar4 = FUN_1401763d0(param_1,param_2), lVar4 == 0)) { return (longlong *)0x0; } local_res20 = (longlong *)FUN_140174a50(param_3,param_3[1],param_2); } else { if (*(longlong *)(puVar6 + 10) != 0) { puVar5 = *(undefined4 **)(puVar6 + 6); } while (puVar5 != (undefined4 *)0x0) { lVar4 = param_3[1]; uVar1 = *puVar5; if (lVar4 < 0) { /* WARNING: Subroutine does not return */ FUN_14016d6b0(); } FUN_140173be0(param_3,lVar4 + 1,0xffffffffffffffff); if (param_3[1] <= lVar4) { /* WARNING: Subroutine does not return */ FUN_14016d6b0(); } if ((ulonglong)param_3[2] < 0x65) { local_res20 = (longlong *)((longlong)param_3 + lVar4 * 4 + 0x20); *(undefined4 *)local_res20 = uVar1; puVar5 = *(undefined4 **)(puVar5 + 6); } else { lVar2 = *param_3; *(undefined4 *)(lVar2 + lVar4 * 4) = uVar1; puVar5 = *(undefined4 **)(puVar5 + 6); local_res20 = (longlong *)(lVar2 + lVar4 * 4); } } } return local_res20; }