decompiled agent_release
This commit is contained in:
parent
baac905ef2
commit
11a3488883
6439 changed files with 229565 additions and 1 deletions
419
decomp/Agent_Release_x64/full/functions/0x1400a6c80.c
Normal file
419
decomp/Agent_Release_x64/full/functions/0x1400a6c80.c
Normal file
|
|
@ -0,0 +1,419 @@
|
|||
/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400a6c80 FUN_1400a6c80
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||
|
||||
void FUN_1400a6c80(longlong *param_1,uint *param_2,undefined8 param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
longlong *plVar1;
|
||||
uint uVar2;
|
||||
longlong *plVar3;
|
||||
undefined8 uVar4;
|
||||
int *piVar5;
|
||||
ulonglong uVar6;
|
||||
int *piVar7;
|
||||
longlong lVar8;
|
||||
uint *puVar9;
|
||||
longlong *plVar10;
|
||||
uint uVar11;
|
||||
undefined8 *puVar12;
|
||||
longlong **pplVar13;
|
||||
undefined ***pppuVar14;
|
||||
undefined8 uVar15;
|
||||
int iVar16;
|
||||
longlong **pplVar17;
|
||||
SIZE_T SVar18;
|
||||
uint *puVar19;
|
||||
SIZE_T *pSVar20;
|
||||
longlong lVar21;
|
||||
undefined1 auStack_ec8 [32];
|
||||
undefined1 local_ea8 [8];
|
||||
longlong *local_ea0;
|
||||
int local_e98 [2];
|
||||
longlong local_e90;
|
||||
longlong local_e88;
|
||||
undefined4 local_e80;
|
||||
int local_e7c;
|
||||
longlong *local_e70;
|
||||
longlong *local_e68;
|
||||
longlong *local_e60;
|
||||
undefined **local_e58;
|
||||
undefined8 local_e50;
|
||||
longlong **local_e48;
|
||||
undefined8 local_e40;
|
||||
undefined8 local_e38;
|
||||
undefined **local_e30;
|
||||
undefined8 local_e28;
|
||||
longlong **local_e20;
|
||||
undefined8 local_e18;
|
||||
undefined8 local_e10;
|
||||
undefined **local_e08;
|
||||
undefined8 local_e00;
|
||||
longlong **local_df8;
|
||||
undefined8 local_df0;
|
||||
undefined8 local_de8;
|
||||
longlong *local_dd0;
|
||||
undefined **local_dc8;
|
||||
undefined8 local_dc0;
|
||||
longlong **local_db8;
|
||||
ulonglong local_db0;
|
||||
undefined8 local_da8;
|
||||
undefined **local_da0;
|
||||
undefined8 local_d98;
|
||||
longlong **local_d90;
|
||||
ulonglong local_d88;
|
||||
undefined8 local_d80;
|
||||
int *local_d78;
|
||||
undefined1 local_d70;
|
||||
int *local_d68;
|
||||
undefined1 local_d60;
|
||||
SIZE_T local_d58;
|
||||
undefined1 local_d50;
|
||||
uint local_d48;
|
||||
int iStack_d44;
|
||||
undefined8 local_d40;
|
||||
undefined8 local_d38;
|
||||
undefined8 local_d30;
|
||||
undefined8 local_d28;
|
||||
undefined8 local_d20;
|
||||
int *local_d18;
|
||||
undefined1 local_d10;
|
||||
int *local_d08;
|
||||
undefined1 local_d00;
|
||||
undefined8 local_ce0;
|
||||
undefined1 local_cb8 [3216];
|
||||
ulonglong local_28;
|
||||
|
||||
local_ce0 = 0xfffffffffffffffe;
|
||||
local_28 = DAT_1401555a0 ^ (ulonglong)auStack_ec8;
|
||||
local_ea0 = param_1;
|
||||
(**(code **)(*(longlong *)(param_1[0x21] + 0x78) + 0x10))();
|
||||
SVar18 = 1;
|
||||
puVar12 = (undefined8 *)local_ea8;
|
||||
puVar19 = param_2;
|
||||
uVar4 = FUN_140080600(param_2,puVar12,1);
|
||||
if ((char)uVar4 == '\0') {
|
||||
FUN_140030200(puVar19,puVar12,SVar18,param_4);
|
||||
local_e70 = (longlong *)PTR_DAT_140155010;
|
||||
pplVar13 = &local_e70;
|
||||
uVar4 = 8;
|
||||
uVar15 = 3;
|
||||
plVar10 = (longlong *)param_1[0x21];
|
||||
FUN_14007dca0(plVar10,8,(undefined *)0x3,pplVar13);
|
||||
plVar3 = local_e70;
|
||||
if (((local_e70 != (longlong *)0x0) && (local_e70 != (longlong *)PTR_DAT_140155010)) &&
|
||||
(plVar1 = local_e70 + -1, plVar1 != (longlong *)0x0)) {
|
||||
piVar5 = (int *)FUN_140030200(plVar10,uVar4,uVar15,pplVar13);
|
||||
local_d68 = piVar5;
|
||||
FUN_14002e6e0(piVar5);
|
||||
local_d60 = 1;
|
||||
piVar7 = (int *)((longlong)plVar3 + -4);
|
||||
*piVar7 = *piVar7 + -1;
|
||||
if (*piVar7 == 0) {
|
||||
FUN_1400302f0(plVar1);
|
||||
}
|
||||
FUN_14002e770((longlong)piVar5);
|
||||
local_d60 = 0;
|
||||
}
|
||||
local_e70 = (longlong *)PTR_DAT_140155010;
|
||||
LAB_1400a6d7e:
|
||||
if ((int)param_1[0x20] < 4) {
|
||||
*(undefined4 *)(param_1 + 8) = 0;
|
||||
*(undefined4 *)(param_1 + 0x20) = 4;
|
||||
lVar21 = (**(code **)(*(longlong *)(param_1[0x21] + 0x70) + 0x1c0))();
|
||||
param_1[0x10] = lVar21;
|
||||
*(undefined1 *)(param_1 + 0x18) = 0;
|
||||
}
|
||||
return;
|
||||
}
|
||||
FUN_1400a28f0(&local_d48);
|
||||
puVar19 = &local_d48;
|
||||
puVar9 = param_2;
|
||||
uVar4 = FUN_140081110(param_2,puVar19,SVar18,param_4);
|
||||
if ((char)uVar4 == '\0') {
|
||||
FUN_140030200(puVar9,puVar19,SVar18,param_4);
|
||||
local_e60 = (longlong *)PTR_DAT_140155010;
|
||||
pplVar13 = &local_e60;
|
||||
uVar4 = 8;
|
||||
uVar15 = 3;
|
||||
plVar10 = (longlong *)param_1[0x21];
|
||||
FUN_14007dca0(plVar10,8,(undefined *)0x3,pplVar13);
|
||||
plVar3 = local_e60;
|
||||
if (((local_e60 != (longlong *)0x0) && (local_e60 != (longlong *)PTR_DAT_140155010)) &&
|
||||
(plVar1 = local_e60 + -1, plVar1 != (longlong *)0x0)) {
|
||||
piVar5 = (int *)FUN_140030200(plVar10,uVar4,uVar15,pplVar13);
|
||||
local_d78 = piVar5;
|
||||
FUN_14002e6e0(piVar5);
|
||||
local_d70 = 1;
|
||||
piVar7 = (int *)((longlong)plVar3 + -4);
|
||||
*piVar7 = *piVar7 + -1;
|
||||
if (*piVar7 == 0) {
|
||||
FUN_1400302f0(plVar1);
|
||||
}
|
||||
FUN_14002e770((longlong)piVar5);
|
||||
local_d70 = 0;
|
||||
}
|
||||
local_e60 = (longlong *)PTR_DAT_140155010;
|
||||
goto LAB_1400a6d7e;
|
||||
}
|
||||
lVar21 = param_1[0x21];
|
||||
*(ulonglong *)(lVar21 + 0x6a0) = CONCAT44(iStack_d44,local_d48);
|
||||
*(undefined8 *)(lVar21 + 0x6a8) = local_d40;
|
||||
*(undefined8 *)(lVar21 + 0x6b0) = local_d38;
|
||||
*(undefined8 *)(lVar21 + 0x6b8) = local_d30;
|
||||
*(undefined8 *)(lVar21 + 0x6c0) = local_d28;
|
||||
*(undefined8 *)(lVar21 + 0x6c8) = local_d20;
|
||||
if (*(char *)(param_1[0x21] + 0x6cc) != '\0') {
|
||||
uVar4 = (**(code **)(*(longlong *)(param_1[0x21] + 0x70) + 0x1c0))();
|
||||
*(undefined8 *)(param_1[0x21] + 0x638) = uVar4;
|
||||
}
|
||||
pplVar17 = (longlong **)0x0;
|
||||
local_e00 = 0;
|
||||
local_df8 = (longlong **)0x0;
|
||||
local_df0 = 0;
|
||||
local_de8 = 0;
|
||||
local_e08 = Proud::ByteArray::vftable;
|
||||
pplVar13 = &local_dd0;
|
||||
puVar19 = param_2;
|
||||
uVar6 = FUN_140080ca0(param_2,pplVar13,SVar18,param_4);
|
||||
plVar10 = local_dd0;
|
||||
if ((((char)uVar6 != '\0') && (iVar16 = (int)local_dd0, -1 < iVar16)) && (iVar16 <= DAT_140155140)
|
||||
) {
|
||||
FUN_14001bc70((longlong)&local_e08,iVar16,SVar18);
|
||||
pplVar13 = local_df8;
|
||||
if ((int)local_df0 == 0) {
|
||||
pplVar13 = pplVar17;
|
||||
}
|
||||
SVar18 = (ulonglong)plVar10 & 0xffffffff;
|
||||
puVar19 = param_2;
|
||||
uVar4 = FUN_140080600(param_2,pplVar13,SVar18);
|
||||
if ((char)uVar4 != '\0') {
|
||||
local_e50 = 0;
|
||||
local_e48 = (longlong **)0x0;
|
||||
local_e40 = 0;
|
||||
local_e38 = 0;
|
||||
local_e58 = Proud::ByteArray::vftable;
|
||||
local_e28 = 0;
|
||||
local_e20 = (longlong **)0x0;
|
||||
local_e18 = 0;
|
||||
local_e10 = 0;
|
||||
local_e30 = Proud::ByteArray::vftable;
|
||||
FUN_1400a0f70((longlong)&local_e58,*(int *)(param_1[0x21] + 0x6bc),SVar18,param_4);
|
||||
pplVar13 = local_e48;
|
||||
if ((int)local_e40 == 0) {
|
||||
pplVar13 = pplVar17;
|
||||
}
|
||||
SVar18 = (SIZE_T)(*(uint *)(param_1[0x21] + 0x6bc) >> 3);
|
||||
uVar4 = 0x10;
|
||||
FUN_140090ac0((void *)(param_1[0x21] + 0xd8),(byte *)pplVar13,SVar18,0x10);
|
||||
FUN_1400a0f70((longlong)&local_e30,*(int *)(param_1[0x21] + 0x6c0),SVar18,uVar4);
|
||||
pplVar13 = local_e20;
|
||||
if ((int)local_e18 == 0) {
|
||||
pplVar13 = pplVar17;
|
||||
}
|
||||
SVar18 = (SIZE_T)(*(uint *)(param_1[0x21] + 0x6c0) >> 3);
|
||||
FUN_1400a0660(param_1[0x21] + 0x4a8,(longlong)pplVar13,SVar18,uVar4);
|
||||
piVar7 = (int *)FUN_1400303d0();
|
||||
FUN_14002e6e0(piVar7);
|
||||
if (iStack_d44 < DAT_140155140) {
|
||||
iStack_d44 = DAT_140155140;
|
||||
}
|
||||
DAT_140155140 = iStack_d44;
|
||||
FUN_14002e770((longlong)piVar7);
|
||||
uVar11 = (int)*param_2 >> 0x1f & 7;
|
||||
if (*(longlong *)(param_2 + 2) == 0) {
|
||||
if (*(longlong *)(param_2 + 4) == 0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_140095370(0,(ulonglong)uVar11,SVar18,uVar4);
|
||||
}
|
||||
uVar2 = param_2[6];
|
||||
}
|
||||
else {
|
||||
uVar2 = *(uint *)(*(longlong *)(param_2 + 2) + 0x18);
|
||||
}
|
||||
if ((int)(*param_2 + uVar11) >> 3 != uVar2) {
|
||||
FUN_140030200((ulonglong)uVar2,(ulonglong)uVar11,SVar18,uVar4);
|
||||
local_ea0 = (longlong *)PTR_DAT_140155010;
|
||||
pplVar13 = &local_ea0;
|
||||
uVar4 = 8;
|
||||
uVar15 = 3;
|
||||
plVar10 = (longlong *)param_1[0x21];
|
||||
FUN_14007dca0(plVar10,8,(undefined *)0x3,pplVar13);
|
||||
plVar3 = local_ea0;
|
||||
if (((local_ea0 != (longlong *)0x0) && (local_ea0 != (longlong *)PTR_DAT_140155010)) &&
|
||||
(plVar1 = local_ea0 + -1, plVar1 != (longlong *)0x0)) {
|
||||
piVar5 = (int *)FUN_140030200(plVar10,uVar4,uVar15,pplVar13);
|
||||
local_d08 = piVar5;
|
||||
FUN_14002e6e0(piVar5);
|
||||
local_d00 = 1;
|
||||
piVar7 = (int *)((longlong)plVar3 + -4);
|
||||
*piVar7 = *piVar7 + -1;
|
||||
if (*piVar7 == 0) {
|
||||
FUN_1400302f0(plVar1);
|
||||
}
|
||||
FUN_14002e770((longlong)piVar5);
|
||||
}
|
||||
FUN_1400a36a0((longlong)param_1,4);
|
||||
FUN_14003b870(&local_e30);
|
||||
FUN_14003b870(&local_e58);
|
||||
goto LAB_1400a7617;
|
||||
}
|
||||
*(undefined1 *)(param_1[0x21] + 0x1790) = local_ea8[0];
|
||||
lVar21 = param_1[0x21];
|
||||
lVar8 = FUN_140064be0(lVar21);
|
||||
FUN_1400b2af0(lVar8,*(char *)(lVar21 + 0x6b8));
|
||||
local_dc0 = 0;
|
||||
local_db8 = (longlong **)0x0;
|
||||
local_db0 = 0;
|
||||
local_da8 = 0;
|
||||
local_dc8 = Proud::ByteArray::vftable;
|
||||
local_d98 = 0;
|
||||
local_d90 = (longlong **)0x0;
|
||||
local_d88 = 0;
|
||||
local_d80 = 0;
|
||||
local_da0 = Proud::ByteArray::vftable;
|
||||
FUN_1400a0f70((longlong)&local_e58,*(int *)(param_1[0x21] + 0x6bc),SVar18,uVar4);
|
||||
pplVar13 = local_e48;
|
||||
if ((int)local_e40 == 0) {
|
||||
pplVar13 = pplVar17;
|
||||
}
|
||||
uVar4 = 0x10;
|
||||
FUN_140090ac0((void *)(param_1[0x21] + 0x708),(byte *)pplVar13,
|
||||
(ulonglong)(*(uint *)(param_1[0x21] + 0x6bc) >> 3),0x10);
|
||||
pppuVar14 = &local_e08;
|
||||
FUN_1400a1130((longlong)&local_dc8,(longlong)&local_e58,(longlong)pppuVar14);
|
||||
FUN_1400a0f70((longlong)&local_e30,*(int *)(param_1[0x21] + 0x6c0),(SIZE_T)pppuVar14,uVar4);
|
||||
pplVar13 = local_e20;
|
||||
if ((int)local_e18 == 0) {
|
||||
pplVar13 = pplVar17;
|
||||
}
|
||||
FUN_1400a0660(param_1[0x21] + 0xad8,(longlong)pplVar13,
|
||||
(ulonglong)(*(uint *)(param_1[0x21] + 0x6c0) >> 3),uVar4);
|
||||
puVar19 = (uint *)(param_1[0x21] + 0x708);
|
||||
pppuVar14 = &local_da0;
|
||||
FUN_140092b80((longlong)&local_e30,(longlong)pppuVar14,puVar19,uVar4);
|
||||
FUN_1400806d0(local_e98);
|
||||
FUN_1400801a0((longlong)local_e98,pppuVar14,(SIZE_T)puVar19,uVar4);
|
||||
FUN_140080830(local_e98,0x800,(SIZE_T)puVar19,uVar4);
|
||||
uVar15 = 0;
|
||||
FUN_140080830(local_e98,0,(SIZE_T)puVar19,uVar4);
|
||||
FUN_14001ba80((longlong)local_e98,CONCAT71((int7)((ulonglong)uVar15 >> 8),5),(SIZE_T)puVar19,
|
||||
uVar4);
|
||||
uVar6 = local_db0;
|
||||
iVar16 = (int)local_db0;
|
||||
FUN_140081aa0((longlong)local_e98,(longlong)(int)local_db0,(SIZE_T)puVar19,uVar4);
|
||||
pplVar13 = local_db8;
|
||||
if ((int)local_db0 == 0) {
|
||||
pplVar13 = pplVar17;
|
||||
}
|
||||
if (iVar16 != 0) {
|
||||
local_e98[1] = 0;
|
||||
if (local_e90 == 0) {
|
||||
if (local_e88 == 0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_140095370(0,pplVar13,puVar19,uVar4);
|
||||
}
|
||||
LAB_1400a7382:
|
||||
puVar19 = (uint *)(uVar6 & 0xffffffff);
|
||||
FUN_14001bb60(&local_e88,pplVar13,puVar19,uVar4);
|
||||
}
|
||||
else {
|
||||
if (local_e88 != 0) goto LAB_1400a7382;
|
||||
if (local_e90 == 0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_140095370(0,pplVar13,puVar19,uVar4);
|
||||
}
|
||||
puVar19 = (uint *)(uVar6 & 0xffffffff);
|
||||
FUN_14001bd90(local_e90,pplVar13,(SIZE_T)puVar19);
|
||||
}
|
||||
FUN_14001be00((longlong)local_e98,pplVar13,(SIZE_T)puVar19,uVar4);
|
||||
}
|
||||
uVar6 = local_d88;
|
||||
iVar16 = (int)local_d88;
|
||||
FUN_140081aa0((longlong)local_e98,(longlong)(int)local_d88,(SIZE_T)puVar19,uVar4);
|
||||
pplVar13 = local_d90;
|
||||
if ((int)local_d88 == 0) {
|
||||
pplVar13 = pplVar17;
|
||||
}
|
||||
if (iVar16 != 0) {
|
||||
local_e98[1] = 0;
|
||||
if (local_e90 == 0) {
|
||||
if (local_e88 == 0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_140095370(0,pplVar13,puVar19,uVar4);
|
||||
}
|
||||
LAB_1400a7400:
|
||||
puVar19 = (uint *)(uVar6 & 0xffffffff);
|
||||
FUN_14001bb60(&local_e88,pplVar13,puVar19,uVar4);
|
||||
}
|
||||
else {
|
||||
if (local_e88 != 0) goto LAB_1400a7400;
|
||||
if (local_e90 == 0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_140095370(0,pplVar13,puVar19,uVar4);
|
||||
}
|
||||
puVar19 = (uint *)(uVar6 & 0xffffffff);
|
||||
FUN_14001bd90(local_e90,pplVar13,(SIZE_T)puVar19);
|
||||
}
|
||||
FUN_14001be00((longlong)local_e98,pplVar13,(SIZE_T)puVar19,uVar4);
|
||||
}
|
||||
lVar21 = FUN_140041760((longlong)local_cb8,(longlong)local_e98,puVar19);
|
||||
local_d58 = 0;
|
||||
local_d50 = 1;
|
||||
lVar8 = FUN_140064be0(param_1[0x21]);
|
||||
pSVar20 = &local_d58;
|
||||
FUN_1400b2d20(lVar8,lVar21,pSVar20,uVar4);
|
||||
FUN_140040950((longlong)local_cb8,lVar21,pSVar20,uVar4);
|
||||
local_dd0 = &local_e90;
|
||||
FUN_140095270(&local_e90);
|
||||
if (local_e88 != 0) {
|
||||
if (local_e7c < 0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14002f590();
|
||||
}
|
||||
local_e80 = 0;
|
||||
}
|
||||
FUN_14003b870(&local_da0);
|
||||
FUN_14003b870(&local_dc8);
|
||||
FUN_14003b870(&local_e30);
|
||||
FUN_14003b870(&local_e58);
|
||||
goto LAB_1400a7617;
|
||||
}
|
||||
}
|
||||
FUN_140030200(puVar19,pplVar13,SVar18,param_4);
|
||||
local_e68 = (longlong *)PTR_DAT_140155010;
|
||||
pplVar13 = &local_e68;
|
||||
uVar4 = 8;
|
||||
uVar15 = 3;
|
||||
plVar10 = (longlong *)param_1[0x21];
|
||||
FUN_14007dca0(plVar10,8,(undefined *)0x3,pplVar13);
|
||||
plVar3 = local_e68;
|
||||
if (((local_e68 != (longlong *)0x0) && (local_e68 != (longlong *)PTR_DAT_140155010)) &&
|
||||
(plVar1 = local_e68 + -1, plVar1 != (longlong *)0x0)) {
|
||||
piVar5 = (int *)FUN_140030200(plVar10,uVar4,uVar15,pplVar13);
|
||||
local_d18 = piVar5;
|
||||
FUN_14002e6e0(piVar5);
|
||||
local_d10 = 1;
|
||||
piVar7 = (int *)((longlong)plVar3 + -4);
|
||||
*piVar7 = *piVar7 + -1;
|
||||
if (*piVar7 == 0) {
|
||||
FUN_1400302f0(plVar1);
|
||||
}
|
||||
FUN_14002e770((longlong)piVar5);
|
||||
local_d10 = 0;
|
||||
}
|
||||
local_e68 = (longlong *)PTR_DAT_140155010;
|
||||
if ((int)param_1[0x20] < 4) {
|
||||
*(undefined4 *)(param_1 + 8) = 0;
|
||||
*(undefined4 *)(param_1 + 0x20) = 4;
|
||||
lVar21 = (**(code **)(*(longlong *)(param_1[0x21] + 0x70) + 0x1c0))();
|
||||
param_1[0x10] = lVar21;
|
||||
*(undefined1 *)(param_1 + 0x18) = 0;
|
||||
}
|
||||
LAB_1400a7617:
|
||||
FUN_14003b870(&local_e08);
|
||||
return;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue