Function at 0x140005290
Capabilities:
Encode data using xor
Execute command
Get disk information
Get disk size
Set console window title

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov rax, qword [0x140012040]
xor rax, rsp
mov qword [rbp], rax
xor r12d, r12d
lea edx, [r12 + 0x20]
lea rcx, [rsp + 0x58]
call fcn.140004d40
cmp qword [rax + 0x18], 0xf
jbe 0x1400052de
mov rax, qword [rax]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
mov rdx, qword [rsp + 0x70]
cmp rdx, 0xf
jbe 0x140005327
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005322
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140005322
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140007fac
mov rbx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov dword [rsp + 0x48], 0xc4cbc3ed
mov dword [rsp + 0x4c], 0x10084c6
mov rdx, r12
nop dword [rax]
nop word [rax + rax]
lea eax, [rdx - 0x5b]
xor byte [rsp + rdx + 0x48], al
inc rdx
cmp rdx, 6
jb 0x140005350
mov byte [rsp + 0x4f], r12b
lea rdx, [rsp + 0x48]
mov rcx, rbx
call fcn.140006b00
lea rdx, [0x140006cd0]
mov rcx, rbx
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 rbx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
movdqa xmm0, xmmword [0x14000c480]
movdqu xmmword [rsp + 0x58], xmm0
movdqa xmm1, xmmword [0x14000c470]
movdqu xmmword [rsp + 0x68], xmm1
mov dword [rsp + 0x78], 0xe8b4b5a0
mov dword [rsp + 0x7c], 0xa5acafab
mov dword [rbp - 0x80], 0xe1bda3
mov byte [rbp - 0x7c], 1
mov rdx, r12
nop dword [rax]
nop word [rax + rax]
lea eax, [rdx - 0x5b]
xor byte [rsp + rdx + 0x58], al
inc rdx
cmp rdx, 0x2b
jb 0x1400053d0
mov byte [rbp - 0x7c], r12b
lea rdx, [rsp + 0x58]
mov rcx, rbx
call fcn.140006b00
lea rdx, [0x140006cd0]
mov rcx, rbx
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 ecx, 0x7d0
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rbx, [0x140012ac0]
lea rdi, [0x140012d80]
nop word [rax + rax]
mov dword [rsp + 0x40], 0xd4cac6
mov byte [rsp + 0x44], 1
mov rax, r12
lea ecx, [rax - 0x5b]
xor byte [rsp + rax + 0x40], cl
inc rax
cmp rax, 3
jb 0x140005430
mov byte [rsp + 0x44], r12b
lea rcx, [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov rdx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x14000545d
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140007190
lea rdx, [0x140006cd0]
mov rcx, rax
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 ecx, 0xfa
call qword [sym.imp.KERNEL32.dll_Sleep]
add rbx, 0x20
cmp rbx, rdi
jl 0x140005420
call fcn.1400022c0
mov dword [rsp + 0x40], 0xd4cac6
mov byte [rsp + 0x44], 1
mov rcx, r12
nop word [rax + rax]
lea eax, [rcx - 0x5b]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 3
jb 0x1400054b0
mov byte [rsp + 0x44], r12b
lea rcx, [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov rbx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
movdqa xmm0, xmmword [0x14000c490]
movdqu xmmword [rsp + 0x58], xmm0
movdqa xmm1, xmmword [0x14000c4a0]
movdqu xmmword [rsp + 0x68], xmm1
mov dword [rsp + 0x78], 0xaee7a9b1
mov dword [rsp + 0x7c], 0xbfa2a4a0
mov dword [rbp - 0x80], 0x100e0a5
mov r8, r12
nop dword [rax]
lea eax, [r8 - 0x5b]
xor byte [rsp + r8 + 0x58], al
inc r8
cmp r8, 0x2a
jb 0x140005510
mov byte [rbp - 0x7d], r12b
lea rdx, [rsp + 0x58]
mov rcx, rbx
call fcn.140006b00
lea rdx, [0x140006cd0]
mov rcx, rbx
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]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
mov ebx, eax
lea edx, [rax + 1]
mov eax, 2
mul rdx
mov rsi, 0xffffffffffffffff
cmovo rax, rsi
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r15, rax
test rax, rax
jne 0x14000557d
mov eax, esi
jmp 0x140005abc
mov rdx, r15
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
cmp word [r15], r12w
je 0x140005ab1
movabs rdi, 0x7ffffffffffffffe
movabs r13, 0x7fffffffffffffff
mov r14d, 0xa
nop dword [rax]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GetDriveTypeW]
mov ebx, eax
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp - 8]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x18], r12
mov qword [rbp - 0x10], 0xf
mov byte [rbp - 0x28], 0
cmp ebx, 3
jne 0x140005a5e
mov dword [rsp + 0x48], 0xd4cac6
mov byte [rsp + 0x4c], 1
mov rcx, r12
nop
lea eax, [rcx - 0x5b]
xor byte [rsp + rcx + 0x48], al
inc rcx
cmp rcx, 3
jb 0x140005600
mov byte [rsp + 0x4c], 0
lea rcx, [rsp + 0x48]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], r12
mov qword [rbp - 0x50], r12
mov rbx, rsi
inc rbx
cmp word [r15 + rbx*2], 0
jne 0x140005632
cmp rbx, rdi
ja 0x140005b1a
mov qword [rbp - 0x50], 7
cmp rbx, 7
ja 0x140005675
mov qword [rbp - 0x58], rbx
add rbx, rbx
mov r8, rbx
mov rdx, r15
lea rcx, [rbp - 0x68]
call sub.VCRUNTIME140.dll_memcpy
mov word [rbp + rbx - 0x68], r12w
jmp 0x14000570f
mov rsi, rbx
or rsi, 7
cmp rsi, rdi
jbe 0x14000568e
mov rsi, rdi
lea rcx, [r13*2]
jmp 0x1400056af
cmp rsi, 0xa
cmovb rsi, r14
lea rcx, [rsi + 1]
cmp rcx, r13
ja 0x140005b2c
add rcx, rcx
cmp rcx, 0x1000
jb 0x1400056db
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140005b2c
mov rcx, rax
call fcn.140007f70
test rax, rax
je 0x140005af7
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x1400056ed
test rcx, rcx
je 0x1400056ea
call fcn.140007f70
mov rdi, rax
jmp 0x1400056ed
mov rdi, r12
mov qword [rbp - 0x68], rdi
mov qword [rbp - 0x58], rbx
mov qword [rbp - 0x50], rsi
add rbx, rbx
mov r8, rbx
mov rdx, r15
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov word [rbx + rdi], r12w
lea rdx, [rbp - 0x68]
lea rcx, [rsp + 0x58]
call fcn.1400050e0
mov r14, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
mov edi, 2
cmp qword [rax + 0x10], rdi
cmovb rdi, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x14000573f
mov r14, qword [rax]
cmp rdi, r13
ja 0x140005b26
cmp rdi, 0xf
ja 0x140005773
mov qword [rbp - 0x38], rdi
mov qword [rbp - 0x30], 0xf
mov r8, rdi
mov rdx, r14
lea rcx, [rbp - 0x48]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbp + rdi - 0x48], 0
jmp 0x140005808
mov rbx, rdi
or rbx, 0xf
cmp rbx, r13
jbe 0x140005792
mov rbx, r13
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x1400057b9
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1400057d8
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140005b20
mov rcx, rax
call fcn.140007f70
test rax, rax
je 0x140005ae9
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x1400057ea
test rcx, rcx
je 0x1400057e7
call fcn.140007f70
mov rsi, rax
jmp 0x1400057ea
mov rsi, r12
mov qword [rbp - 0x48], rsi
mov qword [rbp - 0x38], rdi
mov qword [rbp - 0x30], rbx
mov r8, rdi
mov rdx, r14
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsi + rdi], 0
mov rdx, qword [rbp - 0x10]
cmp rdx, 0xf
jbe 0x140005843
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000583e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005ae9
call fcn.140007fac
movups xmm0, xmmword [rbp - 0x48]
movups xmmword [rbp - 0x28], xmm0
movups xmm1, xmmword [rbp - 0x38]
movups xmmword [rbp - 0x18], xmm1
mov rdx, qword [rsp + 0x70]
cmp rdx, 0xf
jbe 0x140005890
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000588b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005af0
call fcn.140007fac
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], 0xf
mov byte [rsp + 0x58], 0
mov rdx, qword [rbp - 0x50]
cmp rdx, 7
jbe 0x1400058e3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400058de
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005af7
call fcn.140007fac
mov edx, 4
lea rcx, [rbp - 0x68]
call fcn.140004f10
mov rbx, rax
mov word [rsp + 0x50], 0x88
mov byte [rsp + 0x52], 1
mov edx, 4
lea rcx, [rbp - 0x48]
call fcn.140004f10
nop
mov word [rsp + 0x40], 0x85
mov byte [rsp + 0x42], 1
mov dword [rbp - 0x78], 0xddcbc9f3
mov dword [rbp - 0x74], 0xc8c2cfc4
mov dword [rbp - 0x70], 0x8f9a9b
mov byte [rbp - 0x6c], 1
mov qword [rsp + 0x30], rbx
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x40]
lea r8, [rbp - 0x28]
lea rdx, [rbp - 0x78]
lea rcx, [rsp + 0x58]
call fcn.140006d10
nop
cmp qword [rax + 0x18], 0xf
jbe 0x14000596a
mov rax, qword [rax]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 0xf
jbe 0x1400059b1
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400059ac
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005afe
call fcn.140007fac
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], 0xf
mov byte [rsp + 0x58], 0
mov rdx, qword [rbp - 0x30]
cmp rdx, 0xf
jbe 0x1400059ff
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400059fa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005b05
call fcn.140007fac
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x30], 0xf
mov byte [rbp - 0x48], 0
mov rdx, qword [rbp - 0x50]
cmp rdx, 0xf
jbe 0x140005a4a
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005a45
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005b0c
call fcn.140007fac
mov r14d, 0xa
lea rsi, [r14 - 0xb]
movabs rdi, 0x7ffffffffffffffe
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cdqe
lea r15, [r15 + rax*2]
mov rdx, qword [rbp - 0x10]
cmp rdx, 0xf
jbe 0x140005aa6
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005aa1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005b13
call fcn.140007fac
cmp word [r15], 0
jne 0x1400055b0
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor eax, eax
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.140007f50
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.140002070
nop
call fcn.140001fd0
int3
call fcn.140002070
nop
call fcn.140001fd0
int3