68 lines
2.3 KiB
C
68 lines
2.3 KiB
C
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
|
* Ghidra 12.1.2 decompiler output for 0x1400d12a0 FUN_1400d12a0
|
|
* Pseudocode, not original source. */
|
|
|
|
undefined8 *
|
|
FUN_1400d12a0(undefined8 *param_1,undefined8 param_2,short *param_3,longlong param_4,
|
|
longlong *param_5)
|
|
|
|
{
|
|
ulonglong uVar1;
|
|
longlong *plVar2;
|
|
longlong *plVar3;
|
|
int *piVar4;
|
|
undefined8 *puVar5;
|
|
undefined8 uVar6;
|
|
short *psVar7;
|
|
undefined4 uVar8;
|
|
|
|
uVar8 = (undefined4)param_4;
|
|
*param_1 = Proud::INetClientEvent::vftable;
|
|
*(undefined2 *)(param_1 + 1) = 0;
|
|
uVar6 = param_2;
|
|
psVar7 = param_3;
|
|
FUN_1400c15c0(param_1 + 2);
|
|
param_1[2] = VizS2C::Stub::vftable;
|
|
puVar5 = param_1 + 6;
|
|
FUN_1400f8990(puVar5);
|
|
*param_1 = Proud::CVizAgent::vftable;
|
|
param_1[2] = Proud::CVizAgent::vftable;
|
|
param_1[6] = Proud::CVizAgent::vftable;
|
|
param_1[9] = 0;
|
|
FUN_14006cb70(puVar5,uVar6,psVar7,param_4);
|
|
param_1[10] = PTR_DAT_1401ac010;
|
|
FUN_14006cb70(puVar5,uVar6,psVar7,param_4);
|
|
param_1[0xc] = PTR_DAT_1401ac010;
|
|
puVar5 = param_1 + 0xd;
|
|
FUN_1400be340(puVar5);
|
|
*puVar5 = VizC2S::Proxy::vftable;
|
|
if (*(int *)((longlong)param_1 + 0x7c) != 1) {
|
|
FUN_14006c280((wchar_t *)PTR_u_PIDL_compiler_is_incompatible_to_1401ad790);
|
|
}
|
|
uVar1 = FUN_140079250();
|
|
uVar6 = CONCAT71((int7)((ulonglong)psVar7 >> 8),1);
|
|
FUN_14006b270((undefined4 *)(param_1 + 0x13),uVar1 & 0xffffffff,uVar6,param_4);
|
|
param_1[8] = param_2;
|
|
FUN_140008030(param_1 + 10,param_3,uVar6,param_4);
|
|
*(undefined4 *)(param_1 + 0xb) = uVar8;
|
|
FUN_140003110(param_1 + 0xc,param_5,uVar6,param_4);
|
|
plVar2 = operator_new(0x1900);
|
|
plVar3 = (longlong *)0x0;
|
|
if (plVar2 != (longlong *)0x0) {
|
|
plVar3 = FUN_1400b9740(plVar2,param_5,uVar6,param_4);
|
|
}
|
|
param_1[9] = plVar3;
|
|
(**(code **)(plVar3[0xe] + 0x118))(plVar3 + 0xe,param_1);
|
|
(**(code **)(*(longlong *)param_1[9] + 8))((longlong *)param_1[9],puVar5);
|
|
plVar3 = (longlong *)param_1[9];
|
|
puVar5 = param_1 + 2;
|
|
(**(code **)(*plVar3 + 0x10))();
|
|
param_1[0x12] = 0;
|
|
*(undefined4 *)(param_1 + 0x11) = 0;
|
|
*(undefined1 *)(param_1 + 0xf) = 1;
|
|
*(undefined1 *)(param_1 + 5) = 1;
|
|
piVar4 = (int *)FUN_1400cf6e0(plVar3,puVar5,uVar6,param_4);
|
|
FUN_1400f8c90(piVar4,(longlong)(param_1 + 6),10,param_4);
|
|
return param_1;
|
|
}
|
|
|