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

42 lines
1.2 KiB
C

/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x1400beba0 FUN_1400beba0
* Pseudocode, not original source. */
void FUN_1400beba0(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
{
undefined8 *puVar1;
LPVOID pvVar2;
longlong *plVar3;
*param_1 = Proud::CNetCoreImpl::vftable;
puVar1 = (undefined8 *)param_1[0xb];
if (puVar1 != (undefined8 *)0x0) {
(**(code **)*puVar1)(puVar1,1,param_3,param_4,0xfffffffffffffffe);
}
param_1[6] = Proud::CFastArray<Proud::IRmiStub*___ptr64,0>::vftable;
pvVar2 = (LPVOID)param_1[8];
if (pvVar2 != (LPVOID)0x0) {
plVar3 = (longlong *)param_1[7];
if (plVar3 == (longlong *)0x0) {
FUN_14006cc60(pvVar2);
}
else {
(**(code **)(*plVar3 + 0x18))(plVar3,pvVar2);
}
}
param_1[1] = Proud::CFastArray<Proud::IRmiProxy*___ptr64,0>::vftable;
pvVar2 = (LPVOID)param_1[3];
if (pvVar2 != (LPVOID)0x0) {
plVar3 = (longlong *)param_1[2];
if (plVar3 == (longlong *)0x0) {
FUN_14006cc60(pvVar2);
}
else {
(**(code **)(*plVar3 + 0x18))(plVar3,pvVar2);
}
}
*param_1 = Proud::IRmiHost::vftable;
return;
}