Function at 0x7ff7b50af700
Capabilities:
Get storage device properties

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xe0
mov rax, qword [0x7ff7b50d0588]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov rbx, rcx
mov qword [rbp - 0x69], rcx
xor r12d, r12d
mov qword [rbp - 0x59], r12
mov qword [rbp - 0x49], r12
mov qword [rbp - 0x41], 0xf
mov byte [rbp - 0x59], r12b
lea r8d, [r12 + 0xd]
lea rdx, [0x7ff7b50c6408]
lea rcx, [rbp - 0x59]
call fcn.7ff7b509fc20
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, [0x7ff7b50c63f0]
call qword [sym.imp.kernel32.dll_CreateFileA]
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x7ff7b50af7ac
movups xmm0, xmmword [rbp - 0x59]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rbp - 0x49]
movups xmmword [rbx + 0x10], xmm1
jmp 0x7ff7b50afa58
xorps xmm0, xmm0
movups xmmword [rbp - 0x21], xmm0
lea rax, [0x7ff7b5091a00]
mov qword [rbp - 0x21], rax
mov qword [rbp - 0x19], rdi
mov qword [rbp - 0x35], r12
mov dword [rbp - 0x39], r12d
mov qword [rbp - 0x29], r12
mov dword [rbp - 0x61], r12d
mov qword [rsp + 0x38], r12
lea rax, [rbp - 0x61]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 8
lea rax, [rbp - 0x29]
mov qword [rsp + 0x20], rax
mov r9d, 0xc
lea r8, [rbp - 0x39]
mov edx, 0x2d1400
mov rcx, rdi
call qword [sym.imp.kernel32.dll_DeviceIoControl]
test eax, eax
jne 0x7ff7b50af821
movups xmm0, xmmword [rbp - 0x59]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rbp - 0x49]
movups xmmword [rbx + 0x10], xmm1
jmp 0x7ff7b50af8bd
mov r15d, dword [rbp - 0x25]
mov ecx, r15d
call fcn.7ff7b50c129c
mov rsi, rax
test rax, rax
je 0x7ff7b50af844
mov r8d, r15d
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
jmp 0x7ff7b50af847
mov rsi, r12
mov qword [rbp + 0x1f], rsi
mov qword [rsp + 0x38], r12
lea rax, [rbp - 0x61]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], rsi
mov r9d, 0xc
lea r8, [rbp - 0x39]
mov edx, 0x2d1400
mov rcx, rdi
call qword [sym.imp.kernel32.dll_DeviceIoControl]
test eax, eax
jne 0x7ff7b50af89e
movups xmm0, xmmword [rbp - 0x59]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rbp - 0x49]
movups xmmword [rbx + 0x10], xmm1
test rsi, rsi
je 0x7ff7b50af89c
mov rcx, rsi
call fcn.7ff7b50c1294
nop
jmp 0x7ff7b50af8bd
mov eax, dword [rsi + 0x10]
test eax, eax
jne 0x7ff7b50af8d1
movups xmm0, xmmword [rbp - 0x59]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rbp - 0x49]
movups xmmword [rbx + 0x10], xmm1
mov rcx, rsi
call fcn.7ff7b50c1294
nop
test rdi, rdi
je 0x7ff7b50af8cc
mov rcx, rdi
call qword [sym.imp.kernel32.dll_CloseHandle]
nop
jmp 0x7ff7b50afa58
lea rdx, [rsi + rax]
mov qword [rbp - 1], r12
mov qword [rbp + 0xf], r12
mov qword [rbp + 0x17], 0xf
mov byte [rbp - 1], 0
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x7ff7b50af8f0
lea rcx, [rbp - 1]
call fcn.7ff7b509fc20
nop
lea rax, [rbp - 1]
mov r14, qword [rbp - 1]
mov r12, qword [rbp + 0x17]
cmp r12, 0x10
cmovae rax, r14
mov qword [rbp - 0x69], rax
mov r13, qword [rbp + 0xf]
cmp r13, 0x10
jae 0x7ff7b50af936
movups xmm0, xmmword [rax]
mov qword [rbp - 9], 0xf
jmp 0x7ff7b50af9b7
mov r15, r13
or r15, 0xf
movabs rax, 0x7fffffffffffffff
cmp r15, rax
cmova r15, rax
lea rcx, [r15 + 1]
cmp rcx, 0x1000
jb 0x7ff7b50af98d
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x7ff7b50afa88
mov rcx, rax
call fcn.7ff7b50c1258
mov rcx, rax
test rax, rax
je 0x7ff7b50af986
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x7ff7b50af99b
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
test rcx, rcx
je 0x7ff7b50af999
call fcn.7ff7b50c1258
jmp 0x7ff7b50af99b
xor eax, eax
mov qword [rbp - 0x21], rax
lea r8, [r13 + 1]
mov rdx, qword [rbp - 0x69]
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy_1
mov qword [rbp - 9], r15
movups xmm0, xmmword [rbp - 0x21]
mov qword [rbp - 0x11], r13
movups xmmword [rbx], xmm0
movups xmm0, xmmword [rbp - 0x11]
movups xmmword [rbx + 0x10], xmm0
cmp r12, 0x10
jb 0x7ff7b50afa02
lea rdx, [r12 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x7ff7b50af9f9
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x7ff7b50af9f9
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r14
call fcn.7ff7b50c1294
nop
mov rcx, rsi
call fcn.7ff7b50c1294
nop
test rdi, rdi
je 0x7ff7b50afa1a
mov rcx, rdi
call qword [sym.imp.kernel32.dll_CloseHandle]
nop
mov rdx, qword [rbp - 0x41]
cmp rdx, 0x10
jb 0x7ff7b50afa58
inc rdx
mov rcx, qword [rbp - 0x59]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff7b50afa53
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x7ff7b50afa53
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.7ff7b50c1294
mov rax, rbx
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.7ff7b50c16f0
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.7ff7b509e6d0
nop
int3