Function at 0x14000db40
Capabilities:
Get storage device properties

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xf]
sub rsp, 0x100
mov rax, qword [0x140050040]
xor rax, rsp
mov qword [rbp - 1], rax
movzx edi, r8b
mov r15, rdx
mov r12, rcx
mov qword [rsp + 0x40], rcx
test rdx, rdx
je 0x14000de76
cmp qword [rcx], 0
je 0x14000de76
mov esi, r9d
mov r14d, dword [rbp + 0x77]
xor ebx, ebx
mov qword [rbp - 0x69], rbx
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x61], xmm0
mov qword [rbp - 0x51], rbx
mov qword [rbp - 0x49], rbx
lea ecx, [rbx + 0x28]
call fcn.1400119bc
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbp - 0x51], rax
mov qword [rbp - 0x41], rbx
mov qword [rbp - 0x39], rbx
lea ecx, [rbx + 0x30]
call fcn.1400119bc
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbp - 0x41], rax
lea r8d, [rbx + 2]
lea rdx, [rbp - 0x71]
mov rcx, r12
call fcn.14000ccc0
test al, al
je 0x14000de4e
mov rdx, qword [rbp - 0x41]
mov rax, qword [rdx + 8]
mov rcx, rdx
cmp byte [rax + 0x19], bl
jne 0x14000dc2b
cmp byte [rax + 0x1a], dil
jae 0x14000dc1f
mov rax, qword [rax + 0x10]
jmp 0x14000dc25
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x14000dc13
cmp byte [rcx + 0x19], 0
jne 0x14000dc37
cmp dil, byte [rcx + 0x1a]
jae 0x14000dc3a
mov rcx, rdx
cmp rcx, rdx
je 0x14000de4e
cmp dword [rcx + 0x1f], 0
jne 0x14000de4e
mov eax, dword [rcx + 0x2c]
cmp rsi, rax
jae 0x14000de4e
mov edi, dword [rcx + 0x24]
add rdi, rsi
mov ecx, dword [rcx + 0x28]
lea rax, [r14 - 1]
add rax, rdi
cmp rcx, rax
cmovae rcx, rax
sub rcx, rdi
lea r14, [rcx + 1]
mov esi, 0x10
mov rax, qword [r12]
mov rcx, qword [rax]
movabs r12, 0xbdd2b899406f74af
test rcx, rcx
je 0x14000dcf8
mov qword [rsp + 0x54], rbx
xorps xmm0, xmm0
movups xmmword [rbp - 0x21], xmm0
movups xmmword [rbp - 0x11], xmm0
mov dword [rsp + 0x50], 1
mov qword [rsp + 0x38], rbx
lea rax, [rsp + 0x68]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x20
lea rax, [rbp - 0x21]
mov qword [rsp + 0x20], rax
lea r9d, [rsi - 4]
lea r8, [rsp + 0x50]
mov edx, 0x2d1400
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x14000dcf8
mov esi, dword [rbp - 0x19]
mov rax, r12
mul rsi
sub rsi, rdx
shr rsi, 1
add rsi, rdx
shr rsi, 0xb
xor edx, edx
mov rax, r14
div rsi
mov qword [rsp + 0x68], rdx
lea r12, [rax + 1]
test rdx, rdx
cmove r12, rax
imul r14, r14, 0x930
mov r13, qword [r15]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov edx, 8
test r13, r13
je 0x14000dd49
mov r9, r14
mov r8, r13
call qword [sym.imp.KERNEL32.dll_HeapReAlloc]
test rax, rax
je 0x14000dd62
mov qword [r15], rax
mov al, 1
mov qword [r15 + 8], r14
jmp 0x14000dd64
mov r8, r14
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [r15], rax
test rax, rax
je 0x14000dd62
mov al, 1
mov qword [r15 + 8], r14
jmp 0x14000dd64
xor al, al
test al, al
je 0x14000de4e
mov r15, qword [r15]
mov r13d, ebx
mov dword [rbp - 0x75], 2
mov r14, rbx
test r12, r12
je 0x14000de31
imul rax, rsi, 0x930
mov qword [rsp + 0x50], rax
mov rax, rsi
shl rax, 0xb
mov qword [rsp + 0x48], rax
shl rdi, 0xb
mov qword [rsp + 0x70], rdi
mov ecx, esi
mov dword [rbp - 0x79], ecx
lea rax, [r14 + 1]
mov r14, rax
cmp rax, r12
jne 0x14000ddc5
mov rax, qword [rsp + 0x68]
test rax, rax
cmovne ecx, eax
mov dword [rbp - 0x79], ecx
imul eax, ecx, 0x930
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx]
mov qword [rsp + 0x38], rbx
lea rdx, [rsp + 0x60]
mov qword [rsp + 0x30], rdx
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r15
mov r9d, 0x10
lea r8, [rsp + 0x70]
mov edx, 0x2403e
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x14000de31
mov ecx, dword [rsp + 0x60]
add r13d, ecx
mov eax, dword [rbp - 0x79]
imul rdx, rax, 0x930
cmp rcx, rdx
jne 0x14000de31
add rdi, qword [rsp + 0x48]
add r15, qword [rsp + 0x50]
cmp r14, r12
jb 0x14000dda1
mov ebx, r13d
movabs rax, 0xbdd2b899406f74af
mul rbx
sub rbx, rdx
shr rbx, 1
add rbx, rdx
shr rbx, 0xb
lea rdx, [rbp - 0x41]
lea rcx, [rbp - 0x41]
call fcn.140009220
lea rdx, [rbp - 0x51]
lea rcx, [rbp - 0x51]
call fcn.1400092a0
lea rcx, [rbp - 0x69]
call fcn.1400076a0
mov rax, rbx
jmp 0x14000de78
xor eax, eax
mov rcx, qword [rbp - 1]
xor rcx, rsp
call fcn.1400118b0
mov rbx, qword [rsp + 0x150]
add rsp, 0x100
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret