Function at 0x14002db6e
Capabilities:
Get disk information

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2a8
movaps xmmword [rsp + 0x290], xmm6
mov rsi, rdx
mov rbx, rcx
mov rax, qword [0x140091088]
xor rax, rsp
mov qword [rsp + 0x288], rax
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x38], 7
mov word [rsp + 0x20], 0
mov rcx, rdx
call fcn.14005d058
mov rdi, rax
cmp rax, 7
jbe 0x14002dc3c
movabs rax, 0x7ffffffffffffffe
cmp rdi, rax
ja 0x14002e188
mov rcx, rdi
or rcx, 7
cmp rcx, 0xb
mov edx, 0xa
cmovae rdx, rcx
cmp rdx, rax
mov r15, rax
cmovb r15, rdx
cmp rcx, rax
lea rax, [rdx + rdx + 2]
mov rcx, 0xfffffffffffffffe
cmovbe rcx, rax
call fcn.14004ffe0
mov r14, rax
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], r15
mov r8, rdi
add r8, rdi
mov rcx, rax
mov rdx, rsi
call fcn.140054a90
mov word [r14 + rdi*2], 0
mov qword [rsp + 0x20], r14
jmp 0x14002dc5a
lea rcx, [rsp + 0x20]
mov qword [rcx + 0x10], rdi
mov r8, rdi
add r8, rdi
mov rdx, rsi
call fcn.140054a90
mov word [rsp + rdi*2 + 0x20], 0
lea rdi, [rsp + 0x20]
mov rcx, rdi
call fcn.14002cbc8
mov ebp, eax
mov rax, qword [rdi + 0x18]
cmp rax, 8
jb 0x14002dc85
mov rcx, qword [rsp + 0x20]
lea rdx, [rax + rax]
add rdx, 2
call fcn.140050040
mov dil, 1
test bpl, bpl
jne 0x14002e10a
movaps xmm6, xmmword [0x140076960]
lea rdi, [rsp + 0x250]
movaps xmmword [rdi + 0x20], xmm6
movaps xmmword [rdi + 0x10], xmm6
movaps xmmword [rdi], xmm6
mov rcx, rdi
mov rdx, rbx
call fcn.14002d0ba
cmp byte [rdi], 0
je 0x14002dd7b
movups xmmword [rsp + 0x238], xmm6
mov qword [rsp + 0x230], 0
mov qword [rsp + 0x248], 7
mov word [rsp + 0x230], 0
mov rcx, rsi
call fcn.14005d058
mov rdi, rax
cmp rax, 7
jbe 0x14002dd82
movabs rax, 0x7ffffffffffffffe
cmp rdi, rax
ja 0x14002e188
mov rcx, rdi
or rcx, 7
cmp rcx, 0xb
mov edx, 0xa
cmovae rdx, rcx
cmp rdx, rax
mov r14, rax
cmovb r14, rdx
cmp rcx, rax
lea rax, [rdx + rdx + 2]
mov rcx, 0xfffffffffffffffe
cmovbe rcx, rax
call fcn.14004ffe0
mov rbx, rax
mov qword [rsp + 0x240], rdi
mov qword [rsp + 0x248], r14
mov r8, rdi
add r8, rdi
mov rcx, rax
mov rdx, rsi
call fcn.140054a90
mov word [rbx + rdi*2], 0
mov qword [rsp + 0x230], rbx
jmp 0x14002ddac
xor edi, edi
jmp 0x14002e10a
lea rbx, [rsp + 0x230]
mov qword [rbx + 0x10], rdi
mov r8, rdi
add r8, rdi
mov rcx, rbx
mov rdx, rsi
call fcn.140054a90
mov word [rsp + rdi*2 + 0x230], 0
mov rbx, qword [rbx]
lea rdi, [rsp + 0x230]
mov rax, qword [rdi + 0x10]
mov rsi, qword [rdi + 0x18]
cmp rsi, 8
cmovb rbx, rdi
cmp word [rbx + rax*2 - 2], 0x5c
jne 0x14002dec7
lea r14, [rax - 1]
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x38], 7
mov word [rsp + 0x20], 0
cmp rax, r14
cmovb r14, rax
cmp r14, 7
jbe 0x14002de75
movabs rax, 0x7ffffffffffffffe
cmp r14, rax
ja 0x14002e188
mov rcx, r14
or rcx, 7
cmp rcx, 0xb
mov edx, 0xa
cmovae rdx, rcx
cmp rdx, rax
mov r15, rax
cmovb r15, rdx
cmp rcx, rax
lea rax, [rdx + rdx + 2]
mov rcx, 0xfffffffffffffffe
cmovbe rcx, rax
call fcn.14004ffe0
mov rsi, rax
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x38], r15
lea r8, [r14 + r14]
mov rcx, rax
mov rdx, rbx
call fcn.140054a90
mov word [rsi + r14*2], 0
mov qword [rsp + 0x20], rsi
mov rsi, qword [rsp + 0x248]
jmp 0x14002de92
lea rcx, [rsp + 0x20]
mov qword [rcx + 0x10], r14
lea r8, [r14 + r14]
mov rdx, rbx
call fcn.140054a90
mov word [rsp + r14*2 + 0x20], 0
cmp rsi, 8
jb 0x14002dead
mov rcx, qword [rsp + 0x230]
lea rdx, [rsi + rsi]
add rdx, 2
call fcn.140050040
movups xmm0, xmmword [rsp + 0x20]
movups xmm1, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x240], xmm1
movaps xmmword [rsp + 0x230], xmm0
cmp byte [rsp + 0x250], 0
je 0x14002e18d
cmp qword [rsp + 0x248], 8
jb 0x14002dee8
mov rdi, qword [rsp + 0x230]
lea rsi, [rsp + 0x258]
cmp qword [rsi + 0x18], 8
mov rcx, rsi
jb 0x14002df02
mov rcx, qword [rsp + 0x258]
mov rdx, rdi
call fcn.14005888c
test eax, eax
je 0x14002dfbf
lea rdi, [rsp + 0x230]
mov rcx, rdi
mov rdx, rdi
call fcn.14002d665
mov ebx, eax
mov rcx, rdi
call fcn.14002d8c7
test al, al
jne 0x14002dfc7
test bl, bl
je 0x14002dfc7
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x28], rax
xor eax, eax
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 7
mov word [rsp + 0x20], 0
cmp byte [rsp + 0x250], 0
je 0x14002e18d
lea rbx, [rsp + 0x20]
mov rcx, rsi
mov rdx, rbx
call fcn.14002d90c
test al, al
je 0x14002e005
cmp qword [rsp + 0x248], 8
jb 0x14002df9f
mov rdi, qword [rsp + 0x230]
cmp qword [rsp + 0x38], 8
jb 0x14002dfac
mov rbx, qword [rsp + 0x20]
mov rcx, rbx
mov rdx, rdi
call fcn.14005888c
test eax, eax
sete dil
jmp 0x14002e007
mov dil, 1
jmp 0x14002e0ba
test al, al
je 0x14002e0b8
mov qword [rsp + 0x228], 0
lea rdi, [rsp + 0x20]
mov r8d, 0x208
mov rcx, rdi
mov dl, 0xaa
call fcn.1400548d0
cmp qword [rsp + 0x248], 8
jb 0x14002e02d
mov rax, qword [rsp + 0x230]
jmp 0x14002e035
xor edi, edi
mov rax, qword [rsp + 0x38]
cmp rax, 8
jb 0x14002e0ba
mov rcx, qword [rsp + 0x20]
lea rdx, [rax + rax]
add rdx, 2
call fcn.140050040
jmp 0x14002e0ba
lea rax, [rsp + 0x230]
mov eax, dword [rax]
lea rcx, [rsp + 0x228]
mov dword [rcx], eax
mov rdx, rdi
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
xor edi, edi
cmp eax, 2
jb 0x14002e0ba
cmp eax, 0x104
je 0x14002e0ba
lea rcx, [rsp + 0x20]
call fcn.14005d058
cmp byte [rsp + 0x250], 0
je 0x14002e186
mov edi, eax
mov rax, qword [rsp + 0x240]
add rax, rdi
add rax, 0xfffffffffffffffe
cmp rax, qword [rsp + 0x268]
jne 0x14002e0b8
cmp qword [rsp + 0x270], 8
mov rcx, rsi
jb 0x14002e0a7
mov rcx, qword [rsp + 0x258]
lea rdx, [rsp + 0x20]
mov r8, rdi
call fcn.14005e254
test eax, eax
je 0x14002e134
xor edi, edi
mov rax, qword [rsp + 0x248]
cmp rax, 8
jb 0x14002e0dd
mov rcx, qword [rsp + 0x230]
lea rdx, [rax + rax]
add rdx, 2
call fcn.140050040
cmp byte [rsp + 0x250], 0
je 0x14002e10a
mov rax, qword [rsp + 0x270]
cmp rax, 8
jb 0x14002e10a
mov rcx, qword [rsp + 0x258]
lea rdx, [rax + rax]
add rdx, 2
call fcn.140050040
mov rcx, qword [rsp + 0x288]
xor rcx, rsp
call fcn.140052800
mov eax, edi
movaps xmm6, xmmword [rsp + 0x290]
add rsp, 0x2a8
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
cmp byte [rsp + 0x250], 0
je 0x14002e18d
cmp qword [rsp + 0x248], 8
jb 0x14002e153
mov rdx, qword [rsp + 0x230]
jmp 0x14002e15b
lea rdx, [rsp + 0x230]
add rdx, 4
cmp qword [rsp + 0x270], 8
jb 0x14002e172
mov rsi, qword [rsp + 0x258]
lea rcx, [rsi + rdi*2]
call fcn.14005888c
test eax, eax
sete dil
jmp 0x14002e0ba
ud2
call fcn.1400441d0
call fcn.14001f110
int3