/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186 * Ghidra 12.1.2 decompiler output for 0x140003d00 FUN_140003d00 * Pseudocode, not original source. */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ void FUN_140003d00(longlong param_1,undefined8 param_2,undefined8 param_3,longlong param_4) { ulonglong *puVar1; ulonglong *puVar2; bool bVar3; undefined1 auStack_178 [32]; ulonglong *local_158; ulonglong *local_150; undefined8 local_148; undefined8 local_138; undefined4 local_128; uint local_124; undefined2 local_100; undefined6 uStack_fe; undefined8 local_f0; ulonglong local_e8; undefined2 local_d8; undefined6 uStack_d6; undefined8 local_c8; ulonglong local_c0; undefined2 local_b0; undefined6 uStack_ae; undefined8 local_a0; ulonglong local_98; int local_64; void *local_50; undefined8 local_48; undefined8 local_40; ulonglong local_28; local_138 = 0xfffffffffffffffe; local_28 = DAT_14016f5a0 ^ (ulonglong)auStack_178; if (*(longlong *)(param_1 + 0x49450) == 0) { return; } local_158 = (ulonglong *)0x0; local_150 = (ulonglong *)0x0; local_148 = 0; switch(*(undefined4 *)(param_1 + 0x49444)) { case 1: FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\f'); FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x11'); FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x12'); FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x13'); puVar1 = local_150; for (puVar2 = local_158; puVar2 != puVar1; puVar2 = puVar2 + 0x1f) { FUN_140003c50(&local_128,(undefined4 *)puVar2); if (local_64 == 0) { FUN_14000cb70(*(longlong *)(param_1 + 0x49450),0,(ulonglong)local_124,param_4); } if (local_50 != (void *)0x0) { operator_delete(local_50); } local_40 = 0; local_48 = 0; local_50 = (void *)0x0; if (7 < local_98) { operator_delete((void *)CONCAT62(uStack_ae,local_b0)); } local_b0 = 0; local_a0 = 0; local_98 = 7; if (7 < local_c0) { operator_delete((void *)CONCAT62(uStack_d6,local_d8)); } local_d8 = 0; local_c8 = 0; local_c0 = 7; if (7 < local_e8) { operator_delete((void *)CONCAT62(uStack_fe,local_100)); } } break; case 2: FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\f'); FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x11'); FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x12'); FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x13'); puVar1 = local_150; for (puVar2 = local_158; puVar2 != puVar1; puVar2 = puVar2 + 0x1f) { FUN_140003c50(&local_128,(undefined4 *)puVar2); if (local_64 != 3) { if (local_50 != (void *)0x0) { operator_delete(local_50); } local_50 = (void *)0x0; local_48 = 0; local_40 = 0; if (7 < local_98) { operator_delete((void *)CONCAT62(uStack_ae,local_b0)); } local_98 = 7; local_a0 = 0; local_b0 = 0; if (7 < local_c0) { operator_delete((void *)CONCAT62(uStack_d6,local_d8)); } local_c0 = 7; local_c8 = 0; local_d8 = 0; if (7 < local_e8) { operator_delete((void *)CONCAT62(uStack_fe,local_100)); } local_e8 = 7; local_f0 = 0; local_100 = 0; if (local_158 == (ulonglong *)0x0) { return; } goto LAB_14000490b; } if (local_50 != (void *)0x0) { operator_delete(local_50); } local_50 = (void *)0x0; local_48 = 0; local_40 = 0; if (7 < local_98) { operator_delete((void *)CONCAT62(uStack_ae,local_b0)); } local_98 = 7; local_a0 = 0; local_b0 = 0; if (7 < local_c0) { operator_delete((void *)CONCAT62(uStack_d6,local_d8)); } local_c0 = 7; local_c8 = 0; local_d8 = 0; if (7 < local_e8) { operator_delete((void *)CONCAT62(uStack_fe,local_100)); } } break; case 3: FUN_14000bd40(*(longlong *)(param_1 + 0x49468),&IMAGE_DOS_HEADER_140000000,param_3,param_4); *(int *)(param_1 + 0x49444) = *(int *)(param_1 + 0x49444) + 1; goto switchD_140003d7b_caseD_5; case 4: FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\f'); puVar1 = local_150; for (puVar2 = local_158; puVar2 != puVar1; puVar2 = puVar2 + 0x1f) { FUN_140003c50(&local_128,(undefined4 *)puVar2); FUN_14000cb70(*(longlong *)(param_1 + 0x49450),0xd,(ulonglong)local_124,param_4); if (local_50 != (void *)0x0) { operator_delete(local_50); } local_50 = (void *)0x0; local_48 = 0; local_40 = 0; if (7 < local_98) { operator_delete((void *)CONCAT62(uStack_ae,local_b0)); } local_98 = 7; local_a0 = 0; local_b0 = 0; if (7 < local_c0) { operator_delete((void *)CONCAT62(uStack_d6,local_d8)); } local_c0 = 7; local_c8 = 0; local_d8 = 0; if (7 < local_e8) { operator_delete((void *)CONCAT62(uStack_fe,local_100)); } } break; default: goto switchD_140003d7b_caseD_5; case 6: FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\b'); FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x06'); FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\t'); FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\n'); FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\v'); puVar1 = local_150; for (puVar2 = local_158; puVar2 != puVar1; puVar2 = puVar2 + 0x1f) { FUN_140003c50(&local_128,(undefined4 *)puVar2); if (local_64 == 0) { FUN_14000cb70(*(longlong *)(param_1 + 0x49450),0,(ulonglong)local_124,param_4); if (local_50 != (void *)0x0) { std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50); goto LAB_1400041ea; } } else if (local_50 != (void *)0x0) { LAB_1400041ea: operator_delete(local_50); } local_40 = 0; local_48 = 0; local_50 = (void *)0x0; if (7 < local_98) { operator_delete((void *)CONCAT62(uStack_ae,local_b0)); } local_b0 = 0; local_a0 = 0; local_98 = 7; if (7 < local_c0) { operator_delete((void *)CONCAT62(uStack_d6,local_d8)); } local_d8 = 0; local_c8 = 0; local_c0 = 7; if (7 < local_e8) { operator_delete((void *)CONCAT62(uStack_fe,local_100)); } } break; case 7: FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\b'); FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x06'); FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\t'); FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\n'); FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\v'); puVar1 = local_150; for (puVar2 = local_158; puVar2 != puVar1; puVar2 = puVar2 + 0x1f) { FUN_140003c50(&local_128,(undefined4 *)puVar2); if (local_64 != 3) { if (local_50 != (void *)0x0) { std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50); operator_delete(local_50); } local_50 = (void *)0x0; local_48 = 0; local_40 = 0; if (7 < local_98) { operator_delete((void *)CONCAT62(uStack_ae,local_b0)); } local_98 = 7; local_a0 = 0; local_b0 = 0; if (7 < local_c0) { operator_delete((void *)CONCAT62(uStack_d6,local_d8)); } local_c0 = 7; local_c8 = 0; local_d8 = 0; if (7 < local_e8) { operator_delete((void *)CONCAT62(uStack_fe,local_100)); } local_e8 = 7; local_f0 = 0; local_100 = 0; bVar3 = local_158 == (ulonglong *)0x0; goto LAB_1400048f9; } if (local_50 != (void *)0x0) { std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50); operator_delete(local_50); } local_50 = (void *)0x0; local_48 = 0; local_40 = 0; if (7 < local_98) { operator_delete((void *)CONCAT62(uStack_ae,local_b0)); } local_98 = 7; local_a0 = 0; local_b0 = 0; if (7 < local_c0) { operator_delete((void *)CONCAT62(uStack_d6,local_d8)); } local_c0 = 7; local_c8 = 0; local_d8 = 0; if (7 < local_e8) { operator_delete((void *)CONCAT62(uStack_fe,local_100)); } } break; case 8: FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\a'); FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x05'); puVar1 = local_150; for (puVar2 = local_158; puVar2 != puVar1; puVar2 = puVar2 + 0x1f) { FUN_140003c50(&local_128,(undefined4 *)puVar2); if (local_64 == 0) { FUN_14000cb70(*(longlong *)(param_1 + 0x49450),0,(ulonglong)local_124,param_4); if (local_50 != (void *)0x0) { std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50); operator_delete(local_50); } local_50 = (void *)0x0; local_48 = 0; local_40 = 0; FUN_140004e90((longlong)&local_128); } else { if (local_50 != (void *)0x0) { std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50); operator_delete(local_50); } local_50 = (void *)0x0; local_48 = 0; local_40 = 0; if (7 < local_98) { operator_delete((void *)CONCAT62(uStack_ae,local_b0)); } local_98 = 7; local_a0 = 0; local_b0 = 0; if (7 < local_c0) { operator_delete((void *)CONCAT62(uStack_d6,local_d8)); } local_c0 = 7; local_c8 = 0; local_d8 = 0; if (7 < local_e8) { operator_delete((void *)CONCAT62(uStack_fe,local_100)); } } } break; case 9: FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\a'); FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x05'); puVar1 = local_150; for (puVar2 = local_158; puVar2 != puVar1; puVar2 = puVar2 + 0x1f) { FUN_140003c50(&local_128,(undefined4 *)puVar2); if (local_64 != 3) { if (local_50 != (void *)0x0) { std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50); operator_delete(local_50); } local_50 = (void *)0x0; local_48 = 0; local_40 = 0; FUN_140004e90((longlong)&local_128); bVar3 = local_158 == (ulonglong *)0x0; goto LAB_1400048f9; } if (local_50 != (void *)0x0) { std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50); operator_delete(local_50); } local_50 = (void *)0x0; local_48 = 0; local_40 = 0; FUN_140004e90((longlong)&local_128); } break; case 10: FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x01'); puVar1 = local_150; for (puVar2 = local_158; puVar2 != puVar1; puVar2 = puVar2 + 0x1f) { FUN_140003c50(&local_128,(undefined4 *)puVar2); if (local_64 == 0) { FUN_14000cb70(*(longlong *)(param_1 + 0x49450),0,(ulonglong)local_124,param_4); } if (local_50 != (void *)0x0) { std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50); operator_delete(local_50); } local_50 = (void *)0x0; local_48 = 0; local_40 = 0; FUN_140004e90((longlong)&local_128); } break; case 0xb: FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x01'); puVar1 = local_150; for (puVar2 = local_158; puVar2 != puVar1; puVar2 = puVar2 + 0x1f) { FUN_140003c50(&local_128,(undefined4 *)puVar2); if (local_64 != 3) { if (local_50 != (void *)0x0) { std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50); operator_delete(local_50); } local_50 = (void *)0x0; local_48 = 0; local_40 = 0; FUN_140004e90((longlong)&local_128); bVar3 = local_158 == (ulonglong *)0x0; goto LAB_1400048f9; } if (local_50 != (void *)0x0) { std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50); operator_delete(local_50); } local_50 = (void *)0x0; local_48 = 0; local_40 = 0; FUN_140004e90((longlong)&local_128); } break; case 0xc: FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x02'); FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x03'); puVar1 = local_150; for (puVar2 = local_158; puVar2 != puVar1; puVar2 = puVar2 + 0x1f) { FUN_140003c50(&local_128,(undefined4 *)puVar2); if (local_64 == 0) { FUN_14000cb70(*(longlong *)(param_1 + 0x49450),0,(ulonglong)local_124,param_4); } if (local_50 != (void *)0x0) { std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50); operator_delete(local_50); } local_50 = (void *)0x0; local_48 = 0; local_40 = 0; FUN_140004e90((longlong)&local_128); } break; case 0xd: FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x02'); FUN_140039980(DAT_14017cf20,(ulonglong *)&local_158,'\x03'); puVar1 = local_150; for (puVar2 = local_158; puVar2 != puVar1; puVar2 = puVar2 + 0x1f) { FUN_140003c50(&local_128,(undefined4 *)puVar2); if (local_64 != 3) { if (local_50 != (void *)0x0) { std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50); operator_delete(local_50); } local_50 = (void *)0x0; local_48 = 0; local_40 = 0; FUN_140004e90((longlong)&local_128); bVar3 = local_158 == (ulonglong *)0x0; goto LAB_1400048f9; } if (local_50 != (void *)0x0) { std::_Container_base0::_Orphan_all((_Container_base0 *)&local_50); operator_delete(local_50); } local_50 = (void *)0x0; local_48 = 0; local_40 = 0; FUN_140004e90((longlong)&local_128); } break; case 0xe: *(undefined4 *)(param_1 + 0x49444) = 0; goto switchD_140003d7b_caseD_5; } *(int *)(param_1 + 0x49444) = *(int *)(param_1 + 0x49444) + 1; switchD_140003d7b_caseD_5: bVar3 = local_158 == (ulonglong *)0x0; LAB_1400048f9: if (!bVar3) { std::_Container_base0::_Orphan_all((_Container_base0 *)&local_158); LAB_14000490b: FUN_140004ba0(local_158,local_150); operator_delete(local_158); } return; }