Function at 0x180007c30
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 [0x18008b218]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov rbx, rcx
mov qword [rbp - 0x39], rcx
movdqa xmm6, xmmword [0x1800653e0]
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 0x180007caa
movups xmm0, xmmword [rbp - 9]
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm6
jmp 0x180007e80
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 0x180007d21
movups xmm0, xmmword [rbp - 9]
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm6
mov rdx, qword [rbp - 0x11]
cmp rdx, 8
jb 0x180007e80
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180007e7a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180007eb6
jmp 0x180007e7a
lea r15d, [rax + 1]
mov eax, 2
mul r15
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.18001e614
mov r14, rax
test r15, r15
je 0x180007d55
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 0x180007dbf
mov rcx, r14
call fcn.18001e5a4
movups xmm0, xmmword [rbp - 9]
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm6
mov rdx, qword [rbp - 0x11]
cmp rdx, 8
jb 0x180007e80
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180007e7a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180007ebc
jmp 0x180007e7a
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.1800453ac
test eax, eax
je 0x180007e16
nop word [rax + rax]
movzx eax, word [rdi]
add rdi, 2
test ax, ax
jne 0x180007e00
movzx eax, word [rdi]
test ax, ax
je 0x180007e30
jmp 0x180007dd0
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.18001e5a4
movups xmm0, xmmword [rbp - 9]
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm6
mov rdx, qword [rbp - 0x11]
cmp rdx, 8
jb 0x180007e80
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180007e7a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180007eb0
call fcn.18001e5a4
nop
mov rax, rbx
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.18001e6b0
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.1800400b4
nop
call fcn.1800400b4
int3
call fcn.1800400b4
int3