/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186 * Ghidra 12.1.2 decompiler output for 0x14008e540 FUN_14008e540 * Pseudocode, not original source. */ undefined8 * FUN_14008e540(char *param_1,longlong param_2,undefined8 *param_3) { ulonglong uVar1; undefined8 *puVar2; uint uVar3; uint uVar4; uVar3 = (uint)*(ushort *)(param_2 + 0xc) ^ *(uint *)(param_2 + 8); uVar1 = (ulonglong)uVar3 % (ulonglong)*(uint *)(param_1 + 0x28); uVar4 = (uint)uVar1; if (*(longlong *)(param_1 + 8) != 0) { for (puVar2 = *(undefined8 **)(*(longlong *)(param_1 + 8) + uVar1 * 8); (puVar2 != (undefined8 *)0x0 && (uVar4 == *(uint *)(puVar2 + 5) % *(uint *)(param_1 + 0x28)) ); puVar2 = (undefined8 *)puVar2[3]) { if ((*(uint *)(puVar2 + 1) == *(uint *)(param_2 + 8)) && (*(ushort *)((longlong)puVar2 + 0xc) == *(ushort *)(param_2 + 0xc))) { puVar2[2] = *param_3; return puVar2; } } } puVar2 = FUN_14008de50(param_1,param_2,uVar4,uVar3); puVar2[2] = *param_3; return puVar2; }