64 lines
1.7 KiB
C
64 lines
1.7 KiB
C
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
|
* Ghidra 12.1.2 decompiler output for 0x14003c6e0 FUN_14003c6e0
|
|
* Pseudocode, not original source. */
|
|
|
|
void FUN_14003c6e0(undefined8 *param_1)
|
|
|
|
{
|
|
ulonglong uVar1;
|
|
undefined8 *puVar2;
|
|
longlong lVar3;
|
|
void *pvVar4;
|
|
ulonglong uVar5;
|
|
ulonglong uVar6;
|
|
ulonglong uVar7;
|
|
undefined8 *puVar8;
|
|
undefined8 *puVar9;
|
|
void *local_48;
|
|
longlong lStack_40;
|
|
undefined8 *local_38;
|
|
longlong lStack_30;
|
|
|
|
if (param_1[1] != 0) {
|
|
uVar1 = param_1[3];
|
|
puVar9 = (undefined8 *)*param_1;
|
|
uVar5 = uVar1;
|
|
uVar7 = 8;
|
|
do {
|
|
uVar6 = uVar7;
|
|
uVar7 = uVar5 % uVar6;
|
|
uVar5 = uVar6;
|
|
} while (uVar7 != 0);
|
|
local_38 = (undefined8 *)param_1[1];
|
|
lStack_30 = param_1[2];
|
|
do {
|
|
puVar2 = *(undefined8 **)(lStack_30 + -0x10 + (longlong)local_38);
|
|
lVar3 = *(longlong *)(lStack_30 + -8 + (longlong)local_38);
|
|
for (puVar8 = local_38; puVar8 != (undefined8 *)(lStack_30 + -0x10 + (longlong)local_38);
|
|
puVar8 = puVar8 + uVar1 / uVar6) {
|
|
if (puVar8 == puVar9) {
|
|
puVar9 = (undefined8 *)*puVar9;
|
|
}
|
|
}
|
|
operator_delete__(local_38);
|
|
local_38 = puVar2;
|
|
lStack_30 = lVar3;
|
|
} while (puVar2 != (undefined8 *)0x0);
|
|
param_1[1] = 0;
|
|
}
|
|
lStack_40 = param_1[2];
|
|
local_48 = (void *)param_1[1];
|
|
if ((void *)param_1[1] != (void *)0x0) {
|
|
do {
|
|
pvVar4 = *(void **)(lStack_40 + -0x10 + (longlong)local_48);
|
|
lStack_40 = *(longlong *)(lStack_40 + -8 + (longlong)local_48);
|
|
operator_delete__(local_48);
|
|
local_48 = pvVar4;
|
|
} while (pvVar4 != (void *)0x0);
|
|
param_1[1] = 0;
|
|
*param_1 = 0;
|
|
param_1[4] = param_1[5];
|
|
}
|
|
return;
|
|
}
|
|
|