Function at 0x100d2bcf
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
push edi
mov ebx, dword [ebx + 8]
mov eax, ebx
shl eax, 2
and dword [esi + 0x14], 0
push eax
mov dword [ebp - 0x20], ebx
call sym.extension.dll_PyObject_Malloc
mov edi, eax
mov dword [ebp - 8], edi
pop ecx
test edi, edi
je 0x100d2d9f
test ebx, ebx
jle 0x100d2c15
mov ecx, ebx
shl ecx, 2
shr ecx, 2
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 8]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
dec eax
mov dword [ebp - 4], ecx
mov dword [ebp - 0xc], eax
js 0x100d2d26
mov edx, dword [ebp + 8]
mov dword [ebp - 0x10], 0x80
mov edi, dword [ebp - 4]
movsx ecx, word [ecx]
mov eax, dword [edx + 0xc]
movzx edi, word [edi + 2]
cmp di, word [ebp - 0x10]
mov eax, dword [eax + ecx*8]
mov dword [ebp - 0x1c], edi
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], eax
jl 0x100d2c63
push str.XXX_too_many_states__n
call fcn.101c6339
pop ecx
mov edx, dword [ebp + 8]
jmp 0x100d2d14
cmp eax, 0x100
jl 0x100d2cfa
push eax
push edx
call fcn.100d3579
pop ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
pop ecx
add eax, 0xffffff00
mov ecx, 0x80
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jl 0x100d2c95
push str.XXX_too_high_nonterminal_number__n
jmp 0x100d2c55
mov edx, dword [ebp + 8]
xor eax, eax
cmp dword [edx + 8], eax
jle 0x100d2d14
mov esi, eax
mov ebx, edx
mov eax, dword [ebp - 0x18]
xor edx, edx
mov ecx, esi
inc edx
and ecx, 7
shl edx, cl
mov ecx, esi
mov eax, dword [eax + 0x14]
shr ecx, 3
movsx eax, byte [ecx + eax]
test eax, edx
je 0x100d2ce9
cmp dword [edi + esi*4], 0xffffffff
je 0x100d2cd1
push str.XXX_ambiguity__n
call fcn.101c6339
pop ecx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x1c]
shl ecx, 8
movsx eax, word [eax + 2]
or ecx, eax
or ecx, 0x80
mov dword [edi + esi*4], ecx
inc esi
cmp esi, dword [ebx + 8]
jl 0x100d2ca3
mov ebx, dword [ebp - 0x20]
mov esi, dword [ebp + 0xc]
jmp 0x100d2c5b
test ecx, ecx
jne 0x100d2d07
mov dword [esi + 0x14], 1
jmp 0x100d2d14
js 0x100d2d14
cmp ecx, ebx
jge 0x100d2d14
mov eax, dword [ebp - 0x1c]
cwde
mov dword [edi + ecx*4], eax
mov ecx, dword [ebp - 4]
add ecx, 4
dec dword [ebp - 0xc]
mov dword [ebp - 4], ecx
jns 0x100d2c31
test ebx, ebx
jle 0x100d2d41
mov eax, ebx
shl eax, 2
add eax, 0xfffffffc
add eax, edi
cmp dword [eax], 0xffffffff
jne 0x100d2d41
dec ebx
sub eax, 4
test ebx, ebx
jg 0x100d2d34
xor esi, esi
test ebx, ebx
jle 0x100d2d91
cmp dword [edi + esi*4], 0xffffffff
jne 0x100d2d52
inc esi
cmp esi, ebx
jl 0x100d2d47
cmp esi, ebx
jge 0x100d2d91
mov eax, ebx
sub eax, esi
shl eax, 2
push eax
call sym.extension.dll_PyObject_Malloc
pop ecx
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x10], eax
test eax, eax
jne 0x100d2d75
push str.no_mem_to_add_parser_accelerators_n
jmp 0x100d2da4
mov dword [ecx + 8], esi
xor edx, edx
mov dword [ecx + 0xc], ebx
mov ecx, dword [ecx + 0x10]
mov eax, dword [edi + esi*4]
inc esi
mov dword [edx + ecx], eax
lea edx, [edx + 4]
mov ecx, dword [ebp + 0xc]
cmp esi, ebx
jl 0x100d2d7d
push edi
call sym.extension.dll_PyObject_Free
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.no_mem_to_build_parser_accelerators_n
call fcn.101bdd08
add eax, 0x40
push eax
call fcn.101be493
pop ecx
pop ecx
push 1
call fcn.101c1d85
int3