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

105 lines
3.1 KiB
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x1401baf20 FUN_1401baf20
* Pseudocode, not original source. */
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
void FUN_1401baf20(longlong param_1,undefined4 param_2,undefined2 param_3,longlong param_4,
undefined8 param_5,undefined4 *param_6)
{
undefined8 uVar1;
longlong lVar2;
undefined1 auStack_e78 [32];
undefined1 *local_e58;
undefined8 local_e50;
undefined4 *local_e48;
undefined **local_e38;
undefined4 local_e30;
undefined2 local_e2c;
longlong local_e28;
undefined1 local_e20;
longlong local_e18;
undefined1 local_e10;
undefined8 local_e08;
undefined4 local_df8;
undefined4 uStack_df4;
undefined4 uStack_df0;
undefined4 uStack_dec;
undefined4 local_de8;
undefined4 uStack_de4;
undefined4 uStack_de0;
undefined4 uStack_ddc;
undefined1 local_dd8 [80];
undefined1 local_d88 [8];
undefined *local_d80;
longlong local_d78;
undefined4 local_d70;
int local_d6c;
undefined1 local_d60 [136];
undefined1 local_cd8 [3200];
undefined1 *local_58;
undefined4 local_50;
int local_4c;
ulonglong local_48;
local_e08 = 0xfffffffffffffffe;
local_48 = DAT_1403463c0 ^ (ulonglong)auStack_e78;
FUN_1401b1b20(param_1 + 0x40);
local_4c = 200;
local_50 = 0;
local_58 = local_cd8;
FUN_14016b440(local_d88);
FUN_14016b0c0(local_d88,local_d60,0x80);
FUN_1401bf350(param_5,local_cd8,local_d88);
local_e28 = param_1 + 0xa8;
FUN_14016db50();
local_e20 = 1;
local_df8 = *param_6;
uStack_df4 = param_6[1];
uStack_df0 = param_6[2];
uStack_dec = param_6[3];
local_de8 = param_6[4];
uStack_de4 = param_6[5];
uStack_de0 = param_6[6];
uStack_ddc = param_6[7];
local_e38 = Proud::AddrPort::vftable;
local_e30 = *(undefined4 *)(param_4 + 8);
local_e2c = *(undefined2 *)(param_4 + 0xc);
uVar1 = *(undefined8 *)(param_1 + 0x168);
local_e50 = (**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x148) + 0x118) + 8))();
local_e48 = &local_df8;
local_e58 = local_cd8;
FUN_1401b8810(uVar1,param_2,param_3,&local_e38);
if (*(char *)(param_1 + 0x100) == '\0') {
lVar2 = *(longlong *)(param_1 + 0x148) + 2000;
local_e18 = lVar2;
FUN_14016db50(lVar2);
local_e10 = 1;
if (*(longlong *)(param_1 + 0xa0) == 0) {
FUN_1401bae90(*(longlong *)(param_1 + 0x148) + 0x828,param_1);
}
FUN_14016dbe0(lVar2);
}
FUN_14016dbe0(local_e28);
local_e38 = &local_d80;
FUN_14016d0e0(&local_d80);
if (local_d78 != 0) {
if (local_d6c < 0) {
/* WARNING: Subroutine does not return */
FUN_14016d6b0();
}
local_d70 = 0;
}
if (local_58 == (undefined1 *)0x0) {
FUN_14016d300(local_dd8,PTR_u_ArrayWithExternalBuffer_is_unini_1403440d0);
/* WARNING: Subroutine does not return */
_CxxThrowException(local_dd8,(ThrowInfo *)&DAT_1403417f8);
}
if (local_4c < 0) {
/* WARNING: Subroutine does not return */
FUN_14016d6b0();
}
return;
}