Function at 0x1400e7f30
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, 0x3b8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x320], xmm7
movaps xmmword [rbp + 0x310], xmm6
mov qword [rbp + 0x308], 0xfffffffffffffffe
mov r14, rdx
mov qword [rbp + 0x238], rcx
mov rsi, qword [rdx]
mov r15d, dword [rdx + 8]
mov r13d, dword [rdx + 0xc]
lea r12, [rbp + 0x2f0]
xorps xmm6, xmm6
movdqa xmm7, xmmword [0x14016e800]
mov qword [rbp + 0x2e8], rsi
jmp 0x1400e7faa
mov rsi, qword [rbp + 0x2e8]
mov r15d, edi
cmp r15d, r13d
jae 0x1400e8680
lea edi, [r15 + 1]
mov dword [r14 + 8], edi
mov eax, dword [rsi]
bt eax, r15d
jae 0x1400e7fa7
add r15d, 0x41
mov word [rbp + 0x2f0], r15w
mov dword [rbp + 0x2f2], 0x5c003a
mov word [rbp + 0x2f6], 0
mov rcx, r12
call sub.kernel32.dll_GetDriveTypeW
mov ebx, eax
and eax, 0xfffffffe
cmp eax, 2
jne 0x1400e7fa7
mov r8d, 0x20a
lea rsi, [rbp - 0x36]
mov rcx, rsi
xor edx, edx
call sub.VCRUNTIME140.dll_memset
movaps xmmword [rbp + 0x2c0], xmm6
movaps xmmword [rbp + 0x2b0], xmm6
movaps xmmword [rbp + 0x2a0], xmm6
movaps xmmword [rbp + 0x290], xmm6
lea rax, [rbp + 0x290]
mov qword [rsp + 0x30], rax
movups xmmword [rsp + 0x20], xmm6
mov dword [rsp + 0x38], 0x20
mov rcx, r12
mov rdx, rsi
mov r8d, 0x105
xor r9d, r9d
call sub.kernel32.dll_GetVolumeInformationW
test eax, eax
je 0x1400e7fa0
mov ecx, 5
cmp word [rbp + rcx*2 - 0x40], 0
je 0x1400e80b1
nop word cs:[rax + rax]
cmp word [rbp + rcx*2 - 0x3e], 0
je 0x1400e80c3
cmp word [rbp + rcx*2 - 0x3c], 0
je 0x1400e80d5
cmp rcx, 0x107
je 0x1400e80e7
cmp word [rbp + rcx*2 - 0x3a], 0
je 0x1400e80ee
cmp word [rbp + rcx*2 - 0x38], 0
je 0x1400e8359
cmp word [rbp + rcx*2 - 0x36], 0
je 0x1400e80f2
add rcx, 6
cmp word [rbp + rcx*2 - 0x40], 0
jne 0x1400e8070
add rcx, 0xfffffffffffffffb
cmp rcx, 0x106
jb 0x1400e80ff
jmp 0x1400e8a19
add rcx, 0xfffffffffffffffc
cmp rcx, 0x106
jb 0x1400e80ff
jmp 0x1400e8a19
add rcx, 0xfffffffffffffffd
cmp rcx, 0x106
jb 0x1400e80ff
jmp 0x1400e8a19
mov ecx, 0x105
jmp 0x1400e80ff
add rcx, 0xfffffffffffffffe
cmp rcx, 0x106
jae 0x1400e8a19
lea rax, [rcx*2 - 0x36]
add rax, rbp
lea rcx, [rbp - 0x36]
mov qword [rbp + 0x258], rcx
mov qword [rbp + 0x260], rax
mov word [rbp + 0x268], 0
lea rcx, [rbp + 0x1f8]
lea rdx, [rbp + 0x258]
call fcn.1400e8d20
mov rax, qword [rbp + 0x1f8]
mov qword [rbp + 0x280], rax
mov rax, qword [rbp + 0x208]
mov qword [rbp + 0x250], rax
movzx r12d, word [rbp + 0x290]
test r12w, r12w
je 0x1400e8329
cmp word [rbp + 0x292], 0
mov word [rbp + 0x306], r12w
je 0x1400e8343
cmp word [rbp + 0x294], 0
je 0x1400e834e
cmp word [rbp + 0x296], 0
je 0x1400e836e
cmp word [rbp + 0x298], 0
je 0x1400e8379
cmp word [rbp + 0x29a], 0
je 0x1400e8384
cmp word [rbp + 0x29c], 0
je 0x1400e838f
cmp word [rbp + 0x29e], 0
je 0x1400e839a
cmp word [rbp + 0x2a0], 0
je 0x1400e83a5
cmp word [rbp + 0x2a2], 0
je 0x1400e83b0
cmp word [rbp + 0x2a4], 0
je 0x1400e83bb
cmp word [rbp + 0x2a6], 0
je 0x1400e83c6
cmp word [rbp + 0x2a8], 0
je 0x1400e83d1
cmp word [rbp + 0x2aa], 0
je 0x1400e83dc
cmp word [rbp + 0x2ac], 0
je 0x1400e83e7
cmp word [rbp + 0x2ae], 0
je 0x1400e83ef
cmp word [rbp + 0x2b0], 0
je 0x1400e83f7
cmp word [rbp + 0x2b2], 0
je 0x1400e83ff
cmp word [rbp + 0x2b4], 0
je 0x1400e8407
cmp word [rbp + 0x2b6], 0
je 0x1400e840f
cmp word [rbp + 0x2b8], 0
je 0x1400e8417
cmp word [rbp + 0x2ba], 0
je 0x1400e841f
cmp word [rbp + 0x2bc], 0
je 0x1400e8427
cmp word [rbp + 0x2be], 0
je 0x1400e842f
cmp word [rbp + 0x2c0], 0
je 0x1400e8437
cmp word [rbp + 0x2c2], 0
je 0x1400e843f
cmp word [rbp + 0x2c4], 0
je 0x1400e8447
cmp word [rbp + 0x2c6], 0
je 0x1400e844f
cmp word [rbp + 0x2c8], 0
je 0x1400e8457
cmp word [rbp + 0x2ca], 0
je 0x1400e845f
cmp word [rbp + 0x2cc], 0
je 0x1400e8467
cmp word [rbp + 0x2ce], 1
mov r12d, 0x20
sbb r12, 0
jmp 0x1400e846d
mov eax, 1
mov qword [rbp + 0x2e0], rax
xor eax, eax
mov qword [rbp + 0x2f8], rax
jmp 0x1400e8548
mov r12d, 1
jmp 0x1400e846d
mov r12d, 2
jmp 0x1400e846d
dec rcx
cmp rcx, 0x106
jb 0x1400e80ff
jmp 0x1400e8a19
mov r12d, 3
jmp 0x1400e846d
mov r12d, 4
jmp 0x1400e846d
mov r12d, 5
jmp 0x1400e846d
mov r12d, 6
jmp 0x1400e846d
mov r12d, 7
jmp 0x1400e846d
mov r12d, 8
jmp 0x1400e846d
mov r12d, 9
jmp 0x1400e846d
mov r12d, 0xa
jmp 0x1400e846d
mov r12d, 0xb
jmp 0x1400e846d
mov r12d, 0xc
jmp 0x1400e846d
mov r12d, 0xd
jmp 0x1400e846d
mov r12d, 0xe
jmp 0x1400e846d
mov r12d, 0xf
jmp 0x1400e846d
mov r12d, 0x10
jmp 0x1400e846d
mov r12d, 0x11
jmp 0x1400e846d
mov r12d, 0x12
jmp 0x1400e846d
mov r12d, 0x13
jmp 0x1400e846d
mov r12d, 0x14
jmp 0x1400e846d
mov r12d, 0x15
jmp 0x1400e846d
mov r12d, 0x16
jmp 0x1400e846d
mov r12d, 0x17
jmp 0x1400e846d
mov r12d, 0x18
jmp 0x1400e846d
mov r12d, 0x19
jmp 0x1400e846d
mov r12d, 0x1a
jmp 0x1400e846d
mov r12d, 0x1b
jmp 0x1400e846d
mov r12d, 0x1c
jmp 0x1400e846d
mov r12d, 0x1d
jmp 0x1400e846d
mov r12d, 0x1e
movzx eax, byte [0x1402448a8]
mov rax, qword [0x1402443c8]
test rax, rax
jne 0x1400e8496
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1400e8a0a
mov qword [0x1402443c8], rax
mov rcx, rax
xor edx, edx
mov r8, r12
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1400e8a0a
cmp r12, 0xf
mov qword [rbp + 0x2f8], r12
mov qword [rbp + 0x2e0], rax
ja 0x1400e84c8
xor edx, edx
jmp 0x1400e8660
mov edx, r12d
and edx, 0x30
movdqa xmm0, xmmword [rbp + 0x290]
pand xmm0, xmm7
movdqa xmm1, xmmword [rbp + 0x2a0]
pand xmm1, xmm7
packuswb xmm0, xmm1
movdqu xmmword [rax], xmm0
cmp rdx, 0x10
je 0x1400e866e
movdqa xmm0, xmmword [rbp + 0x2b0]
pand xmm0, xmm7
movdqa xmm1, xmmword [rbp + 0x2c0]
pand xmm1, xmm7
packuswb xmm0, xmm1
movdqu xmmword [rax + 0x10], xmm0
cmp edx, 0x20
je 0x1400e866e
movdqa xmm0, xmmword [rbp + 0x2d0]
pand xmm0, xmm7
movdqa xmm1, xmmword [rbp + 0x2e0]
pand xmm1, xmm7
packuswb xmm0, xmm1
movdqu xmmword [rax + 0x20], xmm0
jmp 0x1400e866e
movabs rax, 0x5c002e005c005c
mov qword [rbp + 0x218], rax
mov word [rbp + 0x220], r15w
mov dword [rbp + 0x222], 0x3a
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 3
lea rcx, [rbp + 0x218]
xor edx, edx
mov r8d, 3
xor r9d, r9d
call sub.kernel32.dll_CreateFileW
cmp rax, 0xffffffffffffffff
je 0x1400e85f6
mov qword [rbp + 0x288], rax
mov qword [rbp + 0x1e0], 0
mov qword [rbp + 0x258], 0
lea rcx, [rbp + 0x2f0]
xor edx, edx
lea r8, [rbp + 0x1e0]
lea r9, [rbp + 0x258]
call sub.kernel32.dll_GetDiskFreeSpaceExW
test eax, eax
je 0x1400e8605
mov r15, qword [rbp + 0x1e0]
test r15, r15
mov rcx, qword [rbp + 0x288]
je 0x1400e860c
jmp 0x1400e86b0
mov rcx, 0xffffffffffffffff
call qword [sym.imp.kernel32.dll_CloseHandle]
jmp 0x1400e8612
mov rcx, qword [rbp + 0x288]
call qword [sym.imp.kernel32.dll_CloseHandle]
test r12w, r12w
je 0x1400e862e
mov rcx, qword [0x1402443c8]
xor edx, edx
mov r8, qword [rbp + 0x2e0]
call qword [sym.imp.kernel32.dll_HeapFree]
cmp qword [rbp + 0x200], 0
lea r12, [rbp + 0x2f0]
je 0x1400e7fa0
mov rcx, qword [0x1402443c8]
xor edx, edx
mov r8, qword [rbp + 0x280]
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x1400e7fa0
movzx ecx, byte [rbp + rdx*2 + 0x290]
mov byte [rax + rdx], cl
inc rdx
cmp r12, rdx
jne 0x1400e8660
movzx r12d, word [rbp + 0x306]
jmp 0x1400e8548
mov rax, qword [rbp + 0x238]
mov qword [rax], 3
movaps xmm6, xmmword [rbp + 0x310]
movaps xmm7, xmmword [rbp + 0x320]
add rsp, 0x3b8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rsi, qword [rbp + 0x258]
mov qword [rbp + 0x1d4], 7
mov byte [rbp + 0x1dc], 0
mov dword [rbp + 0x230], 0
mov qword [rbp + 0x228], 0
mov dword [rbp + 0x2dc], 0
lea rax, [rbp + 0x2dc]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x228]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x28], 0xc
lea r8, [rbp + 0x1d4]
mov edx, 0x2d1400
mov r9d, 0xc
call qword [sym.imp.kernel32.dll_DeviceIoControl]
xor edi, edi
cmp byte [rbp + 0x230], 0
sete dil
cmp dword [rbp + 0x2dc], 0xc
mov ecx, 2
cmovne rdi, rcx
test eax, eax
cmove rdi, rcx
mov eax, 1
mov qword [rbp + 0x2e8], rax
mov r13d, 1
mov r14, qword [rbp + 0x250]
test r14, r14
je 0x1400e87b3
js 0x1400e8a5b
movzx eax, byte [0x1402448a8]
mov rcx, qword [0x1402443c8]
test rcx, rcx
jne 0x1400e879c
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1400e8a3d
mov rcx, rax
mov qword [0x1402443c8], rax
xor edx, edx
mov r8, r14
call qword [sym.imp.kernel32.dll_HeapAlloc]
mov r13, rax
test rax, rax
je 0x1400e8a3d
mov rcx, r13
mov rdx, qword [rbp + 0x280]
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [rbp + 0x258]
mov ecx, dword [rbp + 0x25b]
mov dword [rbp + 0x270], eax
mov dword [rbp + 0x273], ecx
mov r8, qword [rbp + 0x2f8]
test r8, r8
mov qword [rbp + 0x240], r13
je 0x1400e8849
movzx eax, byte [0x1402448a8]
mov rcx, qword [0x1402443c8]
test rcx, rcx
jne 0x1400e8823
call qword [sym.imp.kernel32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x2f8]
test rax, rax
je 0x1400e8a4c
mov rcx, rax
mov qword [0x1402443c8], rax
xor edx, edx
mov r8, qword [rbp + 0x2f8]
call qword [sym.imp.kernel32.dll_HeapAlloc]
mov r8, qword [rbp + 0x2f8]
mov qword [rbp + 0x2e8], rax
test rax, rax
je 0x1400e8a4c
mov rcx, qword [rbp + 0x2e8]
mov rdx, qword [rbp + 0x2e0]
call sub.VCRUNTIME140.dll_memcpy
movzx eax, byte [0x1402448a8]
mov rcx, qword [0x1402443c8]
test rcx, rcx
jne 0x1400e8888
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x1400e8a2c
mov rcx, rax
mov qword [0x1402443c8], rax
mov r8d, 8
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x1400e8a2c
mov rcx, qword [rbp + 0x2f0]
mov qword [rbp + 0x248], rax
mov qword [rax], rcx
lea rax, [rbp + 0x2f0]
mov qword [rbp + 0x258], rax
lea rax, [rbp + 0x2f6]
mov qword [rbp + 0x260], rax
mov word [rbp + 0x268], 0
lea rcx, [rbp + 0x1e0]
lea rdx, [rbp + 0x258]
call fcn.1400e8d20
cmp ebx, 2
sete bl
mov eax, dword [rbp + 0x270]
mov ecx, dword [rbp + 0x273]
mov dword [rbp + 0x278], eax
mov dword [rbp + 0x27b], ecx
mov r14, qword [rbp + 0x1e0]
movups xmm6, xmmword [rbp + 0x1e8]
mov rcx, qword [rbp + 0x288]
call qword [sym.imp.kernel32.dll_CloseHandle]
test r12w, r12w
mov r12, qword [rbp + 0x240]
je 0x1400e8944
mov rcx, qword [0x1402443c8]
xor edx, edx
mov r8, qword [rbp + 0x2e0]
call qword [sym.imp.kernel32.dll_HeapFree]
cmp qword [rbp + 0x200], 0
je 0x1400e8964
mov rcx, qword [0x1402443c8]
xor edx, edx
mov r8, qword [rbp + 0x280]
call qword [sym.imp.kernel32.dll_HeapFree]
mov rdx, qword [rbp + 0x238]
mov r8, qword [rbp + 0x250]
mov qword [rdx + 0x20], r8
mov byte [rdx + 0x28], 0
mov eax, dword [rbp + 0x278]
mov ecx, dword [rbp + 0x27b]
mov dword [rdx + 0x29], eax
mov dword [rdx + 0x2c], ecx
mov eax, dword [rbp + 0x211]
mov ecx, dword [rbp + 0x214]
mov dword [rdx + 0x89], eax
mov dword [rdx + 0x8c], ecx
mov qword [rdx], rdi
mov qword [rdx + 8], 0xffffffffffffffff
mov qword [rdx + 0x10], r12
mov qword [rdx + 0x18], r8
mov rax, qword [rbp + 0x2e8]
mov qword [rdx + 0x30], rax
mov rax, qword [rbp + 0x2f8]
mov qword [rdx + 0x38], rax
mov qword [rdx + 0x40], rax
mov rax, qword [rbp + 0x248]
mov qword [rdx + 0x48], rax
mov qword [rdx + 0x50], 4
mov qword [rdx + 0x58], 4
mov qword [rdx + 0x60], r14
movups xmmword [rdx + 0x68], xmm6
mov qword [rdx + 0x78], r15
mov qword [rdx + 0x80], rsi
mov byte [rdx + 0x88], bl
jmp 0x1400e868e
mov ecx, 1
mov rdx, r12
call fcn.140162bd0
jmp 0x1400e8a60
lea r8, str.C:Users_andrea.cargo_registry_srcindex.crates.io_6f17d22bba15001f_sysinfo_0.29.10_srcwindowsdisk.rs_7e_
mov edx, 0x105
call fcn.1401644b0
ud2
mov ecx, 2
mov edx, 8
call fcn.140162bd0
jmp 0x1400e8a60
mov ecx, 1
mov rdx, r14
call fcn.140162bd0
jmp 0x1400e8a60
mov ecx, 1
mov rdx, r8
call fcn.140162bd0
jmp 0x1400e8a60
call fcn.14001f7e0
ud2