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

40 lines
1.3 KiB
C

/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x14005a1c0 FUN_14005a1c0
* Pseudocode, not original source. */
void FUN_14005a1c0(longlong *param_1,uint *param_2,undefined8 param_3,undefined8 param_4)
{
undefined *puVar1;
int *piVar2;
undefined *puVar3;
int *piVar4;
undefined **ppuVar5;
ulonglong uVar6;
ulonglong uVar7;
undefined *local_res10 [3];
FUN_14006cb70(param_1,param_2,param_3,param_4);
local_res10[0] = PTR_DAT_1401ac010;
uVar7 = (ulonglong)param_2[1];
uVar6 = (ulonglong)*param_2;
FUN_140053d20((longlong *)local_res10,
L"{ type=%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d }"
,uVar6,uVar7);
ppuVar5 = local_res10;
FUN_140053b20(param_1,(longlong *)ppuVar5);
puVar3 = local_res10[0];
if (((local_res10[0] != (undefined *)0x0) && (local_res10[0] != PTR_DAT_1401ac010)) &&
(puVar1 = local_res10[0] + -8, puVar1 != (undefined *)0x0)) {
piVar4 = (int *)FUN_14006cb70(param_1,ppuVar5,uVar6,uVar7);
FUN_14006b350(piVar4);
piVar2 = (int *)(puVar3 + -4);
*piVar2 = *piVar2 + -1;
if (*piVar2 == 0) {
FUN_14006cc60(puVar1);
}
FUN_14006b3e0((longlong)piVar4);
}
return;
}