Function at 0x14013b7bc
Capabilities:
Get disk information

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
xor r15d, r15d
mov r13, rdx
mov esi, r15d
mov qword [rbp - 0x10], r15
mov qword [rbp - 0x18], r15
mov rbx, rcx
mov dword [rbp - 0x20], r15d
mov rcx, qword [0x140170048]
lea rax, [0x140170048]
cmp rcx, rax
je 0x14013b81e
test byte [rcx + 0x1c], 0x20
je 0x14013b81e
cmp byte [rcx + 0x19], 4
jb 0x14013b81e
mov rcx, qword [rcx + 0x10]
lea edx, [r15 + 0x17]
lea r8, [0x14015b9d0]
call fcn.140004c54
call qword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov r12d, eax
test eax, eax
jne 0x14013b844
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
jmp 0x14013ba24
or rdi, 0xffffffffffffffff
mov rax, rdi
inc rax
cmp word [rbx + rax*2], r15w
jne 0x14013b84b
dec eax
mov rcx, rbx
cmp word [rbx + rax*2], 0x5c
je 0x14013b873
lea r8, [rbp - 0x18]
lea rdx, [0x1401487f8]
call fcn.140084760
jmp 0x14013b87f
xor r8d, r8d
lea rdx, [rbp - 0x18]
call fcn.14008468c
mov r14, qword [rbp - 0x18]
mov ebx, eax
test eax, eax
js 0x14013ba08
lea r9, [rbp + 0x58]
mov word [rbp + 0x50], r15w
xor r8d, r8d
xor edx, edx
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetVolumePathNamesForVolumeNameW]
test eax, eax
jne 0x14013b8c8
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xea
je 0x14013b8c8
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
jmp 0x14013ba08
mov ecx, dword [rbp + 0x58]
add rcx, rcx
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
xor ebx, ebx
mov r15, rax
test rax, rax
jne 0x14013b8e8
mov ebx, 0x8007000e
jmp 0x14013ba08
mov r8d, dword [rbp + 0x58]
lea r9, [rbp - 0x20]
mov rdx, r15
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetVolumePathNamesForVolumeNameW]
test eax, eax
jne 0x14013b919
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
jmp 0x14013b9ff
inc rdi
cmp word [r15 + rdi*2], bx
jne 0x14013b919
test edi, edi
je 0x14013b967
lea eax, [rdi + 1]
lea rcx, [rax + rax]
mov ebx, eax
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov rdi, rax
test rax, rax
jne 0x14013b948
mov ebx, 0x8007000e
jmp 0x14013b9ff
mov r8, r15
mov rdx, rbx
mov rcx, rdi
call fcn.14003a4d0
mov ebx, eax
test eax, eax
js 0x14013b9f1
mov rsi, rdi
xor ebx, ebx
jmp 0x14013b9be
mov ecx, 1
mov eax, ebx
test r12d, ecx
je 0x14013b97e
add ecx, ecx
inc eax
cmp eax, 0x1a
jb 0x14013b96e
jmp 0x14013b9aa
add ax, 0x41
mov word [rbp + 0x52], bx
lea r8, [rbp - 0x10]
mov word [rbp + 0x50], ax
lea rdx, [0x14015b99c]
lea rcx, [rbp + 0x50]
call fcn.140084760
mov rsi, qword [rbp - 0x10]
mov ebx, eax
test eax, eax
js 0x14013b9ff
xor ebx, ebx
mov rdx, r14
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_SetVolumeMountPointW]
test eax, eax
je 0x14013b900
mov rcx, qword [0x1401724a8]
test rcx, rcx
je 0x14013b9d0
call qword [sym.imp.ole32.dll_CoTaskMemFree]
lea r8, [0x1401724a8]
mov qword [0x1401724a8], rbx
mov rdx, r13
mov rcx, rsi
call fcn.140084760
xor r12d, r12d
mov ebx, eax
mov edi, r12d
test rdi, rdi
je 0x14013b9ff
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, r15
call qword [sym.imp.ole32.dll_CoTaskMemFree]
test r14, r14
je 0x14013ba16
mov rcx, r14
call qword [sym.imp.ole32.dll_CoTaskMemFree]
test rsi, rsi
je 0x14013ba24
mov rcx, rsi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [0x140170048]
lea rax, [0x140170048]
cmp rcx, rax
je 0x14013ba58
test byte [rcx + 0x1c], 0x20
je 0x14013ba58
cmp byte [rcx + 0x19], 4
jb 0x14013ba58
mov rcx, qword [rcx + 0x10]
lea r8, [0x14015b9d0]
mov edx, 0x18
call fcn.140004c54
mov eax, ebx
mov rbx, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret