Function at 0x404c5a
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xc], eax
cmp dword [ebp + 8], 0
je 0x404c75
mov eax, dword [ebp + 8]
mov dword [eax], 0
cmp dword [ebp - 0xc], 0
je 0x404c88
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x13c4], 0
cmp dword [ebp - 0xc], 0
je 0x404c9a
cmp dword [ebp + 0x10], 0
je 0x404c9a
cmp dword [ebp + 0x14], 0
jns 0x404cc6
cmp dword [ebp + 8], 0
je 0x404ca9
mov eax, dword [ebp + 8]
mov dword [eax], 0xfffffffe
cmp dword [ebp - 0xc], 0
je 0x404cbc
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x13c4], 0xfffffffe
mov eax, 0
jmp 0x404f7f
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0x1390]
test al, al
je 0x404d00
cmp dword [ebp + 8], 0
je 0x404ce3
mov eax, dword [ebp + 8]
mov dword [eax], 0xffffffff
cmp dword [ebp - 0xc], 0
je 0x404cf6
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x13c4], 0xffffffff
mov eax, 0
jmp 0x404f7f
cmp dword [ebp + 0x14], 0
jne 0x404d32
cmp dword [ebp + 8], 0
je 0x404d15
mov eax, dword [ebp + 8]
mov dword [eax], 0
cmp dword [ebp - 0xc], 0
je 0x404d28
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x13c4], 0
mov eax, 0
jmp 0x404f7f
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x13a8], edx
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp + 0x10]
mov dword [eax + 0x13a4], edx
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_ferror
test eax, eax
setne al
test al, al
je 0x404d8c
cmp dword [ebp + 8], 0
je 0x404d6f
mov eax, dword [ebp + 8]
mov dword [eax], 0xfffffffa
cmp dword [ebp - 0xc], 0
je 0x404d82
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x13c4], 0xfffffffa
mov eax, 0
jmp 0x404f7f
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1398]
test eax, eax
jne 0x404db1
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.004040ee
test al, al
jne 0x404db1
mov eax, 1
jmp 0x404db6
mov eax, 0
test al, al
je 0x404e59
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
mov edx, dword [ebp - 0xc]
add edx, 4
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x1388
mov dword [esp + 4], 1
mov dword [esp], edx
call sub.msvcrt.dll_fread
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_ferror
test eax, eax
setne al
test al, al
je 0x404e2a
cmp dword [ebp + 8], 0
je 0x404e0d
mov eax, dword [ebp + 8]
mov dword [eax], 0xfffffffa
cmp dword [ebp - 0xc], 0
je 0x404e20
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x13c4], 0xfffffffa
mov eax, 0
jmp 0x404f7f
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov dword [eax + 0x138c], edx
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x138c]
mov edx, eax
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x1398], edx
mov eax, dword [ebp - 0xc]
lea edx, [eax + 4]
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x1394], edx
mov eax, dword [ebp - 0xc]
add eax, 0x1394
mov dword [esp], eax
call fcn.00403da1
sub esp, 4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x404ea5
cmp dword [ebp - 0x14], 4
je 0x404ea5
cmp dword [ebp + 8], 0
je 0x404e89
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x14]
mov dword [eax], edx
cmp dword [ebp - 0xc], 0
je 0x404e9b
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
mov dword [eax + 0x13c4], edx
mov eax, 0
jmp 0x404f7f
cmp dword [ebp - 0x14], 0
jne 0x404edd
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.004040ee
test al, al
je 0x404edd
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x1398]
test eax, eax
jne 0x404edd
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x13a8]
test eax, eax
je 0x404edd
mov eax, 1
jmp 0x404ee2
mov eax, 0
test al, al
je 0x404f0f
cmp dword [ebp + 8], 0
je 0x404ef5
mov eax, dword [ebp + 8]
mov dword [eax], 0xfffffff9
cmp dword [ebp - 0xc], 0
je 0x404f08
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x13c4], 0xfffffff9
mov eax, 0
jmp 0x404f7f
cmp dword [ebp - 0x14], 4
jne 0x404f49
cmp dword [ebp + 8], 0
je 0x404f24
mov eax, dword [ebp + 8]
mov dword [eax], 4
cmp dword [ebp - 0xc], 0
je 0x404f37
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x13c4], 4
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x13a8]
mov eax, edx
sub eax, ecx
jmp 0x404f7f
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x13a8]
test eax, eax
jne 0x404d4a
cmp dword [ebp + 8], 0
je 0x404f69
mov eax, dword [ebp + 8]
mov dword [eax], 0
cmp dword [ebp - 0xc], 0
je 0x404f7c
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x13c4], 0
mov eax, dword [ebp + 0x14]
leave
ret 0x10