/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 * Ghidra 12.1.2 decompiler output for 0x14007d0d0 FUN_14007d0d0 * Pseudocode, not original source. */ undefined8 FUN_14007d0d0(longlong param_1,undefined8 param_2,undefined8 param_3,uint *param_4,char *param_5, longlong param_6,longlong param_7,longlong param_8,longlong param_9) { undefined8 *puVar1; int *piVar2; longlong lVar3; longlong lVar4; undefined8 uVar5; longlong *plVar6; undefined4 *puVar7; undefined **ppuVar8; uint *puVar9; longlong *local_res8; longlong local_148 [3]; int *local_130; undefined1 local_128; undefined4 local_118 [2]; undefined8 local_110; undefined8 local_100; undefined8 local_f8; undefined **local_f0; undefined8 local_e8; undefined8 local_e0; undefined8 local_d8; undefined8 local_d0; undefined8 local_c8; undefined8 local_c0; undefined8 local_b8; uint local_a8; 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; puVar9 = param_4; piVar2 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))(); local_130 = piVar2; FUN_14002e6e0(piVar2); local_128 = 1; ppuVar8 = (undefined **)(ulonglong)*param_4; FUN_140070860(*(longlong **)(param_1 + 0x20),(longlong *)&local_res8,*param_4); if (((local_res8 != (longlong *)0x0) && (lVar3 = *local_res8, lVar3 != 0)) && (*(char *)(lVar3 + 0x684) == '\0')) { *(undefined1 *)(lVar3 + 0x24) = 1; lVar3 = 0; if (*param_5 == '\0') { lVar4 = lVar3; if (local_res8 != (longlong *)0x0) { lVar4 = *local_res8; } FUN_1400b3460(lVar4); lVar4 = lVar3; if (local_res8 != (longlong *)0x0) { lVar4 = *local_res8; } if ((*(longlong **)(lVar4 + 0x18) != (longlong *)0x0) && (**(longlong **)(lVar4 + 0x18) != 0)) { lVar4 = lVar3; if (local_res8 != (longlong *)0x0) { lVar4 = *local_res8; } local_148[0] = 0; FUN_1400ad4b0(local_148,(longlong *)(lVar4 + 0x18)); FUN_1400756c0(*(longlong *)(param_1 + 0x20),local_148); local_148[1] = 0; lVar4 = lVar3; if (local_res8 != (longlong *)0x0) { lVar4 = *local_res8; } FUN_1400ad4b0((longlong *)(lVar4 + 0x18),local_148 + 1); } if (local_res8 != (longlong *)0x0) { lVar3 = *local_res8; } FUN_1400b3320(lVar3,'\x01'); } else { lVar4 = lVar3; if (local_res8 != (longlong *)0x0) { lVar4 = *local_res8; } *(undefined4 *)(lVar4 + 0x578) = *(undefined4 *)(param_7 + 8); *(undefined2 *)(lVar4 + 0x57c) = *(undefined2 *)(param_7 + 0xc); lVar4 = lVar3; if (local_res8 != (longlong *)0x0) { lVar4 = *local_res8; } *(undefined4 *)(lVar4 + 0x588) = *(undefined4 *)(param_6 + 8); *(undefined2 *)(lVar4 + 0x58c) = *(undefined2 *)(param_6 + 0xc); lVar4 = lVar3; if (local_res8 != (longlong *)0x0) { lVar4 = *local_res8; } *(undefined4 *)(lVar4 + 0x598) = *(undefined4 *)(param_8 + 8); *(undefined2 *)(lVar4 + 0x59c) = *(undefined2 *)(param_8 + 0xc); lVar4 = lVar3; if (local_res8 != (longlong *)0x0) { lVar4 = *local_res8; } *(undefined4 *)(lVar4 + 0x5a8) = *(undefined4 *)(param_9 + 8); *(undefined2 *)(lVar4 + 0x5ac) = *(undefined2 *)(param_9 + 0xc); lVar4 = lVar3; if (local_res8 != (longlong *)0x0) { lVar4 = *local_res8; } FUN_1400b3320(lVar4,'\0'); local_148[2] = 0; lVar4 = lVar3; if (local_res8 != (longlong *)0x0) { lVar4 = *local_res8; } plVar6 = local_148 + 2; FUN_140072070((longlong *)(lVar4 + 0x28),plVar6); if (local_res8 != (longlong *)0x0) { lVar3 = *local_res8; } lVar3 = FUN_1400b34a0(lVar3); FUN_1400b6ec0(lVar3,plVar6,ppuVar8,puVar9); local_110 = 0; local_100 = 0; local_f8 = 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_68 = 0; local_64 = 0; local_50 = 0; local_48 = 0; local_40 = 0; local_38 = 0; local_58 = Proud::ByteArray::vftable; local_118[0] = 10; local_a8 = *param_4; puVar7 = local_118; FUN_14007af60(*(longlong **)(param_1 + 0x20),puVar7,(SIZE_T)ppuVar8,puVar9); FUN_140056f10((longlong)local_118,puVar7,ppuVar8,puVar9); } } if ((local_res8 != (longlong *)0x0) && (local_res8[1] = local_res8[1] + -1, piVar2 = local_130, local_res8[1] == 0)) { puVar1 = (undefined8 *)*local_res8; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1); } FUN_1400302f0(local_res8); piVar2 = local_130; } uVar5 = FUN_14002e770((longlong)piVar2); return CONCAT71((int7)((ulonglong)uVar5 >> 8),1); }