Function at 0x1400ca7a0
Capabilities:
Get disk information

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x288
mov rsi, rdx
mov rdi, rcx
mov rax, qword [0x1401b46a8]
xor rax, rsp
mov qword [rsp + 0x280], rax
lea rbp, [rsp + 0x70]
mov rcx, rbp
call fcn.1400028f4
mov rcx, rbp
call fcn.1400c9ef8
mov ebx, eax
test byte [rbp], 1
je 0x1400ca7f1
mov rcx, qword [rsp + 0x80]
call fcn.1401321e4
mov r15b, 1
test bl, bl
jne 0x1400caab2
xorps xmm0, xmm0
lea rdx, [rsp + 0x50]
movaps xmmword [rdx], xmm0
mov qword [rdx + 0x10], 0
mov rcx, rdi
call fcn.1400ca1c6
test al, al
je 0x1400ca869
movabs rax, 0xaaaaaaaaaaaaaaaa
lea r14, [rsp + 0x30]
mov qword [r14 + 0x10], rax
movaps xmm0, xmmword [section..rdata]
movaps xmmword [r14], xmm0
mov rcx, r14
mov rdx, rsi
call fcn.1400028f4
movzx r9d, byte [r14]
test r9b, 1
jne 0x1400ca871
shr r9, 1
cmp word [rsp + r9*2 + 0x30], 0x5c
je 0x1400ca884
lea r14, [rsp + 0x30]
lea rdi, [rsp + 0x32]
jmp 0x1400ca90d
xor r15d, r15d
jmp 0x1400caaa1
mov r9, qword [rsp + 0x38]
mov rax, qword [rsp + 0x40]
cmp word [rax + r9*2 - 2], 0x5c
jne 0x1400ca8ba
dec r9
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x70]
lea r14, [rsp + 0x30]
mov rdx, r14
xor r8d, r8d
call fcn.140022ed2
test byte [r14], 1
jne 0x1400ca8c5
mov word [rsp + 0x32], 0
mov byte [rsp + 0x30], 0
jmp 0x1400ca8f2
lea rdi, [rsp + 0x32]
mov rdx, qword [rdi + 0xe]
jmp 0x1400ca910
mov rax, qword [rsp + 0x40]
mov word [rax], 0
mov qword [rsp + 0x38], 0
test byte [rsp + 0x30], 1
je 0x1400ca8f2
mov rcx, qword [rsp + 0x40]
call fcn.1401321e4
mov qword [rsp + 0x30], 0
movups xmm0, xmmword [rbp]
lea rdi, [rsp + 0x32]
movaps xmmword [rdi - 2], xmm0
mov rdx, qword [rbp + 0x10]
mov qword [rdi + 0xe], rdx
test byte [rdi - 2], 1
jne 0x1400ca910
mov rdx, rdi
lea rbp, [rsp + 0x52]
test byte [rbp - 2], 1
mov rcx, rbp
je 0x1400ca923
mov rcx, qword [rsp + 0x60]
call fcn.140148338
test eax, eax
je 0x1400ca997
lea rsi, [rsp + 0x30]
mov rcx, rsi
mov rdx, rsi
call fcn.1400ca57b
mov ebx, eax
mov rcx, rsi
call fcn.1400ca668
test al, al
jne 0x1400ca99f
test bl, bl
je 0x1400ca99f
xorps xmm0, xmm0
lea rdx, [rsp + 0x70]
movaps xmmword [rdx], xmm0
mov qword [rdx + 0x10], 0
lea rcx, [rsp + 0x50]
call fcn.1400ca6b3
test al, al
je 0x1400caa1c
test byte [rsp + 0x30], 1
je 0x1400ca97f
mov rdi, qword [rsp + 0x40]
test byte [rsp + 0x70], 1
je 0x1400caa21
mov rcx, qword [rsp + 0x80]
jmp 0x1400caa26
mov r15b, 1
jmp 0x1400caa90
test al, al
je 0x1400caa8d
mov qword [rsp + 0x28], 0
lea rsi, [rsp + 0x70]
mov r8d, 0x208
mov rcx, rsi
mov dl, 0xaa
call fcn.140135a50
test byte [rsp + 0x30], 1
je 0x1400ca9d1
mov rdi, qword [rsp + 0x40]
mov eax, dword [rdi]
lea rcx, [rsp + 0x28]
mov dword [rcx], eax
mov rdx, rsi
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
xor r15d, r15d
cmp eax, 2
jb 0x1400caa90
cmp eax, 0x104
je 0x1400caa90
lea rcx, [rsp + 0x70]
call fcn.140150e84
mov edi, eax
movzx eax, byte [rsp + 0x30]
test al, 1
je 0x1400caa4a
mov rax, qword [rsp + 0x38]
jmp 0x1400caa4d
xor r15d, r15d
jmp 0x1400caa34
lea rcx, [rsp + 0x72]
mov rdx, rdi
call fcn.140148338
test eax, eax
sete r15b
test byte [rsp + 0x70], 1
je 0x1400caa90
mov rcx, qword [rsp + 0x80]
call fcn.1401321e4
jmp 0x1400caa90
shr rax, 1
lea rcx, [rdi + rax]
add rcx, 0xfffffffffffffffe
movzx eax, byte [rsp + 0x50]
test al, 1
je 0x1400caa65
mov rdx, qword [rsp + 0x58]
jmp 0x1400caa6b
mov rdx, rax
shr rdx, 1
cmp rcx, rdx
jne 0x1400caa8d
mov rcx, rbp
test al, 1
je 0x1400caa7c
mov rcx, qword [rsp + 0x60]
lea rdx, [rsp + 0x70]
mov r8, rdi
call fcn.1401484e8
test eax, eax
je 0x1400caad5
xor r15d, r15d
test byte [rsp + 0x30], 1
je 0x1400caaa1
mov rcx, qword [rsp + 0x40]
call fcn.1401321e4
test byte [rsp + 0x50], 1
je 0x1400caab2
mov rcx, qword [rsp + 0x60]
call fcn.1401321e4
mov rcx, qword [rsp + 0x280]
xor rcx, rsp
call fcn.140132550
mov eax, r15d
add rsp, 0x288
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
mov rdx, qword [rsp + 0x40]
add r14, 6
add rdx, 4
test byte [rsp + 0x30], 1
cmove rdx, r14
test byte [rsp + 0x50], 1
je 0x1400caaf7
mov rbp, qword [rsp + 0x60]
lea rcx, [rdi*2]
add rcx, rbp
call fcn.140148338
test eax, eax
sete r15b
jmp 0x1400caa90