Function at 0x14000a700
Capabilities:
Read file on windows

Disassembly:
push rbp
push rsi
push r12
push r14
mov rbp, rsp
sub rsp, 0x68
cmp byte [rcx + 9], 0
mov r12d, r8d
mov r14, rdx
mov rsi, rcx
jne 0x14000a756
mov ecx, dword [rcx + 0x50]
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea r11, [0x1400cc930]
mov qword [rbp - 0x28], r11
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, [0x140143380]
mov dword [rbp - 0x20], eax
lea rax, str.VeraCrypt::File::Read:794
lea rcx, [rbp - 0x28]
mov qword [rbp - 0x18], rax
call fcn.1400a5d24
int3
cmp byte [rcx + 8], 0
je 0x14000a797
movzx edx, byte [rcx + 0x20]
lea rax, [rbp + 0x28]
lea r8, [rcx + 0x28]
mov qword [rsp + 0x30], rax
mov rax, qword [rcx + 0x10]
mov r9, r14
xor ecx, ecx
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], rax
call fcn.14000a430
mov eax, dword [rbp + 0x28]
add qword [rsi + 0x10], rax
add rsp, 0x68
pop r14
pop r12
pop rsi
pop rbp
ret
mov rcx, qword [rcx + 0x18]
mov qword [rsp + 0x98], rbx
lea r9, [rbp + 0x28]
xor ebx, ebx
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x14000a96f
mov qword [rsp + 0xa0], r13
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
jne 0x14000a93f
cmp byte [rsi + 0x20], bl
je 0x14000a93f
mov r13d, r12d
and r13d, 0xfff
je 0x14000a93f
sub r12d, r13d
je 0x14000a824
mov rcx, qword [rsi + 0x18]
lea r9, [rbp + 0x28]
mov r8d, r12d
mov rdx, r14
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14000a8ba
mov eax, dword [rbp + 0x28]
cmp eax, r12d
jb 0x14000a8f4
mov eax, r12d
add r14, rax
mov rcx, qword [rsi + 0x18]
lea r9, [rbp + 0x28]
lea rdx, [rsi + 0x54]
mov r8d, 0x1000
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14000a90f
cmp dword [rbp + 0x28], r13d
lea rdx, [rsi + 0x54]
mov rcx, r14
cmovb r13d, dword [rbp + 0x28]
mov r8d, r13d
mov ebx, r13d
call fcn.1400a4990
mov r11d, dword [rbp + 0x28]
mov rcx, qword [rsi + 0x18]
sub rbx, r11
mov r9d, 1
xor r8d, r8d
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
jne 0x14000a8ea
lea r11, [0x1400cc930]
mov qword [rbp - 0x28], r11
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, [0x140143380]
mov dword [rbp - 0x20], eax
lea rax, str.VeraCrypt::File::Read:833
lea rcx, [rbp - 0x28]
mov qword [rbp - 0x18], rax
call fcn.1400a5d24
int3
lea r11, [0x1400cc930]
mov qword [rbp - 0x28], r11
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, [0x140143380]
mov dword [rbp - 0x20], eax
lea rax, str.VeraCrypt::File::Read:824
lea rcx, [rbp - 0x28]
mov qword [rbp - 0x18], rax
call fcn.1400a5d24
int3
mov r15, qword [rsp + 0x60]
lea eax, [r13 + r12]
mov r13, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x98]
add rsp, 0x68
pop r14
pop r12
pop rsi
pop rbp
ret
lea r11, [0x1400cc930]
mov qword [rbp - 0x28], r11
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, [0x140143380]
mov dword [rbp - 0x20], eax
lea rax, str.VeraCrypt::File::Read:837
lea rcx, [rbp - 0x28]
mov qword [rbp - 0x18], rax
call fcn.1400a5d24
int3
lea r11, [0x1400cc930]
mov qword [rbp - 0x28], r11
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, [0x140143380]
mov dword [rbp - 0x20], eax
lea rax, str.VeraCrypt::File::Read:840
lea rcx, [rbp - 0x28]
mov qword [rbp - 0x18], rax
call fcn.1400a5d24
int3
mov eax, dword [rbp + 0x28]
jmp 0x14000a8fc