/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186 * Ghidra 12.1.2 decompiler output for 0x14001f130 FUN_14001f130 * Pseudocode, not original source. */ void FUN_14001f130(longlong *param_1,char *param_2,char *param_3) { char cVar1; char cVar2; longlong *plVar3; char *pcVar4; undefined8 *puVar5; ulonglong uVar6; longlong lVar7; for (plVar3 = (longlong *)param_1[0x14]; plVar3 != param_1 + 0xb; plVar3 = (longlong *)plVar3[9]) { pcVar4 = (char *)(plVar3[4] + 0x10); lVar7 = (longlong)param_2 - (longlong)pcVar4; do { cVar1 = *pcVar4; cVar2 = pcVar4[lVar7]; if (cVar1 != cVar2) break; pcVar4 = pcVar4 + 1; } while (cVar2 != '\0'); if (cVar1 == cVar2) { if (plVar3 != (longlong *)0x0) { uVar6 = 0xffffffffffffffff; pcVar4 = param_3; goto code_r0x00014001f1b0; } break; } } puVar5 = operator_new(0x50); if (puVar5 == (undefined8 *)0x0) { puVar5 = (undefined8 *)0x0; } else { puVar5 = FUN_14001e530(puVar5,param_2,param_3); } if (puVar5 != (undefined8 *)0x0) { puVar5[9] = param_1 + 0xb; puVar5[8] = param_1[0x13]; *(undefined8 **)(param_1[0x13] + 0x48) = puVar5; param_1[0x13] = (longlong)puVar5; return; } while( true ) { if (param_1 == (longlong *)0x0) { return; } lVar7 = (**(code **)(*param_1 + 0x20))(param_1); if (lVar7 != 0) break; param_1 = (longlong *)param_1[3]; } lVar7 = (**(code **)(*param_1 + 0x20))(); if (lVar7 == 0) { return; } if (*(char *)(lVar7 + 0x58) != '\0') { return; } *(undefined1 *)(lVar7 + 0x58) = 1; *(undefined4 *)(lVar7 + 0x5c) = 3; uVar6 = 0xffffffffffffffff; pcVar4 = PTR_s_Memory_allocation_failed__140174c48; do { if (uVar6 == 0) break; uVar6 = uVar6 - 1; cVar1 = *pcVar4; pcVar4 = pcVar4 + 1; } while (cVar1 != '\0'); FUN_14001e2c0((longlong *)(lVar7 + 0x60),PTR_s_Memory_allocation_failed__140174c48,~uVar6 - 1); *(undefined8 *)(lVar7 + 0x74) = 0xffffffffffffffff; return; while( true ) { uVar6 = uVar6 - 1; cVar1 = *pcVar4; pcVar4 = pcVar4 + 1; if (cVar1 == '\0') break; code_r0x00014001f1b0: if (uVar6 == 0) break; } FUN_14001e2c0(plVar3 + 6,param_3,~uVar6 - 1); return; }