server-re/decomp/DBCServer_Release_x64/full/functions/0x1401b3530.c

58 lines
1.9 KiB
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x1401b3530 FUN_1401b3530
* Pseudocode, not original source. */
undefined8 *
FUN_1401b3530(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined4 param_4,
undefined8 param_5)
{
undefined8 *puVar1;
undefined4 uVar2;
void *pvVar3;
longlong lVar4;
undefined8 uVar5;
*param_1 = Proud::INetClientEvent::vftable;
*(undefined2 *)(param_1 + 1) = 0;
FUN_14016eb50(param_1 + 2);
param_1[2] = VizS2C::Stub::vftable;
FUN_1401c5e30(param_1 + 6);
*param_1 = Proud::CVizAgent::vftable;
param_1[2] = Proud::CVizAgent::vftable;
param_1[6] = Proud::CVizAgent::vftable;
param_1[9] = 0;
FUN_14016d8c0();
param_1[10] = PTR_DAT_1403440a0;
FUN_14016d8c0();
param_1[0xc] = PTR_DAT_1403440a0;
puVar1 = param_1 + 0xd;
FUN_14016dca0(puVar1);
*puVar1 = VizC2S::Proxy::vftable;
if (*(int *)((longlong)param_1 + 0x7c) != 1) {
FUN_14016f090(PTR_u_PIDL_compiler_is_incompatible_to_1403440e0);
}
uVar2 = FUN_140171510();
FUN_14016da70(param_1 + 0x13,uVar2,1);
param_1[8] = param_2;
FUN_14004c050(param_1 + 10,param_3);
*(undefined4 *)(param_1 + 0xb) = param_4;
FUN_14004e6d0(param_1 + 0xc,param_5);
pvVar3 = operator_new(0x1900);
lVar4 = 0;
if (pvVar3 != (void *)0x0) {
lVar4 = FUN_1401df000(pvVar3);
}
param_1[9] = lVar4;
(**(code **)(*(longlong *)(lVar4 + 0x70) + 0x118))((longlong *)(lVar4 + 0x70),param_1);
(**(code **)(*(longlong *)param_1[9] + 8))((longlong *)param_1[9],puVar1);
(**(code **)(*(longlong *)param_1[9] + 0x10))((longlong *)param_1[9],param_1 + 2);
param_1[0x12] = 0;
*(undefined4 *)(param_1 + 0x11) = 0;
*(undefined1 *)(param_1 + 0xf) = 1;
*(undefined1 *)(param_1 + 5) = 1;
uVar5 = FUN_1401b1970();
FUN_1401c6130(uVar5,param_1 + 6,10);
return param_1;
}