/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x1401aae30 FUN_1401aae30 * Pseudocode, not original source. */ void FUN_1401aae30(longlong param_1,longlong param_2,longlong param_3,undefined8 param_4, char param_5) { undefined8 uVar1; undefined4 local_170 [2]; undefined1 local_168 [8]; undefined1 local_160 [8]; longlong local_158; int local_14c; undefined1 local_140 [232]; undefined1 local_58 [80]; if ((param_2 != 0) && (param_5 == '\x01')) { *(int *)(param_2 + 0x1dc) = *(int *)(param_2 + 0x1dc) + 1; } if (*(longlong *)(param_3 + 8) == 0) { FUN_14016d300(local_58,PTR_u_exception_due_to_not_using_Inter_140344010); /* WARNING: Subroutine does not return */ _CxxThrowException(local_58,(ThrowInfo *)&DAT_1403417f8); } FUN_14016b470(local_168,param_3,param_3,param_4,0xfffffffffffffffe); FUN_14018b960(local_140); local_170[0] = (undefined4)param_4; uVar1 = FUN_14018ec30(param_2 + 0x268,local_170,*(undefined8 *)(param_2 + 0x278),0); if (*(undefined8 **)(param_2 + 0x278) == (undefined8 *)0x0) { *(undefined8 *)(param_2 + 0x270) = uVar1; } else { **(undefined8 **)(param_2 + 0x278) = uVar1; } *(undefined8 *)(param_2 + 0x278) = uVar1; FUN_14018ba10(local_140); FUN_14016d0e0(local_160); if ((local_158 != 0) && (local_14c < 0)) { /* WARNING: Subroutine does not return */ FUN_14016d6b0(); } if (param_2 == 0) { param_2 = 0; } else { param_2 = param_2 + 8; } FUN_1401c2710(param_1 + 0x160,param_2); return; }