Function at 0x14008ed4c
Capabilities:
Get disk information

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov rax, qword [0x1401f5698]
xor rax, rsp
mov qword [rbp], rax
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
lea rcx, [rbp - 0x70]
call fcn.140114c40
nop
lea rcx, [rsp + 0x30]
call fcn.140114c40
nop
xor r13d, r13d
test rbx, rbx
je 0x14008f268
cmp word [rbx], r13w
je 0x14008f268
cmp word [rbx], 0x5b
jne 0x14008f0a9
lea r15d, [r13 + 0x5d]
mov edx, r15d
lea rcx, [rbx + 2]
call fcn.14012cc40
test rax, rax
je 0x14008f0a9
lea rcx, [rsp + 0x48]
call fcn.140114c40
nop
lea rcx, [rbp - 0x80]
call fcn.140114c40
nop
lea rcx, [rsp + 0x70]
call fcn.140114c40
nop
or rsi, 0xffffffffffffffff
mov r8, rsi
lea rdx, [rbx + 2]
lea rcx, [rsp + 0x48]
call fcn.140115190
mov edx, r15d
mov rcx, qword [rsp + 0x48]
call fcn.14012cc40
mov r12, rax
test rax, rax
je 0x14008f085
call fcn.140113da0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], r13
movdqa xmm0, xmmword [0x1401aa3d0]
movdqu xmmword [rbp - 0x28], xmm0
mov dword [rbp - 0x18], 0x100
mov qword [rbp - 0x14], 0x200
mov word [r12], r13w
add r12, 2
lea r15d, [r13 + 0x3a]
mov edx, r15d
mov rcx, qword [rsp + 0x48]
call fcn.14012dd3c
lea r14d, [r13 + 1]
test rax, rax
je 0x14008f00a
mov word [rax], r13w
lea rdx, [rax + 2]
mov r8, rsi
lea rcx, [rsp + 0x70]
call fcn.140115190
mov edx, r15d
mov rcx, qword [rsp + 0x48]
call fcn.14012dd3c
mov rbx, rax
test rax, rax
je 0x14008ef65
cmp word [rax - 2], 0x2a
jne 0x14008ef65
lea edx, [rsi + 0x5d]
cmp word [rax - 4], dx
jne 0x14008ef65
lea rcx, [rbp - 0x50]
call fcn.140114c40
nop
lea rcx, [rbp - 0x40]
call fcn.140114c40
nop
lea rax, [rsp + 0x58]
mov qword [rbp - 0x30], rax
lea rcx, [rsp + 0x70]
call fcn.140054ee8
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], r12
mov word [rbx - 4], r13w
lea rdx, [rbx + 2]
mov r8, rsi
lea rcx, [rbp - 0x50]
call fcn.140115190
lea edx, [rsi + 0x3e]
mov rcx, qword [rbp - 0x50]
call fcn.14012cc40
test rax, rax
je 0x14008ef4e
mov word [rax], r13w
lea rdx, [rax + 2]
mov r8, rsi
lea rcx, [rbp - 0x40]
call fcn.140115190
mov ebx, r13d
lea rcx, [rsp + 0x48]
call fcn.140054ee8
mov rdx, rax
lea r9, [rbp - 0x60]
lea r8, [0x14008e618]
mov rcx, qword [rbp + rbx*8 - 0x28]
call fcn.1401245f0
add rbx, r14
cmp rbx, 2
jb 0x14008ef23
lea rcx, [rbp - 0x40]
call fcn.140114ca4
lea rcx, [rbp - 0x50]
call fcn.140114ca4
jmp 0x14008f00a
mov rsi, r13
call fcn.140116890
mov r15, r13
test al, al
sete r15b
lea rcx, [rsp + 0x70]
call fcn.140054ee8
mov rbx, rax
lea rcx, [rsp + 0x48]
call fcn.140054ee8
mov rdx, rax
mov ecx, dword [rbp + r15*4 - 0x18]
mov dword [rsp + 0x20], ecx
lea r9, [rbp - 0x80]
mov r8, rbx
mov rcx, qword [rbp + rsi*8 - 0x28]
call fcn.140124944
test eax, eax
jle 0x14008eff0
lea rcx, [rbp - 0x80]
call fcn.140054ee8
mov rcx, rax
xor r8d, r8d
mov rdx, r12
call fcn.1401186ec
mov qword [rsp + 0x40], rax
mov rdx, qword [rsp + 0x60]
cmp rdx, qword [rsp + 0x68]
je 0x14008efe1
mov qword [rdx], rax
add qword [rsp + 0x60], 8
jmp 0x14008eff0
lea r8, [rsp + 0x40]
lea rcx, [rsp + 0x58]
call fcn.140007624
add r15, r14
cmp r15, 3
jb 0x14008ef76
add rsi, r14
cmp rsi, 2
jb 0x14008ef68
mov rbx, r13
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
sub rax, rcx
sar rax, 3
test rax, rax
jle 0x14008f07a
lea rdx, [rcx + rbx*8]
lea rcx, [rsp + 0x30]
call fcn.140114ec0
lea rcx, [rsp + 0x30]
call fcn.140054ee8
mov rcx, rax
xor edx, edx
call fcn.140115770
test al, al
je 0x14008f061
lea rcx, [rsp + 0x30]
call fcn.140054ee8
mov rdx, rax
xor r8d, r8d
mov rcx, rdi
call fcn.14008b280
add rbx, r14
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
sub rax, rcx
sar rax, 3
cmp rbx, rax
jl 0x14008f023
test rcx, rcx
je 0x14008f085
call fcn.140113e18
nop
lea rcx, [rsp + 0x70]
call fcn.140114ca4
nop
lea rcx, [rbp - 0x80]
call fcn.140114ca4
nop
lea rcx, [rsp + 0x48]
call fcn.140114ca4
jmp 0x14008f268
mov edx, 0x25
mov rcx, rbx
call fcn.14012cc40
mov rcx, rbx
test rax, rax
je 0x14008f0f8
call fcn.14011ad0c
mov rsi, rax
test rax, rax
je 0x14008f268
xor edx, edx
mov rcx, rax
call fcn.140115770
test al, al
je 0x14008f0eb
mov r8, rsi
mov rdx, rbx
mov rcx, rdi
call fcn.14008b280
mov rcx, rsi
call fcn.140113e18
jmp 0x14008f268
mov edx, 0x5c
call fcn.14012cc40
test rax, rax
jne 0x14008f152
lea r9, [rbp - 0x70]
xor r8d, r8d
mov rdx, rbx
xor ecx, ecx
call fcn.140116acc
test eax, eax
je 0x14008f130
lea rcx, [rbp - 0x70]
call fcn.140054ee8
mov r8, rax
mov rdx, rbx
jmp 0x14008f260
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.140123e6c
test al, al
je 0x14008f268
lea rcx, [rsp + 0x30]
jmp 0x14008f120
mov r14d, 1
mov dl, r14b
mov rcx, rbx
call fcn.140117a3c
test al, al
je 0x14008f17d
xor edx, edx
mov rcx, rbx
call fcn.140115770
test al, al
je 0x14008f17d
mov rdx, rbx
jmp 0x14008f25d
test rsi, rsi
je 0x14008f1c6
cmp word [rsi], r13w
je 0x14008f1c6
xor r8d, r8d
mov rdx, rbx
mov rcx, rsi
call fcn.1401186ec
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x30]
call fcn.140114ec0
lea rcx, [rsp + 0x30]
call fcn.140054ee8
mov rcx, rax
xor edx, edx
call fcn.140115770
test al, al
jne 0x14008f250
mov dword [rbp - 6], 0x3a
mov eax, 0x43
mov word [rbp - 8], ax
test rsi, rsi
je 0x14008f1f2
cmp word [rsi], r13w
je 0x14008f1f2
mov rdx, rsi
lea rcx, [rbp - 8]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x14008f23c
lea rcx, [rbp - 8]
call qword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 3
jne 0x14008f23c
xor r8d, r8d
mov rdx, rbx
lea rcx, [rbp - 8]
call fcn.1401186ec
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x30]
call fcn.140114ec0
lea rcx, [rsp + 0x30]
call fcn.140054ee8
mov rcx, rax
xor edx, edx
call fcn.140115770
test al, al
jne 0x14008f250
movzx eax, word [rbp - 8]
add ax, r14w
mov word [rbp - 8], ax
cmp ax, 0x5a
ja 0x14008f268
jmp 0x14008f1d6
lea rcx, [rsp + 0x30]
call fcn.140054ee8
mov rdx, rax
xor r8d, r8d
mov rcx, rdi
call fcn.14008b280
mov rbx, qword [rdi + 8]
sub rbx, qword [rdi]
sar rbx, 4
lea rcx, [rsp + 0x30]
call fcn.140114ca4
nop
lea rcx, [rbp - 0x70]
call fcn.140114ca4
mov rax, rbx
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.14012bda0
mov rbx, qword [rsp + 0x168]
add rsp, 0x110
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret