Function at 0x14004a600
Capabilities:
Get storage device properties

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x2780]
mov eax, 0x2880
call fcn.1401eeab0
sub rsp, rax
mov rax, qword [0x1402cf910]
xor rax, rsp
mov qword [rbp + 0x2770], rax
mov eax, dword [0x1402d0d00]
lea r8, [rsp + 0x60]
xorps xmm0, xmm0
xor r14d, r14d
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x38], r14
mov rdi, rcx
movups xmmword [rbp - 0x80], xmm0
mov dword [rcx + 0x2fc], r14d
mov r15d, 0x38
mov rcx, qword [rcx + 4]
lea r9d, [r14 + 0x60]
movups xmmword [rsp + 0x70], xmm0
mov dword [rsp + 0x70], eax
mov edx, 0x4d014
lea rax, [rbp + 0x60]
mov dword [rsp + 0x50], r14d
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x60]
mov dword [rsp + 0x28], 0x60
mov qword [rsp + 0x20], rax
movups xmmword [rbp - 0x70], xmm0
mov word [rsp + 0x60], r15w
movups xmmword [rbp - 0x60], xmm0
mov dword [rsp + 0x63], 0xc000000
movups xmmword [rbp - 0x50], xmm0
mov word [rsp + 0x67], 0x120
mov dword [rsp + 0x6c], 0x40
mov dword [rbp - 0x80], 0x3c
mov dword [rbp - 0x7c], 0x12
mov word [rbp - 0x78], 0x40
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
lea rbx, [r14 - 1]
movups xmm0, xmmword [rbp - 0x64]
movups xmm1, xmmword [rbp - 0x54]
movups xmmword [0x1402de1d8], xmm0
movups xmmword [0x1402de1e8], xmm1
test eax, eax
je 0x14004a922
movzx eax, byte [rsp + 0x62]
test eax, eax
je 0x14004a720
cmp eax, 1
jne 0x14004a922
mov r9d, 0x18
lea r8, [rbp + 0x68]
lea rcx, [rbp - 0x10]
lea edx, [r9 + 0x4c]
call fcn.1401ffa44
cmp byte [rbp + 7], 0x20
lea rax, [rbp + 7]
jne 0x14004a755
lea rcx, [rbp - 0x10]
cmp rax, rcx
jb 0x14004a755
mov byte [rax], r14b
dec rax
cmp byte [rax], 0x20
je 0x14004a741
lea rax, [rbp - 0x10]
mov r8, rbx
nop dword [rax]
inc r8
cmp byte [rax + r8], r14b
jne 0x14004a760
inc r8
mov qword [rsp + 0x40], 0x64
lea rsi, [rdi + 0x10]
mov qword [rsp + 0x20], r8
mov rdx, rsi
lea r9, [rbp - 0x10]
lea rcx, [rsp + 0x40]
call fcn.140200aa0
mov r9d, 4
lea r8, [rbp + 0x80]
lea rcx, [rbp - 0x10]
lea edx, [r9 + 0x60]
call fcn.1401ffa44
lea rax, [rbp - 0x10]
mov byte [rbp - 0xc], r14b
mov r8, rbx
inc r8
cmp byte [rax + r8], r14b
jne 0x14004a7b4
inc r8
mov qword [rsp + 0x40], 0x64
lea rdx, [rdi + 0xd0]
mov qword [rsp + 0x20], r8
lea r9, [rbp - 0x10]
lea rcx, [rsp + 0x40]
call fcn.140200aa0
movzx eax, byte [rbp + 0x61]
lea r8, [rsp + 0x60]
mov rcx, qword [rdi + 4]
xorps xmm0, xmm0
shr eax, 7
mov r9d, 0x60
mov dword [rdi + 0x2fc], eax
mov edx, 0x4d014
mov eax, dword [0x1402d0d00]
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x38], r14
movups xmmword [rbp - 0x80], xmm0
mov word [rsp + 0x48], r14w
movups xmmword [rsp + 0x70], xmm0
mov dword [rsp + 0x70], eax
lea rax, [rbp + 0x60]
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0x48]
mov dword [rbp - 0x74], eax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x40], 0x25
movups xmmword [rbp - 0x70], xmm0
mov dword [rsp + 0x28], 0x60
movups xmmword [rbp - 0x60], xmm0
mov qword [rsp + 0x20], rax
movups xmmword [rbp - 0x50], xmm0
mov word [rsp + 0x60], r15w
movsd xmm0, qword [rsp + 0x40]
mov dword [rsp + 0x63], 0xc000000
mov word [rsp + 0x67], 0x120
mov dword [rsp + 0x6c], 8
mov dword [rbp - 0x80], 0x3c
movsd qword [rbp - 0x7c], xmm0
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
movups xmm0, xmmword [rbp - 0x64]
movups xmm1, xmmword [rbp - 0x54]
movups xmmword [0x1402de1d8], xmm0
movups xmmword [0x1402de1e8], xmm1
test eax, eax
je 0x14004ab03
movzx eax, byte [rsp + 0x62]
test eax, eax
je 0x14004a8d0
cmp eax, 1
jne 0x14004ab03
movzx eax, byte [rbp + 0x61]
movzx ecx, byte [rbp + 0x60]
shl ecx, 8
add ecx, eax
movzx eax, byte [rbp + 0x62]
shl ecx, 8
add ecx, eax
movzx eax, byte [rbp + 0x63]
shl ecx, 8
add eax, ecx
movzx ecx, byte [rbp + 0x64]
cdqe
mov qword [rdi + 0xfc], rax
movzx eax, byte [rbp + 0x65]
shl ecx, 8
add ecx, eax
movzx eax, byte [rbp + 0x66]
shl ecx, 8
add ecx, eax
movzx eax, byte [rbp + 0x67]
shl ecx, 8
add eax, ecx
cdqe
mov qword [rdi + 0x124], rax
jmp 0x14004a926
lea rsi, [rdi + 0x10]
xor edx, edx
mov qword [rbp - 0x3c], r14
mov r8d, 0x2710
mov dword [rbp - 0x40], r14d
lea rcx, [rbp + 0x60]
call fcn.1401f0eb0
mov rcx, qword [rdi + 4]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x38], r14
lea r8, [rbp - 0x40]
mov qword [rsp + 0x30], rax
mov r9d, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
lea rax, [rbp + 0x60]
mov dword [rsp + 0x28], 0x2710
mov edx, 0x2d1400
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x14004ab03
lea r8, [0x14028e2be]
mov edx, 0x64
lea rcx, [rbp - 0x10]
call fcn.140200720
mov rax, qword [rbp + 0x6c]
test eax, eax
je 0x14004a9b4
mov eax, eax
lea r8, [rbp + 0x60]
add r8, rax
lea rcx, [rbp - 0x10]
mov edx, 0x64
call fcn.140200e3c
mov rax, qword [rbp + 0x70]
test eax, eax
je 0x14004a9d3
mov eax, eax
lea r8, [rbp + 0x60]
add r8, rax
lea rcx, [rbp - 0x10]
mov edx, 0x64
call fcn.140200e3c
cmp byte [rbp + 7], 0x20
lea rax, [rbp + 7]
jne 0x14004a9f4
nop dword [rax]
lea rcx, [rbp - 0x10]
cmp rax, rcx
jb 0x14004a9f4
mov byte [rax], r14b
dec rax
cmp byte [rax], 0x20
je 0x14004a9e0
lea rax, [rbp - 0x10]
mov r8, rbx
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], r14b
jne 0x14004aa00
inc r8
mov qword [rsp + 0x40], 0x64
lea r9, [rbp - 0x10]
mov qword [rsp + 0x20], r8
mov rdx, rsi
lea rcx, [rsp + 0x40]
call fcn.140200aa0
mov rax, qword [rbp + 0x74]
test eax, eax
je 0x14004aa4a
mov eax, eax
lea r8, [rbp + 0x60]
add r8, rax
lea rcx, [rbp - 0x10]
mov edx, 0x64
call fcn.140200720
lea rax, [rbp - 0x10]
nop
inc rbx
cmp byte [rax + rbx], r14b
jne 0x14004aa50
inc rbx
mov qword [rsp + 0x40], 0x64
mov r8, rbx
mov qword [rsp + 0x20], rbx
lea rdx, [rdi + 0xd0]
lea r9, [rbp - 0x10]
lea rcx, [rsp + 0x40]
call fcn.140200aa0
mov rcx, qword [rdi + 4]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x38], r14
xor r9d, r9d
mov qword [rsp + 0x30], rax
xor r8d, r8d
lea rax, [rbp - 0x30]
mov dword [rsp + 0x28], 0x18
mov edx, 0x70000
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x14004ab03
mov eax, dword [rbp - 0x24]
mov r8d, dword [rbp - 0x20]
mov rdx, qword [rbp - 0x30]
mov ecx, dword [rbp - 0x1c]
mov qword [rdi + 0x11c], r8
imul r8, rax
mov qword [rdi + 0x114], rax
mov al, 1
imul r8, rdx
mov qword [rdi + 0x10c], rdx
mov qword [rdi + 0xfc], r8
imul r8, rcx
mov qword [rdi + 0x124], rcx
mov qword [rdi + 0x104], r8
jmp 0x14004ab05
xor al, al
mov rcx, qword [rbp + 0x2770]
xor rcx, rsp
call fcn.1401ee030
lea r11, [rsp + 0x2880]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret