Function at 0x14006ada0
Capabilities:
Read file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x20
test r8, r8
jle 0x14006ae3b
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
cmp qword [rcx + 0x68], 0
je 0x14006ae42
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call qword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsgetn_char____ptr64__long_long___int64_____ptr64]
cmp dword [0x1400cd748], 0xa
jl 0x14006b305
mov ecx, dword [0x1400cd74c]
lea edx, [rcx + 1]
imul edx, ecx
and edx, 1
je 0x14006b305
mov r14, qword [sym.imp.MSVCP140.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsgetn_char____ptr64__long_long___int64_____ptr64]
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call r14
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call r14
cmp dword [0x1400cd748], 0xa
jl 0x14006b305
mov ecx, dword [0x1400cd74c]
lea edx, [rcx + 1]
imul edx, ecx
and edx, 1
jne 0x14006ae00
jmp 0x14006b305
xor eax, eax
jmp 0x14006b305
mov rax, qword [rbx + 0x38]
mov r15, qword [rax]
test r15, r15
je 0x14006afb0
mov rax, qword [rbx + 0x50]
movsxd r13, dword [rax]
mov r14, rsi
test r13, r13
jne 0x14006ae8e
jmp 0x14006afb3
mov rax, qword [rbx + 0x50]
sub dword [rax], r15d
mov rax, qword [rbx + 0x38]
movsxd rcx, r15d
add qword [rax], rcx
add rdi, r15
sub r14, r15
mov rax, qword [rbx + 0x38]
mov r15, qword [rax]
cmp r13, r14
mov r12, r14
cmovb r12, r13
cmp dword [0x1400cb6c0], 0xa
jl 0x14006aec0
mov eax, dword [0x1400cb6c4]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
jne 0x14006aee8
nop word cs:[rax + rax]
mov rcx, rdi
mov rdx, r15
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
cmp dword [0x1400cb6c0], 0xa
jl 0x14006af00
mov eax, dword [0x1400cb6c4]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
je 0x14006af00
mov rcx, rdi
mov rdx, r15
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
jmp 0x14006aec0
mov rax, qword [rbx + 0x50]
sub dword [rax], r12d
mov rax, qword [rbx + 0x38]
movsxd rcx, r12d
add qword [rax], rcx
add rdi, r12
sub r14, r12
cmp dword [0x1400cd748], 0xa
jl 0x14006afb3
mov eax, dword [0x1400cd74c]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
je 0x14006afb3
mov r15, r13
cmp r13, r14
jb 0x14006af40
mov r15, r14
mov rax, qword [rbx + 0x38]
mov r12, qword [rax]
cmp dword [0x1400cb6c0], 0xa
jl 0x14006af70
mov eax, dword [0x1400cb6c4]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
jne 0x14006afa0
nop word cs:[rax + rax]
mov rcx, rdi
mov rdx, r12
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
cmp dword [0x1400cb6c0], 0xa
jl 0x14006ae70
mov eax, dword [0x1400cb6c4]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
je 0x14006ae70
mov rcx, rdi
mov rdx, r12
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
jmp 0x14006af70
mov r14, rsi
cmp qword [rbx + 0x80], 0
je 0x14006b2ff
lea rax, [rbx + 0x70]
nop word cs:[rax + rax]
mov rcx, qword [rbx + 0x18]
cmp qword [rcx], rax
jne 0x14006b050
jmp 0x14006b008
mov ecx, dword [rbx + 0x90]
mov rdx, qword [rbx + 0x18]
mov r8, qword [rbx + 0x88]
mov qword [rdx], r8
mov rdx, qword [rbx + 0x38]
mov qword [rdx], r8
sub ecx, r8d
mov rdx, qword [rbx + 0x50]
mov dword [rdx], ecx
mov rcx, qword [rbx + 0x18]
mov edx, dword [rbx + 0x90]
mov r8, qword [rbx + 0x88]
mov qword [rcx], r8
mov rcx, qword [rbx + 0x38]
mov qword [rcx], r8
sub edx, r8d
mov rcx, qword [rbx + 0x50]
mov dword [rcx], edx
cmp dword [0x1400cd6d4], 0xa
jl 0x14006b050
mov ecx, dword [0x1400cd6d0]
lea edx, [rcx + 1]
imul edx, ecx
and edx, 1
jne 0x14006afe0
nop word cs:[rax + rax]
cmp dword [0x1400cd748], 0xa
jl 0x14006b0ed
mov ecx, dword [0x1400cd74c]
lea edx, [rcx + 1]
imul edx, ecx
and edx, 1
je 0x14006b0ed
mov rcx, qword [rbx + 0x18]
cmp qword [rcx], rax
jne 0x14006afd0
jmp 0x14006b0a8
mov ecx, dword [rbx + 0x90]
mov rdx, qword [rbx + 0x18]
mov r8, qword [rbx + 0x88]
mov qword [rdx], r8
mov rdx, qword [rbx + 0x38]
mov qword [rdx], r8
sub ecx, r8d
mov rdx, qword [rbx + 0x50]
mov dword [rdx], ecx
mov rcx, qword [rbx + 0x18]
mov edx, dword [rbx + 0x90]
mov r8, qword [rbx + 0x88]
mov qword [rcx], r8
mov rcx, qword [rbx + 0x38]
mov qword [rcx], r8
sub edx, r8d
mov rcx, qword [rbx + 0x50]
mov dword [rcx], edx
mov edx, dword [0x1400cd6d0]
lea ecx, [rdx + 1]
imul ecx, edx
and ecx, 1
cmp dword [0x1400cd6d4], 0xa
jl 0x14006afd0
test ecx, ecx
jne 0x14006b080
jmp 0x14006afd0
cmp r14, 0x1000
jb 0x14006b25d
mov r9, qword [rbx + 0x80]
mov edx, 1
mov r8d, 0xfff
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
add rdi, rax
sub r14, rax
mov ecx, dword [0x1400cd74c]
mov edx, dword [0x1400cd748]
cmp edx, 0xa
jl 0x14006b1ae
lea r8d, [rcx + 1]
imul r8d, ecx
and r8d, 1
je 0x14006b1ae
mov r12, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
nop word cs:[rax + rax]
mov r9, qword [rbx + 0x80]
mov edx, 1
mov r8d, 0xfff
mov rcx, rdi
call r12
mov r15, rax
add rdi, rax
mov r9, qword [rbx + 0x80]
mov edx, 1
mov r8d, 0xfff
mov rcx, rdi
call r12
add rdi, rax
add r15, rax
sub r14, r15
mov ecx, dword [0x1400cd74c]
mov edx, dword [0x1400cd748]
cmp edx, 0xa
jl 0x14006b1ae
lea r8d, [rcx + 1]
imul r8d, ecx
and r8d, 1
jne 0x14006b150
cmp rax, 0xfff
jne 0x14006b2ff
mov r15, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
jmp 0x14006b1dc
cmp rax, 0xfff
jne 0x14006b2ff
cmp r14, 0x1000
jb 0x14006b25d
cmp edx, 0xa
jl 0x14006b200
lea eax, [rcx + 1]
imul eax, ecx
and eax, 1
jne 0x14006b23d
nop word cs:[rax + rax]
mov r9, qword [rbx + 0x80]
mov edx, 1
mov r8d, 0xfff
mov rcx, rdi
call r15
add rdi, rax
sub r14, rax
mov ecx, dword [0x1400cd74c]
mov edx, dword [0x1400cd748]
cmp edx, 0xa
jl 0x14006b1d0
lea r8d, [rcx + 1]
imul r8d, ecx
and r8d, 1
je 0x14006b1d0
mov r9, qword [rbx + 0x80]
mov edx, 1
mov r8d, 0xfff
mov rcx, rdi
call r15
add rdi, rax
sub r14, rax
jmp 0x14006b200
test r14, r14
je 0x14006b2fc
mov r9, qword [rbx + 0x80]
mov edx, 1
mov rcx, rdi
mov r8, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
sub r14, rax
cmp dword [0x1400cd748], 0xa
jl 0x14006b2ff
mov eax, dword [0x1400cd74c]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
je 0x14006b2ff
mov r15, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
nop word cs:[rax + rax]
mov r9, qword [rbx + 0x80]
mov edx, 1
mov rcx, rdi
mov r8, r14
call r15
sub r14, rax
mov r9, qword [rbx + 0x80]
mov edx, 1
mov rcx, rdi
mov r8, r14
call r15
sub r14, rax
cmp dword [0x1400cd748], 0xa
jl 0x14006b2ff
mov eax, dword [0x1400cd74c]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
jne 0x14006b2b0
jmp 0x14006b2ff
xor r14d, r14d
sub rsi, r14
mov rax, rsi
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret