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

Disassembly:
mov ecx, dword [0x7762b4]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 4]
cmp eax, dword [ecx + 8]
jbe 0x56fd2e
sub esp, 0x84
mov edx, dword [esp + 0x88]
test edx, edx
je 0x56f53e
movzx ebx, byte [edx]
cmp bl, 0x10
ja 0x56f2b5
cmp bl, 0xd
je 0x56f519
cmp bl, 0xe
jb 0x56f530
mov ebx, dword [edx + 8]
test ebx, ebx
jbe 0x56fd24
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 0x56f206
mov edx, eax
jmp 0x56f2a7
mov edx, dword [esp + 0x88]
movzx ebx, byte [edx]
movzx ebp, word [edx + 2]
cmp cl, bl
jne 0x56f22d
mov esi, ebp
and ebp, 0x20
movzx edi, word [eax + 2]
and edi, 0x20
cmp di, bp
jne 0x56f22f
mov edx, eax
jmp 0x56f2a7
mov esi, ebp
mov ebp, dword [edx + 8]
test ebp, ebp
jbe 0x56fd1b
mov ecx, dword [edx + 4]
cmp dword [ecx], eax
je 0x56f2a7
mov dword [esp + 0x58], eax
mov byte [esp + 0x23], bl
mov word [esp + 0x2e], si
lea eax, [0x5e15a0]
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 [0x776370]
lea edx, [eax + 0x10]
test ecx, ecx
jne 0x56f283
mov ecx, dword [esp + 0x58]
jmp 0x56f291
call sym.runtime.gcWriteBarrier2
mov ecx, dword [esp + 0x58]
mov dword [edi], ecx
mov dword [edi + 4], edx
mov dword [eax + 0x10], ecx
mov dword [eax + 8], 1
mov dword [eax + 0xc], 1
mov dword [eax + 4], edx
mov edx, eax
mov dword [esp + 0x8c], edx
add esp, 0x84
ret
cmp bl, 0x11
jne 0x56f514
mov ebx, dword [edx + 0x28]
test ebx, ebx
jne 0x56f2ef
mov ebx, dword [edx + 0x2c]
test ebx, ebx
jne 0x56f2ef
lea eax, [0x5e15a0]
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 0x56fd12
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 0x56f49e
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x56f410
cmp ecx, 1
je 0x56f382
lea eax, [0x5e15a0]
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 [0x776370]
lea edx, [eax + 0x10]
test ecx, ecx
je 0x56f369
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 0x56fb4e
movzx ecx, byte [edx]
cmp cl, 2
jne 0x56f38e
mov eax, edx
jmp 0x56f402
movzx eax, word [eax + 2]
mov word [esp + 0x2a], ax
cmp cl, 0xf
jne 0x56f3af
and eax, 0x20
movzx ebx, word [edx + 2]
and ebx, 0x20
cmp bx, ax
jne 0x56f3af
mov eax, edx
jmp 0x56f402
lea eax, [0x5e15a0]
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 [0x776370]
lea edx, [eax + 0x10]
test ecx, ecx
jne 0x56f3e0
mov ecx, dword [esp + 0x54]
jmp 0x56f3ee
call sym.runtime.gcWriteBarrier2
mov ecx, dword [esp + 0x54]
mov dword [edi], ecx
mov dword [edi + 4], edx
mov dword [eax + 0x10], ecx
mov dword [eax + 8], 1
mov dword [eax + 0xc], 1
mov dword [eax + 4], edx
mov dword [esp + 0x8c], eax
add esp, 0x84
ret
movzx ecx, byte [edx]
cmp cl, 2
jne 0x56f41c
mov eax, edx
jmp 0x56f490
movzx eax, word [eax + 2]
mov word [esp + 0x2c], ax
cmp cl, 0xe
jne 0x56f43d
and eax, 0x20
movzx ebx, word [edx + 2]
and ebx, 0x20
cmp bx, ax
jne 0x56f43d
mov eax, edx
jmp 0x56f490
lea eax, [0x5e15a0]
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 [0x776370]
lea edx, [eax + 0x10]
test ecx, ecx
jne 0x56f46e
mov ecx, dword [esp + 0x54]
jmp 0x56f47c
call sym.runtime.gcWriteBarrier2
mov ecx, dword [esp + 0x54]
mov dword [edi], ecx
mov dword [edi + 4], edx
mov dword [eax + 0x10], ecx
mov dword [eax + 8], 1
mov dword [eax + 0xc], 1
mov dword [eax + 4], edx
mov dword [esp + 0x8c], eax
add esp, 0x84
ret
mov ebx, dword [eax + 0x28]
cmp ebx, 1
jne 0x56f4b9
cmp ecx, 1
jne 0x56f4b9
mov dword [esp + 0x8c], edx
add esp, 0x84
ret
test ebx, ebx
jg 0x56f4c4
xor ecx, ecx
jmp 0x56f861
lea eax, [0x5e15a0]
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 [0x776370]
lea edx, [eax + 0x10]
test ecx, ecx
je 0x56f4fb
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 0x56f7ae
cmp bl, 0x13
ja 0x56f530
mov eax, dword [edx + 8]
mov dword [esp + 0x48], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x80], ecx
mov ebx, edx
xor ebp, ebp
jmp 0x56f569
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 + 0x48]
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x88]
cmp ebp, eax
jge 0x56f794
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x70], edx
mov eax, dword [ecx + ebp*4]
mov dword [esp + 0x5c], eax
mov dword [esp], eax
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 0x56f6f6
mov ebx, dword [esp + 0x5c]
cmp eax, ebx
je 0x56f6f6
lea eax, [0x5e15a0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [0x776370]
mov edi, dword [esp + 4]
mov dword [esp + 0x70], edi
test eax, eax
je 0x56f5fc
mov eax, dword [edi + 0x14]
mov ecx, edi
call sym.runtime.gcWriteBarrier1
mov dword [edi], eax
lea eax, [0x5e15a0]
mov dword [esp], eax
mov dword [esp + 4], ecx
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.0046b0da
mov eax, dword [esp + 0x70]
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x14], 0
mov ecx, dword [esp + 0x88]
mov edx, dword [ecx + 0xc]
mov ebx, dword [ecx + 4]
mov ebp, dword [esp + 0x3c]
cmp ebp, edx
ja 0x56f7a2
lea edx, [eax + 0x10]
cmp ebp, 1
ja 0x56f64b
mov esi, ebp
mov edi, 1
jmp 0x56f687
mov dword [esp + 0x7c], ebx
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], 1
mov dword [esp + 0xc], ebp
lea eax, [0x5df200]
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 ebx, dword [esp + 0x7c]
mov esi, dword [esp + 0x3c]
mov edi, eax
mov dword [esp + 0x78], edx
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], ebp
lea eax, [0x5df200]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
call sym.runtime.typedslicecopy
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x70]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x44]
mov dword [ecx + 0xc], eax
mov eax, dword [0x776370]
test eax, eax
jne 0x56f6d3
mov eax, dword [esp + 0x78]
jmp 0x56f6e4
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 0x56f550
mov ebx, dword [edx + 0xc]
mov ebp, dword [edx + 8]
inc ebp
mov esi, dword [edx + 4]
cmp ebx, ebp
jae 0x56f770
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, [0x5df200]
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 [0x776370]
test eax, eax
je 0x56f75c
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 [0x776370]
test ebx, ebx
je 0x56f78b
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 0x56f550
mov dword [esp + 0x8c], edx
add esp, 0x84
ret
mov ecx, ebp
call sym.runtime.panicSliceAcap
mov dword [edi + esi*4 - 4], ecx
inc ebx
cmp dword [edx + 0x28], ebx
jle 0x56f859
mov ebp, dword [eax + 0xc]
mov esi, dword [eax + 8]
inc esi
mov edi, dword [eax + 4]
cmp ebp, esi
jae 0x56f82d
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, [0x5df200]
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 [0x776370]
test eax, eax
je 0x56f815
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 [0x776370]
test ebp, ebp
je 0x56f7a9
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 0x56f7a9
mov eax, edx
mov edx, ecx
mov ecx, dword [esp + 0x60]
mov ebx, dword [eax + 0x2c]
cmp dword [eax + 0x28], ebx
jge 0x56f90b
mov dword [esp + 0x60], ecx
movzx ebx, byte [edx]
cmp bl, 2
jne 0x56f880
mov ebx, edx
jmp 0x56f905
movzx ebp, word [eax + 2]
mov word [esp + 0x26], bp
cmp bl, 0x10
jne 0x56f8a1
and ebp, 0x20
movzx esi, word [edx + 2]
and esi, 0x20
cmp si, bp
jne 0x56f8a1
mov ebx, edx
jmp 0x56f905
lea eax, [0x5e15a0]
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 [0x776370]
lea edx, [eax + 0x10]
test ecx, ecx
jne 0x56f8d2
mov ecx, dword [esp + 0x54]
jmp 0x56f8e0
call sym.runtime.gcWriteBarrier2
mov ecx, dword [esp + 0x54]
mov dword [edi], ecx
mov dword [edi + 4], edx
mov dword [eax + 0x10], ecx
mov dword [eax + 8], 1
mov dword [eax + 0xc], 1
mov dword [eax + 4], edx
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 0x56f953
test ecx, ecx
je 0x56f91d
mov dword [esp + 0x8c], ecx
add esp, 0x84
ret
lea eax, [0x5e15a0]
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]
inc esi
mov eax, edx
mov ecx, dword [esp + 0x60]
mov ebx, dword [esp + 0x54]
mov edx, ebp
mov ebp, esi
mov dword [esp + 0x50], edx
cmp dword [eax + 0x2c], ebp
jle 0x56faa8
mov dword [esp + 0x30], ebp
lea eax, [0x5e15a0]
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, [0x5df200]
mov dword [esp + 0x10], ecx
call sym.runtime.growslice
mov eax, dword [0x776370]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
test eax, eax
jne 0x56f9ca
mov eax, dword [esp + 0x54]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x68]
jmp 0x56f9f4
call sym.runtime.gcWriteBarrier6
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 [edi + 0x10], ecx
mov ebp, dword [esp + 0x68]
mov esi, dword [ebp + 4]
mov dword [edi + 0x14], esi
mov dword [ecx], eax
mov dword [ecx + 4], ebx
mov dword [ebp + 8], 2
mov dword [ebp + 0xc], edx
mov dword [ebp + 4], ecx
movzx ecx, byte [ebp]
cmp cl, 2
jne 0x56fa1b
mov edx, dword [esp + 0x88]
jmp 0x56f940
mov edx, dword [esp + 0x88]
movzx ebx, word [edx + 2]
mov word [esp + 0x24], bx
cmp cl, 0x10
jne 0x56fa43
and ebx, 0x20
movzx esi, word [ebp + 2]
and esi, 0x20
cmp si, bx
je 0x56f940
lea eax, [0x5e15a0]
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 [0x776370]
lea edx, [eax + 0x10]
test ecx, ecx
jne 0x56fa74
mov ecx, dword [esp + 0x68]
jmp 0x56fa82
call sym.runtime.gcWriteBarrier2
mov ecx, dword [esp + 0x68]
mov dword [edi], ecx
mov dword [edi + 4], edx
mov dword [eax + 0x10], ecx
mov dword [eax + 8], 1
mov dword [eax + 0xc], 1
mov dword [eax + 4], edx
mov edx, dword [esp + 0x88]
mov ebp, eax
mov eax, dword [esp + 0x54]
jmp 0x56f940
test ecx, ecx
je 0x56fb3b
mov eax, dword [ecx + 0xc]
mov ebx, dword [ecx + 8]
inc ebx
mov ebp, dword [ecx + 4]
cmp eax, ebx
jae 0x56fb17
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x5df200]
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 [0x776370]
test eax, eax
je 0x56fb0a
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 [0x776370]
test eax, eax
je 0x56fb32
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 0x56f90b
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 0x56fbfc
mov ebp, dword [eax + 0xc]
mov esi, dword [eax + 8]
inc esi
mov edi, dword [eax + 4]
cmp ebp, esi
jae 0x56fbd0
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, [0x5df200]
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 [0x776370]
test eax, eax
je 0x56fbb8
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 [0x776370]
test ebp, ebp
je 0x56fb49
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 0x56fb49
movzx ebx, byte [ecx]
cmp bl, 2
je 0x56fc7a
movzx edx, word [edx + 2]
mov word [esp + 0x28], dx
cmp bl, 0xf
jne 0x56fc21
and edx, 0x20
movzx ebp, word [ecx + 2]
and ebp, 0x20
cmp bp, dx
je 0x56fc7a
lea eax, [0x5e15a0]
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 [0x776370]
lea edx, [eax + 0x10]
test ecx, ecx
jne 0x56fc52
mov ecx, dword [esp + 0x54]
jmp 0x56fc60
call sym.runtime.gcWriteBarrier2
mov ecx, dword [esp + 0x54]
mov dword [edi], ecx
mov dword [edi + 4], edx
mov dword [eax + 0x10], ecx
mov dword [eax + 8], 1
mov dword [eax + 0xc], 1
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 0x56fce5
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, [0x5df200]
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 [0x776370]
test eax, eax
je 0x56fcd8
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 [0x776370]
test edx, edx
je 0x56fd00
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