/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186 * Ghidra 12.1.2 decompiler output for 0x14006dec0 FUN_14006dec0 * Pseudocode, not original source. */ void FUN_14006dec0(longlong param_1,longlong param_2,SIZE_T param_3,undefined8 param_4) { int iVar1; undefined8 *puVar2; undefined8 *puVar3; undefined4 *puVar4; size_t sVar5; undefined4 local_118 [2]; longlong local_110 [2]; longlong local_100 [2]; undefined **local_f0; undefined8 local_e8; undefined8 local_e0; undefined8 local_d8; undefined8 local_d0; longlong local_c8; longlong local_c0; ulonglong local_b8; undefined **local_a0; undefined8 local_98; undefined8 local_90; undefined8 local_88; undefined8 local_80; undefined **local_70; undefined4 local_68; undefined2 local_64; undefined **local_58; undefined8 local_50; undefined8 *local_48; undefined8 local_40; undefined8 local_38; undefined8 local_28; local_28 = 0xfffffffffffffffe; if (*(longlong *)(param_1 + 0x758) != 0) { local_110[0] = 0; local_100[0] = 0; local_100[1] = 0; local_e8 = 0; local_e0 = 0; local_d8 = 0; local_d0 = 0; local_f0 = Proud::ByteArray::vftable; local_b8 = 0; local_c0 = 0; local_c8 = 0; local_98 = 0; local_90 = 0; local_88 = 0; local_80 = 0; local_a0 = Proud::ByteArray::vftable; local_70 = Proud::AddrPort::vftable; local_50 = 0; local_48 = (undefined8 *)0x0; local_40 = 0; local_38 = 0; local_58 = Proud::ByteArray::vftable; local_118[0] = 4; local_68 = *(undefined4 *)(param_2 + 8); local_64 = *(undefined2 *)(param_2 + 0xc); iVar1 = *(int *)(param_3 + 0x18); sVar5 = (size_t)iVar1; if (iVar1 < 0) { /* WARNING: Subroutine does not return */ FUN_14003dec0(); } FUN_14002a050((longlong)&local_58,iVar1,param_3); puVar3 = (undefined8 *)0x0; if (*(int *)(param_3 + 0x18) != 0) { puVar3 = *(undefined8 **)(param_3 + 0x10); } puVar2 = local_48; if ((int)local_40 == 0) { puVar2 = (undefined8 *)0x0; } FUN_140006fb0(puVar2,puVar3,sVar5); puVar4 = local_118; FUN_1400691b0(param_1,puVar4,sVar5,param_4); FUN_140049e40(&local_58); FUN_140049e40(&local_a0); FUN_14008a320(&local_c8); if (local_c0 != 0) { if ((longlong)local_b8 < 0) { /* WARNING: Subroutine does not return */ FUN_14003dec0(); } local_b8 = local_b8 & 0xffffffff00000000; } FUN_140049e40(&local_f0); FUN_1400641e0(local_100 + 1,puVar4,sVar5,param_4); FUN_140064160(local_100,puVar4,sVar5,param_4); FUN_140038280(local_110,puVar4,sVar5,param_4); } return; }