Function at 0x140042060
Capabilities:
Get disk information

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0x47]
sub rsp, 0xb0
mov rax, qword [0x1400e4328]
xor rax, rsp
mov qword [rbp + 0x3f], rax
mov rbx, rdx
mov rdi, rcx
xor r14d, r14d
xorps xmm0, xmm0
movups xmmword [rbp - 1], xmm0
movdqa xmm1, xmmword [0x1400cf3e0]
movdqu xmmword [rbp + 0xf], xmm1
mov word [rbp - 1], r14w
cmp qword [rdx + 0x10], 2
jb 0x1400427ac
mov rax, rdx
mov rdx, qword [rdx + 0x18]
cmp rdx, 8
jb 0x1400420c5
mov rax, qword [rax]
cmp word [rax + 2], 0x3a
jne 0x1400427ac
mov rcx, rbx
cmp rdx, 8
jb 0x1400420dc
mov rcx, qword [rbx]
movzx ecx, word [rcx]
call fcn.14008e094
test eax, eax
je 0x1400427ac
mov rcx, rbx
call fcn.140041ef0
test al, al
je 0x1400425d2
mov rdx, rbx
lea rcx, [rbp + 0x1f]
call fcn.140041ce0
nop
lea rcx, [rbp + 0x1f]
cmp qword [rbp + 0x37], 8
cmovae rcx, qword [rbp + 0x1f]
call qword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 4
je 0x14004213c
cmp eax, 1
jne 0x1400423b8
lea rcx, [rbp + 0x1f]
call fcn.140041e00
test al, al
je 0x1400423b8
mov rdx, qword [rbp + 0x37]
cmp rdx, 8
jb 0x14004217c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1f]
cmp rdx, 0x1000
mov rax, rcx
jb 0x140042177
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400429fc
call fcn.14008361c
mov rcx, qword [rbx + 0x10]
movabs rax, 0x7ffffffffffffffe
sub rax, rcx
cmp rax, 0x16
jb 0x140042a0e
cmp qword [rbx + 0x18], 8
jb 0x1400421a1
mov rbx, qword [rbx]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], 0x16
lea r9, str.This_is_network_disk:
lea rcx, [rbp - 0x29]
call fcn.140044940
mov rdx, qword [rbp + 0x17]
cmp rdx, 8
jb 0x140042204
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400421ff
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400429e4
call fcn.14008361c
movups xmm0, xmmword [rbp - 0x29]
movups xmmword [rbp - 1], xmm0
movups xmm1, xmmword [rbp - 0x19]
movdqu xmmword [rbp + 0xf], xmm1
lea r8, [rbp - 1]
movq rcx, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rax, xmm0
cmp rax, 8
cmovae r8, rcx
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
movd r9d, xmm1
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
jne 0x140042274
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
movdqa xmm1, xmmword [0x1400cf3f0]
movdqu xmmword [rbp - 0x19], xmm1
mov byte [rbp - 0x29], al
jmp 0x1400422e4
movsxd rdx, eax
xor r8d, r8d
lea rcx, [rbp + 0x1f]
call fcn.14003a4d0
lea rcx, [rbp + 0x1f]
cmp qword [rbp + 0x37], 0x10
cmovae rcx, qword [rbp + 0x1f]
lea r8, [rbp - 1]
cmp qword [rbp + 0x17], 8
cmovae r8, qword [rbp - 1]
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov eax, dword [rbp + 0x2f]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov r9d, dword [rbp + 0xf]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
movups xmm0, xmmword [rbp + 0x1f]
movups xmmword [rbp - 0x29], xmm0
movups xmm1, xmmword [rbp + 0x2f]
movups xmmword [rbp - 0x19], xmm1
movdqa xmm0, xmmword [0x1400cf3f0]
movdqu xmmword [rbp + 0x2f], xmm0
mov byte [rbp + 0x1f], 0
mov rcx, qword [0x1400ecdf8]
test rcx, rcx
je 0x140042311
lea r8, [rbp - 0x29]
mov edx, 2
call fcn.14003f1e0
mov rcx, qword [0x1400ecdf8]
test rcx, rcx
je 0x140042311
mov rax, qword [rcx]
call qword [rax + 0x18]
nop
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14004234c
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140042347
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400429f6
call fcn.14008361c
mov word [rdi], 0x100
mov rdx, qword [rbp + 0x17]
cmp rdx, 8
jb 0x140042391
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004238c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400429f0
call fcn.14008361c
mov rax, rdi
mov rcx, qword [rbp + 0x3f]
xor rcx, rsp
call fcn.140083250
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
mov rdx, qword [rbp + 0x37]
cmp rdx, 8
jb 0x1400423f8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1f]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400423f3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400429fc
call fcn.14008361c
mov rcx, qword [rbx + 0x10]
movabs rax, 0x7ffffffffffffffe
sub rax, rcx
cmp rax, 0x14
jb 0x140042a0e
cmp qword [rbx + 0x18], 8
jb 0x14004241d
mov rbx, qword [rbx]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], 0x14
lea r9, str.This_is_local_disk:
lea rcx, [rbp - 0x29]
call fcn.140044940
mov rdx, qword [rbp + 0x17]
cmp rdx, 8
jb 0x140042480
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004247b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400429e4
call fcn.14008361c
movups xmm0, xmmword [rbp - 0x29]
movups xmmword [rbp - 1], xmm0
movups xmm1, xmmword [rbp - 0x19]
movdqu xmmword [rbp + 0xf], xmm1
lea r8, [rbp - 1]
movq rcx, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rax, xmm0
cmp rax, 8
cmovae r8, rcx
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
movd r9d, xmm1
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
jne 0x1400424f0
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
movdqa xmm1, xmmword [0x1400cf3f0]
movdqu xmmword [rbp - 0x19], xmm1
mov byte [rbp - 0x29], al
jmp 0x140042560
movsxd rdx, eax
xor r8d, r8d
lea rcx, [rbp + 0x1f]
call fcn.14003a4d0
lea rcx, [rbp + 0x1f]
cmp qword [rbp + 0x37], 0x10
cmovae rcx, qword [rbp + 0x1f]
lea r8, [rbp - 1]
cmp qword [rbp + 0x17], 8
cmovae r8, qword [rbp - 1]
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov eax, dword [rbp + 0x2f]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov r9d, dword [rbp + 0xf]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
movups xmm0, xmmword [rbp + 0x1f]
movups xmmword [rbp - 0x29], xmm0
movups xmm1, xmmword [rbp + 0x2f]
movups xmmword [rbp - 0x19], xmm1
movdqa xmm0, xmmword [0x1400cf3f0]
movdqu xmmword [rbp + 0x2f], xmm0
mov byte [rbp + 0x1f], 0
mov rcx, qword [0x1400ecdf8]
test rcx, rcx
je 0x14004258d
lea r8, [rbp - 0x29]
mov edx, 2
call fcn.14003f1e0
mov rcx, qword [0x1400ecdf8]
test rcx, rcx
je 0x14004258d
mov rax, qword [rcx]
call qword [rax + 0x18]
nop
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x1400425c8
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400425c3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140042a02
call fcn.14008361c
mov word [rdi], 0
jmp 0x140042351
mov rcx, qword [rbx + 0x10]
movabs rax, 0x7ffffffffffffffe
sub rax, rcx
cmp rax, 0x12
jb 0x140042a0e
cmp qword [rbx + 0x18], 8
jb 0x1400425f7
mov rbx, qword [rbx]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], 0x12
lea r9, str.Not_allowed_disk:
lea rcx, [rbp - 0x29]
call fcn.140044940
mov rdx, qword [rbp + 0x17]
cmp rdx, 8
jb 0x14004265a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140042655
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400429e4
call fcn.14008361c
movups xmm0, xmmword [rbp - 0x29]
movups xmmword [rbp - 1], xmm0
movups xmm1, xmmword [rbp - 0x19]
movdqu xmmword [rbp + 0xf], xmm1
lea r8, [rbp - 1]
movq rcx, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rax, xmm0
cmp rax, 8
cmovae r8, rcx
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
movd r9d, xmm1
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
jne 0x1400426ca
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
movdqa xmm1, xmmword [0x1400cf3f0]
movdqu xmmword [rbp - 0x19], xmm1
mov byte [rbp - 0x29], al
jmp 0x14004273a
movsxd rdx, eax
xor r8d, r8d
lea rcx, [rbp + 0x1f]
call fcn.14003a4d0
lea rcx, [rbp + 0x1f]
cmp qword [rbp + 0x37], 0x10
cmovae rcx, qword [rbp + 0x1f]
lea r8, [rbp - 1]
cmp qword [rbp + 0x17], 8
cmovae r8, qword [rbp - 1]
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov eax, dword [rbp + 0x2f]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov r9d, dword [rbp + 0xf]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
movups xmm0, xmmword [rbp + 0x1f]
movups xmmword [rbp - 0x29], xmm0
movups xmm1, xmmword [rbp + 0x2f]
movups xmmword [rbp - 0x19], xmm1
movdqa xmm0, xmmword [0x1400cf3f0]
movdqu xmmword [rbp + 0x2f], xmm0
mov byte [rbp + 0x1f], 0
mov rcx, qword [0x1400ecdf8]
test rcx, rcx
je 0x140042767
lea r8, [rbp - 0x29]
mov edx, 2
call fcn.14003f1e0
mov rcx, qword [0x1400ecdf8]
test rcx, rcx
je 0x140042767
mov rax, qword [rcx]
call qword [rax + 0x18]
nop
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x1400427a2
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004279d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140042a08
call fcn.14008361c
mov word [rdi], 1
jmp 0x140042351
mov rcx, rbx
cmp qword [rbx + 0x18], 8
jb 0x1400427b9
mov rcx, qword [rbx]
call qword [sym.imp.SHLWAPI.dll_PathIsNetworkPathW]
test eax, eax
je 0x14004299b
mov rcx, qword [rbx + 0x10]
movabs rax, 0x7ffffffffffffffe
sub rax, rcx
cmp rax, 0x16
jb 0x140042a0e
cmp qword [rbx + 0x18], 8
jb 0x1400427ec
mov rbx, qword [rbx]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], 0x16
lea r9, str.This_is_network_path:
lea rcx, [rbp - 0x29]
call fcn.140044940
mov rdx, qword [rbp + 0x17]
cmp rdx, 8
jb 0x14004284f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004284a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400429e4
call fcn.14008361c
movups xmm0, xmmword [rbp - 0x29]
movups xmmword [rbp - 1], xmm0
movups xmm1, xmmword [rbp - 0x19]
movdqu xmmword [rbp + 0xf], xmm1
lea r8, [rbp - 1]
movq rcx, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rax, xmm0
cmp rax, 8
cmovae r8, rcx
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
movd r9d, xmm1
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
jne 0x1400428bf
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
movdqa xmm1, xmmword [0x1400cf3f0]
movdqu xmmword [rbp - 0x19], xmm1
mov byte [rbp - 0x29], al
jmp 0x14004292f
movsxd rdx, eax
xor r8d, r8d
lea rcx, [rbp + 0x1f]
call fcn.14003a4d0
lea rcx, [rbp + 0x1f]
cmp qword [rbp + 0x37], 0x10
cmovae rcx, qword [rbp + 0x1f]
lea r8, [rbp - 1]
cmp qword [rbp + 0x17], 8
cmovae r8, qword [rbp - 1]
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov eax, dword [rbp + 0x2f]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov r9d, dword [rbp + 0xf]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
movups xmm0, xmmword [rbp + 0x1f]
movups xmmword [rbp - 0x29], xmm0
movups xmm1, xmmword [rbp + 0x2f]
movups xmmword [rbp - 0x19], xmm1
movdqa xmm0, xmmword [0x1400cf3f0]
movdqu xmmword [rbp + 0x2f], xmm0
mov byte [rbp + 0x1f], 0
mov rcx, qword [0x1400ecdf8]
test rcx, rcx
je 0x14004295c
lea r8, [rbp - 0x29]
mov edx, 2
call fcn.14003f1e0
mov rcx, qword [0x1400ecdf8]
test rcx, rcx
je 0x14004295c
mov rax, qword [rcx]
call qword [rax + 0x18]
nop
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14004234c
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140042347
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400429ea
jmp 0x140042347
mov word [rdi], 0x101
mov rdx, qword [rbp + 0x17]
cmp rdx, 8
jb 0x140042391
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004238c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400429f0
jmp 0x14004238c
call fcn.14008acfc
int3
call fcn.14008acfc
nop
call fcn.14008acfc
nop
call fcn.14008acfc
int3
call fcn.14008acfc
int3
call fcn.14008acfc
int3
call fcn.14008acfc
int3
call fcn.140035a30
int3