Function at 0x7ff674a42c50
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 [0x7ff674aed368]
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 [0x7ff674ad74e0]
movdqu xmmword [rbp + 0xf], xmm1
mov word [rbp - 1], r14w
cmp qword [rdx + 0x10], 2
jb 0x7ff674a4339c
mov rax, rdx
mov rdx, qword [rdx + 0x18]
cmp rdx, 8
jb 0x7ff674a42cb5
mov rax, qword [rax]
cmp word [rax + 2], 0x3a
jne 0x7ff674a4339c
mov rcx, rbx
cmp rdx, 8
jb 0x7ff674a42ccc
mov rcx, qword [rbx]
movzx ecx, word [rcx]
call fcn.7ff674a900cc
test eax, eax
je 0x7ff674a4339c
mov rcx, rbx
call fcn.7ff674a42ae0
test al, al
je 0x7ff674a431c2
mov rdx, rbx
lea rcx, [rbp + 0x1f]
call fcn.7ff674a428d0
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 0x7ff674a42d2c
cmp eax, 1
jne 0x7ff674a42fa8
lea rcx, [rbp + 0x1f]
call fcn.7ff674a429f0
test al, al
je 0x7ff674a42fa8
mov rdx, qword [rbp + 0x37]
cmp rdx, 8
jb 0x7ff674a42d6c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1f]
cmp rdx, 0x1000
mov rax, rcx
jb 0x7ff674a42d67
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x7ff674a435ec
call fcn.7ff674a8526c
mov rcx, qword [rbx + 0x10]
movabs rax, 0x7ffffffffffffffe
sub rax, rcx
cmp rax, 0x16
jb 0x7ff674a435fe
cmp qword [rbx + 0x18], 8
jb 0x7ff674a42d91
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.7ff674a45360
mov rdx, qword [rbp + 0x17]
cmp rdx, 8
jb 0x7ff674a42df4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff674a42def
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x7ff674a435d4
call fcn.7ff674a8526c
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 0x7ff674a42e64
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
movdqa xmm1, xmmword [0x7ff674ad74f0]
movdqu xmmword [rbp - 0x19], xmm1
mov byte [rbp - 0x29], al
jmp 0x7ff674a42ed4
movsxd rdx, eax
xor r8d, r8d
lea rcx, [rbp + 0x1f]
call fcn.7ff674a3acc0
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 [0x7ff674ad74f0]
movdqu xmmword [rbp + 0x2f], xmm0
mov byte [rbp + 0x1f], 0
mov rcx, qword [0x7ff674af5e58]
test rcx, rcx
je 0x7ff674a42f01
lea r8, [rbp - 0x29]
mov edx, 2
call fcn.7ff674a3fdd0
mov rcx, qword [0x7ff674af5e58]
test rcx, rcx
je 0x7ff674a42f01
mov rax, qword [rcx]
call qword [rax + 0x18]
nop
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x7ff674a42f3c
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff674a42f37
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x7ff674a435e6
call fcn.7ff674a8526c
mov word [rdi], 0x100
mov rdx, qword [rbp + 0x17]
cmp rdx, 8
jb 0x7ff674a42f81
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff674a42f7c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x7ff674a435e0
call fcn.7ff674a8526c
mov rax, rdi
mov rcx, qword [rbp + 0x3f]
xor rcx, rsp
call fcn.7ff674a84ea0
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 0x7ff674a42fe8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1f]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff674a42fe3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x7ff674a435ec
call fcn.7ff674a8526c
mov rcx, qword [rbx + 0x10]
movabs rax, 0x7ffffffffffffffe
sub rax, rcx
cmp rax, 0x14
jb 0x7ff674a435fe
cmp qword [rbx + 0x18], 8
jb 0x7ff674a4300d
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.7ff674a45360
mov rdx, qword [rbp + 0x17]
cmp rdx, 8
jb 0x7ff674a43070
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff674a4306b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x7ff674a435d4
call fcn.7ff674a8526c
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 0x7ff674a430e0
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
movdqa xmm1, xmmword [0x7ff674ad74f0]
movdqu xmmword [rbp - 0x19], xmm1
mov byte [rbp - 0x29], al
jmp 0x7ff674a43150
movsxd rdx, eax
xor r8d, r8d
lea rcx, [rbp + 0x1f]
call fcn.7ff674a3acc0
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 [0x7ff674ad74f0]
movdqu xmmword [rbp + 0x2f], xmm0
mov byte [rbp + 0x1f], 0
mov rcx, qword [0x7ff674af5e58]
test rcx, rcx
je 0x7ff674a4317d
lea r8, [rbp - 0x29]
mov edx, 2
call fcn.7ff674a3fdd0
mov rcx, qword [0x7ff674af5e58]
test rcx, rcx
je 0x7ff674a4317d
mov rax, qword [rcx]
call qword [rax + 0x18]
nop
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x7ff674a431b8
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff674a431b3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x7ff674a435f2
call fcn.7ff674a8526c
mov word [rdi], 0
jmp 0x7ff674a42f41
mov rcx, qword [rbx + 0x10]
movabs rax, 0x7ffffffffffffffe
sub rax, rcx
cmp rax, 0x12
jb 0x7ff674a435fe
cmp qword [rbx + 0x18], 8
jb 0x7ff674a431e7
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.7ff674a45360
mov rdx, qword [rbp + 0x17]
cmp rdx, 8
jb 0x7ff674a4324a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff674a43245
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x7ff674a435d4
call fcn.7ff674a8526c
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 0x7ff674a432ba
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
movdqa xmm1, xmmword [0x7ff674ad74f0]
movdqu xmmword [rbp - 0x19], xmm1
mov byte [rbp - 0x29], al
jmp 0x7ff674a4332a
movsxd rdx, eax
xor r8d, r8d
lea rcx, [rbp + 0x1f]
call fcn.7ff674a3acc0
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 [0x7ff674ad74f0]
movdqu xmmword [rbp + 0x2f], xmm0
mov byte [rbp + 0x1f], 0
mov rcx, qword [0x7ff674af5e58]
test rcx, rcx
je 0x7ff674a43357
lea r8, [rbp - 0x29]
mov edx, 2
call fcn.7ff674a3fdd0
mov rcx, qword [0x7ff674af5e58]
test rcx, rcx
je 0x7ff674a43357
mov rax, qword [rcx]
call qword [rax + 0x18]
nop
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x7ff674a43392
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff674a4338d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x7ff674a435f8
call fcn.7ff674a8526c
mov word [rdi], 1
jmp 0x7ff674a42f41
mov rcx, rbx
cmp qword [rbx + 0x18], 8
jb 0x7ff674a433a9
mov rcx, qword [rbx]
call qword [sym.imp.SHLWAPI.dll_PathIsNetworkPathW]
test eax, eax
je 0x7ff674a4358b
mov rcx, qword [rbx + 0x10]
movabs rax, 0x7ffffffffffffffe
sub rax, rcx
cmp rax, 0x16
jb 0x7ff674a435fe
cmp qword [rbx + 0x18], 8
jb 0x7ff674a433dc
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.7ff674a45360
mov rdx, qword [rbp + 0x17]
cmp rdx, 8
jb 0x7ff674a4343f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff674a4343a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x7ff674a435d4
call fcn.7ff674a8526c
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 0x7ff674a434af
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
movdqa xmm1, xmmword [0x7ff674ad74f0]
movdqu xmmword [rbp - 0x19], xmm1
mov byte [rbp - 0x29], al
jmp 0x7ff674a4351f
movsxd rdx, eax
xor r8d, r8d
lea rcx, [rbp + 0x1f]
call fcn.7ff674a3acc0
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 [0x7ff674ad74f0]
movdqu xmmword [rbp + 0x2f], xmm0
mov byte [rbp + 0x1f], 0
mov rcx, qword [0x7ff674af5e58]
test rcx, rcx
je 0x7ff674a4354c
lea r8, [rbp - 0x29]
mov edx, 2
call fcn.7ff674a3fdd0
mov rcx, qword [0x7ff674af5e58]
test rcx, rcx
je 0x7ff674a4354c
mov rax, qword [rcx]
call qword [rax + 0x18]
nop
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x7ff674a42f3c
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff674a42f37
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x7ff674a435da
jmp 0x7ff674a42f37
mov word [rdi], 0x101
mov rdx, qword [rbp + 0x17]
cmp rdx, 8
jb 0x7ff674a42f81
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff674a42f7c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x7ff674a435e0
jmp 0x7ff674a42f7c
call fcn.7ff674a8c94c
int3
call fcn.7ff674a8c94c
nop
call fcn.7ff674a8c94c
nop
call fcn.7ff674a8c94c
int3
call fcn.7ff674a8c94c
int3
call fcn.7ff674a8c94c
int3
call fcn.7ff674a8c94c
int3
call fcn.7ff674a35a30
int3