Function at 0x140172584
Capabilities:
Get storage device properties

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x28]
sub rsp, 0x128
mov r14, rdx
xor r12d, r12d
mov dword [rsp + 0x60], r12d
mov dl, dl
mov cl, cl
mov bl, bl
mov qword [r14], r12
mov qword [r14 + 8], r12
mov qword [r14 + 0x10], r12
lea ebx, [r12 + 1]
mov dword [rsp + 0x60], ebx
lea r13d, [r12 + 0xf]
movabs rdi, 0x5c1f972c15b362e0
mov rdx, qword [r14 + 8]
sub rdx, qword [r14]
sar rdx, 5
lea rcx, [rbp]
call fcn.14016f170
nop
movabs rcx, 0x12f3a3ff02128349
mov qword [rbp - 0x60], rcx
movabs rcx, 0x711d8a21a45202f
mov qword [rbp - 0x58], rcx
movabs rcx, 0xe04b28bd94335972
mov qword [rbp - 0x50], rcx
mov qword [rbp - 0x48], rdi
movabs rcx, 0x618acbaf5e3cdf15
mov qword [rbp - 0x20], rcx
movabs rcx, 0x7178aae676244346
mov qword [rbp - 0x18], rcx
movabs rcx, 0xe04b28bd94335917
mov qword [rbp - 0x10], rcx
mov qword [rbp - 8], rdi
movdqa xmm0, xmmword [rbp - 0x60]
xorps xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp - 0x60], xmm0
movdqa xmm1, xmmword [rbp - 0x50]
xorps xmm1, xmmword [rbp - 0x10]
movdqa xmmword [rbp - 0x50], xmm1
lea rcx, [rbp - 0x60]
or r9, 0xffffffffffffffff
inc r9
cmp byte [rcx + r9], r12b
jne 0x14017266f
lea r8, [rbp - 0x60]
xor edx, edx
mov rcx, rax
call fcn.14015d588
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], r12
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x68], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x78], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], r13
mov byte [rax], r12b
or ebx, 2
mov dword [rbp + 0x80], ebx
mov dword [rsp + 0x60], ebx
lea rcx, [rsp + 0x68]
cmp qword [rbp - 0x80], r13
cmova rcx, qword [rsp + 0x68]
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rbx, rax
mov rdx, qword [rbp - 0x80]
cmp rdx, r13
jbe 0x14017272e
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140172729
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140172afc
call fcn.140cba258
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], r13
mov byte [rsp + 0x68], r12b
mov rdx, qword [rbp + 0x18]
cmp rdx, r13
jbe 0x140172776
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140172771
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140172b02
call fcn.140cba258
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x18], r13
mov byte [rbp], r12b
cmp rbx, 0xffffffffffffffff
je 0x140172ad9
and qword [rbp - 0x78], 0
mov dword [rbp + 0x70], r12d
mov qword [rsp + 0x38], r12
lea rax, [rbp + 0x70]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 8
lea rax, [rbp + 0x88]
mov qword [rsp + 0x20], rax
mov r9d, reloc.WS2_32.dll_inet_ntoa
lea r8, [rbp - 0x78]
mov edx, 0x2d1400
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x140172ad0
mov edi, dword [rbp + 0x8c]
mov edx, edi
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x40], xmm0
mov rsi, r12
mov qword [rbp - 0x30], r12
test edi, edi
je 0x1401727ff
lea rcx, [rbp - 0x40]
call fcn.14017b0e4
mov rsi, qword [rbp - 0x30]
mov qword [rsp + 0x38], r12
lea rax, [rbp + 0x70]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], edi
mov rdi, qword [rbp - 0x40]
mov qword [rsp + 0x20], rdi
mov r9d, reloc.WS2_32.dll_inet_ntoa
lea r8, [rbp - 0x78]
mov edx, 0x2d1400
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x140172a90
cmp dword [rdi + 0x18], r12d
je 0x140172a56
mov edx, dword [rdi + 0x18]
add rdx, rdi
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], r12
or r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], r12b
jne 0x140172860
lea rcx, [rsp + 0x40]
call fcn.14015a098
nop
lea r15, [rsp + 0x40]
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x58]
cmp rdx, r13
cmova r15, r8
add r15, qword [rsp + 0x50]
lea rbx, [rsp + 0x40]
cmp rdx, r13
cmova rbx, r8
add rbx, qword [rsp + 0x50]
lea rcx, [rsp + 0x40]
cmp rdx, r13
cmova rcx, r8
mov r8b, 0x20
mov rdx, rbx
call fcn.140cbd940
mov r8, rax
cmp rax, rbx
je 0x1401728d9
lea rcx, [rax + 1]
jmp 0x1401728d4
mov al, byte [rcx]
cmp al, 0x20
je 0x1401728d1
mov byte [r8], al
inc r8
inc rcx
cmp rcx, rbx
jne 0x1401728c5
lea rax, [rsp + 0x40]
cmp qword [rsp + 0x58], r13
cmova rax, qword [rsp + 0x40]
mov rdx, r8
sub rdx, rax
sub r15, r8
mov rbx, qword [rsp + 0x50]
mov rax, rbx
sub rax, rdx
cmp rax, r15
cmovb r15, rax
lea rcx, [rsp + 0x40]
cmp qword [rsp + 0x58], r13
cmova rcx, qword [rsp + 0x40]
add rcx, rdx
sub rbx, r15
mov r8, rbx
sub r8, rdx
inc r8
lea rdx, [rcx + r15]
call fcn.140cfb740
mov qword [rsp + 0x50], rbx
mov rdx, qword [r14 + 8]
cmp rdx, qword [r14 + 0x10]
je 0x140172a0b
mov r15, rdx
xorps xmm0, xmm0
movups xmmword [rdx], xmm0
mov qword [rdx + 0x10], r12
mov qword [rdx + 0x18], r12
mov r13, qword [rsp + 0x50]
lea r12, [rsp + 0x40]
cmp qword [rsp + 0x58], 0xf
cmova r12, qword [rsp + 0x40]
movabs rax, 0x7fffffffffffffff
cmp r13, rax
ja 0x140172b08
cmp r13, 0xf
ja 0x140172998
mov qword [rdx + 0x10], r13
mov r13d, reloc.WS2_32.dll_ntohs
mov qword [rdx + 0x18], r13
movups xmm0, xmmword [r12]
movdqu xmmword [rdx], xmm0
jmp 0x140172a01
mov rbx, r13
or rbx, 0xf
cmp rbx, rax
jbe 0x1401729b3
mov rbx, rax
movabs rcx, 0x8000000000000000
jmp 0x1401729d5
mov eax, reloc.WS2_32.dll_shutdown
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
test rcx, rcx
jne 0x1401729cc
xor eax, eax
jmp 0x1401729e1
cmp rcx, 0x1000
jb 0x1401729dc
call fcn.14015e084
jmp 0x1401729e1
call fcn.140cba3f8
mov qword [r15], rax
mov qword [r15 + 0x10], r13
mov qword [r15 + 0x18], rbx
lea r8, [r13 + 1]
mov rdx, r12
mov rcx, rax
call fcn.140cfb740
mov r13d, reloc.WS2_32.dll_ntohs
add qword [r14 + 8], 0x20
xor r12d, r12d
jmp 0x140172a19
lea r8, [rsp + 0x40]
mov rcx, r14
call fcn.14017ad90
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, r13
jbe 0x140172a56
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140172a50
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140172b0e
call fcn.140cba258
nop
sub rsi, rdi
mov rax, rdi
cmp rsi, 0x1000
jb 0x140172a7a
add rsi, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140172af6
mov rdx, rsi
mov rcx, rdi
call fcn.140cba258
mov ebx, dword [rbp + 0x80]
jmp 0x1401725d0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
test rdi, rdi
je 0x140172ad9
sub rsi, rdi
mov rax, rdi
cmp rsi, 0x1000
jb 0x140172ac3
add rsi, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140172af6
mov rdx, rsi
mov rcx, rdi
call fcn.140cba258
jmp 0x140172ad9
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov bl, bl
mov dl, dl
mov cl, cl
mov rax, r14
add rsp, 0x128
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.140cd6fcc
nop
call fcn.140cd6fcc
nop
call fcn.140cd6fcc
nop
call fcn.14015186c
nop
call fcn.140cd6fcc
int3