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

Disassembly:
mov ecx, dword [0x63d360]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x34]
cmp eax, dword [ecx + 8]
jbe 0x4ce303
sub esp, 0xb4
mov ebx, dword [edx + 4]
mov ebx, dword [ebx]
mov ecx, dword [ebx + 4]
mov ebp, dword [edx + 0x10]
mov dword [esp + 0x7c], ebp
mov esi, dword [edx + 0x14]
mov edi, dword [edx + 0xc]
mov eax, dword [edx + 0x1c]
mov ebx, dword [ebx]
mov ebp, dword [esp + 0xb8]
cmp ebp, ecx
jae 0x4ce2fb
mov dword [esp + 0xb0], edi
mov dword [esp + 0x78], eax
mov dword [esp + 0x4c], esi
mov ecx, dword [edx + 8]
lea edx, [ebp + ebp*8]
mov dword [esp + 0x6c], edx
mov esi, dword [ecx]
mov eax, dword [ecx + 4]
cmp eax, ebp
jbe 0x4ccffe
mov edi, dword [esi + ebp*4]
cmp dword [ecx + 0x18], edi
jbe 0x4ccff5
mov edx, dword [ecx + 0x10]
cmp edx, edi
jbe 0x4ce2f2
mov edx, dword [ecx + 0xc]
lea edi, [edx + edi*4]
cmp dword [edi], ebp
je 0x4ccfe6
cmp eax, ebp
mov edx, dword [esp + 0x6c]
mov edi, dword [esp + 0xb0]
jmp 0x4ccffe
mov byte [esp + 0xc8], 1
add esp, 0xb4
ret
cmp eax, ebp
mov edi, dword [esp + 0xb0]
nop
jbe 0x4cd049
mov edi, dword [esi + ebp*4]
cmp dword [ecx + 0x18], edi
jbe 0x4cd040
mov dword [esp + 0xac], esi
mov esi, dword [ecx + 0x10]
cmp esi, edi
jbe 0x4ce2e9
mov esi, dword [ecx + 0xc]
lea esi, [esi + edi*4]
cmp dword [esi], ebp
jne 0x4cd02e
mov edi, dword [esp + 0xb0]
jmp 0x4cd069
cmp eax, ebp
mov esi, dword [esp + 0xac]
mov edi, dword [esp + 0xb0]
jmp 0x4cd049
cmp eax, ebp
mov edi, dword [esp + 0xb0]
nop
jbe 0x4cd069
mov eax, dword [ecx + 0x18]
mov dword [esi + ebp*4], eax
mov esi, dword [ecx + 0x10]
mov eax, dword [ecx + 0x18]
cmp esi, eax
jbe 0x4ce2e2
mov esi, dword [ecx + 0xc]
mov dword [esi + eax*4], ebp
inc dword [ecx + 0x18]
mov dword [esp + 0xa8], ebx
lea esi, [ebx + edx*4]
mov dword [esp + 0xa4], esi
movzx eax, byte [esi]
cmp al, 5
ja 0x4cd4b6
cmp al, 2
ja 0x4cd2a9
cmp al, 1
ja 0x4cd4c8
mov eax, dword [edi]
mov ecx, dword [eax]
mov ebp, dword [ebx + edx*4 + 4]
mov dword [esp], ebp
mov ebp, dword [esp + 0xbc]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0xc0]
mov dword [esp + 8], esi
mov edi, dword [esp + 0xc4]
mov dword [esp + 0xc], edi
mov edx, eax
call ecx
movzx eax, byte [esp + 0x10]
test al, al
jne 0x4cd0d5
xor eax, eax
jmp 0x4cd11a
mov eax, dword [esp + 0xb0]
mov edx, dword [eax]
mov eax, dword [edx]
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0xa8]
mov ebp, dword [ebx + ecx*4 + 8]
mov dword [esp], ebp
mov ebp, dword [esp + 0xbc]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0xc0]
mov dword [esp + 8], esi
mov edi, dword [esp + 0xc4]
mov dword [esp + 0xc], edi
call eax
movzx eax, byte [esp + 0x10]
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0xa8]
mov ebp, dword [ebx + edx*4 + 4]
mov ecx, dword [esp + 0xc0]
cmp ecx, ebp
jbe 0x4ce2db
mov byte [esp + 0x2b], al
mov esi, dword [ebx + edx*4 + 8]
mov edi, dword [esp + 0xbc]
movzx eax, byte [edi + ebp]
cmp ecx, esi
jbe 0x4ce2d4
movzx edi, byte [edi + esi]
test al, al
je 0x4cd168
xchg edi, eax
test al, al
xchg edi, eax
je 0x4cd178
xor eax, eax
jmp 0x4cde50
xchg edi, eax
test al, al
xchg edi, eax
je 0x4cd178
mov dword [ebx + edx*4 + 4], esi
mov dword [ebx + edx*4 + 8], ebp
mov eax, edi
test al, al
je 0x4cd1a4
mov eax, dword [esp + 0xb8]
cmp ecx, eax
jbe 0x4ce2cf
mov ebp, dword [esp + 0xbc]
mov byte [ebp + eax], 1
mov ebp, dword [esp + 0xa4]
mov byte [ebp], 1
jmp 0x4cd1ab
mov eax, dword [esp + 0xb8]
mov ebp, dword [ebx + edx*4 + 4]
mov ecx, dword [esp + 0x4c]
cmp ebp, ecx
jae 0x4ce2c8
lea esi, [ebp + ebp*2]
mov edi, dword [ebx + edx*4 + 8]
mov edx, dword [esp + 0x7c]
lea esi, [edx + esi*4]
cmp edi, ecx
jae 0x4ce2c1
mov dword [esp], esi
lea eax, [edi + edi*2]
lea eax, [edx + eax*4]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edi
call sym.regexp.mergeRuneSets
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x4c]
cmp ecx, edx
jae 0x4ce2b8
lea ecx, [ecx + ecx*2]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0xac], ebp
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0x7c]
mov dword [ebp + ecx*4 + 4], edx
mov dword [ebp + ecx*4 + 8], ebx
mov edx, dword [0x63d400]
test edx, edx
je 0x4cd26d
mov dword [esp + 0x68], eax
mov edx, edi
call sym.runtime.gcWriteBarrier4
mov dword [edi], esi
mov ebx, dword [ebp + ecx*4]
mov dword [edi + 4], ebx
mov ebx, dword [esp + 0xac]
mov dword [edi + 8], ebx
mov ebx, dword [esp + 0x6c]
mov eax, dword [esp + 0xa8]
mov eax, dword [eax + ebx*4 + 0x18]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x68]
mov edi, edx
mov dword [ebp + ecx*4], esi
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0xa8]
mov dword [edx + ecx*4 + 0x1c], edi
mov dword [edx + ecx*4 + 0x20], eax
mov eax, dword [esp + 0xac]
mov dword [edx + ecx*4 + 0x18], eax
test edi, edi
je 0x4cd29f
cmp dword [eax], 0xffffffff
jne 0x4cd29f
xor eax, eax
jmp 0x4cde50
movzx eax, byte [esp + 0x2b]
jmp 0x4cde50
cmp al, 3
jne 0x4cd48d
mov eax, dword [edi]
mov ecx, dword [eax]
mov ebp, dword [ebx + edx*4 + 4]
mov dword [esp], ebp
mov ebp, dword [esp + 0xbc]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0xc0]
mov dword [esp + 8], esi
mov edi, dword [esp + 0xc4]
mov dword [esp + 0xc], edi
mov edx, eax
call ecx
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0xa8]
mov ebx, dword [ecx + eax*4 + 4]
movzx ebp, byte [esp + 0x10]
mov esi, dword [esp + 0xc0]
cmp esi, ebx
jbe 0x4ce2af
mov edx, dword [esp + 0xbc]
movzx ebx, byte [edx + ebx]
mov edi, dword [esp + 0xb8]
cmp esi, edi
jbe 0x4ce2a6
mov byte [edx + edi], bl
mov edx, dword [ecx + eax*4 + 4]
mov ebx, dword [esp + 0x4c]
cmp edx, ebx
jae 0x4ce29d
xchg ebp, eax
mov byte [esp + 0x2b], al
xchg ebp, eax
lea edx, [edx + edx*2]
mov esi, dword [esp + 0x7c]
mov ebp, dword [esi + edx*4 + 4]
mov edx, dword [esi + edx*4]
test ebp, ebp
ja 0x4cd369
mov dword [esp + 0x58], eax
lea eax, [0x63d240]
mov dword [esp + 0x9c], eax
xor eax, eax
mov dword [esp + 0x68], eax
xor eax, eax
mov dword [esp + 0x64], eax
jmp 0x4cd3c2
mov dword [esp + 0xa0], edx
mov dword [esp + 0x68], ebp
lea eax, [0x63d240]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], 0
mov dword [esp + 0xc], ebp
lea eax, [0x507300]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x9c], eax
mov dword [esp + 0x68], ecx
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
mov dword [esp + 4], edx
shl ebp, 2
mov dword [esp + 8], ebp
call sym.runtime.memmove
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x4c]
cmp eax, ecx
jae 0x4ce298
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x7c]
mov dword [edx + eax*4 + 4], ecx
mov ebx, dword [esp + 0x64]
mov dword [edx + eax*4 + 8], ebx
mov ebx, dword [0x63d400]
test ebx, ebx
jne 0x4cd419
mov ebx, dword [esp + 0x9c]
jmp 0x4cd42d
call sym.runtime.gcWriteBarrier2
mov ebx, dword [esp + 0x9c]
mov dword [edi], ebx
mov ebp, dword [edx + eax*4]
mov dword [edi + 4], ebp
mov dword [edx + eax*4], ebx
lea eax, [0x507340]
mov dword [esp], eax
shr ecx, 1
lea eax, [ecx + 1]
mov dword [esp + 0x68], eax
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0xa8]
mov dword [ebx + ecx*4 + 0x1c], edx
mov dword [ebx + ecx*4 + 0x20], edx
mov ebp, dword [0x63d400]
test ebp, ebp
je 0x4cd482
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebp, dword [ebx + ecx*4 + 0x18]
mov dword [edi + 4], ebp
mov dword [ebx + ecx*4 + 0x18], eax
xor eax, eax
jmp 0x4ce271
mov ecx, dword [esp + 0xc0]
cmp ecx, ebp
jbe 0x4ce266
cmp al, 4
sete cl
mov edx, dword [esp + 0xbc]
mov byte [edx + ebp], cl
mov eax, 1
jmp 0x4cde50
cmp al, 7
ja 0x4cd8ed
cmp al, 6
jne 0x4cd6a3
mov eax, dword [edi]
mov ecx, dword [eax]
mov ebp, dword [ebx + edx*4 + 4]
mov dword [esp], ebp
mov ebp, dword [esp + 0xbc]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0xc0]
mov dword [esp + 8], esi
mov edi, dword [esp + 0xc4]
mov dword [esp + 0xc], edi
mov edx, eax
call ecx
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0xa8]
mov ebx, dword [ecx + eax*4 + 4]
movzx ebp, byte [esp + 0x10]
mov esi, dword [esp + 0xc0]
cmp esi, ebx
jbe 0x4ce25d
mov edx, dword [esp + 0xbc]
movzx ebx, byte [edx + ebx]
mov edi, dword [esp + 0xb8]
cmp esi, edi
jbe 0x4ce254
mov byte [edx + edi], bl
mov edx, dword [ecx + eax*4 + 4]
mov ebx, dword [esp + 0x4c]
cmp edx, ebx
jae 0x4ce24b
xchg ebp, eax
mov byte [esp + 0x2b], al
xchg ebp, eax
lea edx, [edx + edx*2]
mov esi, dword [esp + 0x7c]
mov ebp, dword [esi + edx*4 + 4]
mov edx, dword [esi + edx*4]
test ebp, ebp
ja 0x4cd57f
mov dword [esp + 0x50], eax
lea eax, [0x63d240]
mov dword [esp + 0x94], eax
xor eax, eax
mov dword [esp + 0x68], eax
xor eax, eax
mov dword [esp + 0x64], eax
jmp 0x4cd5d8
mov dword [esp + 0x98], edx
mov dword [esp + 0x68], ebp
lea eax, [0x63d240]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], 0
mov dword [esp + 0xc], ebp
lea eax, [0x507300]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x94], eax
mov dword [esp + 0x68], ecx
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x98]
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov dword [esp + 4], edx
shl ebp, 2
mov dword [esp + 8], ebp
call sym.runtime.memmove
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x4c]
cmp eax, ecx
jae 0x4ce246
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x7c]
mov dword [edx + eax*4 + 4], ecx
mov ebx, dword [esp + 0x64]
mov dword [edx + eax*4 + 8], ebx
mov ebx, dword [0x63d400]
test ebx, ebx
jne 0x4cd62f
mov ebx, dword [esp + 0x94]
jmp 0x4cd643
call sym.runtime.gcWriteBarrier2
mov ebx, dword [esp + 0x94]
mov dword [edi], ebx
mov ebp, dword [edx + eax*4]
mov dword [edi + 4], ebp
mov dword [edx + eax*4], ebx
lea eax, [0x507340]
mov dword [esp], eax
shr ecx, 1
lea eax, [ecx + 1]
mov dword [esp + 0x68], eax
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0xa8]
mov dword [ebx + ecx*4 + 0x1c], edx
mov dword [ebx + ecx*4 + 0x20], edx
mov ebp, dword [0x63d400]
test ebp, ebp
je 0x4cd698
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebp, dword [ebx + ecx*4 + 0x18]
mov dword [edi + 4], ebp
mov dword [ebx + ecx*4 + 0x18], eax
xor eax, eax
jmp 0x4ce21f
mov ecx, dword [esp + 0xc0]
cmp ecx, ebp
jbe 0x4ce214
mov edi, dword [esp + 0xbc]
mov byte [edi + ebp], 0
mov edi, dword [ebx + edx*4 + 0x1c]
test edi, edi
jne 0x4cd8e3
mov edi, dword [ebx + edx*4 + 4]
mov esi, dword [esp + 0x78]
mov ecx, dword [esi]
mov eax, dword [esi + 4]
cmp eax, edi
jbe 0x4cd723
mov ebp, dword [ecx + edi*4]
cmp dword [esi + 0x18], ebp
jbe 0x4cd71a
mov dword [esp + 0xac], ecx
mov ecx, dword [esi + 0x10]
cmp ecx, ebp
jbe 0x4ce20d
mov ecx, dword [esi + 0xc]
lea ebp, [ecx + ebp*4]
cmp dword [ebp], edi
jne 0x4cd708
mov ebp, dword [esp + 0xb8]
jmp 0x4cd743
cmp eax, edi
mov ecx, dword [esp + 0xac]
mov ebp, dword [esp + 0xb8]
jmp 0x4cd723
cmp eax, edi
mov ebp, dword [esp + 0xb8]
nop
jbe 0x4cd743
mov eax, dword [esi + 0x18]
mov dword [ecx + edi*4], eax
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x18]
cmp ecx, eax
jbe 0x4ce208
mov ecx, dword [esi + 0xc]
mov dword [ecx + eax*4], edi
inc dword [esi + 0x18]
mov esi, dword [ebx + edx*4 + 0x10]
mov edi, dword [ebx + edx*4 + 0xc]
test esi, esi
je 0x4cd849
mov dword [esp + 0x90], edi
cmp esi, 1
jne 0x4cd7d6
mov eax, dword [ebx + edx*4 + 8]
test ax, 1
je 0x4cd7d6
mov eax, dword [edi]
mov dword [esp + 0x48], eax
lea ecx, [0x63d240]
mov dword [esp], ecx
mov dword [esp + 4], 2
mov dword [esp + 8], 0
mov dword [esp + 0xc], 2
lea ecx, [0x507300]
mov dword [esp + 0x10], ecx
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x38], ecx
mov edx, dword [esp + 0x48]
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [esp], edx
call sym.unicode.SimpleFold
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x74]
mov ebx, 2
jmp 0x4ce178
mov dword [esp + 0x68], esi
lea eax, [0x63d240]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], 0
mov dword [esp + 0xc], esi
lea eax, [0x507300]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x68]
shl ecx, 2
mov edx, dword [esp + 0x18]
mov dword [esp + 0x30], edx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x38], ebx
mov dword [esp], eax
mov ebp, dword [esp + 0x90]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
call sym.runtime.memmove
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x38]
jmp 0x4ce078
mov ecx, dword [esp + 0x4c]
cmp ebp, ecx
jae 0x4ce071
lea eax, [ebp + ebp*2]
mov ecx, dword [esp + 0x7c]
mov dword [ecx + eax*4 + 4], 0
mov dword [ecx + eax*4 + 8], 0
mov ebp, dword [0x63d400]
test ebp, ebp
je 0x4cd881
mov ebp, dword [ecx + eax*4]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebp
lea edx, [0x63d240]
mov dword [ecx + eax*4], edx
lea eax, [0x507020]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0xa8]
mov ebx, dword [edx + ecx*4 + 4]
mov dword [eax], ebx
mov dword [edx + ecx*4 + 0x1c], 1
mov dword [edx + ecx*4 + 0x20], 1
mov ebx, dword [0x63d400]
test ebx, ebx
je 0x4cd8d5
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebx, dword [edx + ecx*4 + 0x18]
mov dword [edi + 4], ebx
mov dword [edx + ecx*4 + 0x18], eax
mov eax, 1
jmp 0x4cde50
mov eax, 1
jmp 0x4cde50
cmp al, 8
jne 0x4cda89
mov ecx, dword [esp + 0xc0]
cmp ecx, ebp
jbe 0x4ce06a
mov edi, dword [esp + 0xbc]
mov byte [edi + ebp], 0
mov edi, dword [ebx + edx*4 + 0x1c]
test edi, edi
jne 0x4cda7f
mov edi, dword [ebx + edx*4 + 4]
mov esi, dword [esp + 0x78]
mov ecx, dword [esi]
mov eax, dword [esi + 4]
cmp eax, edi
jbe 0x4cd976
mov ebp, dword [ecx + edi*4]
cmp dword [esi + 0x18], ebp
jbe 0x4cd96d
mov dword [esp + 0xac], ecx
mov ecx, dword [esi + 0x10]
cmp ecx, ebp
jbe 0x4ce063
mov ecx, dword [esi + 0xc]
lea ebp, [ecx + ebp*4]
cmp dword [ebp], edi
jne 0x4cd95b
mov ebp, dword [esp + 0xb8]
jmp 0x4cd996
cmp eax, edi
mov ecx, dword [esp + 0xac]
mov ebp, dword [esp + 0xb8]
jmp 0x4cd976
cmp eax, edi
mov ebp, dword [esp + 0xb8]
nop
jbe 0x4cd996
mov eax, dword [esi + 0x18]
mov dword [ecx + edi*4], eax
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x18]
cmp ecx, eax
jbe 0x4ce05e
mov ecx, dword [esi + 0xc]
mov dword [ecx + eax*4], edi
inc dword [esi + 0x18]
mov esi, dword [ebx + edx*4 + 8]
test si, 1
je 0x4cda1e
mov esi, dword [ebx + edx*4 + 0x10]
mov edi, dword [ebx + edx*4 + 0xc]
test esi, esi
jbe 0x4ce055
mov eax, dword [edi]
mov dword [esp + 0x44], eax
lea ecx, [0x63d240]
mov dword [esp], ecx
mov dword [esp + 4], 2
mov dword [esp + 8], 0
mov dword [esp + 0xc], 2
lea ecx, [0x507300]
mov dword [esp + 0x10], ecx
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x44]
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [esp], edx
call sym.unicode.SimpleFold
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x70]
mov ebx, 2
jmp 0x4cdfc5
mov esi, dword [ebx + edx*4 + 0x10]
mov edi, dword [ebx + edx*4 + 0xc]
test esi, esi
jbe 0x4cdf90
mov eax, dword [edi]
mov dword [esp + 0x60], eax
lea ecx, [0x63d240]
mov dword [esp], ecx
mov dword [esp + 4], 2
mov dword [esp + 8], 0
mov dword [esp + 0xc], 2
lea ecx, [0x507300]
mov dword [esp + 0x10], ecx
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x60]
mov dword [eax], edx
mov dword [eax + 4], edx
mov edx, 2
jmp 0x4cdeba
mov eax, 1
jmp 0x4cde50
cmp al, 9
je 0x4cdc81
cmp al, 0xa
jne 0x4cdc77
mov ecx, dword [esp + 0xc0]
cmp ecx, ebp
jbe 0x4cdeb3
mov esi, dword [esp + 0xbc]
mov byte [esi + ebp], 0
mov esi, dword [ebx + edx*4 + 0x1c]
test esi, esi
jne 0x4cdc6d
mov esi, dword [ebx + edx*4 + 4]
mov edi, dword [esp + 0x78]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
cmp ecx, esi
jbe 0x4cdb11
mov edx, dword [eax + esi*4]
cmp dword [edi + 0x18], edx
jbe 0x4cdb0b
mov ebx, dword [edi + 0x10]
cmp ebx, edx
jbe 0x4cdeaa
mov ebx, dword [edi + 0xc]
lea edx, [ebx + edx*4]
cmp dword [edx], esi
jne 0x4cdafc
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0xa8]
jmp 0x4cdb31
cmp ecx, esi
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0xa8]
jmp 0x4cdb11
cmp ecx, esi
mov edx, dword [esp + 0x6c]
nop
jbe 0x4cdb31
mov ecx, dword [edi + 0x18]
mov dword [eax + esi*4], ecx
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 0x18]
cmp eax, ecx
jae 0x4cdea5
mov ecx, dword [edi + 0xc]
mov dword [ecx + eax*4], esi
inc dword [edi + 0x18]
mov eax, dword [0x5f9754]
test eax, eax
ja 0x4cdb47
lea ecx, [0x63d240]
xor esi, esi
xor edi, edi
jmp 0x4cdb89
mov dword [esp + 0x68], eax
lea ecx, [0x63d240]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
lea ecx, [0x507300]
mov dword [esp + 0x10], ecx
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov esi, ecx
mov edi, edx
mov ecx, eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x68], esi
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x64], edi
mov edx, dword [0x5f9754]
sub eax, edx
mov ebx, dword [0x5f9750]
lea eax, [ecx + eax*4]
mov dword [esp], eax
mov dword [esp + 4], ebx
shl edx, 2
mov dword [esp + 8], edx
call sym.runtime.memmove
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x4c]
cmp eax, ecx
jae 0x4cdea0
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x7c]
mov dword [edx + eax*4 + 4], ecx
mov ebx, dword [esp + 0x64]
mov dword [edx + eax*4 + 8], ebx
mov ebx, dword [0x63d400]
test ebx, ebx
jne 0x4cdbf9
mov ebx, dword [esp + 0x8c]
jmp 0x4cdc0d
call sym.runtime.gcWriteBarrier2
mov ebx, dword [esp + 0x8c]
mov dword [edi], ebx
mov ebp, dword [edx + eax*4]
mov dword [edi + 4], ebp
mov dword [edx + eax*4], ebx
lea eax, [0x507340]
mov dword [esp], eax
shr ecx, 1
lea eax, [ecx + 1]
mov dword [esp + 0x68], eax
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0xa8]
mov dword [ebx + ecx*4 + 0x1c], edx
mov dword [ebx + ecx*4 + 0x20], edx
mov ebp, dword [0x63d400]
test ebp, ebp
je 0x4cdc62
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebp, dword [ebx + ecx*4 + 0x18]
mov dword [edi + 4], ebp
mov dword [ebx + ecx*4 + 0x18], eax
xor eax, eax
jmp 0x4cde7c
mov eax, 1
jmp 0x4cde50
mov eax, 1
jmp 0x4cde50
mov ecx, dword [esp + 0xc0]
cmp ecx, ebp
jbe 0x4cde71
mov esi, dword [esp + 0xbc]
mov byte [esi + ebp], 0
mov esi, dword [ebx + edx*4 + 0x1c]
test esi, esi
je 0x4cdcad
mov eax, 1
jmp 0x4cde50
mov esi, dword [ebx + edx*4 + 4]
mov edi, dword [esp + 0x78]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
cmp ecx, esi
jbe 0x4cdcfd
mov edx, dword [eax + esi*4]
cmp dword [edi + 0x18], edx
jbe 0x4cdcf7
mov ebx, dword [edi + 0x10]
cmp edx, ebx
jae 0x4cde68
mov ebx, dword [edi + 0xc]
lea edx, [ebx + edx*4]
cmp dword [edx], esi
jne 0x4cdce8
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0xa8]
jmp 0x4cdd1d
cmp ecx, esi
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0xa8]
jmp 0x4cdcfd
cmp ecx, esi
mov edx, dword [esp + 0x6c]
nop
jbe 0x4cdd1d
mov ecx, dword [edi + 0x18]
mov dword [eax + esi*4], ecx
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 0x18]
cmp eax, ecx
jae 0x4cde63
mov ecx, dword [edi + 0xc]
mov dword [ecx + eax*4], esi
inc dword [edi + 0x18]
mov eax, dword [0x5f9764]
test eax, eax
ja 0x4cdd33
lea ecx, [0x63d240]
xor esi, esi
xor edi, edi
jmp 0x4cdd75
mov dword [esp + 0x68], eax
lea ecx, [0x63d240]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
lea ecx, [0x507300]
mov dword [esp + 0x10], ecx
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov esi, edx
mov edi, ecx
mov ecx, eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x68], esi
mov dword [esp + 0x64], edi
mov dword [esp + 0x88], ecx
mov edx, dword [0x5f9764]
sub eax, edx
mov ebx, dword [0x5f9760]
lea eax, [ecx + eax*4]
mov dword [esp], eax
mov dword [esp + 4], ebx
shl edx, 2
mov dword [esp + 8], edx
call sym.runtime.memmove
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x4c]
cmp eax, ecx
jae 0x4cde5e
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x7c]
mov dword [edx + eax*4 + 4], ecx
mov ecx, dword [esp + 0x68]
mov dword [edx + eax*4 + 8], ecx
mov ecx, dword [0x63d400]
test ecx, ecx
jne 0x4cdde5
mov ecx, dword [esp + 0x88]
jmp 0x4cddf9
call sym.runtime.gcWriteBarrier2
mov ecx, dword [esp + 0x88]
mov dword [edi], ecx
mov ebx, dword [edx + eax*4]
mov dword [edi + 4], ebx
mov dword [edx + eax*4], ecx
lea eax, [0x507020]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0xa8]
mov ebx, dword [edx + ecx*4 + 4]
mov dword [eax], ebx
mov dword [edx + ecx*4 + 0x1c], 1
mov dword [edx + ecx*4 + 0x20], 1
mov ebx, dword [0x63d400]
test ebx, ebx
je 0x4cde47
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebx, dword [edx + ecx*4 + 0x18]
mov dword [edi + 4], ebx
mov dword [edx + ecx*4 + 0x18], eax
mov eax, 1
mov byte [esp + 0xc8], al
add esp, 0xb4
ret
call sym.runtime.panicIndexU
call sym.runtime.panicIndexU
mov eax, edx
mov ecx, ebx
call sym.runtime.panicIndexU
mov eax, ebp
call sym.runtime.panicIndexU
mov dword [esi + eax*4], edi
inc eax
cmp eax, edx
jge 0x4cde92
mov ebp, dword [ebx + ecx*4 + 0x1c]
mov esi, dword [ebx + ecx*4 + 0x18]
mov edi, dword [ebx + ecx*4 + 4]
cmp eax, ebp
jb 0x4cde78
jmp 0x4cde99
mov eax, 1
jmp 0x4cde50
mov ecx, ebp
call sym.runtime.panicIndex
call sym.runtime.panicIndexU
call sym.runtime.panicIndexU
mov eax, edx
mov ecx, ebx
call sym.runtime.panicIndexU
mov eax, ebp
call sym.runtime.panicIndexU
mov ebx, dword [esp + 0xb8]
mov ebp, dword [esp + 0x4c]
cmp ebx, ebp
jae 0x4cdf87
lea ebx, [ebx + ebx*2]
mov ebp, dword [esp + 0x7c]
mov dword [ebp + ebx*4 + 4], edx
mov dword [ebp + ebx*4 + 8], ecx
mov ecx, dword [0x63d400]
test ecx, ecx
je 0x4cdef4
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ecx, dword [ebp + ebx*4]
mov dword [edi + 4], ecx
mov dword [ebp + ebx*4], eax
lea eax, [0x507340]
mov dword [esp], eax
shr edx, 1
lea eax, [edx + 1]
mov dword [esp + 0x68], eax
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0xa8]
mov dword [ebx + ecx*4 + 0x1c], edx
mov dword [ebx + ecx*4 + 0x20], edx
mov ebp, dword [0x63d400]
test ebp, ebp
je 0x4cdf4a
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebp, dword [ebx + ecx*4 + 0x18]
mov dword [edi + 4], ebp
mov dword [ebx + ecx*4 + 0x18], eax
xor eax, eax
jmp 0x4cdf56
mov dword [esi + eax*4], edi
inc eax
cmp eax, edx
jge 0x4cdf6c
mov ebp, dword [ebx + ecx*4 + 0x1c]
mov esi, dword [ebx + ecx*4 + 0x18]
mov edi, dword [ebx + ecx*4 + 4]
cmp eax, ebp
jb 0x4cdf52
jmp 0x4cdf80
mov ecx, dword [esp + 0xa4]
mov byte [ecx], 7
mov eax, 1
jmp 0x4cde50
mov ecx, ebp
call sym.runtime.panicIndex
mov eax, ebx
mov ecx, ebp
call sym.runtime.panicIndexU
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
mov dword [esp + 0x70], edx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x34], ecx
mov dword [edx + ebx*4 - 8], eax
mov dword [edx + ebx*4 - 4], eax
mov dword [esp], eax
call sym.unicode.SimpleFold
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x44]
cmp eax, ebp
je 0x4ce00c
add ebx, 2
cmp ecx, ebx
jae 0x4cdf99
mov dword [esp + 0x3c], eax
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 2
lea eax, [0x507300]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
jmp 0x4cdf99
mov dword [esp + 0x68], ecx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x84], edx
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call sym.runtime.convTslice
mov eax, dword [esp + 0xc]
lea ecx, [0x549f8c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sym.sort.Sort
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x68]
jmp 0x4cdeba
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
call sym.runtime.panicIndexU
mov eax, ebp
call sym.runtime.panicIndexU
mov eax, ebp
call sym.runtime.panicIndexU
mov eax, ebp
call sym.runtime.panicIndexU
mov ebx, dword [esp + 0xb8]
mov ebp, dword [esp + 0x4c]
cmp ebx, ebp
jae 0x4ce143
lea ebx, [ebx + ebx*2]
mov ebp, dword [esp + 0x7c]
mov dword [ebp + ebx*4 + 4], eax
mov dword [ebp + ebx*4 + 8], edx
mov edx, dword [0x63d400]
test edx, edx
je 0x4ce0b2
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov edx, dword [ebp + ebx*4]
mov dword [edi + 4], edx
mov dword [ebp + ebx*4], ecx
lea ecx, [0x507340]
mov dword [esp], ecx
shr eax, 1
inc eax
mov dword [esp + 0x68], eax
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0xa8]
mov dword [ebx + ecx*4 + 0x1c], edx
mov dword [ebx + ecx*4 + 0x20], edx
mov ebp, dword [0x63d400]
test ebp, ebp
je 0x4ce106
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebp, dword [ebx + ecx*4 + 0x18]
mov dword [edi + 4], ebp
mov dword [ebx + ecx*4 + 0x18], eax
xor eax, eax
jmp 0x4ce112
mov dword [esi + eax*4], edi
inc eax
cmp eax, edx
jge 0x4ce128
mov ebp, dword [ebx + ecx*4 + 0x1c]
mov esi, dword [ebx + ecx*4 + 0x18]
mov edi, dword [ebx + ecx*4 + 4]
cmp eax, ebp
jb 0x4ce10e
jmp 0x4ce13c
mov ecx, dword [esp + 0xa4]
mov byte [ecx], 7
mov eax, 1
jmp 0x4cde50
mov ecx, ebp
call sym.runtime.panicIndex
mov eax, ebx
mov ecx, ebp
call sym.runtime.panicIndexU
mov dword [esp + 0x74], edx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x38], ecx
mov dword [edx + ebx*4 - 8], eax
mov dword [edx + ebx*4 - 4], eax
mov dword [esp], eax
call sym.unicode.SimpleFold
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x48]
cmp eax, ebp
je 0x4ce1bf
add ebx, 2
cmp ecx, ebx
jae 0x4ce14c
mov dword [esp + 0x40], eax
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 2
lea eax, [0x507300]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
jmp 0x4ce14c
mov dword [esp + 0x68], ecx
mov dword [esp + 0x80], edx
mov dword [esp + 0x30], ebx
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call sym.runtime.convTslice
mov eax, dword [esp + 0xc]
lea ecx, [0x549f8c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sym.sort.Sort
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x68]
jmp 0x4ce078
call sym.runtime.panicIndexU
mov eax, ebp
call sym.runtime.panicIndexU
mov eax, ebp
call sym.runtime.panicIndexU
mov dword [esi + eax*4], edi
inc eax
cmp eax, edx
jge 0x4ce235
mov ebp, dword [ebx + ecx*4 + 0x1c]
mov esi, dword [ebx + ecx*4 + 0x18]
mov edi, dword [ebx + ecx*4 + 4]
cmp eax, ebp
jb 0x4ce21b
jmp 0x4ce23f
movzx eax, byte [esp + 0x2b]
jmp 0x4cde50
mov ecx, ebp
call sym.runtime.panicIndex
call sym.runtime.panicIndexU
mov eax, edx
mov ecx, ebx
call sym.runtime.panicIndexU
mov eax, edi
mov ecx, esi
call sym.runtime.panicIndexU
mov eax, ebx
mov ecx, esi
call sym.runtime.panicIndexU
mov eax, ebp
call sym.runtime.panicIndexU
mov dword [esi + eax*4], edi
inc eax
cmp eax, edx
jge 0x4ce287
mov ebp, dword [ebx + ecx*4 + 0x1c]
mov esi, dword [ebx + ecx*4 + 0x18]
mov edi, dword [ebx + ecx*4 + 4]
cmp eax, ebp
jb 0x4ce26d
jmp 0x4ce291
movzx eax, byte [esp + 0x2b]
jmp 0x4cde50
mov ecx, ebp
call sym.runtime.panicIndex
call sym.runtime.panicIndexU
mov eax, edx
mov ecx, ebx
call sym.runtime.panicIndexU
mov eax, edi
mov ecx, esi
call sym.runtime.panicIndexU
mov eax, ebx
mov ecx, esi
call sym.runtime.panicIndexU
mov eax, ecx
mov ecx, edx
call sym.runtime.panicIndexU
mov eax, edi
call sym.runtime.panicIndexU
mov eax, ebp
call sym.runtime.panicIndexU
call sym.runtime.panicIndexU
mov eax, esi
call sym.runtime.panicIndexU
mov eax, ebp
call sym.runtime.panicIndexU
mov ecx, esi
call sym.runtime.panicIndexU
mov eax, edi
mov ecx, esi
call sym.runtime.panicIndexU
mov eax, edi
mov ecx, edx
call sym.runtime.panicIndexU
mov eax, ebp
call sym.runtime.panicIndexU
nop
call sym.runtime.morestack
jmp sym.regexp.makeOnePass.func1