Function at 0x415aa0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword [0x455c74]
mov ecx, dword [0x455c7c]
mov edx, dword [0x45646c]
push ebx
mov ebx, dword [0x455c80]
push esi
push edi
lea edi, [ecx + eax*4]
mov eax, dword [edi]
mov dword [ebp - 8], edi
mov esi, dword [eax + 4]
mov eax, dword [0x455c94]
inc eax
add eax, esi
cmp ebx, eax
ja 0x415dc4
mov eax, dword [edi]
cmp dword [eax + 0x28], 0
jne 0x415af6
sub ebx, edx
dec ebx
neg ebx
pop edi
sbb ebx, ebx
neg ebx
pop esi
lea eax, [ebx + 1]
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, ebx
sub eax, edx
dec eax
mov dword [ebp - 4], eax
test eax, eax
jle 0x415b18
mov edi, eax
mov al, byte [edx]
lea esi, [esi + 1]
mov byte [esi - 1], al
lea edx, [edx + 1]
dec edi
jne 0x415b04
mov eax, dword [ebp - 4]
mov edi, dword [ebp - 8]
mov edx, dword [edi]
cmp dword [edx + 0x2c], 2
jne 0x415b39
mov ebx, dword [ebp - 4]
xor esi, esi
mov dword [edx + 0x10], esi
mov edx, dword [0x455c7c]
mov dword [0x455c94], esi
jmp 0x415d1c
mov edi, dword [edx + 0xc]
sub edi, eax
dec edi
test edi, edi
jg 0x415bae
xor esi, esi
test ecx, ecx
cmovne esi, edx
mov edx, dword [esi + 4]
sub ebx, edx
cmp dword [esi + 0x14], 0
je 0x415b85
mov ecx, dword [esi + 0xc]
lea eax, [ecx + ecx]
test eax, eax
jg 0x415b66
mov eax, ecx
shr eax, 3
add eax, ecx
mov dword [esi + 0xc], eax
add eax, 2
push eax
push edx
call dword [sym.imp.MSVCR120.dll_realloc]
mov ecx, dword [0x455c7c]
add esp, 8
mov dword [esi + 4], eax
mov eax, dword [ebp - 4]
jmp 0x415b8c
mov dword [esi + 4], 0
mov edx, dword [esi + 4]
test edx, edx
je 0x415dd8
add ebx, edx
mov edx, dword [ebp - 8]
mov dword [0x455c80], ebx
mov edx, dword [edx]
mov edi, dword [edx + 0xc]
sub edi, eax
dec edi
test edi, edi
jle 0x415b43
mov eax, 0x2000
cmp edi, eax
cmovg edi, eax
mov eax, dword [ebp - 8]
mov eax, dword [eax]
cmp dword [eax + 0x18], 0
je 0x415c4a
mov ebx, dword [ebp - 4]
xor esi, esi
test edi, edi
je 0x415c39
push dword [0x455c6c]
call dword [sym.imp.MSVCR120.dll_getc]
mov edx, dword [0x455c7c]
mov ecx, eax
add esp, 4
cmp ecx, 0xffffffff
je 0x415c06
cmp ecx, 0xa
je 0x415c0b
mov eax, dword [0x455c74]
mov eax, dword [edx + eax*4]
mov eax, dword [eax + 4]
add eax, esi
inc esi
mov byte [eax + ebx], cl
cmp esi, edi
jb 0x415bd0
cmp ecx, 0xa
jne 0x415c1c
mov eax, dword [0x455c74]
mov eax, dword [edx + eax*4]
mov eax, dword [eax + 4]
add eax, esi
inc esi
mov byte [eax + ebx], cl
cmp ecx, 0xffffffff
jne 0x415c3f
push dword [0x455c6c]
call dword [sym.imp.MSVCR120.dll_ferror]
add esp, 4
test eax, eax
je 0x415c39
jmp 0x415dce
mov edx, dword [0x455c7c]
mov dword [0x455c94], esi
jmp 0x415d0b
call dword [sym.imp.MSVCR120.dll__errno]
mov ecx, dword [0x455c7c]
mov ebx, dword [ebp - 4]
mov dword [eax], 0
mov eax, dword [0x455c74]
push dword [0x455c6c]
push edi
mov eax, dword [ecx + eax*4]
push 1
mov eax, dword [eax + 4]
add eax, ebx
push eax
call dword [sym.imp.MSVCR120.dll_fread]
mov esi, eax
add esp, 0x10
mov dword [0x455c94], esi
test esi, esi
jne 0x415d05
nop
push dword [0x455c6c]
call dword [sym.imp.MSVCR120.dll_ferror]
add esp, 4
test eax, eax
je 0x415cff
mov esi, dword [sym.imp.MSVCR120.dll__errno]
call esi
cmp dword [eax], 0x2714
jne 0x415dce
call esi
mov dword [eax], 0
push dword [0x455c6c]
call dword [sym.imp.MSVCR120.dll_clearerr]
mov ecx, dword [0x455c7c]
mov eax, dword [0x455c74]
push dword [0x455c6c]
push edi
mov eax, dword [ecx + eax*4]
push 1
mov eax, dword [eax + 4]
add eax, ebx
push eax
call dword [sym.imp.MSVCR120.dll_fread]
mov esi, eax
add esp, 0x14
mov dword [0x455c94], esi
test esi, esi
je 0x415c90
jmp 0x415d05
mov esi, dword [0x455c94]
mov edx, dword [0x455c7c]
mov eax, dword [0x455c74]
lea edi, [edx + eax*4]
mov eax, dword [edi]
mov dword [eax + 0x10], esi
test esi, esi
jne 0x415d55
test ebx, ebx
jne 0x415d43
push dword [0x455c6c]
mov dword [ebp - 8], 1
call fcn.004153e0
mov esi, dword [0x455c94]
add esp, 4
mov edx, dword [0x455c7c]
jmp 0x415d5c
mov eax, dword [edi]
mov dword [ebp - 8], 2
mov dword [eax + 0x2c], 2
jmp 0x415d5c
mov dword [ebp - 8], 0
mov eax, dword [0x455c74]
mov ecx, dword [edx + eax*4]
lea edi, [edx + eax*4]
lea eax, [esi + ebx]
mov dword [ebp - 4], eax
cmp eax, dword [ecx + 0xc]
jbe 0x415d97
mov eax, esi
sar eax, 1
add eax, esi
add eax, ebx
push eax
push dword [ecx + 4]
call dword [sym.imp.MSVCR120.dll_realloc]
mov ecx, dword [edi]
add esp, 8
mov dword [ecx + 4], eax
mov eax, dword [edi]
cmp dword [eax + 4], 0
je 0x415de2
mov eax, dword [ebp - 4]
mov ecx, dword [edi]
mov dword [0x455c94], eax
mov ecx, dword [ecx + 4]
mov byte [eax + ecx], 0
mov ecx, dword [edi]
mov ecx, dword [ecx + 4]
mov byte [ecx + eax + 1], 0
mov ecx, dword [edi]
mov eax, dword [ebp - 8]
pop edi
pop esi
mov ecx, dword [ecx + 4]
mov dword [0x45646c], ecx
pop ebx
mov esp, ebp
pop ebp
ret
push str.fatal_flex_scanner_internal_error__end_of_buffer_missed
call fcn.00415df0
push str.input_in_flex_scanner_failed
call fcn.00415df0
push str.fatal_error___scanner_input_buffer_overflow
call fcn.00415df0
push str.out_of_dynamic_memory_in_yy_get_next_buffer__
call fcn.00415df0
int3