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

80 lines
2.5 KiB
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x1401fe280 FUN_1401fe280
* Pseudocode, not original source. */
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
void FUN_1401fe280(longlong param_1,undefined4 param_2,undefined2 param_3,longlong param_4,
undefined8 param_5,undefined8 param_6,undefined8 *param_7)
{
undefined1 auStack_e58 [32];
undefined1 *local_e38;
undefined8 local_e30;
undefined8 *local_e28;
undefined **local_e18;
undefined4 local_e10;
undefined2 local_e0c;
undefined8 local_e08;
undefined8 local_df8;
undefined8 uStack_df0;
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_e58;
(**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x118) + 0x78) + 0x10))();
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_df8 = *param_7;
uStack_df0 = param_7[1];
local_de8 = *(undefined4 *)(param_7 + 2);
uStack_de4 = *(undefined4 *)((longlong)param_7 + 0x14);
uStack_de0 = *(undefined4 *)(param_7 + 3);
uStack_ddc = *(undefined4 *)((longlong)param_7 + 0x1c);
local_e18 = Proud::AddrPort::vftable;
local_e10 = *(undefined4 *)(param_4 + 8);
local_e0c = *(undefined2 *)(param_4 + 0xc);
local_e28 = &local_df8;
local_e30 = param_6;
local_e38 = local_cd8;
FUN_1401b8810(*(undefined8 *)(param_1 + 0x108),param_2,param_3,&local_e18);
local_e18 = &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;
}