add agent manager release decomp
This commit is contained in:
parent
31ff800b2a
commit
fac6117145
7019 changed files with 254032 additions and 5 deletions
247
decomp/AgentManager_Release_x64/full/functions/0x14006cb20.c
Normal file
247
decomp/AgentManager_Release_x64/full/functions/0x14006cb20.c
Normal file
|
|
@ -0,0 +1,247 @@
|
|||
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
||||
* Ghidra 12.1.2 decompiler output for 0x14006cb20 FUN_14006cb20
|
||||
* Pseudocode, not original source. */
|
||||
|
||||
/* WARNING: Removing unreachable block (ram,0x00014006cc97) */
|
||||
/* WARNING: Removing unreachable block (ram,0x00014006cca3) */
|
||||
/* WARNING: Removing unreachable block (ram,0x00014006ccb0) */
|
||||
/* WARNING: Removing unreachable block (ram,0x00014006cca8) */
|
||||
/* WARNING: Removing unreachable block (ram,0x00014006ccb6) */
|
||||
/* WARNING: Removing unreachable block (ram,0x00014006ccc7) */
|
||||
/* WARNING: Removing unreachable block (ram,0x00014006cc26) */
|
||||
/* WARNING: Removing unreachable block (ram,0x00014006cc32) */
|
||||
/* WARNING: Removing unreachable block (ram,0x00014006cc3e) */
|
||||
/* WARNING: Removing unreachable block (ram,0x00014006cc36) */
|
||||
/* WARNING: Removing unreachable block (ram,0x00014006cc44) */
|
||||
/* WARNING: Removing unreachable block (ram,0x00014006cc55) */
|
||||
/* WARNING: Removing unreachable block (ram,0x00014006cbbb) */
|
||||
/* WARNING: Removing unreachable block (ram,0x00014006cbc7) */
|
||||
/* WARNING: Removing unreachable block (ram,0x00014006cbd3) */
|
||||
/* WARNING: Removing unreachable block (ram,0x00014006cbcb) */
|
||||
/* WARNING: Removing unreachable block (ram,0x00014006cbd9) */
|
||||
/* WARNING: Removing unreachable block (ram,0x00014006cbea) */
|
||||
/* WARNING: Removing unreachable block (ram,0x00014006cbb4) */
|
||||
/* WARNING: Removing unreachable block (ram,0x00014006cc1f) */
|
||||
/* WARNING: Removing unreachable block (ram,0x00014006cc90) */
|
||||
/* WARNING: Removing unreachable block (ram,0x00014006cd49) */
|
||||
/* WARNING: Removing unreachable block (ram,0x00014006cd50) */
|
||||
/* WARNING: Removing unreachable block (ram,0x00014006cd60) */
|
||||
/* WARNING: Removing unreachable block (ram,0x00014006cd6c) */
|
||||
/* WARNING: Removing unreachable block (ram,0x00014006cd64) */
|
||||
/* WARNING: Removing unreachable block (ram,0x00014006cd72) */
|
||||
/* WARNING: Removing unreachable block (ram,0x00014006cd83) */
|
||||
|
||||
void FUN_14006cb20(SIZE_T *param_1,undefined8 param_2,undefined ***param_3,longlong param_4)
|
||||
|
||||
{
|
||||
undefined *puVar1;
|
||||
undefined ***pppuVar2;
|
||||
int iVar3;
|
||||
int iVar4;
|
||||
undefined ***pppuVar5;
|
||||
LPVOID pvVar6;
|
||||
undefined ***pppuVar7;
|
||||
short *psVar8;
|
||||
uint uVar9;
|
||||
int iVar10;
|
||||
ulonglong uVar11;
|
||||
longlong lVar12;
|
||||
longlong lVar13;
|
||||
undefined ***pppuVar14;
|
||||
LPVOID pvVar15;
|
||||
undefined ***pppuVar16;
|
||||
int iVar17;
|
||||
short *local_res10;
|
||||
undefined **local_90;
|
||||
longlong *local_88;
|
||||
undefined ***local_80;
|
||||
undefined8 local_78;
|
||||
undefined8 local_70;
|
||||
undefined **local_68;
|
||||
longlong *local_60;
|
||||
LPVOID local_58;
|
||||
uint local_50;
|
||||
undefined8 local_4c;
|
||||
undefined4 local_44;
|
||||
|
||||
local_90 = Proud::CFastArray<int,0>::vftable;
|
||||
pppuVar14 = (undefined ***)0x0;
|
||||
local_88 = (longlong *)0x0;
|
||||
local_80 = (undefined ***)0x0;
|
||||
local_78 = 0;
|
||||
local_70 = 0;
|
||||
FUN_140038010((longlong)&local_90,1,param_3,param_4);
|
||||
lVar12 = (longlong)(int)local_78;
|
||||
pppuVar16 = local_80;
|
||||
if ((int)local_78 == 0) {
|
||||
pppuVar16 = pppuVar14;
|
||||
}
|
||||
*(int *)pppuVar16 = 5;
|
||||
if ((int)local_78 < 0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14003dec0();
|
||||
}
|
||||
FUN_140038010((longlong)&local_90,(int)local_78 + 1,param_3,param_4);
|
||||
lVar13 = (longlong)(int)local_78;
|
||||
pppuVar16 = local_80;
|
||||
if ((int)local_78 == 0) {
|
||||
pppuVar16 = pppuVar14;
|
||||
}
|
||||
*(int *)((longlong)pppuVar16 + lVar12 * 4) = 1;
|
||||
if ((int)local_78 < 0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14003dec0();
|
||||
}
|
||||
FUN_140038010((longlong)&local_90,(int)local_78 + 1,param_3,(longlong)pppuVar16);
|
||||
lVar12 = (longlong)(int)local_78;
|
||||
pppuVar16 = local_80;
|
||||
if ((int)local_78 == 0) {
|
||||
pppuVar16 = pppuVar14;
|
||||
}
|
||||
*(int *)((longlong)pppuVar16 + lVar13 * 4) = 2;
|
||||
if ((int)local_78 < 0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14003dec0();
|
||||
}
|
||||
uVar11 = (ulonglong)((int)local_78 + 1U);
|
||||
pppuVar7 = &local_90;
|
||||
FUN_140038010((longlong)pppuVar7,(int)local_78 + 1U,param_3,(longlong)pppuVar16);
|
||||
pppuVar2 = local_80;
|
||||
iVar10 = (int)local_78;
|
||||
pppuVar5 = local_80;
|
||||
if ((int)local_78 == 0) {
|
||||
pppuVar5 = pppuVar14;
|
||||
}
|
||||
*(int *)((longlong)pppuVar5 + lVar12 * 4) = 4;
|
||||
local_68 = Proud::CFastArray<int,0>::vftable;
|
||||
local_60 = (longlong *)0x0;
|
||||
local_44 = 0;
|
||||
local_58 = (LPVOID)0x0;
|
||||
local_50 = 0;
|
||||
local_4c = 0;
|
||||
pppuVar5 = pppuVar14;
|
||||
while( true ) {
|
||||
pvVar6 = local_58;
|
||||
iVar3 = (int)pppuVar5;
|
||||
iVar17 = (int)pppuVar14;
|
||||
if (iVar3 == iVar10) break;
|
||||
if ((iVar3 < 0) || (iVar10 <= iVar3)) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14003def0(pppuVar7,uVar11,param_3,pppuVar16);
|
||||
}
|
||||
iVar4 = *(int *)((longlong)pppuVar2 + (longlong)iVar3 * 4);
|
||||
if (iVar17 < 0) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
FUN_14003dec0();
|
||||
}
|
||||
uVar11 = (ulonglong)(iVar17 + 1U);
|
||||
FUN_140038010((longlong)&local_68,iVar17 + 1U,param_3,(longlong)pppuVar16);
|
||||
pppuVar16 = (undefined ***)(longlong)iVar17;
|
||||
pppuVar14 = (undefined ***)(ulonglong)local_50;
|
||||
pppuVar7 = (undefined ***)0x0;
|
||||
pvVar6 = local_58;
|
||||
if (local_50 == 0) {
|
||||
pvVar6 = (LPVOID)0x0;
|
||||
}
|
||||
*(int *)((longlong)pvVar6 + (longlong)pppuVar16 * 4) = iVar4;
|
||||
pppuVar5 = (undefined ***)(ulonglong)(iVar3 + 1);
|
||||
}
|
||||
if (iVar10 == iVar17) {
|
||||
pppuVar7 = pppuVar2;
|
||||
if (iVar10 == 0) {
|
||||
pppuVar7 = (undefined ***)0x0;
|
||||
}
|
||||
pvVar15 = local_58;
|
||||
if (iVar17 == 0) {
|
||||
pvVar15 = (LPVOID)0x0;
|
||||
}
|
||||
uVar11 = 0;
|
||||
if (0 < iVar17) {
|
||||
param_3 = (undefined ***)((longlong)pvVar15 - (longlong)pppuVar7);
|
||||
do {
|
||||
if (*(int *)pppuVar7 != *(int *)((longlong)param_3 + (longlong)pppuVar7))
|
||||
goto LAB_14006cdfa;
|
||||
uVar9 = (int)uVar11 + 1;
|
||||
uVar11 = (ulonglong)uVar9;
|
||||
pppuVar7 = (undefined ***)((longlong)pppuVar7 + 4);
|
||||
} while ((int)uVar9 < iVar17);
|
||||
}
|
||||
goto LAB_14006cf0d;
|
||||
}
|
||||
LAB_14006cdfa:
|
||||
FUN_14003e7c0(pppuVar7,uVar11,param_3,pppuVar16);
|
||||
local_res10 = (short *)PTR_DAT_14016f010;
|
||||
iVar3 = FUN_14003e620(L"CFastArray iterator failed!");
|
||||
iVar17 = 0;
|
||||
iVar10 = iVar17;
|
||||
if ((local_res10 != (short *)0x0) && (local_res10 != (short *)PTR_DAT_14016f010)) {
|
||||
iVar10 = *(int *)(local_res10 + -4);
|
||||
}
|
||||
iVar4 = iVar3;
|
||||
if (((iVar3 <= iVar10) && (iVar4 = iVar17, local_res10 != (short *)0x0)) &&
|
||||
(local_res10 != (short *)PTR_DAT_14016f010)) {
|
||||
iVar4 = *(int *)(local_res10 + -4);
|
||||
}
|
||||
iVar10 = 1;
|
||||
if (1 < iVar4) {
|
||||
iVar10 = iVar4;
|
||||
}
|
||||
iVar4 = iVar17;
|
||||
if ((local_res10 != (short *)0x0) && (local_res10 != (short *)PTR_DAT_14016f010)) {
|
||||
iVar4 = *(int *)(local_res10 + -4);
|
||||
}
|
||||
if (iVar4 < iVar10) {
|
||||
FUN_140001d10((longlong *)&local_res10,iVar10);
|
||||
}
|
||||
FUN_140001df0((longlong *)&local_res10);
|
||||
psVar8 = local_res10;
|
||||
if (local_res10 == (short *)0x0) {
|
||||
psVar8 = (short *)PTR_DAT_14016f010;
|
||||
}
|
||||
FUN_14003e650(psVar8,L"CFastArray iterator failed!",iVar3);
|
||||
psVar8 = local_res10;
|
||||
if (local_res10 == (short *)0x0) {
|
||||
psVar8 = (short *)PTR_DAT_14016f010;
|
||||
}
|
||||
iVar3 = FUN_14003e620(psVar8);
|
||||
puVar1 = PTR_DAT_14016f010;
|
||||
iVar10 = 0;
|
||||
if (0 < iVar3) {
|
||||
iVar10 = iVar3;
|
||||
}
|
||||
if ((local_res10 != (short *)0x0) && (local_res10 != (short *)PTR_DAT_14016f010)) {
|
||||
iVar17 = *(int *)(local_res10 + -4);
|
||||
}
|
||||
if ((iVar10 < iVar17) || (iVar10 = 0, local_res10 == (short *)0x0)) {
|
||||
LAB_14006cee1:
|
||||
if (((local_res10 != (short *)PTR_DAT_14016f010) && (local_res10 != (short *)0x0)) &&
|
||||
((int *)(local_res10 + -4) != (int *)0x0)) {
|
||||
*(int *)(local_res10 + -4) = iVar10;
|
||||
local_res10[iVar10] = 0;
|
||||
}
|
||||
}
|
||||
else if (local_res10 != (short *)PTR_DAT_14016f010) {
|
||||
iVar10 = *(int *)(local_res10 + -4);
|
||||
goto LAB_14006cee1;
|
||||
}
|
||||
FUN_14006c890(param_1,(wchar_t *)&local_res10,(SIZE_T)puVar1,pppuVar16);
|
||||
LAB_14006cf0d:
|
||||
if (pvVar6 != (LPVOID)0x0) {
|
||||
if (local_60 == (longlong *)0x0) {
|
||||
FUN_14003e8b0(pvVar6);
|
||||
}
|
||||
else {
|
||||
(**(code **)(*local_60 + 0x18))(local_60,pvVar6);
|
||||
}
|
||||
}
|
||||
if (pppuVar2 != (undefined ***)0x0) {
|
||||
if (local_88 == (longlong *)0x0) {
|
||||
FUN_14003e8b0(pppuVar2);
|
||||
}
|
||||
else {
|
||||
(**(code **)(*local_88 + 0x18))(local_88,pppuVar2);
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue