/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 * Ghidra 12.1.2 decompiler output for 0x1400d7cdc FUN_1400d7cdc * Pseudocode, not original source. */ uint FUN_1400d7cdc(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; }