Function at 0x140098860
Capabilities:
Get disk information

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x2a0
movdqa xmmword [rsp + 0x290], xmm6
mov rax, qword [0x140191d78]
xor rax, rsp
mov qword [rsp + 0x288], rax
mov rdi, rdx
mov r14, rcx
mov eax, 7
movq xmm0, rax
pslldq xmm0, 8
lea rsi, [rsp + 0x30]
movdqu xmmword [rsi + 0x10], xmm0
mov word [rsi], 0
mov rcx, rdi
call fcn.1400f4120
mov rcx, rsi
mov rdx, rdi
mov r8, rax
call fcn.1400018c0
mov rcx, rsi
call fcn.140098060
mov ebx, eax
mov rcx, rsi
call fcn.140001a70
mov sil, 1
test bl, bl
jne 0x140098b7a
mov eax, 7
movq xmm0, rax
pslldq xmm0, 8
lea rsi, [rsp + 0x268]
movdqu xmmword [rsi + 0x10], xmm0
mov word [rsi], 0
mov rcx, r14
mov rdx, rsi
call fcn.140098220
test al, al
je 0x140098a95
mov eax, 7
movq xmm0, rax
pslldq xmm0, 8
lea rbx, [rsp + 0x240]
movdqu xmmword [rbx + 0x10], xmm0
mov word [rbx], 0
mov rcx, rdi
call fcn.1400f4120
mov rcx, rbx
mov rdx, rdi
mov r8, rax
call fcn.1400018c0
mov rcx, qword [rbx + 0x18]
cmp rcx, 7
mov rax, qword [rbx]
mov rdx, rbx
cmova rdx, rax
mov r9, qword [rbx + 0x10]
movzx edx, word [rdx + r9*2 - 2]
cmp edx, 0x5c
jne 0x1400989d7
mov eax, 7
movq xmm6, rax
pslldq xmm6, 8
lea rdi, [rsp + 0x30]
movdqu xmmword [rdi + 0x10], xmm6
dec r9
xor r15d, r15d
mov word [rdi], r15w
lea r14, [rsp + 0x240]
xor r8d, r8d
mov rcx, rdi
mov rdx, r14
call fcn.140073000
mov rcx, r14
call fcn.140001a70
movdqu xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movaps xmmword [r14 + 0x10], xmm1
movdqa xmmword [r14], xmm0
movdqu xmmword [rdi + 0x10], xmm6
mov word [rdi], r15w
mov rcx, rdi
call fcn.140001a70
mov rax, qword [r14]
mov rcx, qword [r14 + 0x18]
mov edx, 7
cmp rcx, rdx
cmova rbx, rax
cmp qword [rsp + 0x280], rdx
jbe 0x1400989f5
mov rsi, qword [rsp + 0x268]
mov rcx, rsi
mov rdx, rbx
call fcn.140107e20
test eax, eax
je 0x140098a9c
lea rsi, [rsp + 0x240]
mov rcx, rsi
mov rdx, rsi
call fcn.140098620
mov ebx, eax
mov rcx, rsi
call fcn.140098720
test al, al
jne 0x140098aa4
test bl, bl
je 0x140098aa4
mov eax, 7
movq xmm0, rax
pslldq xmm0, 8
lea rdi, [rsp + 0x30]
movdqu xmmword [rdi + 0x10], xmm0
mov word [rdi], 0
lea rcx, [rsp + 0x268]
mov rdx, rdi
call fcn.140098760
test al, al
je 0x140098aca
mov eax, 7
cmp qword [rsp + 0x258], rax
jbe 0x140098a76
mov rsi, qword [rsp + 0x240]
cmp qword [rsp + 0x48], rax
jbe 0x140098a82
mov rdi, qword [rsp + 0x30]
mov rcx, rdi
mov rdx, rsi
call fcn.140107e20
test eax, eax
sete sil
jmp 0x140098acc
xor esi, esi
jmp 0x140098b6d
mov sil, 1
jmp 0x140098b60
test al, al
je 0x140098b5e
mov qword [rsp + 0x28], 0
cmp qword [rsp + 0x258], 7
jbe 0x140098adb
mov rax, qword [rsp + 0x240]
jmp 0x140098ae3
xor esi, esi
lea rcx, [rsp + 0x30]
call fcn.140001a70
jmp 0x140098b60
lea rax, [rsp + 0x240]
mov eax, dword [rax]
lea rcx, [rsp + 0x28]
mov dword [rcx], eax
lea rdx, [rsp + 0x30]
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
xor esi, esi
cmp eax, 2
jb 0x140098b60
cmp eax, 0x104
je 0x140098b60
lea rcx, [rsp + 0x30]
call fcn.1400f4120
mov esi, eax
mov rax, qword [rsp + 0x250]
add rax, rsi
add rax, 0xfffffffffffffffe
cmp rax, qword [rsp + 0x278]
jne 0x140098b5e
cmp qword [rsp + 0x280], 7
jbe 0x140098b45
mov rcx, qword [rsp + 0x268]
jmp 0x140098b4d
lea rcx, [rsp + 0x268]
lea rdx, [rsp + 0x30]
mov r8, rsi
call fcn.140107c70
test eax, eax
je 0x140098ba3
xor esi, esi
lea rcx, [rsp + 0x240]
call fcn.140001a70
lea rcx, [rsp + 0x268]
call fcn.140001a70
mov rcx, qword [rsp + 0x288]
xor rcx, rsp
call fcn.1400edc60
mov eax, esi
movaps xmm6, xmmword [rsp + 0x290]
add rsp, 0x2a0
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
mov eax, 7
cmp qword [rsp + 0x258], rax
jbe 0x140098bbc
mov rdx, qword [rsp + 0x240]
jmp 0x140098bc4
lea rdx, [rsp + 0x240]
add rdx, 4
cmp qword [rsp + 0x280], rax
jbe 0x140098bdc
mov rax, qword [rsp + 0x268]
jmp 0x140098be4
lea rax, [rsp + 0x268]
lea rcx, [rax + rsi*2]
call fcn.140107e20
test eax, eax
sete sil
jmp 0x140098b60