decompiled agent_release
This commit is contained in:
parent
baac905ef2
commit
11a3488883
6439 changed files with 229565 additions and 1 deletions
192
decomp/Agent_Release_x64/full/functions/0x1400b9520.c
Normal file
192
decomp/Agent_Release_x64/full/functions/0x1400b9520.c
Normal file
|
|
@ -0,0 +1,192 @@
|
|||
/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400b9520 FUN_1400b9520
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
void FUN_1400b9520(undefined8 *param_1,longlong *param_2,longlong *param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
uint uVar1;
|
||||
undefined8 uVar2;
|
||||
int iVar3;
|
||||
undefined8 *puVar4;
|
||||
longlong *_Dst;
|
||||
longlong lVar5;
|
||||
char cVar6;
|
||||
uint uVar7;
|
||||
longlong *plVar8;
|
||||
uint uVar9;
|
||||
ulonglong uVar10;
|
||||
ulonglong uVar11;
|
||||
longlong *plVar12;
|
||||
double dVar13;
|
||||
longlong *local_80;
|
||||
longlong *local_78;
|
||||
undefined8 local_70;
|
||||
longlong *local_68;
|
||||
undefined8 local_60;
|
||||
undefined4 local_58;
|
||||
undefined4 local_54;
|
||||
undefined8 local_50;
|
||||
undefined8 local_48;
|
||||
undefined8 local_40;
|
||||
undefined4 local_38;
|
||||
|
||||
cVar6 = (char)param_2;
|
||||
dVar13 = (double)(**(code **)(**(longlong **)*param_1 + 0x18))
|
||||
(*(longlong **)*param_1,param_2,param_3,param_4,0xfffffffffffffffe);
|
||||
if ((((cVar6 != '\0') || (iVar3 = (**(code **)(**(longlong **)*param_1 + 0x20))(), iVar3 == 0)) ||
|
||||
(DAT_1401572b8 < dVar13 - (double)param_1[4])) &&
|
||||
(param_1[4] = dVar13, 0 < (longlong)param_1[0xd])) {
|
||||
plVar12 = (longlong *)0x0;
|
||||
do {
|
||||
local_60 = (**(code **)(**(longlong **)*param_1 + 0x38))();
|
||||
local_70 = 0;
|
||||
local_78 = (longlong *)0x0;
|
||||
local_80 = (longlong *)0x0;
|
||||
local_68 = (longlong *)0x0;
|
||||
local_54 = 0;
|
||||
local_40 = 0;
|
||||
local_50 = 0;
|
||||
local_48 = 0;
|
||||
local_38 = 0;
|
||||
uVar1 = *(uint *)(param_1 + 1);
|
||||
*(uint *)(param_1 + 1) = uVar1 + 1;
|
||||
uVar9 = DAT_1401626d8;
|
||||
if ((int)(uint)param_1[0xd] <= (int)DAT_1401626d8) {
|
||||
uVar9 = (uint)param_1[0xd];
|
||||
}
|
||||
local_80 = (longlong *)FUN_1400952b0((ulonglong)uVar1,param_2,(SIZE_T)param_3);
|
||||
local_80[5] = 1;
|
||||
if ((int)uVar9 < 0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14002f590();
|
||||
}
|
||||
if (local_78 == (longlong *)0x0) {
|
||||
if ((int)uVar9 < 1) {
|
||||
if (local_80 == (longlong *)0x0) goto LAB_1400b965b;
|
||||
param_3 = local_80;
|
||||
uVar7 = 0;
|
||||
}
|
||||
else {
|
||||
uVar7 = uVar9;
|
||||
if (local_80 == (longlong *)0x0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_140095370(0,param_2,param_3,param_4);
|
||||
}
|
||||
}
|
||||
FUN_14001bc70((longlong)local_80,uVar7,(SIZE_T)param_3);
|
||||
}
|
||||
else {
|
||||
if (local_70._4_4_ < (int)uVar9) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14002f590();
|
||||
}
|
||||
local_70 = CONCAT44(local_70._4_4_,uVar9);
|
||||
}
|
||||
LAB_1400b965b:
|
||||
plVar8 = plVar12;
|
||||
if (*(int *)(param_1 + 10) != 0) {
|
||||
plVar8 = (longlong *)param_1[9];
|
||||
}
|
||||
plVar8 = (longlong *)((longlong)plVar8 + param_1[0xc]);
|
||||
_Dst = local_78;
|
||||
if (local_78 == (longlong *)0x0) {
|
||||
if (local_80 == (longlong *)0x0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_140095370(0,plVar8,0,param_4);
|
||||
}
|
||||
_Dst = plVar12;
|
||||
if ((int)local_80[3] != 0) {
|
||||
_Dst = (longlong *)local_80[2];
|
||||
}
|
||||
}
|
||||
param_2 = (longlong *)(longlong)(int)uVar9;
|
||||
if (param_2 < (longlong *)0x21) {
|
||||
uVar10 = (ulonglong)(uVar9 & 7);
|
||||
for (uVar11 = (ulonglong)param_2 >> 3; uVar11 != 0; uVar11 = uVar11 - 1) {
|
||||
*_Dst = *plVar8;
|
||||
_Dst = _Dst + 1;
|
||||
plVar8 = plVar8 + 1;
|
||||
}
|
||||
param_4 = 0;
|
||||
param_3 = (longlong *)0x0;
|
||||
if (uVar10 != 0) {
|
||||
lVar5 = (longlong)_Dst - (longlong)plVar8;
|
||||
do {
|
||||
*(char *)(lVar5 + (longlong)plVar8) = (char)*plVar8;
|
||||
plVar8 = (longlong *)((longlong)plVar8 + 1);
|
||||
uVar10 = uVar10 - 1;
|
||||
} while (uVar10 != 0);
|
||||
param_3 = (longlong *)0x0;
|
||||
}
|
||||
}
|
||||
else {
|
||||
param_3 = param_2;
|
||||
memcpy(_Dst,plVar8,(size_t)param_2);
|
||||
}
|
||||
uVar2 = param_1[0x10];
|
||||
plVar8 = (longlong *)param_1[0xe];
|
||||
if (plVar8 == (longlong *)0x0) {
|
||||
puVar4 = (undefined8 *)FUN_140030280(0x68);
|
||||
}
|
||||
else {
|
||||
puVar4 = (undefined8 *)(**(code **)(*plVar8 + 8))(plVar8,0x68);
|
||||
}
|
||||
if (puVar4 != (undefined8 *)0x0) {
|
||||
*(undefined4 *)(puVar4 + 2) = 1;
|
||||
*(uint *)((longlong)puVar4 + 0x14) = uVar1;
|
||||
puVar4[5] = 0;
|
||||
puVar4[4] = 0;
|
||||
if (local_80 == (longlong *)0x0) {
|
||||
puVar4[3] = 0;
|
||||
*(int *)((longlong)puVar4 + 0x2c) = local_70._4_4_;
|
||||
puVar4[4] = local_78;
|
||||
*(undefined4 *)(puVar4 + 5) = (undefined4)local_70;
|
||||
}
|
||||
else {
|
||||
local_80[5] = local_80[5] + 1;
|
||||
puVar4[3] = local_80;
|
||||
}
|
||||
puVar4[7] = local_60;
|
||||
plVar8 = plVar12;
|
||||
if (local_68 != (longlong *)0x0) {
|
||||
local_68[1] = local_68[1] + 1;
|
||||
plVar8 = local_68;
|
||||
}
|
||||
puVar4[6] = plVar8;
|
||||
*(undefined4 *)(puVar4 + 8) = local_58;
|
||||
*(undefined4 *)((longlong)puVar4 + 0x44) = local_54;
|
||||
puVar4[9] = local_50;
|
||||
puVar4[10] = local_48;
|
||||
puVar4[0xb] = local_40;
|
||||
*(undefined4 *)(puVar4 + 0xc) = local_38;
|
||||
}
|
||||
puVar4[1] = uVar2;
|
||||
*puVar4 = 0;
|
||||
param_1[0x11] = param_1[0x11] + 1;
|
||||
if ((undefined8 *)param_1[0x10] == (undefined8 *)0x0) {
|
||||
param_1[0xf] = puVar4;
|
||||
}
|
||||
else {
|
||||
*(undefined8 *)param_1[0x10] = puVar4;
|
||||
}
|
||||
param_1[0x10] = puVar4;
|
||||
FUN_1400bbe80(param_1 + 6,(longlong)param_2,param_3,param_4);
|
||||
if (local_68 != (longlong *)0x0) {
|
||||
plVar8 = local_68 + 1;
|
||||
*plVar8 = *plVar8 + -1;
|
||||
if (*plVar8 == 0) {
|
||||
param_2 = local_68;
|
||||
FUN_140043d50((longlong)&local_68,local_68);
|
||||
}
|
||||
}
|
||||
FUN_140095270((longlong *)&local_80);
|
||||
if ((local_78 != (longlong *)0x0) && (local_70 < 0)) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14002f590();
|
||||
}
|
||||
} while (0 < (longlong)param_1[0xd]);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue