Function at 0x140004d40
Capabilities:
Get disk information

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 - 0x160]
sub rsp, 0x260
mov rax, qword [0x14007e018]
xor rax, rsp
mov qword [rbp + 0x150], rax
xor r12d, r12d
mov r15d, r12d
mov dword [rsp + 0x58], r12d
call qword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov dword [rsp + 0x30], eax
test eax, eax
je 0x14000546b
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x28], r12
mov qword [rbp - 0x20], 7
mov word [rbp - 0x38], r12w
mov r13d, r12d
nop dword [rax]
bt eax, r13d
jae 0x14000530f
lea r8d, [r13 + 0x41]
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x50], 7
mov word [rsp + 0x38], r12w
mov edx, 1
lea rcx, [rsp + 0x38]
call fcn.140009990
nop
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
mov rax, rdx
sub rax, rcx
cmp rax, 2
jb 0x140004e29
lea rax, [rcx + 2]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x38]
cmp rdx, 8
cmovae rax, qword [rsp + 0x38]
mov dword [rax + rcx*2], 0x5c003a
mov word [rax + rcx*2 + 4], r12w
lea rax, [rsp + 0x38]
jmp 0x140004e48
mov qword [rsp + 0x20], 2
lea r9, [0x1400748f4]
mov edx, 2
lea rcx, [rsp + 0x38]
call fcn.14000c050
mov qword [rbp - 0x18], r12
mov qword [rbp - 8], r12
mov qword [rbp], r12
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x18], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 8], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
or r15d, 1
mov rdx, qword [rsp + 0x50]
cmp rdx, 8
jb 0x140004eb9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004eb4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400054a7
call fcn.140034fa8
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x50], 7
mov word [rsp + 0x38], r12w
lea rcx, [rbp - 0x18]
cmp qword [rbp], 8
cmovae rcx, qword [rbp - 0x18]
call qword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 3
jne 0x1400052cb
mov qword [rbp + 8], r12
mov qword [rbp - 0x40], r12
lea r9d, [rax - 2]
lea r8, [rbp - 0x40]
lea rdx, [rbp + 8]
lea rcx, [rbp - 0x18]
call fcn.140004290
lea rcx, [rbp + 0x120]
call qword [sym.imp.KERNEL32.dll_GetSystemTime]
lea rdx, [rbp + 0x120]
lea rcx, [rbp + 0x130]
call fcn.140003610
nop
xor edx, edx
mov r8d, 0xe8
lea rcx, [rbp + 0x30]
call fcn.140037260
lea rcx, [rbp + 0x30]
call fcn.140007460
nop
shr qword [rbp - 0x40], 0x1e
lea rdx, str._scan_files_in
lea rcx, [rbp + 0x30]
call fcn.14000b4c0
lea rdx, [rbp - 0x18]
cmp qword [rbp], 8
cmovae rdx, qword [rbp - 0x18]
mov r8, qword [rbp - 8]
mov rcx, rax
call fcn.14000d160
lea rdx, [0x1400748fc]
mov rcx, rax
call fcn.14000b4c0
mov rcx, rax
mov rdx, qword [rbp + 8]
call fcn.140007660
lea rdx, str.__size_is
lea rcx, [rbp + 0x30]
call fcn.14000b4c0
mov rcx, rax
lea rdx, [0x1400748fc]
call fcn.14000b4c0
mov rcx, rax
mov rdx, qword [rbp - 0x40]
call fcn.140007660
mov rcx, rax
lea rdx, [0x140074928]
call fcn.14000b4c0
mov rcx, rax
call fcn.14000b730
nop
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], 7
mov word [rsp + 0x60], r12w
or r15d, 4
mov dword [rsp + 0x58], r15d
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], rax
mov ecx, dword [rbp + 0xa8]
mov eax, ecx
and al, 0x22
cmp al, 2
je 0x140005036
mov rdx, qword [rbp + 0x78]
mov rdx, qword [rdx]
test rdx, rdx
je 0x140005036
mov rax, qword [rbp + 0x58]
mov r9, qword [rax]
cmp rdx, qword [rbp + 0xa0]
cmovb rdx, qword [rbp + 0xa0]
sub rdx, r9
jmp 0x140005061
test cl, 4
jne 0x140005098
mov rax, qword [rbp + 0x70]
mov rcx, qword [rax]
test rcx, rcx
je 0x140005098
mov rax, qword [rbp + 0x50]
mov r9, qword [rax]
mov rax, qword [rbp + 0x88]
movsxd rdx, dword [rax]
add rdx, rdx
sub rdx, r9
add rdx, rcx
mov rax, r9
sar rdx, 1
test rax, rax
je 0x140005098
lea rcx, [rsp + 0x60]
cmp rdx, 7
ja 0x140005093
mov qword [rsp + 0x70], rdx
lea rbx, [rdx + rdx]
mov r8, rbx
mov rdx, r9
call fcn.140036bb0
mov word [rsp + rbx + 0x60], r12w
jmp 0x140005098
call fcn.14000bc20
and r15d, 0xfffffffb
or r15d, 2
lea r8, str.___iterateDrive__
lea rdx, [rbp + 0x130]
lea rcx, [rbp - 0x60]
call fcn.14000b7c0
nop
lea r9, [rsp + 0x60]
mov r8, rax
lea rcx, [rbp - 0x80]
call fcn.14000ccd0
or r15d, 8
lea r9, [rbp - 0x80]
mov rdi, qword [rbp - 0x80]
mov r14, qword [rbp - 0x68]
cmp r14, 8
cmovae r9, rdi
mov r12, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x20]
mov rax, rcx
sub rax, r12
mov rsi, qword [rbp - 0x70]
cmp rsi, rax
ja 0x14000512b
lea rax, [rsi + r12]
mov qword [rbp - 0x28], rax
lea rbx, [rbp - 0x38]
cmp rcx, 8
cmovae rbx, qword [rbp - 0x38]
lea rcx, [rbx + r12*2]
lea r8, [rsi + rsi]
mov rdx, r9
call fcn.140036bb0
lea rax, [rsi + r12]
xor r12d, r12d
mov word [rbx + rax*2], r12w
jmp 0x140005147
mov qword [rsp + 0x20], rsi
mov rdx, rsi
lea rcx, [rbp - 0x38]
call fcn.14000c050
mov r14, qword [rbp - 0x68]
mov rdi, qword [rbp - 0x80]
xor r12d, r12d
cmp r14, 8
jb 0x140005183
lea rdx, [r14*2 + 2]
mov rax, rdi
cmp rdx, 0x1000
jb 0x14000517a
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400054ad
mov rcx, rdi
call fcn.140034fa8
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 8
jb 0x1400051c3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400051be
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400054b3
call fcn.140034fa8
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], 7
mov word [rbp - 0x60], r12w
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x140005217
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005211
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400054b9
call fcn.140034fa8
nop
mov rax, qword [rbp + 0x30]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov qword [rbp + rcx + 0x30], rax
mov rax, qword [rbp + 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rbp + rcx + 0x2c], edx
lea rcx, [rbp + 0x38]
call fcn.140007110
mov rax, qword [rbp + 0x30]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rbp + rcx + 0x30], rax
mov rax, qword [rbp + 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rbp + rcx + 0x2c], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0xb8], rax
lea rcx, [rbp + 0xb8]
call fcn.140014998
nop
mov rdx, qword [rbp + 0x148]
cmp rdx, 8
jb 0x1400052cb
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x130]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400052c5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400054bf
call fcn.140034fa8
nop
mov rdx, qword [rbp]
cmp rdx, 8
jb 0x14000530b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005306
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400054c5
call fcn.140034fa8
mov eax, dword [rsp + 0x30]
inc r13d
cmp r13d, 0x1a
jl 0x140004db0
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x40], xmm0
movups xmmword [rbp + 0x50], xmm0
movups xmmword [rbp + 0x60], xmm0
movups xmmword [rbp + 0x70], xmm0
movups xmmword [rbp + 0x80], xmm0
movups xmmword [rbp + 0x90], xmm0
mov qword [rbp + 0xa0], rax
lea rcx, [rbp + 0x30]
call fcn.140007f20
nop
lea r8, [rbp - 0x38]
cmp qword [rbp - 0x20], 8
cmovae r8, qword [rbp - 0x38]
mov rax, qword [rbp - 0x28]
lea r9, [r8 + rax*2]
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0x30]
call fcn.1400095b0
nop
lea rcx, [rbp + 0x30]
call fcn.140007e30
lea r14, [rbp + 0x10]
cmp qword [rbp + 0x28], 0x10
cmovae r14, qword [rbp + 0x10]
mov esi, dword [rbp + 0x20]
mov rdx, r14
lea rcx, [0x140074740]
call fcn.140001080
mov edi, r12d
test esi, esi
jle 0x1400053e4
nop dword [rax + rax]
mov eax, esi
sub eax, edi
mov ebx, 0x5000
cmp eax, ebx
cmovl ebx, eax
movsxd r8, ebx
movsxd rdx, edi
add rdx, r14
lea rcx, [0x1400819e0]
call fcn.140036bb0
mov dword [0x1400819dc], ebx
add edi, ebx
call fcn.1400012d0
cmp edi, esi
jl 0x1400053b0
mov rdx, qword [rbp + 0x28]
cmp rdx, 0x10
jb 0x14000541f
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000541a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400054a1
call fcn.140034fa8
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x28], 0xf
mov byte [rbp + 0x10], 0
mov rdx, qword [rbp - 0x20]
cmp rdx, 8
jb 0x14000546b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005466
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000549b
call fcn.140034fa8
mov rcx, qword [rbp + 0x150]
xor rcx, rsp
call fcn.140034cb0
lea r11, [rsp + 0x260]
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 fcn.140041560
nop
call fcn.140041560
nop
call fcn.140041560
nop
call fcn.140041560
nop
call fcn.140041560
nop
call fcn.140041560
nop
call fcn.140041560
nop
call fcn.140041560
int3