Function at 0x417bd0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x1c
mov edi, dword [0x448a18]
mov ecx, dword [0x448a38]
mov edx, dword [0x448b48]
mov ebx, dword [ecx + edi*4]
mov esi, dword [ebx + 4]
mov ebx, dword [0x44f5a8]
mov eax, esi
mov dword [ebp - 0x14], ebx
add eax, edx
mov edx, dword [0x448a48]
inc eax
cmp eax, edx
jb 0x417d16
mov eax, dword [ecx + edi*4]
mov eax, dword [eax + 0x28]
test eax, eax
jne 0x417c35
mov esi, dword [ebp - 0x14]
xor eax, eax
mov ecx, dword [0x448aa8]
sub edx, esi
sub edx, ecx
cmp edx, 1
setne al
add esp, 0x1c
inc eax
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebp - 0x14]
sub edx, eax
dec edx
mov dword [ebp - 0x10], edx
test edx, edx
jle 0x417c66
lea esi, [esi]
lea edi, [edi]
movzx ecx, byte [ebx]
inc ebx
mov byte [esi], cl
inc esi
dec edx
jne 0x417c50
mov edi, dword [0x448a18]
mov ecx, dword [0x448a38]
mov eax, dword [ecx + edi*4]
cmp dword [eax + 0x2c], 2
je 0x417e08
mov esi, dword [ebp - 0x10]
mov edx, dword [eax + 0xc]
not esi
add esi, edx
test esi, esi
jle 0x417d41
cmp esi, 0x2000
jg 0x417d62
mov eax, dword [ecx + edi*4]
xor ebx, ebx
mov ecx, 0x2a
mov edi, dword [eax + 0x18]
test edi, edi
jne 0x417ce0
jmp 0x417d7c
mov ecx, dword [0x448a08]
mov dword [esp], ecx
call sub.msys_1.0.dll_getc
cmp eax, 0xffffffff
mov ecx, eax
je 0x417ce4
cmp eax, 0xa
je 0x417ef0
mov edx, dword [0x448a18]
mov edi, dword [0x448a38]
mov eax, dword [edi + edx*4]
mov edx, dword [ebp - 0x10]
mov edi, dword [eax + 4]
add edi, ebx
mov byte [edi + edx], cl
inc ebx
cmp esi, ebx
ja 0x417ca7
cmp ecx, 0xa
je 0x417ef0
inc ecx
je 0x417f50
mov dword [0x448b48], ebx
mov ebx, dword [0x448a18]
mov ecx, dword [0x448a38]
mov eax, dword [0x448b48]
mov esi, dword [ecx + ebx*4]
mov dword [esi + 0x10], eax
jmp 0x417e20
mov dword [esp], str.fatal_flex_scanner_internal_error__end_of_buffer_missed
call fcn.00418ab0
mov eax, dword [0x44f5a8]
mov edi, dword [0x448a18]
mov ecx, dword [0x448a38]
mov dword [ebp - 0x14], eax
mov edx, dword [0x448a48]
jmp 0x417c0d
mov dword [esp], str.input_buffer_overflow__cant_enlarge_buffer_because_scanner_uses_REJECT
call fcn.00418ab0
test esi, esi
jle 0x417d41
mov edi, dword [0x448a18]
mov ecx, dword [0x448a38]
jmp 0x417c85
mov eax, dword [ecx + edi*4]
xor ebx, ebx
mov esi, 0x2000
mov ecx, 0x2a
mov edi, dword [eax + 0x18]
test edi, edi
jne 0x417ce0
call sub.msys_1.0.dll___errno
mov dword [eax], 0
mov edx, dword [0x448a08]
jmp 0x417dca
mov ecx, dword [0x448a08]
test byte [ecx + 0xc], 0x40
je 0x417cfa
call sub.msys_1.0.dll___errno
cmp dword [eax], 4
jne 0x417f70
call sub.msys_1.0.dll___errno
mov dword [eax], 0
mov edx, dword [0x448a08]
movzx ebx, word [edx + 0xc]
and ebx, 0xffffff9f
mov word [edx + 0xc], bx
mov dword [esp + 0xc], edx
mov ebx, dword [0x448a38]
mov edi, 1
mov dword [esp + 8], esi
mov edx, dword [0x448a18]
mov dword [esp + 4], edi
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebx + edx*4]
mov edi, dword [eax + 4]
add edi, ecx
mov dword [esp], edi
call sub.msys_1.0.dll_fread
mov dword [0x448b48], eax
test eax, eax
je 0x417d90
jmp 0x417cfa
xor edi, edi
mov dword [0x448b48], edi
mov dword [eax + 0x10], 0
mov esi, esi
lea edi, [edi]
mov edx, dword [0x448b48]
xor edi, edi
test edx, edx
jne 0x417e4f
mov edi, dword [ebp - 0x10]
cmp edi, dword [0x448aa8]
je 0x417f2c
mov eax, dword [0x448a18]
mov edi, 2
mov esi, dword [ecx + eax*4]
mov dword [esi + 0x2c], 2
mov ebx, dword [ebp - 0x10]
lea eax, [edx + ebx]
mov ebx, dword [0x448a18]
mov esi, dword [ecx + ebx*4]
cmp eax, dword [esi + 0xc]
ja 0x417eb6
mov esi, dword [ecx + ebx*4]
mov eax, dword [ebp - 0x10]
add edx, eax
mov dword [0x448b48], edx
mov eax, dword [esi + 4]
mov byte [eax + edx], 0
mov edx, dword [0x448a18]
mov ecx, dword [0x448a38]
mov eax, dword [0x448b48]
mov esi, dword [ecx + edx*4]
mov ebx, dword [esi + 4]
mov byte [ebx + eax + 1], 0
mov edx, dword [0x448a18]
mov eax, edi
mov ecx, dword [0x448a38]
mov esi, dword [ecx + edx*4]
mov ebx, dword [esi + 4]
mov dword [0x44f5a8], ebx
add esp, 0x1c
pop ebx
pop esi
pop edi
pop ebp
ret
sar edx, 1
add eax, edx
mov dword [esp + 4], eax
mov eax, dword [ecx + ebx*4]
mov ecx, dword [eax + 4]
mov dword [esp], ecx
call fcn.00418cc0
mov dword [esi + 4], eax
mov ebx, dword [0x448a18]
mov ecx, dword [0x448a38]
mov esi, dword [ecx + ebx*4]
mov edx, dword [esi + 4]
test edx, edx
je 0x417f12
mov edx, dword [0x448b48]
jmp 0x417e63
mov esi, dword [0x448a38]
mov edx, dword [0x448a18]
mov ecx, dword [esi + edx*4]
mov esi, dword [ebp - 0x10]
mov edi, dword [ecx + 4]
lea eax, [ebx + edi]
mov byte [eax + esi], 0xa
inc ebx
jmp 0x417cf4
mov dword [esp], str.out_of_dynamic_memory_in_yy_get_next_buffer__
call fcn.00418ab0
mov ebx, dword [0x448a18]
mov ecx, dword [0x448a38]
jmp 0x417ee5
mov edx, dword [0x448a08]
mov edi, 1
mov dword [esp], edx
call fcn.00418200
mov ecx, dword [0x448a38]
mov edx, dword [0x448b48]
jmp 0x417e4f
mov eax, dword [0x448a08]
test byte [eax + 0xc], 0x40
je 0x417cf4
mov dword [esp], str.input_in_flex_scanner_failed
call fcn.00418ab0
jmp 0x417cf4
mov dword [esp], str.input_in_flex_scanner_failed
call fcn.00418ab0
jmp 0x417cfa