server-re/decomp/Agent_Release_x64/full/functions/0x140001ce0.c
2026-10-14 16:45:19 -04:00

53 lines
1.5 KiB
C

/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
* Ghidra 12.1.2 decompiler output for 0x140001ce0 FUN_140001ce0
* Pseudocode, not original source. */
void FUN_140001ce0(longlong param_1,uint param_2)
{
int iVar1;
longlong *plVar2;
ulonglong uVar3;
ulonglong uVar4;
ulonglong uVar5;
longlong lVar6;
ulonglong uVar7;
uVar3 = 0;
iVar1 = (int)(*(longlong *)(param_1 + 0x18) - *(longlong *)(param_1 + 0x10) >> 3);
if (0 < iVar1) {
plVar2 = *(longlong **)(param_1 + 0x10);
uVar4 = uVar3;
uVar5 = uVar3;
lVar6 = (longlong)iVar1;
uVar7 = uVar3;
do {
if ((*plVar2 != 0) && (*(byte *)(*plVar2 + 0x40) == param_2)) {
uVar5 = (ulonglong)((int)uVar5 + 1);
uVar7 = uVar4;
}
uVar4 = (ulonglong)((int)uVar4 + 1);
plVar2 = plVar2 + 1;
lVar6 = lVar6 + -1;
} while (lVar6 != 0);
if ((int)uVar5 != 0) {
uVar4 = uVar3;
if ((int)uVar5 < 2) {
FUN_1400026f0((*(longlong **)(param_1 + 0x10))[(int)uVar7],-1);
}
else {
do {
if ((*(longlong *)(*(longlong *)(param_1 + 0x10) + uVar3 * 8) != 0) &&
(lVar6 = *(longlong *)(*(longlong *)(param_1 + 0x10) + uVar3 * 8),
*(byte *)(lVar6 + 0x40) == param_2)) {
FUN_1400026f0(lVar6,(int)uVar4);
uVar4 = (ulonglong)((int)uVar4 + 1);
}
uVar3 = uVar3 + 1;
} while ((longlong)uVar3 < (longlong)iVar1);
}
}
}
return;
}