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

35 lines
1.1 KiB
C

/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x1400f3130 FUN_1400f3130
* Pseudocode, not original source. */
void FUN_1400f3130(longlong *param_1,LPVOID param_2)
{
longlong *plVar1;
if (*(longlong *)((longlong)param_2 + 0x30) != 0) {
plVar1 = (longlong *)(*(longlong *)((longlong)param_2 + 0x30) + 8);
*plVar1 = *plVar1 + -1;
if (*plVar1 == 0) {
FUN_140080140((longlong)((longlong)param_2 + 0x30),*(longlong **)((longlong)param_2 + 0x30));
}
}
FUN_1400d1800((longlong *)((longlong)param_2 + 0x18));
if (*(longlong *)((longlong)param_2 + 0x20) != 0) {
if (*(int *)((longlong)param_2 + 0x2c) < 0) {
/* WARNING: Subroutine does not return */
FUN_14006be00();
}
*(undefined4 *)((longlong)param_2 + 0x28) = 0;
}
plVar1 = (longlong *)*param_1;
if (plVar1 == (longlong *)0x0) {
FUN_14006cc60(param_2);
}
else {
(**(code **)(*plVar1 + 0x10))(plVar1,param_2);
}
param_1[3] = param_1[3] + -1;
return;
}