Function at 0x14000b3f0
Capabilities:
Get storage device properties

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x4a8
call fcn.14008e3b0
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x64], 0
mov dword [rsp + 0x6c], 0
mov qword [rsp + 0x58], 0
lea r13, [rsp + 0x70]
mov r8d, 0x423
xor edx, edx
mov rcx, r13
call sub.msvcrt.dll_memset
mov rcx, qword [0x140192e40]
call fcn.140085438
mov esi, 0x41
lea r12, str.._
lea rbp, [0x140166fc0]
lea rdi, [rsp + 0x50]
lea r15, [rsp + 0x64]
lea r14, [rsp + 0x58]
jmp 0x14000b696
cmp cx, 7
je 0x14000b853
movzx edx, byte [rsp + 0x7a]
mov byte [rax + 0x24], dl
mov eax, dword [rsp + 0x80]
test eax, eax
jle 0x14000b503
call fcn.14008e420
call fcn.14008e420
call fcn.14008e420
call fcn.14008e420
movsxd rcx, dword [rsp + 0x80]
add rcx, r13
mov qword [rsp + 0x48], rcx
call fcn.14008e480
mov r9d, eax
mov r8d, 2
mov edx, 0x400
mov rcx, qword [rsp + 0x48]
call fcn.14008d9f0
call fcn.14008e5d0
mov qword [rsp + 0x48], rax
call fcn.14008e480
mov edx, eax
mov rcx, qword [rsp + 0x48]
call fcn.14008b4a0
call fcn.14008e480
mov rdx, qword [0x140192e48]
lea rcx, [rdx + 0x25]
mov edx, eax
call fcn.14008e790
mov eax, dword [rsp + 0x84]
test eax, eax
jle 0x14000b581
call fcn.14008e420
call fcn.14008e420
call fcn.14008e420
call fcn.14008e420
movsxd rcx, dword [rsp + 0x84]
add rcx, r13
mov qword [rsp + 0x48], rcx
call fcn.14008e480
mov r9d, eax
mov r8d, 2
mov edx, 0x400
mov rcx, qword [rsp + 0x48]
call fcn.14008d9f0
call fcn.14008e5d0
mov qword [rsp + 0x48], rax
call fcn.14008e480
mov edx, eax
mov rcx, qword [rsp + 0x48]
call fcn.14008b4a0
call fcn.14008e480
mov rdx, qword [0x140192e48]
lea rcx, [rdx + 0x2d]
mov edx, eax
call fcn.14008e790
mov eax, dword [rsp + 0x7c]
test eax, eax
jle 0x14000b5f9
call fcn.14008e420
call fcn.14008e420
call fcn.14008e420
call fcn.14008e420
movsxd rcx, dword [rsp + 0x7c]
add rcx, r13
mov qword [rsp + 0x48], rcx
call fcn.14008e480
mov r9d, eax
mov r8d, 2
mov edx, 0x400
mov rcx, qword [rsp + 0x48]
call fcn.14008d9f0
call fcn.14008e5d0
mov qword [rsp + 0x48], rax
call fcn.14008e480
mov edx, eax
mov rcx, qword [rsp + 0x48]
call fcn.14008b4a0
call fcn.14008e480
mov rdx, qword [0x140192e48]
lea rcx, [rdx + 0x35]
mov edx, eax
call fcn.14008e790
mov eax, dword [rsp + 0x88]
test eax, eax
jle 0x14000b680
call fcn.14008e420
call fcn.14008e420
call fcn.14008e420
call fcn.14008e420
movsxd rcx, dword [rsp + 0x88]
add rcx, r13
mov qword [rsp + 0x48], rcx
call fcn.14008e480
mov r9d, eax
mov r8d, 2
mov edx, 0x400
mov rcx, qword [rsp + 0x48]
call fcn.14008d9f0
call fcn.14008e5d0
mov qword [rsp + 0x48], rax
call fcn.14008e480
mov edx, eax
mov rcx, qword [rsp + 0x48]
call fcn.14008b4a0
call fcn.14008e480
mov rcx, qword [0x140192e48]
add rcx, 0x3d
mov edx, eax
call fcn.14008e790
nop word [rax + rax]
mov rcx, rbx
call sub.KERNEL32.dll_CloseHandle
add rsi, 1
cmp rsi, 0x5b
je 0x14000b86f
call fcn.14008e420
mov rcx, r12
call fcn.14008e870
call fcn.14008e420
call fcn.14008e420
call fcn.14008e480
mov edx, eax
mov rcx, rsi
call fcn.14008bce0
call fcn.14008e480
mov rcx, rbp
call fcn.14008e870
call fcn.14008e480
mov edx, eax
mov rcx, rdi
call fcn.14008e790
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 3
xor r9d, r9d
mov r8d, 3
xor edx, edx
mov rcx, qword [rsp + 0x50]
call sub.KERNEL32.dll_CreateFileW
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x14000b680
mov rcx, qword [0x140192e40]
call fcn.1400854cc
xor eax, eax
nop dword [rax + rax]
mov byte [rsp + rax + 0x93], 0
add rax, 1
cmp rax, 0x400
jne 0x14000b728
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], 0x423
mov qword [rsp + 0x20], r13
mov r9d, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov r8, r15
mov edx, 0x2d1400
mov rcx, rbx
call sub.KERNEL32.dll_DeviceIoControl
test rax, rax
je 0x14000b680
call fcn.14008e420
call fcn.14008e420
call fcn.14008e420
call fcn.14008e420
call fcn.14008e480
mov edx, eax
mov rcx, rsi
call fcn.14008bce0
call fcn.14008e5d0
mov qword [rsp + 0x48], rax
call fcn.14008e480
mov edx, eax
mov rcx, qword [rsp + 0x48]
call fcn.14008b4a0
call fcn.14008e480
mov rdx, qword [0x140192e48]
lea rcx, [rdx + 0x10]
mov edx, eax
call fcn.14008e790
movsx ecx, word [rsp + 0x8c]
mov rax, qword [0x140192e48]
mov dword [rax + 0x18], ecx
test cx, cx
je 0x14000b81b
cmp cx, 3
je 0x14000b837
jg 0x14000b473
cmp cx, 1
je 0x14000b81b
cmp cx, 2
jne 0x14000b47d
lea rcx, [rax + 0x1c]
lea rdx, str.Atapi_Device
call fcn.14008e8e0
mov rax, qword [0x140192e48]
jmp 0x14000b47d
lea rcx, [rax + 0x1c]
lea rdx, str.SCSI_Device
call fcn.14008e8e0
mov rax, qword [0x140192e48]
jmp 0x14000b47d
lea rcx, [rax + 0x1c]
lea rdx, str.Ata_Device
call fcn.14008e8e0
mov rax, qword [0x140192e48]
jmp 0x14000b47d
lea rcx, [rax + 0x1c]
lea rdx, str.USB_Device
call fcn.14008e8e0
mov rax, qword [0x140192e48]
jmp 0x14000b47d
mov rcx, qword [rsp + 0x50]
call fcn.14008e6d0
nop
add rsp, 0x4a8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret