server-re/decomp/MessageServer_Release_x64/full/functions/0x1400eff60.c

39 lines
1.3 KiB
C

/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x1400eff60 FUN_1400eff60
* Pseudocode, not original source. */
void FUN_1400eff60(longlong *param_1,longlong param_2,undefined8 *param_3)
{
longlong lVar1;
longlong *plVar2;
undefined1 uVar3;
ushort uVar4;
longlong lVar5;
double dVar6;
undefined **local_38;
undefined4 local_30;
undefined2 local_2c;
lVar1 = *param_1;
if ((*(longlong **)(lVar1 + 0x18) != (longlong *)0x0) && (**(longlong **)(lVar1 + 0x18) != 0)) {
local_38 = Proud::AddrPort::vftable;
local_30 = *(undefined4 *)(lVar1 + 0x598);
local_2c = *(undefined2 *)(lVar1 + 0x59c);
if ((*(longlong **)(lVar1 + 0x18) == (longlong *)0x0) ||
(lVar5 = **(longlong **)(lVar1 + 0x18), lVar5 == 0)) {
lVar5 = 0;
}
else {
lVar5 = lVar5 + -0x40;
}
plVar2 = *(longlong **)(lVar1 + 0x670);
dVar6 = (double)(**(code **)(plVar2[0xe] + 0x1c0))();
uVar3 = (**(code **)(*plVar2 + 0x30))(plVar2);
uVar4 = FUN_1400d3400(uVar3,(char)*(undefined4 *)(lVar1 + 0x56c));
FUN_1400f3cd0(lVar5,(ulonglong)*(uint *)(*param_1 + 0x56c),(ulonglong)uVar4,(longlong)&local_38,
param_2,dVar6,param_3);
}
return;
}