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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xf4]
cmp eax, dword [ecx + 8]
jbe 0x5b0e5c
sub esp, 0x174
mov ecx, dword [esp + 0x180]
cmp ecx, 2
jl 0x5b0da6
xor eax, eax
mov edx, eax
xor ebx, ebx
xor ebp, ebp
mov esi, edx
mov edi, esi
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x170], eax
mov dword [esp + 0x38], esi
mov eax, dword [esp + 0x184]
mov dword [esp + 0x3c], eax
mov eax, esi
jmp 0x5af8cb
inc ecx
mov edx, dword [esp + 0x16c]
movzx ebx, word [esp + 0x24]
mov dword [esp + 0x34], ecx
movzx ecx, word [esp + 0x22]
mov ecx, dword [esp + 0x34]
cmp ecx, edi
jge 0x5af88d
cmp ecx, esi
jge 0x5af88d
cmp ecx, edi
jae 0x5b0e4e
mov ebx, dword [ebp + ecx*4]
cmp ecx, esi
jae 0x5b0e4e
mov edx, dword [edx + ecx*4]
cmp ebx, edx
je 0x5af850
test ecx, ecx
jle 0x5af966
mov edx, dword [esp + 0x30]
cmp ecx, edx
ja 0x5b0e47
mov ebx, dword [esp + 0x48]
movzx esi, word [esp + 0x24]
mov edi, dword [esp + 0x38]
inc eax
mov dword [esp + 0x38], edi
mov edi, ecx
mov ecx, dword [esp + 0x180]
mov ecx, edx
mov edx, ebx
mov ebx, esi
mov esi, ecx
mov ecx, dword [esp + 0x180]
cmp eax, ecx
jg 0x5b004a
mov dword [esp + 0x5c], eax
mov word [esp + 0x24], bx
mov dword [esp + 0x48], edx
jge 0x5b003d
jae 0x5b0e55
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x17c]
mov esi, dword [esi + eax*4]
movzx ecx, byte [esi]
cmp cl, 0x12
jne 0x5b0036
mov ecx, dword [esi + 8]
mov edx, dword [esi + 4]
test ecx, ecx
jle 0x5b0036
mov ecx, dword [edx]
movzx edx, byte [ecx]
cmp dl, 3
je 0x5b0017
xor ecx, ecx
xor edx, edx
xor esi, esi
mov dword [esp + 0xd4], eax
xor eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xd4]
mov word [esp + 0x22], cx
mov dword [esp + 0x16c], edx
cmp cx, bx
jne 0x5af966
mov dword [esp + 0xcc], eax
xor eax, eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xcc]
jmp 0x5af866
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x16c]
movzx ebx, word [esp + 0x22]
mov dword [esp + 0x168], ebp
mov ebp, dword [esp + 0x48]
cmp eax, ebp
jne 0x5af9a8
mov ebp, dword [esp + 0x38]
mov edi, dword [esp + 0x170]
mov dword [esp + 0x170], edi
mov edi, ebp
mov ebp, edx
mov edx, ecx
mov ecx, esi
mov esi, ebx
mov ebx, eax
jmp 0x5af8ae
mov dword [esp + 0x54], ecx
mov dword [esp + 0x164], edx
mov dword [esp + 0x50], esi
mov word [esp + 0x26], bx
lea ecx, [ebp + 1]
cmp eax, ecx
jne 0x5afaee
mov ecx, dword [esp + 0x180]
cmp ebp, ecx
jae 0x5b0e40
mov edi, ecx
mov ecx, dword [esp + 0x38]
lea edx, [ecx + 1]
mov ebx, dword [esp + 0x17c]
mov ebp, dword [ebx + ebp*4]
mov ebx, dword [esp + 0x3c]
cmp edx, ebx
jg 0x5afa8d
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x170]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x38], edx
mov esi, dword [esp + 0x108]
lea edx, [esi + ecx*4]
mov dword [esp + 0x160], edx
mov edx, dword [0x79b700]
test edx, edx
jne 0x5afa58
mov dword [esi + ecx*4], ebp
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x164]
mov ebp, ecx
mov edi, esi
mov dword [esp + 0x3c], ebx
mov ecx, dword [esp + 0x54]
movzx ebx, word [esp + 0x26]
mov esi, dword [esp + 0x50]
jmp 0x5af990
mov dword [esp + 0xb0], ebx
mov eax, dword [esp + 0x160]
mov dword [esp], eax
mov dword [esp + 4], ebp
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x5c]
mov ebx, dword [esp + 0xb0]
mov esi, dword [esp + 0x108]
mov edi, dword [esp + 0x180]
jmp 0x5afa33
mov dword [esp + 0x15c], ebp
lea eax, [0x62be40]
mov dword [esp], eax
mov ebp, dword [esp + 0x170]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call dbg.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edx, [ecx + 1]
mov ecx, dword [esp + 0x38]
mov ebp, dword [esp + 0x15c]
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x180]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x5c]
jmp 0x5afa11
mov dword [esp + 0x2c], edi
mov ecx, dword [esp + 0x178]
mov edx, dword [ecx + 0x10]
lea ebx, [ecx + 0x10]
mov dword [esp + 0x158], ebx
test edx, edx
je 0x5affef
mov esi, dword [0x79b700]
mov ebp, dword [edx + 0x10]
test esi, esi
jne 0x5affa6
mov dword [ecx + 0x10], ebp
mov ebp, edi
mov edi, edx
mov esi, eax
xor eax, eax
call fcn.0044c041
mov dword [esp + 0x100], edx
mov byte [edx], 3
movzx ecx, word [esp + 0x24]
mov word [edx + 2], cx
mov ecx, dword [edx + 0x14]
mov edi, dword [edx + 0x1c]
lea ebx, [edx + 0x14]
mov dword [esp + 0x154], ebx
cmp ebp, edi
ja 0x5aff5f
cmp ebp, edi
ja 0x5b0e39
mov dword [esp + 0x16c], ecx
mov dword [esp + 0xac], edi
mov dword [esp], ecx
mov eax, dword [esp + 0x168]
mov dword [esp + 4], eax
shl ebp, 2
mov dword [esp + 8], ebp
call dbg.runtime.memmove
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x100]
mov dword [ecx + 0x18], eax
mov edx, dword [esp + 0xac]
mov dword [ecx + 0x1c], edx
mov edx, dword [0x79b700]
test edx, edx
jne 0x5aff35
mov edx, dword [esp + 0x16c]
mov dword [ecx + 0x14], edx
mov edx, dword [esp + 0x48]
jmp 0x5afbcc
inc edx
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x100]
mov ebx, dword [esp + 0x5c]
cmp edx, ebx
jge 0x5afc4e
mov ebp, dword [esp + 0x180]
cmp edx, ebp
jae 0x5b0e32
mov dword [esp + 0xac], edx
mov ecx, dword [esp + 0x17c]
mov ebx, dword [ecx + edx*4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x178]
mov dword [esp], ebx
mov dword [esp + 8], eax
call dbg.regexp/syntax.(*parser).removeLeadingString
mov eax, dword [0x79b700]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0x17c]
lea ebp, [ebx + edx*4]
test eax, eax
jne 0x5afc2f
mov dword [ebx + edx*4], ecx
jmp 0x5afbc0
mov dword [esp], ebp
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0x17c]
jmp 0x5afbc0
mov eax, dword [esp + 0x48]
cmp eax, ebx
ja 0x5b0e2b
mov edx, dword [esp + 0x184]
cmp ebx, edx
ja 0x5b0e2b
mov ecx, dword [esp + 0x178]
mov dword [esp], ecx
sub edx, eax
mov esi, eax
shl eax, 2
mov edi, edx
neg edx
sar edx, 0x1f
and edx, eax
mov eax, dword [esp + 0x17c]
add edx, eax
mov dword [esp + 4], edx
sub ebx, esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov byte [esp + 0x10], 0x13
call dbg.regexp/syntax.(*parser).collapse
mov eax, dword [esp + 0x14]
mov dword [esp + 0xe4], eax
mov ecx, dword [esp + 0x178]
mov edi, dword [ecx + 0x10]
test edi, edi
je 0x5aff15
mov dword [esp + 0xf8], edi
mov edx, dword [0x79b700]
mov ebx, dword [edi + 0x10]
test edx, edx
jne 0x5afedb
mov dword [ecx + 0x10], ebx
mov edx, eax
xor eax, eax
call fcn.0044c041
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xfc], ecx
mov byte [ecx], 0x12
mov ebx, dword [ecx + 0xc]
mov ebp, dword [ecx + 4]
lea esi, [ecx + 4]
mov dword [esp + 0x150], esi
cmp ebx, 2
jl 0x5afe8a
mov edi, 2
mov dword [esp + 0xac], ebx
mov esi, dword [0x79b700]
lea ebx, [ebp + 4]
test esi, esi
jne 0x5afe2c
mov ebx, dword [esp + 0x100]
mov dword [ebp], ebx
mov dword [ebp + 4], edx
mov dword [ecx + 8], edi
mov edx, dword [esp + 0xac]
mov dword [ecx + 0xc], edx
mov edx, dword [0x79b700]
test edx, edx
jne 0x5afe0b
mov dword [ecx + 4], ebp
mov edx, dword [esp + 0x38]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x3c]
cmp ebx, ebp
jg 0x5afdc5
mov esi, dword [esp + 0x170]
mov dword [esp + 0x3c], ebp
mov edi, ebx
mov ebx, dword [0x79b700]
lea ebp, [esi + edx*4]
test ebx, ebx
jne 0x5afd99
mov dword [esi + edx*4], ecx
mov eax, dword [esp + 0x5c]
mov ebx, dword [esp + 0x3c]
mov ecx, edi
mov edi, dword [esp + 0x180]
jmp 0x5afa37
mov dword [esp + 0x14c], esi
mov dword [esp + 0xac], edi
mov dword [esp], ebp
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
xor eax, eax
mov esi, dword [esp + 0x14c]
mov edi, dword [esp + 0xac]
jmp 0x5afd83
lea eax, [0x62be40]
mov dword [esp], eax
mov ecx, dword [esp + 0x170]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call dbg.runtime.growslice
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ebx, [eax + 1]
xor eax, eax
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0x38]
jmp 0x5afd6d
mov eax, dword [esp + 0x150]
mov dword [esp], eax
mov dword [esp + 4], ebp
call dbg.runtime.writebarrierptr
xor eax, eax
mov ecx, dword [esp + 0xfc]
jmp 0x5afd57
mov dword [esp + 0x148], ebp
mov dword [esp + 0xa8], edi
mov dword [esp + 0x144], ebx
mov dword [esp], ebp
mov eax, dword [esp + 0x100]
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x144]
mov dword [esp], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
xor eax, eax
mov ecx, dword [esp + 0xfc]
mov ebp, dword [esp + 0x148]
mov edi, dword [esp + 0xa8]
jmp 0x5afd39
lea eax, [0x62be40]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], 0
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 2
call dbg.runtime.growslice
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edi, [eax + 2]
xor eax, eax
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0xe4]
mov esi, dword [esp + 0x150]
jmp 0x5afd14
mov eax, dword [esp + 0x158]
mov dword [esp], eax
mov dword [esp + 4], ebx
call dbg.runtime.writebarrierptr
lea eax, [0x632960]
mov dword [esp], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 4], eax
call dbg.runtime.typedmemclr
xor eax, eax
mov edx, dword [esp + 0xe4]
jmp 0x5afce5
lea eax, [0x632960]
mov dword [esp], eax
call dbg.runtime.newobject
mov ecx, dword [esp + 4]
xor eax, eax
mov edx, dword [esp + 0xe4]
jmp 0x5afcec
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x100]
jmp 0x5afbba
lea eax, [0x604460]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call dbg.runtime.growslice
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
xor eax, eax
mov edx, dword [esp + 0x100]
mov ebx, dword [esp + 0x154]
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x5c]
jmp 0x5afb5a
mov dword [esp + 0xf4], edx
mov dword [esp], ebx
mov dword [esp + 4], ebp
call dbg.runtime.writebarrierptr
lea eax, [0x632960]
mov dword [esp], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 4], eax
call dbg.runtime.typedmemclr
xor eax, eax
mov edx, dword [esp + 0xf4]
mov ebx, dword [esp + 0x158]
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x5c]
jmp 0x5afb2f
lea eax, [0x632960]
mov dword [esp], eax
call dbg.runtime.newobject
mov edx, dword [esp + 4]
xor eax, eax
mov ebx, dword [esp + 0x158]
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x5c]
jmp 0x5afb2f
mov edx, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x18]
mov eax, dword [ecx + 0x14]
movzx ecx, word [ecx + 2]
and ecx, 1
mov dword [esp + 0x28], edx
mov edx, eax
mov eax, dword [esp + 0x5c]
jmp 0x5af93c
mov ecx, esi
jmp 0x5af916
xor ecx, ecx
xor edx, edx
xor esi, esi
xor ebx, ebx
jmp 0x5af976
xor eax, eax
xor ecx, ecx
xor edx, edx
mov ebx, dword [esp + 0x170]
xor ebp, ebp
mov esi, dword [esp + 0x3c]
jmp 0x5b006c
lea edi, [esi + 1]
mov esi, edx
mov edx, ebx
mov ebx, ecx
mov ecx, eax
mov eax, edi
mov dword [esp + 0x16c], ebx
mov dword [esp + 0xb0], ebp
mov edi, dword [esp + 0x38]
cmp eax, edi
jg 0x5b06fc
mov dword [esp + 0x60], eax
mov dword [esp + 0xa4], esi
mov dword [esp + 0x104], edx
mov dword [esp + 0x44], ecx
jge 0x5b06f5
jae 0x5b0e24
mov ebx, dword [esp + 0x170]
mov esi, dword [ebx + eax*4]
movzx ebx, byte [esi]
cmp bl, 2
jne 0x5b06b1
xor ebx, ebx
test edx, edx
jne 0x5b058c
cmp eax, ecx
jne 0x5b00de
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0xa4]
mov esi, eax
jmp 0x5b005f
mov dword [esp + 0x10c], ebx
lea esi, [ecx + 1]
cmp eax, esi
jne 0x5b0204
cmp ecx, edi
jae 0x5b0e16
lea edx, [ebp + 1]
mov esi, dword [esp + 0x170]
mov ecx, dword [esi + ecx*4]
mov esi, dword [esp + 0xa4]
cmp edx, esi
jg 0x5b01a0
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0xbc]
mov edi, dword [esp + 0x108]
lea eax, [edi + ebp*4]
mov dword [esp + 0x140], eax
mov eax, dword [0x79b700]
test eax, eax
jne 0x5b0161
mov dword [edi + ebp*4], ecx
mov eax, dword [esp + 0x60]
mov ecx, edi
mov ebp, edx
mov edx, esi
mov edi, dword [esp + 0x38]
jmp 0x5b00da
mov dword [esp + 0xa0], edx
mov dword [esp + 0x9c], esi
mov eax, dword [esp + 0x140]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov edx, dword [esp + 0xa0]
mov ebx, dword [esp + 0x10c]
mov esi, dword [esp + 0x9c]
mov edi, dword [esp + 0x108]
jmp 0x5b014e
mov dword [esp + 0x15c], ecx
lea eax, [0x62be40]
mov dword [esp], eax
mov ecx, dword [esp + 0x16c]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edx
call dbg.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea edx, [ecx + 1]
mov ecx, dword [esp + 0x15c]
mov ebx, dword [esp + 0x10c]
mov ebp, dword [esp + 0xb0]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x60]
jmp 0x5b0130
mov esi, ecx
jmp 0x5b022c
lea ecx, [edx + 1]
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x10c]
mov ebp, dword [esp + 0xb0]
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x38]
cmp ecx, eax
jge 0x5b02ab
cmp ecx, edi
jae 0x5b0e0f
mov dword [esp + 0xac], ecx
mov eax, dword [esp + 0x170]
mov edx, dword [eax + ecx*4]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x178]
mov dword [esp], edx
cmp ecx, esi
setne bl
mov byte [esp + 8], bl
call dbg.regexp/syntax.(*parser).removeLeadingRegexp
mov eax, dword [0x79b700]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0x170]
lea ebp, [ebx + edx*4]
test eax, eax
jne 0x5b028c
mov dword [ebx + edx*4], ecx
jmp 0x5b0208
mov dword [esp], ebp
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0x170]
jmp 0x5b0208
cmp esi, eax
ja 0x5b0e08
mov ecx, dword [esp + 0x3c]
cmp eax, ecx
ja 0x5b0e08
mov edx, dword [esp + 0x178]
mov dword [esp], edx
sub ecx, esi
mov ebp, esi
shl esi, 2
mov edi, ecx
neg ecx
sar ecx, 0x1f
and ecx, esi
mov esi, dword [esp + 0x170]
add ecx, esi
mov dword [esp + 4], ecx
sub eax, ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edi
mov byte [esp + 0x10], 0x13
call dbg.regexp/syntax.(*parser).collapse
mov eax, dword [esp + 0x14]
mov dword [esp + 0xe0], eax
mov ecx, dword [esp + 0x178]
mov edi, dword [ecx + 0x10]
lea edx, [ecx + 0x10]
test edi, edi
je 0x5b056c
mov dword [esp + 0xec], edi
mov ebx, dword [0x79b700]
mov ebp, dword [edi + 0x10]
test ebx, ebx
jne 0x5b0539
mov dword [ecx + 0x10], ebp
mov edx, eax
xor eax, eax
call fcn.0044c041
mov ecx, dword [esp + 0xec]
mov dword [esp + 0xf0], ecx
mov byte [ecx], 0x12
mov ebx, dword [ecx + 0xc]
mov ebp, dword [ecx + 4]
lea esi, [ecx + 4]
mov dword [esp + 0x13c], esi
cmp ebx, 2
jl 0x5b04e8
mov edi, 2
mov eax, dword [0x79b700]
lea esi, [ebp + 4]
test eax, eax
jne 0x5b047e
mov eax, dword [esp + 0x104]
mov dword [ebp], eax
mov dword [ebp + 4], edx
mov dword [ecx + 8], edi
mov dword [ecx + 0xc], ebx
mov eax, dword [0x79b700]
test eax, eax
jne 0x5b045f
mov dword [ecx + 4], ebp
mov eax, dword [esp + 0xb0]
lea edx, [eax + 1]
mov ebx, dword [esp + 0xa4]
cmp edx, ebx
jg 0x5b0418
mov ebp, dword [esp + 0x16c]
mov esi, dword [0x79b700]
lea edi, [ebp + eax*4]
test esi, esi
jne 0x5b03e0
mov dword [ebp + eax*4], ecx
mov esi, ebx
mov edi, ebp
mov ebx, dword [esp + 0x10c]
jmp 0x5b014e
mov dword [esp + 0x138], ebp
mov dword [esp + 0x98], edx
mov dword [esp + 0x94], ebx
mov dword [esp], edi
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov edx, dword [esp + 0x98]
mov ebx, dword [esp + 0x94]
mov ebp, dword [esp + 0x138]
jmp 0x5b03d0
lea ecx, [0x62be40]
mov dword [esp], ecx
mov ebp, dword [esp + 0x16c]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call dbg.runtime.growslice
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xf0]
jmp 0x5b03be
mov eax, dword [esp + 0x13c]
mov dword [esp], eax
mov dword [esp + 4], ebp
call dbg.runtime.writebarrierptr
mov ecx, dword [esp + 0xf0]
jmp 0x5b03a2
mov dword [esp + 0x134], ebp
mov dword [esp + 0xac], edi
mov dword [esp + 0xa8], ebx
mov dword [esp + 0x130], esi
mov dword [esp], ebp
mov eax, dword [esp + 0x104]
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x130]
mov dword [esp], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov ecx, dword [esp + 0xf0]
mov ebx, dword [esp + 0xa8]
mov ebp, dword [esp + 0x134]
mov edi, dword [esp + 0xac]
jmp 0x5b038b
lea eax, [0x62be40]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], 0
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 2
call dbg.runtime.growslice
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edi, [eax + 2]
xor eax, eax
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xe0]
mov esi, dword [esp + 0x13c]
jmp 0x5b036d
mov dword [esp], edx
mov dword [esp + 4], ebp
call dbg.runtime.writebarrierptr
lea eax, [0x632960]
mov dword [esp], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 4], eax
call dbg.runtime.typedmemclr
xor eax, eax
mov edx, dword [esp + 0xe0]
jmp 0x5b033e
lea eax, [0x632960]
mov dword [esp], eax
call dbg.runtime.newobject
mov ecx, dword [esp + 4]
xor eax, eax
mov edx, dword [esp + 0xe0]
jmp 0x5b0345
mov dword [esp + 0xdc], ebx
mov dword [esp], edx
mov dword [esp + 4], ebx
call dbg.regexp/syntax.(*Regexp).Equal
movzx eax, byte [esp + 8]
test al, al
je 0x5b06a8
mov eax, dword [esp + 0x104]
movzx ecx, byte [eax]
cmp cl, 3
jne 0x5b067f
mov edx, dword [eax + 0x18]
cmp edx, 1
jne 0x5b067f
mov edx, 1
test dl, dl
je 0x5b0601
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0x104]
mov edx, dword [esp + 0xa4]
mov ebp, dword [esp + 0xb0]
mov ecx, dword [esp + 0x16c]
jmp 0x5b005f
cmp cl, 0x11
jne 0x5b0639
mov ecx, dword [eax + 0x28]
mov edx, dword [eax + 0x2c]
cmp ecx, edx
jne 0x5b0639
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
test ecx, ecx
jbe 0x5b0e1d
mov ecx, dword [edx]
movzx edx, byte [ecx]
cmp dl, 3
jne 0x5b065f
mov ecx, dword [ecx + 0x18]
cmp ecx, 1
jne 0x5b065f
mov ecx, 1
test cl, cl
jne 0x5b05d4
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0xdc]
mov ebp, dword [esp + 0xb0]
mov edi, dword [esp + 0x38]
jmp 0x5b00c8
cmp dl, 4
jne 0x5b066b
mov ecx, 1
jmp 0x5b0635
cmp dl, 5
jne 0x5b0677
mov ecx, 1
jmp 0x5b0635
cmp dl, 6
sete cl
jmp 0x5b0635
cmp cl, 4
jne 0x5b068e
mov edx, 1
jmp 0x5b05d0
cmp cl, 5
jne 0x5b069d
mov edx, 1
jmp 0x5b05d0
cmp cl, 6
sete dl
jmp 0x5b05d0
mov eax, dword [esp + 0x104]
jmp 0x5b0639
cmp bl, 0x12
jne 0x5b06e7
mov ebx, dword [esi + 8]
mov ebp, dword [esi + 4]
test ebx, ebx
jle 0x5b06e7
mov ebx, dword [ebp]
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 2
xchg ebp, eax
jne 0x5b06db
mov ebp, dword [esp + 0xb0]
xor ebx, ebx
jmp 0x5b00c0
mov ebp, dword [esp + 0xb0]
jmp 0x5b00c0
mov ebp, dword [esp + 0xb0]
mov ebx, esi
jmp 0x5b00c0
xor ebx, ebx
jmp 0x5b00c8
mov eax, ebx
xor ecx, ecx
xor edx, edx
xor edi, edi
jmp 0x5b0715
inc ecx
mov eax, dword [esp + 0x16c]
mov ebp, dword [esp + 0xb0]
mov dword [esp + 0x170], ebx
mov dword [esp + 0x38], edi
cmp ecx, ebp
jg 0x5b0c32
jge 0x5b0756
jae 0x5b0e01
mov eax, dword [eax + ecx*4]
movzx ebp, byte [eax]
xchg ebp, eax
cmp al, 3
xchg ebp, eax
jne 0x5b0c03
mov eax, dword [eax + 0x18]
cmp eax, 1
jne 0x5b0c03
mov eax, 1
test al, al
jne 0x5b0706
mov dword [esp + 0x58], ecx
cmp ecx, edx
jne 0x5b0841
mov eax, dword [esp + 0xb0]
cmp ecx, eax
jge 0x5b083a
jae 0x5b0dde
lea edx, [edi + 1]
mov ebp, dword [esp + 0x16c]
mov ebp, dword [ebp + ecx*4]
cmp edx, esi
jg 0x5b07e1
mov eax, dword [0x79b700]
lea ecx, [ebx + edi*4]
test eax, eax
jne 0x5b07a9
mov dword [ebx + edi*4], ebp
mov ecx, dword [esp + 0x58]
lea eax, [ecx + 1]
mov edi, edx
mov edx, eax
jmp 0x5b0706
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x90], edx
mov dword [esp + 0x8c], esi
mov dword [esp], ecx
mov dword [esp + 4], ebp
call dbg.runtime.writebarrierptr
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x12c]
mov esi, dword [esp + 0x8c]
jmp 0x5b0799
mov dword [esp + 0x88], edi
mov dword [esp + 0x15c], ebp
lea eax, [0x62be40]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edx
call dbg.runtime.growslice
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0x58]
mov ebp, dword [esp + 0x15c]
mov edi, dword [esp + 0x88]
jmp 0x5b0789
mov edx, edi
jmp 0x5b0799
lea eax, [edx + 1]
cmp ecx, eax
jne 0x5b092e
mov eax, dword [esp + 0xb0]
cmp edx, eax
jae 0x5b0dfa
lea ebp, [edi + 1]
mov eax, dword [esp + 0x16c]
mov edx, dword [eax + edx*4]
cmp ebp, esi
jg 0x5b08df
lea eax, [ebx + edi*4]
mov dword [esp + 0x128], eax
mov eax, dword [0x79b700]
test eax, eax
jne 0x5b0893
mov dword [ebx + edi*4], edx
mov eax, dword [esp + 0xb0]
cmp ecx, eax
mov edi, ebp
jmp 0x5b076b
mov dword [esp + 0x124], ebx
mov dword [esp + 0x84], ebp
mov dword [esp + 0x80], esi
mov eax, dword [esp + 0x128]
mov dword [esp], eax
mov dword [esp + 4], edx
call dbg.runtime.writebarrierptr
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0xb0]
cmp ecx, eax
mov ebx, dword [esp + 0x124]
mov ebp, dword [esp + 0x84]
mov esi, dword [esp + 0x80]
jmp 0x5b088c
mov dword [esp + 0x15c], edx
lea eax, [0x62be40]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call dbg.runtime.growslice
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea ebp, [eax + 1]
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x15c]
mov edi, dword [esp + 0x38]
jmp 0x5b086c
mov dword [esp + 0x7c], esi
mov dword [esp + 0xac], eax
mov dword [esp + 0x40], edx
mov ebp, dword [esp + 0xb0]
jmp 0x5b0975
inc edx
mov ebx, dword [esp + 0xb0]
mov ebp, dword [esp + 0x16c]
mov ebx, dword [esp + 0x170]
mov ebp, dword [esp + 0xb0]
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x38]
mov esi, eax
mov eax, edx
mov edx, esi
mov esi, dword [esp + 0x7c]
cmp eax, ecx
jge 0x5b09be
cmp edx, ebp
jae 0x5b0df3
mov ebx, dword [esp + 0x16c]
mov esi, dword [ebx + edx*4]
movzx edi, byte [esi]
cmp eax, ebp
jae 0x5b0df3
mov ebx, dword [ebx + eax*4]
movzx ebp, byte [ebx]
xchg edi, eax
xchg ebp, ebx
cmp al, bl
xchg ebp, ebx
xchg edi, eax
jae 0x5b09aa
mov edx, eax
jmp 0x5b0946
jne 0x5b09b6
mov ebp, dword [esi + 0x18]
mov ebx, dword [ebx + 0x18]
cmp ebp, ebx
jl 0x5b09a6
mov ebx, edx
mov edx, eax
mov eax, ebx
jmp 0x5b0946
mov eax, dword [esp + 0x40]
cmp eax, ebp
jae 0x5b0dec
mov ebx, dword [esp + 0x16c]
mov esi, dword [ebx + eax*4]
lea edi, [ebx + eax*4]
cmp edx, ebp
jae 0x5b0dec
mov dword [esp + 0x120], edi
mov edi, dword [0x79b700]
mov ebp, dword [ebx + edx*4]
lea ecx, [ebx + edx*4]
test edi, edi
jne 0x5b0bb8
mov dword [ebx + eax*4], ebp
mov dword [ebx + edx*4], esi
mov ecx, dword [esp + 0xac]
jmp 0x5b0a14
lea edx, [eax + 1]
mov eax, dword [esp + 0x40]
mov ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x58]
cmp ecx, edx
jge 0x5b0ad0
mov ebp, dword [ebx + eax*4]
mov esi, dword [esp + 0xb0]
cmp ecx, esi
jae 0x5b0de5
mov dword [esp + 0x4c], ecx
mov eax, dword [ebx + ecx*4]
mov dword [esp + 4], eax
mov dword [esp], ebp
call dbg.regexp/syntax.mergeCharClass
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x16c]
mov edx, dword [ecx + eax*4]
test byte [edx], al
mov ebx, dword [0x79b700]
lea ebp, [edx + 0x10]
mov dword [esp + 0x11c], ebp
mov esi, dword [esp + 0x178]
mov edi, dword [esi + 0x10]
lea ebp, [esi + 0x10]
test ebx, ebx
jne 0x5b0a7e
mov dword [edx + 0x10], edi
mov dword [esi + 0x10], edx
jmp 0x5b0a09
mov dword [esp + 0xe8], edx
mov dword [esp + 0x118], ebp
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
mov dword [esp + 4], edi
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x16c]
mov esi, dword [esp + 0x178]
jmp 0x5b0a09
mov ecx, dword [ebx + eax*4]
mov dword [esp], ecx
call dbg.regexp/syntax.cleanAlt
mov eax, dword [esp + 0x38]
lea ecx, [eax + 1]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x16c]
mov edx, dword [ebx + edx*4]
mov ebp, dword [esp + 0x7c]
cmp ecx, ebp
jg 0x5b0b66
mov esi, dword [esp + 0x170]
mov edi, dword [0x79b700]
lea ebx, [esi + eax*4]
test edi, edi
jne 0x5b0b2d
mov dword [esi + eax*4], edx
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0xb0]
cmp eax, edx
mov eax, edx
mov ebx, esi
mov esi, ebp
mov ebp, ecx
mov ecx, dword [esp + 0x58]
jmp 0x5b088c
mov dword [esp + 0x114], esi
mov dword [esp + 0x78], ecx
mov dword [esp + 0x74], ebp
mov dword [esp], ebx
mov dword [esp + 4], edx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0xb0]
cmp eax, edx
mov ecx, dword [esp + 0x78]
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0x114]
jmp 0x5b0b1c
mov dword [esp + 0x15c], edx
lea edx, [0x62be40]
mov dword [esp], edx
mov ebx, dword [esp + 0x170]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call dbg.runtime.growslice
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x15c]
mov ebx, dword [esp + 0x16c]
jmp 0x5b0aff
mov dword [esp + 0x15c], esi
mov dword [esp + 0x110], ecx
mov eax, dword [esp + 0x120]
mov dword [esp], eax
mov dword [esp + 4], ebp
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x110]
mov dword [esp], eax
mov eax, dword [esp + 0x15c]
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x16c]
jmp 0x5b0a00
xchg ebp, eax
cmp al, 4
xchg ebp, eax
jne 0x5b0c14
mov eax, 1
jmp 0x5b0752
xchg ebp, eax
cmp al, 5
xchg ebp, eax
jne 0x5b0c25
mov eax, 1
jmp 0x5b0752
xchg ebp, eax
cmp al, 6
xchg ebp, eax
sete al
jmp 0x5b0752
mov eax, ebx
xor ecx, ecx
xor edx, edx
jmp 0x5b0c3e
mov ebx, ecx
mov ecx, ebp
cmp ecx, edi
jge 0x5b0d8a
mov dword [esp + 0x16c], ebx
lea ebp, [ecx + 1]
cmp ebp, edi
jge 0x5b0d83
cmp ecx, edi
jae 0x5b0dd7
mov ebx, dword [eax + ecx*4]
movzx ebx, byte [ebx]
cmp bl, 2
jne 0x5b0d7c
cmp ebp, edi
jae 0x5b0dd7
mov ebx, dword [eax + ecx*4 + 4]
movzx ebx, byte [ebx]
cmp bl, 2
jne 0x5b0c8c
mov ecx, dword [esp + 0x16c]
jmp 0x5b0c3a
cmp ecx, edi
jae 0x5b0dd0
mov dword [esp + 0x70], ebp
lea ebx, [edx + 1]
mov ecx, dword [eax + ecx*4]
cmp ebx, esi
jg 0x5b0d17
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0xb4]
mov eax, dword [0x79b700]
mov edi, dword [esp + 0x108]
lea ebp, [edi + edx*4]
test eax, eax
jne 0x5b0cf2
mov dword [edi + edx*4], ecx
mov eax, dword [esp + 0x170]
mov ebp, dword [esp + 0x70]
mov edi, dword [esp + 0x38]
mov edx, ebx
mov ecx, dword [esp + 0x108]
jmp 0x5b0c3a
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x68], esi
mov dword [esp], ebp
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov ebx, dword [esp + 0x6c]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x108]
jmp 0x5b0cd5
mov dword [esp + 0x64], edx
mov dword [esp + 0x15c], ecx
lea eax, [0x62be40]
mov dword [esp], eax
mov ecx, dword [esp + 0x16c]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call dbg.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea ebx, [ecx + 1]
mov ecx, dword [esp + 0x15c]
mov edx, dword [esp + 0x64]
mov ebp, dword [esp + 0x70]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x170]
jmp 0x5b0cbe
cmp ecx, edi
jmp 0x5b0c8e
cmp ecx, edi
jmp 0x5b0c8e
mov dword [esp + 0x188], ebx
mov dword [esp + 0x18c], edx
mov dword [esp + 0x190], esi
add esp, 0x174
ret
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
mov eax, dword [esp + 0x184]
mov dword [esp + 0x190], eax
add esp, 0x174
ret
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.morestack_noctxt
jmp dbg.regexp/syntax.(*parser).factor