/* 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; }