Function at 0x140042c40
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 [0x1400f7368]
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 [0x1400e0300]
movdqu xmmword [rbp + 0xf], xmm1
mov word [rbp - 1], r14w
cmp qword [rdx + 0x10], 2
jb 0x14004338c
mov rax, rdx
mov rdx, qword [rdx + 0x18]
cmp rdx, 8
jb 0x140042ca5
mov rax, qword [rax]
cmp word [rax + 2], 0x3a
jne 0x14004338c
mov rcx, rbx
cmp rdx, 8
jb 0x140042cbc
mov rcx, qword [rbx]
movzx ecx, word [rcx]
call fcn.140097c7c
test eax, eax
je 0x14004338c
mov rcx, rbx
call fcn.140042ad0
test al, al
je 0x1400431b2
mov rdx, rbx
lea rcx, [rbp + 0x1f]
call fcn.1400428c0
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 0x140042d1c
cmp eax, 1
jne 0x140042f98
lea rcx, [rbp + 0x1f]
call fcn.1400429e0
test al, al
je 0x140042f98
mov rdx, qword [rbp + 0x37]
cmp rdx, 8
jb 0x140042d5c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1f]
cmp rdx, 0x1000
mov rax, rcx
jb 0x140042d57
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400435dc
call fcn.14008ccfc
mov rcx, qword [rbx + 0x10]
movabs rax, 0x7ffffffffffffffe
sub rax, rcx
cmp rax, 0x16
jb 0x1400435ee
cmp qword [rbx + 0x18], 8
jb 0x140042d81
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.140045350
mov rdx, qword [rbp + 0x17]
cmp rdx, 8
jb 0x140042de4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140042ddf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400435c4
call fcn.14008ccfc
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 0x140042e54
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
movdqa xmm1, xmmword [0x1400e0310]
movdqu xmmword [rbp - 0x19], xmm1
mov byte [rbp - 0x29], al
jmp 0x140042ec4
movsxd rdx, eax
xor r8d, r8d
lea rcx, [rbp + 0x1f]
call fcn.14003add0
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 [0x1400e0310]
movdqu xmmword [rbp + 0x2f], xmm0
mov byte [rbp + 0x1f], 0
mov rcx, qword [0x140100158]
test rcx, rcx
je 0x140042ef1
lea r8, [rbp - 0x29]
mov edx, 2
call fcn.14003fc00
mov rcx, qword [0x140100158]
test rcx, rcx
je 0x140042ef1
mov rax, qword [rcx]
call qword [rax + 0x18]
nop
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x140042f2c
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140042f27
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400435d6
call fcn.14008ccfc
mov word [rdi], 0x100
mov rdx, qword [rbp + 0x17]
cmp rdx, 8
jb 0x140042f71
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140042f6c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400435d0
call fcn.14008ccfc
mov rax, rdi
mov rcx, qword [rbp + 0x3f]
xor rcx, rsp
call fcn.14008c930
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 0x140042fd8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1f]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140042fd3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400435dc
call fcn.14008ccfc
mov rcx, qword [rbx + 0x10]
movabs rax, 0x7ffffffffffffffe
sub rax, rcx
cmp rax, 0x14
jb 0x1400435ee
cmp qword [rbx + 0x18], 8
jb 0x140042ffd
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.140045350
mov rdx, qword [rbp + 0x17]
cmp rdx, 8
jb 0x140043060
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004305b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400435c4
call fcn.14008ccfc
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 0x1400430d0
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
movdqa xmm1, xmmword [0x1400e0310]
movdqu xmmword [rbp - 0x19], xmm1
mov byte [rbp - 0x29], al
jmp 0x140043140
movsxd rdx, eax
xor r8d, r8d
lea rcx, [rbp + 0x1f]
call fcn.14003add0
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 [0x1400e0310]
movdqu xmmword [rbp + 0x2f], xmm0
mov byte [rbp + 0x1f], 0
mov rcx, qword [0x140100158]
test rcx, rcx
je 0x14004316d
lea r8, [rbp - 0x29]
mov edx, 2
call fcn.14003fc00
mov rcx, qword [0x140100158]
test rcx, rcx
je 0x14004316d
mov rax, qword [rcx]
call qword [rax + 0x18]
nop
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x1400431a8
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400431a3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400435e2
call fcn.14008ccfc
mov word [rdi], 0
jmp 0x140042f31
mov rcx, qword [rbx + 0x10]
movabs rax, 0x7ffffffffffffffe
sub rax, rcx
cmp rax, 0x12
jb 0x1400435ee
cmp qword [rbx + 0x18], 8
jb 0x1400431d7
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.140045350
mov rdx, qword [rbp + 0x17]
cmp rdx, 8
jb 0x14004323a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140043235
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400435c4
call fcn.14008ccfc
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 0x1400432aa
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
movdqa xmm1, xmmword [0x1400e0310]
movdqu xmmword [rbp - 0x19], xmm1
mov byte [rbp - 0x29], al
jmp 0x14004331a
movsxd rdx, eax
xor r8d, r8d
lea rcx, [rbp + 0x1f]
call fcn.14003add0
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 [0x1400e0310]
movdqu xmmword [rbp + 0x2f], xmm0
mov byte [rbp + 0x1f], 0
mov rcx, qword [0x140100158]
test rcx, rcx
je 0x140043347
lea r8, [rbp - 0x29]
mov edx, 2
call fcn.14003fc00
mov rcx, qword [0x140100158]
test rcx, rcx
je 0x140043347
mov rax, qword [rcx]
call qword [rax + 0x18]
nop
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x140043382
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004337d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400435e8
call fcn.14008ccfc
mov word [rdi], 1
jmp 0x140042f31
mov rcx, rbx
cmp qword [rbx + 0x18], 8
jb 0x140043399
mov rcx, qword [rbx]
call qword [sym.imp.SHLWAPI.dll_PathIsNetworkPathW]
test eax, eax
je 0x14004357b
mov rcx, qword [rbx + 0x10]
movabs rax, 0x7ffffffffffffffe
sub rax, rcx
cmp rax, 0x16
jb 0x1400435ee
cmp qword [rbx + 0x18], 8
jb 0x1400433cc
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.140045350
mov rdx, qword [rbp + 0x17]
cmp rdx, 8
jb 0x14004342f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004342a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400435c4
call fcn.14008ccfc
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 0x14004349f
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
movdqa xmm1, xmmword [0x1400e0310]
movdqu xmmword [rbp - 0x19], xmm1
mov byte [rbp - 0x29], al
jmp 0x14004350f
movsxd rdx, eax
xor r8d, r8d
lea rcx, [rbp + 0x1f]
call fcn.14003add0
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 [0x1400e0310]
movdqu xmmword [rbp + 0x2f], xmm0
mov byte [rbp + 0x1f], 0
mov rcx, qword [0x140100158]
test rcx, rcx
je 0x14004353c
lea r8, [rbp - 0x29]
mov edx, 2
call fcn.14003fc00
mov rcx, qword [0x140100158]
test rcx, rcx
je 0x14004353c
mov rax, qword [rcx]
call qword [rax + 0x18]
nop
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x140042f2c
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140042f27
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400435ca
jmp 0x140042f27
mov word [rdi], 0x101
mov rdx, qword [rbp + 0x17]
cmp rdx, 8
jb 0x140042f71
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140042f6c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400435d0
jmp 0x140042f6c
call fcn.14009445c
int3
call fcn.14009445c
nop
call fcn.14009445c
nop
call fcn.14009445c
int3
call fcn.14009445c
int3
call fcn.14009445c
int3
call fcn.14009445c
int3
call fcn.140035a20
int3