49 lines
1.6 KiB
C
49 lines
1.6 KiB
C
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
|
* Ghidra 12.1.2 decompiler output for 0x1400e8ed0 FUN_1400e8ed0
|
|
* Pseudocode, not original source. */
|
|
|
|
void FUN_1400e8ed0(longlong *param_1,ulonglong param_2,longlong param_3,undefined8 *param_4)
|
|
|
|
{
|
|
longlong *plVar1;
|
|
char cVar2;
|
|
undefined1 uVar3;
|
|
ushort uVar4;
|
|
longlong lVar5;
|
|
undefined8 *puVar6;
|
|
double dVar7;
|
|
undefined **local_38;
|
|
undefined4 local_30;
|
|
undefined2 local_2c;
|
|
SIZE_T local_28;
|
|
undefined1 local_20;
|
|
|
|
puVar6 = param_4;
|
|
(**(code **)(*(longlong *)(*param_1 + 0x78) + 0x10))(*param_1 + 0x78);
|
|
if ((char)param_1[0x10] != '\0') {
|
|
lVar5 = FUN_1400a0ef0(*param_1);
|
|
cVar2 = (**(code **)(*(longlong *)(lVar5 + 0x40) + 0x10))(lVar5 + 0x40);
|
|
if (cVar2 == '\0') {
|
|
if (*(char *)(param_4 + 3) == '\0') {
|
|
*(int *)(*param_1 + 0x508) = *(int *)(*param_1 + 0x508) + 1;
|
|
}
|
|
local_38 = Proud::AddrPort::vftable;
|
|
local_30 = (undefined4)param_1[0x1a];
|
|
local_2c = *(undefined2 *)((longlong)param_1 + 0xd4);
|
|
plVar1 = (longlong *)*param_1;
|
|
dVar7 = (double)(**(code **)(plVar1[0xe] + 0x1c0))();
|
|
uVar3 = (**(code **)(*plVar1 + 0x30))(plVar1);
|
|
uVar4 = FUN_1400d3400(uVar3,1);
|
|
lVar5 = FUN_1400a0ef0(*param_1);
|
|
FUN_1400f3cd0(lVar5,param_2 & 0xffffffff,(ulonglong)uVar4,(longlong)&local_38,param_3,dVar7,
|
|
param_4);
|
|
return;
|
|
}
|
|
}
|
|
local_28 = param_4[1];
|
|
local_20 = *(undefined1 *)(param_4 + 2);
|
|
lVar5 = FUN_1400a0f10(*param_1);
|
|
FUN_1400ef790(lVar5,param_3,&local_28,puVar6);
|
|
return;
|
|
}
|
|
|