Function at 0x1400fe810
Capabilities:
Get storage device properties

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0x47]
sub rsp, 0xc0
mov rax, qword [0x1403f80a0]
xor rax, rsp
mov qword [rbp + 0x3f], rax
mov rax, rdx
mov rsi, rcx
mov qword [rbp + 0x1f], rcx
mov byte [rbp + 0xf], 0
cmp qword [rdx + 0x18], 8
jb 0x1400fe850
mov rax, qword [rdx]
xor r14d, r14d
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbx, rax
mov qword [rbp + 0x37], rax
inc rax
test rax, 0xfffffffffffffffe
jne 0x1400fe8d6
mov byte [rsi + 0x20], r14b
movzx ecx, byte [rbp + 0xf]
test cl, cl
je 0x1400fe8b8
movups xmm0, xmmword [rbp - 0x11]
movups xmmword [rsi], xmm0
movups xmm1, xmmword [rbp - 1]
movups xmmword [rsi + 0x10], xmm1
movdqa xmm0, xmmword [0x1403c3e40]
movdqu xmmword [rbp - 1], xmm0
mov byte [rbp - 0x11], r14b
mov byte [rsi + 0x20], 1
lea rax, [rbx - 1]
cmp rax, 0xfffffffffffffffd
ja 0x1400fe8cf
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
movzx ecx, byte [rbp + 0xf]
test cl, cl
jmp 0x1400feab7
mov qword [rbp + 0x2b], r14
mov dword [rbp + 0x27], r14d
mov qword [rbp - 0x19], r14
mov dword [rbp + 0x17], r14d
mov qword [rsp + 0x38], r14
lea rax, [rbp + 0x17]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 8
lea rax, [rbp - 0x19]
mov qword [rsp + 0x20], rax
mov r9d, recv
lea r8, [rbp + 0x27]
mov edx, 0x2d1400
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x1400fe958
mov byte [rsi + 0x20], 0
cmp byte [rbp + 0xf], 0
je 0x1400feaa9
movups xmm0, xmmword [rbp - 0x11]
movups xmmword [rsi], xmm0
movups xmm1, xmmword [rbp - 1]
movups xmmword [rsi + 0x10], xmm1
movdqa xmm0, xmmword [0x1403c3e40]
movdqu xmmword [rbp - 1], xmm0
mov byte [rbp - 0x11], 0
mov byte [rsi + 0x20], 1
jmp 0x1400feaa9
mov eax, dword [rbp - 0x15]
test eax, eax
je 0x1400fe921
mov qword [rbp + 0x1f], r14
mov edx, eax
lea rcx, [rbp + 0x1f]
call fcn.1400f5b50
nop
mov r8d, dword [rbp - 0x15]
xor edx, edx
mov rdi, qword [rbp + 0x1f]
mov rcx, rdi
call fcn.140133080
mov qword [rsp + 0x38], r14
lea rax, [rbp + 0x17]
mov qword [rsp + 0x30], rax
mov eax, dword [rbp - 0x15]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rdi
mov r9d, recv
lea r8, [rbp + 0x27]
mov edx, 0x2d1400
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x1400fe9f0
mov byte [rsi + 0x20], al
cmp byte [rbp + 0xf], al
je 0x1400fe9e2
movups xmm0, xmmword [rbp - 0x11]
movups xmmword [rsi], xmm0
movups xmm1, xmmword [rbp - 1]
movups xmmword [rsi + 0x10], xmm1
movdqa xmm0, xmmword [0x1403c3e40]
movdqu xmmword [rbp - 1], xmm0
mov byte [rbp - 0x11], al
mov byte [rsi + 0x20], 1
test rdi, rdi
je 0x1400feaa9
jmp 0x1400feaa0
mov eax, dword [rdi + 0x18]
test eax, eax
je 0x1400fea72
lea rdx, [rdi + rax]
cmp byte [rdx], 0
je 0x1400fea72
mov qword [rbp - 0x39], r14
movdqa xmm0, xmmword [0x1403c3e40]
movdqu xmmword [rbp - 0x29], xmm0
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x1400fea20
lea rcx, [rbp - 0x39]
call fcn.1400d7b90
cmp byte [rbp + 0xf], 0
je 0x1400fea44
lea rcx, [rbp - 0x11]
call fcn.1400d7d30
jmp 0x1400fea48
mov byte [rbp + 0xf], 1
movups xmm0, xmmword [rbp - 0x39]
movups xmmword [rbp - 0x11], xmm0
movups xmm1, xmmword [rbp - 0x29]
movdqa xmm0, xmmword [0x1403c3e40]
mov byte [rbp - 0x39], 0
movdqu xmmword [rbp - 0x29], xmm0
movups xmmword [rbp - 1], xmm1
lea rcx, [rbp - 0x39]
call fcn.1400d7d30
mov byte [rsi + 0x20], 0
cmp byte [rbp + 0xf], 0
je 0x1400feaa0
movups xmm0, xmmword [rbp - 0x11]
movups xmmword [rsi], xmm0
movups xmm1, xmmword [rbp - 1]
movups xmmword [rsi + 0x10], xmm1
movdqa xmm0, xmmword [0x1403c3e40]
movdqu xmmword [rbp - 1], xmm0
mov byte [rbp - 0x11], 0
mov byte [rsi + 0x20], 1
mov rcx, rdi
call fcn.140130510
nop
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
cmp byte [rbp + 0xf], 0
je 0x1400feac2
lea rcx, [rbp - 0x11]
call fcn.1400d7d30
mov rax, rsi
mov rcx, qword [rbp + 0x3f]
xor rcx, rsp
call fcn.1401304f0
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret