Function at 0x2390d6540
Capabilities:
Parse credit card information

Disassembly:
lea r12, [rsp - 0xc0]
cmp r12, qword [r14 + 0x10]
jbe 0x2390d77b2
push rbp
mov rbp, rsp
sub rsp, 0x138
mov word [rsp + 0x158], cx
mov qword [rsp + 0x150], rbx
mov qword [rsp + 0x148], rax
mov qword [rsp + 0xc0], 0
movups xmmword [rsp + 0x108], xmm15
movups xmmword [rsp + 0x118], xmm15
movups xmmword [rsp + 0x128], xmm15
lea rdx, [dbg.regexp/syntax.parse.func1]
mov qword [rsp + 0x118], rdx
lea rdx, [rsp + 0x108]
mov qword [rsp + 0x120], rdx
mov qword [rsp + 0x130], rbx
mov qword [rsp + 0x128], rax
lea rdx, [rsp + 0x118]
mov qword [rsp + 0x90], rdx
lea rax, [rsp + 0x78]
call dbg.runtime.deferprocStack
test eax, eax
jne 0x2390d6727
movzx ecx, word [rsp + 0x158]
test cx, 2
jne 0x2390d6665
lea rax, [0x2391d7f20]
call sym.runtime.newobject
movzx ecx, word [rsp + 0x158]
mov word [rax], cx
mov rcx, qword [rsp + 0x150]
mov qword [rax + 0x38], rcx
cmp dword [0x23938d1d0], 0
jne 0x2390d6632
mov rdx, qword [rsp + 0x148]
jmp 0x2390d6642
call dbg.runtime.gcWriteBarrier1
mov rdx, qword [rsp + 0x148]
mov qword [r11], rdx
mov qword [rsp + 0x100], rax
mov qword [rax + 0x30], rdx
mov rbx, rcx
mov rsi, rdx
xor edi, edi
xor r8d, r8d
xor r9d, r9d
nop dword [rax]
jmp 0x2390d6842
mov rax, qword [rsp + 0x148]
mov rbx, qword [rsp + 0x150]
call dbg.regexp/syntax.checkUTF8
test rax, rax
jne 0x2390d66e5
lea rax, [0x2391d6f00]
call sym.runtime.newobject
mov byte [rax], 3
movzx ecx, word [rsp + 0x158]
mov word [rax + 2], cx
mov qword [rax + 0x30], 0
mov qword [rax + 0x38], 2
lea rcx, [rax + 0x40]
cmp dword [0x23938d1d0], 0
je 0x2390d66bf
call dbg.runtime.gcWriteBarrier1
mov qword [r11], rcx
mov qword [rsp + 0xe0], rax
mov qword [rax + 0x28], rcx
mov rbx, qword [rsp + 0x150]
mov rdx, qword [rsp + 0x148]
xor ecx, ecx
nop dword [rax]
jmp 0x2390d6760
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x110], rbx
call dbg.runtime.deferreturn
mov rbx, qword [rsp + 0x108]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x110]
add rsp, 0x138
pop rbp
ret
call dbg.runtime.deferreturn
mov rbx, qword [rsp + 0x108]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x110]
add rsp, 0x138
pop rbp
ret
mov r9, qword [rax + 0x28]
lea r10, [r8 + 1]
mov qword [rax + 0x30], r10
mov dword [r9 + r8*4], esi
mov rcx, rdi
cmp rbx, rcx
jle 0x2390d67e2
movzx esi, byte [rdx + rcx]
cmp esi, 0x80
jge 0x2390d6777
lea rdi, [rcx + 1]
jmp 0x2390d679c
mov rax, rdx
call dbg.runtime.decoderune
mov rdx, qword [rsp + 0x148]
mov esi, eax
mov rdi, rbx
mov rax, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0x150]
mov r8, qword [rax + 0x30]
cmp qword [rax + 0x38], r8
jg 0x2390d674d
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 [0x23938d1d0], 0
je 0x2390d67dc
call dbg.runtime.gcWriteBarrier2
mov qword [r11], rax
mov rcx, qword [rdx + 0x28]
mov qword [r11 + 8], rcx
mov qword [rdx + 0x28], rax
jmp 0x2390d67e5
mov rdx, rax
mov qword [rsp + 0xc0], rdx
movups xmmword [rsp + 0x108], xmm15
call dbg.runtime.deferreturn
mov rbx, qword [rsp + 0x108]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x110]
add rsp, 0x138
pop rbp
ret
mov rcx, rbx
mov r8, rsi
mov r9, rdi
mov rbx, qword [rsp + 0x150]
mov rsi, qword [rsp + 0x148]
mov edi, edx
mov rdx, rax
mov rax, qword [rsp + 0x100]
test rcx, rcx
je 0x2390d75c9
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0xc8], rdx
mov byte [rsp + 0x57], dil
movzx r11d, byte [rdx]
cmp r11b, 0x2e
ja 0x2390d6a6c
cmp r11b, 0x28
ja 0x2390d6992
cmp r11b, 0x24
jne 0x2390d68e9
movzx r8d, word [rax]
nop
test r8w, 0x10
je 0x2390d68a2
mov ebx, 0xa
call dbg.regexp/syntax.(*parser).op
movzx ecx, word [rax + 2]
bts ecx, 8
mov word [rax + 2], cx
nop
jmp 0x2390d68ac
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 rcx, qword [rsp + 0x100]
mov rbx, r12
mov rax, r11
movzx edx, byte [rsp + 0x57]
xor esi, esi
xor edi, edi
jmp 0x2390d681c
cmp r11b, 0x28
jne 0x2390d70d5
movzx r8d, word [rax]
test r8w, 0x40
je 0x2390d6945
nop
cmp rcx, 2
jl 0x2390d6945
cmp byte [rdx + 1], 0x3f
jne 0x2390d6945
mov rbx, rdx
call dbg.regexp/syntax.(*parser).parsePerlFlags
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rdi
test rcx, rcx
jne 0x2390d72a8
mov rcx, qword [rsp + 0x100]
movzx edx, byte [rsp + 0x57]
xor esi, esi
xor edi, edi
nop
jmp 0x2390d681c
inc qword [rax + 0x28]
mov ebx, 0xffffff80
call dbg.regexp/syntax.(*parser).op
mov rcx, qword [rsp + 0x100]
mov rdx, qword [rcx + 0x28]
mov qword [rax + 0x58], rdx
mov rbx, qword [rsp + 0x58]
dec rbx
mov rdx, rbx
neg rdx
sar rdx, 0x3f
and edx, 1
mov rsi, qword [rsp + 0xc8]
lea rax, [rsi + rdx]
movzx edx, byte [rsp + 0x57]
xor esi, esi
xor edi, edi
jmp 0x2390d681c
cmp r11b, 0x29
je 0x2390d6a16
nop dword [rax + rax]
cmp r11b, 0x2b
jbe 0x2390d6fc5
cmp r11b, 0x2e
jne 0x2390d70d5
movzx r8d, word [rax]
nop dword [rax + rax]
test r8w, 8
je 0x2390d69d4
mov ebx, 6
call dbg.regexp/syntax.(*parser).op
jmp 0x2390d69de
mov ebx, 5
call dbg.regexp/syntax.(*parser).op
mov rbx, qword [rsp + 0x58]
dec rbx
mov r11, rbx
neg r11
sar r11, 0x3f
and r11d, 1
mov r12, qword [rsp + 0xc8]
lea rax, [r12 + r11]
mov rcx, qword [rsp + 0x100]
movzx edx, byte [rsp + 0x57]
xor esi, esi
xor edi, edi
jmp 0x2390d681c
call dbg.regexp/syntax.(*parser).parseRightParen
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x110], rbx
test rax, rax
jne 0x2390d72da
mov rbx, qword [rsp + 0x58]
dec rbx
mov r11, rbx
neg r11
sar r11, 0x3f
and r11d, 1
mov r12, qword [rsp + 0xc8]
lea rax, [r12 + r11]
mov rcx, qword [rsp + 0x100]
movzx edx, byte [rsp + 0x57]
xor esi, esi
xor edi, edi
jmp 0x2390d681c
cmp r11b, 0x5c
ja 0x2390d7060
nop word [rax + rax]
nop
cmp r11b, 0x3f
je 0x2390d6fc5
cmp r11b, 0x5b
je 0x2390d6f8c
cmp r11b, 0x5c
jne 0x2390d70d5
movzx r9d, word [rax]
test r9w, 0x40
je 0x2390d6c4c
cmp rcx, 2
jl 0x2390d6c4c
movzx r9d, byte [rdx + 1]
nop dword [rax]
cmp r9b, 0x43
ja 0x2390d6b73
cmp r9b, 0x41
je 0x2390d6b31
cmp r9b, 0x42
je 0x2390d6aef
nop word [rax + rax]
nop
cmp r9b, 0x43
jne 0x2390d6c4c
jmp 0x2390d730c
mov ebx, 0xc
call dbg.regexp/syntax.(*parser).op
mov rbx, qword [rsp + 0x58]
add rbx, 0xfffffffffffffffe
mov rcx, rbx
neg rcx
sar rcx, 0x3f
and ecx, 2
mov rdx, qword [rsp + 0xc8]
lea rax, [rdx + rcx]
mov rcx, qword [rsp + 0x100]
movzx edx, byte [rsp + 0x57]
xor esi, esi
xor edi, edi
jmp 0x2390d681c
mov ebx, 9
call dbg.regexp/syntax.(*parser).op
mov rbx, qword [rsp + 0x58]
add rbx, 0xfffffffffffffffe
mov rcx, rbx
neg rcx
sar rcx, 0x3f
and ecx, 2
mov rdx, qword [rsp + 0xc8]
lea rax, [rdx + rcx]
mov rcx, qword [rsp + 0x100]
movzx edx, byte [rsp + 0x57]
xor esi, esi
xor edi, edi
jmp 0x2390d681c
cmp r9b, 0x51
je 0x2390d6c14
nop dword [rax]
cmp r9b, 0x62
je 0x2390d6bd2
cmp r9b, 0x7a
jne 0x2390d6c4c
mov ebx, 0xa
call dbg.regexp/syntax.(*parser).op
mov rbx, qword [rsp + 0x58]
add rbx, 0xfffffffffffffffe
mov rcx, rbx
neg rcx
sar rcx, 0x3f
and ecx, 2
mov rdx, qword [rsp + 0xc8]
lea rax, [rdx + rcx]
mov rcx, qword [rsp + 0x100]
movzx edx, byte [rsp + 0x57]
xor esi, esi
xor edi, edi
jmp 0x2390d681c
mov ebx, 0xb
call dbg.regexp/syntax.(*parser).op
mov rbx, qword [rsp + 0x58]
add rbx, 0xfffffffffffffffe
mov rcx, rbx
neg rcx
sar rcx, 0x3f
and ecx, 2
mov rdx, qword [rsp + 0xc8]
lea rax, [rdx + rcx]
mov rcx, qword [rsp + 0x100]
movzx edx, byte [rsp + 0x57]
xor esi, esi
xor edi, edi
jmp 0x2390d681c
lea rbx, [rcx - 2]
mov rsi, rbx
neg rsi
sar rsi, 0x3f
and esi, 2
lea rax, [rdx + rsi]
lea rcx, [0x2391e1606]
mov edi, 2
call dbg.strings.Cut
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0x58], rdi
jmp 0x2390d7740
mov r9, qword [rax + 0x20]
nop
test r9, r9
je 0x2390d6cf5
mov r10, qword [r9 + 0x20]
cmp dword [0x23938d1d0], 0
je 0x2390d6cd0
mov qword [rsp + 0xd8], r9
mov qword [rsp + 0xf8], r10
call dbg.runtime.gcWriteBarrier2
mov qword [r11], r10
mov rcx, qword [rax + 0x20]
mov qword [r11 + 8], rcx
mov rbx, r9
lea rax, [0x2391d6f00]
call dbg.runtime.wbZero
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0x150]
mov rsi, qword [rsp + 0x148]
movzx edi, byte [rsp + 0x57]
mov r9, qword [rsp + 0xd8]
mov r10, qword [rsp + 0xf8]
mov qword [rax + 0x20], r10
mov r8d, edi
mov rdi, r9
lea rdi, [rdi - 0x10]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.2390470a6
mov rbp, qword [rbp]
jmp 0x2390d6d3f
lea rax, [0x2391d6f00]
nop dword [rax]
call sym.runtime.newobject
mov rcx, qword [rsp + 0x100]
inc qword [rcx + 0x58]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0x150]
mov rsi, qword [rsp + 0x148]
movzx r8d, byte [rsp + 0x57]
mov r9, rax
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0xd0], r9
mov byte [r9], 4
movzx r10d, word [rax]
mov word [r9 + 2], r10w
cmp rcx, 2
jl 0x2390d6e25
movzx r10d, byte [rdx + 1]
cmp r10b, 0x70
je 0x2390d6d73
cmp r10b, 0x50
jne 0x2390d6e25
lea rdi, [r9 + 0x40]
mov rbx, rdx
xor esi, esi
mov r8d, 2
call dbg.regexp/syntax.(*parser).parseUnicodeClass
test r8, r8
jne 0x2390d73a6
test rax, rax
je 0x2390d6e08
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 [0x23938d1d0], 0
je 0x2390d6dd0
nop dword [rax + rax]
call dbg.runtime.gcWriteBarrier2
mov qword [r11], rax
mov rcx, qword [rdx + 0x28]
mov qword [r11 + 8], rcx
mov qword [rdx + 0x28], rax
mov rax, qword [rsp + 0x100]
mov rbx, rdx
nop
call dbg.regexp/syntax.(*parser).push
mov rcx, qword [rsp + 0x100]
mov rbx, qword [rsp + 0x58]
mov rax, qword [rsp + 0xc8]
movzx edx, byte [rsp + 0x57]
xor esi, esi
xor edi, edi
jmp 0x2390d681c
mov rax, qword [rsp + 0x100]
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
call dbg.regexp/syntax.(*parser).parsePerlClassEscape
test rax, rax
je 0x2390d6eab
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 [0x23938d1d0], 0
je 0x2390d6e74
call dbg.runtime.gcWriteBarrier2
mov qword [r11], rax
mov rcx, qword [rdx + 0x28]
mov qword [r11 + 8], rcx
mov qword [rdx + 0x28], rax
mov rax, qword [rsp + 0x100]
mov rbx, rdx
call dbg.regexp/syntax.(*parser).push
mov rcx, qword [rsp + 0x100]
mov rbx, qword [rsp + 0x58]
mov rax, qword [rsp + 0xc8]
movzx edx, byte [rsp + 0x57]
xor esi, esi
xor edi, edi
jmp 0x2390d681c
mov rax, qword [rsp + 0x100]
mov rbx, qword [rax + 0x70]
nop
test rbx, rbx
je 0x2390d6edf
mov rcx, qword [rsp + 0xd0]
mov rdx, rcx
lea rax, [0x2391ba0a0]
mov rcx, rdx
call dbg.runtime.mapdelete_fast64
mov rax, qword [rsp + 0x100]
mov rdx, qword [rax + 0x20]
cmp dword [0x23938d1d0], 0
jne 0x2390d6ef6
mov rsi, qword [rsp + 0xd0]
jmp 0x2390d6f1a
call dbg.runtime.gcWriteBarrier4
mov qword [r11], rdx
mov rsi, qword [rsp + 0xd0]
mov rdi, qword [rsi + 0x20]
mov qword [r11 + 8], rdi
mov qword [r11 + 0x10], rsi
mov rdi, qword [rax + 0x20]
mov qword [r11 + 0x18], rdi
mov qword [rsi + 0x20], rdx
mov qword [rax + 0x20], rsi
mov rbx, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x58]
call dbg.regexp/syntax.(*parser).parseEscape
mov qword [rsp + 0x108], rdi
mov qword [rsp + 0x110], rsi
test rdi, rdi
jne 0x2390d73e8
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0xc8], rbx
mov ebx, eax
mov rax, qword [rsp + 0x100]
call dbg.regexp/syntax.(*parser).literal
mov rcx, qword [rsp + 0x100]
mov rbx, qword [rsp + 0x58]
mov rax, qword [rsp + 0xc8]
movzx edx, byte [rsp + 0x57]
xor esi, esi
xor edi, edi
jmp 0x2390d681c
mov rbx, rdx
call dbg.regexp/syntax.(*parser).parseClass
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rdi
test rcx, rcx
jne 0x2390d741a
mov rcx, qword [rsp + 0x100]
movzx edx, byte [rsp + 0x57]
xor esi, esi
xor edi, edi
nop
jmp 0x2390d681c
cmp r11b, 0x2a
jne 0x2390d6fd2
mov edi, 0xe
jmp 0x2390d6feb
cmp r11b, 0x2b
jne 0x2390d6fe0
mov edi, 0xf
jmp 0x2390d6feb
cmp r11b, 0x3f
jne 0x2390d6feb
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 r11
sar r11, 0x3f
and r11d, 1
lea r9, [rdx + r11]
mov ebx, edi
xor edi, edi
mov rsi, rdx
mov r8, rcx
mov rcx, rdi
nop dword [rax]
call dbg.regexp/syntax.(*parser).repeat
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rdi
test rcx, rcx
jne 0x2390d744c
mov rcx, qword [rsp + 0x100]
movzx edx, byte [rsp + 0x57]
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0xc8]
jmp 0x2390d681c
cmp r11b, 0x5e
jne 0x2390d70c5
movzx r8d, word [rax]
test r8w, 0x10
je 0x2390d707e
mov ebx, 9
call dbg.regexp/syntax.(*parser).op
jmp 0x2390d7088
mov ebx, 7
call dbg.regexp/syntax.(*parser).op
mov rbx, qword [rsp + 0x58]
dec rbx
mov r11, rbx
neg r11
sar r11, 0x3f
and r11d, 1
mov r12, qword [rsp + 0xc8]
lea rax, [r12 + r11]
mov rcx, qword [rsp + 0x100]
movzx edx, byte [rsp + 0x57]
xor esi, esi
xor edi, edi
nop dword [rax + rax]
jmp 0x2390d681c
cmp r11b, 0x7b
je 0x2390d719c
cmp r11b, 0x7c
je 0x2390d7140
mov rax, rdx
mov rbx, rcx
nop dword [rax + rax]
call dbg.regexp/syntax.nextRune
mov qword [rsp + 0x108], rdi
mov qword [rsp + 0x110], rsi
test rdi, rdi
jne 0x2390d747e
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0xc8], rbx
mov ebx, eax
mov rax, qword [rsp + 0x100]
call dbg.regexp/syntax.(*parser).literal
mov rcx, qword [rsp + 0x100]
mov rbx, qword [rsp + 0x58]
mov rax, qword [rsp + 0xc8]
movzx edx, byte [rsp + 0x57]
xor esi, esi
xor edi, edi
jmp 0x2390d681c
call dbg.regexp/syntax.(*parser).parseVerticalBar
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x110], rbx
test rax, rax
jne 0x2390d74b0
mov rcx, qword [rsp + 0x58]
dec rcx
mov r11, rcx
neg r11
sar r11, 0x3f
and r11d, 1
mov r12, qword [rsp + 0xc8]
lea rbx, [r12 + r11]
mov rax, rbx
movzx edx, byte [rsp + 0x57]
xor esi, esi
xor edi, edi
mov rbx, rcx
mov rcx, qword [rsp + 0x100]
jmp 0x2390d681c
mov qword [rsp + 0x68], r8
mov qword [rsp + 0xf0], r9
mov rbx, rdx
call dbg.regexp/syntax.(*parser).parseRepeat
test sil, sil
jne 0x2390d7205
mov rax, qword [rsp + 0x100]
mov ebx, 0x7b
call dbg.regexp/syntax.(*parser).literal
mov rcx, qword [rsp + 0x58]
dec rcx
mov rdx, rcx
neg rdx
sar rdx, 0x3f
and edx, 1
mov rsi, qword [rsp + 0xc8]
lea rbx, [rsi + rdx]
mov rax, rbx
mov edx, 0x11
xor esi, esi
xor edi, edi
mov rbx, rcx
mov rcx, qword [rsp + 0x100]
jmp 0x2390d681c
cmp rax, 0x3e8
ja 0x2390d7518
cmp rbx, 0x3e8
jg 0x2390d7518
nop
test rbx, rbx
jl 0x2390d722e
cmp rbx, rax
jl 0x2390d7518
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 + 0x100]
mov ebx, 0x11
call dbg.regexp/syntax.(*parser).repeat
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rdi
nop
test rcx, rcx
jne 0x2390d74e6
mov rcx, qword [rsp + 0x100]
mov edx, 0x11
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0xc8]
jmp 0x2390d681c
mov qword [rsp + 0xc0], 0
call dbg.runtime.deferreturn
mov rbx, qword [rsp + 0x108]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x110]
add rsp, 0x138
pop rbp
ret
mov qword [rsp + 0xc0], 0
call dbg.runtime.deferreturn
mov rbx, qword [rsp + 0x108]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x110]
add rsp, 0x138
pop rbp
ret
lea rax, [0x2391c6920]
call sym.runtime.newobject
mov qword [rax + 8], 0x17
lea rcx, [0x2391e71d6]
mov qword [rax], rcx
mov qword [rax + 0x18], 2
cmp dword [0x23938d1d0], 0
jne 0x2390d7345
mov rcx, qword [rsp + 0xc8]
jmp 0x2390d7355
call dbg.runtime.gcWriteBarrier1
mov rcx, qword [rsp + 0xc8]
mov qword [r11], rcx
mov qword [rax + 0x10], rcx
mov qword [rsp + 0xc0], 0
lea rcx, [0x2392392a0]
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rax
nop dword [rax]
call dbg.runtime.deferreturn
mov rbx, qword [rsp + 0x108]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x110]
add rsp, 0x138
pop rbp
ret
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0x108], r8
mov qword [rsp + 0x110], r9
call dbg.runtime.deferreturn
mov rbx, qword [rsp + 0x108]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x110]
add rsp, 0x138
pop rbp
ret
mov qword [rsp + 0xc0], 0
call dbg.runtime.deferreturn
mov rbx, qword [rsp + 0x108]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x110]
add rsp, 0x138
pop rbp
ret
mov qword [rsp + 0xc0], 0
call dbg.runtime.deferreturn
mov rbx, qword [rsp + 0x108]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x110]
add rsp, 0x138
pop rbp
ret
mov qword [rsp + 0xc0], 0
call dbg.runtime.deferreturn
mov rbx, qword [rsp + 0x108]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x110]
add rsp, 0x138
pop rbp
ret
mov qword [rsp + 0xc0], 0
call dbg.runtime.deferreturn
mov rbx, qword [rsp + 0x108]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x110]
add rsp, 0x138
pop rbp
ret
mov qword [rsp + 0xc0], 0
nop dword [rax]
call dbg.runtime.deferreturn
mov rbx, qword [rsp + 0x108]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x110]
add rsp, 0x138
pop rbp
ret
mov qword [rsp + 0xc0], 0
call dbg.runtime.deferreturn
mov rbx, qword [rsp + 0x108]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x110]
add rsp, 0x138
pop rbp
ret
mov rcx, qword [rsp + 0x58]
mov rdx, rcx
sub rcx, rdi
cmp rdx, rcx
jb 0x2390d7705
mov qword [rsp + 0x70], rcx
lea rax, [0x2391c6920]
call sym.runtime.newobject
mov qword [rax + 8], 0x14
lea rcx, [0x2391e5dcf]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x70]
mov qword [rax + 0x18], rcx
cmp dword [0x23938d1d0], 0
nop
jne 0x2390d756c
mov rcx, qword [rsp + 0xc8]
jmp 0x2390d757c
call dbg.runtime.gcWriteBarrier1
mov rcx, qword [rsp + 0xc8]
mov qword [r11], rcx
mov qword [rax + 0x10], rcx
mov qword [rsp + 0xc0], 0
lea rcx, [0x2392392a0]
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rax
call dbg.runtime.deferreturn
mov rbx, qword [rsp + 0x108]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x110]
add rsp, 0x138
pop rbp
ret
call dbg.regexp/syntax.(*parser).concat
mov rax, qword [rsp + 0x100]
call dbg.regexp/syntax.(*parser).swapVerticalBar
test al, al
je 0x2390d7602
mov rax, qword [rsp + 0x100]
mov rdx, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
dec rcx
cmp rdx, rcx
jb 0x2390d7700
mov qword [rax + 0x10], rcx
nop
jmp 0x2390d760a
mov rax, qword [rsp + 0x100]
call dbg.regexp/syntax.(*parser).alternate
mov rcx, qword [rsp + 0x100]
cmp qword [rcx + 0x10], 1
nop dword [rax]
je 0x2390d76c1
lea rax, [0x2391c6920]
call sym.runtime.newobject
mov qword [rax + 8], 0x11
lea rcx, [0x2391e4b08]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x150]
mov qword [rax + 0x18], rcx
cmp dword [0x23938d1d0], 0
jne 0x2390d7663
mov rcx, qword [rsp + 0x148]
jmp 0x2390d7673
call dbg.runtime.gcWriteBarrier1
mov rcx, qword [rsp + 0x148]
mov qword [r11], rcx
mov qword [rax + 0x10], rcx
mov qword [rsp + 0xc0], 0
lea rcx, [0x2392392a0]
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rax
call dbg.runtime.deferreturn
mov rbx, qword [rsp + 0x108]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x110]
add rsp, 0x138
pop rbp
nop
ret
mov rax, qword [rcx + 8]
mov rax, qword [rax]
mov qword [rsp + 0xc0], rax
movups xmmword [rsp + 0x108], xmm15
call dbg.runtime.deferreturn
mov rbx, qword [rsp + 0x108]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x110]
add rsp, 0x138
pop rbp
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 + 0x100]
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 0x2390d7791
call dbg.regexp/syntax.nextRune
test rdi, rdi
je 0x2390d770a
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0x108], rdi
mov qword [rsp + 0x110], rsi
call dbg.runtime.deferreturn
mov rbx, qword [rsp + 0x108]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x110]
add rsp, 0x138
pop rbp
ret
mov rcx, qword [rsp + 0x100]
mov rbx, rdi
mov rax, qword [rsp + 0xc8]
movzx edx, byte [rsp + 0x57]
xor esi, esi
xor edi, edi
jmp 0x2390d681c
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]
jmp dbg.regexp/syntax.parse