Function at 0x140177cdc
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 - 0xa8]
sub rsp, 0x1a8
mov r13, rdx
xor r15d, r15d
mov dword [rsp + 0x60], r15d
mov al, al
mov al, al
mov dl, dl
mov qword [r13], r15
mov qword [r13 + 8], r15
mov qword [r13 + 0x10], r15
lea ebx, [r15 + 1]
mov dword [rsp + 0x60], ebx
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
lea esi, [rbx + 6]
mov qword [rbp - 0x50], rsi
lea r12d, [r15 + 0xf]
mov qword [rbp - 0x48], r12
mov rax, qword [str.disks_1]
mov dword [rbp - 0x60], eax
movzx eax, word [0x140fc7cac]
mov word [rbp - 0x5c], ax
mov al, byte [0x140fc7cae]
mov byte [rbp - 0x5a], al
mov byte [rbp - 0x59], r15b
mov rax, qword [0x1410a1040]
lea rcx, [rbp - 0x60]
mov qword [rbp + 0x40], rcx
mov qword [rbp + 0x48], rsi
mov qword [rbp + 8], r15
mov qword [rbp], r15
mov qword [rbp + 0x10], r15
movaps xmm0, xmmword [rbp + 0x40]
movdqa xmmword [rbp + 0x30], xmm0
movups xmm1, xmmword [rbp]
movaps xmmword [rbp - 0x20], xmm1
movsd xmm0, qword [rbp + 0x10]
movsd qword [rbp - 0x10], xmm0
lea r9, [rbp + 0x30]
lea r8d, [r15 + 2]
lea rdx, [rbp - 0x20]
mov rcx, qword [rax]
call fcn.140162f7c
nop
mov edi, 0x1000
mov rdx, qword [rbp - 0x48]
cmp rdx, r12
jbe 0x140177de8
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, rdi
jb 0x140177de3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401786f0
call fcn.140cd8948
mov r14d, r15d
mov dword [rbp + 0xf0], r15d
mov edx, r14d
lea rcx, [rbp + 0x58]
call fcn.140174770
or ebx, 2
mov dword [rsp + 0x60], ebx
movabs rax, 0x3115d70604a09557
mov qword [rbp - 0x40], rax
movabs rax, 0xb81d4f9f45171f65
mov qword [rbp - 0x38], rax
movabs rax, 0x9df94bf884630a58
mov qword [rbp - 0x30], rax
movabs rcx, 0xf1af002dbfbcfdee
mov qword [rbp - 0x28], rcx
movabs rax, 0x426cbf56588ec90b
mov qword [rsp + 0x40], rax
movabs rax, 0xce743ddb29767c0c
mov qword [rsp + 0x48], rax
movabs rax, 0x9df94bf884630a3d
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rcx
movdqa xmm0, xmmword [rbp - 0x40]
xorps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rbp - 0x40], xmm0
movdqa xmm1, xmmword [rbp - 0x30]
xorps xmm1, xmmword [rsp + 0x50]
movdqa xmmword [rbp - 0x30], xmm1
lea rax, [rbp - 0x40]
or r9, 0xffffffffffffffff
inc r9
cmp byte [rax + r9], r15b
jne 0x140177e95
lea r8, [rbp - 0x40]
xor edx, edx
lea rcx, [rbp + 0x58]
call fcn.14015d1b8
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x48], r15
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x50], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], r12
mov byte [rax], r15b
or ebx, 4
mov dword [rbp + 0x108], ebx
mov dword [rsp + 0x60], ebx
lea rcx, [rbp - 0x60]
cmp qword [rbp - 0x48], r12
cmova rcx, qword [rbp - 0x60]
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], r15d
mov eax, 3
mov dword [rsp + 0x20], eax
xor r9d, r9d
mov r8d, eax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rbx, rax
mov qword [rbp + 0x50], rax
mov rdx, qword [rbp - 0x48]
cmp rdx, r12
jbe 0x140177f4e
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, rdi
jb 0x140177f49
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401786f6
call fcn.140cd8948
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x48], r12
mov byte [rbp - 0x60], r15b
mov rdx, qword [rbp + 0x70]
cmp rdx, r12
jbe 0x140177f90
inc rdx
mov rcx, qword [rbp + 0x58]
mov rax, rcx
cmp rdx, rdi
jb 0x140177f8b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401786fc
call fcn.140cd8948
mov qword [rbp + 0x68], r15
mov qword [rbp + 0x70], r12
mov byte [rbp + 0x58], r15b
cmp rbx, 0xffffffffffffffff
je 0x14017860e
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], r12
mov rax, qword [str.disks_2]
mov dword [rsp + 0x40], eax
movzx eax, word [0x140fc7cbc]
mov word [rsp + 0x44], ax
mov al, byte [0x140fc7cbe]
mov byte [rsp + 0x46], al
mov byte [rsp + 0x47], r15b
mov rax, qword [0x1410a1040]
lea rcx, [rsp + 0x40]
mov qword [rbp + 0x80], rcx
mov qword [rbp + 0x88], rsi
and qword [rbp - 0x70], 0
mov qword [rbp - 0x78], r15
mov qword [rbp - 0x68], r15
movaps xmm0, xmmword [rbp + 0x80]
movdqa xmmword [rbp], xmm0
movups xmm1, xmmword [rbp - 0x78]
movaps xmmword [rbp - 0x40], xmm1
movsd xmm0, qword [rbp - 0x68]
movsd qword [rbp - 0x30], xmm0
lea r9, [rbp]
mov r8d, 2
lea rdx, [rbp - 0x40]
mov rcx, qword [rax]
call fcn.140162f7c
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, r12
jbe 0x140178072
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, rdi
jb 0x14017806d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140178702
call fcn.140cd8948
and qword [rbp + 0x40], 0
mov qword [rbp + 0x20], r15
mov dword [rbp + 0x100], r15d
mov qword [rsp + 0x38], r15
lea rax, [rbp + 0x100]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 8
lea rax, [rbp + 0x20]
mov qword [rsp + 0x20], rax
mov r9d, reloc.WS2_32.dll_inet_ntoa
lea r8, [rbp + 0x40]
mov edx, 0x2d1400
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x140178600
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], r12
mov rax, qword [str.disks_3]
mov dword [rsp + 0x40], eax
movzx eax, word [0x140fc7cb4]
mov word [rsp + 0x44], ax
mov al, byte [reloc.WS2_32.dll_gethostbyaddr]
mov byte [rsp + 0x46], al
mov byte [rsp + 0x47], r15b
mov rax, qword [0x1410a1040]
lea rcx, [rsp + 0x40]
mov qword [rbp + 0x90], rcx
mov qword [rbp + 0x98], rsi
and qword [rbp - 0x70], 0
mov qword [rbp - 0x78], r15
mov qword [rbp - 0x68], r15
movaps xmm0, xmmword [rbp + 0x90]
movdqa xmmword [rbp], xmm0
movups xmm1, xmmword [rbp - 0x78]
movaps xmmword [rbp - 0x40], xmm1
movsd xmm0, qword [rbp - 0x68]
movsd qword [rbp - 0x30], xmm0
lea r9, [rbp]
mov r8d, 2
lea rdx, [rbp - 0x40]
mov rcx, qword [rax]
call fcn.140162f7c
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, r12
jbe 0x140178190
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, rdi
jb 0x14017818b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140178708
call fcn.140cd8948
mov eax, dword [rbp + 0x24]
test eax, eax
je 0x140178600
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x20], xmm0
mov rsi, r15
mov qword [rbp - 0x10], r15
mov edx, eax
lea rcx, [rbp - 0x20]
call fcn.140180f40
mov rsi, qword [rbp - 0x10]
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], 7
mov qword [rsp + 0x58], r12
mov rax, qword [str.disks_4]
mov dword [rsp + 0x40], eax
movzx eax, word [0x140fc7ccc]
mov word [rsp + 0x44], ax
mov al, byte [reloc.WS2_32.dll_gethostbyname]
mov byte [rsp + 0x46], al
mov byte [rsp + 0x47], r15b
lea rdx, [rsp + 0x40]
mov rcx, qword [0x1410a1040]
call fcn.14016b958
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, r12
jbe 0x14017823f
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, rdi
jb 0x14017823a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14017870e
call fcn.140cd8948
mov qword [rsp + 0x38], r15
lea rax, [rbp + 0x100]
mov qword [rsp + 0x30], rax
mov eax, dword [rbp + 0x24]
mov dword [rsp + 0x28], eax
mov rdi, qword [rbp - 0x20]
mov qword [rsp + 0x20], rdi
mov r9d, reloc.WS2_32.dll_inet_ntoa
lea r8, [rbp + 0x40]
mov edx, 0x2d1400
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x1401782e7
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
test rdi, rdi
je 0x1401782be
sub rsi, rdi
cmp rsi, 0x1000
mov rax, rdi
jb 0x1401782b3
add rsi, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140178726
mov rdx, rsi
mov rcx, rdi
call fcn.140cd8948
mov esi, 7
mov edi, 0x1000
inc r14d
mov dword [rbp + 0xf0], r14d
cmp r14d, 0x20
jae 0x14017860e
mov ebx, dword [rbp + 0x108]
jmp 0x140177df2
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov edx, 7
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], r12
mov rax, qword [str.disks_5]
mov dword [rsp + 0x40], eax
movzx eax, word [0x140fc7cc4]
mov word [rsp + 0x44], ax
mov al, byte [reloc.WS2_32.dll_getprotobyname]
mov byte [rsp + 0x46], al
mov byte [rsp + 0x47], r15b
mov rax, qword [0x1410a1040]
lea rcx, [rsp + 0x40]
mov qword [rbp + 0x30], rcx
mov qword [rbp + 0x38], rdx
and qword [rbp - 0x70], 0
mov qword [rbp - 0x78], r15
mov qword [rbp - 0x68], r15
movaps xmm0, xmmword [rbp + 0x30]
movdqa xmmword [rbp], xmm0
movups xmm1, xmmword [rbp - 0x78]
movaps xmmword [rbp - 0x40], xmm1
movsd xmm0, qword [rbp - 0x68]
movsd qword [rbp - 0x30], xmm0
lea r9, [rbp]
lea r8d, [rdx - 5]
lea rdx, [rbp - 0x40]
mov rcx, qword [rax]
call fcn.140162f7c
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, r12
jbe 0x1401783b1
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401783ac
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140178714
call fcn.140cd8948
test rdi, rdi
je 0x14017827c
cmp dword [rdi + 0x18], r15d
je 0x14017827c
mov ecx, dword [rdi + 0x18]
mov rax, qword [rbp - 0x18]
sub rax, rdi
cmp rcx, rax
jae 0x14017827c
lea rdx, [rdi + rcx]
test rdx, rdx
je 0x14017827c
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x80], r15
or r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], r15b
jne 0x1401783f9
lea rcx, [rsp + 0x68]
call fcn.140159cd4
nop
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x1401785bc
lea r14, [rsp + 0x68]
mov r8, qword [rsp + 0x68]
mov rdx, qword [rbp - 0x80]
cmp rdx, r12
cmova r14, r8
add r14, rcx
lea rbx, [rsp + 0x68]
cmp rdx, r12
cmova rbx, r8
add rbx, rcx
lea rcx, [rsp + 0x68]
cmp rdx, r12
cmova rcx, r8
mov r8b, 0x20
mov rdx, rbx
call fcn.140cdc0b0
mov r8, rax
cmp rax, rbx
je 0x14017847b
lea rcx, [rax + 1]
jmp 0x140178476
mov al, byte [rcx]
cmp al, 0x20
je 0x140178473
mov byte [r8], al
inc r8
inc rcx
cmp rcx, rbx
jne 0x140178467
lea rax, [rsp + 0x68]
cmp qword [rbp - 0x80], r12
cmova rax, qword [rsp + 0x68]
mov rdx, r8
sub rdx, rax
sub r14, r8
mov rbx, qword [rsp + 0x78]
mov rax, rbx
sub rax, rdx
cmp rax, r14
cmovb r14, rax
lea rcx, [rsp + 0x68]
cmp qword [rbp - 0x80], r12
cmova rcx, qword [rsp + 0x68]
add rcx, rdx
sub rbx, r14
mov r8, rbx
sub r8, rdx
inc r8
lea rdx, [rcx + r14]
call fcn.140da1510
mov qword [rsp + 0x78], rbx
mov rdx, qword [r13 + 8]
cmp rdx, qword [r13 + 0x10]
je 0x1401785a4
mov r14, rdx
xorps xmm0, xmm0
movups xmmword [rdx], xmm0
mov qword [rdx + 0x10], r15
mov qword [rdx + 0x18], r15
mov r15, qword [rsp + 0x78]
lea r12, [rsp + 0x68]
mov eax, reloc.WS2_32.dll_ntohs
cmp qword [rbp - 0x80], rax
cmova r12, qword [rsp + 0x68]
movabs rcx, 0x7fffffffffffffff
cmp r15, rcx
ja 0x14017871a
cmp r15, rax
ja 0x140178534
mov qword [rdx + 0x10], r15
mov qword [rdx + 0x18], rax
movups xmm0, xmmword [r12]
movdqu xmmword [rdx], xmm0
jmp 0x140178596
mov rbx, r15
or rbx, rax
cmp rbx, rcx
jbe 0x14017854e
mov rbx, rcx
movabs rcx, 0x8000000000000000
jmp 0x140178570
mov eax, reloc.WS2_32.dll_shutdown
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
test rcx, rcx
jne 0x140178567
xor eax, eax
jmp 0x14017857c
cmp rcx, 0x1000
jb 0x140178577
call fcn.14015dcb4
jmp 0x14017857c
call fcn.140cd8ad8
mov qword [r14], rax
mov qword [r14 + 0x10], r15
mov qword [r14 + 0x18], rbx
lea r8, [r15 + 1]
mov rdx, r12
mov rcx, rax
call fcn.140da1510
add qword [r13 + 8], 0x20
xor r15d, r15d
lea r12d, [r15 + 0xf]
jmp 0x1401785b1
lea r8, [rsp + 0x68]
mov rcx, r13
call fcn.140173608
mov r14d, dword [rbp + 0xf0]
mov rbx, qword [rbp + 0x50]
mov rdx, qword [rbp - 0x80]
cmp rdx, r12
jbe 0x14017827c
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401785f6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140178720
call fcn.140cd8948
jmp 0x14017827c
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1401782c8
mov bl, bl
mov al, al
mov al, al
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], r12
mov rax, qword [str.disks_6]
mov dword [rsp + 0x40], eax
movzx eax, word [0x140fc7cdc]
mov word [rsp + 0x44], ax
mov al, byte [0x140fc7cde]
mov byte [rsp + 0x46], al
mov byte [rsp + 0x47], r15b
mov rax, qword [0x1410a1040]
lea rcx, [rsp + 0x40]
mov qword [rbp + 0x30], rcx
mov qword [rbp + 0x38], rsi
and qword [rbp - 0x18], 0
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x10], r15
movaps xmm0, xmmword [rbp + 0x30]
movdqa xmmword [rbp], xmm0
movups xmm1, xmmword [rbp - 0x20]
movaps xmmword [rbp - 0x40], xmm1
movsd xmm0, qword [rbp - 0x10]
movsd qword [rbp - 0x30], xmm0
lea r9, [rbp]
mov r8d, 2
lea rdx, [rbp - 0x40]
mov rcx, qword [rax]
call fcn.140162f7c
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, r12
jbe 0x1401786d3
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, rdi
jb 0x1401786ce
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401786ea
call fcn.140cd8948
mov rax, r13
add rsp, 0x1a8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.140cf5acc
int3
call fcn.140cf5acc
nop
call fcn.140cf5acc
nop
call fcn.140cf5acc
int3
call fcn.140cf5acc
int3
call fcn.140cf5acc
nop
call fcn.140cf5acc
int3
call fcn.140cf5acc
nop
call fcn.1401514ac
nop
call fcn.140cf5acc
nop
call fcn.140cf5acc
int3