/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186 * Ghidra 12.1.2 decompiler output for 0x1400eaf38 FUN_1400eaf38 * Pseudocode, not original source. */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ uint FUN_1400eaf38(uint param_1,uint param_2,uint param_3) { longlong lVar1; uint uVar2; undefined1 auStack_138 [32]; uint local_118 [32]; uint local_98 [32]; ulonglong local_18; local_18 = DAT_14016f5a0 ^ (ulonglong)auStack_138; if (param_3 != 0) { uVar2 = 1; local_118[0] = 0xedb88320; lVar1 = 1; do { local_118[lVar1] = uVar2; lVar1 = lVar1 + 1; uVar2 = uVar2 * 2; } while (lVar1 < 0x20); FUN_1400eaef8(local_98,local_118); FUN_1400eaef8(local_118,local_98); do { FUN_1400eaef8(local_98,local_118); if ((param_3 & 1) != 0) { param_1 = FUN_1400eaed8(local_98,param_1); } if ((int)param_3 >> 1 == 0) break; FUN_1400eaef8(local_118,local_98); if (((int)param_3 >> 1 & 1U) != 0) { param_1 = FUN_1400eaed8(local_118,param_1); } param_3 = (int)param_3 >> 2; } while (param_3 != 0); param_1 = param_1 ^ param_2; } return param_1; }