88 lines
2.3 KiB
C
88 lines
2.3 KiB
C
/* 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;
|
|
}
|
|
|