Function at 0x1400af407
Capabilities:
Get disk information
Get disk size
Get storage device properties

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x4f8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x460], xmm6
mov qword [rbp + 0x458], 0xfffffffffffffffe
mov rsi, rdx
mov qword [rbp + 0x3b8], rcx
mov r15, qword [rbp + 0x4f8]
mov ebx, dword [rbp + 0x4f0]
mov r12d, dword [rbp + 0x4e8]
mov rax, qword [rbp + 0x4e0]
mov qword [rbp + 0x2a0], rdx
lea rdi, [rbp - 0x40]
mov qword [rdi], r9
mov qword [rdi + 8], rax
mov rcx, rdi
call fcn.1400ae110
test al, al
je 0x1400af57c
shr rsi, 1
mov qword [rbp + 0x2b0], rsi
xor eax, eax
mov ecx, ebx
sub ecx, r12d
cmovb ecx, eax
cmp rsi, rcx
ja 0x1400afed3
add esi, r12d
lea rax, [rbp + 0x2a0]
mov qword [rbp + 0x360], rax
lea rax, [rbp + 0x2b0]
mov qword [rbp + 0x368], rax
mov qword [rbp + 0x370], rdi
mov qword [rbp + 0x378], r15
mov dword [rbp + 0x380], esi
mov dword [rbp + 0x384], ebx
mov qword [rbp + 0x388], rax
mov qword [rbp + 0x390], rdi
mov qword [rbp + 0x398], r15
mov dword [rbp + 0x3a0], r12d
mov dword [rbp + 0x3a4], esi
call fcn.140083865
test rax, rax
je 0x1400afcc3
lea rcx, [rbp + 0x3f0]
lea rdx, [rbp + 0x360]
mov r8, rax
xor r9d, r9d
call fcn.1400b02ba
mov rax, qword [rbp + 0x3f0]
mov rdx, qword [rbp + 0x3f8]
mov rcx, qword [rbp + 0x400]
mov r8, qword [rbp + 0x418]
mov qword [rbp - 0x20], r8
movups xmm0, xmmword [rbp + 0x408]
movaps xmmword [rbp - 0x30], xmm0
test rdx, rdx
je 0x1400afd98
mov r8, qword [rbp - 0x30]
and qword [rbp - 0x30], 0
test r8, r8
je 0x1400afdb7
mov qword [rdx + 0x18], r8
mov qword [r8 + 0x20], rdx
mov rdx, qword [rbp - 0x28]
xorps xmm0, xmm0
add rcx, qword [rbp - 0x20]
movups xmmword [rbp - 0x28], xmm0
jmp 0x1400afdb7
xorps xmm6, xmm6
movups xmmword [rbp + 0x3f8], xmm6
mov qword [rbp + 0x3f0], 8
mov qword [rbp + 0x408], r15
lea r14, [rbp + 0x360]
push 4
pop r13
cmp r12d, ebx
jae 0x1400afbfe
mov rax, qword [r15]
mov eax, dword [rax]
bt eax, r12d
jae 0x1400afb76
mov qword [rbp + 0x328], r15
lea esi, [r12 + 0x41]
mov word [rbp + 0x448], si
mov dword [rbp + 0x44a], 0x5c003a
and word [rbp + 0x44e], 0
mov byte [rbp + 0x457], 1
lea rcx, [rbp + 0x448]
call sub.kernel32.dll_GetDriveTypeW
mov r15d, eax
lea eax, [r15 - 4]
cmp eax, 0xfffffffe
jb 0x1400afb6f
mov r8d, 0x20a
lea rdi, [rbp - 0x30]
mov rcx, rdi
xor edx, edx
call sub.msvcrt.dll_memset
movaps xmmword [rbp + 0x390], xmm6
movaps xmmword [rbp + 0x380], xmm6
movaps xmmword [rbp + 0x370], xmm6
movaps xmmword [rbp + 0x360], xmm6
mov byte [rbp + 0x457], 1
mov qword [rsp + 0x30], r14
movups xmmword [rsp + 0x20], xmm6
mov dword [rsp + 0x38], 0x20
lea rcx, [rbp + 0x448]
mov rdx, rdi
mov r8d, 0x105
xor r9d, r9d
call sub.kernel32.dll_GetVolumeInformationW
test eax, eax
je 0x1400afb6f
xor r8d, r8d
cmp r8, 0x105
je 0x1400af686
cmp word [rbp + r8*2 - 0x30], 0
je 0x1400af6aa
inc r8
jmp 0x1400af66f
mov byte [rbp + 0x457], 1
mov edx, 0x105
mov r8d, 0x105
lea rcx, [rbp - 0x30]
lea r9, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_sysinfo_0.29.9_srcwindowsdisk.rs
call fcn.1400af0e1
jmp 0x1400af6c6
mov byte [rbp + 0x457], 1
mov edx, 0x105
lea rcx, [rbp - 0x30]
lea r9, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_sysinfo_0.29.9_srcwindowsdisk.rs
call fcn.1400af0e1
mov r8, rdx
mov byte [rbp + 0x457], 1
lea rcx, [rbp + 0x2e8]
mov rdx, rax
call fcn.1400ae306
mov rbx, qword [rbp + 0x2e8]
mov rax, qword [rbp + 0x2f8]
mov qword [rbp + 0x430], rax
xor r8d, r8d
push 0x20
pop rdx
cmp r8, 0x20
je 0x1400af711
cmp word [rbp + r8*2 + 0x360], 0
je 0x1400af714
inc r8
jmp 0x1400af6fa
mov r8, rdx
mov rcx, r14
lea r9, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_sysinfo_0.29.9_srcwindowsdisk.rs
call fcn.1400af0e1
mov r14, rax
mov rdi, rdx
mov rcx, rdx
xor edx, edx
call fcn.1400814b3
mov qword [rbp + 0x440], rbx
mov qword [rbp + 0x3c0], rax
mov qword [rbp + 0x3c8], rdx
and qword [rbp + 0x3d0], 0
lea rcx, [rbp + 0x3c0]
mov rdx, rdi
call fcn.14007e795
mov rdx, qword [rbp + 0x3c0]
mov rbx, qword [rbp + 0x3d0]
test rdi, rdi
je 0x1400af786
xor eax, eax
mov cl, byte [r14 + rax*2]
mov byte [rdx + rbx], cl
inc rbx
inc rax
cmp rdi, rax
jne 0x1400af774
mov qword [rbp + 0x420], rdx
mov rax, qword [rbp + 0x3c8]
mov qword [rbp + 0x3b0], rax
movabs rax, 0x5c002e005c005c
mov qword [rbp + 0x2da], rax
mov word [rbp + 0x2e2], si
mov dword [rbp + 0x2e4], 0x3a
and qword [rsp + 0x30], 0
and dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 3
lea rcx, [rbp + 0x2da]
xor edx, edx
push 3
pop r8
xor r9d, r9d
call qword [sym.imp.kernel32.dll_CreateFileW]
cmp rax, 0xffffffffffffffff
je 0x1400afb24
mov qword [rbp + 0x428], rax
and qword [rbp + 0x300], 0
and qword [rbp + 0x3c0], 0
lea rcx, [rbp + 0x448]
xor edx, edx
lea r8, [rbp + 0x300]
lea r9, [rbp + 0x3c0]
call sub.kernel32.dll_GetDiskFreeSpaceExW
test eax, eax
je 0x1400afb2f
mov rdi, qword [rbp + 0x300]
test rdi, rdi
mov rcx, qword [rbp + 0x428]
je 0x1400afb36
mov rsi, qword [rbp + 0x3c0]
and dword [rbp + 0x320], 0
mov qword [rbp + 0x294], 7
and qword [rbp + 0x318], 0
mov byte [rbp + 0x29c], 0
and dword [rbp + 0x43c], 0
lea rax, [rbp + 0x43c]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x318]
mov qword [rsp + 0x20], rax
and qword [rsp + 0x38], 0
mov dword [rsp + 0x28], 0xc
mov edx, 0x2d1400
lea r8, [rbp + 0x294]
push 0xc
pop r9
call qword [sym.imp.kernel32.dll_DeviceIoControl]
xor r14d, r14d
cmp byte [rbp + 0x320], 0
sete r14b
cmp dword [rbp + 0x43c], 0xc
push 2
pop rcx
cmovne r14, rcx
test eax, eax
cmove r14, rcx
lea rcx, [rbp + 0x3c0]
mov rdx, qword [rbp + 0x440]
mov r8, qword [rbp + 0x430]
call fcn.14009aa00
mov qword [rbp + 0x2a8], rdi
mov rax, qword [rbp + 0x3c0]
mov qword [rbp + 0x430], rax
mov rax, qword [rbp + 0x3c8]
mov qword [rbp + 0x440], rax
lea rax, [rbp + 0x3d0]
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x350], xmm0
mov rcx, rbx
xor edx, edx
call fcn.1400814b3
mov qword [rbp + 0x330], rdx
mov qword [rbp + 0x338], rax
mov rcx, rax
mov rdx, qword [rbp + 0x420]
mov r8, rbx
call sub.msvcrt.dll_memcpy
mov rdi, r13
mov rcx, r13
xor edx, edx
call fcn.1400aef2e
mov qword [rbp + 0x340], rdx
mov rcx, qword [rbp + 0x448]
mov qword [rbp + 0x348], rax
mov qword [rax], rcx
lea rcx, [rbp + 0x448]
mov rdx, rdi
push 3
pop r8
lea r9, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_sysinfo_0.29.9_srcwindowsdisk.rs
call fcn.1400af0e1
mov r8, rdx
lea rcx, [rbp + 0x3c0]
mov rdx, rax
call fcn.1400ae306
movaps xmm0, xmmword [rbp + 0x350]
movaps xmmword [rbp + 0x1e0], xmm0
movups xmm0, xmmword [rbp + 0x3c0]
movaps xmmword [rbp + 0x300], xmm0
mov rax, qword [rbp + 0x3d0]
mov qword [rbp + 0x310], rax
mov eax, dword [rbp + 0x3c0]
mov ecx, dword [rbp + 0x3c3]
mov dword [rbp + 0x350], eax
mov dword [rbp + 0x353], ecx
mov rcx, qword [rbp + 0x428]
call qword [sym.imp.kernel32.dll_CloseHandle]
mov rdi, qword [rbp + 0x2a8]
mov rcx, qword [rbp + 0x420]
mov rdx, qword [rbp + 0x3b0]
call fcn.14000e02a
mov rcx, qword [rbp + 0x2e8]
mov rdx, qword [rbp + 0x2f0]
call fcn.14000e02a
or qword [rbp + 0x1f8], 0xffffffffffffffff
cmp r15d, 2
mov qword [rbp + 0x1f0], r14
mov rax, qword [rbp + 0x430]
mov qword [rbp + 0x200], rax
mov rax, qword [rbp + 0x440]
mov qword [rbp + 0x208], rax
movaps xmm0, xmmword [rbp + 0x1e0]
lea rdx, [rbp + 0x210]
movups xmmword [rdx], xmm0
mov rax, qword [rbp + 0x338]
mov qword [rbp + 0x220], rax
mov rax, qword [rbp + 0x330]
mov qword [rbp + 0x228], rax
mov qword [rbp + 0x230], rbx
mov rax, qword [rbp + 0x348]
mov qword [rbp + 0x238], rax
mov rax, qword [rbp + 0x340]
mov qword [rbp + 0x240], rax
mov qword [rbp + 0x248], 4
mov rax, qword [rbp + 0x310]
mov qword [rdx + 0x50], rax
movaps xmm0, xmmword [rbp + 0x300]
movups xmmword [rdx + 0x40], xmm0
mov qword [rbp + 0x268], rdi
mov qword [rbp + 0x270], rsi
sete byte [rbp + 0x278]
mov eax, dword [rbp + 0x350]
mov ecx, dword [rbp + 0x353]
mov dword [rdx + 0x6c], ecx
mov dword [rdx + 0x69], eax
movups xmm0, xmmword [rbp + 0x3f0]
movaps xmmword [rbp - 0x30], xmm0
mov rdi, qword [rbp + 0x400]
mov qword [rbp - 0x20], rdi
cmp rdi, qword [rbp - 0x28]
jne 0x1400afbbd
lea rcx, [rbp - 0x30]
mov rdx, rdi
call fcn.1400adc17
mov ebx, dword [rbp + 0x4f0]
mov r15, qword [rbp + 0x328]
mov rdi, qword [rbp - 0x20]
lea r14, [rbp + 0x360]
jmp 0x1400afbd1
push 0xffffffffffffffff
pop rcx
call qword [sym.imp.kernel32.dll_CloseHandle]
jmp 0x1400afb3c
mov rcx, qword [rbp + 0x428]
call qword [sym.imp.kernel32.dll_CloseHandle]
mov rcx, qword [rbp + 0x420]
mov rdx, qword [rbp + 0x3b0]
call fcn.14000e02a
mov rdx, qword [rbp + 0x2f0]
mov rcx, qword [rbp + 0x440]
call fcn.14000e02a
mov ebx, dword [rbp + 0x4f0]
lea r14, [rbp + 0x360]
mov r15, qword [rbp + 0x408]
mov rax, qword [rbp + 0x400]
mov qword [rbp + 0x370], rax
movups xmm0, xmmword [rbp + 0x3f0]
movaps xmmword [rbp + 0x360], xmm0
inc r12d
movaps xmm0, xmmword [rbp + 0x360]
movaps xmmword [rbp + 0x3f0], xmm0
mov rax, qword [rbp + 0x370]
mov qword [rbp + 0x400], rax
mov qword [rbp + 0x408], r15
jmp 0x1400af5a3
mov ebx, dword [rbp + 0x4f0]
lea r14, [rbp + 0x360]
mov r15, qword [rbp + 0x328]
imul rcx, rdi, 0x90
add rcx, qword [rbp - 0x30]
mov r8d, 0x90
lea rdx, [rbp + 0x1f0]
call sub.msvcrt.dll_memcpy
inc rdi
mov qword [rbp + 0x370], rdi
movaps xmm0, xmmword [rbp - 0x30]
jmp 0x1400afb8b
movups xmm0, xmmword [rbp + 0x3f0]
movups xmm1, xmmword [rbp + 0x400]
movaps xmmword [rbp + 0x2c0], xmm1
movaps xmmword [rbp + 0x2b0], xmm0
and qword [rbp + 0x200], 0
xorps xmm0, xmm0
movaps xmmword [rbp + 0x1f0], xmm0
cmp qword [rbp + 0x2c0], 0
je 0x1400afdd4
movups xmmword [rbp - 0x18], xmm0
movaps xmm0, xmmword [rbp + 0x2b0]
movaps xmmword [rbp - 0x30], xmm0
mov rax, qword [rbp + 0x2c0]
mov qword [rbp - 0x20], rax
push 8
pop rcx
push 0x28
pop rdx
call fcn.14007ef1d
test rax, rax
je 0x1400afeeb
movaps xmm0, xmmword [rbp - 0x30]
movaps xmm1, xmmword [rbp - 0x20]
mov rcx, qword [rbp - 0x10]
mov qword [rax + 0x20], rcx
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
xorps xmm0, xmm0
movups xmmword [rax + 0x18], xmm0
mov qword [rbp + 0x1f0], rax
mov qword [rbp + 0x1f8], rax
push 1
pop rax
mov qword [rbp + 0x200], rax
mov rcx, qword [rbp + 0x3b8]
mov qword [rcx + 0x10], rax
mov rax, qword [rbp + 0x1f0]
mov qword [rcx], rax
mov rax, qword [rbp + 0x1f8]
mov qword [rcx + 8], rax
jmp 0x1400afdef
call fcn.14008158c
mov rsi, qword [rax]
lea rbx, [rsi + 0x80]
call fcn.140083865
test rax, rax
je 0x1400afe0a
mov r14, rax
cmp qword [rax + 0x110], rsi
je 0x1400afebd
mov rax, r14
add rax, 0x110
mov rdx, qword [r14 + 0x100]
push 9
pop rcx
lea r8, [rbp + 0x1f0]
lea rsi, [rbp + 0x360]
mov rdi, r8
rep movsq qword [rdi], qword [rsi]
mov qword [r8 + 0x80], rax
and qword [r8 + 0x88], 0
mov qword [r8 + 0x90], rdx
mov al, 1
mov byte [r8 + 0x98], al
and qword [r8 + 0x48], 0
mov byte [rbp + 0x455], al
lea rdx, [0x1400b08b1]
mov rcx, rbx
call fcn.140083cef
lea rdx, [rbp + 0x270]
mov byte [rbp + 0x455], 1
mov rcx, r14
call fcn.1400ae0fc
lea rcx, [rbp - 0x30]
lea rdx, [rbp + 0x1f0]
mov r8d, 0xa0
call sub.msvcrt.dll_memcpy
lea rdx, [rbp + 0x18]
mov byte [rbp + 0x455], 0
lea rcx, [rbp + 0x3f0]
call fcn.1400adf57
jmp 0x1400af51a
mov r8, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x28]
mov r9, qword [rbp - 0x20]
mov qword [rbp - 0x30], rax
and qword [rbp - 0x28], 0
mov qword [rbp - 0x20], rcx
mov rax, r8
mov rcx, r9
mov r8, qword [rbp + 0x3b8]
mov qword [r8], rax
mov qword [r8 + 8], rdx
mov qword [r8 + 0x10], rcx
lea rcx, [rbp - 0x30]
call fcn.1400add89
jmp 0x1400afdef
mov rax, qword [rbp + 0x3b8]
movups xmmword [rax], xmm0
and qword [rax + 0x10], 0
lea rcx, [rbp + 0x2b0]
call fcn.14000f008
movaps xmm6, xmmword [rbp + 0x460]
add rsp, 0x4f8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
xor ecx, ecx
call fcn.1400ae2b2
lea rdx, [rbp + 0x1f8]
push 9
pop rcx
lea rsi, [rbp + 0x360]
mov rdi, rdx
rep movsq qword [rdi], qword [rsi]
mov qword [rdx - 8], rax
and qword [rdx + 0x48], 0
mov byte [rbp + 0x456], 1
lea rdx, [0x1400b0b09]
lea r8, [rbp + 0x1f0]
mov rcx, rbx
call fcn.140083cef
mov rcx, qword [rbp + 0x1f0]
mov byte [rbp + 0x456], 1
call fcn.140081516
lea rcx, [rbp - 0x30]
lea rdx, [rbp + 0x1f0]
mov r8d, 0x88
call sub.msvcrt.dll_memcpy
lea rdx, [rbp + 0x20]
mov byte [rbp + 0x456], 0
lea rcx, [rbp + 0x3c0]
call fcn.1400adf57
movups xmm0, xmmword [rbp + 0x3c0]
movups xmm1, xmmword [rbp + 0x3d0]
movups xmm2, xmmword [rbp + 0x3e0]
movaps xmmword [rbp + 0x3f0], xmm0
movaps xmmword [rbp + 0x400], xmm1
movaps xmmword [rbp + 0x410], xmm2
jmp 0x1400af51a
lea rcx, [rbp + 0x3f0]
lea rdx, [rbp + 0x360]
mov r8, r14
jmp 0x1400af512
lea rcx, str.assertion_failed:_index___self.range.len__C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_rayon_1.7.0_src_range.rs
lea r8, [0x14015e2e0]
push 0x2b
pop rdx
call fcn.14011a470
ud2
push 8
pop rcx
push 0x28
pop rdx
call fcn.14011a0d0
ud2