172 lines
5.6 KiB
C
172 lines
5.6 KiB
C
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
|
* Ghidra 12.1.2 decompiler output for 0x14005b850 FUN_14005b850
|
|
* Pseudocode, not original source. */
|
|
|
|
undefined1
|
|
FUN_14005b850(longlong *param_1,undefined8 param_2,SIZE_T param_3,undefined8 param_4,uint *param_5,
|
|
uint *param_6,longlong param_7,uint *param_8,longlong param_9,longlong param_10,
|
|
uint *param_11,undefined8 *param_12,byte *param_13,ushort *param_14)
|
|
|
|
{
|
|
uint uVar1;
|
|
int iVar2;
|
|
undefined1 uVar3;
|
|
undefined4 *puVar4;
|
|
undefined8 uVar5;
|
|
undefined8 *puVar6;
|
|
ulonglong uVar7;
|
|
longlong lVar8;
|
|
undefined8 *puVar9;
|
|
undefined8 uVar10;
|
|
ulonglong uVar11;
|
|
undefined8 local_68;
|
|
undefined8 uStack_60;
|
|
undefined4 local_58;
|
|
undefined4 local_54;
|
|
longlong local_50;
|
|
longlong local_48;
|
|
int local_40;
|
|
int local_3c;
|
|
|
|
uVar11 = param_3 & 0xffffffff;
|
|
uVar5 = param_2;
|
|
uVar10 = param_4;
|
|
FUN_140074fb0(&local_58);
|
|
FUN_140074a40((longlong)&local_58,uVar5,param_3,uVar10);
|
|
FUN_14002a2d0((longlong)&local_58,0xfbf5,param_3,uVar10);
|
|
FUN_140029e60((longlong)&local_58,(ulonglong)*param_5,param_3,uVar10);
|
|
FUN_140029e60((longlong)&local_58,(ulonglong)*param_6,param_3,uVar10);
|
|
uVar1 = *(uint *)(param_7 + 0x18);
|
|
FUN_140076380((longlong)&local_58,(longlong)(int)uVar1,param_3,uVar10);
|
|
puVar9 = (undefined8 *)0x0;
|
|
puVar6 = puVar9;
|
|
if (*(int *)(param_7 + 0x18) != 0) {
|
|
puVar6 = *(undefined8 **)(param_7 + 0x10);
|
|
}
|
|
if (uVar1 != 0) {
|
|
local_54 = 0;
|
|
if (local_50 == 0) {
|
|
if (local_48 == 0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_14008a420(0,puVar6,param_3,uVar10);
|
|
}
|
|
LAB_14005b90b:
|
|
param_3 = (SIZE_T)uVar1;
|
|
FUN_140029f40(&local_48,puVar6,param_3,uVar10);
|
|
}
|
|
else {
|
|
if (local_48 != 0) goto LAB_14005b90b;
|
|
if (local_50 == 0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_14008a420(0,puVar6,param_3,uVar10);
|
|
}
|
|
param_3 = (SIZE_T)uVar1;
|
|
FUN_14002a110(local_50,puVar6,param_3);
|
|
}
|
|
FUN_14002a180((longlong)&local_58,puVar6,param_3,uVar10);
|
|
}
|
|
FUN_140051c10((longlong)&local_58,(ulonglong)*param_8,param_3,uVar10);
|
|
uVar1 = *(uint *)(param_9 + 0x18);
|
|
FUN_140076380((longlong)&local_58,(longlong)(int)uVar1,param_3,uVar10);
|
|
puVar6 = puVar9;
|
|
if (*(int *)(param_9 + 0x18) != 0) {
|
|
puVar6 = *(undefined8 **)(param_9 + 0x10);
|
|
}
|
|
if (uVar1 != 0) {
|
|
local_54 = 0;
|
|
if (local_50 == 0) {
|
|
if (local_48 == 0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_14008a420(0,puVar6,param_3,uVar10);
|
|
}
|
|
LAB_14005b988:
|
|
param_3 = (SIZE_T)uVar1;
|
|
FUN_140029f40(&local_48,puVar6,param_3,uVar10);
|
|
}
|
|
else {
|
|
if (local_48 != 0) goto LAB_14005b988;
|
|
if (local_50 == 0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_14008a420(0,puVar6,param_3,uVar10);
|
|
}
|
|
param_3 = (SIZE_T)uVar1;
|
|
FUN_14002a110(local_50,puVar6,param_3);
|
|
}
|
|
FUN_14002a180((longlong)&local_58,puVar6,param_3,uVar10);
|
|
}
|
|
uVar1 = *(uint *)(param_10 + 0x18);
|
|
FUN_140076380((longlong)&local_58,(longlong)(int)uVar1,param_3,uVar10);
|
|
puVar6 = puVar9;
|
|
if (*(int *)(param_10 + 0x18) != 0) {
|
|
puVar6 = *(undefined8 **)(param_10 + 0x10);
|
|
}
|
|
if (uVar1 != 0) {
|
|
local_54 = 0;
|
|
if (local_50 == 0) {
|
|
if (local_48 == 0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_14008a420(0,puVar6,param_3,uVar10);
|
|
}
|
|
LAB_14005b9f6:
|
|
param_3 = (SIZE_T)uVar1;
|
|
FUN_140029f40(&local_48,puVar6,param_3,uVar10);
|
|
}
|
|
else {
|
|
if (local_48 != 0) goto LAB_14005b9f6;
|
|
if (local_50 == 0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_14008a420(0,puVar6,param_3,uVar10);
|
|
}
|
|
param_3 = (SIZE_T)uVar1;
|
|
FUN_14002a110(local_50,puVar6,param_3);
|
|
}
|
|
FUN_14002a180((longlong)&local_58,puVar6,param_3,uVar10);
|
|
}
|
|
uVar7 = (ulonglong)*param_11;
|
|
puVar4 = &local_58;
|
|
FUN_140029e60((longlong)puVar4,uVar7,param_3,uVar10);
|
|
local_68 = *param_12;
|
|
uStack_60 = param_12[1];
|
|
local_54 = 0;
|
|
if (local_50 == 0) {
|
|
if (local_48 == 0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_14008a420(puVar4,uVar7,param_3,uVar10);
|
|
}
|
|
}
|
|
else if (local_48 == 0) {
|
|
if (local_50 == 0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_14008a420(puVar4,uVar7,param_3,uVar10);
|
|
}
|
|
iVar2 = *(int *)(local_50 + 0x18);
|
|
FUN_14002a050(local_50,iVar2 + 0x10,param_3);
|
|
if (*(int *)(local_50 + 0x18) != 0) {
|
|
puVar9 = *(undefined8 **)(local_50 + 0x10);
|
|
}
|
|
*(undefined8 *)((longlong)iVar2 + (longlong)puVar9) = local_68;
|
|
*(undefined8 *)((longlong)iVar2 + 8 + (longlong)puVar9) = uStack_60;
|
|
goto LAB_14005bac8;
|
|
}
|
|
lVar8 = (longlong)local_40;
|
|
local_40 = local_40 + 0x10;
|
|
if ((local_40 < 0) || (local_3c < local_40)) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_14003dec0();
|
|
}
|
|
*(undefined8 *)(local_48 + lVar8) = local_68;
|
|
((undefined8 *)(local_48 + lVar8))[1] = uStack_60;
|
|
LAB_14005bac8:
|
|
FUN_14002a180((longlong)&local_58,&local_68,param_3,uVar10);
|
|
FUN_140029d80((longlong)&local_58,(ulonglong)*param_13,param_3,uVar10);
|
|
FUN_14002a2d0((longlong)&local_58,(ulonglong)*param_14,param_3,uVar10);
|
|
uVar3 = (**(code **)(*param_1 + 0x18))
|
|
(param_1,param_2,uVar11,param_4,&local_58,PTR_DAT_14016f960,0xfbf5);
|
|
FUN_14008a320(&local_50);
|
|
if ((local_48 != 0) && (local_3c < 0)) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_14003dec0();
|
|
}
|
|
return uVar3;
|
|
}
|
|
|