decompiled agent_release
This commit is contained in:
parent
baac905ef2
commit
11a3488883
6439 changed files with 229565 additions and 1 deletions
259
decomp/Agent_Release_x64/full/functions/0x1400da778.c
Normal file
259
decomp/Agent_Release_x64/full/functions/0x1400da778.c
Normal file
|
|
@ -0,0 +1,259 @@
|
|||
/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400da778 FUN_1400da778
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_1400da778(longlong param_1,longlong param_2,int param_3)
|
||||
|
||||
{
|
||||
ushort uVar1;
|
||||
ushort uVar2;
|
||||
ushort uVar3;
|
||||
int iVar4;
|
||||
byte bVar5;
|
||||
int iVar6;
|
||||
longlong lVar7;
|
||||
ushort *puVar8;
|
||||
uint uVar9;
|
||||
uint uVar10;
|
||||
uint uVar11;
|
||||
short sVar12;
|
||||
int iVar13;
|
||||
longlong lVar15;
|
||||
int iVar16;
|
||||
int iVar14;
|
||||
|
||||
uVar11 = 0xffffffff;
|
||||
iVar14 = 0;
|
||||
iVar4 = 7;
|
||||
iVar16 = 3;
|
||||
iVar6 = 4;
|
||||
if (*(ushort *)(param_2 + 2) == 0) {
|
||||
iVar4 = 0x8a;
|
||||
iVar6 = iVar16;
|
||||
}
|
||||
if (-1 < param_3) {
|
||||
puVar8 = (ushort *)(param_2 + 6);
|
||||
lVar15 = (longlong)param_3 + 1;
|
||||
uVar9 = (uint)*(ushort *)(param_2 + 2);
|
||||
do {
|
||||
iVar13 = iVar14 + 1;
|
||||
lVar7 = (longlong)(int)uVar9;
|
||||
uVar1 = *puVar8;
|
||||
uVar10 = (uint)uVar1;
|
||||
if ((iVar4 <= iVar13) || (uVar9 != uVar10)) {
|
||||
if (iVar13 < iVar6) {
|
||||
do {
|
||||
uVar11 = (uint)*(ushort *)(param_1 + 0xaa6 + lVar7 * 4);
|
||||
iVar6 = *(int *)(param_1 + 0x1714);
|
||||
if ((int)(0x10 - uVar11) < iVar6) {
|
||||
uVar3 = *(ushort *)(param_1 + 0xaa4 + lVar7 * 4);
|
||||
*(ushort *)(param_1 + 0x1710) =
|
||||
*(ushort *)(param_1 + 0x1710) | uVar3 << ((byte)iVar6 & 0x1f);
|
||||
*(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10))
|
||||
= *(undefined1 *)(param_1 + 0x1710);
|
||||
*(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1;
|
||||
*(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10))
|
||||
= *(undefined1 *)(param_1 + 0x1711);
|
||||
*(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1;
|
||||
iVar6 = *(int *)(param_1 + 0x1714) + -0x10;
|
||||
*(ushort *)(param_1 + 0x1710) =
|
||||
uVar3 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f);
|
||||
}
|
||||
else {
|
||||
*(ushort *)(param_1 + 0x1710) =
|
||||
*(ushort *)(param_1 + 0x1710) |
|
||||
*(short *)(param_1 + 0xaa4 + lVar7 * 4) << ((byte)iVar6 & 0x1f);
|
||||
}
|
||||
iVar13 = iVar13 + -1;
|
||||
*(uint *)(param_1 + 0x1714) = iVar6 + uVar11;
|
||||
} while (iVar13 != 0);
|
||||
}
|
||||
else {
|
||||
if (uVar9 == 0) {
|
||||
iVar6 = *(int *)(param_1 + 0x1714);
|
||||
sVar12 = (short)iVar13;
|
||||
bVar5 = (byte)iVar6;
|
||||
if (iVar13 < 0xb) {
|
||||
uVar3 = *(ushort *)(param_1 + 0xaea);
|
||||
if ((int)(0x10 - (uint)uVar3) < iVar6) {
|
||||
uVar2 = *(ushort *)(param_1 + 0xae8);
|
||||
*(ushort *)(param_1 + 0x1710) =
|
||||
*(ushort *)(param_1 + 0x1710) | uVar2 << (bVar5 & 0x1f);
|
||||
*(undefined1 *)
|
||||
((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) =
|
||||
*(undefined1 *)(param_1 + 0x1710);
|
||||
*(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1;
|
||||
*(undefined1 *)
|
||||
((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) =
|
||||
*(undefined1 *)(param_1 + 0x1711);
|
||||
*(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1;
|
||||
iVar6 = *(int *)(param_1 + 0x1714) + -0x10;
|
||||
*(ushort *)(param_1 + 0x1710) =
|
||||
uVar2 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f);
|
||||
}
|
||||
else {
|
||||
*(ushort *)(param_1 + 0x1710) =
|
||||
*(ushort *)(param_1 + 0x1710) | *(short *)(param_1 + 0xae8) << (bVar5 & 0x1f);
|
||||
}
|
||||
iVar6 = iVar6 + (uint)uVar3;
|
||||
*(int *)(param_1 + 0x1714) = iVar6;
|
||||
if (iVar6 < 0xe) {
|
||||
sVar12 = sVar12 + -3;
|
||||
iVar4 = iVar6 + 3;
|
||||
LAB_1400dac64:
|
||||
*(ushort *)(param_1 + 0x1710) =
|
||||
*(ushort *)(param_1 + 0x1710) | sVar12 << ((byte)iVar6 & 0x1f);
|
||||
}
|
||||
else {
|
||||
*(ushort *)(param_1 + 0x1710) =
|
||||
*(ushort *)(param_1 + 0x1710) | sVar12 - 3U << ((byte)iVar6 & 0x1f);
|
||||
*(undefined1 *)
|
||||
((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) =
|
||||
*(undefined1 *)(param_1 + 0x1710);
|
||||
*(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1;
|
||||
*(undefined1 *)
|
||||
((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) =
|
||||
*(undefined1 *)(param_1 + 0x1711);
|
||||
*(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1;
|
||||
iVar4 = *(int *)(param_1 + 0x1714) + -0xd;
|
||||
*(ushort *)(param_1 + 0x1710) =
|
||||
(ushort)(sVar12 - 3U) >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f);
|
||||
}
|
||||
}
|
||||
else {
|
||||
uVar3 = *(ushort *)(param_1 + 0xaee);
|
||||
if ((int)(0x10 - (uint)uVar3) < iVar6) {
|
||||
uVar2 = *(ushort *)(param_1 + 0xaec);
|
||||
*(ushort *)(param_1 + 0x1710) =
|
||||
*(ushort *)(param_1 + 0x1710) | uVar2 << (bVar5 & 0x1f);
|
||||
*(undefined1 *)
|
||||
((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) =
|
||||
*(undefined1 *)(param_1 + 0x1710);
|
||||
*(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1;
|
||||
*(undefined1 *)
|
||||
((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) =
|
||||
*(undefined1 *)(param_1 + 0x1711);
|
||||
*(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1;
|
||||
iVar6 = *(int *)(param_1 + 0x1714) + -0x10;
|
||||
*(ushort *)(param_1 + 0x1710) =
|
||||
uVar2 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f);
|
||||
}
|
||||
else {
|
||||
*(ushort *)(param_1 + 0x1710) =
|
||||
*(ushort *)(param_1 + 0x1710) | *(short *)(param_1 + 0xaec) << (bVar5 & 0x1f);
|
||||
}
|
||||
iVar6 = iVar6 + (uint)uVar3;
|
||||
*(int *)(param_1 + 0x1714) = iVar6;
|
||||
if (iVar6 < 10) {
|
||||
sVar12 = sVar12 + -0xb;
|
||||
iVar4 = iVar6 + 7;
|
||||
goto LAB_1400dac64;
|
||||
}
|
||||
*(ushort *)(param_1 + 0x1710) =
|
||||
*(ushort *)(param_1 + 0x1710) | sVar12 - 0xbU << ((byte)iVar6 & 0x1f);
|
||||
*(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10))
|
||||
= *(undefined1 *)(param_1 + 0x1710);
|
||||
*(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1;
|
||||
*(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10))
|
||||
= *(undefined1 *)(param_1 + 0x1711);
|
||||
*(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1;
|
||||
iVar4 = *(int *)(param_1 + 0x1714) + -9;
|
||||
*(ushort *)(param_1 + 0x1710) =
|
||||
(ushort)(sVar12 - 0xbU) >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f);
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (uVar9 != uVar11) {
|
||||
uVar11 = (uint)*(ushort *)(param_1 + 0xaa6 + lVar7 * 4);
|
||||
iVar6 = *(int *)(param_1 + 0x1714);
|
||||
if ((int)(0x10 - uVar11) < iVar6) {
|
||||
uVar3 = *(ushort *)(param_1 + 0xaa4 + lVar7 * 4);
|
||||
*(ushort *)(param_1 + 0x1710) =
|
||||
*(ushort *)(param_1 + 0x1710) | uVar3 << ((byte)iVar6 & 0x1f);
|
||||
*(undefined1 *)
|
||||
((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) =
|
||||
*(undefined1 *)(param_1 + 0x1710);
|
||||
*(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1;
|
||||
*(undefined1 *)
|
||||
((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) =
|
||||
*(undefined1 *)(param_1 + 0x1711);
|
||||
*(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1;
|
||||
iVar6 = *(int *)(param_1 + 0x1714) + -0x10;
|
||||
*(ushort *)(param_1 + 0x1710) =
|
||||
uVar3 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f);
|
||||
}
|
||||
else {
|
||||
*(ushort *)(param_1 + 0x1710) =
|
||||
*(ushort *)(param_1 + 0x1710) |
|
||||
*(short *)(param_1 + 0xaa4 + lVar7 * 4) << ((byte)iVar6 & 0x1f);
|
||||
}
|
||||
*(uint *)(param_1 + 0x1714) = iVar6 + uVar11;
|
||||
iVar13 = iVar14;
|
||||
}
|
||||
uVar3 = *(ushort *)(param_1 + 0xae6);
|
||||
iVar6 = *(int *)(param_1 + 0x1714);
|
||||
if ((int)(0x10 - (uint)uVar3) < iVar6) {
|
||||
uVar2 = *(ushort *)(param_1 + 0xae4);
|
||||
*(ushort *)(param_1 + 0x1710) =
|
||||
*(ushort *)(param_1 + 0x1710) | uVar2 << ((byte)iVar6 & 0x1f);
|
||||
*(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10))
|
||||
= *(undefined1 *)(param_1 + 0x1710);
|
||||
*(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1;
|
||||
*(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10))
|
||||
= *(undefined1 *)(param_1 + 0x1711);
|
||||
*(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1;
|
||||
iVar6 = *(int *)(param_1 + 0x1714) + -0x10;
|
||||
*(ushort *)(param_1 + 0x1710) =
|
||||
uVar2 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f);
|
||||
}
|
||||
else {
|
||||
*(ushort *)(param_1 + 0x1710) =
|
||||
*(ushort *)(param_1 + 0x1710) |
|
||||
*(short *)(param_1 + 0xae4) << ((byte)iVar6 & 0x1f);
|
||||
}
|
||||
iVar6 = iVar6 + (uint)uVar3;
|
||||
*(int *)(param_1 + 0x1714) = iVar6;
|
||||
if (iVar6 < 0xf) {
|
||||
sVar12 = (short)iVar13 + -3;
|
||||
iVar4 = iVar6 + 2;
|
||||
goto LAB_1400dac64;
|
||||
}
|
||||
uVar3 = (short)iVar13 - 3;
|
||||
*(ushort *)(param_1 + 0x1710) =
|
||||
*(ushort *)(param_1 + 0x1710) | uVar3 << ((byte)iVar6 & 0x1f);
|
||||
*(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) =
|
||||
*(undefined1 *)(param_1 + 0x1710);
|
||||
*(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1;
|
||||
*(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) =
|
||||
*(undefined1 *)(param_1 + 0x1711);
|
||||
*(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1;
|
||||
iVar4 = *(int *)(param_1 + 0x1714) + -0xe;
|
||||
*(ushort *)(param_1 + 0x1710) =
|
||||
uVar3 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f);
|
||||
}
|
||||
*(int *)(param_1 + 0x1714) = iVar4;
|
||||
}
|
||||
iVar13 = 0;
|
||||
uVar11 = uVar9;
|
||||
if (uVar1 == 0) {
|
||||
iVar4 = 0x8a;
|
||||
iVar6 = iVar16;
|
||||
}
|
||||
else if (uVar9 == uVar10) {
|
||||
iVar4 = 6;
|
||||
iVar6 = iVar16;
|
||||
}
|
||||
else {
|
||||
iVar4 = 7;
|
||||
iVar6 = 4;
|
||||
}
|
||||
}
|
||||
iVar14 = iVar13;
|
||||
puVar8 = puVar8 + 2;
|
||||
lVar15 = lVar15 + -1;
|
||||
uVar9 = uVar10;
|
||||
} while (lVar15 != 0);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue