Function at 0x2c961b0a0
Capabilities:
Parse credit card information

Disassembly:
lea r12, [rsp - 0xc8]
cmp r12, qword [r14 + 0x10]
jbe 0x2c961c3db
sub rsp, 0x148
mov qword [rsp + 0x140], rbp
lea rbp, [rsp + 0x140]
mov qword [rsp + 0x158], rbx
mov word [rsp + 0x160], cx
mov qword [rsp + 0x150], rax
mov qword [rsp + 0xc0], 0
movups xmmword [rsp + 0x110], xmm15
movups xmmword [rsp + 0x120], xmm15
movups xmmword [rsp + 0x130], xmm15
lea rdx, [0x2c961c420]
mov qword [rsp + 0x120], rdx
lea rdx, [rsp + 0x110]
mov qword [rsp + 0x128], rdx
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], rbx
lea rdx, [rsp + 0x120]
mov qword [rsp + 0x90], rdx
lea rax, [rsp + 0x78]
call dbg.runtime.deferprocStack
test eax, eax
jne 0x2c961b2a1
movzx ecx, word [rsp + 0x160]
test cx, 2
jne 0x2c961b1ce
lea rax, [0x2c96cfce0]
call fcn.2c955e400
movzx ecx, word [rsp + 0x160]
mov word [rax], cx
mov rcx, qword [rsp + 0x158]
mov qword [rax + 0x38], rcx
cmp dword [0x2c981f830], 0
jne 0x2c961b1a2
mov rdx, qword [rsp + 0x150]
mov qword [rax + 0x30], rdx
jmp 0x2c961b1b3
lea rdi, [rax + 0x30]
mov rdx, qword [rsp + 0x150]
call dbg.runtime.gcWriteBarrierDX
mov qword [rsp + 0x108], rax
mov rbx, rcx
mov rsi, rdx
xor edi, edi
xor r8d, r8d
xor r9d, r9d
jmp 0x2c961b3e0
mov rax, qword [rsp + 0x150]
mov rbx, qword [rsp + 0x158]
nop
call dbg.regexp/syntax.checkUTF8
test rax, rax
jne 0x2c961b258
lea rax, [0x2c96ced20]
call fcn.2c955e400
mov byte [rax], 3
movzx ecx, word [rsp + 0x160]
mov word [rax + 2], cx
mov qword [rax + 0x30], 0
mov qword [rax + 0x38], 2
lea rdi, [rax + 0x28]
lea rcx, [rax + 0x40]
cmp dword [0x2c981f830], 0
jne 0x2c961b22c
mov qword [rax + 0x28], rcx
jmp 0x2c961b231
call dbg.runtime.gcWriteBarrierCX
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0x100], rdi
mov rbx, qword [rsp + 0x158]
mov rdx, qword [rsp + 0x150]
xor ecx, ecx
jmp 0x2c961b2e0
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x118], rbx
call dbg.runtime.deferreturn
mov rbx, qword [rsp + 0x110]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x118]
mov rbp, qword [rsp + 0x140]
add rsp, 0x148
ret
call dbg.runtime.deferreturn
mov rbx, qword [rsp + 0x110]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x118]
mov rbp, qword [rsp + 0x140]
add rsp, 0x148
ret
lea r11, [r9 + 1]
mov qword [rax + 0x30], r11
mov dword [r10 + r9*4], esi
mov rcx, r8
nop dword [rax]
cmp rbx, rcx
jle 0x2c961b373
movzx esi, byte [rdx + rcx]
cmp esi, 0x80
jge 0x2c961b2fb
lea r8, [rcx + 1]
jmp 0x2c961b32a
mov rax, rdx
nop
call dbg.runtime.decoderune
mov rdx, qword [rsp + 0x150]
mov rdi, qword [rsp + 0x100]
mov esi, eax
mov r8, rbx
mov rax, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0x158]
mov r9, qword [rax + 0x30]
mov r10, qword [rax + 0x28]
cmp qword [rax + 0x38], r9
jg 0x2c961b2ce
xor eax, eax
mov rcx, rbx
mov rbx, rdx
call dbg.runtime.stringtoslicerune
mov rdx, qword [rsp + 0xe0]
mov qword [rdx + 0x30], rbx
mov qword [rdx + 0x38], rcx
cmp dword [0x2c981f830], 0
jne 0x2c961b364
mov qword [rdx + 0x28], rax
jmp 0x2c961b376
mov rdi, qword [rsp + 0x100]
call dbg.runtime.gcWriteBarrier
jmp 0x2c961b376
mov rdx, rax
mov qword [rsp + 0xc0], rdx
movups xmmword [rsp + 0x110], xmm15
call dbg.runtime.deferreturn
mov rbx, qword [rsp + 0x110]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x118]
mov rbp, qword [rsp + 0x140]
add rsp, 0x148
ret
mov edi, edx
mov r8, rbx
mov r9, rsi
mov rbx, qword [rsp + 0x158]
mov rsi, qword [rsp + 0x150]
mov rdx, rax
mov rax, qword [rsp + 0x108]
nop word [rax + rax]
test rcx, rcx
je 0x2c961c1d8
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0xc8], rdx
mov byte [rsp + 0x57], dil
movzx r11d, byte [rdx]
nop
cmp r11b, 0x2e
ja 0x2c961b610
cmp r11b, 0x28
ja 0x2c961b533
cmp r11b, 0x24
jne 0x2c961b489
movzx r8d, word [rax]
nop
test r8w, 0x10
je 0x2c961b442
mov ebx, 0xa
call dbg.regexp/syntax.(*parser).op
movzx ecx, word [rax + 2]
bts ecx, 8
mov word [rax + 2], cx
nop
jmp 0x2c961b44c
mov ebx, 8
call dbg.regexp/syntax.(*parser).op
mov r11, qword [rsp + 0x58]
dec r11
mov r12, r11
neg r11
sar r11, 0x3f
and r11d, 1
mov r13, qword [rsp + 0xc8]
add r11, r13
mov rdi, qword [rsp + 0x108]
mov rcx, r12
mov rax, r11
movzx edx, byte [rsp + 0x57]
xor ebx, ebx
xor esi, esi
jmp 0x2c961b3b4
cmp r11b, 0x28
jne 0x2c961bc7e
movzx r8d, word [rax]
test r8w, 0x40
je 0x2c961b4e6
nop
cmp rcx, 2
jl 0x2c961b4e6
cmp byte [rdx + 1], 0x3f
jne 0x2c961b4e6
mov rbx, rdx
call dbg.regexp/syntax.(*parser).parsePerlFlags
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x118], rdi
test rcx, rcx
jne 0x2c961be6b
mov rdi, qword [rsp + 0x108]
mov rcx, rbx
movzx edx, byte [rsp + 0x57]
xor ebx, ebx
xor esi, esi
jmp 0x2c961b3b4
inc qword [rax + 0x28]
mov ebx, 0xffffff80
call dbg.regexp/syntax.(*parser).op
mov rdi, qword [rsp + 0x108]
mov rcx, qword [rdi + 0x28]
mov qword [rax + 0x58], rcx
mov rbx, qword [rsp + 0x58]
dec rbx
mov rcx, rbx
neg rbx
sar rbx, 0x3f
and ebx, 1
mov rdx, qword [rsp + 0xc8]
lea rax, [rdx + rbx]
movzx edx, byte [rsp + 0x57]
xor ebx, ebx
xor esi, esi
jmp 0x2c961b3b4
cmp r11b, 0x29
je 0x2c961b5b8
nop dword [rax]
cmp r11b, 0x2b
jbe 0x2c961bb6d
cmp r11b, 0x2e
jne 0x2c961bc7e
movzx r8d, word [rax]
nop dword [rax + rax]
test r8w, 8
je 0x2c961b574
mov ebx, 6
call dbg.regexp/syntax.(*parser).op
jmp 0x2c961b57e
mov ebx, 5
call dbg.regexp/syntax.(*parser).op
mov rbx, qword [rsp + 0x58]
dec rbx
mov r11, rbx
neg rbx
sar rbx, 0x3f
and ebx, 1
mov r12, qword [rsp + 0xc8]
lea rax, [r12 + rbx]
mov rdi, qword [rsp + 0x108]
mov rcx, r11
movzx edx, byte [rsp + 0x57]
xor ebx, ebx
xor esi, esi
jmp 0x2c961b3b4
call dbg.regexp/syntax.(*parser).parseRightParen
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x118], rbx
test rax, rax
jne 0x2c961bea4
mov rbx, qword [rsp + 0x58]
dec rbx
mov r11, rbx
neg rbx
sar rbx, 0x3f
and ebx, 1
mov r12, qword [rsp + 0xc8]
lea rax, [r12 + rbx]
mov rdi, qword [rsp + 0x108]
mov rcx, r11
movzx edx, byte [rsp + 0x57]
xor ebx, ebx
xor esi, esi
jmp 0x2c961b3b4
cmp r11b, 0x5c
ja 0x2c961bc0c
nop word [rax + rax]
cmp r11b, 0x3f
je 0x2c961bb6d
cmp r11b, 0x5b
je 0x2c961bb33
cmp r11b, 0x5c
jne 0x2c961bc7e
movzx r9d, word [rax]
test r9w, 0x40
je 0x2c961b7ef
cmp rcx, 2
jl 0x2c961b7ef
movzx r9d, byte [rdx + 1]
nop dword [rax]
cmp r9b, 0x43
ja 0x2c961b713
cmp r9b, 0x41
je 0x2c961b6d1
cmp r9b, 0x42
je 0x2c961b68f
nop word [rax + rax]
nop
cmp r9b, 0x43
jne 0x2c961b7ef
jmp 0x2c961bedd
mov ebx, 0xc
call dbg.regexp/syntax.(*parser).op
mov rbx, qword [rsp + 0x58]
add rbx, 0xfffffffffffffffe
mov rcx, rbx
neg rbx
sar rbx, 0x3f
and ebx, 2
mov rdx, qword [rsp + 0xc8]
lea rax, [rdx + rbx]
mov rdi, qword [rsp + 0x108]
movzx edx, byte [rsp + 0x57]
xor ebx, ebx
xor esi, esi
jmp 0x2c961b3b4
mov ebx, 9
call dbg.regexp/syntax.(*parser).op
mov rbx, qword [rsp + 0x58]
add rbx, 0xfffffffffffffffe
mov rcx, rbx
neg rbx
sar rbx, 0x3f
and ebx, 2
mov rdx, qword [rsp + 0xc8]
lea rax, [rdx + rbx]
mov rdi, qword [rsp + 0x108]
movzx edx, byte [rsp + 0x57]
xor ebx, ebx
xor esi, esi
jmp 0x2c961b3b4
cmp r9b, 0x51
je 0x2c961b7b4
nop dword [rax]
cmp r9b, 0x62
je 0x2c961b772
cmp r9b, 0x7a
jne 0x2c961b7ef
mov ebx, 0xa
call dbg.regexp/syntax.(*parser).op
mov rbx, qword [rsp + 0x58]
add rbx, 0xfffffffffffffffe
mov rcx, rbx
neg rbx
sar rbx, 0x3f
and ebx, 2
mov rdx, qword [rsp + 0xc8]
lea rax, [rdx + rbx]
mov rdi, qword [rsp + 0x108]
movzx edx, byte [rsp + 0x57]
xor ebx, ebx
xor esi, esi
jmp 0x2c961b3b4
mov ebx, 0xb
call dbg.regexp/syntax.(*parser).op
mov rbx, qword [rsp + 0x58]
add rbx, 0xfffffffffffffffe
mov rcx, rbx
neg rbx
sar rbx, 0x3f
and ebx, 2
mov rdx, qword [rsp + 0xc8]
lea rax, [rdx + rbx]
mov rdi, qword [rsp + 0x108]
movzx edx, byte [rsp + 0x57]
xor ebx, ebx
xor esi, esi
jmp 0x2c961b3b4
lea rbx, [rcx - 2]
mov rsi, rbx
neg rbx
sar rbx, 0x3f
and ebx, 2
lea rax, [rdx + rbx]
mov rbx, rsi
lea rcx, [0x2c96d7bd8]
mov edi, 2
call dbg.strings.Cut
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0x58], rdi
jmp 0x2c961c360
nop
mov r9, qword [rax + 0x20]
lea r10, [rax + 0x20]
mov qword [rsp + 0xf8], r10
test r9, r9
je 0x2c961b89b
mov r11, qword [r9 + 0x20]
cmp dword [0x2c981f830], 0
jne 0x2c961b83c
mov qword [rax + 0x20], r11
mov r8d, edi
mov rdi, r9
lea rdi, [rdi - 0x10]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.2c95b57c6
mov rbp, qword [rbp]
jmp 0x2c961b8e9
mov qword [rsp + 0xd8], r9
mov rdi, r10
mov rcx, r11
call dbg.runtime.gcWriteBarrierCX
lea rax, [0x2c96ced20]
mov rbx, r9
call dbg.runtime.typedmemclr
mov rax, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0x158]
mov rsi, qword [rsp + 0x150]
movzx r8d, byte [rsp + 0x57]
mov r9, qword [rsp + 0xd8]
mov r10, qword [rsp + 0xf8]
jmp 0x2c961b8e9
lea rax, [0x2c96ced20]
call fcn.2c955e400
mov rcx, qword [rsp + 0x108]
inc qword [rcx + 0x58]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0x158]
mov rsi, qword [rsp + 0x150]
movzx r8d, byte [rsp + 0x57]
mov r10, qword [rsp + 0xf8]
mov r9, rax
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0xd0], r9
mov byte [r9], 4
movzx r11d, word [rax]
mov word [r9 + 2], r11w
nop
cmp rcx, 2
jl 0x2c961b9cd
movzx r11d, byte [rdx + 1]
cmp r11b, 0x70
je 0x2c961b91f
cmp r11b, 0x50
jne 0x2c961b9cd
lea rdi, [r9 + 0x40]
mov rbx, rdx
xor esi, esi
mov r8d, 2
call dbg.regexp/syntax.(*parser).parseUnicodeClass
test r8, r8
jne 0x2c961bf7b
nop dword [rax]
test rax, rax
je 0x2c961b9b0
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0xc8], rdi
mov rdx, qword [rsp + 0xd0]
mov qword [rdx + 0x30], rbx
mov qword [rdx + 0x38], rcx
cmp dword [0x2c981f830], 0
jne 0x2c961b971
mov qword [rdx + 0x28], rax
jmp 0x2c961b97d
lea rcx, [rdx + 0x28]
mov rdi, rcx
call dbg.runtime.gcWriteBarrier
mov rax, qword [rsp + 0x108]
mov rbx, rdx
call dbg.regexp/syntax.(*parser).push
mov rdi, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0xc8]
movzx edx, byte [rsp + 0x57]
xor ebx, ebx
xor esi, esi
jmp 0x2c961b3b4
mov rax, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0xc8]
mov r9, qword [rsp + 0xd0]
lea rdi, [r9 + 0x40]
mov rbx, rdx
xor esi, esi
mov r8d, 2
nop dword [rax]
call dbg.regexp/syntax.(*parser).parsePerlClassEscape
test rax, rax
je 0x2c961ba58
mov qword [rsp + 0xc8], rdi
mov qword [rsp + 0x58], rsi
mov rdx, qword [rsp + 0xd0]
mov qword [rdx + 0x30], rbx
mov qword [rdx + 0x38], rcx
cmp dword [0x2c981f830], 0
jne 0x2c961ba16
mov qword [rdx + 0x28], rax
jmp 0x2c961ba25
lea rcx, [rdx + 0x28]
mov rdi, rcx
nop dword [rax]
call dbg.runtime.gcWriteBarrier
mov rax, qword [rsp + 0x108]
mov rbx, rdx
call dbg.regexp/syntax.(*parser).push
mov rdi, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0xc8]
movzx edx, byte [rsp + 0x57]
xor ebx, ebx
xor esi, esi
jmp 0x2c961b3b4
nop
mov rax, qword [rsp + 0x108]
mov rbx, qword [rax + 0x70]
test rbx, rbx
je 0x2c961ba86
mov rcx, qword [rsp + 0xd0]
lea rax, [0x2c96b3fc0]
call dbg.runtime.mapdelete_fast64
mov rax, qword [rsp + 0x108]
mov rdx, qword [rax + 0x20]
cmp dword [0x2c981f830], 0
jne 0x2c961baa5
mov rsi, qword [rsp + 0xd0]
mov qword [rsi + 0x20], rdx
mov qword [rax + 0x20], rsi
jmp 0x2c961bac9
mov rdi, qword [rsp + 0xd0]
lea rsi, [rdi + 0x20]
mov rcx, rdi
mov rdi, rsi
call dbg.runtime.gcWriteBarrierDX
mov rdi, qword [rsp + 0xf8]
call dbg.runtime.gcWriteBarrierCX
mov rbx, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x58]
call dbg.regexp/syntax.(*parser).parseEscape
mov qword [rsp + 0x110], rdi
mov qword [rsp + 0x118], rsi
test rdi, rdi
jne 0x2c961bfc4
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0xc8], rbx
mov ebx, eax
mov rax, qword [rsp + 0x108]
call dbg.regexp/syntax.(*parser).literal
mov rdi, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0xc8]
movzx edx, byte [rsp + 0x57]
xor ebx, ebx
xor esi, esi
jmp 0x2c961b3b4
mov rbx, rdx
call dbg.regexp/syntax.(*parser).parseClass
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x118], rdi
test rcx, rcx
jne 0x2c961bffd
mov rdi, qword [rsp + 0x108]
mov rcx, rbx
movzx edx, byte [rsp + 0x57]
xor ebx, ebx
xor esi, esi
jmp 0x2c961b3b4
cmp r11b, 0x2a
jne 0x2c961bb80
mov edi, 0xe
jmp 0x2c961bb98
cmp r11b, 0x2b
jne 0x2c961bb8d
mov edi, 0xf
jmp 0x2c961bb98
cmp r11b, 0x3f
jne 0x2c961bb98
mov edi, 0x10
mov byte [rsp + 0x57], dil
mov qword [rsp], r9
mov qword [rsp + 8], r8
lea r10, [rcx - 1]
mov r11, r10
neg r10
sar r10, 0x3f
and r10d, 1
lea r9, [rdx + r10]
mov ebx, edi
xor edi, edi
mov rsi, rdx
mov r8, rcx
mov r10, r11
mov rcx, rdi
call dbg.regexp/syntax.(*parser).repeat
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x118], rdi
test rcx, rcx
jne 0x2c961c036
mov rdi, qword [rsp + 0x108]
mov rcx, rbx
movzx edx, byte [rsp + 0x57]
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0xc8]
jmp 0x2c961b3b4
cmp r11b, 0x5e
jne 0x2c961bc6e
movzx r8d, word [rax]
test r8w, 0x10
je 0x2c961bc2a
mov ebx, 9
call dbg.regexp/syntax.(*parser).op
jmp 0x2c961bc34
mov ebx, 7
call dbg.regexp/syntax.(*parser).op
mov rbx, qword [rsp + 0x58]
dec rbx
mov r11, rbx
neg rbx
sar rbx, 0x3f
and ebx, 1
mov r12, qword [rsp + 0xc8]
lea rax, [r12 + rbx]
mov rdi, qword [rsp + 0x108]
mov rcx, r11
movzx edx, byte [rsp + 0x57]
xor ebx, ebx
xor esi, esi
jmp 0x2c961b3b4
cmp r11b, 0x7b
je 0x2c961bd46
cmp r11b, 0x7c
je 0x2c961bce8
mov rax, rdx
mov rbx, rcx
call dbg.regexp/syntax.nextRune
mov qword [rsp + 0x110], rdi
mov qword [rsp + 0x118], rsi
nop dword [rax]
test rdi, rdi
jne 0x2c961c06f
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0xc8], rbx
mov ebx, eax
mov rax, qword [rsp + 0x108]
call dbg.regexp/syntax.(*parser).literal
mov rdi, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0xc8]
movzx edx, byte [rsp + 0x57]
xor ebx, ebx
xor esi, esi
jmp 0x2c961b3b4
call dbg.regexp/syntax.(*parser).parseVerticalBar
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x118], rbx
nop dword [rax]
test rax, rax
jne 0x2c961c0ad
mov rcx, qword [rsp + 0x58]
dec rcx
mov r11, rcx
neg rcx
sar rcx, 0x3f
and ecx, 1
mov r12, qword [rsp + 0xc8]
lea rbx, [r12 + rcx]
mov rdi, qword [rsp + 0x108]
mov rcx, r11
mov rax, rbx
movzx edx, byte [rsp + 0x57]
xor ebx, ebx
xor esi, esi
jmp 0x2c961b3b4
mov qword [rsp + 0x68], r8
mov qword [rsp + 0xf0], r9
mov rbx, rdx
call dbg.regexp/syntax.(*parser).parseRepeat
nop dword [rax + rax]
test sil, sil
jne 0x2c961bdc0
mov rax, qword [rsp + 0x108]
mov ebx, 0x7b
call dbg.regexp/syntax.(*parser).literal
mov rcx, qword [rsp + 0x58]
dec rcx
mov rdx, rcx
neg rcx
sar rcx, 0x3f
and ecx, 1
mov rsi, qword [rsp + 0xc8]
lea rbx, [rsi + rcx]
mov rdi, qword [rsp + 0x108]
mov rcx, rdx
mov rax, rbx
mov edx, 0x11
xor ebx, ebx
xor esi, esi
jmp 0x2c961b3b4
cmp rax, 0x3e8
ja 0x2c961c11f
cmp rbx, 0x3e8
jg 0x2c961c11f
test rbx, rbx
jl 0x2c961bde9
nop
cmp rbx, rax
jl 0x2c961c11f
mov rdx, qword [rsp + 0xf0]
mov qword [rsp], rdx
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 8], rdx
mov rsi, qword [rsp + 0xc8]
mov r8, qword [rsp + 0x58]
mov r9, rcx
mov r10, rdi
mov rcx, rax
mov rdi, rbx
mov rax, qword [rsp + 0x108]
mov ebx, 0x11
call dbg.regexp/syntax.(*parser).repeat
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x118], rdi
nop word [rax + rax]
test rcx, rcx
jne 0x2c961c0e6
mov rdi, qword [rsp + 0x108]
mov rcx, rbx
mov edx, 0x11
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0xc8]
jmp 0x2c961b3b4
mov qword [rsp + 0xc0], 0
call dbg.runtime.deferreturn
mov rbx, qword [rsp + 0x110]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x118]
mov rbp, qword [rsp + 0x140]
add rsp, 0x148
ret
mov qword [rsp + 0xc0], 0
call dbg.runtime.deferreturn
mov rbx, qword [rsp + 0x110]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x118]
mov rbp, qword [rsp + 0x140]
add rsp, 0x148
ret
lea rax, [0x2c96be280]
call fcn.2c955e400
mov qword [rax + 8], 0x17
lea rcx, [0x2c96dce16]
mov qword [rax], rcx
mov qword [rax + 0x18], 2
cmp dword [0x2c981f830], 0
jne 0x2c961bf1a
mov rcx, qword [rsp + 0xc8]
mov qword [rax + 0x10], rcx
jmp 0x2c961bf2b
lea rdi, [rax + 0x10]
mov rcx, qword [rsp + 0xc8]
call dbg.runtime.gcWriteBarrierCX
mov qword [rsp + 0xc0], 0
lea rcx, [0x2c970bd68]
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x118], rax
call dbg.runtime.deferreturn
mov rbx, qword [rsp + 0x110]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x118]
mov rbp, qword [rsp + 0x140]
add rsp, 0x148
ret
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0x110], r8
mov qword [rsp + 0x118], r9
call dbg.runtime.deferreturn
mov rbx, qword [rsp + 0x110]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x118]
mov rbp, qword [rsp + 0x140]
add rsp, 0x148
ret
mov qword [rsp + 0xc0], 0
call dbg.runtime.deferreturn
mov rbx, qword [rsp + 0x110]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x118]
mov rbp, qword [rsp + 0x140]
add rsp, 0x148
ret
mov qword [rsp + 0xc0], 0
call dbg.runtime.deferreturn
mov rbx, qword [rsp + 0x110]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x118]
mov rbp, qword [rsp + 0x140]
add rsp, 0x148
ret
mov qword [rsp + 0xc0], 0
call dbg.runtime.deferreturn
mov rbx, qword [rsp + 0x110]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x118]
mov rbp, qword [rsp + 0x140]
add rsp, 0x148
ret
mov qword [rsp + 0xc0], 0
nop dword [rax + rax]
call dbg.runtime.deferreturn
mov rbx, qword [rsp + 0x110]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x118]
mov rbp, qword [rsp + 0x140]
add rsp, 0x148
ret
mov qword [rsp + 0xc0], 0
call dbg.runtime.deferreturn
mov rbx, qword [rsp + 0x110]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x118]
mov rbp, qword [rsp + 0x140]
add rsp, 0x148
ret
mov qword [rsp + 0xc0], 0
call dbg.runtime.deferreturn
mov rbx, qword [rsp + 0x110]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x118]
mov rbp, qword [rsp + 0x140]
add rsp, 0x148
ret
mov rcx, qword [rsp + 0x58]
mov rdx, rcx
sub rcx, rdi
cmp rdx, rcx
jb 0x2c961c325
mov qword [rsp + 0x70], rcx
lea rax, [0x2c96be280]
nop
call fcn.2c955e400
mov qword [rax + 8], 0x14
lea rcx, [0x2c96dbcab]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x70]
mov qword [rax + 0x18], rcx
cmp dword [0x2c981f830], 0
jne 0x2c961c177
mov rcx, qword [rsp + 0xc8]
mov qword [rax + 0x10], rcx
jmp 0x2c961c188
lea rdi, [rax + 0x10]
mov rcx, qword [rsp + 0xc8]
call dbg.runtime.gcWriteBarrierCX
mov qword [rsp + 0xc0], 0
lea rcx, [0x2c970bd68]
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x118], rax
call dbg.runtime.deferreturn
mov rbx, qword [rsp + 0x110]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x118]
mov rbp, qword [rsp + 0x140]
add rsp, 0x148
ret
call dbg.regexp/syntax.(*parser).concat
mov rax, qword [rsp + 0x108]
call dbg.regexp/syntax.(*parser).swapVerticalBar
test al, al
je 0x2c961c210
mov rax, qword [rsp + 0x108]
mov rdx, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
dec rcx
cmp rdx, rcx
jb 0x2c961c320
mov qword [rax + 0x10], rcx
jmp 0x2c961c218
mov rax, qword [rsp + 0x108]
call dbg.regexp/syntax.(*parser).alternate
mov rcx, qword [rsp + 0x108]
mov rdx, qword [rcx + 8]
cmp qword [rcx + 0x10], 1
je 0x2c961c2db
lea rax, [0x2c96be280]
nop dword [rax + rax]
call fcn.2c955e400
mov qword [rax + 8], 0x11
lea rcx, [0x2c96dac37]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x158]
mov qword [rax + 0x18], rcx
cmp dword [0x2c981f830], 0
jne 0x2c961c27a
mov rcx, qword [rsp + 0x150]
mov qword [rax + 0x10], rcx
jmp 0x2c961c28b
lea rdi, [rax + 0x10]
mov rcx, qword [rsp + 0x150]
call dbg.runtime.gcWriteBarrierCX
mov qword [rsp + 0xc0], 0
lea rcx, [0x2c970bd68]
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x118], rax
call dbg.runtime.deferreturn
mov rbx, qword [rsp + 0x110]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x118]
mov rbp, qword [rsp + 0x140]
add rsp, 0x148
ret
mov rax, qword [rdx]
mov qword [rsp + 0xc0], rax
movups xmmword [rsp + 0x110], xmm15
call dbg.runtime.deferreturn
mov rbx, qword [rsp + 0x110]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x118]
mov rbp, qword [rsp + 0x140]
add rsp, 0x148
ret
call dbg.runtime.panicSliceAcap
call dbg.runtime.panicSliceAlen
mov qword [rsp + 0xe8], rbx
mov qword [rsp + 0x60], rcx
mov ebx, eax
mov rax, qword [rsp + 0x108]
call dbg.regexp/syntax.(*parser).literal
mov rcx, qword [rsp + 0xc8]
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
mov rax, qword [rsp + 0xe8]
test rbx, rbx
je 0x2c961c3b8
call dbg.regexp/syntax.nextRune
test rdi, rdi
je 0x2c961c32a
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0x110], rdi
mov qword [rsp + 0x118], rsi
call dbg.runtime.deferreturn
mov rbx, qword [rsp + 0x110]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x118]
mov rbp, qword [rsp + 0x140]
add rsp, 0x148
ret
mov rdi, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0xc8]
movzx edx, byte [rsp + 0x57]
xor ebx, ebx
xor esi, esi
jmp 0x2c961b3b4
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov word [rsp + 0x18], cx
call dbg.runtime.morestack_noctxt
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
movzx ecx, word [rsp + 0x18]
nop
jmp dbg.regexp/syntax.parse