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

Disassembly:
mov ecx, dword [0x6dded4]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4c18e1
sub esp, 0x74
mov edx, dword [esp + 0x78]
mov eax, dword [edx + 0xc]
test eax, eax
je 0x4c169c
mov ecx, dword [edx + 4]
cmp ecx, eax
jbe 0x4c18db
mov ebx, dword [edx]
lea ebp, [eax + eax*2]
lea eax, [ebx + ebp*8]
cmp byte [eax], 3
jne 0x4c1690
lea ebp, [ebx + ebp*8 + 8]
mov ebp, dword [ebp]
xchg ebp, eax
test al, 4
xchg ebp, eax
je 0x4c1690
mov dword [esp + 0x10], ecx
xor eax, eax
jmp 0x4c16b0
mov dword [esp + 0x7c], 0
add esp, 0x74
ret
mov dword [esp + 0x7c], 0
add esp, 0x74
ret
add ebx, 0x18
inc eax
mov ecx, dword [esp + 0x10]
cmp eax, ecx
jge 0x4c1756
lea edi, [esp + 0x38]
mov esi, ebx
call fcn.00461084
mov ecx, dword [edx + 4]
mov ebp, dword [esp + 0x3c]
cmp ecx, ebp
jbe 0x4c18d4
mov esi, dword [edx]
lea ebp, [ebp + ebp*2]
lea ebp, [esi + ebp*8]
movzx edi, byte [esp + 0x38]
movzx ebp, byte [ebp]
xchg edi, eax
cmp al, 1
xchg edi, eax
ja 0x4c170c
xchg ebp, eax
cmp al, 4
xchg ebp, eax
je 0x4c1732
mov ebp, dword [esp + 0x40]
cmp ebp, ecx
jae 0x4c18cd
lea ecx, [ebp + ebp*2]
lea ecx, [esi + ecx*8]
cmp byte [ecx], 4
jne 0x4c16a8
jmp 0x4c1732
xchg edi, eax
cmp al, 3
xchg edi, eax
jne 0x4c1725
xchg ebp, eax
cmp al, 4
xchg ebp, eax
jne 0x4c16a8
mov ecx, dword [esp + 0x40]
test cl, 8
jne 0x4c16a8
jmp 0x4c173e
xchg ebp, eax
cmp al, 4
xchg ebp, eax
jne 0x4c16a8
jmp 0x4c174a
mov dword [esp + 0x7c], 0
add esp, 0x74
ret
mov dword [esp + 0x7c], 0
add esp, 0x74
ret
mov dword [esp + 0x7c], 0
add esp, 0x74
ret
mov dword [esp], edx
call sym.regexp.onePassCopy
mov eax, dword [esp + 4]
mov dword [esp], eax
call sym.regexp.makeOnePass
mov eax, dword [esp + 4]
test eax, eax
je 0x4c1788
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx]
nop
mov ecx, dword [ecx + 4]
mov dword [esp + 0x10], ecx
xor ebx, ebx
jmp 0x4c1798
mov dword [esp + 0x7c], eax
add esp, 0x74
ret
add edx, 0x18
inc ebx
mov ecx, dword [esp + 0x10]
cmp ebx, ecx
jge 0x4c1788
lea edi, [esp + 0x20]
mov esi, edx
call fcn.00461084
movzx ecx, byte [esp + 0x20]
cmp cl, 6
ja 0x4c17f5
cmp cl, 1
jbe 0x4c1790
mov ecx, dword [eax + 4]
cmp ebx, ecx
jae 0x4c18c6
mov ecx, dword [eax]
lea ebp, [ebx + ebx*8]
mov dword [ecx + ebp*4 + 0x1c], 0
mov dword [ecx + ebp*4 + 0x20], 0
mov esi, dword [0x6ddfe0]
test esi, esi
je 0x4c17eb
mov esi, dword [ecx + ebp*4 + 0x18]
call sym.runtime.gcWriteBarrier1
mov dword [edi], esi
mov dword [ecx + ebp*4 + 0x18], 0
jmp 0x4c1790
cmp cl, 7
je 0x4c1790
cmp cl, 0xa
ja 0x4c1790
mov ecx, dword [eax + 4]
cmp ebx, ecx
jae 0x4c18bf
mov ecx, dword [eax]
lea ebp, [ebx + ebx*8]
mov dword [ecx + ebp*4 + 0x1c], 0
mov dword [ecx + ebp*4 + 0x20], 0
mov esi, dword [0x6ddfe0]
test esi, esi
je 0x4c1834
mov esi, dword [ecx + ebp*4 + 0x18]
call sym.runtime.gcWriteBarrier1
mov dword [edi], esi
mov dword [ecx + ebp*4 + 0x18], 0
lea edi, [esp + 0x50]
xor eax, eax
call fcn.00460ba7
lea edi, [esp + 0x50]
lea esi, [esp + 0x20]
call fcn.00461084
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 4]
cmp ebx, eax
jae 0x4c18b6
mov eax, dword [ecx]
mov esi, dword [0x6ddfe0]
lea edi, [eax + ebp*4]
test esi, esi
je 0x4c18a4
mov dword [esp + 0xc], ebx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], edi
lea eax, [0x55a180]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x50]
mov dword [esp + 8], eax
call sym.runtime.wbMove
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x18]
lea esi, [esp + 0x50]
call fcn.00461066
mov eax, dword [esp + 0x14]
jmp 0x4c1790
mov ecx, eax
mov eax, ebx
call sym.runtime.panicIndex
mov eax, ebx
call sym.runtime.panicIndex
mov eax, ebx
call sym.runtime.panicIndex
mov eax, ebp
call sym.runtime.panicIndexU
mov eax, ebp
call sym.runtime.panicIndexU
call sym.runtime.panicIndex
nop
call sym.runtime.morestack_noctxt
jmp sym.regexp.compileOnePass