add agent manager release decomp
This commit is contained in:
parent
31ff800b2a
commit
fac6117145
7019 changed files with 254032 additions and 5 deletions
265
decomp/AgentManager_Release_x64/full/functions/0x1400d3d50.c
Normal file
265
decomp/AgentManager_Release_x64/full/functions/0x1400d3d50.c
Normal file
|
|
@ -0,0 +1,265 @@
|
|||
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||
* Ghidra 12.1.2 decompiler output for 0x1400d3d50 FUN_1400d3d50
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
/* WARNING: Function: __chkstk replaced with injection: alloca_probe */
|
||||
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
||||
|
||||
void FUN_1400d3d50(longlong param_1,uint *param_2,undefined8 param_3,undefined8 param_4)
|
||||
|
||||
{
|
||||
uint uVar1;
|
||||
longlong lVar2;
|
||||
longlong *plVar3;
|
||||
undefined1 *puVar4;
|
||||
int iVar5;
|
||||
ulonglong uVar6;
|
||||
undefined4 *puVar7;
|
||||
longlong lVar8;
|
||||
ulonglong uVar9;
|
||||
SIZE_T SVar10;
|
||||
undefined8 uVar11;
|
||||
SIZE_T *pSVar12;
|
||||
undefined1 auStackY_2808 [32];
|
||||
undefined4 uStack_27cc;
|
||||
int local_27c8 [2];
|
||||
longlong local_27c0;
|
||||
undefined4 local_27b8;
|
||||
undefined4 uStack_27b4;
|
||||
undefined4 local_27b0;
|
||||
int local_27ac;
|
||||
longlong local_27a0 [2];
|
||||
undefined1 local_2790;
|
||||
undefined4 local_278c;
|
||||
undefined1 local_2788;
|
||||
undefined1 local_2787;
|
||||
undefined8 local_2780;
|
||||
exception local_2778 [72];
|
||||
exception local_2730 [72];
|
||||
exception local_26e8 [72];
|
||||
SIZE_T local_26a0 [400];
|
||||
SIZE_T *local_1a20;
|
||||
undefined4 local_1a18;
|
||||
undefined4 local_1a14;
|
||||
undefined4 local_1a08 [2];
|
||||
longlong local_1a00;
|
||||
longlong local_19f8;
|
||||
uint local_19f0;
|
||||
int local_19ec;
|
||||
undefined1 local_19e0 [136];
|
||||
longlong local_1958;
|
||||
undefined8 uStack_1950;
|
||||
longlong *local_cd8;
|
||||
undefined4 local_cd0;
|
||||
int local_ccc;
|
||||
undefined1 local_cc8 [3200];
|
||||
undefined1 *local_48;
|
||||
int local_40;
|
||||
int local_3c;
|
||||
ulonglong local_38;
|
||||
undefined8 uStack_30;
|
||||
|
||||
uStack_30 = 0x1400d3d6a;
|
||||
local_2780 = 0xfffffffffffffffe;
|
||||
local_38 = DAT_14016f5a0 ^ (ulonglong)auStackY_2808;
|
||||
uVar1 = *param_2;
|
||||
uVar6 = (ulonglong)uVar1;
|
||||
iVar5 = DAT_140178018;
|
||||
if (uVar1 == 1) {
|
||||
uVar9 = 0;
|
||||
if (DAT_140171262 != '\0') {
|
||||
iVar5 = 1;
|
||||
}
|
||||
}
|
||||
else {
|
||||
uVar9 = (ulonglong)(uVar1 - 2);
|
||||
if ((uVar1 - 2 == 0) && (DAT_140171261 != '\0')) {
|
||||
iVar5 = 1;
|
||||
}
|
||||
}
|
||||
if (*(char *)(*(longlong *)(param_1 + 0x10) + 0x608) == '\0') {
|
||||
local_ccc = 200;
|
||||
local_cd0 = 0;
|
||||
local_cd8 = &local_1958;
|
||||
FUN_140074fb0(local_27c8);
|
||||
FUN_140074a40((longlong)local_27c8,uVar6,uVar9,param_4);
|
||||
FUN_140075110(local_27c8,0x800,uVar9,param_4);
|
||||
FUN_140075110(local_27c8,0,uVar9,param_4);
|
||||
FUN_140097ab0((byte *)param_2,(longlong)&local_1958,(SIZE_T)local_27c8,param_4);
|
||||
local_27a0[1] = 0;
|
||||
local_2790 = 1;
|
||||
local_278c = 0xffffffff;
|
||||
local_2788 = 1;
|
||||
local_2787 = DAT_14016f1cc;
|
||||
plVar3 = local_27a0;
|
||||
local_27a0[0]._0_4_ = iVar5;
|
||||
FUN_1400cf2c0((longlong *)(*(longlong *)(param_1 + 0x10) + 0x668),(longlong)&local_1958,plVar3);
|
||||
FUN_14008a320(&local_27c0);
|
||||
if (CONCAT44(uStack_27b4,local_27b8) != 0) {
|
||||
if (local_27ac < 0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14003dec0();
|
||||
}
|
||||
local_27b0 = 0;
|
||||
}
|
||||
if (local_cd8 == (longlong *)0x0) {
|
||||
FUN_14003db10(local_2778,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_140170368,plVar3,
|
||||
param_4);
|
||||
/* WARNING: Subroutine does not return */
|
||||
_CxxThrowException(local_2778,(ThrowInfo *)&DAT_14016c210);
|
||||
}
|
||||
if (local_ccc < 0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14003dec0();
|
||||
}
|
||||
}
|
||||
else if (uVar1 == 1) {
|
||||
FUN_140074fb0(local_1a08);
|
||||
SVar10 = 0x80;
|
||||
puVar4 = local_19e0;
|
||||
FUN_140074c30((longlong)local_1a08,(longlong)puVar4,0x80,param_4);
|
||||
FUN_140029d80((longlong)local_1a08,CONCAT71((int7)((ulonglong)puVar4 >> 8),0x16),SVar10,param_4)
|
||||
;
|
||||
FUN_140029e60((longlong)local_1a08,(ulonglong)*(uint *)(*(longlong *)(param_1 + 0x10) + 0x56c),
|
||||
SVar10,param_4);
|
||||
FUN_140029e60((longlong)local_1a08,(ulonglong)param_2[1],SVar10,param_4);
|
||||
puVar7 = local_1a08;
|
||||
plVar3 = local_27a0;
|
||||
FUN_140074a00(plVar3,(longlong)puVar7);
|
||||
if (*(longlong *)(param_2 + 2) == 0) {
|
||||
if (*(longlong *)(param_2 + 4) == 0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14008a420(plVar3,puVar7,SVar10,param_4);
|
||||
}
|
||||
uVar1 = param_2[6];
|
||||
}
|
||||
else {
|
||||
uVar1 = *(uint *)(*(longlong *)(param_2 + 2) + 0x18);
|
||||
}
|
||||
lVar8 = (longlong)(int)uVar1;
|
||||
FUN_140076380((longlong)local_1a08,lVar8,SVar10,param_4);
|
||||
local_3c = 200;
|
||||
lVar2 = 0;
|
||||
local_40 = 0;
|
||||
local_48 = local_cc8;
|
||||
local_ccc = 200;
|
||||
local_cd0 = 0;
|
||||
local_cd8 = &local_1958;
|
||||
if (local_1a00 == 0) {
|
||||
if (local_19f8 == 0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14008a420(0,lVar8,SVar10,param_4);
|
||||
}
|
||||
}
|
||||
else {
|
||||
local_19f0 = *(uint *)(local_1a00 + 0x18);
|
||||
}
|
||||
local_1958 = local_19f8;
|
||||
if (local_19f8 == 0) {
|
||||
if (local_1a00 == 0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14008a420(0,(ulonglong)local_19f0,SVar10,param_4);
|
||||
}
|
||||
local_1958 = lVar2;
|
||||
if (*(int *)(local_1a00 + 0x18) != 0) {
|
||||
local_1958 = *(longlong *)(local_1a00 + 0x10);
|
||||
}
|
||||
}
|
||||
local_cd0 = 1;
|
||||
uStack_1950 = CONCAT44(uStack_27cc,local_19f0);
|
||||
plVar3 = &local_1958;
|
||||
puVar4 = local_cc8;
|
||||
FUN_14004dc30((longlong)puVar4,(longlong)plVar3,SVar10,param_4);
|
||||
if (local_cd8 == (longlong *)0x0) {
|
||||
FUN_14003db10(local_2778,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_140170368,SVar10,
|
||||
param_4);
|
||||
/* WARNING: Subroutine does not return */
|
||||
_CxxThrowException(local_2778,(ThrowInfo *)&DAT_14016c210);
|
||||
}
|
||||
if (local_ccc < 0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14003dec0();
|
||||
}
|
||||
local_cd0 = 0;
|
||||
lVar8 = *(longlong *)(param_2 + 2);
|
||||
if (lVar8 == 0) {
|
||||
if (*(longlong *)(param_2 + 4) == 0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14008a420(puVar4,plVar3,SVar10,param_4);
|
||||
}
|
||||
uVar1 = param_2[6];
|
||||
}
|
||||
else {
|
||||
uVar1 = *(uint *)(lVar8 + 0x18);
|
||||
}
|
||||
if (*(longlong *)(param_2 + 4) == 0) {
|
||||
if (lVar8 == 0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14008a420((ulonglong)uVar1,plVar3,SVar10,param_4);
|
||||
}
|
||||
if (*(int *)(lVar8 + 0x18) != 0) {
|
||||
lVar2 = *(longlong *)(lVar8 + 0x10);
|
||||
}
|
||||
}
|
||||
else {
|
||||
lVar2 = *(longlong *)(param_2 + 4);
|
||||
if (lVar2 == 0) {
|
||||
FUN_14003db10(local_26e8,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_140170368,SVar10,
|
||||
param_4);
|
||||
/* WARNING: Subroutine does not return */
|
||||
_CxxThrowException(local_26e8,(ThrowInfo *)&DAT_14016c210);
|
||||
}
|
||||
}
|
||||
if (local_48 == (undefined1 *)0x0) {
|
||||
FUN_14003db10(local_2730,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_140170368,0,param_4
|
||||
);
|
||||
/* WARNING: Subroutine does not return */
|
||||
_CxxThrowException(local_2730,(ThrowInfo *)&DAT_14016c210);
|
||||
}
|
||||
if (local_40 < 0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14003dec0();
|
||||
}
|
||||
iVar5 = local_40 + 1;
|
||||
if ((iVar5 < 0) || (local_3c < iVar5)) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14003dec0();
|
||||
}
|
||||
*(longlong *)(local_48 + (longlong)local_40 * 0x10) = lVar2;
|
||||
*(ulonglong *)(local_48 + (longlong)local_40 * 0x10 + 8) = CONCAT44(uStack_27cc,uVar1);
|
||||
local_1a14 = 200;
|
||||
local_1a18 = 0;
|
||||
local_1a20 = local_26a0;
|
||||
local_40 = iVar5;
|
||||
FUN_140096f90((longlong *)&local_48,&local_1a20,local_48,param_4);
|
||||
local_27c8[0] = DAT_140178018;
|
||||
local_27c0 = DAT_140178010;
|
||||
local_27b8 = CONCAT31(local_27b8._1_3_,DAT_140178020);
|
||||
uStack_27b4 = 0xffffffff;
|
||||
local_27b0._0_2_ = CONCAT11(DAT_14016f1cc,DAT_140178040);
|
||||
uVar1 = (**(code **)(**(longlong **)(param_1 + 0x10) + 8))();
|
||||
pSVar12 = local_26a0;
|
||||
uVar11 = 1;
|
||||
FUN_14009d260(*(longlong *)(*(longlong *)(param_1 + 0x10) + 0x670),uVar1,1,pSVar12,
|
||||
(SIZE_T *)local_27c8);
|
||||
if (local_48 == (undefined1 *)0x0) {
|
||||
FUN_14003db10(local_2730,(wchar_t *)PTR_u_ArrayWithExternalBuffer_is_unini_140170368,uVar11,
|
||||
pSVar12);
|
||||
/* WARNING: Subroutine does not return */
|
||||
_CxxThrowException(local_2730,(ThrowInfo *)&DAT_14016c210);
|
||||
}
|
||||
if (local_3c < 0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14003dec0();
|
||||
}
|
||||
local_40 = 0;
|
||||
FUN_140074a20(local_27a0);
|
||||
FUN_14008a320(&local_1a00);
|
||||
if ((local_19f8 != 0) && (local_19ec < 0)) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14003dec0();
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue