/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 * Ghidra 12.1.2 decompiler output for 0x14004e340 FUN_14004e340 * Pseudocode, not original source. */ undefined1 FUN_14004e340(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_1400806d0(&local_58); FUN_1400801a0((longlong)&local_58,uVar5,param_3,uVar10); FUN_1400221b0((longlong)&local_58,0xfbf5,param_3,uVar10); FUN_140021e80((longlong)&local_58,(ulonglong)*param_5,param_3,uVar10); FUN_140021e80((longlong)&local_58,(ulonglong)*param_6,param_3,uVar10); uVar1 = *(uint *)(param_7 + 0x18); FUN_140081aa0((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_140095370(0,puVar6,param_3,uVar10); } LAB_14004e3fb: param_3 = (SIZE_T)uVar1; FUN_14001bb60(&local_48,puVar6,param_3,uVar10); } else { if (local_48 != 0) goto LAB_14004e3fb; if (local_50 == 0) { /* WARNING: Subroutine does not return */ FUN_140095370(0,puVar6,param_3,uVar10); } param_3 = (SIZE_T)uVar1; FUN_14001bd90(local_50,puVar6,param_3); } FUN_14001be00((longlong)&local_58,puVar6,param_3,uVar10); } FUN_140044630((longlong)&local_58,(ulonglong)*param_8,param_3,uVar10); uVar1 = *(uint *)(param_9 + 0x18); FUN_140081aa0((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_140095370(0,puVar6,param_3,uVar10); } LAB_14004e478: param_3 = (SIZE_T)uVar1; FUN_14001bb60(&local_48,puVar6,param_3,uVar10); } else { if (local_48 != 0) goto LAB_14004e478; if (local_50 == 0) { /* WARNING: Subroutine does not return */ FUN_140095370(0,puVar6,param_3,uVar10); } param_3 = (SIZE_T)uVar1; FUN_14001bd90(local_50,puVar6,param_3); } FUN_14001be00((longlong)&local_58,puVar6,param_3,uVar10); } uVar1 = *(uint *)(param_10 + 0x18); FUN_140081aa0((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_140095370(0,puVar6,param_3,uVar10); } LAB_14004e4e6: param_3 = (SIZE_T)uVar1; FUN_14001bb60(&local_48,puVar6,param_3,uVar10); } else { if (local_48 != 0) goto LAB_14004e4e6; if (local_50 == 0) { /* WARNING: Subroutine does not return */ FUN_140095370(0,puVar6,param_3,uVar10); } param_3 = (SIZE_T)uVar1; FUN_14001bd90(local_50,puVar6,param_3); } FUN_14001be00((longlong)&local_58,puVar6,param_3,uVar10); } uVar7 = (ulonglong)*param_11; puVar4 = &local_58; FUN_140021e80((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_140095370(puVar4,uVar7,param_3,uVar10); } } else if (local_48 == 0) { if (local_50 == 0) { /* WARNING: Subroutine does not return */ FUN_140095370(puVar4,uVar7,param_3,uVar10); } iVar2 = *(int *)(local_50 + 0x18); FUN_14001bc70(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_14004e5b8; } lVar8 = (longlong)local_40; local_40 = local_40 + 0x10; if ((local_40 < 0) || (local_3c < local_40)) { /* WARNING: Subroutine does not return */ FUN_14002f590(); } *(undefined8 *)(local_48 + lVar8) = local_68; ((undefined8 *)(local_48 + lVar8))[1] = uStack_60; LAB_14004e5b8: FUN_14001be00((longlong)&local_58,&local_68,param_3,uVar10); FUN_14001ba80((longlong)&local_58,(ulonglong)*param_13,param_3,uVar10); FUN_1400221b0((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_140155960,0xfbf5); FUN_140095270(&local_50); if ((local_48 != 0) && (local_3c < 0)) { /* WARNING: Subroutine does not return */ FUN_14002f590(); } return uVar3; }