server-re/decomp/AgentManager_Release_x64/full/functions/0x14001f2a0.c
2026-10-15 09:58:24 -04:00

64 lines
1.8 KiB
C

/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
* Ghidra 12.1.2 decompiler output for 0x14001f2a0 FUN_14001f2a0
* Pseudocode, not original source. */
void FUN_14001f2a0(longlong param_1,FILE *param_2,uint param_3)
{
longlong *plVar1;
longlong lVar2;
ulonglong uVar3;
ulonglong uVar4;
uVar4 = (ulonglong)param_3;
uVar3 = uVar4;
if (0 < (int)param_3) {
do {
fprintf(param_2," ");
uVar3 = uVar3 - 1;
} while (uVar3 != 0);
}
fprintf(param_2,"<%s");
plVar1 = *(longlong **)(param_1 + 0xa0);
if (plVar1 != (longlong *)(param_1 + 0x58)) {
do {
if (plVar1 == (longlong *)0x0) break;
fprintf(param_2," ");
(**(code **)(*plVar1 + 8))(plVar1,param_2,uVar4);
plVar1 = (longlong *)plVar1[9];
} while ((*(longlong *)plVar1[6] != 0) || (*(longlong *)plVar1[4] != 0));
}
plVar1 = *(longlong **)(param_1 + 0x28);
if (plVar1 == (longlong *)0x0) {
fprintf(param_2," />");
}
else {
if ((plVar1 == *(longlong **)(param_1 + 0x30)) &&
(lVar2 = (**(code **)(*plVar1 + 0x58))(plVar1), lVar2 != 0)) {
fprintf(param_2,">");
(**(code **)(**(longlong **)(param_1 + 0x28) + 8))
(*(longlong **)(param_1 + 0x28),param_2,param_3 + 1);
}
else {
fprintf(param_2,">");
for (plVar1 = *(longlong **)(param_1 + 0x28); plVar1 != (longlong *)0x0;
plVar1 = (longlong *)plVar1[10]) {
lVar2 = (**(code **)(*plVar1 + 0x58))(plVar1);
if (lVar2 == 0) {
fprintf(param_2,"\n");
}
(**(code **)(*plVar1 + 8))(plVar1,param_2,param_3 + 1);
}
fprintf(param_2,"\n");
if (0 < (int)param_3) {
do {
fprintf(param_2," ");
uVar4 = uVar4 - 1;
} while (uVar4 != 0);
}
}
fprintf(param_2,"</%s>");
}
return;
}