Function at 0x1e0f8660
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, dword [eax + 8]
lea eax, [esi*4]
push edi
push eax
mov dword [ebp - 8], esi
mov dword [ebx + 0x14], 0
call sym.python27.dll_PyObject_Malloc
mov edx, eax
add esp, 4
mov dword [ebp - 4], edx
test edx, edx
jne 0x1e0f86b5
push str.no_mem_to_build_parser_accelerators_n
call dword [sym.imp.MSVCR90.dll___iob_func]
add eax, 0x40
push eax
call dword [sym.imp.MSVCR90.dll_fprintf]
add esp, 8
push 1
call dword [sym.imp.MSVCR90.dll_exit]
test esi, esi
jle 0x1e0f86c2
mov ecx, esi
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
mov ebx, dword [ebx + 4]
sub eax, 1
mov dword [ebp - 0xc], eax
js 0x1e0f87ac
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0xc]
movzx edx, word [ebx + 2]
movsx eax, word [ebx]
mov ecx, dword [ecx + eax*8]
mov edi, 0x80
cmp dx, di
jl 0x1e0f8703
push str.XXX_too_many_states__n
call dword [sym.imp.MSVCR90.dll_printf]
add esp, 4
jmp 0x1e0f879c
cmp ecx, 0x100
jl 0x1e0f87ec
mov eax, dword [ebp + 8]
lea edi, [ecx - 0x100]
cmp edi, 0x80
mov ecx, dword [eax + 4]
lea edx, [edi + edi*2]
lea edx, [ecx + edx*8]
mov dword [ebp - 0x10], edx
jl 0x1e0f873c
push str.XXX_too_high_nonterminal_number__n
call dword [sym.imp.MSVCR90.dll_printf]
add esp, 4
jmp 0x1e0f879c
xor esi, esi
cmp dword [eax + 8], esi
jle 0x1e0f8799
mov ecx, esi
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + 0x14]
mov eax, esi
shr eax, 3
movsx eax, byte [eax + ecx]
test eax, edx
je 0x1e0f8790
mov ecx, dword [ebp - 4]
cmp dword [ecx + esi*4], 0xffffffff
je 0x1e0f8779
push str.XXX_ambiguity__n
call dword [sym.imp.MSVCR90.dll_printf]
add esp, 4
movsx eax, word [ebx + 2]
mov ecx, dword [ebp - 4]
mov edx, edi
shl edx, 8
or edx, eax
or edx, 0x80
mov dword [ecx + esi*4], edx
mov edx, dword [ebp + 8]
inc esi
cmp esi, dword [edx + 8]
jl 0x1e0f8743
mov esi, dword [ebp - 8]
add ebx, 4
sub dword [ebp - 0xc], 1
jns 0x1e0f86d6
mov edx, dword [ebp - 4]
test esi, esi
jle 0x1e0f87c4
lea eax, [edx + esi*4 - 4]
cmp dword [eax], 0xffffffff
jne 0x1e0f87c1
dec esi
sub eax, 4
test esi, esi
jg 0x1e0f87b4
mov dword [ebp - 8], esi
mov edi, dword [ebp - 8]
xor esi, esi
test edi, edi
jle 0x1e0f8857
cmp dword [edx + esi*4], 0xffffffff
jne 0x1e0f880d
inc esi
cmp esi, edi
jl 0x1e0f87d1
push edx
call sym.python27.dll_PyObject_Free
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test eax, eax
jne 0x1e0f87fc
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x14], 1
jmp 0x1e0f879c
jl 0x1e0f879c
cmp eax, esi
jge 0x1e0f879c
movsx ecx, dx
mov edx, dword [ebp - 4]
mov dword [edx + eax*4], ecx
jmp 0x1e0f879c
cmp esi, edi
jge 0x1e0f8857
mov eax, edi
sub eax, esi
add eax, eax
add eax, eax
push eax
call sym.python27.dll_PyObject_Malloc
mov ecx, dword [ebp + 0xc]
add esp, 4
mov dword [ecx + 0x10], eax
test eax, eax
jne 0x1e0f8836
push str.no_mem_to_add_parser_accelerators_n
jmp 0x1e0f869a
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], edi
xor eax, eax
mov edi, edi
mov ebx, dword [ebp - 4]
mov ebx, dword [ebx + esi*4]
mov edx, dword [ecx + 0x10]
mov dword [eax + edx], ebx
inc esi
add eax, 4
cmp esi, edi
jl 0x1e0f8840
mov edx, dword [ebp - 4]
push edx
call sym.python27.dll_PyObject_Free
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret