Function at 0x4016ef
Capabilities:
Read file on windows

Disassembly:
push rbp
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0x80]
mov qword [rbp], rcx
mov qword [rbp + 8], rdx
lea rax, [rbp - 0x34]
mov rdx, rax
mov rcx, qword [rbp]
call fcn.00409a45
test eax, eax
je 0x401753
mov rax, qword [0x00527ec0]
mov rbx, qword [rax]
mov rax, qword [sym.imp.msvcrt.dll___iob_func]
call rax
add rax, 0x60
mov rdx, qword [rbp + 8]
mov r9, rdx
mov r8, rbx
lea rdx, section..rdata
mov rcx, rax
call sub.msvcrt.dll_fprintf
mov ecx, 1
call fcn.0040bb92
mov rax, qword [0x00527be0]
mov rax, qword [rax]
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x38]
lea rdx, [rbp - 0x34]
mov rcx, rdx
call rax
mov dword [rbp - 0x34], eax
mov rax, qword [0x00527cb0]
mov eax, dword [rax]
test eax, eax
jne 0x401787
mov rcx, qword [rbp]
call fcn.004016bf
mov dword [rbp - 0x24], 0
jmp 0x4019ba
mov rax, qword [0x00527cb0]
mov eax, dword [rax]
test eax, eax
jne 0x40182f
lea rax, [rbp - 0x48]
mov r9, qword [rbp]
mov r8d, 1
mov edx, 8
mov rcx, rax
call sub.msvcrt.dll_fread
cmp rax, 1
jne 0x401819
lea rax, [rbp - 0x40]
mov r9, qword [rbp]
mov r8d, 1
mov edx, 8
mov rcx, rax
call sub.msvcrt.dll_fread
cmp rax, 1
jne 0x401819
mov rcx, qword [rbp]
call fcn.004016bf
mov rcx, qword [rbp]
call fcn.004016bf
lea rax, [rbp - 0x4c]
mov r9, qword [rbp]
mov r8d, 1
mov edx, 4
mov rcx, rax
call sub.msvcrt.dll_fread
cmp rax, 1
je 0x40186d
mov rax, qword [rbp + 8]
mov rcx, rax
call sub.msvcrt.dll_perror
mov ecx, 1
call fcn.0040bb92
lea rax, [rbp - 0x40]
mov rdx, rax
mov rcx, qword [rbp]
call fcn.00409b13
test eax, eax
jne 0x401857
lea rax, [rbp - 0x48]
mov rdx, rax
mov rcx, qword [rbp]
call fcn.00409b13
test eax, eax
je 0x40186d
mov rax, qword [rbp + 8]
mov rcx, rax
call sub.msvcrt.dll_perror
mov ecx, 1
call fcn.0040bb92
mov rax, qword [0x00527d50]
mov eax, dword [rax]
test eax, eax
je 0x401979
mov rax, qword [rbp - 0x40]
mov rdx, rax
mov rcx, qword [0x00527eb0]
call fcn.0040e9bc
mov qword [rbp - 0x30], rax
cmp qword [rbp - 0x30], 0
je 0x4019b6
mov rax, qword [0x00527c30]
mov eax, dword [rax]
and eax, 0x800
test eax, eax
je 0x4018f1
mov rax, qword [rbp - 0x48]
mov r8d, eax
mov rax, qword [rbp - 0x30]
mov eax, dword [rax + 0x20]
mov rdx, qword [rbp - 0x30]
mov rcx, qword [rdx + 0x10]
mov rdx, qword [rbp - 0x30]
mov rdx, qword [rdx]
mov r10d, edx
mov rdx, qword [rbp - 0x40]
mov dword [rsp + 0x28], r8d
mov dword [rsp + 0x20], eax
mov r9, rcx
mov r8d, r10d
lea rcx, str._bb_read_rec__0x_lx__0x_lx___s:_d__cnt_lu_n
call sub.msvcrt.dll_printf
mov dword [rbp - 0x28], 0
jmp 0x401971
mov rax, qword [rbp - 0x30]
mov edx, dword [rbp - 0x28]
movsxd rdx, edx
add rdx, 6
mov rax, qword [rax + rdx*8]
test rax, rax
je 0x40192c
mov rax, qword [rbp - 0x30]
mov edx, dword [rbp - 0x28]
movsxd rdx, edx
add rdx, 6
mov rdx, qword [rax + rdx*8]
mov rax, qword [rbp - 0x40]
cmp rdx, rax
jne 0x40196d
mov rdx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x30]
mov ecx, dword [rbp - 0x28]
movsxd rcx, ecx
add rcx, 6
mov qword [rax + rcx*8], rdx
mov rax, qword [rbp - 0x30]
mov edx, dword [rbp - 0x28]
movsxd rdx, edx
add rdx, 0x20
mov eax, dword [rax + rdx*4]
mov rdx, qword [rbp - 0x48]
lea ecx, [rax + rdx]
mov rax, qword [rbp - 0x30]
mov edx, dword [rbp - 0x28]
movsxd rdx, edx
add rdx, 0x20
mov dword [rax + rdx*4], ecx
jmp 0x4019b6
add dword [rbp - 0x28], 1
cmp dword [rbp - 0x28], 9
jle 0x4018fa
jmp 0x4019b6
mov eax, dword [0x0053c03c]
test eax, eax
jne 0x4019b6
mov dword [0x0053c03c], 1
mov rax, qword [0x00527ec0]
mov rbx, qword [rax]
mov rax, qword [sym.imp.msvcrt.dll___iob_func]
call rax
add rax, 0x60
mov r8, rbx
lea rdx, str._s:_warning:_ignoring_basic_block_exec_counts__use__l_or___line__n
mov rcx, rax
call sub.msvcrt.dll_fprintf
add dword [rbp - 0x24], 1
mov eax, dword [rbp - 0x34]
cmp dword [rbp - 0x24], eax
jb 0x401793
nop
add rsp, 0x68
pop rbx
pop rbp
ret