Function at 0x1402bdf70
Capabilities:
Get disk information

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x40
mov rax, qword [0x14042d950]
xor rax, rsp
mov qword [rsp + 0x30], rax
cmp dword [rcx + 0xd8], 0
mov rsi, rcx
jl 0x1402be29b
cmp dword [rcx + 4], 0
jl 0x1402be29b
mov eax, dword [0x140c47dd0]
mov qword [rsp + 0x70], r12
test al, 1
jne 0x1402bdfca
or eax, 1
mov dword [0x140c47dd0], eax
call fcn.140055490
mov rcx, rax
mov qword [0x140c47dc8], rax
jmp 0x1402bdfd1
mov rcx, qword [0x140c47dc8]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov r8d, dword [rsi + 0xd8]
mov edx, dword [rsi + 4]
mov rcx, rax
call fcn.1402bdea0
test rax, rax
mov r12, rax
jne 0x1402be05d
call fcn.140049500
lea rdx, str.1175
mov rdi, qword [rax]
mov rcx, rax
call qword [rdi]
lea rcx, [0x14037f568]
mov rdx, rax
call qword [sym.imp.MSVCR80.dll_wprintf]
call fcn.140049470
lea rcx, [0x14037f578]
mov rbx, qword [rax]
mov edx, 0x9f0
mov rdi, rax
call fcn.1402bac60
lea rdx, [0x14037f590]
mov rcx, rdi
mov r8, rax
call qword [rbx + 0x10]
xor eax, eax
mov r12, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.140161080
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret
mov rax, qword [rax]
mov rcx, r12
call qword [rax + 0xd8]
test eax, eax
je 0x1402be0cb
cmp word [rsi + 8], 0x2a
je 0x1402be0cb
call fcn.140049500
lea rdx, str.1208
mov rdi, qword [rax]
mov rcx, rax
call qword [rdi]
lea rcx, [0x14037f5b8]
mov rdx, rax
call qword [sym.imp.MSVCR80.dll_wprintf]
call fcn.140049470
lea rcx, [0x14037f5c8]
mov rbx, qword [rax]
mov edx, Ordinal_2552
mov rdi, rax
call fcn.1402bac60
lea rdx, [0x14037f5e0]
mov rcx, rdi
mov r8, rax
call qword [rbx + 0x10]
xor eax, eax
jmp 0x1402be043
movzx eax, word [rsi + 8]
cmp ax, 0x61
jb 0x1402be0db
cmp ax, 0x7a
jbe 0x1402be143
cmp ax, 0x41
jb 0x1402be0e7
cmp ax, 0x5a
jbe 0x1402be143
cmp ax, 0x2a
je 0x1402be143
cmp ax, 0x31
je 0x1402be143
call fcn.140049500
lea rdx, str.1163
mov rdi, qword [rax]
mov rcx, rax
call qword [rdi]
mov rcx, rax
call qword [sym.imp.MSVCR80.dll_wprintf]
call fcn.140049470
lea rcx, [0x14037f608]
mov rbx, qword [rax]
mov edx, Ordinal_2565
mov rdi, rax
call fcn.1402bac60
lea rdx, [0x14037f620]
mov rcx, rdi
mov r8, rax
call qword [rbx + 0x10]
xor eax, eax
jmp 0x1402be043
cmp ax, 0x2a
je 0x1402be187
call qword [sym.imp.KERNEL32.dll_GetLogicalDrives]
movzx r8d, word [rsi + 8]
cmp r8w, 0x31
mov r11d, eax
jne 0x1402be1ca
mov ecx, 2
bt eax, ecx
jae 0x1402be172
add ecx, 1
cmp ecx, 0x1a
jl 0x1402be163
jmp 0x1402be17a
add cx, 0x41
mov word [rsi + 8], cx
cmp word [rsi + 8], 0x31
jne 0x1402be187
mov word [rsi + 8], 0x2a
mov rax, qword [r12]
mov rcx, r12
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x78], r13
call qword [rax + 0x30]
mov ecx, dword [0x140c47dc0]
test cl, 1
mov r13, rax
jne 0x1402be251
or ecx, 1
mov dword [0x140c47dc0], ecx
call fcn.1400554f0
mov rbp, rax
mov qword [0x140c47db8], rax
jmp 0x1402be258
mov ecx, 2
nop
bt r11d, ecx
jae 0x1402be1f0
movzx edx, r8w
lea edi, [rcx + 0x41]
lea eax, [rdx - 0x61]
cmp ax, 0x19
ja 0x1402be1eb
add dx, 0xffe0
cmp di, dx
je 0x1402be1fa
add ecx, 1
cmp ecx, 0x1a
jl 0x1402be1d0
jmp 0x1402be187
call fcn.140049500
lea rdx, str.1187
mov rdi, qword [rax]
mov rcx, rax
call qword [rdi]
lea rcx, str._n_s_n
mov rdx, rax
call qword [sym.imp.MSVCR80.dll_wprintf]
call fcn.140049470
lea rcx, str..cmdoperation.cpp
mov rbx, qword [rax]
mov edx, Ordinal_2610
mov rdi, rax
call fcn.1402bac60
lea rdx, str._s:_param_error.
mov rcx, rdi
mov r8, rax
call qword [rbx + 0x10]
xor eax, eax
jmp 0x1402be043
mov rbp, qword [0x140c47db8]
mov rax, qword [r12]
mov rbx, qword [rbp]
mov rcx, r12
call qword [rax + 0x38]
mov rdx, qword [r13]
mov rcx, r13
mov rdi, rax
call qword [rdx + 0x50]
movzx r9d, word [rsi + 8]
mov r8, rdi
mov rcx, rbp
mov edx, eax
call qword [rbx + 0x30]
mov r13, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x68]
xor ebx, ebx
test eax, eax
setne bl
mov eax, ebx
jmp 0x1402be043
call fcn.140049500
lea rdx, str.1177
mov rdi, qword [rax]
mov rcx, rax
call qword [rdi]
lea rcx, [0x14037f518]
mov rdx, rax
call qword [sym.imp.MSVCR80.dll_wprintf]
call fcn.140049470
lea rbx, [0x140c492d0]
mov rcx, rbx
xor edx, edx
mov r8d, 0x80
mov rsi, rax
call sub.ntdll.dll_memset
lea rcx, [0x14037f528]
mov edx, 0x5c
call qword [sym.imp.ntdll.dll_strrchr]
test rax, rax
mov rdi, rax
jne 0x1402be2ff
xor ebx, ebx
jmp 0x1402be380
xor eax, eax
lea rdx, [0x14037f684]
lea rcx, [rsp + 0x20]
mov r8d, 0x9e3
mov byte [rsp + 0x20], 0
mov qword [rsp + 0x21], rax
mov word [rsp + 0x29], ax
mov byte [rsp + 0x2b], al
call qword [sym.imp.ntdll.dll_sprintf]
lea rdx, [rdi + 1]
mov rcx, rbx
sub rcx, rdx
nop
nop
nop
movzx eax, byte [rdx]
add rdx, 1
test al, al
mov byte [rcx + rdx - 1], al
jne 0x1402be340
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasb al, byte [rdi]
xor ecx, ecx
lea rdx, [rsp + 0x20]
nop
nop
nop
nop
movzx eax, byte [rdx + rcx]
add rcx, 1
test al, al
mov byte [rdi + rcx - 2], al
jne 0x1402be370
mov rax, qword [rsi]
lea rdx, [0x14037f540]
mov r8, rbx
mov rcx, rsi
call qword [rax + 0x10]
xor eax, eax
jmp 0x1402be048