Function at 0x14008f440
Capabilities:
Get disk information

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x220]
sub rsp, 0x320
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rsp + 0x370], rbx
mov rax, qword [0x1404680d8]
xor rax, rsp
mov qword [rbp + 0x210], rax
mov r14, rdx
mov rdi, rcx
xor r12d, r12d
mov word [rbp], r12w
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
lea r15, [0x14047c100]
lea r13, [0x14047c128]
lea rbx, [0x14047c148]
mov eax, dword [rdx + rcx]
cmp dword [0x14047c0f8], eax
jle 0x14008f5e0
lea rcx, [0x14047c0f8]
call fcn.140283170
cmp dword [0x14047c0f8], 0xffffffff
jne 0x14008f5e0
xor edx, edx
lea r8d, [r12 + 0x68]
mov rcx, r15
call fcn.140286140
mov rcx, r15
call fcn.140112010
nop
mov rcx, r13
call fcn.14000c320
nop
mov rcx, rbx
call fcn.14000c320
nop
mov rdx, r15
lea rcx, [rbp - 8]
call fcn.14000ed10
nop
lea rcx, [rsp + 0x28]
call fcn.140099b20
nop
lea r9d, [r12 + 2]
xor r8d, r8d
lea rdx, [rbp - 0x48]
mov rcx, rax
call fcn.140025500
mov rsi, rax
cmp r13, rax
je 0x14008f564
mov rcx, r13
call fcn.14000c340
movups xmm0, xmmword [rsi]
movups xmmword [0x14047c128], xmm0
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [0x14047c138], xmm1
mov qword [rsi + 0x10], r12
mov qword [rsi + 0x18], 7
mov word [rsi], r12w
lea rcx, [rbp - 0x48]
call fcn.14000c300
nop
lea rcx, [rsp + 0x28]
call fcn.14000c300
cmp qword [0x14047c138], 2
jne 0x14008f5bd
lea rax, [rbp - 0x48]
mov qword [rsp + 0x50], rax
mov rdx, r13
lea rcx, [rbp - 0x48]
call fcn.1400256d0
nop
mov rdx, rbx
mov rcx, rax
call fcn.140098b80
test al, al
je 0x14008f5bd
mov r8d, 1
lea rdx, [0x1403c6eb4]
mov rcx, rbx
call fcn.14000d710
nop
lea rcx, [rbp - 8]
call fcn.14000ed40
nop
lea rcx, [0x1402f32c0]
call fcn.140282f40
nop
lea rcx, [0x14047c0f8]
call fcn.140283110
mov qword [rbp - 8], r15
mov rcx, r15
call fcn.140112220
nop
mov r8, qword [0x14047c158]
test r8, r8
je 0x14008f6c5
cmp qword [rdi + 0x10], r8
jb 0x14008f6c5
cmp qword [0x14047c160], 8
cmovae rbx, qword [0x14047c148]
mov rcx, rdi
cmp qword [rdi + 0x18], 8
jb 0x14008f624
mov rcx, qword [rdi]
test rcx, rcx
je 0x14008f63f
test rbx, rbx
je 0x14008f63f
mov rdx, rbx
call fcn.140299648
mov r8, qword [0x14047c158]
jmp 0x14008f644
mov eax, 0xffffffff
test eax, eax
jne 0x14008f6c5
mov r9, 0xffffffffffffffff
lea rdx, [rbp - 0x28]
mov rcx, rdi
call fcn.140025500
nop
lea rcx, [rbp - 0x68]
call fcn.14000c320
nop
lea r8, [rbp - 0x68]
lea rdx, [rbp - 0x28]
mov rcx, r13
call fcn.140082f50
mov rdx, rax
lea rcx, [rsp + 0x78]
call fcn.1400256d0
nop
lea rcx, [rbp - 0x68]
call fcn.14000c300
nop
lea rdx, [rsp + 0x78]
mov rcx, r14
call fcn.140025640
nop
lea rcx, [rsp + 0x78]
call fcn.14000c300
nop
lea rcx, [rbp - 0x28]
call fcn.14000c300
nop
lea rcx, [rbp - 8]
call fcn.14000ecf0
nop
mov eax, 1
jmp 0x14008f7f4
lea rcx, [rbp - 8]
call fcn.14000ecf0
nop
lea rdx, [rbp]
mov ecx, 0x103
call qword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
test eax, eax
je 0x14008f7f2
xor eax, eax
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], rax
mov word [rsp + 0x20], r12w
mov rdx, qword [rdi + 0x10]
inc rdx
lea r8, [rsp + 0x20]
lea rcx, [rsp + 0x78]
call fcn.140024ee0
nop
mov eax, dword [0x1403c97cc]
mov dword [rbp - 8], eax
movzx eax, word [0x1403c97d0]
mov word [rbp - 4], ax
lea rbx, [rbp]
movzx eax, word [rbp]
nop
mov word [rbp - 8], ax
mov r8, qword [rbp - 0x80]
mov rdx, qword [rsp + 0x78]
sub r8, rdx
sar r8, 1
lea rcx, [rbp - 8]
call qword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
test eax, eax
je 0x14008f7d0
mov rdx, qword [rsp + 0x78]
lea rcx, [rbp - 0x68]
call fcn.14000d360
nop
mov r8d, 1
lea rdx, [0x1403c6eb4]
lea rcx, [rbp - 0x68]
call fcn.14000d710
mov r8, qword [rbp - 0x58]
cmp qword [rdi + 0x10], r8
jae 0x14008f784
xor al, al
jmp 0x14008f7be
lea rdx, [rbp - 0x68]
cmp qword [rbp - 0x50], 8
cmovae rdx, qword [rbp - 0x68]
mov rcx, rdi
cmp qword [rdi + 0x18], 8
jb 0x14008f79f
mov rcx, qword [rdi]
test rcx, rcx
je 0x14008f7b4
test rdx, rdx
je 0x14008f7b4
call fcn.140299648
mov r8, qword [rbp - 0x58]
jmp 0x14008f7b9
mov eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x14008f81e
lea rcx, [rbp - 0x68]
call fcn.14000c300
nop dword [rax + rax]
movzx eax, word [rbx]
add rbx, 2
test ax, ax
jne 0x14008f7d0
movzx eax, word [rbx]
test ax, ax
jne 0x14008f730
lea rcx, [rsp + 0x78]
call fcn.140029670
xor eax, eax
mov rcx, qword [rbp + 0x210]
xor rcx, rsp
call fcn.140282c10
mov rbx, qword [rsp + 0x370]
add rsp, 0x320
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r9, 0xffffffffffffffff
lea rdx, [rbp - 0x48]
mov rcx, rdi
call fcn.140025500
nop
lea rdx, [rbp - 8]
lea rcx, [rsp + 0x28]
call fcn.14000d360
nop
lea rcx, [rbp - 0x28]
call fcn.14000c320
nop
lea r8, [rbp - 0x28]
lea rdx, [rbp - 0x48]
lea rcx, [rsp + 0x28]
call fcn.140082f50
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.1400256d0
nop
lea rcx, [rbp - 0x28]
call fcn.14000c300
nop
lea rdx, [rsp + 0x58]
mov rcx, r14
call fcn.140025640
nop
lea rcx, [rsp + 0x58]
call fcn.14000c300
nop
lea rcx, [rsp + 0x28]
call fcn.14000c300
nop
lea rcx, [rbp - 0x48]
call fcn.14000c300
nop
lea rcx, [rbp - 0x68]
call fcn.14000c300
nop
lea rcx, [rsp + 0x78]
call fcn.140029670
mov eax, 1
jmp 0x14008f7f4