Function at 0x4bc42b
Capabilities:
Read file on windows

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x1c
mov eax, dword [0x50f228]
mov edx, dword [0x50f230]
mov edi, dword [0x50f220]
mov ecx, dword [0x5146d4]
lea esi, [eax + edx*4]
mov eax, dword [0x50f21c]
mov edx, dword [esi]
mov ebx, dword [edx + 4]
lea edi, [ebx + edi + 1]
cmp eax, edi
jbe 0x4bc468
mov eax, str.fatal_flex_scanner_internal_error__end_of_buffer_missed
call fcn.004bc400
sub eax, ecx
cmp dword [edx + 0x28], 0
jne 0x4bc480
cmp eax, 1
mov edx, 2
cmovne eax, edx
jmp 0x4bc670
lea edi, [eax - 1]
xor edx, edx
cmp edx, edi
jge 0x4bc492
mov al, byte [ecx + edx]
mov byte [ebx + edx], al
inc edx
jmp 0x4bc485
mov eax, dword [esi]
cmp dword [eax + 0x2c], 2
jne 0x4bc4c6
mov dword [0x50f220], 0
mov dword [eax + 0x10], 0
jmp 0x4bc5ca
add esi, edx
mov eax, dword [0x50f228]
mov edx, dword [0x50f230]
mov dword [0x50f21c], esi
mov eax, dword [eax + edx*4]
mov edx, edi
not edx
add edx, dword [eax + 0xc]
mov eax, dword [0x50f228]
test edx, edx
jne 0x4bc543
test eax, eax
je 0x4bc4e5
mov edx, dword [0x50f230]
mov ebx, dword [eax + edx*4]
jmp 0x4bc4e7
xor ebx, ebx
mov edx, dword [ebx + 4]
mov esi, dword [0x50f21c]
sub esi, edx
cmp dword [ebx + 0x14], 0
je 0x4bc527
mov eax, dword [ebx + 0xc]
mov ecx, eax
add ecx, eax
jne 0x4bc50d
mov ecx, eax
shr ecx, 3
add eax, ecx
mov dword [ebx + 0xc], eax
jmp 0x4bc510
mov dword [ebx + 0xc], ecx
mov eax, dword [ebx + 0xc]
mov dword [esp], edx
add eax, 2
mov dword [esp + 4], eax
call sub.msvcrt.dll_realloc
mov dword [ebx + 4], eax
jmp 0x4bc52e
mov dword [ebx + 4], 0
mov edx, dword [ebx + 4]
test edx, edx
jne 0x4bc4b0
mov eax, str.fatal_error___scanner_input_buffer_overflow
call fcn.004bc400
mov ecx, dword [0x50f230]
mov ebx, dword [eax + ecx*4]
xor ecx, ecx
test eax, eax
cmovne ecx, ebx
mov ebp, dword [ebx + 4]
cmp dword [ecx], 0
je 0x4bc5b1
mov eax, dword [0x50f0ac]
test eax, eax
je 0x4bc5b1
cmp edx, 0x2000
mov esi, 0x2000
cmovbe esi, edx
add ebp, edi
mov dword [esp + 0xc], eax
mov dword [esp + 8], esi
mov dword [esp + 4], 1
mov dword [esp], ebp
call sub.msvcrt.dll_fread
cmp eax, esi
mov ebx, eax
jge 0x4bc5b3
mov eax, dword [0x50f0ac]
mov dword [esp], eax
call sub.msvcrt.dll_ferror
test eax, eax
je 0x4bc5b3
mov dword [esp], str._F_P:_read_in_flex_scanner_failed_n
call fcn.00418450
jmp 0x4bc5b3
xor ebx, ebx
mov eax, dword [0x50f228]
mov edx, dword [0x50f230]
mov dword [0x50f220], ebx
mov eax, dword [eax + edx*4]
mov dword [eax + 0x10], ebx
xor ebp, ebp
cmp dword [0x50f220], 0
jne 0x4bc606
test edi, edi
jne 0x4bc5ec
mov eax, dword [0x50f0ac]
mov bp, 1
mov dword [esp], eax
call fcn.00404160
jmp 0x4bc606
mov eax, dword [0x50f228]
mov ebp, 2
mov edx, dword [0x50f230]
mov eax, dword [eax + edx*4]
mov dword [eax + 0x2c], 2
mov edx, dword [0x50f228]
mov ecx, dword [0x50f230]
mov eax, dword [0x50f220]
lea ebx, [edx + ecx*4]
mov esi, dword [ebx]
add edi, eax
cmp edi, dword [esi + 0xc]
jbe 0x4bc64b
mov edx, dword [esi + 4]
shr eax, 1
add eax, edi
mov dword [esp + 4], eax
mov dword [esp], edx
call sub.msvcrt.dll_realloc
mov dword [esi + 4], eax
mov eax, dword [ebx]
cmp dword [eax + 4], 0
jne 0x4bc64b
mov eax, str.out_of_dynamic_memory_in_yy_get_next_buffer__
call fcn.004bc400
mov eax, dword [ebx]
mov dword [0x50f220], edi
mov eax, dword [eax + 4]
mov byte [eax + edi], 0
mov eax, dword [ebx]
mov eax, dword [eax + 4]
mov byte [eax + edi + 1], 0
mov eax, dword [ebx]
mov eax, dword [eax + 4]
mov dword [0x5146d4], eax
mov eax, ebp
add esp, 0x1c
pop ebx
pop esi
pop edi
pop ebp
ret