Function at 0x1400042d0
Capabilities:
Get storage device properties

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x120
mov rax, qword [0x14009a010]
xor rax, rsp
mov qword [rsp + 0x110], rax
mov ebx, edx
mov r14, rcx
mov qword [rsp + 0x48], rcx
movabs rdi, 0x16e103f5e4b2da85
mov qword [rsp + 0x50], rdi
movabs r12, 0x666c54c8bb618262
mov qword [rsp + 0x58], r12
movabs rax, 0x26d133c5d482eab5
mov qword [rsp + 0x90], rax
movabs rax, 0x666c54c88b51b252
mov qword [rsp + 0x98], rax
movdqa xmm0, xmmword [rsp + 0x90]
pxor xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x90], xmm0
xor esi, esi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], send
mov byte [rsp + 0x50], sil
lea rax, [rsp + 0x90]
mov r15, 0xffffffffffffffff
mov r8, r15
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140004390
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x50]
call fcn.140001f50
nop
mov qword [rsp + 0xb0], rdi
mov qword [rsp + 0xb8], r12
movabs rax, 0x554145a79bc6f847
mov qword [rsp + 0xc0], rax
movabs rax, 0xcf76cd62cba830e4
mov qword [rsp + 0xc8], rax
movabs rax, 0xe9e0ace9f6836f49
mov qword [rsp + 0xd0], rax
movabs rcx, 0x76f34d1ccd20ef26
mov qword [rsp + 0xd8], rcx
movabs rax, 0x16bd03dbe4eedad9
mov qword [rsp + 0xe0], rax
movabs rax, 0x661f54b1bb098232
mov qword [rsp + 0xe8], rax
movabs rax, 0x552d45c69ba5f82e
mov qword [rsp + 0xf0], rax
movabs rax, 0xcf00cd0bcbda30a0
mov qword [rsp + 0xf8], rax
movabs rax, 0xe9e0ace9f6836f2c
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], rcx
movdqa xmm0, xmmword [rsp + 0xe0]
pxor xmm0, xmmword [rsp + 0xb0]
movdqa xmmword [rsp + 0xe0], xmm0
movdqa xmm1, xmmword [rsp + 0xf0]
pxor xmm1, xmmword [rsp + 0xc0]
movdqa xmmword [rsp + 0xf0], xmm1
movdqa xmm0, xmmword [rsp + 0x100]
pxor xmm0, xmmword [rsp + 0xd0]
movdqa xmmword [rsp + 0x100], xmm0
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x88], 7
mov word [rsp + 0x70], si
lea rax, [rsp + 0xe0]
mov r8, r15
inc r8
cmp word [rax + r8*2], 0
jne 0x1400044e1
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0x70]
call fcn.140004a30
nop
lea r9, [rsp + 0x10a]
nop word [rax + rax]
sub r9, 2
mov eax, 0xcccccccd
mul ebx
shr edx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub bx, cx
add bx, 0x30
mov word [r9], bx
mov ebx, edx
test edx, edx
jne 0x140004510
mov qword [rsp + 0xb0], rsi
mov rdx, rsi
mov qword [rsp + 0xc0], rdx
mov r12d, 7
mov qword [rsp + 0xc8], r12
mov word [rsp + 0xb0], si
lea rax, [rsp + 0x10a]
cmp r9, rax
je 0x1400045a0
lea r8, [rsp + 0x10a]
sub r8, r9
sar r8, 1
mov rdx, r9
lea rcx, [rsp + 0xb0]
call fcn.140004a30
mov r12, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0xc0]
lea r9, [rsp + 0xb0]
mov r13, qword [rsp + 0xb0]
cmp r12, 8
cmovae r9, r13
mov rcx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x88]
mov rax, r8
sub rax, rcx
cmp rdx, rax
ja 0x140004604
lea rdi, [rdx + rcx]
mov qword [rsp + 0x80], rdi
lea rbx, [rsp + 0x70]
cmp r8, 8
cmovae rbx, qword [rsp + 0x70]
lea rcx, [rbx + rcx*2]
lea r8, [rdx + rdx]
mov rdx, r9
call fcn.140053fa0
mov word [rbx + rdi*2], si
jmp 0x140004629
mov qword [rsp + 0x20], rdx
movzx r8d, byte [rsp + 0x40]
lea rcx, [rsp + 0x70]
call fcn.140004cf0
mov r12, qword [rsp + 0xc8]
mov r13, qword [rsp + 0xb0]
cmp r12, 8
jb 0x140004664
lea rdx, [r12*2 + 2]
mov rax, r13
cmp rdx, 0x1000
jb 0x14000465c
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400049a0
mov rcx, r13
call fcn.14004f424
mov ecx, 0xe95da064
call fcn.1400024e0
lea rcx, [rsp + 0x70]
cmp qword [rsp + 0x88], 8
cmovae rcx, qword [rsp + 0x70]
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0xc0000000
lea r8d, [r9 + 3]
call rax
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x140004735
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [r14], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [r14 + 0x10], xmm1
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], send
mov byte [rsp + 0x50], 0
mov rdx, qword [rsp + 0x88]
cmp rdx, 8
jb 0x14000471a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004714
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400049a6
call fcn.14004f424
nop
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], send
mov byte [rsp + 0x50], 0
mov rax, r14
jmp 0x140004973
mov qword [rsp + 0x94], rsi
mov dword [rsp + 0x90], esi
mov edx, 0x1028
xor ecx, ecx
lea r9d, [rcx + 4]
mov r8d, 0x3000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rbx, rax
test rax, rax
jne 0x1400047ed
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [r14], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [r14 + 0x10], xmm1
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], send
mov byte [rsp + 0x50], al
mov rdx, qword [rsp + 0x88]
cmp rdx, 8
jb 0x1400047d2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400047cc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400049a6
call fcn.14004f424
nop
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], send
mov byte [rsp + 0x50], 0
mov rax, r14
jmp 0x140004973
mov dword [rsp + 0xa0], esi
mov ecx, 0x9661cbb4
call fcn.1400024e0
mov qword [rsp + 0x38], rsi
lea rcx, [rsp + 0xa0]
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], 0x1028
mov qword [rsp + 0x20], rbx
mov r9d, recv
lea r8, [rsp + 0x90]
mov edx, 0x2d1400
mov rcx, rdi
call rax
test eax, eax
jne 0x140004853
xor edx, edx
mov r8d, 0x8000
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [rbx + 0x18]
lea eax, [rcx - 1]
cmp eax, 0xfff
ja 0x1400048a6
lea rdx, [rbx + rcx]
inc r15
cmp byte [rdx + r15], 0
jne 0x140004864
mov r8, r15
lea rcx, [rsp + 0x50]
call fcn.140001f50
xor edx, edx
mov r8d, 0x8000
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [r14], xmm0
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [r14 + 0x10], xmm1
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], send
mov byte [rsp + 0x50], 0
mov rdx, qword [rsp + 0x88]
cmp rdx, 8
jb 0x140004911
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000490c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400049a6
call fcn.14004f424
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x88], 7
mov word [rsp + 0x70], si
lea rcx, [rsp + 0x50]
call fcn.140001dc0
mov rax, r14
jmp 0x140004973
call fcn.14005b7e0
nop
call fcn.14005b7e0
int3