Function at 0x676910
Capabilities:
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x3c]
cmp eax, dword [ecx + 8]
jbe 0x677848
sub esp, 0xbc
movzx eax, word [esp + 0xc8]
test ax, 2
jne 0x6777b3
lea ecx, [0x949aa0]
mov dword [esp], ecx
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x7c], eax
movzx ecx, word [esp + 0xc8]
mov word [eax], cx
mov ecx, dword [esp + 0xc4]
mov dword [eax + 0x1c], ecx
mov edx, dword [0xc93940]
lea ebx, [eax + 0x18]
test edx, edx
jne 0x677789
mov edx, dword [esp + 0xc0]
mov dword [eax + 0x18], edx
mov ebx, edx
mov ebp, ecx
xor esi, esi
xor edi, edi
xor ecx, ecx
mov dword [esp + 0x4c], ecx
mov ecx, ebp
mov dword [esp + 0x74], edx
mov dword [esp + 0x50], ecx
xchg esi, eax
mov byte [esp + 0x3b], al
xchg esi, eax
mov dword [esp + 0x70], edi
test ecx, ecx
je 0x67765a
movzx ebx, byte [edx]
cmp bl, 0x2e
ja 0x676d0b
cmp bl, 0x28
ja 0x676b75
cmp bl, 0x24
jne 0x676a43
movzx ebx, word [eax]
test bx, 0x10
je 0x676a34
mov dword [esp], eax
mov byte [esp + 4], 0xa
call dbg.regexp/syntax.(*parser).op
mov eax, dword [esp + 8]
movzx ecx, word [eax + 2]
or ecx, 0x100
mov word [eax + 2], cx
mov ecx, dword [esp + 0x50]
lea edx, [ecx - 2]
sar edx, 0x1f
xor edx, 0xffffffff
and edx, 1
mov ebx, dword [esp + 0x74]
add edx, ebx
dec ecx
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
mov esi, eax
mov edi, ebp
mov dword [esp + 0x4c], ebx
mov eax, dword [esp + 0x7c]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xc4]
jmp 0x676998
mov dword [esp], eax
mov byte [esp + 4], 8
call dbg.regexp/syntax.(*parser).op
jmp 0x6769f5
cmp bl, 0x28
jne 0x676b03
movzx ebx, word [eax]
test bx, 0x40
je 0x676a64
cmp ecx, 2
jl 0x676a64
movzx ebx, byte [edx + 1]
cmp bl, 0x3f
je 0x676aad
mov ebx, dword [eax + 0x14]
inc ebx
mov dword [eax + 0x14], ebx
mov dword [esp], eax
mov byte [esp + 4], pe_nt_image_headers32
call dbg.regexp/syntax.(*parser).op
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x7c]
mov edx, dword [ecx + 0x14]
mov dword [eax + 0x30], edx
mov eax, dword [esp + 0x50]
lea edx, [eax - 2]
sar edx, 0x1f
xor edx, 0xffffffff
and edx, 1
mov ebx, dword [esp + 0x74]
add edx, ebx
dec eax
mov ecx, eax
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x676a15
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call dbg.regexp/syntax.(*parser).parsePerlFlags
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
test eax, eax
jne 0x676ae3
mov ecx, edx
movzx eax, byte [esp + 0x3b]
xor ebp, ebp
mov edx, ebx
xor ebx, ebx
jmp 0x676a15
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], ecx
add esp, 0xbc
ret
mov dword [esp], edx
mov dword [esp + 4], ecx
call dbg.regexp/syntax.nextRune
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x3c], ebx
mov ebp, dword [esp + 0xc]
mov dword [esp + 0x58], ebp
test edx, edx
jne 0x676b55
mov ecx, dword [esp + 0x7c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dbg.regexp/syntax.(*parser).literal
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x3c]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x676a15
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], edx
mov dword [esp + 0xd4], ecx
add esp, 0xbc
ret
cmp bl, 0x29
je 0x676cb0
lea ebp, [ebx - 0x2a]
xchg ebp, eax
cmp al, 1
xchg ebp, eax
jbe 0x676be6
cmp bl, 0x2e
jne 0x676bda
movzx ebx, word [eax]
test bx, 8
je 0x676bcb
mov dword [esp], eax
mov byte [esp + 4], 6
call dbg.regexp/syntax.(*parser).op
mov eax, dword [esp + 0x50]
lea ecx, [eax - 2]
sar ecx, 0x1f
xor ecx, 0xffffffff
and ecx, 1
mov edx, dword [esp + 0x74]
add edx, ecx
lea ecx, [eax - 1]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x676a15
mov dword [esp], eax
mov byte [esp + 4], 5
call dbg.regexp/syntax.(*parser).op
jmp 0x676ba4
mov ebp, dword [esp + 0xc4]
jmp 0x676b03
cmp bl, 0x2a
jne 0x676c8b
mov ebx, 0xe
mov byte [esp + 0x3b], bl
mov dword [esp], eax
mov byte [esp + 4], bl
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
lea ebp, [ecx - 2]
sar ebp, 0x1f
xor ebp, 0xffffffff
and ebp, 1
add ebp, edx
mov dword [esp + 0x18], ebp
lea ebp, [ecx - 1]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], edi
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x24], ebp
call dbg.regexp/syntax.(*parser).repeat
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x2c]
test edx, edx
jne 0x676c6b
mov edx, eax
mov ecx, ebx
movzx eax, byte [esp + 0x3b]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x74]
jmp 0x676a15
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], edx
mov dword [esp + 0xd4], ecx
add esp, 0xbc
ret
cmp bl, 0x2b
jne 0x676c9a
mov ebx, 0xf
jmp 0x676bf4
cmp bl, 0x3f
jne 0x676ca9
mov ebx, 0x10
jmp 0x676bf4
mov ebx, esi
jmp 0x676bf4
mov dword [esp], eax
call dbg.regexp/syntax.(*parser).parseRightParen
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
test ecx, ecx
jne 0x676ceb
mov eax, dword [esp + 0x50]
lea ecx, [eax - 2]
sar ecx, 0x1f
xor ecx, 0xffffffff
and ecx, 1
mov edx, dword [esp + 0x74]
add edx, ecx
lea ecx, [eax - 1]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x676a15
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
add esp, 0xbc
ret
cmp bl, 0x5c
ja 0x6773d7
cmp bl, 0x3f
je 0x676be6
cmp bl, 0x5b
je 0x677381
cmp bl, 0x5c
jne 0x676b03
movzx ebx, word [eax]
test bx, 0x40
je 0x676d66
cmp ecx, 2
jl 0x676d66
movzx ebx, byte [edx + 1]
cmp bl, 0x43
ja 0x6771d8
cmp bl, 0x41
je 0x6771a4
cmp bl, 0x42
je 0x677170
cmp bl, 0x43
je 0x6770d2
mov ebx, dword [eax + 0x10]
mov dword [esp + 0x68], ebx
test ebx, ebx
je 0x6770b5
mov edi, ebp
mov ebp, dword [0xc93940]
mov edx, dword [ebx + 0x10]
lea ecx, [eax + 0x10]
test ebp, ebp
jne 0x677090
mov dword [eax + 0x10], edx
lea edi, [esp + 0x80]
mov edx, eax
xor eax, eax
call fcn.0044f081
mov ecx, dword [0xc93940]
test ecx, ecx
jne 0x677064
mov edi, ebx
lea esi, [esp + 0x80]
call fcn.0044f50a
mov dword [esp + 0x6c], ebx
mov byte [ebx], 4
movzx ecx, word [edx]
mov word [ebx + 2], cx
mov ecx, dword [esp + 0x50]
cmp ecx, 2
jl 0x67705b
mov ebp, dword [esp + 0x74]
movzx esi, byte [ebp + 1]
xchg esi, eax
cmp al, 0x70
xchg esi, eax
je 0x676f75
xchg esi, eax
cmp al, 0x50
xchg esi, eax
je 0x676f75
lea esi, [ebx + 0x20]
test byte [esi], al
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 2
call dbg.regexp/syntax.(*parser).parsePerlClassEscape
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x64], edx
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x18]
test ebp, ebp
je 0x676e96
mov esi, dword [esp + 0x6c]
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], ebx
mov eax, dword [0xc93940]
lea ebx, [esi + 0x14]
test eax, eax
jne 0x676e7c
mov dword [esi + 0x14], ebp
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], esi
call dbg.regexp/syntax.(*parser).push
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x48]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x676a15
mov dword [esp], ebx
mov dword [esp + 4], ebp
call dbg.runtime.writebarrierptr
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x64]
mov esi, dword [esp + 0x6c]
jmp 0x676e56
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax + 0x10]
mov edx, dword [0xc93940]
mov ebx, dword [esp + 0x6c]
lea ebp, [ebx + 0x10]
test edx, edx
jne 0x676f5c
mov dword [ebx + 0x10], ecx
mov ecx, dword [0xc93940]
lea edx, [eax + 0x10]
test ecx, ecx
jne 0x676f47
mov dword [eax + 0x10], ebx
mov dword [esp], eax
mov ecx, dword [esp + 0x74]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], ecx
call dbg.regexp/syntax.(*parser).parseEscape
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x3c], edx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x58], ebx
mov ebp, dword [esp + 0x1c]
test ecx, ecx
jne 0x676f27
mov ecx, dword [esp + 0x7c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dbg.regexp/syntax.(*parser).literal
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x3c]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x676a15
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], ebp
add esp, 0xbc
ret
mov dword [esp], edx
mov dword [esp + 4], ebx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x7c]
jmp 0x676ec9
mov dword [esp], ebp
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x7c]
mov ebx, dword [esp + 0x6c]
jmp 0x676eb5
lea esi, [ebx + 0x20]
test byte [esi], al
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 2
call dbg.regexp/syntax.(*parser).parseUnicodeClass
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x40], edx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x5c], ebx
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
test ecx, ecx
jne 0x67703b
test esi, esi
je 0x677024
mov eax, dword [esp + 0x6c]
mov dword [eax + 0x18], edi
mov dword [eax + 0x1c], ebp
mov ecx, dword [0xc93940]
lea ebp, [eax + 0x14]
test ecx, ecx
jne 0x67700a
mov dword [eax + 0x14], esi
mov ecx, dword [esp + 0x7c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dbg.regexp/syntax.(*parser).push
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x40]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x676a15
mov dword [esp], ebp
mov dword [esp + 4], esi
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x5c]
jmp 0x676fe4
xor eax, eax
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x74]
jmp 0x676df3
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
add esp, 0xbc
ret
mov ebp, dword [esp + 0x74]
jmp 0x676df3
lea ecx, [0x95f320]
mov dword [esp], ecx
mov dword [esp + 4], ebx
lea ecx, [esp + 0x80]
mov dword [esp + 8], ecx
call dbg.runtime.typedmemmove
xor eax, eax
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x68]
jmp 0x676dba
mov dword [esp], ecx
mov dword [esp + 4], edx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x7c]
mov ebx, dword [esp + 0x68]
movzx esi, byte [esp + 0x3b]
mov edi, dword [esp + 0xc4]
jmp 0x676d8e
lea ebx, [0x95f320]
mov dword [esp], ebx
call dbg.runtime.newobject
mov ebx, dword [esp + 4]
xor eax, eax
mov edx, dword [esp + 0x7c]
jmp 0x676dba
lea eax, [0x919420]
mov dword [esp], eax
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x78], eax
mov dword [eax + 4], 0x17
mov ecx, dword [0xc93940]
test ecx, ecx
jne 0x677158
lea ecx, [0x99634c]
mov dword [eax], ecx
mov dword [eax + 0xc], 2
mov ecx, dword [0xc93940]
lea edx, [eax + 8]
test ecx, ecx
jne 0x677142
mov ecx, dword [esp + 0x74]
mov dword [eax + 8], ecx
mov dword [esp + 0xcc], 0
lea ecx, [0xc48f80]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
add esp, 0xbc
ret
mov dword [esp], edx
mov ecx, dword [esp + 0x74]
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x78]
jmp 0x67711c
mov dword [esp], eax
lea ecx, [0x99634c]
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x78]
jmp 0x677101
mov dword [esp], eax
mov byte [esp + 4], 0xc
call dbg.regexp/syntax.(*parser).op
mov eax, dword [esp + 0x50]
lea ecx, [eax - 3]
sar ecx, 0x1f
xor ecx, 0xffffffff
and ecx, 2
mov edx, dword [esp + 0x74]
add edx, ecx
lea ecx, [eax - 2]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x676a15
mov dword [esp], eax
mov byte [esp + 4], 9
call dbg.regexp/syntax.(*parser).op
mov eax, dword [esp + 0x50]
lea ecx, [eax - 3]
sar ecx, 0x1f
xor ecx, 0xffffffff
and ecx, 2
mov edx, dword [esp + 0x74]
add edx, ecx
lea ecx, [eax - 2]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x676a15
cmp bl, 0x51
je 0x677254
cmp bl, 0x62
je 0x677220
cmp bl, 0x7a
je 0x6771ec
jmp 0x676d66
mov dword [esp], eax
mov byte [esp + 4], 0xa
call dbg.regexp/syntax.(*parser).op
mov eax, dword [esp + 0x50]
lea ecx, [eax - 3]
sar ecx, 0x1f
xor ecx, 0xffffffff
and ecx, 2
mov edx, dword [esp + 0x74]
add edx, ecx
lea ecx, [eax - 2]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x676a15
mov dword [esp], eax
mov byte [esp + 4], 0xb
call dbg.regexp/syntax.(*parser).op
mov eax, dword [esp + 0x50]
lea ecx, [eax - 3]
sar ecx, 0x1f
xor ecx, 0xffffffff
and ecx, 2
mov edx, dword [esp + 0x74]
add edx, ecx
lea ecx, [eax - 2]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x676a15
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ebx, [0x985cb6]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 2
call dbg.strings.Index
mov eax, dword [esp + 0x10]
test eax, eax
jge 0x677329
mov ecx, dword [esp + 0x50]
lea edx, [ecx - 3]
sar edx, 0x1f
xor edx, 0xffffffff
and edx, 2
mov ebx, dword [esp + 0x74]
add edx, ebx
add ecx, 0xfffffffe
xor eax, eax
xor ebx, ebx
mov dword [esp + 0x58], eax
mov dword [esp + 0x3c], ebx
test ecx, ecx
je 0x6772f7
mov dword [esp], edx
mov dword [esp + 4], ecx
call dbg.regexp/syntax.nextRune
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x44], edx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x60], ebx
mov ebp, dword [esp + 8]
test ecx, ecx
jne 0x677309
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], ebp
call dbg.regexp/syntax.(*parser).literal
mov eax, dword [esp + 0x58]
mov ebx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x60]
test ecx, ecx
jne 0x6772a7
mov edx, eax
mov ecx, ebx
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x676a15
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
add esp, 0xbc
ret
cmp eax, 2
jb 0x67737a
mov ecx, dword [esp + 0x50]
cmp eax, ecx
ja 0x67737a
lea edx, [eax - 3]
sar edx, 0x1f
xor edx, 0xffffffff
and edx, 2
mov ebx, dword [esp + 0x74]
add edx, ebx
lea ebp, [eax - 2]
mov esi, edx
lea edx, [eax + 2]
cmp edx, ecx
ja 0x677373
sub ecx, edx
mov eax, ebp
lea ebp, [ecx - 1]
sar ebp, 0x1f
xor ebp, 0xffffffff
and edx, ebp
lea ebp, [edx + ebx]
mov ebx, ecx
mov ecx, eax
mov edx, esi
mov eax, ebp
jmp 0x67729b
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicslice
ud2
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call dbg.regexp/syntax.(*parser).parseClass
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
test ecx, ecx
jne 0x6773b7
mov ecx, edx
movzx eax, byte [esp + 0x3b]
xor ebp, ebp
mov edx, ebx
xor ebx, ebx
jmp 0x676a15
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
add esp, 0xbc
ret
cmp bl, 0x5e
jne 0x677429
movzx ebx, word [eax]
test bx, 0x10
je 0x67741a
mov dword [esp], eax
mov byte [esp + 4], 9
call dbg.regexp/syntax.(*parser).op
mov eax, dword [esp + 0x50]
lea ecx, [eax - 2]
sar ecx, 0x1f
xor ecx, 0xffffffff
and ecx, 1
mov edx, dword [esp + 0x74]
add edx, ecx
lea ecx, [eax - 1]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x676a15
mov dword [esp], eax
mov byte [esp + 4], 7
call dbg.regexp/syntax.(*parser).op
jmp 0x6773f3
cmp bl, 0x7b
je 0x677493
cmp bl, 0x7c
je 0x677438
jmp 0x676b03
mov dword [esp], eax
call dbg.regexp/syntax.(*parser).parseVerticalBar
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
test ecx, ecx
jne 0x677473
mov eax, dword [esp + 0x50]
lea ecx, [eax - 2]
sar ecx, 0x1f
xor ecx, 0xffffffff
and ecx, 1
mov edx, dword [esp + 0x74]
add edx, ecx
lea ecx, [eax - 1]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x676a15
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
add esp, 0xbc
ret
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call dbg.regexp/syntax.(*parser).parseRepeat
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
movzx edx, byte [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
test dl, dl
jne 0x6774f7
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], 0x7b
call dbg.regexp/syntax.(*parser).literal
mov eax, dword [esp + 0x50]
lea ecx, [eax - 2]
sar ecx, 0x1f
xor ecx, 0xffffffff
and ecx, 1
mov edx, dword [esp + 0x74]
add edx, ecx
lea ecx, [eax - 1]
mov eax, 0x11
xor ebx, ebx
xor ebp, ebp
jmp 0x676a15
cmp eax, 0x3e8
ja 0x6775a1
cmp ecx, 0x3e8
jg 0x6775a1
test ecx, ecx
jl 0x67751a
cmp eax, ecx
jg 0x6775a1
mov edx, dword [esp + 0x7c]
mov dword [esp], edx
mov byte [esp + 4], 0x11
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x74]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x24], ebx
call dbg.regexp/syntax.(*parser).repeat
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x34]
test eax, eax
jne 0x677581
mov eax, 0x11
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x74]
jmp 0x676a15
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], ebx
add esp, 0xbc
ret
mov eax, dword [esp + 0x50]
mov ecx, eax
sub eax, ebx
mov dword [esp + 0x54], eax
cmp eax, ecx
ja 0x677653
lea ecx, [0x919420]
mov dword [esp], ecx
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x78], eax
mov dword [eax + 4], 0x14
mov ecx, dword [0xc93940]
test ecx, ecx
jne 0x67763b
lea ecx, [0x993f80]
mov dword [eax], ecx
mov ecx, dword [esp + 0x54]
mov dword [eax + 0xc], ecx
mov ecx, dword [0xc93940]
lea edx, [eax + 8]
test ecx, ecx
jne 0x677625
mov ecx, dword [esp + 0x74]
mov dword [eax + 8], ecx
mov dword [esp + 0xcc], 0
lea ecx, [0xc48f80]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
add esp, 0xbc
ret
mov dword [esp], edx
mov ecx, dword [esp + 0x74]
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x78]
jmp 0x6775ff
mov dword [esp], eax
lea ecx, [0x993f80]
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x78]
jmp 0x6775e4
call dbg.runtime.panicslice
ud2
mov dword [esp], eax
call dbg.regexp/syntax.(*parser).concat
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
call dbg.regexp/syntax.(*parser).swapVerticalBar
movzx eax, byte [esp + 4]
test al, al
je 0x677780
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
dec ecx
cmp ecx, edx
ja 0x677779
mov dword [eax + 8], ecx
mov dword [esp], eax
call dbg.regexp/syntax.(*parser).alternate
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
cmp ecx, 1
je 0x677753
lea eax, [0x919420]
mov dword [esp], eax
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x78], eax
mov dword [eax + 4], 0x11
mov ecx, dword [0xc93940]
test ecx, ecx
jne 0x67773b
lea ecx, [0x9917e4]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc4]
mov dword [eax + 0xc], ecx
mov ecx, dword [0xc93940]
lea edx, [eax + 8]
test ecx, ecx
jne 0x677722
mov ecx, dword [esp + 0xc0]
mov dword [eax + 8], ecx
mov dword [esp + 0xcc], 0
lea ecx, [0xc48f80]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
add esp, 0xbc
ret
mov dword [esp], edx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x78]
jmp 0x6776fc
mov dword [esp], eax
lea ecx, [0x9917e4]
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x78]
jmp 0x6776db
mov eax, dword [eax]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
add esp, 0xbc
ret
call dbg.runtime.panicslice
ud2
mov eax, dword [esp + 0x7c]
jmp 0x677691
mov dword [esp], ebx
mov edx, dword [esp + 0xc0]
mov dword [esp + 4], edx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0xc0]
jmp 0x676988
mov ecx, dword [esp + 0xc0]
mov dword [esp], ecx
mov edx, dword [esp + 0xc4]
mov dword [esp + 4], edx
call dbg.regexp/syntax.checkUTF8
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x6777f9
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
add esp, 0xbc
ret
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
movzx eax, word [esp + 0xc8]
mov word [esp + 8], ax
call dbg.regexp/syntax.literalRegexp
mov eax, dword [esp + 0xc]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
add esp, 0xbc
ret
call dbg.runtime.morestack_noctxt
jmp dbg.regexp/syntax.Parse