Function at 0x140008a30
Capabilities:
Get disk information

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xe0
mov r15, rcx
lea rcx, vtable.CVolCommonBaseWithMemManager.0
mov qword [rsp + 0x20], rcx
lea r13, vtable.CVolObject.0
mov qword [rsp + 0x20], r13
xor r12d, r12d
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x30], r12
lea rax, vtable.CWString.0
mov qword [rsp + 0x20], rax
lea rax, [rbp - 0x79]
mov qword [rbp + 0x6f], rax
mov qword [rbp - 0x79], rcx
mov qword [rbp - 0x79], r13
mov qword [rbp - 0x71], r12
mov qword [rbp - 0x69], r12
lea r14, vtable.CVolMem.0
mov qword [rbp - 0x79], r14
mov qword [rbp - 0x61], r12
mov qword [rbp - 0x51], r12
mov qword [rbp - 0x59], r12
mov qword [rbp - 0x49], 0x40
mov qword [rsp + 0x38], r12
mov qword [rbp - 0x49], 0xfe
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
mov esi, eax
test eax, eax
je 0x140008c32
mov eax, 2
mul rsi
mov rbx, rax
mov rax, 0xffffffffffffffff
cmovo rbx, rax
mov rcx, rbx
call fcn.140021b8c
mov rdi, rax
mov r8, rbx
xor edx, edx
mov rcx, rax
call fcn.140023920
mov rdx, rdi
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
mov esi, r12d
cmp word [rdi], si
je 0x140008c2a
mov rbx, rdi
lea r14, [r15 + 0x18]
lea r15, vtable.CVolMem.0
mov rdx, qword [rbp - 0x61]
mov rax, qword [rsp + 0x38]
test rax, rax
jne 0x140008b4e
lea rax, [0x140047278]
cmp qword [rbp - 0x51], 0
cmovne rax, rdx
cmp rbx, rax
je 0x140008b8b
mov qword [rsp + 0x38], r12
test rdx, rdx
je 0x140008b68
lea rcx, [rbp - 0x79]
mov rax, qword [rbp - 0x79]
call qword [rax + 0x18]
mov qword [rbp - 0x61], r12
mov qword [rbp - 0x51], r12
mov qword [rbp - 0x59], r12
test rbx, rbx
je 0x140008b8b
cmp word [rbx], 0
je 0x140008b8b
mov rdx, rbx
lea rcx, [rbp - 0x79]
call fcn.14001e460
mov r8d, 1
lea rdx, [rbp - 0x39]
lea rcx, [rsp + 0x20]
call fcn.14001fc70
nop
mov r8, qword [rax + 0x18]
test r8, r8
jne 0x140008bba
cmp qword [rax + 0x48], r8
lea r8, [0x140047278]
je 0x140008bba
mov r8, qword [rax + 0x38]
mov edx, 1
mov rcx, r14
call fcn.140008c90
nop
lea rax, [rbp - 0x19]
mov qword [rbp + 0x6f], rax
mov qword [rbp - 0x19], r15
mov rdx, qword [rbp - 1]
test rdx, rdx
je 0x140008be8
lea rcx, [rbp - 0x19]
mov rax, qword [rbp - 0x19]
call qword [rax + 0x18]
mov qword [rbp - 1], r12
mov qword [rbp + 0xf], r12
mov qword [rbp + 7], r12
mov qword [rbp - 0x19], r13
mov qword [rbp - 0x39], r13
mov rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], 0
jne 0x140008c03
inc esi
add esi, eax
lea rbx, [rdi + rsi*2]
cmp word [rbx], 0
jne 0x140008b30
mov r15, qword [rbp + 0x67]
lea r14, vtable.CVolMem.0
mov rcx, rdi
call fcn.140021b84
mov rbx, qword [r15 + 0x48]
shr rbx, 3
lea rax, [rbp - 0x79]
mov qword [rbp + 0x67], rax
mov qword [rbp - 0x79], r14
mov rdx, qword [rbp - 0x61]
test rdx, rdx
je 0x140008c59
lea rcx, [rbp - 0x79]
call qword [method.CWString.virtual_24]
mov qword [rbp - 0x61], r12
mov qword [rbp - 0x51], r12
mov qword [rbp - 0x59], r12
mov qword [rbp - 0x79], r13
mov qword [rsp + 0x20], r13
mov eax, ebx
mov rbx, qword [rsp + 0x130]
add rsp, 0xe0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret