Function at 0x14006b137
Capabilities:
Get storage device properties

Disassembly:
push rbp
push r15
mov rax, 0x8e
sub rsp, 8
mov qword [rsp], 0
dec rax
jne 0x14006b141
sub rsp, 0x28
call fcn.1400f9dd0
push qword [0x140276d60]
pop rcx
call fcn.1400f0cfc
mov dword [rsp + 0x28], 1
jmp 0x14006b171
mov rax, DispGetIDsOfNames
cmp eax, dword [rsp + 0x28]
jl 0x14006b805
push rcx
sub rsp, 0x28
call fcn.1400f99b0
add rsp, 0x28
pop rcx
push rax
movabs rcx, str.._
sub rsp, 0x28
call fcn.1400f9a60
add rsp, 0x28
push rcx
sub rsp, 0x20
call fcn.1400f99b0
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call fcn.1400f99b0
add rsp, 0x28
pop rcx
push rax
movsxd r15, dword [rsp + 0x40]
add r15, 0x40
mov rax, r15
push rax
pop rcx
pop rdx
sub rsp, 0x20
call fcn.1400f7000
add rsp, 0x20
pop rax
movabs rcx, 0x14022fd70
sub rsp, 0x28
call fcn.1400f9a60
add rsp, 0x28
lea rcx, [rsp + 0x38]
pop rdx
call fcn.1400f9ad0
sub rsp, 8
push 0
push 0
push 3
push 0
push 3
push 0
push qword [rsp + 0x68]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call sub.KERNEL32.dll_CreateFileW
add rsp, 0x40
mov qword [rsp + 0x38], rax
mov r15, qword [rsp + 0x38]
cmp r15, 0xffffffffffffffff
je 0x14006b7f1
push qword [0x140276d60]
pop rcx
call fcn.1400f0aa0
mov qword [rsp + 0x48], 0
jmp 0x14006b26c
mov rax, 0x3ff
cmp rax, qword [rsp + 0x48]
jl 0x14006b294
lea rbp, [rsp + 0x60]
push rbp
mov rax, qword [rsp + 0x50]
pop rbp
add rbp, rax
mov byte [rbp + 0x23], 0
inc qword [rsp + 0x48]
jno 0x14006b26c
push 0
lea rax, [rsp + 0x490]
mov rax, rax
push rax
push 0x423
lea rax, [rsp + 0x78]
mov rax, rax
push rax
push reloc.OLEAUT32.dll_VariantTimeToDosDateTime
lea rax, [rsp + 0x78]
mov rax, rax
push rax
push 0x2d1400
push qword [rsp + 0x70]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call sub.KERNEL32.dll_DeviceIoControl
add rsp, 0x40
mov qword [rsp + 0x40], rax
cmp qword [rsp + 0x40], 0
je 0x14006b7f1
push rcx
sub rsp, 0x28
call fcn.1400f99b0
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x28
call fcn.1400f99b0
add rsp, 0x28
pop rcx
push rax
push rcx
sub rsp, 0x20
call fcn.1400f99b0
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call fcn.1400f99b0
add rsp, 0x28
pop rcx
push rax
movsxd r15, dword [rsp + 0x50]
add r15, 0x40
mov rax, r15
push rax
pop rcx
pop rdx
sub rsp, 0x20
call fcn.1400f7000
add rsp, 0x20
push rax
call fcn.1400f9a30
mov rdx, rax
pop rax
add qword [rsp], rdx
pop rcx
pop rdx
sub rsp, 0x20
call fcn.1400f5cf0
add rsp, 0x28
mov rbp, qword [0x140276d68]
lea rcx, [rbp + 0x10]
pop rdx
call fcn.1400f9ad0
lea rbp, [rsp + 0x60]
movsx rax, word [rbp + 0x1c]
push rax
mov rbp, qword [0x140276d68]
pop rax
mov dword [rbp + 0x18], eax
movsxd rax, dword [rbp + 0x18]
push rax
xor r15, r15
cmp r15d, dword [rsp]
jne 0x14006b3c7
mov rbp, qword [0x140276d68]
movabs rdx, str.SCSI_Device
lea rcx, [rbp + 0x1c]
sub rsp, 0x28
call fcn.1400f9bb0
add rsp, 0x28
jmp 0x14006b4dc
mov r15, 1
cmp r15d, dword [rsp]
jne 0x14006b3fb
mov rbp, qword [0x140276d68]
movabs rdx, str.SCSI_Device
lea rcx, [rbp + 0x1c]
sub rsp, 0x28
call fcn.1400f9bb0
add rsp, 0x28
jmp 0x14006b4dc
mov r15, 2
cmp r15d, dword [rsp]
jne 0x14006b42f
mov rbp, qword [0x140276d68]
movabs rdx, str.Atapi_Device
lea rcx, [rbp + 0x1c]
sub rsp, 0x28
call fcn.1400f9bb0
add rsp, 0x28
jmp 0x14006b4dc
mov r15, 3
cmp r15d, dword [rsp]
jne 0x14006b460
mov rbp, qword [0x140276d68]
movabs rdx, str.Ata_Device
lea rcx, [rbp + 0x1c]
sub rsp, 0x28
call fcn.1400f9bb0
add rsp, 0x28
jmp 0x14006b4dc
mov r15, 4
cmp r15d, dword [rsp]
jne 0x14006b46f
jmp 0x14006b4dc
mov r15, 5
cmp r15d, dword [rsp]
jne 0x14006b47e
jmp 0x14006b4dc
mov r15, 6
cmp r15d, dword [rsp]
jne 0x14006b48d
jmp 0x14006b4dc
mov r15, 7
cmp r15d, dword [rsp]
jne 0x14006b4be
mov rbp, qword [0x140276d68]
movabs rdx, str.USB_Device
lea rcx, [rbp + 0x1c]
sub rsp, 0x28
call fcn.1400f9bb0
add rsp, 0x28
jmp 0x14006b4dc
mov r15, 8
cmp r15d, dword [rsp]
jne 0x14006b4cd
jmp 0x14006b4dc
mov r15, 0x7f
cmp r15d, dword [rsp]
jne 0x14006b4dc
jmp 0x14006b4dc
pop rax
lea rbp, [rsp + 0x60]
movsx rax, byte [rbp + 0xa]
push rax
mov rbp, qword [0x140276d68]
pop rax
mov byte [rbp + 0x24], al
lea rbp, [rsp + 0x60]
movsxd r15, dword [rbp + 0x10]
and r15, r15
jle 0x14006b5b2
push rcx
sub rsp, 0x28
call fcn.1400f99b0
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x28
call fcn.1400f99b0
add rsp, 0x28
pop rcx
push rax
push rcx
sub rsp, 0x20
call fcn.1400f99b0
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call fcn.1400f99b0
add rsp, 0x28
pop rcx
push rax
push 2
push 0x400
lea rax, [rsp + 0x98]
mov r15, rax
lea rbp, [rsp + 0x98]
movsxd rcx, dword [rbp + 0x10]
add r15, rcx
mov rax, r15
push rax
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.1400f8200
add rsp, 0x20
push rax
call fcn.1400f9a30
mov rdx, rax
pop rax
add qword [rsp], rdx
pop rcx
pop rdx
sub rsp, 0x20
call fcn.1400f5cf0
add rsp, 0x28
mov rbp, qword [0x140276d68]
lea rcx, [rbp + 0x25]
pop rdx
call fcn.1400f9ad0
lea rbp, [rsp + 0x60]
movsxd r15, dword [rbp + 0x14]
and r15, r15
jle 0x14006b671
push rcx
sub rsp, 0x28
call fcn.1400f99b0
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x28
call fcn.1400f99b0
add rsp, 0x28
pop rcx
push rax
push rcx
sub rsp, 0x20
call fcn.1400f99b0
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call fcn.1400f99b0
add rsp, 0x28
pop rcx
push rax
push 2
push 0x400
lea rax, [rsp + 0x98]
mov r15, rax
lea rbp, [rsp + 0x98]
movsxd rcx, dword [rbp + 0x14]
add r15, rcx
mov rax, r15
push rax
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.1400f8200
add rsp, 0x20
push rax
call fcn.1400f9a30
mov rdx, rax
pop rax
add qword [rsp], rdx
pop rcx
pop rdx
sub rsp, 0x20
call fcn.1400f5cf0
add rsp, 0x28
mov rbp, qword [0x140276d68]
lea rcx, [rbp + 0x2d]
pop rdx
call fcn.1400f9ad0
lea rbp, [rsp + 0x60]
movsxd r15, dword [rbp + 0xc]
and r15, r15
jle 0x14006b730
push rcx
sub rsp, 0x28
call fcn.1400f99b0
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x28
call fcn.1400f99b0
add rsp, 0x28
pop rcx
push rax
push rcx
sub rsp, 0x20
call fcn.1400f99b0
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call fcn.1400f99b0
add rsp, 0x28
pop rcx
push rax
push 2
push 0x400
lea rax, [rsp + 0x98]
mov r15, rax
lea rbp, [rsp + 0x98]
movsxd rcx, dword [rbp + 0xc]
add r15, rcx
mov rax, r15
push rax
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.1400f8200
add rsp, 0x20
push rax
call fcn.1400f9a30
mov rdx, rax
pop rax
add qword [rsp], rdx
pop rcx
pop rdx
sub rsp, 0x20
call fcn.1400f5cf0
add rsp, 0x28
mov rbp, qword [0x140276d68]
lea rcx, [rbp + 0x35]
pop rdx
call fcn.1400f9ad0
lea rbp, [rsp + 0x60]
movsxd r15, dword [rbp + 0x18]
and r15, r15
jle 0x14006b7ef
push rcx
sub rsp, 0x28
call fcn.1400f99b0
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x28
call fcn.1400f99b0
add rsp, 0x28
pop rcx
push rax
push rcx
sub rsp, 0x20
call fcn.1400f99b0
add rsp, 0x20
pop rcx
push rax
push rcx
sub rsp, 0x28
call fcn.1400f99b0
add rsp, 0x28
pop rcx
push rax
push 2
push 0x400
lea rax, [rsp + 0x98]
mov r15, rax
lea rbp, [rsp + 0x98]
movsxd rcx, dword [rbp + 0x18]
add r15, rcx
mov rax, r15
push rax
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.1400f8200
add rsp, 0x20
push rax
call fcn.1400f9a30
mov rdx, rax
pop rax
add qword [rsp], rdx
pop rcx
pop rdx
sub rsp, 0x20
call fcn.1400f5cf0
add rsp, 0x28
mov rbp, qword [0x140276d68]
lea rcx, [rbp + 0x3d]
pop rdx
call fcn.1400f9ad0
jmp 0x14006b7f1
push qword [rsp + 0x38]
pop rcx
call sub.KERNEL32.dll_CloseHandle
inc dword [rsp + 0x28]
jno 0x14006b171
xor rax, rax
push rax
mov rcx, qword [rsp + 0x38]
sub rsp, 0x28
call fcn.1400f9e70
add rsp, 0x28
pop rax
add rsp, 0x498
pop r15
pop rbp
ret