Function at 0x1400018f0
Capabilities:
Encode data using xor
Get disk information
Set console window title

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rsi
mov qword [r11 + 0x18], rdi
mov qword [r11 + 0x20], r14
push r15
sub rsp, 0x290
mov rax, qword [0x140083180]
xor rax, rsp
mov qword [rsp + 0x288], rax
xor edi, edi
mov dword [r11 - 0x60], edi
call fcn.140005770
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x40], dil
mov dword [rsp + 0x238], 1
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
lea ecx, [rax + rax*4]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
lea esi, [rdi + 0x19]
movabs r14, 0x842108421084211
lea r15, str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
movzx ebx, byte [rsp + 0x60]
nop word [rax + rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, r14
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
imul rax, rax, 0x3e
sub rcx, rax
movzx r9d, byte [rcx + r15]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
cmp rcx, rdx
jae 0x1400019dd
lea rax, [rcx + 1]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x40]
cmp rdx, 0xf
cmova rax, qword [rsp + 0x40]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x1400019f0
movzx r8d, bl
mov edx, 1
lea rcx, [rsp + 0x40]
call fcn.1400028e0
sub rsi, 1
jne 0x140001980
lea rcx, [rsp + 0x40]
cmp qword [rsp + 0x58], 0xf
cmova rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x140001a4e
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001a49
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001a49
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400552b4
movdqa xmm0, xmmword [0x140070400]
movdqu xmmword [rsp + 0x40], xmm0
mov dword [rsp + 0x50], 0x543551e
mov dword [rsp + 0x54], 0x44544c40
mov word [rsp + 0x58], 0
mov byte [rsp + 0x5a], 1
mov rcx, rdi
nop dword [rax + rax]
lea eax, [rcx + 0x1f]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 0x19
jb 0x140001a80
mov byte [rsp + 0x5a], 0
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x260]
call fcn.1400020d0
nop
lea rcx, [rsp + 0x260]
call fcn.140030c94
nop
mov rdx, qword [rsp + 0x278]
cmp rdx, 0xf
jbe 0x140001afc
inc rdx
mov rcx, qword [rsp + 0x260]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001af7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001af7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400552b4
xorps xmm0, xmm0
movups xmmword [rsp + 0x240], xmm0
movdqa xmm1, xmmword [0x1400702d0]
movdqu xmmword [rsp + 0x250], xmm1
mov byte [rsp + 0x240], 0
movdqa xmm0, xmmword [0x140070450]
movdqu xmmword [rsp + 0x40], xmm0
mov dword [rsp + 0x50], 0x5c545346
mov dword [rsp + 0x54], 0x160f5140
mov word [rsp + 0x58], 0x100
mov rdx, rdi
nop dword [rax + rax]
lea eax, [rdx + 0x1f]
xor byte [rsp + rdx + 0x40], al
inc rdx
cmp rdx, 0x18
jb 0x140001b50
mov byte [rsp + 0x59], 0
lea rdx, [rsp + 0x40]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140002400
lea rdx, [rsp + 0x240]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call fcn.1400025d0
nop
mov dword [rsp + 0x38], edi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
lea r9, [rsp + 0x238]
xor r8d, r8d
xor edx, edx
lea rcx, [0x140062150]
call qword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
test eax, eax
je 0x140001ff9
lea r10, [rsp + 0x275]
mov r8d, dword [rsp + 0x238]
dec r10
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r10], r8b
mov r8d, edx
test edx, edx
jne 0x140001bd0
lea r9, [rsp + 0x60]
lea r8, [rsp + 0x275]
mov rdx, r10
lea rcx, [rsp + 0x130]
call fcn.140002a70
nop
lea rdx, [rsp + 0x130]
lea rcx, [rsp + 0x240]
call fcn.140025a28
nop
mov rdx, qword [rsp + 0x148]
cmp rdx, 0xf
jbe 0x140001c74
inc rdx
mov rcx, qword [rsp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001c6f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001c6f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400552b4
movdqa xmm0, xmmword [0x1400704d0]
movdqu xmmword [rsp + 0x40], xmm0
mov dword [rsp + 0x50], 0x4742104b
mov dword [rsp + 0x54], 0x45505750
mov dword [rsp + 0x58], 0x564c5e44
mov dword [rsp + 0x5c], 0x1004557
mov rdx, rdi
nop word [rax + rax]
lea eax, [rdx + 0x1f]
xor byte [rsp + rdx + 0x40], al
inc rdx
cmp rdx, 0x1e
jb 0x140001cb0
mov byte [rsp + 0x5f], 0
lea rdx, [rsp + 0x40]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140002400
movdqa xmm0, xmmword [0x1400704f0]
movdqa xmmword [rsp + 0x150], xmm0
movdqa xmm1, xmmword [0x140070580]
movdqa xmmword [rsp + 0x160], xmm1
movdqa xmm0, xmmword [0x1400705b0]
movdqa xmmword [rsp + 0x170], xmm0
movdqa xmm1, xmmword [0x1400705a0]
movdqa xmmword [rsp + 0x180], xmm1
movdqa xmm0, xmmword [0x140070420]
movdqa xmmword [rsp + 0x190], xmm0
movdqa xmm1, xmmword [0x140070390]
movdqa xmmword [rsp + 0x1a0], xmm1
movdqa xmm0, xmmword [0x140070640]
movdqa xmmword [rsp + 0x1b0], xmm0
movdqa xmm1, xmmword [0x140070610]
movdqa xmmword [rsp + 0x1c0], xmm1
movdqa xmm0, xmmword [0x1400705e0]
movdqa xmmword [rsp + 0x1d0], xmm0
movdqa xmm1, xmmword [0x140070660]
movdqa xmmword [rsp + 0x1e0], xmm1
movdqa xmm0, xmmword [0x1400706b0]
movdqa xmmword [rsp + 0x1f0], xmm0
movdqa xmm1, xmmword [0x140070680]
movdqa xmmword [rsp + 0x200], xmm1
mov dword [rsp + 0x210], 0x87d2d6bb
mov dword [rsp + 0x214], 0x100c2d6
mov rcx, rdi
nop dword [rax + rax]
lea eax, [rcx + 0x1f]
xor byte [rsp + rcx + 0x150], al
inc rcx
cmp rcx, 0xc6
jb 0x140001dc0
mov byte [rsp + 0x217], 0
movdqa xmm0, xmmword [0x1400704f0]
movdqa xmmword [rsp + 0x70], xmm0
movdqa xmm1, xmmword [0x140070580]
movdqa xmmword [rsp + 0x80], xmm1
movdqa xmm0, xmmword [0x1400705c0]
movdqa xmmword [rsp + 0x90], xmm0
movdqa xmm1, xmmword [0x140070590]
movdqa xmmword [rsp + 0xa0], xmm1
movdqa xmm0, xmmword [0x140070380]
movdqa xmmword [rsp + 0xb0], xmm0
movdqa xmm1, xmmword [0x140070340]
movdqa xmmword [rsp + 0xc0], xmm1
movdqa xmm0, xmmword [0x140070650]
movdqa xmmword [rsp + 0xd0], xmm0
movdqa xmm1, xmmword [0x140070690]
movdqa xmmword [rsp + 0xe0], xmm1
movdqa xmm0, xmmword [0x1400705d0]
movdqa xmmword [rsp + 0xf0], xmm0
movdqa xmm1, xmmword [0x140070670]
movdqa xmmword [rsp + 0x100], xmm1
movdqa xmm0, xmmword [0x1400706a0]
movdqa xmmword [rsp + 0x110], xmm0
mov dword [rsp + 0x120], 0xeae9e1ae
mov dword [rsp + 0x124], 0xe2b0e5e1
mov dword [rsp + 0x128], 0x100feb6
mov rcx, rdi
nop word [rax + rax]
lea eax, [rcx + 0x1f]
xor byte [rsp + rcx + 0x70], al
inc rcx
cmp rcx, 0xba
jb 0x140001ec0
mov byte [rsp + 0x12b], 0
movdqa xmm0, xmmword [0x1400704c0]
movdqu xmmword [rsp + 0x260], xmm0
mov word [rsp + 0x270], 0x100
mov rcx, rdi
nop dword [rax]
lea eax, [rcx + 0x1f]
xor byte [rsp + rcx + 0x260], al
inc rcx
cmp rcx, 0x10
jb 0x140001f00
mov byte [rsp + 0x271], 0
movdqa xmm0, xmmword [0x140070530]
movdqu xmmword [rsp + 0x40], xmm0
mov word [rsp + 0x50], 0x4a
mov byte [rsp + 0x52], 1
nop word [rax + rax]
lea eax, [rdi + 0x1f]
xor byte [rsp + rdi + 0x40], al
inc rdi
cmp rdi, 0x11
jb 0x140001f40
mov byte [rsp + 0x52], 0
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x260]
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x150]
call fcn.140001780
nop
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_istream_char__struct_std::char_traits_char__::get_void____ptr64]
nop
mov rdx, qword [rsp + 0x258]
cmp rdx, 0xf
jbe 0x140001fc9
inc rdx
mov rcx, qword [rsp + 0x240]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001fc4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001fc4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400552b4
xor eax, eax
mov rcx, qword [rsp + 0x288]
xor rcx, rsp
call fcn.140055250
lea r11, [rsp + 0x290]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop r15
ret
movdqa xmm0, xmmword [0x140070550]
movdqu xmmword [rsp + 0x40], xmm0
mov dword [rsp + 0x50], 0x1005446
lea rcx, [rsp + 0x40]
call fcn.140001750
mov rdx, rax
lea rcx, [rsp + 0x220]
call fcn.140001670
lea rdx, [0x1400801c8]
lea rcx, [rsp + 0x220]
call sub.VCRUNTIME140.dll__CxxThrowException
int3