Function at 0x180007c50
Capabilities:
Get disk information

Disassembly:
mov rax, rsp
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x90
mov qword [rbp - 0x31], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x1800961e8]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov rbx, rcx
mov qword [rbp - 0x39], rcx
movdqa xmm6, xmmword [0x18006e3e0]
movdqu xmmword [rbp + 7], xmm6
xor r12d, r12d
mov word [rbp - 9], r12w
mov qword [rbp - 0x19], r12
mov qword [rbp - 0x11], 7
mov word [rbp - 0x29], r12w
test rdx, rdx
jne 0x180007cca
movups xmm0, xmmword [rbp - 9]
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm6
jmp 0x180007ea0
movzx eax, word [rdx]
mov qword [rbp - 0x19], 1
mov word [rbp - 0x29], ax
mov word [rbp - 0x27], r12w
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
mov esi, eax
test eax, eax
jne 0x180007d41
movups xmm0, xmmword [rbp - 9]
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm6
mov rdx, qword [rbp - 0x11]
cmp rdx, 8
jb 0x180007ea0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180007e9a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180007ed6
jmp 0x180007e9a
lea r15d, [rax + 1]
mov eax, 2
mul r15
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.180022a6c
mov r14, rax
test r15, r15
je 0x180007d75
movzx eax, r12w
mov rdi, r14
mov ecx, r15d
rep stosw word [rdi], ax
mov rdx, r14
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
test eax, eax
jne 0x180007ddf
mov rcx, r14
call fcn.1800229f4
movups xmm0, xmmword [rbp - 9]
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm6
mov rdx, qword [rbp - 0x11]
cmp rdx, 8
jb 0x180007ea0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180007e9a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180007edc
jmp 0x180007e9a
xor eax, eax
mov word [rbp - 0x37], ax
mov rdi, r14
movzx eax, word [r14]
nop dword [rax]
mov word [rbp - 0x39], ax
lea rdx, [rbp - 0x29]
cmp qword [rbp - 0x11], 8
cmovae rdx, qword [rbp - 0x29]
mov r8d, 2
lea rcx, [rbp - 0x39]
call fcn.18004b9b8
test eax, eax
je 0x180007e36
nop word [rax + rax]
movzx eax, word [rdi]
add rdi, 2
test ax, ax
jne 0x180007e20
movzx eax, word [rdi]
test ax, ax
je 0x180007e50
jmp 0x180007df0
mov qword [rbp + 7], 1
movzx eax, word [rbp - 0x39]
mov word [rbp - 9], ax
mov word [rbp - 7], r12w
movdqu xmm6, xmmword [rbp + 7]
mov rcx, r14
call fcn.1800229f4
movups xmm0, xmmword [rbp - 9]
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm6
mov rdx, qword [rbp - 0x11]
cmp rdx, 8
jb 0x180007ea0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180007e9a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180007ed0
call fcn.1800229f4
nop
mov rax, rbx
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.180022b10
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
call fcn.1800445c4
nop
call fcn.1800445c4
int3
call fcn.1800445c4
int3