109 lines
3.3 KiB
C
109 lines
3.3 KiB
C
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
|
* Ghidra 12.1.2 decompiler output for 0x1400d8df0 FUN_1400d8df0
|
|
* Pseudocode, not original source. */
|
|
|
|
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
|
|
|
void FUN_1400d8df0(longlong param_1,uint param_2,ushort param_3,longlong param_4,longlong param_5,
|
|
uint *param_6)
|
|
|
|
{
|
|
longlong *plVar1;
|
|
double dVar2;
|
|
int *piVar3;
|
|
ulonglong uVar4;
|
|
longlong lVar5;
|
|
undefined ***pppuVar6;
|
|
undefined1 auStackY_e78 [32];
|
|
undefined **local_e38;
|
|
undefined4 local_e30;
|
|
undefined2 local_e2c;
|
|
int *local_e28;
|
|
undefined1 local_e20;
|
|
int *local_e18;
|
|
undefined1 local_e10;
|
|
undefined8 local_e08;
|
|
uint local_df8;
|
|
uint uStack_df4;
|
|
uint uStack_df0;
|
|
uint uStack_dec;
|
|
uint local_de8;
|
|
uint uStack_de4;
|
|
uint uStack_de0;
|
|
uint uStack_ddc;
|
|
exception local_dd8 [80];
|
|
undefined4 local_d88 [2];
|
|
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_1401ac5a0 ^ (ulonglong)auStackY_e78;
|
|
lVar5 = param_4;
|
|
FUN_1400cf890();
|
|
local_4c = 200;
|
|
local_50 = 0;
|
|
local_58 = local_cd8;
|
|
FUN_1400bca00(local_d88);
|
|
FUN_1400bc680((longlong)local_d88,(longlong)local_d60,0x80,lVar5);
|
|
FUN_1400db480(param_5,(longlong)local_cd8,(SIZE_T)local_d88,lVar5);
|
|
local_e28 = (int *)(param_1 + 0xa8);
|
|
FUN_14006b350(local_e28);
|
|
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);
|
|
plVar1 = *(longlong **)(param_1 + 0x168);
|
|
dVar2 = (double)(**(code **)(*(longlong *)(*(longlong *)(param_1 + 0x148) + 0x118) + 8))();
|
|
pppuVar6 = &local_e38;
|
|
uVar4 = (ulonglong)param_3;
|
|
FUN_1400d6760(plVar1,(ulonglong)param_2,uVar4,(ulonglong)pppuVar6,(longlong)local_cd8,dVar2,
|
|
&local_df8);
|
|
if (*(char *)(param_1 + 0x100) == '\0') {
|
|
piVar3 = (int *)(*(longlong *)(param_1 + 0x148) + 2000);
|
|
local_e18 = piVar3;
|
|
FUN_14006b350(piVar3);
|
|
local_e10 = 1;
|
|
if (*(longlong *)(param_1 + 0xa0) == 0) {
|
|
FUN_1400d8d60((longlong *)(*(longlong *)(param_1 + 0x148) + 0x828),param_1,uVar4,pppuVar6);
|
|
}
|
|
FUN_14006b3e0((longlong)piVar3);
|
|
}
|
|
FUN_14006b3e0((longlong)local_e28);
|
|
local_e38 = &local_d80;
|
|
FUN_1400d1800((longlong *)&local_d80);
|
|
if (local_d78 != 0) {
|
|
if (local_d6c < 0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_14006be00();
|
|
}
|
|
local_d70 = 0;
|
|
}
|
|
if (local_58 == (undefined1 *)0x0) {
|
|
FUN_14006ba50(local_dd8,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_1401ad9a0,uVar4,
|
|
pppuVar6);
|
|
/* WARNING: Subroutine does not return */
|
|
_CxxThrowException(local_dd8,(ThrowInfo *)&DAT_1401a93e8);
|
|
}
|
|
if (local_4c < 0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_14006be00();
|
|
}
|
|
return;
|
|
}
|
|
|