server-re/decomp/DBCServer_Release_x64/full/functions/0x1401c1ce0.c

37 lines
1 KiB
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x1401c1ce0 FUN_1401c1ce0
* Pseudocode, not original source. */
ulonglong FUN_1401c1ce0(longlong param_1,int param_2)
{
int iVar1;
ulonglong in_RAX;
uint uVar2;
ulonglong uVar3;
ulonglong uVar4;
ulonglong uVar5;
iVar1 = *(int *)(param_1 + 0x18);
uVar3 = 0;
uVar4 = uVar3;
uVar5 = uVar3;
if (0 < iVar1) {
do {
if (((longlong)uVar4 < 0) || (iVar1 <= (int)uVar3)) {
/* WARNING: Subroutine does not return */
FUN_14016d6e0();
}
in_RAX = *(ulonglong *)(uVar5 + 0x10 + *(longlong *)(param_1 + 0x10));
if (*(int *)(uVar5 + *(longlong *)(param_1 + 0x10)) == param_2) {
return CONCAT71((int7)(in_RAX >> 8),1);
}
uVar2 = (int)uVar3 + 1;
uVar3 = (ulonglong)uVar2;
uVar4 = uVar4 + 1;
uVar5 = uVar5 + 0x18;
} while ((int)uVar2 < iVar1);
}
return in_RAX & 0xffffffffffffff00;
}