/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 * Ghidra 12.1.2 decompiler output for 0x1400ccad0 FUN_1400ccad0 * Pseudocode, not original source. */ void FUN_1400ccad0(longlong param_1,int param_2,undefined8 param_3,longlong param_4) { int iVar1; longlong lVar2; longlong lVar3; longlong lVar4; int iVar5; longlong lVar6; iVar5 = (int)param_3; if ((-1 < param_2) && (-1 < iVar5)) { iVar1 = *(int *)(param_1 + 0x18) - param_2; if (iVar1 <= iVar5) { iVar5 = iVar1; } if (0 < iVar1 - iVar5) { lVar4 = (longlong)param_2 << 3; lVar6 = (longlong)(iVar1 - iVar5); do { lVar2 = FUN_14007a110(param_1); lVar3 = FUN_14007a110(param_1); *(undefined8 *)(lVar3 + lVar4) = *(undefined8 *)((longlong)iVar5 * 8 + lVar2 + lVar4); lVar4 = lVar4 + 8; lVar6 = lVar6 + -1; } while (lVar6 != 0); } FUN_1400cc980(param_1,*(int *)(param_1 + 0x18) - iVar5,param_3,param_4); return; } /* WARNING: Subroutine does not return */ FUN_14006be00(); }