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

Disassembly:
mov ecx, dword [0x5dbf38]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 4]
cmp eax, dword [ecx + 8]
jbe 0x42d420
sub esp, 0x84
mov edx, dword [esp + 0x88]
test edx, edx
je 0x42cbf1
movzx ebx, byte [edx]
cmp bl, 0x10
ja 0x42c946
cmp bl, 0xd
je 0x42cbcc
cmp bl, 0xe
jb 0x42cbe3
mov ebx, dword [edx + 8]
test ebx, ebx
jbe 0x42d416
mov eax, dword [edx + 4]
mov eax, dword [eax]
mov dword [esp], eax
call sym.regexp_syntax._Regexp_.Simplify
mov eax, dword [esp + 4]
movzx ecx, byte [eax]
cmp cl, 2
jne 0x42c886
mov edx, eax
jmp 0x42c938
mov edx, dword [esp + 0x88]
movzx ebx, byte [edx]
movzx ebp, word [edx + 2]
cmp cl, bl
jne 0x42c8b0
mov esi, ebp
and ebp, 0x20
movzx edi, word [eax + 2]
and edi, 0x20
cmp di, bp
jne 0x42c8b2
mov edx, eax
jmp 0x42c938
mov esi, ebp
mov ebp, dword [edx + 8]
test ebp, ebp
jbe 0x42d40d
mov ecx, dword [edx + 4]
cmp dword [ecx], eax
je 0x42c938
mov dword [esp + 0x58], eax
mov byte [esp + 0x23], bl
mov word [esp + 0x2e], si
lea eax, [0x4a8d00]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
movzx ecx, byte [esp + 0x23]
mov byte [eax], cl
movzx ecx, word [esp + 0x2e]
mov word [eax + 2], cx
mov ecx, dword [0x5dc100]
test ecx, ecx
jne 0x42c903
mov ecx, dword [esp + 0x58]
jmp 0x42c90e
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x58]
mov dword [edi], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 8], 1
mov dword [eax + 0xc], 1
mov ecx, dword [0x5dc100]
lea edx, [eax + 0x10]
test ecx, ecx
je 0x42c933
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov dword [eax + 4], edx
mov edx, eax
mov dword [esp + 0x8c], edx
add esp, 0x84
ret
cmp bl, 0x11
jne 0x42cbc7
mov ebx, dword [edx + 0x28]
test ebx, ebx
jne 0x42c980
mov ebx, dword [edx + 0x2c]
test ebx, ebx
jne 0x42c980
lea eax, [0x4a8d00]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov byte [eax], 2
mov dword [esp + 0x8c], eax
add esp, 0x84
ret
mov ebx, dword [edx + 8]
test ebx, ebx
jbe 0x42d404
mov eax, dword [edx + 4]
mov eax, dword [eax]
mov dword [esp], eax
call sym.regexp_syntax._Regexp_.Simplify
mov eax, dword [esp + 0x88]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 4]
mov dword [esp + 0x54], edx
cmp ecx, 0xffffffff
jne 0x42cb51
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x42cab2
cmp ecx, 1
je 0x42ca13
lea eax, [0x4a8d00]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov byte [eax], 0x12
mov dword [eax + 8], 0
mov dword [eax + 0xc], 1
mov ecx, dword [0x5dc100]
lea edx, [eax + 0x10]
test ecx, ecx
je 0x42c9fa
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov dword [esp + 0x6c], eax
mov dword [eax + 4], edx
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x88]
xor ebx, ebx
jmp 0x42d22e
movzx ecx, byte [edx]
cmp cl, 2
jne 0x42ca22
mov eax, edx
jmp 0x42caa4
movzx eax, word [eax + 2]
mov word [esp + 0x2a], ax
cmp cl, 0xf
jne 0x42ca43
and eax, 0x20
movzx ebx, word [edx + 2]
and ebx, 0x20
cmp bx, ax
jne 0x42ca43
mov eax, edx
jmp 0x42caa4
lea eax, [0x4a8d00]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov byte [eax], 0xf
movzx ecx, word [esp + 0x2a]
mov word [eax + 2], cx
mov ecx, dword [0x5dc100]
test ecx, ecx
jne 0x42ca71
mov ecx, dword [esp + 0x54]
jmp 0x42ca7c
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x54]
mov dword [edi], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 8], 1
mov dword [eax + 0xc], 1
mov ecx, dword [0x5dc100]
lea edx, [eax + 0x10]
test ecx, ecx
je 0x42caa1
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov dword [eax + 4], edx
mov dword [esp + 0x8c], eax
add esp, 0x84
ret
movzx ecx, byte [edx]
cmp cl, 2
jne 0x42cac1
mov eax, edx
jmp 0x42cb43
movzx eax, word [eax + 2]
mov word [esp + 0x2c], ax
cmp cl, 0xe
jne 0x42cae2
and eax, 0x20
movzx ebx, word [edx + 2]
and ebx, 0x20
cmp bx, ax
jne 0x42cae2
mov eax, edx
jmp 0x42cb43
lea eax, [0x4a8d00]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov byte [eax], 0xe
movzx ecx, word [esp + 0x2c]
mov word [eax + 2], cx
mov ecx, dword [0x5dc100]
test ecx, ecx
jne 0x42cb10
mov ecx, dword [esp + 0x54]
jmp 0x42cb1b
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x54]
mov dword [edi], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 8], 1
mov dword [eax + 0xc], 1
mov ecx, dword [0x5dc100]
lea edx, [eax + 0x10]
test ecx, ecx
je 0x42cb40
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov dword [eax + 4], edx
mov dword [esp + 0x8c], eax
add esp, 0x84
ret
mov ebx, dword [eax + 0x28]
cmp ebx, 1
jne 0x42cb6c
cmp ecx, 1
jne 0x42cb6c
mov dword [esp + 0x8c], edx
add esp, 0x84
ret
test ebx, ebx
jg 0x42cb77
xor ecx, ecx
jmp 0x42cf1c
lea eax, [0x4a8d00]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov byte [eax], 0x12
mov dword [eax + 8], 0
mov dword [eax + 0xc], 1
mov ecx, dword [0x5dc100]
lea edx, [eax + 0x10]
test ecx, ecx
je 0x42cbae
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov dword [esp + 0x60], eax
mov dword [eax + 4], edx
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x88]
xor ebx, ebx
jmp 0x42ce69
cmp bl, 0x13
ja 0x42cbe3
mov eax, dword [edx + 4]
mov dword [esp + 0x80], eax
mov ecx, dword [edx + 8]
mov dword [esp + 0x48], ecx
mov ebx, edx
xor ebp, ebp
jmp 0x42cc1c
mov dword [esp + 0x8c], edx
add esp, 0x84
ret
mov dword [esp + 0x8c], 0
add esp, 0x84
ret
mov esi, dword [esp + 0x3c]
lea ebp, [esi + 1]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x88]
cmp ebp, ecx
jge 0x42ce51
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x70], edx
mov ecx, dword [eax + ebp*4]
mov dword [esp + 0x5c], ecx
mov dword [esp], ecx
call sym.regexp_syntax._Regexp_.Simplify
mov eax, dword [esp + 4]
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x70]
cmp ecx, edx
jne 0x42cdb3
mov ebx, dword [esp + 0x5c]
cmp eax, ebx
je 0x42cdb3
lea eax, [0x4a8d00]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [0x5dc100]
mov edi, dword [esp + 4]
mov dword [esp + 0x70], edi
test eax, eax
je 0x42cca3
lea eax, [0x4a8d00]
mov dword [esp], eax
mov dword [esp + 4], edi
mov eax, dword [esp + 0x88]
mov dword [esp + 8], eax
call sym.runtime.wbMove
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0x88]
call fcn.003c76ba
mov eax, dword [esp + 0x70]
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov ecx, dword [0x5dc100]
test ecx, ecx
je 0x42ccd5
mov ebx, dword [eax + 0x14]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebx
mov dword [eax + 0x14], 0
mov ebx, dword [esp + 0x88]
mov edx, dword [ebx + 0xc]
mov ebp, dword [ebx + 4]
mov ecx, dword [esp + 0x3c]
cmp ecx, edx
ja 0x42ce5f
lea edx, [eax + 0x10]
cmp ecx, 1
ja 0x42cd06
mov esi, ecx
mov edi, 1
jmp 0x42cd44
mov dword [esp + 0x7c], ebp
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov dword [esp + 0xc], ecx
lea eax, [0x4a69e0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x3c]
mov ecx, ebp
mov edi, eax
mov ebp, dword [esp + 0x7c]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x78], edx
mov dword [esp + 0x40], edi
lea eax, [0x4a69e0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call sym.runtime.typedslicecopy
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x70]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x40]
mov dword [ecx + 0xc], eax
mov eax, dword [0x5dc100]
test eax, eax
jne 0x42cd90
mov eax, dword [esp + 0x78]
jmp 0x42cda1
call sym.runtime.gcWriteBarrier2
mov eax, dword [esp + 0x78]
mov dword [edi], eax
mov edx, dword [ecx + 4]
mov dword [edi + 4], edx
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x70]
cmp ecx, edx
je 0x42cc03
mov ebx, dword [edx + 0xc]
mov ebp, dword [edx + 8]
inc ebp
mov esi, dword [edx + 4]
cmp ebx, ebp
jae 0x42ce2d
mov dword [esp + 0x74], edx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x4a69e0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x74]
mov dword [ebx + 0xc], eax
mov eax, dword [0x5dc100]
test eax, eax
je 0x42ce19
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 4]
mov dword [edi + 4], eax
mov dword [ebx + 4], ecx
mov eax, dword [esp + 0x64]
mov ebp, edx
mov esi, ecx
mov ecx, dword [esp + 0x88]
mov edx, ebx
mov dword [edx + 8], ebp
mov ebx, dword [0x5dc100]
test ebx, ebx
je 0x42ce48
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebx, dword [esi + ebp*4 - 4]
mov dword [edi + 4], ebx
mov dword [esi + ebp*4 - 4], eax
jmp 0x42cc03
mov dword [esp + 0x8c], edx
add esp, 0x84
ret
call sym.runtime.panicSliceAcap
mov dword [edi + esi*4 - 4], ecx
inc ebx
cmp dword [edx + 0x28], ebx
jle 0x42cf14
mov ebp, dword [eax + 0xc]
mov esi, dword [eax + 8]
inc esi
mov edi, dword [eax + 4]
cmp ebp, esi
jae 0x42cee8
mov dword [esp + 0x34], ebx
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x4a69e0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x60]
mov dword [ebx + 0xc], eax
mov eax, dword [0x5dc100]
test eax, eax
je 0x42ced0
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 4]
mov dword [edi + 4], eax
mov dword [ebx + 4], ecx
mov eax, ebx
mov ebx, dword [esp + 0x34]
mov esi, edx
mov edi, ecx
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x88]
mov dword [eax + 8], esi
mov ebp, dword [0x5dc100]
test ebp, ebp
je 0x42ce64
mov ebp, edi
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebp + esi*4 - 4]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x60]
mov edi, ebp
jmp 0x42ce64
mov eax, edx
mov edx, ecx
mov ecx, dword [esp + 0x60]
mov ebx, dword [eax + 0x2c]
cmp dword [eax + 0x28], ebx
jge 0x42cfd4
mov dword [esp + 0x60], ecx
movzx ebx, byte [edx]
cmp bl, 2
jne 0x42cf3b
mov ebx, edx
jmp 0x42cfce
movzx ebp, word [eax + 2]
mov word [esp + 0x26], bp
cmp bl, 0x10
jne 0x42cf5c
and ebp, 0x20
movzx esi, word [edx + 2]
and esi, 0x20
cmp si, bp
jne 0x42cf5c
mov ebx, edx
jmp 0x42cfce
lea eax, [0x4a8d00]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov byte [eax], 0x10
movzx ecx, word [esp + 0x26]
mov word [eax + 2], cx
mov ecx, dword [0x5dc100]
test ecx, ecx
jne 0x42cf8a
mov ecx, dword [esp + 0x54]
jmp 0x42cf95
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x54]
mov dword [edi], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 8], 1
mov dword [eax + 0xc], 1
mov edx, dword [0x5dc100]
lea ebx, [eax + 0x10]
test edx, edx
je 0x42cfba
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebx
mov dword [eax + 4], ebx
mov ecx, dword [esp + 0x60]
mov ebx, dword [esp + 0x54]
mov edx, eax
mov eax, dword [esp + 0x88]
mov ebp, dword [eax + 0x28]
inc ebp
jmp 0x42d01c
test ecx, ecx
je 0x42cfe6
mov dword [esp + 0x8c], ecx
add esp, 0x84
ret
lea eax, [0x4a8d00]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov byte [eax], 1
mov dword [esp + 0x8c], eax
add esp, 0x84
ret
mov esi, dword [esp + 0x30]
lea ebp, [esi + 1]
mov eax, edx
mov ecx, dword [esp + 0x60]
mov edx, ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x50], edx
cmp dword [eax + 0x2c], ebp
jle 0x42d188
mov dword [esp + 0x30], ebp
lea eax, [0x4a8d00]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x68], eax
mov byte [eax], 0x12
lea ecx, [eax + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], 2
mov dword [esp + 8], 1
mov dword [esp + 0xc], 2
lea ecx, [0x4a69e0]
mov dword [esp + 0x10], ecx
call sym.runtime.growslice
mov eax, dword [0x5dc100]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
test eax, eax
jne 0x42d08f
mov eax, dword [esp + 0x54]
mov ebx, dword [esp + 0x50]
jmp 0x42d0ac
call sym.runtime.gcWriteBarrier4
mov eax, dword [esp + 0x54]
mov dword [edi], eax
mov ebx, dword [ecx]
mov dword [edi + 4], ebx
mov ebx, dword [esp + 0x50]
mov dword [edi + 8], ebx
mov ebp, dword [ecx + 4]
mov dword [edi + 0xc], ebp
mov dword [ecx], eax
mov dword [ecx + 4], ebx
mov ebx, dword [esp + 0x68]
mov dword [ebx + 8], 2
mov dword [ebx + 0xc], edx
mov edx, dword [0x5dc100]
test edx, edx
je 0x42d0d6
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov edx, dword [ebx + 4]
mov dword [edi + 4], edx
mov dword [ebx + 4], ecx
movzx ecx, byte [ebx]
cmp cl, 2
jne 0x42d0ed
mov edx, dword [esp + 0x88]
jmp 0x42d009
mov edx, dword [esp + 0x88]
movzx ebp, word [edx + 2]
mov word [esp + 0x24], bp
cmp cl, 0x10
jne 0x42d115
and ebp, 0x20
movzx esi, word [ebx + 2]
and esi, 0x20
cmp si, bp
je 0x42d009
lea eax, [0x4a8d00]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov byte [eax], 0x10
movzx ecx, word [esp + 0x24]
mov word [eax + 2], cx
mov ecx, dword [0x5dc100]
test ecx, ecx
jne 0x42d143
mov ecx, dword [esp + 0x68]
jmp 0x42d14e
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x68]
mov dword [edi], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 8], 1
mov dword [eax + 0xc], 1
mov ecx, dword [0x5dc100]
lea edx, [eax + 0x10]
test ecx, ecx
je 0x42d173
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov dword [eax + 4], edx
mov edx, dword [esp + 0x88]
mov ebx, eax
mov eax, dword [esp + 0x54]
jmp 0x42d009
test ecx, ecx
je 0x42d21b
mov eax, dword [ecx + 0xc]
mov ebx, dword [ecx + 8]
inc ebx
mov ebp, dword [ecx + 4]
cmp eax, ebx
jae 0x42d1f7
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x4a69e0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x60]
mov dword [ebx + 0xc], eax
mov eax, dword [0x5dc100]
test eax, eax
je 0x42d1ea
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 4]
mov dword [edi + 4], eax
mov dword [ebx + 4], ecx
mov ebp, ecx
mov ecx, ebx
mov ebx, edx
mov edx, dword [esp + 0x50]
mov dword [ecx + 8], ebx
mov eax, dword [0x5dc100]
test eax, eax
je 0x42d212
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov eax, dword [ebp + ebx*4 - 4]
mov dword [edi + 4], eax
mov dword [ebp + ebx*4 - 4], edx
jmp 0x42cfd4
mov dword [esp + 0x8c], edx
add esp, 0x84
ret
mov dword [edi + esi*4 - 4], ecx
inc ebx
mov ebp, dword [edx + 0x28]
dec ebp
cmp ebx, ebp
jge 0x42d2dc
mov ebp, dword [eax + 0xc]
mov esi, dword [eax + 8]
inc esi
mov edi, dword [eax + 4]
cmp ebp, esi
jae 0x42d2b0
mov dword [esp + 0x38], ebx
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x4a69e0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x6c]
mov dword [ebx + 0xc], eax
mov eax, dword [0x5dc100]
test eax, eax
je 0x42d298
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 4]
mov dword [edi + 4], eax
mov dword [ebx + 4], ecx
mov eax, ebx
mov ebx, dword [esp + 0x38]
mov esi, edx
mov edi, ecx
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x88]
mov dword [eax + 8], esi
mov ebp, dword [0x5dc100]
test ebp, ebp
je 0x42d229
mov ebp, edi
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebp + esi*4 - 4]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x6c]
mov edi, ebp
jmp 0x42d229
movzx ebx, byte [ecx]
cmp bl, 2
je 0x42d36c
movzx edx, word [edx + 2]
mov word [esp + 0x28], dx
cmp bl, 0xf
jne 0x42d305
and edx, 0x20
movzx ebp, word [ecx + 2]
and ebp, 0x20
cmp bp, dx
je 0x42d36c
lea eax, [0x4a8d00]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov byte [eax], 0xf
movzx ecx, word [esp + 0x28]
mov word [eax + 2], cx
mov ecx, dword [0x5dc100]
test ecx, ecx
jne 0x42d333
mov ecx, dword [esp + 0x54]
jmp 0x42d33e
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x54]
mov dword [edi], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 8], 1
mov dword [eax + 0xc], 1
mov ecx, dword [0x5dc100]
lea edx, [eax + 0x10]
test ecx, ecx
je 0x42d363
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov dword [eax + 4], edx
mov ecx, eax
mov eax, dword [esp + 0x6c]
mov edx, dword [eax + 0xc]
mov ebx, dword [eax + 8]
inc ebx
mov ebp, dword [eax + 4]
cmp edx, ebx
jae 0x42d3d7
mov dword [esp + 0x4c], ecx
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x4a69e0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x6c]
mov dword [ebx + 0xc], eax
mov eax, dword [0x5dc100]
test eax, eax
je 0x42d3ca
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 4]
mov dword [edi + 4], eax
mov dword [ebx + 4], ecx
mov eax, ebx
mov ebx, edx
mov ebp, ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 8], ebx
mov edx, dword [0x5dc100]
test edx, edx
je 0x42d3f2
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov edx, dword [ebp + ebx*4 - 4]
mov dword [edi + 4], edx
mov dword [ebp + ebx*4 - 4], ecx
mov dword [esp + 0x8c], eax
add esp, 0x84
ret
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
nop
call sym.runtime.morestack_noctxt
jmp sym.regexp_syntax._Regexp_.Simplify