/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186 * Ghidra 12.1.2 decompiler output for 0x1400db7d0 FUN_1400db7d0 * Pseudocode, not original source. */ undefined8 FUN_1400db7d0(char *param_1,uint param_2,int param_3,ulonglong param_4,void *param_5,uint *param_6, undefined4 *param_7) { char *pcVar1; uint uVar2; ulonglong uVar3; uint uVar4; uint uVar5; uVar5 = (uint)((param_4 & 7) != 0) + ((uint)(param_4 >> 3) & 0x1fffffff); *param_7 = 0; if ((uVar5 < param_2) || (uVar5 < 0xb)) { return 0x16; } if ((*param_1 == '\0') && (param_1[1] == (char)param_3)) { uVar2 = 2; uVar3 = 2; if (param_3 == 2) { if (2 < uVar5) { pcVar1 = param_1 + 2; do { uVar2 = (uint)uVar3; if (*pcVar1 == '\0') break; uVar2 = uVar2 + 1; uVar3 = (ulonglong)uVar2; pcVar1 = pcVar1 + 1; } while (uVar2 < uVar5); } uVar4 = uVar2 - 2; if ((uVar2 + 1 < uVar5) && (7 < uVar4)) { LAB_1400db88b: uVar5 = (param_2 - uVar4) - 3; uVar2 = *param_6; *param_6 = uVar5; if (uVar2 < uVar5) { return 6; } memcpy(param_5,param_1 + (uVar4 + 3),(ulonglong)uVar5); *param_7 = 1; return 0; } } else { if (2 < uVar5 - 1) { pcVar1 = param_1 + 2; do { if (*pcVar1 != -1) break; uVar2 = (int)uVar3 + 1; uVar3 = (ulonglong)uVar2; pcVar1 = pcVar1 + 1; } while (uVar2 < uVar5 - 1); } if (param_1[uVar3] == '\0') { uVar4 = (int)uVar3 - 2; goto LAB_1400db88b; } } } return 7; }