/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186 * Ghidra 12.1.2 decompiler output for 0x1400e89ec FUN_1400e89ec * Pseudocode, not original source. */ uint FUN_1400e89ec(longlong param_1,uint param_2) { uint uVar1; uint uVar2; char *pcVar3; char *pcVar4; char *pcVar5; char *pcVar6; pcVar3 = (char *)((ulonglong)*(uint *)(param_1 + 0x94) + *(longlong *)(param_1 + 0x50)); pcVar6 = (char *)((ulonglong)param_2 + *(longlong *)(param_1 + 0x50)); if ((*pcVar6 == *pcVar3) && (pcVar6[1] == pcVar3[1])) { pcVar6 = pcVar6 + 2; pcVar4 = pcVar3 + 2; while (((((pcVar5 = pcVar4 + 1, *pcVar5 == pcVar6[1] && (pcVar5 = pcVar4 + 2, *pcVar5 == pcVar6[2])) && (pcVar5 = pcVar4 + 3, *pcVar5 == pcVar6[3])) && ((pcVar5 = pcVar4 + 4, *pcVar5 == pcVar6[4] && (pcVar5 = pcVar4 + 5, *pcVar5 == pcVar6[5])))) && ((pcVar5 = pcVar4 + 6, *pcVar5 == pcVar6[6] && (pcVar5 = pcVar4 + 7, *pcVar5 == pcVar6[7]))))) { pcVar6 = pcVar6 + 8; pcVar5 = pcVar4 + 8; if ((*pcVar5 != *pcVar6) || (pcVar4 = pcVar5, pcVar3 + 0x102 <= pcVar5)) break; } uVar2 = ((int)pcVar5 - (int)(pcVar3 + 0x102)) + 0x102; if (2 < (int)uVar2) { *(uint *)(param_1 + 0x98) = param_2; uVar1 = *(uint *)(param_1 + 0x9c); if (uVar2 <= *(uint *)(param_1 + 0x9c)) { uVar1 = uVar2; } return uVar1; } } return 2; }