Function at 0x1012c810
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x6c
push ebx
push ebp
xor ebp, ebp
push esi
push edi
mov edi, dword [esp + 0x80]
mov ecx, dword [edi + 8]
mov ebx, dword [ecx]
mov dword [esp + 0x60], eax
mov eax, dword [edi + 0x14]
xor ecx, ecx
cmp eax, ebp
mov dword [esp + 0x58], ebp
mov dword [esp + 0x78], ebp
mov dword [esp + 0x24], 1
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebp
mov dword [esp + 0x48], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x28], edi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x64], ebp
mov dword [esp + 0x50], ebp
jle 0x1012c9c3
lea edx, [eax*4]
push edx
call dword [0x1043801c]
mov esi, eax
add esp, 4
mov dword [esp + 0x4c], esi
cmp esi, ebp
jne 0x1012c8bc
push str.running_regexp
push str.Memory_allocation_failed_:__s_n
push ebp
push ebp
push ebp
push ebp
push str.running_regexp
push ebp
push ebp
push 3
push 2
push 0xe
push ebp
push ebp
push ebp
push ebp
push ebp
call fcn.100cebb0
add esp, 0x44
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x6c
ret
mov eax, dword [edi + 0x14]
add eax, eax
add eax, eax
push eax
push ebp
push esi
call sub.MSVCR100.dll_memset
add esp, 0xc
mov edi, edi
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x58]
cmp byte [eax + edx], 0
jne 0x1012c8f3
test ebx, ebx
je 0x1012ccf9
cmp dword [ebx], 2
je 0x1012ccf9
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x10], 1
cmp byte [edx + eax], 0
jne 0x1012c939
test esi, esi
jne 0x1012c939
cmp ecx, dword [ebx + 0x14]
jge 0x1012cc99
mov eax, dword [ebx + 0x18]
lea edx, [ecx + ecx*4]
cmp dword [eax + edx*4 + 4], esi
lea eax, [eax + edx*4]
jl 0x1012c939
mov eax, dword [eax]
cmp dword [eax + 0xc], esi
jne 0x1012cc99
cmp dword [eax + 0x10], esi
jle 0x1012cc99
cmp ecx, dword [ebx + 0x14]
mov dword [esp + 0x3c], 0
jge 0x1012cc88
lea ebx, [ebx]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x18]
cmp dword [eax + ecx*4 + 4], 0
lea ebp, [eax + ecx*4]
mov dword [esp + 0x1c], ebp
jl 0x1012cc6a
cmp dword [ebp + 0xc], 0
mov ebx, dword [ebp]
mov dword [esp + 0x14], 1
jl 0x1012c9ce
test esi, esi
je 0x1012ccf6
mov eax, dword [ebp + 0xc]
mov edx, dword [esp + 0x28]
mov edx, dword [edx + 0x18]
mov ecx, dword [esi + eax*4]
lea eax, [edx + eax*8]
mov edx, dword [eax]
cmp ecx, edx
jl 0x1012cc6a
mov eax, dword [eax + 4]
cmp ecx, eax
jg 0x1012cc6a
cmp edx, eax
je 0x1012cb5b
mov dword [esp + 0x14], 0
jmp 0x1012cb5b
xor esi, esi
mov dword [esp + 0x4c], esi
jmp 0x1012c8d4
test ebx, ebx
je 0x1012ccc0
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x60]
add eax, ecx
cmp byte [eax], 0
je 0x1012cc45
lea edx, [esp + 0x10]
push edx
push eax
push 0
call fcn.100cfa20
add esp, 0xc
mov edi, ebx
call fcn.1012c400
mov edi, eax
cmp edi, 1
jne 0x1012cc1a
cmp dword [ebx + 0xc], 0
jl 0x1012cc1a
cmp dword [ebx + 0x10], 0
jle 0x1012cc1a
cmp dword [ebp + 8], 0
mov ecx, dword [esp + 0x80]
mov eax, dword [ebp + 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax*4]
mov dword [esp + 0x18], eax
jl 0x1012ca6e
test esi, esi
je 0x1012ccf6
mov eax, dword [esp + 0x28]
test eax, eax
je 0x1012ccf6
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x1012ccf6
mov eax, dword [ebp + 8]
mov edx, dword [esi + eax*4]
cmp edx, dword [ecx + eax*8 + 4]
jge 0x1012cc6a
inc dword [esi + eax*4]
lea eax, [esi + eax*4]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
inc ecx
cmp dword [edx + 0x14], ecx
jle 0x1012ca85
lea esi, [esp + 0x20]
call fcn.1012c5e0
mov esi, 1
mov dword [esp + 0x3c], esi
mov edi, edi
cmp esi, dword [ebx + 0x10]
je 0x1012cb20
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x60]
add eax, ecx
cmp byte [eax + edx], 0
mov dword [esp + 0x58], eax
je 0x1012cb1a
cmp esi, dword [ebx + 0xc]
jl 0x1012cae7
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
lea esi, [esp + 0x20]
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x34], eax
call fcn.1012c5e0
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x38], ebp
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x34], edi
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x58]
lea ecx, [esp + 0x10]
push ecx
add edx, eax
push edx
push 0
call fcn.100cfa20
add esp, 0xc
mov edi, ebx
call fcn.1012c400
mov edi, eax
inc esi
mov dword [esp + 0x3c], esi
cmp edi, 1
je 0x1012ca90
jmp 0x1012cb20
sub eax, ecx
mov dword [esp + 0x58], eax
cmp esi, dword [ebx + 0xc]
jl 0x1012cc99
test edi, edi
jl 0x1012cc99
je 0x1012cc99
cmp dword [ebp + 8], 0
jl 0x1012cb52
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x1012ccf2
mov ecx, dword [ebp + 8]
dec dword [eax + ecx*4]
lea eax, [eax + ecx*4]
cmp edi, 1
jne 0x1012cc66
cmp dword [ebp + 0x10], 1
je 0x1012cb7c
cmp dword [ebp + 0xc], 0
jl 0x1012cb85
cmp dword [esp + 0x14], 0
jne 0x1012cb85
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
inc edx
cmp dword [eax + 0x14], edx
jle 0x1012cb85
lea esi, [esp + 0x20]
call fcn.1012c5e0
cmp dword [ebp + 8], 0
mov esi, dword [esp + 0x4c]
jl 0x1012cbc6
test esi, esi
je 0x1012ccf6
mov eax, dword [esp + 0x28]
test eax, eax
je 0x1012ccf6
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x1012ccf6
mov eax, dword [ebp + 8]
mov edx, dword [esi + eax*4]
cmp edx, dword [ecx + eax*8 + 4]
jge 0x1012cc6a
mov edx, eax
inc dword [esi + edx*4]
lea eax, [esi + edx*4]
mov eax, dword [ebp + 0xc]
test eax, eax
jl 0x1012cbe3
cmp eax, 0x123456
jge 0x1012cbe3
test esi, esi
je 0x1012ccf6
mov dword [esi + eax*4], 0
mov ecx, dword [esp + 0x80]
mov eax, dword [ebp + 4]
mov edx, dword [ecx + 8]
mov ebx, dword [edx + eax*4]
cmp dword [ebp], 0
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], 0
je 0x1012ccb6
mov eax, dword [esp + 0x10]
add dword [esp + 0x58], eax
jmp 0x1012ccb6
test edi, edi
jne 0x1012cb52
cmp dword [ebx + 0xc], edi
jne 0x1012cb52
cmp dword [ebx + 0x10], edi
jle 0x1012cb52
mov dword [esp + 0x3c], 1
mov dword [esp + 0x10], edi
jmp 0x1012cb5b
cmp dword [ebx + 0xc], 0
jne 0x1012cc6a
cmp dword [ebx + 0x10], 0
jle 0x1012cc6a
mov dword [esp + 0x3c], 1
mov dword [esp + 0x10], 0
jmp 0x1012cb5b
test edi, edi
jl 0x1012cce3
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x4c]
inc eax
cmp eax, dword [ecx + 0x14]
mov dword [esp + 0x38], eax
jl 0x1012c950
mov ebp, dword [esp + 0x20]
cmp dword [esp + 0x38], 0
jne 0x1012cc99
mov ecx, dword [esp + 0x34]
cmp dword [ecx + 0x14], 0
jne 0x1012ccb2
lea esi, [esp + 0x20]
mov dword [esp + 0x24], 0
call fcn.1012c790
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x34]
test ebp, ebp
je 0x1012c8d0
jmp 0x1012ccf9
push str.epsilon_transition_left_at_runtime_n
call dword [sym.imp.MSVCR100.dll___iob_func]
add eax, 0x40
push eax
call dword [sym.imp.MSVCR100.dll_fprintf]
mov ebp, 0xfffffffe
add esp, 8
mov dword [esp + 0x20], ebp
jmp 0x1012cc88
mov esi, dword [esp + 0x4c]
mov ebp, 0xfffffffc
mov dword [esp + 0x20], ebp
jmp 0x1012cc88
mov esi, dword [esp + 0x4c]
or ebp, 0xffffffff
mov ebx, dword [esp + 0x48]
test ebx, ebx
je 0x1012cd36
test esi, esi
je 0x1012cd28
mov edi, dword [esp + 0x40]
test edi, edi
jle 0x1012cd28
lea esi, [ebx + 0xc]
mov eax, dword [esi]
test eax, eax
je 0x1012cd20
push eax
call dword [0x10438018]
add esp, 4
add esi, 0x10
sub edi, 1
jne 0x1012cd10
push ebx
call dword [0x10438018]
mov esi, dword [esp + 0x50]
add esp, 4
test esi, esi
je 0x1012cd44
push esi
call dword [0x10438018]
add esp, 4
test ebp, ebp
jne 0x1012cd53
pop edi
pop esi
lea eax, [ebp + 1]
pop ebp
pop ebx
add esp, 0x6c
ret
cmp ebp, 0xffffffff
jne 0x1012cd6e
xor eax, eax
cmp dword [esp + 0x78], 0x989680
pop edi
setle al
pop esi
pop ebp
pop ebx
dec eax
add esp, 0x6c
ret
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x6c
ret