86 lines
2.1 KiB
C
86 lines
2.1 KiB
C
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
|
* Ghidra 12.1.2 decompiler output for 0x1400eb388 scan_tree
|
|
* Pseudocode, not original source. */
|
|
|
|
/* Library Function - Single Match
|
|
scan_tree
|
|
|
|
Libraries: Visual Studio 2010 Release, Visual Studio 2015 Release */
|
|
|
|
void scan_tree(longlong param_1,longlong param_2,int param_3)
|
|
|
|
{
|
|
short *psVar1;
|
|
ushort uVar2;
|
|
int iVar3;
|
|
longlong lVar4;
|
|
ushort *puVar5;
|
|
uint uVar6;
|
|
uint uVar7;
|
|
uint uVar8;
|
|
int iVar9;
|
|
int iVar10;
|
|
|
|
uVar2 = *(ushort *)(param_2 + 2);
|
|
uVar6 = 0xffffffff;
|
|
iVar10 = 0;
|
|
iVar3 = 7;
|
|
iVar9 = 4;
|
|
if (uVar2 == 0) {
|
|
iVar3 = 0x8a;
|
|
iVar9 = 3;
|
|
}
|
|
lVar4 = (longlong)param_3;
|
|
*(undefined2 *)(param_2 + 6 + lVar4 * 4) = 0xffff;
|
|
if (-1 < lVar4) {
|
|
puVar5 = (ushort *)(param_2 + 6);
|
|
lVar4 = lVar4 + 1;
|
|
uVar7 = (uint)uVar2;
|
|
do {
|
|
iVar10 = iVar10 + 1;
|
|
uVar2 = *puVar5;
|
|
uVar8 = (uint)uVar2;
|
|
if ((iVar3 <= iVar10) || (uVar7 != uVar8)) {
|
|
if (iVar10 < iVar9) {
|
|
psVar1 = (short *)(param_1 + 0xaa4 + (longlong)(int)uVar7 * 4);
|
|
*psVar1 = *psVar1 + (short)iVar10;
|
|
}
|
|
else if (uVar7 == 0) {
|
|
if (iVar10 < 0xb) {
|
|
*(short *)(param_1 + 0xae8) = *(short *)(param_1 + 0xae8) + 1;
|
|
}
|
|
else {
|
|
*(short *)(param_1 + 0xaec) = *(short *)(param_1 + 0xaec) + 1;
|
|
}
|
|
}
|
|
else {
|
|
if (uVar7 != uVar6) {
|
|
psVar1 = (short *)(param_1 + 0xaa4 + (longlong)(int)uVar7 * 4);
|
|
*psVar1 = *psVar1 + 1;
|
|
}
|
|
*(short *)(param_1 + 0xae4) = *(short *)(param_1 + 0xae4) + 1;
|
|
}
|
|
iVar10 = 0;
|
|
uVar6 = uVar7;
|
|
if (uVar2 == 0) {
|
|
iVar3 = 0x8a;
|
|
}
|
|
else {
|
|
if (uVar7 != uVar8) {
|
|
iVar3 = 7;
|
|
iVar9 = 4;
|
|
goto LAB_1400eb45c;
|
|
}
|
|
iVar3 = 6;
|
|
}
|
|
iVar9 = 3;
|
|
}
|
|
LAB_1400eb45c:
|
|
puVar5 = puVar5 + 2;
|
|
lVar4 = lVar4 + -1;
|
|
uVar7 = uVar8;
|
|
} while (lVar4 != 0);
|
|
}
|
|
return;
|
|
}
|
|
|