Function at 0x140004d10
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 - 0x140]
sub rsp, 0x240
mov rax, qword [0x14007e018]
xor rax, rsp
mov qword [rbp + 0x130], rax
xor edi, edi
mov r12d, edi
mov dword [rsp + 0x58], edi
call qword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov dword [rsp + 0x34], eax
test eax, eax
je 0x140005404
mov qword [rbp - 0x58], rdi
mov qword [rbp - 0x48], rdi
mov qword [rbp - 0x40], 7
mov word [rbp - 0x58], di
mov ebx, edi
mov dword [rsp + 0x30], ebx
nop dword [rax]
bt eax, ebx
jae 0x1400052d0
lea r8d, [rbx + 0x41]
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], 7
mov word [rsp + 0x38], di
mov edx, 1
lea rcx, [rsp + 0x38]
call fcn.140009950
nop
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
mov rax, rdx
sub rax, rcx
cmp rax, 2
jb 0x140004df6
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], di
lea rax, [rsp + 0x38]
jmp 0x140004e15
mov qword [rsp + 0x20], 2
lea r9, [0x1400748d4]
mov edx, 2
lea rcx, [rsp + 0x38]
call fcn.14000c010
mov qword [rbp - 0x38], rdi
mov qword [rbp - 0x28], rdi
mov qword [rbp - 0x20], rdi
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x38], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x28], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 7
mov word [rax], di
or r12d, 1
mov rdx, qword [rsp + 0x50]
cmp rdx, 8
jb 0x140004e85
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004e80
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005440
call fcn.140034c90
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], 7
mov word [rsp + 0x38], di
lea rcx, [rbp - 0x38]
cmp qword [rbp - 0x20], 8
cmovae rcx, qword [rbp - 0x38]
call qword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 3
jne 0x14000528c
mov qword [rbp - 0x18], rdi
mov qword [rbp - 0x60], rdi
lea r9d, [rax - 2]
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x18]
lea rcx, [rbp - 0x38]
call fcn.140004230
lea rcx, [rbp + 0x100]
call qword [sym.imp.KERNEL32.dll_GetSystemTime]
lea rdx, [rbp + 0x100]
lea rcx, [rbp + 0x110]
call fcn.1400035e0
nop
xor edx, edx
mov r8d, 0xe8
lea rcx, [rbp + 0x10]
call fcn.140037230
lea rcx, [rbp + 0x10]
call fcn.140007420
nop
shr qword [rbp - 0x60], 0x1e
lea rdx, str._scan_files_in
lea rcx, [rbp + 0x10]
call fcn.14000b480
lea rdx, [rbp - 0x38]
cmp qword [rbp - 0x20], 8
cmovae rdx, qword [rbp - 0x38]
mov r8, qword [rbp - 0x28]
mov rcx, rax
call fcn.14000d120
lea rdx, [0x1400748dc]
mov rcx, rax
call fcn.14000b480
mov rcx, rax
mov rdx, qword [rbp - 0x18]
call fcn.140007620
lea rdx, str.__size_is
lea rcx, [rbp + 0x10]
call fcn.14000b480
mov rcx, rax
lea rdx, [0x1400748dc]
call fcn.14000b480
mov rcx, rax
mov rdx, qword [rbp - 0x60]
call fcn.140007620
mov rcx, rax
lea rdx, [0x140074908]
call fcn.14000b480
mov rcx, rax
call fcn.14000b6f0
nop
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], 7
mov word [rsp + 0x60], di
or r12d, 4
mov dword [rsp + 0x58], r12d
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], rax
mov ecx, dword [rbp + 0x88]
mov eax, ecx
and al, 0x22
cmp al, 2
je 0x140005000
mov rdx, qword [rbp + 0x58]
mov rdx, qword [rdx]
test rdx, rdx
je 0x140005000
mov rax, qword [rbp + 0x38]
mov r9, qword [rax]
cmp rdx, qword [rbp + 0x80]
cmovb rdx, qword [rbp + 0x80]
sub rdx, r9
jmp 0x140005028
test cl, 4
jne 0x14000505e
mov rax, qword [rbp + 0x50]
mov rcx, qword [rax]
test rcx, rcx
je 0x14000505e
mov rax, qword [rbp + 0x30]
mov r9, qword [rax]
mov rax, qword [rbp + 0x68]
movsxd rdx, dword [rax]
add rdx, rdx
sub rdx, r9
add rdx, rcx
mov rax, r9
sar rdx, 1
test rax, rax
je 0x14000505e
lea rcx, [rsp + 0x60]
cmp rdx, 7
ja 0x140005059
mov qword [rsp + 0x70], rdx
lea rbx, [rdx + rdx]
mov r8, rbx
mov rdx, r9
call fcn.140036b80
mov word [rsp + rbx + 0x60], di
jmp 0x14000505e
call fcn.14000bbe0
and r12d, 0xfffffffb
or r12d, 2
lea r8, str.___iterateDrive__
lea rdx, [rbp + 0x110]
lea rcx, [rbp - 0x10]
call fcn.14000b780
nop
lea r9, [rsp + 0x60]
mov r8, rax
lea rcx, [rbp - 0x80]
call fcn.14000cc90
or r12d, 8
lea r9, [rbp - 0x80]
mov rsi, qword [rbp - 0x80]
mov r15, qword [rbp - 0x68]
cmp r15, 8
cmovae r9, rsi
mov r13, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x40]
mov rax, rcx
sub rax, r13
mov r14, qword [rbp - 0x70]
cmp r14, rax
ja 0x1400050ed
lea rax, [r14 + r13]
mov qword [rbp - 0x48], rax
lea rbx, [rbp - 0x58]
cmp rcx, 8
cmovae rbx, qword [rbp - 0x58]
lea rcx, [rbx + r13*2]
lea r8, [r14 + r14]
mov rdx, r9
call fcn.140036b80
lea rax, [r14 + r13]
mov word [rbx + rax*2], di
jmp 0x140005106
mov qword [rsp + 0x20], r14
mov rdx, r14
lea rcx, [rbp - 0x58]
call fcn.14000c010
mov r15, qword [rbp - 0x68]
mov rsi, qword [rbp - 0x80]
cmp r15, 8
jb 0x140005142
lea rdx, [r15*2 + 2]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140005139
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005446
mov rcx, rsi
call fcn.140034c90
nop
mov rdx, qword [rbp + 8]
cmp rdx, 8
jb 0x140005182
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000517d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000544c
call fcn.140034c90
mov qword [rbp], rdi
mov qword [rbp + 8], 7
mov word [rbp - 0x10], di
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x1400051d5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400051cf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005452
call fcn.140034c90
nop
mov rax, qword [rbp + 0x10]
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 + 0x10], rax
mov rax, qword [rbp + 0x10]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rbp + rcx + 0xc], edx
lea rcx, [rbp + 0x18]
call fcn.1400070d0
mov rax, qword [rbp + 0x10]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rbp + rcx + 0x10], rax
mov rax, qword [rbp + 0x10]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rbp + rcx + 0xc], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x98], rax
lea rcx, [rbp + 0x98]
call fcn.140014958
nop
mov rdx, qword [rbp + 0x128]
cmp rdx, 8
jb 0x140005288
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x110]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005283
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005458
call fcn.140034c90
mov ebx, dword [rsp + 0x30]
mov rdx, qword [rbp - 0x20]
cmp rdx, 8
jb 0x1400052cc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400052c7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000545e
call fcn.140034c90
mov eax, dword [rsp + 0x34]
inc ebx
mov dword [rsp + 0x30], ebx
cmp ebx, 0x1a
jl 0x140004d80
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0x20], xmm0
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
mov qword [rbp + 0x80], rax
lea rcx, [rbp + 0x10]
call fcn.140007ee0
nop
lea r8, [rbp - 0x58]
cmp qword [rbp - 0x40], 8
cmovae r8, qword [rbp - 0x58]
mov rax, qword [rbp - 0x48]
lea r9, [r8 + rax*2]
lea rdx, [rbp - 0x10]
lea rcx, [rbp + 0x10]
call fcn.140009570
nop
lea rcx, [rbp + 0x10]
call fcn.140007df0
lea r14, [rbp - 0x10]
mov r15, qword [rbp - 0x10]
mov r13, qword [rbp + 8]
cmp r13, 0x10
cmovae r14, r15
mov rsi, qword [rbp]
test esi, esi
jle 0x140005394
nop word [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, [0x1400819f0]
call fcn.140036b80
mov dword [0x1400819e8], ebx
add edi, ebx
call fcn.140001260
cmp edi, esi
jl 0x140005360
cmp r13, 0x10
jb 0x1400053c8
lea rdx, [r13 + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x1400053bf
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000543a
mov rcx, r15
call fcn.140034c90
nop
mov rdx, qword [rbp - 0x40]
cmp rdx, 8
jb 0x140005404
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400053ff
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005434
call fcn.140034c90
mov rcx, qword [rbp + 0x130]
xor rcx, rsp
call fcn.140034c70
lea r11, [rsp + 0x240]
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.140041530
nop
call fcn.140041530
nop
call fcn.140041530
nop
call fcn.140041530
nop
call fcn.140041530
nop
call fcn.140041530
nop
call fcn.140041530
nop
call fcn.140041530
int3