82 lines
2 KiB
C
82 lines
2 KiB
C
/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
|
|
* Ghidra 12.1.2 decompiler output for 0x1400c4b50 FUN_1400c4b50
|
|
* Pseudocode, not original source. */
|
|
|
|
void FUN_1400c4b50(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;
|
|
}
|
|
|