server-re/decomp/AgentManager_Release_x64/full/functions/0x14004dee0.c
2026-10-15 09:58:24 -04:00

43 lines
1.6 KiB
C

/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
* Ghidra 12.1.2 decompiler output for 0x14004dee0 FUN_14004dee0
* Pseudocode, not original source. */
undefined4 FUN_14004dee0(longlong param_1,longlong param_2)
{
ushort uVar1;
uint uVar2;
longlong lVar3;
ulonglong uVar4;
if ((*(int *)(param_2 + 8) == 0) || (uVar4 = FUN_140041850(param_2), (char)uVar4 != '\0')) {
uVar1 = *(ushort *)(param_2 + 0xc);
uVar2 = *(uint *)(param_2 + 8);
uVar4 = (ulonglong)(uVar1 ^ uVar2) % (ulonglong)*(uint *)(param_1 + 0x3b0);
if (*(longlong *)(param_1 + 0x390) != 0) {
lVar3 = *(longlong *)(*(longlong *)(param_1 + 0x390) + uVar4 * 8);
while( true ) {
if ((lVar3 == 0) || ((uint)uVar4 != *(uint *)(lVar3 + 0x28) % *(uint *)(param_1 + 0x3b0)))
goto LAB_14004df63;
if ((*(uint *)(lVar3 + 8) == uVar2) && (*(ushort *)(lVar3 + 0xc) == uVar1)) break;
lVar3 = *(longlong *)(lVar3 + 0x18);
}
if (*(longlong *)(lVar3 + 0x10) != 0) {
return *(undefined4 *)(*(longlong *)(lVar3 + 0x10) + 0x6f8);
}
}
LAB_14004df63:
uVar4 = (ulonglong)(uVar1 ^ uVar2) % (ulonglong)*(uint *)(param_1 + 0x718);
if (*(longlong *)(param_1 + 0x6f8) != 0) {
for (lVar3 = *(longlong *)(*(longlong *)(param_1 + 0x6f8) + uVar4 * 8);
(lVar3 != 0 && ((uint)uVar4 == *(uint *)(lVar3 + 0x28) % *(uint *)(param_1 + 0x718)));
lVar3 = *(longlong *)(lVar3 + 0x18)) {
if ((*(uint *)(lVar3 + 8) == uVar2) && (*(ushort *)(lVar3 + 0xc) == uVar1)) {
return 1;
}
}
}
}
return 0;
}