add agent manager release decomp
This commit is contained in:
parent
31ff800b2a
commit
fac6117145
7019 changed files with 254032 additions and 5 deletions
202
decomp/AgentManager_Release_x64/full/functions/0x14003f5b0.c
Normal file
202
decomp/AgentManager_Release_x64/full/functions/0x14003f5b0.c
Normal file
|
|
@ -0,0 +1,202 @@
|
|||
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||
* Ghidra 12.1.2 decompiler output for 0x14003f5b0 FUN_14003f5b0
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
int FUN_14003f5b0(byte *param_1,byte *param_2,int *param_3,uint param_4,uint param_5)
|
||||
|
||||
{
|
||||
short sVar1;
|
||||
int iVar2;
|
||||
undefined8 uVar3;
|
||||
byte *pbVar4;
|
||||
byte bVar5;
|
||||
short sVar6;
|
||||
uint uVar7;
|
||||
size_t _MaxCount;
|
||||
uint uVar8;
|
||||
size_t sVar9;
|
||||
byte *pbVar10;
|
||||
int iVar11;
|
||||
size_t sVar12;
|
||||
byte *local_res8;
|
||||
byte *local_res10;
|
||||
int *local_res18;
|
||||
uint local_58;
|
||||
uint local_54;
|
||||
byte *local_50;
|
||||
byte *local_48;
|
||||
|
||||
local_res10 = param_2;
|
||||
local_res18 = param_3;
|
||||
if (param_1 == (byte *)0x0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_1400050d0(0x80004005);
|
||||
}
|
||||
if (param_2 == (byte *)0x0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_1400050d0(0x80004005);
|
||||
}
|
||||
if (param_1 == param_2) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_1400050d0(0x80004005);
|
||||
}
|
||||
_MaxCount = 0;
|
||||
bVar5 = *param_1;
|
||||
local_50 = param_2 + param_4;
|
||||
uVar7 = 0;
|
||||
local_58 = 0;
|
||||
iVar2 = 1;
|
||||
iVar11 = 1;
|
||||
local_54 = 0;
|
||||
sVar9 = _MaxCount;
|
||||
sVar12 = _MaxCount;
|
||||
local_48 = param_2;
|
||||
if (bVar5 != 0) {
|
||||
do {
|
||||
uVar8 = (uint)sVar9;
|
||||
pbVar10 = param_1 + 1;
|
||||
uVar7 = (uint)_MaxCount;
|
||||
iVar2 = 0;
|
||||
if (uVar7 == param_4) {
|
||||
iVar11 = iVar2;
|
||||
}
|
||||
local_res8 = pbVar10;
|
||||
if (bVar5 == 0x3a) {
|
||||
if ((char)param_5 < '\0') {
|
||||
if ((int)sVar12 == 0) {
|
||||
if (iVar11 != 0) {
|
||||
*param_2 = (byte)sVar12;
|
||||
pbVar4 = param_2 + -_MaxCount;
|
||||
if ((pbVar4 < local_48) || (local_50 < pbVar4)) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_1400050d0(0x80004005);
|
||||
}
|
||||
FUN_14003f2d0((char *)pbVar4,(size_t)(local_50 + (1 - (longlong)pbVar4)));
|
||||
uVar8 = local_54;
|
||||
if (uVar7 == 4) {
|
||||
iVar2 = strncmp("file",(char *)(param_2 + -4),_MaxCount);
|
||||
sVar12 = 5;
|
||||
uVar8 = local_54;
|
||||
if (iVar2 == 0) {
|
||||
uVar8 = 1;
|
||||
local_54 = 1;
|
||||
}
|
||||
goto LAB_14003f7c9;
|
||||
}
|
||||
}
|
||||
sVar12 = (size_t)(uVar7 + 1);
|
||||
}
|
||||
goto LAB_14003f7c9;
|
||||
}
|
||||
LAB_14003f855:
|
||||
uVar3 = FUN_14003f3d0(bVar5);
|
||||
if (((((int)uVar3 == 0) || ((param_5 & 2) != 0)) ||
|
||||
((((param_5 & 0x10) != 0 && (bVar5 != 0x20)) ||
|
||||
(((param_5 & 8) != 0 && (bVar5 == 0x2e)))))) ||
|
||||
(((param_5 & 0x40) == 0 && (bVar5 == 0x25)))) {
|
||||
if (iVar11 != 0) {
|
||||
*param_2 = bVar5;
|
||||
param_2 = param_2 + 1;
|
||||
local_res10 = param_2;
|
||||
}
|
||||
}
|
||||
else if (uVar7 < param_4 - 3) {
|
||||
if (iVar11 != 0) {
|
||||
*param_2 = 0x25;
|
||||
pbVar4 = param_2 + 1;
|
||||
if (bVar5 < 0x10) {
|
||||
*pbVar4 = 0x30;
|
||||
pbVar4 = param_2 + 2;
|
||||
}
|
||||
FUN_14003f320((uint)bVar5,(char *)pbVar4,(longlong)local_50 - (longlong)pbVar4,0x10);
|
||||
param_2 = param_2 + 3;
|
||||
local_res10 = param_2;
|
||||
}
|
||||
uVar7 = uVar7 + 2;
|
||||
}
|
||||
else {
|
||||
iVar11 = 0;
|
||||
uVar7 = uVar7 + 2;
|
||||
}
|
||||
local_58 = uVar7 + 1;
|
||||
local_res8 = pbVar10;
|
||||
}
|
||||
else {
|
||||
if (bVar5 == 0x25) {
|
||||
if ((param_5 & 4) != 0) {
|
||||
bVar5 = *pbVar10;
|
||||
if (bVar5 == 0) goto LAB_14003f965;
|
||||
param_3 = local_res18;
|
||||
if ((byte)(bVar5 - 0x30) < 10) {
|
||||
sVar6 = bVar5 - 0x30;
|
||||
}
|
||||
else if ((byte)(bVar5 + 0xbf) < 6) {
|
||||
sVar6 = bVar5 - 0x37;
|
||||
}
|
||||
else {
|
||||
if (5 < (byte)(bVar5 + 0x9f)) goto LAB_14003f924;
|
||||
sVar6 = bVar5 - 0x57;
|
||||
}
|
||||
if (sVar6 < 0) goto LAB_14003f924;
|
||||
bVar5 = param_1[2];
|
||||
if (bVar5 == 0) goto LAB_14003f965;
|
||||
pbVar10 = param_1 + 3;
|
||||
if ((byte)(bVar5 - 0x30) < 10) {
|
||||
sVar1 = bVar5 - 0x30;
|
||||
}
|
||||
else if ((byte)(bVar5 + 0xbf) < 6) {
|
||||
sVar1 = bVar5 - 0x37;
|
||||
}
|
||||
else {
|
||||
if (5 < (byte)(bVar5 + 0x9f)) goto LAB_14003f924;
|
||||
sVar1 = bVar5 - 0x57;
|
||||
}
|
||||
if (sVar1 < 0) goto LAB_14003f924;
|
||||
bVar5 = (char)sVar6 * '\x10' + (char)sVar1;
|
||||
local_res8 = pbVar10;
|
||||
}
|
||||
}
|
||||
else if (((bVar5 == 0x3f) || (bVar5 == 0x23)) && ((param_5 & 0x20) != 0)) {
|
||||
param_5 = param_5 | 2;
|
||||
}
|
||||
LAB_14003f7c9:
|
||||
if ((-1 < (char)param_5) || ((param_5 & 2) != 0)) goto LAB_14003f855;
|
||||
if (bVar5 == 0x5c) {
|
||||
if ((((int)sVar12 != 0) || ((param_5 >> 8 & 1) != 0)) &&
|
||||
((iVar11 != 0 && ((uVar8 == 0 || (uVar7 < 7)))))) {
|
||||
bVar5 = 0x2f;
|
||||
}
|
||||
goto LAB_14003f855;
|
||||
}
|
||||
if ((((bVar5 != 0x2e) || (uVar7 == 0)) || ((param_5 & 8) != 0)) ||
|
||||
(uVar3 = FUN_14003f480((longlong *)&local_res10,(char *)(param_2 + -1),uVar7,&local_res8,
|
||||
&local_58,param_5,(int)sVar12), param_2 = local_res10,
|
||||
pbVar10 = local_res8, uVar7 = local_58, (int)uVar3 == 0)) goto LAB_14003f855;
|
||||
}
|
||||
_MaxCount = (size_t)local_58;
|
||||
bVar5 = *local_res8;
|
||||
uVar7 = local_58;
|
||||
if (bVar5 == 0) goto LAB_14003f965;
|
||||
sVar9 = (size_t)local_54;
|
||||
param_1 = local_res8;
|
||||
} while( true );
|
||||
}
|
||||
LAB_14003f972:
|
||||
if (uVar7 < param_4) {
|
||||
*param_2 = 0;
|
||||
}
|
||||
LAB_14003f924:
|
||||
if (param_3 != (int *)0x0) {
|
||||
*param_3 = uVar7 + 1;
|
||||
}
|
||||
if (param_4 < uVar7 + 1) {
|
||||
iVar2 = 0;
|
||||
}
|
||||
return iVar2;
|
||||
LAB_14003f965:
|
||||
iVar2 = iVar11;
|
||||
param_3 = local_res18;
|
||||
if (iVar2 == 0) goto LAB_14003f924;
|
||||
goto LAB_14003f972;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue