/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 * Ghidra 12.1.2 decompiler output for 0x14004de80 FUN_14004de80 * Pseudocode, not original source. */ void FUN_14004de80(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { undefined *puVar1; int *piVar2; undefined *puVar3; int *piVar4; longlong lVar5; undefined **ppuVar6; longlong lVar7; undefined *local_res10 [3]; FUN_14006cb70(param_1,param_2,param_3,param_4); local_res10[0] = PTR_DAT_1401ac010; lVar7 = param_2[1] - *param_2; lVar5 = SUB168(SEXT816(-0x7bdef7bdef7bdef7) * SEXT816(lVar7),8) + lVar7; lVar5 = (lVar5 >> 4) - (lVar5 >> 0x3f); FUN_140053d20((longlong *)local_res10,L"",lVar5,lVar7); ppuVar6 = local_res10; FUN_140053b20(param_1,(longlong *)ppuVar6); 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,ppuVar6,lVar5,lVar7); FUN_14006b350(piVar4); piVar2 = (int *)(puVar3 + -4); *piVar2 = *piVar2 + -1; if (*piVar2 == 0) { FUN_14006cc60(puVar1); } FUN_14006b3e0((longlong)piVar4); } return; }