Function at 0x1400079b0
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 [0x1400d6010]
xor rax, rsp
mov qword [rbp + 0x820], rax
mov r13, rcx
lea rax, [0x140094010]
mov qword [rsp + 0x20], rax
lea rax, [0x140094018]
mov qword [rsp + 0x28], rax
lea rax, [0x140094020]
mov qword [rsp + 0x30], rax
lea rax, [0x140094028]
mov qword [rsp + 0x38], rax
lea rax, [0x140094030]
mov qword [rsp + 0x40], rax
lea rax, [0x140094038]
mov qword [rsp + 0x48], rax
lea rax, [0x140094040]
mov qword [rsp + 0x50], rax
lea rax, [0x140094048]
mov qword [rsp + 0x58], rax
lea rax, [0x140094050]
mov qword [rsp + 0x60], rax
lea rax, [0x140094058]
mov qword [rsp + 0x68], rax
lea rax, [0x140094060]
mov qword [rsp + 0x70], rax
lea rax, [0x140094068]
mov qword [rsp + 0x78], rax
lea rax, [0x140094070]
mov qword [rbp - 0x80], rax
lea rax, [0x140094078]
mov qword [rbp - 0x78], rax
lea rax, [0x140094080]
mov qword [rbp - 0x70], rax
lea rax, [0x140094088]
mov qword [rbp - 0x68], rax
lea rax, [0x140094090]
mov qword [rbp - 0x60], rax
lea rax, [0x140094098]
mov qword [rbp - 0x58], rax
lea rax, [0x1400940a0]
mov qword [rbp - 0x50], rax
lea rax, [0x1400940a8]
mov qword [rbp - 0x48], rax
lea rax, [0x1400940b0]
mov qword [rbp - 0x40], rax
lea rax, [0x1400940b8]
mov qword [rbp - 0x38], rax
lea rax, [0x1400940c0]
mov qword [rbp - 0x30], rax
lea rax, [0x1400940c8]
mov qword [rbp - 0x28], rax
lea rax, [0x1400940d0]
mov qword [rbp - 0x20], rax
lea rax, [0x1400940d8]
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 0x140007ca6
call fcn.140004250
test rax, rax
je 0x140007de2
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 0x140007b9c
movzx ebx, cx
mov ecx, ebx
call fcn.140005710
test rax, rax
je 0x140007bc1
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp - 8]
call fcn.1400053d0
jmp 0x140007bbd
lea rcx, [rbp + 0x20]
mov rax, rsi
inc rax
cmp word [rcx + rax*2], 0
jne 0x140007ba3
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 0x140007be0
mov eax, esi
jmp 0x140007bff
lea rcx, [rbx + 0x14]
lea rdx, [0x140093914]
call fcn.140080c48
test rax, rax
jne 0x140007bf9
mov eax, esi
jmp 0x140007bff
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.140009b60
nop
test rdi, rdi
je 0x140007dd7
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 0x140007c48
add rcx, 2
test dx, dx
jne 0x140007c30
mov ecx, r12d
jmp 0x140007c4d
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x140007cbb
lea rdx, [rax - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140007c6b
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 0x140007c89
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 0x140007ca6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
inc r15d
inc r14
cmp r14, 0x1a
jge 0x140007ded
jmp 0x140007b30
movsxd rax, r15d
mov r14, qword [rsp + rax*8 + 0x20]
call fcn.140004250
mov rcx, rax
test rax, rax
jne 0x140007cdb
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 0x140007d2d
test r14, 0xffffffffffff0000
jne 0x140007d19
movzx r14d, r14w
mov ecx, r14d
call fcn.140005710
test rax, rax
je 0x140007d43
mov r8d, r14d
mov rdx, rax
lea rcx, [rbp + 8]
call fcn.1400053d0
jmp 0x140007d3f
mov rax, rsi
nop dword [rax]
inc rax
cmp word [r14 + rax*2], 0
jne 0x140007d20
jmp 0x140007d30
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.140009d80
lea rdx, [rbp]
mov rcx, r13
call fcn.14000a0b0
mov r12d, 1
lea rdx, [rbx - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, r12d
jg 0x140007d7e
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 0x140007d9c
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 0x140007dba
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 0x140007ded
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140007ded
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.140078ef0
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