/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186 * Ghidra 12.1.2 decompiler output for 0x14008afe0 FUN_14008afe0 * Pseudocode, not original source. */ ulonglong FUN_14008afe0(char *param_1,longlong param_2,char param_3) { uint uVar1; LPVOID pvVar2; ulonglong uVar3; ulonglong uVar4; undefined8 uVar5; uVar1 = *(uint *)(param_1 + 0x28); uVar3 = (ulonglong)((uint)*(ushort *)(param_2 + 0xc) ^ *(uint *)(param_2 + 8)); uVar4 = uVar3 / uVar1; uVar3 = uVar3 % (ulonglong)uVar1; if (*(longlong *)(param_1 + 8) != 0) { uVar4 = uVar3; for (pvVar2 = *(LPVOID *)(*(longlong *)(param_1 + 8) + uVar3 * 8); (pvVar2 != (LPVOID)0x0 && (uVar4 = (ulonglong)*(uint *)((longlong)pvVar2 + 0x28) / (ulonglong)uVar1, (uint)uVar3 == *(uint *)((longlong)pvVar2 + 0x28) % uVar1)); pvVar2 = *(LPVOID *)((longlong)pvVar2 + 0x18)) { if ((*(uint *)((longlong)pvVar2 + 8) == *(uint *)(param_2 + 8)) && (*(ushort *)((longlong)pvVar2 + 0xc) == *(ushort *)(param_2 + 0xc))) { uVar5 = FUN_14008aee0(param_1,pvVar2,param_3); return CONCAT71((int7)((ulonglong)uVar5 >> 8),1); } } } return uVar4 & 0xffffffffffffff00; }