Function at 0x140003ec0
Capabilities:
Read file on windows

Disassembly:
push rbp
push rsi
push r14
sub rsp, 0x30
mov rbp, r8
mov r14, rdx
mov rsi, rcx
test r8, r8
jg 0x140003ee2
xor eax, eax
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
cmp qword [rcx + 0x68], 0
je case.default.0x140003ef1
add rsp, 0x30
pop r14
pop rsi
pop rbp
jmp 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 rax, qword [rcx + 0x38]
mov qword [rsp + 0x28], rbx
mov rbx, rbp
mov rdx, qword [rax]
test rdx, rdx
je 0x140003f14
mov rax, qword [rcx + 0x50]
mov ecx, dword [rax]
jmp 0x140003f16
xor ecx, ecx
movsxd rax, ecx
test ecx, ecx
je 0x140003f52
mov qword [rsp + 0x20], rdi
cmp rax, rbp
mov rdi, rbp
mov rcx, r14
cmovb rdi, rax
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsi + 0x50]
add r14, rdi
sub rbx, rdi
sub dword [rax], edi
mov rcx, qword [rsi + 0x38]
movsxd rax, edi
mov rdi, qword [rsp + 0x20]
add qword [rcx], rax
cmp qword [rsi + 0x80], 0
je 0x140003fee
mov r8, qword [rsi + 0x18]
lea rax, [rsi + 0x70]
cmp qword [r8], rax
jne 0x140003f8d
mov rcx, qword [rsi + 0x88]
mov rdx, qword [rsi + 0x90]
mov qword [r8], rcx
sub edx, ecx
mov rax, qword [rsi + 0x38]
mov qword [rax], rcx
mov rax, qword [rsi + 0x50]
mov dword [rax], edx
cmp rbx, 0xfff
jbe 0x140003fce
nop word [rax + rax]
mov r9, qword [rsi + 0x80]
mov edx, 1
mov r8d, 0xfff
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
add r14, rax
sub rbx, rax
cmp rax, 0xfff
jne 0x140003fee
cmp rbx, rax
ja 0x140003fa0
test rbx, rbx
je 0x140003fee
mov r9, qword [rsi + 0x80]
mov r8, rbx
mov edx, 1
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
sub rbx, rax
sub rbp, rbx
mov rbx, qword [rsp + 0x28]
mov rax, rbp
add rsp, 0x30
pop r14
pop rsi
pop rbp
ret
js 0x1400156e1
insb byte [rdi], dx
and byte [rsi + 0x65], dh
jb 0x1400156ed
imul ebp, dword [rdi + 0x6e], 0x2e31273d
xor byte [rdi], ah
and byte [rbp + 0x6e], ah
invalid
jae 0x140015758
push rsi
jb 0x14001575b
imul ebp, dword [rdi + 0x6e], 0x2e31273d
xor dword [rsi], ebp
xor byte [rdi], ah
or eax, 0x3c20200a
je 0x14001576b
jne 0x14001576e
je 0x140015746
outsb dx, byte [rsi]
outsw dx, word [rsi]
and byte [rax + 0x6d], bh
insb byte [rdi], dx
outsb dx, byte [rsi]
jae 0x140015744
and dh, byte [rbp + 0x72]
outsb dx, byte [rsi]
cmp dh, byte [rbx + 0x63]
push 0x73616d65
jae 0x140015741
insd dword [rdi], dx
invalid
invalid
jb 0x140015788
jae 0x14001578a
je 0x14001574b
jne 0x1400157ad
jae 0x1400157be
or ah, byte [rax]
and byte [rax], ah
and byte [rax], ah
and byte [rax], ah
and byte [rax], ah
cmp al, 0x72
js 0x1400157d3
insd dword [rdi], dx
imul ebp, dword [rsi + 0x69], 0x61727473
je 0x140015803
jb 0x1400157bd
and byte [rbp + 0x69], dh
invalid
and byte [rax], ah
and byte [rax], ah
and byte [rdi + rbp], bh
jb 0x14001581b
jno 0x14001582d
push rax
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al