Function at 0x674a60
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 0x67619b
sub esp, 0x1a8
mov ecx, dword [esp + 0x1b4]
cmp ecx, 2
jl 0x676171
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 0x675389
jge 0x67537c
jae 0x675375
mov ecx, dword [esp + 0x1b0]
mov ecx, dword [ecx + eax*4]
movzx edx, byte [ecx]
cmp dl, 0x12
jne 0x674b0d
mov edx, dword [ecx + 8]
mov ebp, dword [ecx + 4]
test edx, edx
jle 0x674b0d
mov ecx, dword [ebp]
movzx edx, byte [ecx]
cmp dl, 3
je 0x675352
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 0x675349
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 0x674bba
mov ebx, dword [esp + 0x28]
cmp ecx, ebx
jge 0x674bbe
cmp ecx, ebp
jae 0x675342
mov ebp, dword [edi + ecx*4]
cmp ecx, ebx
jae 0x675342
mov edx, dword [edx + ecx*4]
cmp ebp, edx
jne 0x674bbe
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 0x674b6c
mov ebx, dword [esp + 0x28]
test ecx, ecx
jle 0x674bed
cmp ecx, esi
ja 0x674be6
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 0x674abe
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 0x674c44
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 0x674bd3
lea edx, [ecx + 1]
cmp eax, edx
jne 0x674d7a
mov edx, dword [esp + 0x1b4]
cmp ecx, edx
jae 0x674d73
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 0x674d16
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 [0xc93940]
test ebp, ebp
jne 0x674ce8
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 0x674c26
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 0x674cc6
lea edi, [0x94dac0]
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 0x674ca0
call dbg.runtime.panicindex
ud2
mov edx, dword [esp + 0x1ac]
mov ebx, dword [edx + 0x10]
mov dword [esp + 0xb8], ebx
test ebx, ebx
je 0x67531e
mov ebp, dword [ebx + 0x10]
mov ecx, dword [0xc93940]
lea ebx, [edx + 0x10]
test ecx, ecx
jne 0x6752f4
mov dword [edx + 0x10], ebp
lea edi, [esp + 0x16c]
mov ebx, eax
xor eax, eax
call fcn.0044f081
mov ecx, dword [0xc93940]
test ecx, ecx
jne 0x6752be
mov edi, dword [esp + 0xb8]
lea esi, [esp + 0x16c]
call fcn.0044f50a
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 0x675277
mov dword [esp + 0xdc], esi
mov dword [esp + 0x78], ebp
cmp edi, ebp
ja 0x675270
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 [0xc93940]
lea ebx, [ecx + 0x14]
test edx, edx
jne 0x67524d
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 0x674ee1
mov ebp, dword [esp + 0x1b4]
cmp edx, ebp
jae 0x675246
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 [0xc93940]
test ebp, ebp
jne 0x67522a
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 0x674e74
mov eax, dword [esp + 0x38]
cmp eax, ebx
ja 0x675223
mov edx, dword [esp + 0x1b8]
cmp ebx, edx
ja 0x675223
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 0x675203
mov ebx, dword [edx + 0x10]
mov ebp, dword [0xc93940]
mov esi, edx
lea edx, [ecx + 0x10]
test ebp, ebp
jne 0x6751dd
mov dword [ecx + 0x10], ebx
lea edi, [esp + 0x130]
mov edx, eax
xor eax, eax
call fcn.0044f081
mov ecx, dword [0xc93940]
test ecx, ecx
jne 0x6751b2
mov edi, esi
lea esi, [esp + 0x130]
call fcn.0044f50a
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 0x675168
mov esi, 2
mov dword [esp + 0xe0], ebp
mov dword [esp + 0x78], esi
mov dword [esp + 0x74], ebx
mov edi, ebx
mov ebx, dword [0xc93940]
test ebx, ebx
jne 0x675131
mov ebx, dword [esp + 0xcc]
mov dword [ebp], ebx
mov ebx, dword [0xc93940]
lea ecx, [ebp + 4]
test ebx, ebx
jne 0x67510f
mov dword [ebp + 4], edx
mov ecx, dword [esp + 0xc8]
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], edi
mov edx, dword [0xc93940]
lea ebx, [ecx + 4]
test edx, edx
jne 0x6750f5
mov dword [ecx + 4], ebp
mov edx, dword [esp + 0x40]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x44]
cmp ebx, ebp
jg 0x6750af
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 [0xc93940]
test ebx, ebx
jne 0x675089
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 0x674cce
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 0x675065
lea esi, [0x94dac0]
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 0x67503d
mov dword [esp], ebx
mov dword [esp + 4], ebp
call dbg.runtime.writebarrierptr
xor eax, eax
mov ecx, dword [esp + 0xc8]
jmp 0x675027
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 0x675006
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 0x674ff2
lea esi, [0x94dac0]
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 0x674fc9
lea ecx, [0x95f320]
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 0x674fa4
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 0x674f78
lea edx, [0x95f320]
mov dword [esp], edx
call dbg.runtime.newobject
mov ecx, dword [esp + 4]
xor eax, eax
mov edx, dword [esp + 0xa8]
jmp 0x674fab
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 0x674ec7
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 0x674e64
call dbg.runtime.panicslice
ud2
lea eax, [0x8e8ae0]
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 0x674e07
lea ecx, [0x95f320]
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 0x674ddb
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 0x674daa
lea ebx, [0x95f320]
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 0x674de2
call dbg.runtime.panicindex
ud2
mov ebx, dword [esp + 0x28]
jmp 0x674bed
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 0x674b33
call dbg.runtime.panicindex
ud2
xor ebx, ebx
xor ecx, ecx
xor edx, edx
xor ebp, ebp
jmp 0x674bfd
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 0x675a6f
jge 0x675a61
jae 0x675a5a
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 0x675a16
xor ebx, ebx
mov dword [esp + 0xa4], ebx
test edx, edx
jne 0x6758f8
mov dword [esp + 0xd4], ebx
cmp eax, ecx
jne 0x67542c
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 0x67539c
lea esi, [ecx + 1]
cmp eax, esi
jne 0x675545
cmp ecx, edi
jae 0x67553e
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 0x6754e4
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 [0xc93940]
test eax, eax
jne 0x6754b9
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 0x675416
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 0x67549f
lea edi, [0x94dac0]
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 0x675479
call dbg.runtime.panicindex
ud2
mov esi, ecx
mov dword [esp + 0x54], ecx
cmp ecx, eax
jge 0x6755c1
cmp ecx, edi
jae 0x6758f1
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 [0xc93940]
test ebp, ebp
jne 0x6758d5
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 0x67554f
cmp esi, eax
ja 0x6758ce
mov ecx, dword [esp + 0x44]
cmp eax, ecx
ja 0x6758ce
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 0x6758ae
mov ebx, dword [0xc93940]
mov ebp, dword [edx + 0x10]
mov esi, edx
lea edx, [ecx + 0x10]
test ebx, ebx
jne 0x675888
mov dword [ecx + 0x10], ebp
lea edi, [esp + 0xf4]
mov edx, eax
xor eax, eax
call fcn.0044f081
mov ecx, dword [0xc93940]
test ecx, ecx
jne 0x67585d
mov edi, esi
lea esi, [esp + 0xf4]
call fcn.0044f50a
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 0x675813
mov esi, 2
mov dword [esp + 0xe0], ebp
mov dword [esp + 0x70], esi
mov dword [esp + 0x6c], ebx
mov edi, dword [0xc93940]
test edi, edi
jne 0x6757dc
mov edi, dword [esp + 0xc4]
mov dword [ebp], edi
mov edi, dword [0xc93940]
lea eax, [ebp + 4]
test edi, edi
jne 0x6757b5
mov dword [ebp + 4], edx
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], ebx
mov eax, dword [0xc93940]
lea edx, [ecx + 4]
test eax, eax
jne 0x67579d
mov dword [ecx + 4], ebp
mov eax, dword [esp + 0x74]
lea edx, [eax + 1]
mov ebx, dword [esp + 0x78]
cmp edx, ebx
jg 0x675759
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 [0xc93940]
test edi, edi
jne 0x67573c
mov dword [ebp + eax*4], ecx
mov ebx, dword [esp + 0xd4]
mov edi, ebp
mov esi, edx
mov ebp, dword [esp + 0x74]
jmp 0x67549f
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 0x675728
lea ebp, [0x94dac0]
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 0x675707
mov dword [esp], edx
mov dword [esp + 4], ebp
call dbg.runtime.writebarrierptr
mov ecx, dword [esp + 0xb4]
jmp 0x6756f1
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 0x6756d7
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 0x6756c3
lea esi, [0x94dac0]
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 0x67569c
lea ecx, [0x95f320]
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 0x675677
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 0x67564b
lea edx, [0x95f320]
mov dword [esp], edx
call dbg.runtime.newobject
mov ecx, dword [esp + 4]
xor eax, eax
mov edx, dword [esp + 0xac]
jmp 0x67567e
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 0x67559a
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 0x675a0d
mov eax, dword [esp + 0xc4]
movzx ecx, byte [eax]
cmp cl, 3
jne 0x6759e4
mov edx, dword [eax + 0x18]
cmp edx, 1
jne 0x6759e4
mov edx, 1
test dl, dl
je 0x675963
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 0x675416
cmp cl, 0x11
jne 0x675997
mov ecx, dword [eax + 0x28]
mov edx, dword [eax + 0x2c]
cmp ecx, edx
jne 0x675997
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
test ecx, ecx
jbe 0x6759dd
mov ecx, dword [edx]
movzx edx, byte [ecx]
cmp dl, 3
jne 0x6759bd
mov ecx, dword [ecx + 0x18]
cmp ecx, 1
jne 0x6759bd
mov ecx, 1
test cl, cl
jne 0x675939
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 0x6753fc
cmp dl, 4
jne 0x6759c9
mov ecx, 1
jmp 0x675993
cmp dl, 5
jne 0x6759d5
mov ecx, 1
jmp 0x675993
cmp dl, 6
sete cl
jmp 0x675993
call dbg.runtime.panicindex
ud2
cmp cl, 4
jne 0x6759f3
mov edx, 1
jmp 0x675935
cmp cl, 5
jne 0x675a02
mov edx, 1
jmp 0x675935
cmp cl, 6
sete dl
jmp 0x675935
mov eax, dword [esp + 0xc4]
jmp 0x675997
xchg esi, eax
cmp al, 0x12
xchg esi, eax
jne 0x675a4e
mov esi, dword [ebx + 8]
mov ebp, dword [ebx + 4]
test esi, esi
jle 0x675a4e
mov ebx, dword [ebp]
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 2
xchg ebp, eax
jne 0x675a42
mov ebp, dword [esp + 0xf0]
xor ebx, ebx
jmp 0x6753ed
mov ebp, dword [esp + 0xf0]
jmp 0x6753ed
mov ebp, dword [esp + 0xf0]
jmp 0x6753ed
call dbg.runtime.panicindex
ud2
mov ebp, dword [esp + 0xf0]
xor ebx, ebx
jmp 0x6753fc
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 0x675fda
jge 0x675ad2
jae 0x675fd3
mov eax, dword [eax + ecx*4]
movzx esi, byte [eax]
xchg esi, eax
cmp al, 3
xchg esi, eax
jne 0x675fa4
mov eax, dword [eax + 0x18]
cmp eax, 1
jne 0x675fa4
mov eax, 1
test al, al
je 0x675ad2
inc ecx
mov eax, dword [esp + 0xec]
mov esi, dword [esp + 0x74]
jmp 0x675a77
cmp ecx, edx
jne 0x675bb4
mov eax, dword [esp + 0x74]
cmp ecx, eax
mov dword [esp + 0x40], edi
jge 0x675bad
jae 0x675ba6
mov edx, dword [esp + 0xec]
mov esi, dword [edx + ecx*4]
mov dword [esp + 0xe4], esi
lea edx, [edi + 1]
cmp edx, ebx
jg 0x675b61
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 [0xc93940]
test eax, eax
jne 0x675b39
mov dword [ebp + edi*4], esi
lea eax, [ecx + 1]
mov edi, edx
mov edx, eax
jmp 0x675ac4
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 0x675b30
lea eax, [0x94dac0]
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 0x675b08
call dbg.runtime.panicindex
ud2
mov edx, edi
jmp 0x675b30
lea eax, [edx + 1]
mov dword [esp + 0x78], eax
cmp ecx, eax
jne 0x675c84
mov eax, dword [esp + 0x74]
cmp edx, eax
jae 0x675c7d
mov esi, dword [esp + 0xec]
mov edx, dword [esi + edx*4]
mov dword [esp + 0xe4], edx
lea esi, [edi + 1]
cmp esi, ebx
jg 0x675c38
mov dword [esp + 0xd0], ebp
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], ebx
mov ebx, dword [0xc93940]
lea esi, [ebp + edi*4]
test ebx, ebx
jne 0x675c19
mov dword [ebp + edi*4], edx
cmp ecx, eax
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x44]
mov edi, edx
jmp 0x675ae0
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 0x675c0a
lea eax, [0x94dac0]
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 0x675be7
call dbg.runtime.panicindex
ud2
mov esi, dword [esp + 0xec]
mov dword [esp + 0x48], edx
cmp eax, ecx
jge 0x675cfa
mov ebp, dword [esp + 0x74]
cmp edx, ebp
jae 0x675f9d
mov ebx, dword [esi + edx*4]
movzx edi, byte [ebx]
cmp eax, ebp
jae 0x675f9d
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 0x675f82
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 0x675c93
mov eax, dword [esp + 0x38]
mov ebp, dword [esp + 0x74]
cmp eax, ebp
jae 0x675f7b
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 0x675f7b
mov edi, dword [esi + edx*4]
lea ebp, [esi + edx*4]
mov dword [esp + 0xd8], ebp
mov ebp, dword [0xc93940]
test ebp, ebp
jne 0x675f49
mov dword [esi + eax*4], edi
mov ebp, dword [0xc93940]
test ebp, ebp
jne 0x675f22
mov dword [esi + edx*4], ebx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x4c], edx
cmp edx, ecx
jge 0x675dea
mov ebx, dword [esi + eax*4]
mov ebp, dword [esp + 0x74]
cmp edx, ebp
jae 0x675f1b
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 [0xc93940]
mov ebp, dword [esp + 0x1ac]
mov esi, dword [ebp + 0x10]
lea edi, [edx + 0x10]
test ebx, ebx
jne 0x675ef1
mov dword [edx + 0x10], esi
mov ebx, dword [0xc93940]
lea esi, [ebp + 0x10]
test ebx, ebx
jne 0x675ece
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 0x675d65
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 0x675e83
mov esi, dword [esp + 0xf0]
mov dword [esp + 0xd0], esi
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebp
mov edi, dword [0xc93940]
lea ecx, [esi + edx*4]
test edi, edi
jne 0x675e5c
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 0x675c12
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 0x675e49
lea esi, [0x94dac0]
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 0x675e20
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 0x675dcc
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 0x675db8
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 0x675d55
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 0x675d44
call dbg.runtime.panicindex
ud2
jne 0x675f92
mov ebx, dword [ebx + 0x18]
mov ebp, dword [esi + 0x18]
cmp ebx, ebp
jl 0x675cc1
mov edx, eax
mov eax, dword [esp + 0x48]
jmp 0x675cc3
call dbg.runtime.panicindex
ud2
xchg esi, eax
cmp al, 4
xchg esi, eax
jne 0x675fb5
mov eax, 1
jmp 0x675ac0
xchg esi, eax
cmp al, 5
xchg esi, eax
jne 0x675fc6
mov eax, 1
jmp 0x675ac0
xchg esi, eax
cmp al, 6
xchg esi, eax
sete al
jmp 0x675ac0
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 0x676049
lea esi, [ecx + 1]
mov dword [esp + 0x74], esi
cmp esi, edi
jge 0x67616a
cmp ecx, edi
jae 0x67615c
mov ebp, dword [eax + ecx*4]
movzx ebp, byte [ebp]
xchg ebp, eax
cmp al, 2
xchg ebp, eax
jne 0x676163
cmp esi, edi
jae 0x67615c
mov ebp, dword [eax + ecx*4 + 4]
movzx ebp, byte [ebp]
xchg ebp, eax
cmp al, 2
xchg ebp, eax
jne 0x676065
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 0x675fef
mov dword [esp + 0x1c0], ebp
mov dword [esp + 0x1c4], edx
mov dword [esp + 0x1c8], ebx
add esp, 0x1a8
ret
cmp ecx, edi
jae 0x676155
mov ecx, dword [eax + ecx*4]
mov dword [esp + 0xe4], ecx
lea ebp, [edx + 1]
cmp ebp, ebx
jg 0x6760fb
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 [0xc93940]
test edi, edi
jne 0x6760d3
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 0x676036
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 0x6760ba
lea eax, [0x94dac0]
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 0x676094
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
cmp ecx, edi
jmp 0x676067
cmp ecx, edi
jmp 0x676067
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