Function at 0x40bed0
Capabilities:
Read file on windows

Disassembly:
push rbp
push rsi
push rbx
mov rbp, rsp
sub rsp, 0x90
mov qword [rbp + 0x20], rcx
mov qword [rbp + 0x28], rdx
lea rax, [0x005421a8]
mov eax, dword [rax]
test eax, eax
sete al
movzx ecx, al
mov rdx, qword [rbp + 0x28]
lea rax, [rbp - 0x50]
mov r9d, ecx
mov r8, rdx
mov rdx, qword [rbp + 0x20]
mov rcx, rax
call fcn.0040bbc0
mov rdx, qword [rbp - 0x48]
mov rax, qword [rbp - 0x50]
mov rcx, rax
call fcn.0040d6bb
mov qword [rbp - 0x18], rax
cmp qword [rbp - 0x18], 0
je 0x40bf38
mov rax, qword [rbp - 0x18]
mov qword [rbp - 8], rax
jmp 0x40c079
mov rax, qword [rbp - 0x50]
mov qword [rbp - 0x20], rax
mov rax, qword [rbp - 0x48]
mov qword [rbp - 0x28], rax
lea rdx, [rbp - 0x28]
lea rax, [rbp - 0x20]
mov rcx, rax
call fcn.0040d58e
mov rdx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x28]
cmp rdx, rax
je 0x40bf98
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:_overlapping_histogram_records_n
mov rcx, rax
call sub.msvcrt.dll_fprintf
mov ecx, 1
call fcn.0040bb92
lea rax, [0x005421a8]
mov eax, dword [rax]
add eax, 1
mov eax, eax
shl rax, 5
mov rdx, rax
lea rax, [0x005421b8]
mov rax, qword [rax]
mov rcx, rax
call fcn.004d768c
mov rdx, rax
lea rax, [0x005421b8]
mov qword [rax], rdx
lea rax, [0x005421b8]
mov rdx, qword [rax]
lea rax, [0x005421a8]
mov eax, dword [rax]
mov eax, eax
shl rax, 5
lea rcx, [rdx + rax]
lea rax, [rbp - 0x50]
mov r8d, 0x20
mov rdx, rax
call sub.msvcrt.dll_memcpy
lea rax, [0x005421b8]
mov rdx, qword [rax]
lea rax, [0x005421a8]
mov eax, dword [rax]
mov eax, eax
shl rax, 5
add rax, rdx
mov qword [rbp - 8], rax
lea rax, [0x005421a8]
mov eax, dword [rax]
lea edx, [rax + 1]
lea rax, [0x005421a8]
mov dword [rax], edx
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x10]
mov eax, eax
shl rax, 2
mov rcx, rax
call fcn.004d75e6
mov rdx, rax
mov rax, qword [rbp - 8]
mov qword [rax + 0x18], rdx
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x10]
mov eax, eax
lea rdx, [rax*4]
mov rax, qword [rbp - 8]
mov rax, qword [rax + 0x18]
mov r8, rdx
mov edx, 0
mov rcx, rax
call sub.msvcrt.dll_memset
mov rax, qword [0x00527c30]
mov eax, dword [rax]
and eax, 0x40
test eax, eax
je 0x40c0b5
mov rax, qword [rbp - 8]
mov edx, dword [rax + 0x10]
mov rax, qword [rbp - 8]
mov rax, qword [rax + 8]
mov ecx, eax
mov rax, qword [rbp - 8]
mov rax, qword [rax]
mov r9d, edx
mov r8d, ecx
mov edx, eax
lea rcx, str._hist_read_rec__n_lowpc_0x_lx_n_highpc_0x_lx_ncnt__u_n
call sub.msvcrt.dll_printf
mov dword [rbp - 0xc], 0
jmp 0x40c1ed
lea rax, [rbp - 0x52]
mov r9, qword [rbp + 0x20]
mov r8d, 1
mov edx, 2
mov rcx, rax
call sub.msvcrt.dll_fread
cmp rax, 1
je 0x40c12b
mov rax, qword [rbp - 8]
mov ebx, dword [rax + 0x10]
mov rax, qword [0x00527ec0]
mov rsi, qword [rax]
mov rax, qword [sym.imp.msvcrt.dll___iob_func]
call rax
lea rcx, [rax + 0x60]
mov rdx, qword [rbp + 0x28]
mov dword [rsp + 0x28], ebx
mov eax, dword [rbp - 0xc]
mov dword [rsp + 0x20], eax
mov r9, rdx
mov r8, rsi
lea rdx, str._s:__s:_unexpected_EOF_after_reading__u_of__u_samples_n
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 + 0x50]
lea rdx, [rbp - 0x52]
mov rcx, rdx
call rax
mov rcx, rax
mov rax, qword [rbp - 8]
mov rax, qword [rax + 0x18]
mov edx, dword [rbp - 0xc]
shl rdx, 2
add rax, rdx
mov eax, dword [rax]
mov edx, eax
mov eax, ecx
lea ecx, [rdx + rax]
mov rax, qword [rbp - 8]
mov rax, qword [rax + 0x18]
mov edx, dword [rbp - 0xc]
shl rdx, 2
add rax, rdx
mov edx, ecx
mov dword [rax], edx
mov rax, qword [0x00527c30]
mov eax, dword [rax]
and eax, 0x40
test eax, eax
je 0x40c1e9
mov rax, qword [rbp - 8]
mov rax, qword [rax + 0x18]
mov edx, dword [rbp - 0xc]
shl rdx, 2
add rax, rdx
mov ecx, dword [rax]
mov rax, qword [rbp - 8]
mov rax, qword [rax]
mov r9d, eax
mov edx, dword [rbp - 0xc]
mov rax, qword [rbp - 8]
mov r8, qword [rax + 8]
mov rax, qword [rbp - 8]
mov rax, qword [rax]
sub r8, rax
mov rax, r8
imul rax, rdx
mov rdx, qword [rbp - 8]
mov edx, dword [rdx + 0x10]
mov esi, edx
mov edx, 0
div rsi
add eax, r9d
mov r8d, ecx
mov edx, eax
lea rcx, str._hist_read_rec__0x_lx:__u_n
call sub.msvcrt.dll_printf
add dword [rbp - 0xc], 1
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x10]
cmp dword [rbp - 0xc], eax
jb 0x40c0c1
nop
add rsp, 0x90
pop rbx
pop rsi
pop rbp
ret