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

51 lines
1.4 KiB
C

/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x140007ed0 FUN_140007ed0
* Pseudocode, not original source. */
undefined8 FUN_140007ed0(longlong param_1,undefined8 param_2,undefined8 param_3,longlong param_4)
{
undefined8 uVar1;
LPVOID pvVar2;
LPVOID pvVar3;
ulonglong uVar4;
undefined *puVar5;
char *local_50;
DWORD local_48;
longlong local_40;
undefined **local_38;
longlong *local_30;
LPVOID local_28;
ulonglong local_20;
undefined8 local_18;
local_50 = "REQ_MSG_CHANNEL_CHATTING";
local_40 = *(longlong *)**(undefined8 **)(param_1 + 0x80) + 0x68;
local_48 = timeGetTime();
local_38 = Proud::CFastArray<Proud::HostID,0>::vftable;
local_30 = (longlong *)0x0;
local_28 = (LPVOID)0x0;
local_20 = 0;
local_18 = 0;
FUN_140007480(param_1 + -8,(longlong)&local_38,param_3,param_4);
pvVar3 = local_28;
uVar4 = local_20 & 0xffffffff;
pvVar2 = local_28;
if ((int)local_20 == 0) {
pvVar2 = (LPVOID)0x0;
}
puVar5 = &DAT_1401ac5d0;
(**(code **)(*(longlong *)(param_1 + 0x58) + 0xb8))();
if (pvVar3 != (LPVOID)0x0) {
if (local_30 == (longlong *)0x0) {
FUN_14006cc60(pvVar3);
}
else {
(**(code **)(*local_30 + 0x18))();
pvVar2 = pvVar3;
}
}
uVar1 = FUN_1400486e0(&local_50,pvVar2,uVar4,puVar5);
return CONCAT71((int7)((ulonglong)uVar1 >> 8),1);
}