server-re/decomp/DBCServer_Release_x64/full/functions/0x1401aae30.c

52 lines
1.6 KiB
C

/* 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;
}