Function at 0x180007f50
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 [0x1800a21e8]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov rbx, rcx
mov qword [rbp - 0x39], rcx
movdqa xmm6, xmmword [0x1800783e0]
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 0x180007fca
movups xmm0, xmmword [rbp - 9]
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm6
jmp 0x1800081a0
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 0x180008041
movups xmm0, xmmword [rbp - 9]
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm6
mov rdx, qword [rbp - 0x11]
cmp rdx, 8
jb 0x1800081a0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000819a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800081d6
jmp 0x18000819a
lea r15d, [rax + 1]
mov eax, 2
mul r15
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.180029fcc
mov r14, rax
test r15, r15
je 0x180008075
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 0x1800080df
mov rcx, r14
call fcn.180029f54
movups xmm0, xmmword [rbp - 9]
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm6
mov rdx, qword [rbp - 0x11]
cmp rdx, 8
jb 0x1800081a0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000819a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800081dc
jmp 0x18000819a
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.1800538a4
test eax, eax
je 0x180008136
nop word [rax + rax]
movzx eax, word [rdi]
add rdi, 2
test ax, ax
jne 0x180008120
movzx eax, word [rdi]
test ax, ax
je 0x180008150
jmp 0x1800080f0
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.180029f54
movups xmm0, xmmword [rbp - 9]
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm6
mov rdx, qword [rbp - 0x11]
cmp rdx, 8
jb 0x1800081a0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000819a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800081d0
call fcn.180029f54
nop
mov rax, rbx
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.18002a070
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.18004bb24
nop
call fcn.18004bb24
int3
call fcn.18004bb24
int3