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

38 lines
1.1 KiB
C

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