Function at 0x140043220
Capabilities:
Get storage device properties

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xc0
mov rsi, rcx
xor r12d, r12d
mov qword [rbp - 0x21], r12
mov qword [rbp - 0x11], r12
mov qword [rbp - 9], 0xf
mov byte [rbp - 0x21], r12b
lea r8d, [r12 + 0xd]
lea rdx, str.INVALID_MODEL
lea rcx, [rbp - 0x21]
call fcn.140068340
nop
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor edx, edx
lea r8d, [r12 + 3]
lea rcx, str..PhysicalDrive0
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov r14, rax
cmp rax, 0xffffffffffffffff
jne 0x1400432b2
movups xmm0, xmmword [rbp - 0x21]
movups xmmword [rsi], xmm0
movups xmm1, xmmword [rbp - 0x11]
movups xmmword [rsi + 0x10], xmm1
jmp 0x14004357f
lea rax, [sub.KERNEL32.dll_CloseHandle]
mov qword [rbp - 0x41], rax
mov qword [rbp - 0x39], r14
mov qword [rbp - 0x4d], r12
mov dword [rbp - 0x51], r12d
mov qword [rbp + 0x7f], r12
mov dword [rbp + 0x77], r12d
mov qword [rsp + 0x38], r12
lea rax, [rbp + 0x77]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 8
lea rax, [rbp + 0x7f]
mov qword [rsp + 0x20], rax
mov r9d, reloc.SHLWAPI.dll_SHCreateMemStream
lea r8, [rbp - 0x51]
mov edx, 0x2d1400
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x14004332f
movups xmm0, xmmword [rbp - 0x21]
movups xmmword [rsi], xmm0
movups xmm1, xmmword [rbp - 0x11]
movups xmmword [rsi + 0x10], xmm1
mov qword [rbp - 0x11], r12
mov qword [rbp - 9], 0xf
mov byte [rbp - 0x21], al
jmp 0x1400433db
mov edi, dword [rbp + 0x83]
mov ecx, edi
call fcn.14006beb4
mov r15, rax
mov r8d, edi
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov qword [rbp - 0x59], r15
mov qword [rsp + 0x38], r12
lea rax, [rbp + 0x77]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], r15
mov r9d, reloc.SHLWAPI.dll_SHCreateMemStream
lea r8, [rbp - 0x51]
mov edx, 0x2d1400
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x1400433ac
movups xmm0, xmmword [rbp - 0x21]
movups xmmword [rsi], xmm0
movups xmm1, xmmword [rbp - 0x11]
movups xmmword [rsi + 0x10], xmm1
mov qword [rbp - 0x11], r12
mov qword [rbp - 9], 0xf
mov byte [rbp - 0x21], al
mov rcx, r15
call fcn.14006be08
nop
jmp 0x1400433db
mov eax, dword [r15 + 0x10]
test eax, eax
jne 0x1400433ee
movups xmm0, xmmword [rbp - 0x21]
movups xmmword [rsi], xmm0
movups xmm1, xmmword [rbp - 0x11]
movups xmmword [rsi + 0x10], xmm1
mov qword [rbp - 0x11], r12
mov qword [rbp - 9], 0xf
mov byte [rbp - 0x21], al
mov rcx, r15
call fcn.14006be08
nop
test r14, r14
je 0x1400433e9
mov rcx, r14
call sub.KERNEL32.dll_CloseHandle
nop
jmp 0x14004357f
lea rdx, [r15 + rax]
mov qword [rbp - 1], r12
mov qword [rbp + 0xf], r12
mov qword [rbp + 0x17], 0xf
mov byte [rbp - 1], 0
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x140043410
lea rcx, [rbp - 1]
call fcn.140068340
nop
lea r12, [rbp - 1]
mov rax, qword [rbp + 0x17]
cmp rax, 0x10
setae cl
mov byte [rbp + 0x6f], cl
mov rbx, qword [rbp - 1]
cmovae r12, rbx
mov r13, qword [rbp + 0xf]
cmp r13, 0x10
jae 0x14004345a
movups xmm0, xmmword [r12]
mov qword [rbp - 0x29], 0xf
jmp 0x1400434e2
mov rdi, r13
or rdi, 0xf
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
cmova rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x1400434b1
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14004359d
mov rcx, rax
call fcn.14006baac
mov rcx, rax
test rax, rax
je 0x1400434aa
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x1400434bf
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rcx, rcx
je 0x1400434bd
call fcn.14006baac
jmp 0x1400434bf
xor eax, eax
mov qword [rbp - 0x41], rax
lea r8, [r13 + 1]
mov rdx, r12
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov qword [rbp - 0x29], rdi
movups xmm0, xmmword [rbp - 0x41]
mov rax, qword [rbp + 0x17]
movzx ecx, byte [rbp + 0x6f]
mov qword [rbp - 0x31], r13
movups xmmword [rsi], xmm0
movups xmm0, xmmword [rbp - 0x31]
movups xmmword [rsi + 0x10], xmm0
test cl, cl
je 0x14004352a
lea rdx, [rax + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x140043521
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140043521
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.14006be08
nop
mov rcx, r15
call fcn.14006be08
nop
test r14, r14
je 0x140043541
mov rcx, r14
call sub.KERNEL32.dll_CloseHandle
nop
mov rdx, qword [rbp - 9]
cmp rdx, 0x10
jb 0x14004357f
inc rdx
mov rcx, qword [rbp - 0x21]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004357a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004357a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14006be08
mov rax, rsi
mov rbx, qword [rsp + 0x100]
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140006900
nop
int3