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

41 lines
1.3 KiB
C

/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x1400d41c0 FUN_1400d41c0
* Pseudocode, not original source. */
void FUN_1400d41c0(short *param_1)
{
int iVar1;
longlong lVar2;
longlong lVar3;
short *psVar4;
ulonglong uVar5;
ulonglong uVar6;
iVar1 = *(int *)(param_1 + 0xd8);
uVar5 = 0;
psVar4 = param_1;
uVar6 = uVar5;
if (0 < (longlong)iVar1) {
do {
if (((longlong)uVar5 < 0) || (*(int *)(param_1 + 0xd8) <= (int)uVar6)) {
/* WARNING: Subroutine does not return */
FUN_14006be30(psVar4,uVar5,uVar6,param_1);
}
lVar2 = *(longlong *)(param_1 + 200);
lVar3 = *(longlong *)(*(longlong *)(param_1 + 0xd4) + uVar5 * 8);
psVar4 = (short *)(lVar3 + -8);
if ((*psVar4 != 0x1de6) || (*(longlong *)(lVar3 + 0x50) != 0)) {
/* WARNING: Subroutine does not return */
FUN_14006be00();
}
uVar5 = uVar5 + 1;
uVar6 = (ulonglong)((int)uVar6 + 1);
*(undefined8 *)(lVar3 + 0x50) = *(undefined8 *)(lVar2 + 0x80);
*(short **)(lVar2 + 0x80) = psVar4;
} while ((longlong)uVar5 < (longlong)iVar1);
}
FUN_1400d3c80((longlong)(param_1 + 0xcc),0,uVar6);
return;
}