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

63 lines
2 KiB
C

/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x1400cfae0 FUN_1400cfae0
* Pseudocode, not original source. */
void FUN_1400cfae0(longlong param_1)
{
longlong *plVar1;
int *piVar2;
longlong lVar3;
longlong lVar4;
undefined1 local_res8 [8];
undefined4 local_res10 [2];
undefined8 uVar5;
int *piVar6;
undefined1 uVar7;
uVar5 = 0xfffffffffffffffe;
piVar2 = (int *)(param_1 + 0x98);
piVar6 = piVar2;
FUN_14006b350(piVar2);
uVar7 = 1;
lVar3 = (**(code **)(**(longlong **)(param_1 + 0x40) + 0x10))();
if (lVar3 == 0) {
lVar3 = (**(code **)(**(longlong **)(param_1 + 0x40) + 0x18))();
if (lVar3 != 0) {
(**(code **)(*(longlong *)(param_1 + 0x68) + 0x90))
(param_1 + 0x68,1,&DAT_1401b6110,*(longlong *)(param_1 + 0x68),uVar5,piVar6,uVar7);
if (*(longlong *)(lVar3 + 0xc98) == 0) {
lVar3 = 0;
}
else {
lVar3 = *(longlong *)(lVar3 + 0xc88);
}
for (; lVar3 != 0; lVar3 = *(longlong *)(lVar3 + 0x10)) {
(**(code **)(*(longlong *)(param_1 + 0x68) + 0xa0))
(param_1 + 0x68,1,&DAT_1401b6110,*(longlong *)(lVar3 + 8) + 0x6f8);
}
}
}
else {
local_res8[0] = 0;
local_res10[0] =
(**(code **)(*(longlong *)(lVar3 + 0x70) + 0x108))((longlong *)(lVar3 + 0x70),local_res8);
plVar1 = (longlong *)(param_1 + 0x68);
(**(code **)(*plVar1 + 0x60))(plVar1,1,&DAT_1401b6110,local_res10);
(**(code **)(*plVar1 + 0x70))(plVar1,1,&DAT_1401b6110);
lVar4 = 0;
if (*(longlong *)(lVar3 + 0x1670) != 0) {
lVar4 = *(longlong *)(lVar3 + 0x1660);
}
for (; lVar4 != 0; lVar4 = *(longlong *)(lVar4 + 0x10)) {
lVar3 = 0;
if (*(longlong **)(lVar4 + 8) != (longlong *)0x0) {
lVar3 = **(longlong **)(lVar4 + 8);
}
(**(code **)(*plVar1 + 0x80))(plVar1,1,&DAT_1401b6110,lVar3 + 0x56c);
}
}
FUN_14006b3e0((longlong)piVar2);
return;
}