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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x128]
cmp eax, dword [ecx + 8]
jbe 0x4cadbb
sub esp, 0x1a8
mov ecx, dword [esp + 0x1b4]
cmp ecx, 2
jl 0x4cad91
xor eax, eax
mov edx, eax
xor ebx, ebx
mov ebp, edx
mov esi, ebp
xor edi, edi
mov dword [esp + 0x40], esi
mov eax, dword [esp + 0x1b8]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x1b0]
mov dword [esp + 0xf0], eax
mov eax, esi
mov dword [esp + 0x64], eax
mov dword [esp + 0x38], edx
mov word [esp + 0x24], bx
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], esi
mov dword [esp + 0xec], edi
cmp eax, ecx
jg 0x4c9fa9
jge 0x4c9f9c
jae 0x4c9f95
mov ecx, dword [esp + 0x1b0]
mov ecx, dword [ecx + eax*4]
movzx edx, byte [ecx]
cmp dl, 0x12
jne 0x4c972d
mov edx, dword [ecx + 8]
mov ebp, dword [ecx + 4]
test edx, edx
jle 0x4c972d
mov ecx, dword [ebp]
movzx edx, byte [ecx]
cmp dl, 3
je 0x4c9f72
xor ecx, ecx
xor edx, edx
xor ebp, ebp
mov dword [esp + 0x9c], eax
xor eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x9c]
mov word [esp + 0x22], cx
mov dword [esp + 0xe8], edx
mov dword [esp + 0x2c], ebp
cmp cx, bx
jne 0x4c9f69
mov dword [esp + 0x94], eax
xor eax, eax
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x30]
cmp ecx, ebp
jge 0x4c97da
mov ebx, dword [esp + 0x28]
cmp ecx, ebx
jge 0x4c97de
cmp ecx, ebp
jae 0x4c9f62
mov ebp, dword [edi + ecx*4]
cmp ecx, ebx
jae 0x4c9f62
mov edx, dword [edx + ecx*4]
cmp ebp, edx
jne 0x4c97de
inc ecx
mov edx, dword [esp + 0x30]
mov ebp, dword [esp + 0xe8]
mov edx, ebp
movzx ebx, word [esp + 0x24]
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x3c], ecx
movzx ecx, word [esp + 0x22]
mov ecx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x30]
cmp ecx, ebp
jl 0x4c978c
mov ebx, dword [esp + 0x28]
test ecx, ecx
jle 0x4c980d
cmp ecx, esi
ja 0x4c9806
mov edx, dword [esp + 0x38]
movzx ebx, word [esp + 0x24]
mov ebp, dword [esp + 0x44]
inc eax
mov dword [esp + 0x44], ebp
mov ebp, ecx
mov ecx, dword [esp + 0x1b4]
jmp 0x4c96de
call dbg.runtime.panicslice
ud2
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0x2c]
movzx ebp, word [esp + 0x22]
mov dword [esp + 0x58], ebx
mov dword [esp + 0xe8], ecx
mov dword [esp + 0x5c], edx
mov word [esp + 0x26], bp
mov esi, ecx
mov ecx, dword [esp + 0x38]
cmp eax, ecx
jne 0x4c9864
mov ecx, dword [esp + 0xf0]
mov edi, dword [esp + 0x44]
mov edx, eax
mov ebx, ebp
mov esi, dword [esp + 0x5c]
mov ebp, edi
mov dword [esp + 0xf0], ecx
mov ecx, dword [esp + 0x58]
mov edi, dword [esp + 0xe8]
jmp 0x4c97f3
lea edx, [ecx + 1]
cmp eax, edx
jne 0x4c999a
mov edx, dword [esp + 0x1b4]
cmp ecx, edx
jae 0x4c9993
mov edi, edx
mov edx, dword [esp + 0x1b0]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0xe4], ecx
mov edx, dword [esp + 0x40]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x44]
cmp ebx, ebp
jg 0x4c9936
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebp
mov ebx, dword [esp + 0xd0]
lea ebp, [ebx + edx*4]
mov dword [esp + 0xe0], ebp
mov ebp, dword [0x7e38e0]
test ebp, ebp
jne 0x4c9908
mov dword [ebx + edx*4], ecx
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
movzx ebp, word [esp + 0x26]
mov edi, edx
mov dword [esp + 0x40], ecx
mov edx, dword [esp + 0x5c]
mov ecx, ebx
mov ebx, dword [esp + 0x58]
jmp 0x4c9846
mov edx, dword [esp + 0xe0]
mov dword [esp], edx
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x64]
mov ebx, dword [esp + 0xd0]
mov esi, dword [esp + 0xe8]
mov edi, dword [esp + 0x1b4]
jmp 0x4c98e6
lea edi, [0x620a80]
mov dword [esp], edi
mov edi, dword [esp + 0xf0]
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call dbg.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ebx, [ecx + 1]
mov ecx, dword [esp + 0xe4]
mov edx, dword [esp + 0x40]
mov esi, dword [esp + 0xe8]
mov edi, dword [esp + 0x1b4]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x64]
jmp 0x4c98c0
call dbg.runtime.panicindex
ud2
mov edx, dword [esp + 0x1ac]
mov ebx, dword [edx + 0x10]
mov dword [esp + 0xb8], ebx
test ebx, ebx
je 0x4c9f3e
mov ebp, dword [ebx + 0x10]
mov ecx, dword [0x7e38e0]
lea ebx, [edx + 0x10]
test ecx, ecx
jne 0x4c9f14
mov dword [edx + 0x10], ebp
lea edi, [esp + 0x16c]
mov ebx, eax
xor eax, eax
call fcn.00449e61
mov ecx, dword [0x7e38e0]
test ecx, ecx
jne 0x4c9ede
mov edi, dword [esp + 0xb8]
lea esi, [esp + 0x16c]
call fcn.0044a2ea
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0xcc], ecx
mov byte [ecx], 3
movzx ebp, word [esp + 0x24]
mov word [ecx + 2], bp
mov ebp, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x14]
mov edi, dword [esp + 0x30]
cmp edi, ebp
ja 0x4c9e97
mov dword [esp + 0xdc], esi
mov dword [esp + 0x78], ebp
cmp edi, ebp
ja 0x4c9e90
mov dword [esp], esi
mov eax, dword [esp + 0xec]
mov dword [esp + 4], eax
shl edi, 2
mov dword [esp + 8], edi
call dbg.runtime.memmove
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0xcc]
mov dword [ecx + 0x18], eax
mov edx, dword [esp + 0x78]
mov dword [ecx + 0x1c], edx
mov edx, dword [0x7e38e0]
lea ebx, [ecx + 0x14]
test edx, edx
jne 0x4c9e6d
mov edx, dword [esp + 0xdc]
mov dword [ecx + 0x14], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x50], edx
mov ebx, dword [esp + 0x64]
cmp edx, ebx
jge 0x4c9b01
mov ebp, dword [esp + 0x1b4]
cmp edx, ebp
jae 0x4c9e66
mov esi, dword [esp + 0x1b0]
mov edi, dword [esi + edx*4]
mov dword [esp + 4], edi
mov edi, dword [esp + 0x1ac]
mov dword [esp], edi
mov dword [esp + 8], eax
call dbg.regexp/syntax.(*parser).removeLeadingString
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x1b0]
lea edx, [ecx + eax*4]
mov ebx, dword [esp + 0xc]
mov ebp, dword [0x7e38e0]
test ebp, ebp
jne 0x4c9e4a
mov dword [ecx + eax*4], ebx
lea edx, [eax + 1]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0x50], edx
mov ebx, dword [esp + 0x64]
cmp edx, ebx
jl 0x4c9a94
mov eax, dword [esp + 0x38]
cmp eax, ebx
ja 0x4c9e43
mov edx, dword [esp + 0x1b8]
cmp ebx, edx
ja 0x4c9e43
mov ebp, dword [esp + 0x1ac]
mov dword [esp], ebp
sub edx, eax
lea edi, [edx - 1]
sar edi, 0x1f
shl eax, 2
xor edi, 0xffffffff
and eax, edi
mov edi, dword [esp + 0x1b0]
add eax, edi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
sub ebx, eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov byte [esp + 0x10], 0x13
call dbg.regexp/syntax.(*parser).collapse
mov eax, dword [esp + 0x14]
mov dword [esp + 0xa8], eax
mov ecx, dword [esp + 0x1ac]
mov edx, dword [ecx + 0x10]
mov dword [esp + 0xc0], edx
test edx, edx
je 0x4c9e23
mov ebx, dword [edx + 0x10]
mov ebp, dword [0x7e38e0]
mov esi, edx
lea edx, [ecx + 0x10]
test ebp, ebp
jne 0x4c9dfd
mov dword [ecx + 0x10], ebx
lea edi, [esp + 0x130]
mov edx, eax
xor eax, eax
call fcn.00449e61
mov ecx, dword [0x7e38e0]
test ecx, ecx
jne 0x4c9dd2
mov edi, esi
lea esi, [esp + 0x130]
call fcn.0044a2ea
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0xc8], ecx
mov byte [ecx], 0x12
mov ebx, dword [ecx + 0xc]
mov ebp, dword [ecx + 4]
cmp ebx, 2
jl 0x4c9d88
mov esi, 2
mov dword [esp + 0xe0], ebp
mov dword [esp + 0x78], esi
mov dword [esp + 0x74], ebx
mov edi, ebx
mov ebx, dword [0x7e38e0]
test ebx, ebx
jne 0x4c9d51
mov ebx, dword [esp + 0xcc]
mov dword [ebp], ebx
mov ebx, dword [0x7e38e0]
lea ecx, [ebp + 4]
test ebx, ebx
jne 0x4c9d2f
mov dword [ebp + 4], edx
mov ecx, dword [esp + 0xc8]
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], edi
mov edx, dword [0x7e38e0]
lea ebx, [ecx + 4]
test edx, edx
jne 0x4c9d15
mov dword [ecx + 4], ebp
mov edx, dword [esp + 0x40]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x44]
cmp ebx, ebp
jg 0x4c9ccf
mov esi, dword [esp + 0xf0]
mov dword [esp + 0xd0], esi
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebp
mov edi, ebx
lea ebx, [esi + edx*4]
mov dword [esp + 0xe0], ebx
mov ebx, dword [0x7e38e0]
test ebx, ebx
jne 0x4c9ca9
mov dword [esi + edx*4], ecx
mov eax, dword [esp + 0x64]
mov esi, dword [esp + 0xe8]
mov edi, dword [esp + 0x1b4]
mov ecx, dword [esp + 0x40]
mov edx, ebp
mov ebx, dword [esp + 0xd0]
jmp 0x4c98ee
mov edx, dword [esp + 0xe0]
mov dword [esp], edx
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
xor eax, eax
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0xd0]
mov edi, dword [esp + 0x40]
jmp 0x4c9c85
lea esi, [0x620a80]
mov dword [esp], esi
mov esi, dword [esp + 0xf0]
mov dword [esp + 4], esi
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 + 0xc8]
mov edx, dword [esp + 0x40]
jmp 0x4c9c5d
mov dword [esp], ebx
mov dword [esp + 4], ebp
call dbg.runtime.writebarrierptr
xor eax, eax
mov ecx, dword [esp + 0xc8]
jmp 0x4c9c47
mov dword [esp], ecx
mov dword [esp + 4], edx
call dbg.runtime.writebarrierptr
xor eax, eax
mov ebp, dword [esp + 0xe0]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x74]
jmp 0x4c9c26
mov dword [esp], ebp
mov ebx, dword [esp + 0xcc]
mov dword [esp + 4], ebx
call dbg.runtime.writebarrierptr
xor eax, eax
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xa8]
mov ebp, dword [esp + 0xe0]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x74]
jmp 0x4c9c12
lea esi, [0x620a80]
mov dword [esp], esi
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 esi, [eax + 2]
xor eax, eax
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xa8]
jmp 0x4c9be9
lea ecx, [0x626c60]
mov dword [esp], ecx
mov dword [esp + 4], esi
lea ecx, [esp + 0x130]
mov dword [esp + 8], ecx
call dbg.runtime.typedmemmove
xor eax, eax
mov edx, dword [esp + 0xa8]
jmp 0x4c9bc4
mov dword [esp], edx
mov dword [esp + 4], ebx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x1ac]
mov esi, dword [esp + 0xc0]
jmp 0x4c9b98
lea edx, [0x626c60]
mov dword [esp], edx
call dbg.runtime.newobject
mov ecx, dword [esp + 4]
xor eax, eax
mov edx, dword [esp + 0xa8]
jmp 0x4c9bcb
call dbg.runtime.panicslice
ud2
mov dword [esp], edx
mov dword [esp + 4], ebx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x1b0]
jmp 0x4c9ae7
call dbg.runtime.panicindex
ud2
mov dword [esp], ebx
mov edx, dword [esp + 0xdc]
mov dword [esp + 4], edx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0xcc]
jmp 0x4c9a84
call dbg.runtime.panicslice
ud2
lea eax, [0x5fbea0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], 0
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edi
call dbg.runtime.growslice
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
xor eax, eax
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0x1ac]
mov ebx, dword [esp + 0x64]
mov edi, dword [esp + 0x30]
jmp 0x4c9a27
lea ecx, [0x626c60]
mov dword [esp], ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
lea ebp, [esp + 0x16c]
mov dword [esp + 8], ebp
call dbg.runtime.typedmemmove
xor eax, eax
mov edx, dword [esp + 0x1ac]
mov ebx, dword [esp + 0x64]
jmp 0x4c99fb
mov dword [esp], ebx
mov dword [esp + 4], ebp
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x1ac]
mov esi, dword [esp + 0xe8]
mov edi, dword [esp + 0xec]
jmp 0x4c99ca
lea ebx, [0x626c60]
mov dword [esp], ebx
call dbg.runtime.newobject
mov ecx, dword [esp + 4]
xor eax, eax
mov edx, dword [esp + 0x1ac]
mov ebx, dword [esp + 0x64]
jmp 0x4c9a02
call dbg.runtime.panicindex
ud2
mov ebx, dword [esp + 0x28]
jmp 0x4c980d
movzx edx, word [ecx + 2]
mov ebp, dword [ecx + 0x14]
mov esi, dword [ecx + 0x1c]
mov ecx, dword [ecx + 0x18]
and edx, 1
mov dword [esp + 0x28], ecx
mov ecx, edx
mov edx, ebp
mov ebp, esi
mov esi, dword [esp + 0x34]
jmp 0x4c9753
call dbg.runtime.panicindex
ud2
xor ebx, ebx
xor ecx, ecx
xor edx, edx
xor ebp, ebp
jmp 0x4c981d
xor eax, eax
xor ecx, ecx
xor edx, edx
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0xf0]
xor esi, esi
mov dword [esp + 0x60], eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0xc4], edx
mov dword [esp + 0x78], ebx
mov dword [esp + 0xec], ebp
mov dword [esp + 0x74], esi
mov edi, dword [esp + 0x40]
cmp eax, edi
jg 0x4ca68f
jge 0x4ca681
jae 0x4ca67a
mov ebp, dword [esp + 0xf0]
mov ebx, dword [ebp + eax*4]
movzx esi, byte [ebx]
xchg esi, eax
cmp al, 2
xchg esi, eax
jne 0x4ca636
xor ebx, ebx
mov dword [esp + 0xa4], ebx
test edx, edx
jne 0x4ca518
mov dword [esp + 0xd4], ebx
cmp eax, ecx
jne 0x4ca04c
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
mov esi, dword [esp + 0xec]
mov edi, dword [esp + 0x60]
inc edi
mov ebp, esi
mov esi, edx
mov edx, ebx
mov ebx, ecx
mov ecx, eax
mov eax, edi
jmp 0x4c9fbc
lea esi, [ecx + 1]
cmp eax, esi
jne 0x4ca165
cmp ecx, edi
jae 0x4ca15e
mov ecx, dword [ebp + ecx*4]
mov dword [esp + 0xe4], ecx
mov edx, dword [esp + 0x74]
lea esi, [edx + 1]
mov ebp, dword [esp + 0x78]
cmp esi, ebp
jg 0x4ca104
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x78], esi
mov dword [esp + 0x74], ebp
mov edi, dword [esp + 0xd0]
lea eax, [edi + edx*4]
mov dword [esp + 0xe0], eax
mov eax, dword [0x7e38e0]
test eax, eax
jne 0x4ca0d9
mov dword [edi + edx*4], ecx
mov eax, dword [esp + 0x60]
mov ecx, ebp
mov edx, esi
mov esi, edi
mov ebp, dword [esp + 0xf0]
mov edi, dword [esp + 0x40]
jmp 0x4ca036
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0xd0]
jmp 0x4ca0bf
lea edi, [0x620a80]
mov dword [esp], edi
mov edi, dword [esp + 0xec]
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call dbg.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea esi, [ecx + 1]
mov ecx, dword [esp + 0xe4]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0xd4]
mov edi, dword [esp + 0x40]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x60]
jmp 0x4ca099
call dbg.runtime.panicindex
ud2
mov esi, ecx
mov dword [esp + 0x54], ecx
cmp ecx, eax
jge 0x4ca1e1
cmp ecx, edi
jae 0x4ca511
mov ebx, dword [ebp + ecx*4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x1ac]
mov dword [esp], ebx
cmp ecx, esi
setne dl
mov byte [esp + 8], dl
call dbg.regexp/syntax.(*parser).removeLeadingRegexp
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0xf0]
lea edx, [ecx + eax*4]
mov ebx, dword [esp + 0xc]
mov ebp, dword [0x7e38e0]
test ebp, ebp
jne 0x4ca4f5
mov dword [ecx + eax*4], ebx
inc eax
mov edx, dword [esp + 0xc4]
mov ebx, dword [esp + 0xd4]
mov ebp, ecx
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x40]
mov ecx, eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x54], ecx
cmp ecx, eax
jl 0x4ca16f
cmp esi, eax
ja 0x4ca4ee
mov ecx, dword [esp + 0x44]
cmp eax, ecx
ja 0x4ca4ee
mov edi, dword [esp + 0x1ac]
mov dword [esp], edi
sub ecx, esi
shl esi, 2
lea ebx, [ecx - 1]
sar ebx, 0x1f
xor ebx, 0xffffffff
and esi, ebx
lea ebx, [esi + ebp]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x38]
sub eax, ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov byte [esp + 0x10], 0x13
call dbg.regexp/syntax.(*parser).collapse
mov eax, dword [esp + 0x14]
mov dword [esp + 0xac], eax
mov ecx, dword [esp + 0x1ac]
mov edx, dword [ecx + 0x10]
mov dword [esp + 0xb0], edx
test edx, edx
je 0x4ca4ce
mov ebx, dword [0x7e38e0]
mov ebp, dword [edx + 0x10]
mov esi, edx
lea edx, [ecx + 0x10]
test ebx, ebx
jne 0x4ca4a8
mov dword [ecx + 0x10], ebp
lea edi, [esp + 0xf4]
mov edx, eax
xor eax, eax
call fcn.00449e61
mov ecx, dword [0x7e38e0]
test ecx, ecx
jne 0x4ca47d
mov edi, esi
lea esi, [esp + 0xf4]
call fcn.0044a2ea
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0xb4], ecx
mov byte [ecx], 0x12
mov ebx, dword [ecx + 0xc]
mov ebp, dword [ecx + 4]
cmp ebx, 2
jl 0x4ca433
mov esi, 2
mov dword [esp + 0xe0], ebp
mov dword [esp + 0x70], esi
mov dword [esp + 0x6c], ebx
mov edi, dword [0x7e38e0]
test edi, edi
jne 0x4ca3fc
mov edi, dword [esp + 0xc4]
mov dword [ebp], edi
mov edi, dword [0x7e38e0]
lea eax, [ebp + 4]
test edi, edi
jne 0x4ca3d5
mov dword [ebp + 4], edx
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], ebx
mov eax, dword [0x7e38e0]
lea edx, [ecx + 4]
test eax, eax
jne 0x4ca3bd
mov dword [ecx + 4], ebp
mov eax, dword [esp + 0x74]
lea edx, [eax + 1]
mov ebx, dword [esp + 0x78]
cmp edx, ebx
jg 0x4ca379
mov ebp, dword [esp + 0xec]
mov dword [esp + 0xd0], ebp
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], ebx
lea esi, [ebp + eax*4]
mov edi, dword [0x7e38e0]
test edi, edi
jne 0x4ca35c
mov dword [ebp + eax*4], ecx
mov ebx, dword [esp + 0xd4]
mov edi, ebp
mov esi, edx
mov ebp, dword [esp + 0x74]
jmp 0x4ca0bf
mov dword [esp], esi
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0xd0]
jmp 0x4ca348
lea ebp, [0x620a80]
mov dword [esp], ebp
mov ebp, dword [esp + 0xec]
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 + 0x74]
mov ecx, dword [esp + 0xb4]
jmp 0x4ca327
mov dword [esp], edx
mov dword [esp + 4], ebp
call dbg.runtime.writebarrierptr
mov ecx, dword [esp + 0xb4]
jmp 0x4ca311
mov dword [esp], eax
mov dword [esp + 4], edx
call dbg.runtime.writebarrierptr
mov ecx, dword [esp + 0xb4]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0xe0]
mov esi, dword [esp + 0x70]
jmp 0x4ca2f7
mov dword [esp], ebp
mov edi, dword [esp + 0xc4]
mov dword [esp + 4], edi
call dbg.runtime.writebarrierptr
xor eax, eax
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0xe0]
mov esi, dword [esp + 0x70]
jmp 0x4ca2e3
lea esi, [0x620a80]
mov dword [esp], esi
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 esi, [eax + 2]
xor eax, eax
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0xac]
jmp 0x4ca2bc
lea ecx, [0x626c60]
mov dword [esp], ecx
mov dword [esp + 4], esi
lea ecx, [esp + 0xf4]
mov dword [esp + 8], ecx
call dbg.runtime.typedmemmove
xor eax, eax
mov edx, dword [esp + 0xac]
jmp 0x4ca297
mov dword [esp], edx
mov dword [esp + 4], ebp
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x1ac]
mov esi, dword [esp + 0xb0]
jmp 0x4ca26b
lea edx, [0x626c60]
mov dword [esp], edx
call dbg.runtime.newobject
mov ecx, dword [esp + 4]
xor eax, eax
mov edx, dword [esp + 0xac]
jmp 0x4ca29e
call dbg.runtime.panicslice
ud2
mov dword [esp], edx
mov dword [esp + 4], ebx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0xf0]
jmp 0x4ca1ba
call dbg.runtime.panicindex
ud2
mov dword [esp], edx
mov dword [esp + 4], ebx
call dbg.regexp/syntax.(*Regexp).Equal
movzx eax, byte [esp + 8]
test al, al
je 0x4ca62d
mov eax, dword [esp + 0xc4]
movzx ecx, byte [eax]
cmp cl, 3
jne 0x4ca604
mov edx, dword [eax + 0x18]
cmp edx, 1
jne 0x4ca604
mov edx, 1
test dl, dl
je 0x4ca583
mov ebp, dword [esp + 0xf0]
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0xc4]
mov esi, dword [esp + 0xec]
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
jmp 0x4ca036
cmp cl, 0x11
jne 0x4ca5b7
mov ecx, dword [eax + 0x28]
mov edx, dword [eax + 0x2c]
cmp ecx, edx
jne 0x4ca5b7
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
test ecx, ecx
jbe 0x4ca5fd
mov ecx, dword [edx]
movzx edx, byte [ecx]
cmp dl, 3
jne 0x4ca5dd
mov ecx, dword [ecx + 0x18]
cmp ecx, 1
jne 0x4ca5dd
mov ecx, 1
test cl, cl
jne 0x4ca559
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0xc4]
mov ebx, dword [esp + 0xa4]
mov ebp, dword [esp + 0xf0]
mov edi, dword [esp + 0x40]
jmp 0x4ca01c
cmp dl, 4
jne 0x4ca5e9
mov ecx, 1
jmp 0x4ca5b3
cmp dl, 5
jne 0x4ca5f5
mov ecx, 1
jmp 0x4ca5b3
cmp dl, 6
sete cl
jmp 0x4ca5b3
call dbg.runtime.panicindex
ud2
cmp cl, 4
jne 0x4ca613
mov edx, 1
jmp 0x4ca555
cmp cl, 5
jne 0x4ca622
mov edx, 1
jmp 0x4ca555
cmp cl, 6
sete dl
jmp 0x4ca555
mov eax, dword [esp + 0xc4]
jmp 0x4ca5b7
xchg esi, eax
cmp al, 0x12
xchg esi, eax
jne 0x4ca66e
mov esi, dword [ebx + 8]
mov ebp, dword [ebx + 4]
test esi, esi
jle 0x4ca66e
mov ebx, dword [ebp]
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 2
xchg ebp, eax
jne 0x4ca662
mov ebp, dword [esp + 0xf0]
xor ebx, ebx
jmp 0x4ca00d
mov ebp, dword [esp + 0xf0]
jmp 0x4ca00d
mov ebp, dword [esp + 0xf0]
jmp 0x4ca00d
call dbg.runtime.panicindex
ud2
mov ebp, dword [esp + 0xf0]
xor ebx, ebx
jmp 0x4ca01c
mov eax, ebp
xor ecx, ecx
xor edx, edx
xor edi, edi
mov dword [esp + 0x68], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x44], ebx
mov dword [esp + 0xf0], ebp
mov dword [esp + 0x40], edi
cmp ecx, esi
jg 0x4cabfa
jge 0x4ca6f2
jae 0x4cabf3
mov eax, dword [eax + ecx*4]
movzx esi, byte [eax]
xchg esi, eax
cmp al, 3
xchg esi, eax
jne 0x4cabc4
mov eax, dword [eax + 0x18]
cmp eax, 1
jne 0x4cabc4
mov eax, 1
test al, al
je 0x4ca6f2
inc ecx
mov eax, dword [esp + 0xec]
mov esi, dword [esp + 0x74]
jmp 0x4ca697
cmp ecx, edx
jne 0x4ca7d4
mov eax, dword [esp + 0x74]
cmp ecx, eax
mov dword [esp + 0x40], edi
jge 0x4ca7cd
jae 0x4ca7c6
mov edx, dword [esp + 0xec]
mov esi, dword [edx + ecx*4]
mov dword [esp + 0xe4], esi
lea edx, [edi + 1]
cmp edx, ebx
jg 0x4ca781
mov dword [esp + 0xd0], ebp
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], ebx
lea eax, [ebp + edi*4]
mov dword [esp + 0xe0], eax
mov eax, dword [0x7e38e0]
test eax, eax
jne 0x4ca759
mov dword [ebp + edi*4], esi
lea eax, [ecx + 1]
mov edi, edx
mov edx, eax
jmp 0x4ca6e4
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov dword [esp + 4], esi
call dbg.runtime.writebarrierptr
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0xd0]
jmp 0x4ca750
lea eax, [0x620a80]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
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 + 0x74]
mov ecx, dword [esp + 0x68]
mov esi, dword [esp + 0xe4]
mov edi, dword [esp + 0x40]
jmp 0x4ca728
call dbg.runtime.panicindex
ud2
mov edx, edi
jmp 0x4ca750
lea eax, [edx + 1]
mov dword [esp + 0x78], eax
cmp ecx, eax
jne 0x4ca8a4
mov eax, dword [esp + 0x74]
cmp edx, eax
jae 0x4ca89d
mov esi, dword [esp + 0xec]
mov edx, dword [esi + edx*4]
mov dword [esp + 0xe4], edx
lea esi, [edi + 1]
cmp esi, ebx
jg 0x4ca858
mov dword [esp + 0xd0], ebp
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], ebx
mov ebx, dword [0x7e38e0]
lea esi, [ebp + edi*4]
test ebx, ebx
jne 0x4ca839
mov dword [ebp + edi*4], edx
cmp ecx, eax
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x44]
mov edi, edx
jmp 0x4ca700
mov dword [esp], esi
mov dword [esp + 4], edx
call dbg.runtime.writebarrierptr
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x74]
cmp ecx, eax
mov ebp, dword [esp + 0xd0]
jmp 0x4ca82a
lea eax, [0x620a80]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
call dbg.runtime.growslice
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea esi, [eax + 1]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0xe4]
mov edi, dword [esp + 0x40]
jmp 0x4ca807
call dbg.runtime.panicindex
ud2
mov esi, dword [esp + 0xec]
mov dword [esp + 0x48], edx
cmp eax, ecx
jge 0x4ca91a
mov ebp, dword [esp + 0x74]
cmp edx, ebp
jae 0x4cabbd
mov ebx, dword [esi + edx*4]
movzx edi, byte [ebx]
cmp eax, ebp
jae 0x4cabbd
mov esi, dword [esi + eax*4]
movzx ebp, byte [esi]
xchg edi, eax
xchg ebp, ebx
cmp al, bl
xchg ebp, ebx
xchg edi, eax
jae 0x4caba2
mov edx, eax
inc edx
mov ebx, dword [esp + 0xec]
mov ebp, dword [esp + 0x74]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0xf0]
mov esi, dword [esp + 0xec]
mov edi, dword [esp + 0x40]
mov esi, eax
mov eax, edx
mov edx, esi
mov esi, dword [esp + 0xec]
mov dword [esp + 0x48], edx
cmp eax, ecx
jl 0x4ca8b3
mov eax, dword [esp + 0x38]
mov ebp, dword [esp + 0x74]
cmp eax, ebp
jae 0x4cab9b
mov ebx, dword [esi + eax*4]
mov dword [esp + 0xe4], ebx
lea edi, [esi + eax*4]
mov dword [esp + 0xe0], edi
cmp edx, ebp
jae 0x4cab9b
mov edi, dword [esi + edx*4]
lea ebp, [esi + edx*4]
mov dword [esp + 0xd8], ebp
mov ebp, dword [0x7e38e0]
test ebp, ebp
jne 0x4cab69
mov dword [esi + eax*4], edi
mov ebp, dword [0x7e38e0]
test ebp, ebp
jne 0x4cab42
mov dword [esi + edx*4], ebx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x4c], edx
cmp edx, ecx
jge 0x4caa0a
mov ebx, dword [esi + eax*4]
mov ebp, dword [esp + 0x74]
cmp edx, ebp
jae 0x4cab3b
mov edi, dword [esi + edx*4]
mov dword [esp + 4], edi
mov dword [esp], ebx
call dbg.regexp/syntax.mergeCharClass
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0xec]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0xbc], edx
test byte [edx], al
mov ebx, dword [0x7e38e0]
mov ebp, dword [esp + 0x1ac]
mov esi, dword [ebp + 0x10]
lea edi, [edx + 0x10]
test ebx, ebx
jne 0x4cab11
mov dword [edx + 0x10], esi
mov ebx, dword [0x7e38e0]
lea esi, [ebp + 0x10]
test ebx, ebx
jne 0x4caaee
mov dword [ebp + 0x10], edx
lea edx, [eax + 1]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x68]
mov esi, dword [esp + 0xec]
mov dword [esp + 0x4c], edx
cmp edx, ecx
jl 0x4ca985
mov edx, dword [esi + eax*4]
mov dword [esp], edx
call dbg.regexp/syntax.cleanAlt
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0xec]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0xe4], eax
mov edx, dword [esp + 0x40]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x44]
cmp ebx, ebp
jg 0x4caaa3
mov esi, dword [esp + 0xf0]
mov dword [esp + 0xd0], esi
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebp
mov edi, dword [0x7e38e0]
lea ecx, [esi + edx*4]
test edi, edi
jne 0x4caa7c
mov dword [esi + edx*4], eax
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x74]
cmp eax, ecx
mov eax, ecx
mov ecx, dword [esp + 0x68]
mov edx, ebx
mov ebp, esi
mov ebx, dword [esp + 0x44]
jmp 0x4ca832
mov dword [esp], ecx
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x74]
cmp eax, ecx
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0xd0]
jmp 0x4caa69
lea esi, [0x620a80]
mov dword [esp], esi
mov esi, dword [esp + 0xf0]
mov dword [esp + 4], esi
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]
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0x40]
jmp 0x4caa40
mov dword [esp], esi
mov dword [esp + 4], edx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0xec]
mov ebp, dword [esp + 0x1ac]
jmp 0x4ca9ec
mov dword [esp], edi
mov dword [esp + 4], esi
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xbc]
mov ebp, dword [esp + 0x1ac]
jmp 0x4ca9d8
call dbg.runtime.panicindex
ud2
mov edx, dword [esp + 0xd8]
mov dword [esp], edx
mov dword [esp + 4], ebx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x68]
mov esi, dword [esp + 0xec]
jmp 0x4ca975
mov ebp, dword [esp + 0xe0]
mov dword [esp], ebp
mov dword [esp + 4], edi
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0xe4]
mov esi, dword [esp + 0xec]
jmp 0x4ca964
call dbg.runtime.panicindex
ud2
jne 0x4cabb2
mov ebx, dword [ebx + 0x18]
mov ebp, dword [esi + 0x18]
cmp ebx, ebp
jl 0x4ca8e1
mov edx, eax
mov eax, dword [esp + 0x48]
jmp 0x4ca8e3
call dbg.runtime.panicindex
ud2
xchg esi, eax
cmp al, 4
xchg esi, eax
jne 0x4cabd5
mov eax, 1
jmp 0x4ca6e0
xchg esi, eax
cmp al, 5
xchg esi, eax
jne 0x4cabe6
mov eax, 1
jmp 0x4ca6e0
xchg esi, eax
cmp al, 6
xchg esi, eax
sete al
jmp 0x4ca6e0
call dbg.runtime.panicindex
ud2
mov eax, ebp
xor ecx, ecx
xor edx, edx
mov dword [esp + 0xec], ebp
mov dword [esp + 0x78], edx
cmp ecx, edi
jge 0x4cac69
lea esi, [ecx + 1]
mov dword [esp + 0x74], esi
cmp esi, edi
jge 0x4cad8a
cmp ecx, edi
jae 0x4cad7c
mov ebp, dword [eax + ecx*4]
movzx ebp, byte [ebp]
xchg ebp, eax
cmp al, 2
xchg ebp, eax
jne 0x4cad83
cmp esi, edi
jae 0x4cad7c
mov ebp, dword [eax + ecx*4 + 4]
movzx ebp, byte [ebp]
xchg ebp, eax
cmp al, 2
xchg ebp, eax
jne 0x4cac85
mov ecx, dword [esp + 0xec]
mov ebp, ecx
mov ecx, esi
mov dword [esp + 0xec], ebp
mov dword [esp + 0x78], edx
cmp ecx, edi
jl 0x4cac0f
mov dword [esp + 0x1c0], ebp
mov dword [esp + 0x1c4], edx
mov dword [esp + 0x1c8], ebx
add esp, 0x1a8
ret
cmp ecx, edi
jae 0x4cad75
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0xe4], ecx
lea ebp, [edx + 1]
cmp ebp, ebx
jg 0x4cad1b
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x78], ebp
mov dword [esp + 0x44], ebx
mov eax, dword [esp + 0xd0]
lea edi, [eax + edx*4]
mov dword [esp + 0xe0], edi
mov edi, dword [0x7e38e0]
test edi, edi
jne 0x4cacf3
mov dword [eax + edx*4], ecx
mov eax, dword [esp + 0xf0]
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0xd0]
mov edx, ebp
jmp 0x4cac56
mov edx, dword [esp + 0xe0]
mov dword [esp], edx
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0xd0]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x74]
jmp 0x4cacda
lea eax, [0x620a80]
mov dword [esp], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call dbg.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea ebp, [ecx + 1]
mov ecx, dword [esp + 0xe4]
mov edx, dword [esp + 0x78]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x40]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0xf0]
jmp 0x4cacb4
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
cmp ecx, edi
jmp 0x4cac87
cmp ecx, edi
jmp 0x4cac87
mov eax, dword [esp + 0x1b0]
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1c4], ecx
mov eax, dword [esp + 0x1b8]
mov dword [esp + 0x1c8], eax
add esp, 0x1a8
ret
call dbg.runtime.morestack_noctxt
jmp dbg.regexp/syntax.(*parser).factor