Function at 0x140007a30
Capabilities:
Get disk information

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x858]
sub rsp, 0x930
mov qword [rbp - 0x10], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x1400d8010]
xor rax, rsp
mov qword [rbp + 0x820], rax
mov r13, rcx
lea rax, [0x140095030]
mov qword [rsp + 0x20], rax
lea rax, [0x140095038]
mov qword [rsp + 0x28], rax
lea rax, [0x140095040]
mov qword [rsp + 0x30], rax
lea rax, [0x140095048]
mov qword [rsp + 0x38], rax
lea rax, [0x140095050]
mov qword [rsp + 0x40], rax
lea rax, [0x140095058]
mov qword [rsp + 0x48], rax
lea rax, [0x140095060]
mov qword [rsp + 0x50], rax
lea rax, [0x140095068]
mov qword [rsp + 0x58], rax
lea rax, [0x140095070]
mov qword [rsp + 0x60], rax
lea rax, [0x140095078]
mov qword [rsp + 0x68], rax
lea rax, [0x140095080]
mov qword [rsp + 0x70], rax
lea rax, [0x140095088]
mov qword [rsp + 0x78], rax
lea rax, [0x140095090]
mov qword [rbp - 0x80], rax
lea rax, [0x140095098]
mov qword [rbp - 0x78], rax
lea rax, [0x1400950a0]
mov qword [rbp - 0x70], rax
lea rax, [0x1400950a8]
mov qword [rbp - 0x68], rax
lea rax, [0x1400950b0]
mov qword [rbp - 0x60], rax
lea rax, [0x1400950b8]
mov qword [rbp - 0x58], rax
lea rax, [0x1400950c0]
mov qword [rbp - 0x50], rax
lea rax, [0x1400950c8]
mov qword [rbp - 0x48], rax
lea rax, [0x1400950d0]
mov qword [rbp - 0x40], rax
lea rax, [0x1400950d8]
mov qword [rbp - 0x38], rax
lea rax, [0x1400950e0]
mov qword [rbp - 0x30], rax
lea rax, [0x1400950e8]
mov qword [rbp - 0x28], rax
lea rax, [0x1400950f0]
mov qword [rbp - 0x20], rax
lea rax, [0x1400950f8]
mov qword [rbp - 0x18], rax
xor r12d, r12d
mov r15d, r12d
mov r14d, r12d
or rsi, 0xffffffffffffffff
nop dword [rax]
mov r8d, 0x400
lea rdx, [rbp + 0x20]
mov rcx, qword [rsp + r14*8 + 0x20]
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_QueryDosDeviceW]
test eax, eax
je 0x140007d26
call fcn.140004250
test rax, rax
je 0x140007e62
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + reloc.OLEAUT32.dll_SafeArrayGetElement]
lea rdi, [rax + 0x18]
mov qword [rbp - 8], rdi
lea rcx, [rbp + 0x20]
lea rax, [rbp + 0x20]
test rax, 0xffffffffffff0000
jne 0x140007c1c
movzx ebx, cx
mov ecx, ebx
call fcn.140005710
test rax, rax
je 0x140007c41
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp - 8]
call fcn.1400053d0
jmp 0x140007c3d
lea rcx, [rbp + 0x20]
mov rax, rsi
inc rax
cmp word [rcx + rax*2], 0
jne 0x140007c23
mov r8d, eax
lea rdx, [rbp + 0x20]
lea rcx, [rbp - 8]
call fcn.140003d30
mov rdi, qword [rbp - 8]
mov rcx, qword [r13]
sub rcx, 0x18
call fcn.140005340
lea rbx, [rax + 0x18]
mov qword [rbp], rbx
cmp dword [rbx - 0x10], 0xa
jge 0x140007c60
mov eax, esi
jmp 0x140007c7f
lea rcx, [rbx + 0x14]
lea rdx, [0x140094934]
call fcn.140081b98
test rax, rax
jne 0x140007c79
mov eax, esi
jmp 0x140007c7f
sub rax, rbx
sar rax, 1
xor ecx, ecx
mov qword [rbp + 0x10], rcx
mov r8d, eax
lea rdx, [rbp + 0x10]
lea rcx, [rbp]
call fcn.140009be0
nop
test rdi, rdi
je 0x140007e57
mov rax, qword [rbp + 0x10]
mov rcx, rax
mov r8, rdi
sub r8, rax
nop dword [rax]
movzx edx, word [rcx]
cmp dx, word [rcx + r8]
jne 0x140007cc8
add rcx, 2
test dx, dx
jne 0x140007cb0
mov ecx, r12d
jmp 0x140007ccd
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x140007d3b
lea rdx, [rax - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140007ceb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140007d09
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 8]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140007d26
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
inc r15d
inc r14
cmp r14, 0x1a
jge 0x140007e6d
jmp 0x140007bb0
movsxd rax, r15d
mov r14, qword [rsp + rax*8 + 0x20]
call fcn.140004250
mov rcx, rax
test rax, rax
jne 0x140007d5b
mov ecx, 0x80004005
call fcn.140003fc0
int3
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
lea rbx, [rax + 0x18]
mov qword [rbp + 8], rbx
test r14, r14
je 0x140007dad
test r14, 0xffffffffffff0000
jne 0x140007d99
movzx r14d, r14w
mov ecx, r14d
call fcn.140005710
test rax, rax
je 0x140007dc3
mov r8d, r14d
mov rdx, rax
lea rcx, [rbp + 8]
call fcn.1400053d0
jmp 0x140007dbf
mov rax, rsi
nop dword [rax]
inc rax
cmp word [r14 + rax*2], 0
jne 0x140007da0
jmp 0x140007db0
mov eax, r12d
mov r8d, eax
mov rdx, r14
lea rcx, [rbp + 8]
call fcn.140003d30
mov rbx, qword [rbp + 8]
mov r8, rbx
mov rdx, rdi
lea rcx, [rbp]
call fcn.140009e00
lea rdx, [rbp]
mov rcx, r13
call fcn.14000a130
mov r12d, 1
lea rdx, [rbx - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, r12d
jg 0x140007dfe
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x10]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140007e1c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140007e3a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 8]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x140007e6d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140007e6d
mov ecx, 0x80004005
call fcn.140003fc0
nop
mov ecx, 0x80004005
call fcn.140003fc0
int3
mov eax, r12d
mov rcx, qword [rbp + 0x820]
xor rcx, rsp
call fcn.140079e30
lea r11, [rsp + 0x930]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret