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

Disassembly:
mov ecx, dword [0x5dbf38]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x34]
cmp eax, dword [ecx + 8]
jbe 0x433c43
sub esp, 0xb4
mov ebx, dword [edx + 4]
mov ebx, dword [ebx]
mov ecx, dword [ebx + 4]
mov ebp, dword [edx + 0x1c]
mov esi, dword [edx + 0x10]
mov dword [esp + 0x7c], esi
mov edi, dword [edx + 0x14]
mov eax, dword [edx + 0xc]
mov ebx, dword [ebx]
mov esi, dword [esp + 0xb8]
cmp esi, ecx
jae 0x433c3b
mov dword [esp + 0xb0], eax
mov dword [esp + 0x78], ebp
mov dword [esp + 0x4c], edi
mov ecx, dword [edx + 8]
lea edx, [esi + esi*8]
mov dword [esp + 0x5c], edx
mov edi, dword [ecx]
mov ebp, dword [ecx + 4]
cmp ebp, esi
jbe 0x43292d
mov eax, dword [edi + esi*4]
cmp dword [ecx + 0x18], eax
jbe 0x432924
mov edx, dword [ecx + 0x10]
cmp edx, eax
jbe 0x433c34
mov edx, dword [ecx + 0xc]
lea eax, [edx + eax*4]
cmp dword [eax], esi
je 0x432915
cmp ebp, esi
mov eax, dword [esp + 0xb0]
mov edx, dword [esp + 0x5c]
jmp 0x43292d
mov byte [esp + 0xc8], 1
add esp, 0xb4
ret
cmp ebp, esi
mov eax, dword [esp + 0xb0]
nop
jbe 0x432978
mov eax, dword [edi + esi*4]
cmp dword [ecx + 0x18], eax
jbe 0x43296f
mov dword [esp + 0xac], edi
mov edi, dword [ecx + 0x10]
cmp edi, eax
jbe 0x433c2d
mov edi, dword [ecx + 0xc]
lea edi, [edi + eax*4]
cmp dword [edi], esi
jne 0x43295d
mov eax, dword [esp + 0xb0]
jmp 0x432999
cmp ebp, esi
mov eax, dword [esp + 0xb0]
mov edi, dword [esp + 0xac]
jmp 0x432978
cmp ebp, esi
mov eax, dword [esp + 0xb0]
nop
jbe 0x432999
mov ebp, dword [ecx + 0x18]
mov dword [edi + esi*4], ebp
mov ebp, dword [ecx + 0x10]
mov edi, dword [ecx + 0x18]
cmp ebp, edi
jbe 0x433c24
mov ebp, dword [ecx + 0xc]
mov dword [ebp + edi*4], esi
inc dword [ecx + 0x18]
mov dword [esp + 0xa8], ebx
lea ebp, [ebx + edx*4]
mov dword [esp + 0xa4], ebp
movzx edi, byte [ebp]
xchg edi, eax
cmp al, 5
xchg edi, eax
ja 0x432ded
xchg edi, eax
cmp al, 2
xchg edi, eax
ja 0x432bdc
xchg edi, eax
cmp al, 1
xchg edi, eax
ja 0x432e03
mov ecx, dword [eax]
mov ebp, dword [ecx]
mov esi, dword [ebx + edx*4 + 4]
mov dword [esp], esi
mov esi, dword [esp + 0xbc]
mov dword [esp + 4], esi
mov edi, dword [esp + 0xc0]
mov dword [esp + 8], edi
mov esi, dword [esp + 0xc4]
mov dword [esp + 0xc], esi
mov edx, ecx
call ebp
movzx eax, byte [esp + 0x10]
test al, al
jne 0x432a0c
xor eax, eax
jmp 0x432a51
mov eax, dword [esp + 0xb0]
mov edx, dword [eax]
mov eax, dword [edx]
mov ecx, dword [esp + 0x5c]
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 ebp, dword [esp + 0xc0]
mov dword [esp + 8], ebp
mov esi, dword [esp + 0xc4]
mov dword [esp + 0xc], esi
call eax
movzx eax, byte [esp + 0x10]
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0xa8]
mov ebp, dword [ebx + edx*4 + 4]
mov ecx, dword [esp + 0xc0]
cmp ecx, ebp
jbe 0x433c1d
mov byte [esp + 0x2b], al
mov esi, dword [ebx + edx*4 + 8]
mov edi, dword [esp + 0xbc]
movzx eax, byte [ebp + edi]
cmp ecx, esi
jbe 0x433c16
movzx edi, byte [esi + edi]
test al, al
je 0x432aa0
xchg edi, eax
test al, al
xchg edi, eax
je 0x432ab0
xor eax, eax
jmp 0x433792
xchg edi, eax
test al, al
xchg edi, eax
je 0x432ab0
mov dword [ebx + edx*4 + 4], esi
mov dword [ebx + edx*4 + 8], ebp
mov eax, edi
test al, al
je 0x432adc
mov eax, dword [esp + 0xb8]
cmp ecx, eax
jbe 0x433c11
mov ebp, dword [esp + 0xbc]
mov byte [ebp + eax], 1
mov ebp, dword [esp + 0xa4]
mov byte [ebp], 1
jmp 0x432ae3
mov eax, dword [esp + 0xb8]
mov ebp, dword [ebx + edx*4 + 4]
mov ecx, dword [esp + 0x4c]
cmp ebp, ecx
jae 0x433c0a
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 0x433c03
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 + 0x1c]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0x4c]
cmp edx, ebx
jae 0x433bfa
mov dword [esp + 0xac], eax
lea edx, [edx + edx*2]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x7c]
mov dword [eax + edx*4 + 4], ebx
mov dword [eax + edx*4 + 8], ebp
mov ebx, dword [0x5dc100]
test ebx, ebx
je 0x432b80
mov ebx, edi
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebx
mov ebp, dword [eax + edx*4]
mov dword [edi + 4], ebp
mov edi, ebx
mov dword [eax + edx*4], edi
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0xa8]
mov dword [edx + eax*4 + 0x1c], esi
mov dword [edx + eax*4 + 0x20], ecx
mov ecx, dword [0x5dc100]
test ecx, ecx
jne 0x432ba9
mov ecx, dword [esp + 0xac]
jmp 0x432bbe
call sym.runtime.gcWriteBarrier2
mov ecx, dword [esp + 0xac]
mov dword [edi], ecx
mov ebx, dword [edx + eax*4 + 0x18]
mov dword [edi + 4], ebx
mov dword [edx + eax*4 + 0x18], ecx
test esi, esi
je 0x432bd2
cmp dword [ecx], 0xffffffff
jne 0x432bd2
xor eax, eax
jmp 0x433792
movzx eax, byte [esp + 0x2b]
jmp 0x433792
xchg edi, eax
cmp al, 3
xchg edi, eax
jne 0x432dc2
mov eax, dword [eax]
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 ebp, dword [esp + 0xc0]
mov dword [esp + 8], ebp
mov esi, dword [esp + 0xc4]
mov dword [esp + 0xc], esi
mov edx, eax
call ecx
mov eax, dword [esp + 0x5c]
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 0x433bf1
mov edx, dword [esp + 0xbc]
movzx ebx, byte [ebx + edx]
mov edi, dword [esp + 0xb8]
cmp esi, edi
jbe 0x433be8
mov byte [edx + edi], bl
mov edx, dword [ecx + eax*4 + 4]
mov ebx, dword [esp + 0x4c]
cmp edx, ebx
jae 0x433bdf
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 0x432c9e
mov dword [esp + 0x68], eax
lea eax, [0x5dbe00]
mov dword [esp + 0x9c], eax
xor eax, eax
mov dword [esp + 0x58], eax
xor eax, eax
mov dword [esp + 0x54], eax
jmp 0x432cf7
mov dword [esp + 0x58], ebp
mov dword [esp + 0xa0], edx
lea eax, [0x5dbe00]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], 0
mov dword [esp + 0xc], ebp
lea eax, [0x491ac0]
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 + 0x58]
mov dword [esp + 0x9c], eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x54], 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 0x433bda
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x7c]
mov dword [edx + eax*4 + 4], ecx
mov ebx, dword [esp + 0x54]
mov dword [edx + eax*4 + 8], ebx
mov ebx, dword [0x5dc100]
test ebx, ebx
jne 0x432d4e
mov ebx, dword [esp + 0x9c]
jmp 0x432d62
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, [0x491bc0]
mov dword [esp], eax
shr ecx, 1
lea eax, [ecx + 1]
mov dword [esp + 0x58], eax
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0xa8]
mov dword [ebx + ecx*4 + 0x1c], edx
mov dword [ebx + ecx*4 + 0x20], edx
mov ebp, dword [0x5dc100]
test ebp, ebp
je 0x432db7
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 0x433bb3
mov ecx, dword [esp + 0xc0]
cmp ecx, esi
jbe 0x433ba8
xchg edi, eax
cmp al, 4
xchg edi, eax
sete cl
mov edx, dword [esp + 0xbc]
mov byte [edx + esi], cl
mov eax, 1
jmp 0x433792
xchg edi, eax
cmp al, 7
xchg edi, eax
ja 0x433227
xchg edi, eax
cmp al, 6
xchg edi, eax
jne 0x432fde
mov eax, dword [eax]
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 ebp, dword [esp + 0xc0]
mov dword [esp + 8], ebp
mov esi, dword [esp + 0xc4]
mov dword [esp + 0xc], esi
mov edx, eax
call ecx
mov eax, dword [esp + 0x5c]
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 0x433b9f
mov edx, dword [esp + 0xbc]
movzx ebx, byte [ebx + edx]
mov edi, dword [esp + 0xb8]
cmp esi, edi
jbe 0x433b96
mov byte [edx + edi], bl
mov edx, dword [ecx + eax*4 + 4]
mov ebx, dword [esp + 0x4c]
cmp edx, ebx
jae 0x433b8d
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 0x432eba
mov dword [esp + 0x60], eax
lea eax, [0x5dbe00]
mov dword [esp + 0x94], eax
xor eax, eax
mov dword [esp + 0x58], eax
xor eax, eax
mov dword [esp + 0x54], eax
jmp 0x432f13
mov dword [esp + 0x58], ebp
mov dword [esp + 0x98], edx
lea eax, [0x5dbe00]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], 0
mov dword [esp + 0xc], ebp
lea eax, [0x491ac0]
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 + 0x58]
mov dword [esp + 0x94], eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x54], 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 0x433b88
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x7c]
mov dword [edx + eax*4 + 4], ecx
mov ebx, dword [esp + 0x54]
mov dword [edx + eax*4 + 8], ebx
mov ebx, dword [0x5dc100]
test ebx, ebx
jne 0x432f6a
mov ebx, dword [esp + 0x94]
jmp 0x432f7e
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, [0x491bc0]
mov dword [esp], eax
shr ecx, 1
lea eax, [ecx + 1]
mov dword [esp + 0x58], eax
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0xa8]
mov dword [ebx + ecx*4 + 0x1c], edx
mov dword [ebx + ecx*4 + 0x20], edx
mov ebp, dword [0x5dc100]
test ebp, ebp
je 0x432fd3
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 0x433b61
mov ecx, dword [esp + 0xc0]
cmp ecx, esi
jbe 0x433b56
mov edi, dword [esp + 0xbc]
mov byte [edi + esi], 0
mov edi, dword [ebx + edx*4 + 0x1c]
test edi, edi
jne 0x43321d
mov edi, dword [ebx + edx*4 + 4]
mov ebp, dword [esp + 0x78]
mov ecx, dword [ebp]
mov eax, dword [ebp + 4]
cmp eax, edi
jbe 0x43305e
mov esi, dword [ecx + edi*4]
cmp dword [ebp + 0x18], esi
jbe 0x433055
mov dword [esp + 0xac], ecx
mov ecx, dword [ebp + 0x10]
cmp ecx, esi
jbe 0x433b4f
mov ecx, dword [ebp + 0xc]
lea esi, [ecx + esi*4]
cmp dword [esi], edi
jne 0x433043
mov esi, dword [esp + 0xb8]
jmp 0x43307e
cmp eax, edi
mov ecx, dword [esp + 0xac]
mov esi, dword [esp + 0xb8]
jmp 0x43305e
cmp eax, edi
mov esi, dword [esp + 0xb8]
nop
jbe 0x43307e
mov eax, dword [ebp + 0x18]
mov dword [ecx + edi*4], eax
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x18]
cmp ecx, eax
jbe 0x433b4a
mov ecx, dword [ebp + 0xc]
mov dword [ecx + eax*4], edi
inc dword [ebp + 0x18]
mov ebp, dword [ebx + edx*4 + 0x10]
mov edi, dword [ebx + edx*4 + 0xc]
test ebp, ebp
je 0x433184
mov dword [esp + 0x90], edi
cmp ebp, 1
jne 0x433111
mov eax, dword [ebx + edx*4 + 8]
test ax, 1
je 0x433111
mov eax, dword [edi]
mov dword [esp + 0x48], eax
lea ecx, [0x5dbe00]
mov dword [esp], ecx
mov dword [esp + 4], 2
mov dword [esp + 8], 0
mov dword [esp + 0xc], 2
lea ecx, [0x491ac0]
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 0x433aba
mov dword [esp + 0x58], ebp
lea eax, [0x5dbe00]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], 0
mov dword [esp + 0xc], ebp
lea eax, [0x491ac0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x58]
shl eax, 2
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x74], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x30], edx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x38], ebx
mov dword [esp], ecx
mov ebp, dword [esp + 0x90]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call sym.runtime.memmove
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x38]
jmp 0x4339ba
mov ecx, dword [esp + 0x4c]
cmp esi, ecx
jae 0x4339b3
lea eax, [esi + esi*2]
mov ecx, dword [esp + 0x7c]
mov dword [ecx + eax*4 + 4], 0
mov dword [ecx + eax*4 + 8], 0
mov ebp, dword [0x5dc100]
test ebp, ebp
je 0x4331bb
mov ebp, dword [ecx + eax*4]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebp
lea edx, [0x5dbe00]
mov dword [ecx + eax*4], edx
lea eax, [0x490c40]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x5c]
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 [0x5dc100]
test ebx, ebx
je 0x43320f
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 0x433792
mov eax, 1
jmp 0x433792
xchg edi, eax
cmp al, 8
xchg edi, eax
jne 0x4333c5
mov ecx, dword [esp + 0xc0]
cmp ecx, esi
jbe 0x4339ac
mov edi, dword [esp + 0xbc]
mov byte [edi + esi], 0
mov edi, dword [ebx + edx*4 + 0x1c]
test edi, edi
jne 0x4333bb
mov edi, dword [ebx + edx*4 + 4]
mov ebp, dword [esp + 0x78]
mov ecx, dword [ebp]
mov eax, dword [ebp + 4]
cmp eax, edi
jbe 0x4332b2
mov esi, dword [ecx + edi*4]
cmp dword [ebp + 0x18], esi
jbe 0x4332a9
mov dword [esp + 0xac], ecx
mov ecx, dword [ebp + 0x10]
cmp ecx, esi
jbe 0x4339a5
mov ecx, dword [ebp + 0xc]
lea esi, [ecx + esi*4]
cmp dword [esi], edi
jne 0x433297
mov esi, dword [esp + 0xb8]
jmp 0x4332d2
cmp eax, edi
mov ecx, dword [esp + 0xac]
mov esi, dword [esp + 0xb8]
jmp 0x4332b2
cmp eax, edi
mov esi, dword [esp + 0xb8]
nop
jbe 0x4332d2
mov eax, dword [ebp + 0x18]
mov dword [ecx + edi*4], eax
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x18]
cmp eax, ecx
jae 0x4339a0
mov ecx, dword [ebp + 0xc]
mov dword [ecx + eax*4], edi
inc dword [ebp + 0x18]
mov ebp, dword [ebx + edx*4 + 8]
test bp, 1
je 0x43335a
mov ebp, dword [ebx + edx*4 + 0x10]
mov edi, dword [ebx + edx*4 + 0xc]
test ebp, ebp
jbe 0x433997
mov eax, dword [edi]
mov dword [esp + 0x44], eax
lea ecx, [0x5dbe00]
mov dword [esp], ecx
mov dword [esp + 4], 2
mov dword [esp + 8], 0
mov dword [esp + 0xc], 2
lea ecx, [0x491ac0]
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 0x433907
mov ebp, dword [ebx + edx*4 + 0x10]
mov edi, dword [ebx + edx*4 + 0xc]
test ebp, ebp
jbe 0x4338d2
mov eax, dword [edi]
mov dword [esp + 0x50], eax
lea ecx, [0x5dbe00]
mov dword [esp], ecx
mov dword [esp + 4], 2
mov dword [esp + 8], 0
mov dword [esp + 0xc], 2
lea ecx, [0x491ac0]
mov dword [esp + 0x10], ecx
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x50]
mov dword [eax], edx
mov dword [eax + 4], edx
mov edx, 2
jmp 0x4337fc
mov eax, 1
jmp 0x433792
xchg edi, eax
cmp al, 9
xchg edi, eax
je 0x4335c2
xchg edi, eax
cmp al, 0xa
xchg edi, eax
jne 0x4335b8
mov ecx, dword [esp + 0xc0]
cmp ecx, esi
jbe 0x4337f5
mov ebp, dword [esp + 0xbc]
mov byte [ebp + esi], 0
mov ebp, dword [ebx + edx*4 + 0x1c]
test ebp, ebp
jne 0x4335ae
mov ebp, dword [ebx + edx*4 + 4]
mov edi, dword [esp + 0x78]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
cmp ecx, ebp
jbe 0x433452
mov edx, dword [eax + ebp*4]
cmp dword [edi + 0x18], edx
jbe 0x43344c
mov ebx, dword [edi + 0x10]
cmp edx, ebx
jae 0x4337ec
mov ebx, dword [edi + 0xc]
lea edx, [ebx + edx*4]
cmp dword [edx], ebp
jne 0x43343d
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0xa8]
jmp 0x433472
cmp ecx, ebp
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0xa8]
jmp 0x433452
cmp ecx, ebp
mov edx, dword [esp + 0x5c]
nop
jbe 0x433472
mov ecx, dword [edi + 0x18]
mov dword [eax + ebp*4], ecx
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 0x18]
cmp eax, ecx
jae 0x4337e7
mov ecx, dword [edi + 0xc]
mov dword [ecx + eax*4], ebp
inc dword [edi + 0x18]
mov eax, dword [0x5b1684]
test eax, eax
ja 0x433488
lea ecx, [0x5dbe00]
xor ebp, ebp
xor edi, edi
jmp 0x4334ca
mov dword [esp + 0x58], eax
lea ecx, [0x5dbe00]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
lea ecx, [0x491ac0]
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 ebp, ecx
mov edi, edx
mov ecx, eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x58], edi
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x54], ebp
mov edx, dword [0x5b1684]
sub eax, edx
mov ebx, dword [0x5b1680]
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 0x4337e2
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x7c]
mov dword [edx + eax*4 + 4], ecx
mov ebx, dword [esp + 0x58]
mov dword [edx + eax*4 + 8], ebx
mov ebx, dword [0x5dc100]
test ebx, ebx
jne 0x43353a
mov ebx, dword [esp + 0x8c]
jmp 0x43354e
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, [0x491bc0]
mov dword [esp], eax
shr ecx, 1
lea eax, [ecx + 1]
mov dword [esp + 0x58], eax
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0xa8]
mov dword [ebx + ecx*4 + 0x1c], edx
mov dword [ebx + ecx*4 + 0x20], edx
mov ebp, dword [0x5dc100]
test ebp, ebp
je 0x4335a3
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 0x4337be
mov eax, 1
jmp 0x433792
mov eax, 1
jmp 0x433792
mov ecx, dword [esp + 0xc0]
cmp ecx, esi
jbe 0x4337b3
mov ebp, dword [esp + 0xbc]
mov byte [ebp + esi], 0
mov ebp, dword [ebx + edx*4 + 0x1c]
test ebp, ebp
je 0x4335ef
mov eax, 1
jmp 0x433792
mov ebp, dword [ebx + edx*4 + 4]
mov edi, dword [esp + 0x78]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
cmp ecx, ebp
jbe 0x43363f
mov edx, dword [eax + ebp*4]
cmp dword [edi + 0x18], edx
jbe 0x433639
mov ebx, dword [edi + 0x10]
cmp edx, ebx
jae 0x4337aa
mov ebx, dword [edi + 0xc]
lea edx, [ebx + edx*4]
cmp dword [edx], ebp
jne 0x43362a
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0xa8]
jmp 0x43365f
cmp ecx, ebp
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0xa8]
jmp 0x43363f
cmp ecx, ebp
mov edx, dword [esp + 0x5c]
nop
jbe 0x43365f
mov ecx, dword [edi + 0x18]
mov dword [eax + ebp*4], ecx
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 0x18]
cmp eax, ecx
jae 0x4337a5
mov ecx, dword [edi + 0xc]
mov dword [ecx + eax*4], ebp
inc dword [edi + 0x18]
mov eax, dword [0x5b1694]
test eax, eax
ja 0x433675
lea ecx, [0x5dbe00]
xor ebp, ebp
xor edi, edi
jmp 0x4336b7
mov dword [esp + 0x58], eax
lea ecx, [0x5dbe00]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
lea ecx, [0x491ac0]
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 ebp, edx
mov edi, ecx
mov ecx, eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x58], ebp
mov dword [esp + 0x54], edi
mov dword [esp + 0x88], ecx
mov edx, dword [0x5b1694]
sub eax, edx
mov ebx, dword [0x5b1690]
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 0x4337a0
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x7c]
mov dword [edx + eax*4 + 4], ecx
mov ecx, dword [esp + 0x58]
mov dword [edx + eax*4 + 8], ecx
mov ecx, dword [0x5dc100]
test ecx, ecx
jne 0x433727
mov ecx, dword [esp + 0x88]
jmp 0x43373b
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, [0x490c40]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x5c]
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 [0x5dc100]
test ebx, ebx
je 0x433789
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, esi
call sym.runtime.panicIndexU
mov dword [esi + eax*4], edi
inc eax
cmp eax, edx
jge 0x4337d4
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 0x4337ba
jmp 0x4337db
mov eax, 1
jmp 0x433792
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, esi
call sym.runtime.panicIndexU
mov ebx, dword [esp + 0xb8]
mov ebp, dword [esp + 0x4c]
cmp ebx, ebp
jae 0x4338c9
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 [0x5dc100]
test ecx, ecx
je 0x433836
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, [0x491bc0]
mov dword [esp], eax
shr edx, 1
lea eax, [edx + 1]
mov dword [esp + 0x58], eax
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0xa8]
mov dword [ebx + ecx*4 + 0x1c], edx
mov dword [ebx + ecx*4 + 0x20], edx
mov ebp, dword [0x5dc100]
test ebp, ebp
je 0x43388c
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 0x433898
mov dword [esi + eax*4], edi
inc eax
cmp eax, edx
jge 0x4338ae
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 0x433894
jmp 0x4338c2
mov ecx, dword [esp + 0xa4]
mov byte [ecx], 7
mov eax, 1
jmp 0x433792
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 0x43394e
add ebx, 2
cmp ecx, ebx
jae 0x4338db
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, [0x491ac0]
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 0x4338db
mov dword [esp + 0x58], 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, [0x4e5bfc]
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 + 0x58]
jmp 0x4337fc
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
call sym.runtime.panicIndexU
mov eax, esi
call sym.runtime.panicIndexU
mov eax, esi
call sym.runtime.panicIndexU
mov eax, esi
call sym.runtime.panicIndexU
mov ebx, dword [esp + 0xb8]
mov ebp, dword [esp + 0x4c]
cmp ebx, ebp
jae 0x433a85
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 [0x5dc100]
test edx, edx
je 0x4339f4
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, [0x491bc0]
mov dword [esp], ecx
shr eax, 1
inc eax
mov dword [esp + 0x58], eax
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0xa8]
mov dword [ebx + ecx*4 + 0x1c], edx
mov dword [ebx + ecx*4 + 0x20], edx
mov ebp, dword [0x5dc100]
test ebp, ebp
je 0x433a48
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 0x433a54
mov dword [esi + eax*4], edi
inc eax
cmp eax, edx
jge 0x433a6a
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 0x433a50
jmp 0x433a7e
mov ecx, dword [esp + 0xa4]
mov byte [ecx], 7
mov eax, 1
jmp 0x433792
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 0x433b01
add ebx, 2
cmp ecx, ebx
jae 0x433a8e
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, [0x491ac0]
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 0x433a8e
mov dword [esp + 0x80], edx
mov dword [esp + 0x58], ecx
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, [0x4e5bfc]
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 + 0x58]
jmp 0x4339ba
call sym.runtime.panicIndexU
mov eax, esi
call sym.runtime.panicIndexU
mov eax, esi
call sym.runtime.panicIndexU
mov dword [esi + eax*4], edi
inc eax
cmp eax, edx
jge 0x433b77
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 0x433b5d
jmp 0x433b81
movzx eax, byte [esp + 0x2b]
jmp 0x433792
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, esi
call sym.runtime.panicIndexU
mov dword [esi + eax*4], edi
inc eax
cmp eax, edx
jge 0x433bc9
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 0x433baf
jmp 0x433bd3
movzx eax, byte [esp + 0x2b]
jmp 0x433792
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, edx
mov ecx, ebx
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 eax, edi
mov ecx, ebp
call sym.runtime.panicIndexU
mov ecx, edi
call sym.runtime.panicIndexU
mov ecx, edx
call sym.runtime.panicIndexU
mov eax, esi
call sym.runtime.panicIndexU
nop
call sym.runtime.morestack
jmp sym.regexp.makeOnePass.func1