82 lines
2 KiB
C
82 lines
2 KiB
C
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
|
* Ghidra 12.1.2 decompiler output for 0x1400bd340 FUN_1400bd340
|
|
* Pseudocode, not original source. */
|
|
|
|
void FUN_1400bd340(longlong param_1,longlong param_2,int param_3)
|
|
|
|
{
|
|
short *psVar1;
|
|
ushort uVar2;
|
|
int iVar3;
|
|
longlong lVar4;
|
|
uint uVar5;
|
|
uint uVar6;
|
|
uint uVar7;
|
|
int iVar8;
|
|
int iVar9;
|
|
ushort *puVar10;
|
|
|
|
uVar2 = *(ushort *)(param_2 + 2);
|
|
uVar5 = 0xffffffff;
|
|
iVar9 = 0;
|
|
iVar3 = 7;
|
|
iVar8 = 4;
|
|
if (uVar2 == 0) {
|
|
iVar3 = 0x8a;
|
|
iVar8 = 3;
|
|
}
|
|
lVar4 = (longlong)param_3;
|
|
*(undefined2 *)(param_2 + 6 + lVar4 * 4) = 0xffff;
|
|
if (-1 < lVar4) {
|
|
puVar10 = (ushort *)(param_2 + 6);
|
|
lVar4 = lVar4 + 1;
|
|
uVar6 = (uint)uVar2;
|
|
do {
|
|
iVar9 = iVar9 + 1;
|
|
uVar2 = *puVar10;
|
|
uVar7 = (uint)uVar2;
|
|
if ((iVar3 <= iVar9) || (uVar6 != uVar7)) {
|
|
if (iVar9 < iVar8) {
|
|
psVar1 = (short *)(param_1 + 0xaa4 + (longlong)(int)uVar6 * 4);
|
|
*psVar1 = *psVar1 + (short)iVar9;
|
|
}
|
|
else if (uVar6 == 0) {
|
|
if (iVar9 < 0xb) {
|
|
*(short *)(param_1 + 0xae8) = *(short *)(param_1 + 0xae8) + 1;
|
|
}
|
|
else {
|
|
*(short *)(param_1 + 0xaec) = *(short *)(param_1 + 0xaec) + 1;
|
|
}
|
|
}
|
|
else {
|
|
if (uVar6 != uVar5) {
|
|
psVar1 = (short *)(param_1 + 0xaa4 + (longlong)(int)uVar6 * 4);
|
|
*psVar1 = *psVar1 + 1;
|
|
}
|
|
*(short *)(param_1 + 0xae4) = *(short *)(param_1 + 0xae4) + 1;
|
|
}
|
|
iVar9 = 0;
|
|
uVar5 = uVar6;
|
|
if (uVar2 == 0) {
|
|
iVar3 = 0x8a;
|
|
iVar8 = 3;
|
|
iVar9 = 0;
|
|
}
|
|
else if (uVar6 == uVar7) {
|
|
iVar3 = 6;
|
|
iVar8 = 3;
|
|
iVar9 = 0;
|
|
}
|
|
else {
|
|
iVar3 = 7;
|
|
iVar8 = 4;
|
|
}
|
|
}
|
|
puVar10 = puVar10 + 2;
|
|
lVar4 = lVar4 + -1;
|
|
uVar6 = uVar7;
|
|
} while (lVar4 != 0);
|
|
}
|
|
return;
|
|
}
|
|
|