Function at 0x403fa0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1124
call fcn.00419ba0
mov eax, dword [0x458080]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov esi, ecx
mov dword [ebp - 0x1104], 0
push 0x42a640
lea eax, [ebp - 0x1104]
xorps xmm0, xmm0
push esi
push eax
mov edi, edx
movlpd qword [ebp - 0x1110], xmm0
call fcn.0041f3f0
add esp, 0xc
test eax, eax
je 0x40400c
push str.src_open_failed_n
call fcn.00402250
add esp, 4
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00419bef
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0xa0]
push eax
push esi
call fcn.004200d0
add esp, 8
cmp eax, 0xffffffff
jne 0x404041
push str.Failed_to_get_file_size_n
call fcn.00402250
add esp, 4
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00419bef
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x8c]
lea ecx, [ebp - 0x1100]
cdq
mov dword [ebp - 0x1108], edx
mov edx, edi
push 0xa
mov dword [ebp - 0x1114], eax
call fcn.004086b0
add esp, 4
test eax, eax
je 0x40408b
push eax
push str.dst_open_failed__d_n
call fcn.00402250
add esp, 8
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00419bef
mov esp, ebp
pop ebp
ret
push edi
push esi
push str.copy__s_____s_n
call fcn.00401010
add esp, 0xc
push dword [ebp - 0x1104]
push dword [0x4580e8]
push 1
push dword [0x1a2f9f4]
call dword [sym.imp.msvcrt.dll_fread]
mov esi, eax
add esp, 0x10
test esi, esi
je 0x4041d4
mov edi, dword [ebp - 0x110c]
mov ebx, dword [ebp - 0x1110]
nop dword [eax]
mov edx, dword [0x1a2f9f4]
lea eax, [ebp - 0x110c]
push eax
add ebx, esi
lea ecx, [ebp - 0x1100]
push esi
adc edi, 0
call fcn.00409060
add esp, 8
test eax, eax
jne 0x4041c7
cmp dword [ebp - 0x110c], esi
jb 0x4041c7
mov esi, dword [ebp - 0x1114]
mov eax, esi
or eax, dword [ebp - 0x1108]
jne 0x40411f
movsd xmm1, qword [0x456310]
jmp 0x404151
mov edx, edi
mov ecx, ebx
call fcn.00425a00
mov edx, dword [ebp - 0x1108]
mov ecx, esi
movsd qword [ebp - 0x1120], xmm0
call fcn.00425a50
movsd xmm1, qword [ebp - 0x1120]
divsd xmm1, xmm0
mulsd xmm1, qword [0x456310]
push 0x66
lea eax, [ebp - 0x70]
push 0
push eax
cvttsd2si esi, xmm1
call sub.msvcrt.dll_memset
add esp, 0xc
test esi, esi
jle 0x404178
push esi
lea eax, [ebp - 0x70]
push 0x3d
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
push esi
lea eax, [ebp - 0x70]
push eax
push str.___100s____d____r
call fcn.00402250
add esp, 0xc
push 1
call fcn.0041aa70
add esp, 4
push eax
call dword [sym.imp.msvcrt.dll_fflush]
add esp, 4
push dword [ebp - 0x1104]
push dword [0x4580e8]
push 1
push dword [0x1a2f9f4]
call dword [sym.imp.msvcrt.dll_fread]
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x4040d0
jmp 0x4041d4
push str.write_failed_n
call fcn.00402250
add esp, 4
push 0x429930
call fcn.00402250
add esp, 4
lea ecx, [ebp - 0x1100]
call fcn.00409460
test eax, eax
jne 0x40421c
mov ecx, dword [ebp - 0x1100]
test ecx, ecx
je 0x40421c
cmp byte [ecx], al
je 0x40421c
mov ax, word [ebp - 0x10fc]
cmp ax, word [ecx + 6]
jne 0x40421c
xor eax, eax
cmp dword [0x1a2f9e0], eax
cmovne ecx, eax
mov dword [ebp - 0x1100], ecx
push dword [ebp - 0x1104]
call dword [sym.imp.msvcrt.dll_fclose]
mov ecx, dword [ebp - 4]
add esp, 4
test esi, esi
sete al
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.00419bef
mov esp, ebp
pop ebp
ret