Function at 0x140114a49
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 rdi, rcx
mov rax, qword [0x1401c6b58]
xor rax, rsp
mov qword [rsp + 0x288], rax
lea rbx, [rsp + 0x50]
mov rcx, rbx
call fcn.140001b50
mov rcx, rbx
call fcn.14011413c
mov ebp, eax
test byte [rbx], 1
je 0x140114a9e
mov rcx, qword [rsp + 0x60]
call fcn.140148278
mov bl, 1
test bpl, bpl
jne 0x140114d5c
movabs r14, 0xaaaaaaaaaaaaaaaa
lea rbx, [rsp + 0x260]
mov qword [rbx + 0x20], r14
movaps xmm6, xmmword [section..rdata]
movaps xmmword [rbx + 0x10], xmm6
movaps xmmword [rbx], xmm6
mov rcx, rbx
mov rdx, rdi
call fcn.1401144af
cmp byte [rbx], 0
je 0x140114b15
lea rdi, [rsp + 0x30]
mov qword [rdi + 0x10], r14
movaps xmmword [rdi], xmm6
mov rcx, rdi
mov rdx, rsi
call fcn.140001b50
mov rcx, rdi
call fcn.140019b66
cmp word [rax], 0x5c
jne 0x140114b67
movzx r9d, byte [rsp + 0x30]
test r9b, 1
je 0x140114b1c
mov r9, qword [rsp + 0x38]
jmp 0x140114b1f
xor ebx, ebx
jmp 0x140114d5c
shr r9d, 1
dec r9
lea rax, [rsp + 0x258]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x50]
lea rsi, [rsp + 0x30]
mov rdx, rsi
xor r8d, r8d
call fcn.14002eab2
test byte [rsi], 1
je 0x140114b53
mov rcx, qword [rsp + 0x40]
call fcn.140148278
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x40], rax
movups xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x30], xmm0
lea rbx, [rsp + 0x32]
test byte [rbx - 2], 1
mov rdx, rbx
je 0x140114b7a
mov rdx, qword [rsp + 0x40]
lea rdi, [rsp + 0x26a]
test byte [rdi - 2], 1
mov rcx, rdi
je 0x140114b93
mov rcx, qword [rsp + 0x278]
call fcn.1401642cc
test eax, eax
je 0x140114c20
lea rsi, [rsp + 0x268]
lea r14, [rsp + 0x30]
mov rcx, r14
mov rdx, r14
call fcn.140114860
mov ebp, eax
mov rcx, r14
call fcn.140114921
test al, al
jne 0x140114c27
test bpl, bpl
je 0x140114c27
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], 0
cmp byte [rsp + 0x260], 0
je 0x140114da6
lea rdx, [rsp + 0x50]
mov rcx, rsi
call fcn.140114988
test al, al
je 0x140114cb6
test byte [rsp + 0x30], 1
je 0x140114c0b
mov rbx, qword [rsp + 0x40]
test byte [rsp + 0x50], 1
je 0x140114cba
mov rcx, qword [rsp + 0x60]
jmp 0x140114cbf
mov bl, 1
jmp 0x140114d2a
test al, al
je 0x140114d28
lea r14, [rsp + 0x258]
mov qword [r14], 0
lea r15, [rsp + 0x50]
mov r8d, 0x208
mov rcx, r15
mov dl, 0xaa
call fcn.14014b870
xor ebx, ebx
lea rcx, [rsp + 0x30]
xor edx, edx
call fcn.1400106a4
mov eax, dword [rax]
mov dword [r14], eax
mov rcx, r14
mov rdx, r15
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
cmp eax, 2
jb 0x140114d2a
cmp eax, 0x104
je 0x140114d2a
lea rcx, [rsp + 0x50]
call fcn.14016dfe4
cmp byte [rsp + 0x260], 0
je 0x140114da4
mov ebx, eax
movzx eax, byte [rsp + 0x30]
test al, 1
je 0x140114cdf
mov rax, qword [rsp + 0x38]
jmp 0x140114ce1
xor ebx, ebx
jmp 0x140114ccc
lea rcx, [rsp + 0x52]
mov rdx, rbx
call fcn.1401642cc
test eax, eax
sete bl
test byte [rsp + 0x50], 1
je 0x140114d2a
mov rcx, qword [rsp + 0x60]
call fcn.140148278
jmp 0x140114d2a
shr eax, 1
lea rcx, [rbx + rax]
add rcx, 0xfffffffffffffffe
movzx eax, byte [rsp + 0x268]
test al, 1
je 0x140114cff
mov rdx, qword [rsp + 0x270]
jmp 0x140114d03
mov edx, eax
shr edx, 1
cmp rcx, rdx
jne 0x140114d28
test al, 1
je 0x140114d14
mov rdi, qword [rsp + 0x278]
lea rdx, [rsp + 0x50]
mov rcx, rdi
mov r8, rbx
call fcn.140164488
test eax, eax
je 0x140114d86
xor ebx, ebx
test byte [rsp + 0x30], 1
je 0x140114d3b
mov rcx, qword [rsp + 0x40]
call fcn.140148278
cmp byte [rsp + 0x260], 0
je 0x140114d5c
test byte [rsp + 0x268], 1
je 0x140114d5c
mov rcx, qword [rsp + 0x278]
call fcn.140148278
mov rcx, qword [rsp + 0x288]
xor rcx, rsp
call fcn.140148650
mov eax, ebx
movaps xmm6, xmmword [rsp + 0x290]
add rsp, 0x2a8
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
cmp byte [rsp + 0x260], 0
je 0x140114da6
lea r8, [rsp + 0x30]
mov rcx, rsi
mov rdx, rbx
call fcn.140114dac
mov ebx, eax
jmp 0x140114d2a
ud2
call fcn.140003d50
int3