Function at 0x50f8c0
Capabilities:
Parse credit card information

Disassembly:
lea r12, [rsp - 0x40]
cmp r12, qword [r14 + 0x10]
jbe 0x510767
push rbp
mov rbp, rsp
sub rsp, 0xb8
mov word [rsp + 0xd8], cx
mov qword [rsp + 0xd0], rbx
mov qword [rsp + 0xc8], rax
test cx, 2
jne 0x50f960
lea rax, [0x005772e0]
call sym.runtime.newobject
movzx ecx, word [rsp + 0xd8]
mov word [rax], cx
mov rcx, qword [rsp + 0xd0]
mov qword [rax + 0x38], rcx
cmp dword [0x00717c60], 0
jne 0x50f92f
mov rdx, qword [rsp + 0xc8]
jmp 0x50f93f
call sym.runtime.gcWriteBarrier1
mov rdx, qword [rsp + 0xc8]
mov qword [r11], rdx
mov qword [rsp + 0xb0], rax
mov qword [rax + 0x30], rdx
mov rbx, rcx
mov rsi, rdx
xor edi, edi
xor r8d, r8d
xor r9d, r9d
jmp 0x50fab2
call sym.rsc.io_binaryregexp_syntax.checkUTF8
test rax, rax
jne 0x50f9ca
lea rax, [0x0057c9c0]
call sym.runtime.newobject
mov byte [rax], 3
movzx ecx, word [rsp + 0xd8]
mov word [rax + 2], cx
mov qword [rax + 0x30], 0
mov qword [rax + 0x38], 2
lea rcx, [rax + 0x40]
cmp dword [0x00717c60], 0
je 0x50f9aa
call sym.runtime.gcWriteBarrier1
mov qword [r11], rcx
mov qword [rsp + 0x90], rax
mov qword [rax + 0x28], rcx
mov rbx, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xc8]
xor ecx, ecx
jmp 0x50f9ee
mov rcx, rbx
mov rbx, rax
xor eax, eax
add rsp, 0xb8
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 0x50fa79
movzx esi, byte [rdx + rcx]
nop dword [rax + rax]
cmp esi, 0x80
jge 0x50fa0e
lea rdi, [rcx + 1]
jmp 0x50fa33
mov rax, rdx
call sym.runtime.decoderune
mov rdx, qword [rsp + 0xc8]
mov esi, eax
mov rdi, rbx
mov rax, qword [rsp + 0x90]
mov rbx, qword [rsp + 0xd0]
mov r8, qword [rax + 0x30]
cmp qword [rax + 0x38], r8
jg 0x50f9db
xor eax, eax
mov rcx, rbx
mov rbx, rdx
call sym.runtime.stringtoslicerune
mov rdx, qword [rsp + 0x90]
mov qword [rdx + 0x30], rbx
mov qword [rdx + 0x38], rcx
cmp dword [0x00717c60], 0
je 0x50fa73
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov rsi, qword [rdx + 0x28]
mov qword [r11 + 8], rsi
mov qword [rdx + 0x28], rax
jmp 0x50fa7c
mov rdx, rax
mov rax, rdx
xor ebx, ebx
xor ecx, ecx
add rsp, 0xb8
pop rbp
ret
mov rcx, rbx
mov r8, rsi
mov r9, rdi
mov rbx, qword [rsp + 0xd0]
mov rsi, qword [rsp + 0xc8]
mov edi, edx
mov rdx, rax
mov rax, qword [rsp + 0xb0]
test rcx, rcx
je 0x5105f6
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x78], rdx
mov byte [rsp + 0x57], dil
movzx r11d, byte [rdx]
cmp r11b, 0x2e
ja 0x50fcc0
nop dword [rax + rax]
cmp r11b, 0x28
ja 0x50fbf3
cmp r11b, 0x24
jne 0x50fb60
movzx r8d, word [rax]
test r8w, 0x10
je 0x50fb14
mov ebx, 0xa
call sym.rsc.io_binaryregexp_syntax._parser_.op
movzx ecx, word [rax + 2]
bts ecx, 8
mov word [rax + 2], cx
jmp 0x50fb1e
mov ebx, 8
call sym.rsc.io_binaryregexp_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 + 0x78]
add r11, r13
mov rcx, qword [rsp + 0xb0]
mov rbx, r12
mov rax, r11
movzx edx, byte [rsp + 0x57]
xor esi, esi
xor edi, edi
jmp 0x50fa8c
cmp r11b, 0x28
jne 0x510346
movzx r8d, word [rax]
test r8w, 0x40
je 0x50fba9
cmp rcx, 2
jl 0x50fba9
cmp byte [rdx + 1], 0x3f
jne 0x50fba9
mov rbx, rdx
call sym.rsc.io_binaryregexp_syntax._parser_.parsePerlFlags
test rcx, rcx
jne 0x5104e5
mov rcx, qword [rsp + 0xb0]
movzx edx, byte [rsp + 0x57]
xor esi, esi
xor edi, edi
jmp 0x50fa8c
inc qword [rax + 0x28]
mov ebx, 0xffffff80
call sym.rsc.io_binaryregexp_syntax._parser_.op
mov rcx, qword [rsp + 0xb0]
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 + 0x78]
lea rax, [rsi + rdx]
movzx edx, byte [rsp + 0x57]
xor esi, esi
xor edi, edi
jmp 0x50fa8c
cmp r11b, 0x29
je 0x50fc73
nop dword [rax]
cmp r11b, 0x2b
jbe 0x510255
cmp r11b, 0x2e
jne 0x510346
movzx r8d, word [rax]
nop dword [rax + rax]
test r8w, 8
je 0x50fc34
mov ebx, 6
call sym.rsc.io_binaryregexp_syntax._parser_.op
jmp 0x50fc3e
mov ebx, 5
call sym.rsc.io_binaryregexp_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 + 0x78]
lea rax, [r12 + r11]
mov rcx, qword [rsp + 0xb0]
movzx edx, byte [rsp + 0x57]
xor esi, esi
xor edi, edi
jmp 0x50fa8c
call sym.rsc.io_binaryregexp_syntax._parser_.parseRightParen
nop dword [rax + rax]
test rax, rax
jne 0x5104f6
mov rbx, qword [rsp + 0x58]
dec rbx
mov r11, rbx
neg r11
sar r11, 0x3f
and r11d, 1
mov r12, qword [rsp + 0x78]
lea rax, [r12 + r11]
mov rcx, qword [rsp + 0xb0]
movzx edx, byte [rsp + 0x57]
xor esi, esi
xor edi, edi
jmp 0x50fa8c
cmp r11b, 0x5c
ja 0x5102d5
cmp r11b, 0x3f
je 0x510255
cmp r11b, 0x5b
je 0x51022e
nop
cmp r11b, 0x5c
jne 0x510346
movzx r9d, word [rax]
test r9w, 0x40
je 0x50ff4f
nop word [rax + rax]
cmp rcx, 2
jl 0x50ff4f
movzx r9d, byte [rdx + 1]
cmp r9b, 0x43
ja 0x50fe00
nop dword [rax]
cmp r9b, 0x41
je 0x50fdba
cmp r9b, 0x42
je 0x50fd7a
cmp r9b, 0x43
jne 0x50ff4f
mov ebx, 6
nop
call sym.rsc.io_binaryregexp_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 + 0x78]
lea rax, [rdx + rcx]
mov rcx, qword [rsp + 0xb0]
movzx edx, byte [rsp + 0x57]
xor esi, esi
xor edi, edi
jmp 0x50fa8c
mov ebx, 0xc
nop
call sym.rsc.io_binaryregexp_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 + 0x78]
lea rax, [rdx + rcx]
mov rcx, qword [rsp + 0xb0]
movzx edx, byte [rsp + 0x57]
xor esi, esi
xor edi, edi
jmp 0x50fa8c
mov ebx, 9
nop
call sym.rsc.io_binaryregexp_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 + 0x78]
lea rax, [rdx + rcx]
mov rcx, qword [rsp + 0xb0]
movzx edx, byte [rsp + 0x57]
xor esi, esi
xor edi, edi
jmp 0x50fa8c
cmp r9b, 0x51
je 0x50fe9a
cmp r9b, 0x62
je 0x50fe5a
cmp r9b, 0x7a
jne 0x50ff4f
mov ebx, 0xa
nop
call sym.rsc.io_binaryregexp_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 + 0x78]
lea rax, [rdx + rcx]
mov rcx, qword [rsp + 0xb0]
movzx edx, byte [rsp + 0x57]
xor esi, esi
xor edi, edi
jmp 0x50fa8c
mov ebx, 0xb
nop
call sym.rsc.io_binaryregexp_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 + 0x78]
lea rax, [rdx + rcx]
mov rcx, qword [rsp + 0xb0]
movzx edx, byte [rsp + 0x57]
xor esi, esi
xor edi, edi
jmp 0x50fa8c
mov rax, rdx
mov rbx, rcx
lea rcx, [0x0058c464]
mov edi, 2
call sym.strings.Index
test rax, rax
jge 0x50fee2
mov rdx, qword [rsp + 0x58]
add rdx, 0xfffffffffffffffe
mov r11, rdx
neg rdx
sar rdx, 0x3f
and edx, 2
mov r12, qword [rsp + 0x78]
add rdx, r12
xor ecx, ecx
xor r13d, r13d
mov r12, r11
mov r11, rdx
nop
jmp 0x50ff40
mov rdx, qword [rsp + 0x58]
cmp rax, rdx
ja 0x51075e
cmp rax, 2
jb 0x510751
lea r11, [rax - 2]
mov r12, r11
neg r11
sar r11, 0x3f
and r11d, 2
lea r13, [rax + 2]
mov r15, qword [rsp + 0x78]
add r11, r15
nop dword [rax + rax]
cmp rdx, r13
jb 0x510746
sub rdx, rax
lea rax, [rdx - 2]
mov rcx, rax
neg rax
sar rax, 0x3f
and r13, rax
add r13, r15
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x78], r13
jmp 0x510702
mov r9, qword [rax + 0x20]
nop
test r9, r9
je 0x50fff5
mov r10, qword [r9 + 0x20]
cmp dword [0x00717c60], 0
je 0x50ffd0
mov qword [rsp + 0x88], r9
mov qword [rsp + 0xa8], r10
call sym.runtime.gcWriteBarrier2
mov qword [r11], r10
mov rcx, qword [rax + 0x20]
mov qword [r11 + 8], rcx
mov rbx, r9
lea rax, [0x0057c9c0]
call sym.runtime.wbZero
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0xd0]
mov rsi, qword [rsp + 0xc8]
movzx edi, byte [rsp + 0x57]
mov r9, qword [rsp + 0x88]
mov r10, qword [rsp + 0xa8]
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.004632c6
mov rbp, qword [rbp]
jmp 0x510030
lea rax, [0x0057c9c0]
nop dword [rax]
call sym.runtime.newobject
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0xd0]
mov rsi, qword [rsp + 0xc8]
movzx r8d, byte [rsp + 0x57]
mov r9, rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x80], r9
mov byte [r9], 4
movzx r10d, word [rax]
mov word [r9 + 2], r10w
cmp rcx, 2
jl 0x51010f
movzx r10d, byte [rdx + 1]
cmp r10b, 0x70
je 0x51006a
nop word [rax + rax]
cmp r10b, 0x50
jne 0x51010f
lea rdi, [r9 + 0x40]
mov rbx, rdx
xor esi, esi
mov r8d, 2
call sym.rsc.io_binaryregexp_syntax._parser_.parseUnicodeClass
nop
test r8, r8
jne 0x510507
test rax, rax
je 0x5100f5
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0x58], rsi
mov rdx, qword [rsp + 0x80]
mov qword [rdx + 0x30], rbx
mov qword [rdx + 0x38], rcx
cmp dword [0x00717c60], 0
je 0x5100c1
call sym.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 + 0xb0]
mov rbx, rdx
call sym.rsc.io_binaryregexp_syntax._parser_.push
mov rcx, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x78]
movzx edx, byte [rsp + 0x57]
xor esi, esi
xor edi, edi
jmp 0x50fa8c
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x78]
mov r9, qword [rsp + 0x80]
lea rdi, [r9 + 0x40]
mov rbx, rdx
xor esi, esi
mov r8d, 2
nop
call sym.rsc.io_binaryregexp_syntax._parser_.parsePerlClassEscape
test rax, rax
je 0x510191
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x78], rdi
mov rdx, qword [rsp + 0x80]
mov qword [rdx + 0x30], rbx
mov qword [rdx + 0x38], rcx
cmp dword [0x00717c60], 0
je 0x51015d
call sym.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 + 0xb0]
mov rbx, rdx
call sym.rsc.io_binaryregexp_syntax._parser_.push
mov rcx, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x78]
movzx edx, byte [rsp + 0x57]
xor esi, esi
xor edi, edi
jmp 0x50fa8c
nop
mov rax, qword [rsp + 0xb0]
mov rdx, qword [rax + 0x20]
cmp dword [0x00717c60], 0
jne 0x5101b1
mov rsi, qword [rsp + 0x80]
jmp 0x5101d5
call sym.runtime.gcWriteBarrier4
mov qword [r11], rdx
mov rsi, qword [rsp + 0x80]
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 + 0x78]
mov rcx, qword [rsp + 0x58]
call sym.rsc.io_binaryregexp_syntax._parser_.parseEscape
test rdi, rdi
jne 0x510518
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x78], rbx
mov ebx, eax
mov rax, qword [rsp + 0xb0]
call sym.rsc.io_binaryregexp_syntax._parser_.literal
mov rcx, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x78]
movzx edx, byte [rsp + 0x57]
xor esi, esi
xor edi, edi
jmp 0x50fa8c
mov rbx, rdx
call sym.rsc.io_binaryregexp_syntax._parser_.parseClass
test rcx, rcx
jne 0x510529
mov rcx, qword [rsp + 0xb0]
movzx edx, byte [rsp + 0x57]
xor esi, esi
xor edi, edi
jmp 0x50fa8c
cmp r11b, 0x2a
jne 0x510262
mov edi, 0xe
jmp 0x51027a
cmp r11b, 0x2b
jne 0x51026f
mov edi, 0xf
jmp 0x51027a
cmp r11b, 0x3f
jne 0x51027a
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
call sym.rsc.io_binaryregexp_syntax._parser_.repeat
test rcx, rcx
jne 0x51053a
mov rcx, qword [rsp + 0xb0]
movzx edx, byte [rsp + 0x57]
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x78]
jmp 0x50fa8c
cmp r11b, 0x5e
jne 0x510333
movzx r8d, word [rax]
nop
test r8w, 0x10
je 0x5102f4
mov ebx, 9
call sym.rsc.io_binaryregexp_syntax._parser_.op
jmp 0x5102fe
mov ebx, 7
call sym.rsc.io_binaryregexp_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 + 0x78]
lea rax, [r12 + r11]
mov rcx, qword [rsp + 0xb0]
movzx edx, byte [rsp + 0x57]
xor esi, esi
xor edi, edi
jmp 0x50fa8c
cmp r11b, 0x7b
je 0x5103e5
nop dword [rax]
cmp r11b, 0x7c
je 0x510393
mov rax, rdx
mov rbx, rcx
call sym.rsc.io_binaryregexp_syntax.nextRune
test rdi, rdi
jne 0x51054b
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x78], rbx
mov ebx, eax
mov rax, qword [rsp + 0xb0]
call sym.rsc.io_binaryregexp_syntax._parser_.literal
mov rcx, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x78]
movzx edx, byte [rsp + 0x57]
xor esi, esi
xor edi, edi
jmp 0x50fa8c
call sym.rsc.io_binaryregexp_syntax._parser_.parseVerticalBar
nop dword [rax + rax]
test rax, rax
jne 0x51055c
mov rcx, qword [rsp + 0x58]
dec rcx
mov r11, rcx
neg r11
sar r11, 0x3f
and r11d, 1
mov r12, qword [rsp + 0x78]
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 + 0xb0]
nop
jmp 0x50fa8c
mov qword [rsp + 0xa0], r9
mov qword [rsp + 0x68], r8
mov rbx, rdx
call sym.rsc.io_binaryregexp_syntax._parser_.parseRepeat
test sil, sil
jne 0x51044b
mov rax, qword [rsp + 0xb0]
mov ebx, 0x7b
call sym.rsc.io_binaryregexp_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 + 0x78]
lea rbx, [rsi + rdx]
mov rax, rbx
mov edx, 0x11
xor esi, esi
xor edi, edi
mov rbx, rcx
mov rcx, qword [rsp + 0xb0]
jmp 0x50fa8c
cmp rax, 0x3e8
ja 0x51057e
nop word [rax + rax]
cmp rbx, 0x3e8
jg 0x51057e
test rbx, rbx
jl 0x51047b
cmp rbx, rax
jl 0x51057e
mov rdx, qword [rsp + 0xa0]
mov qword [rsp], rdx
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 8], rdx
mov rsi, qword [rsp + 0x78]
mov r8, qword [rsp + 0x58]
mov r9, rcx
mov r10, rdi
mov rcx, rax
mov rdi, rbx
mov rax, qword [rsp + 0xb0]
mov ebx, 0x11
call sym.rsc.io_binaryregexp_syntax._parser_.repeat
nop dword [rax]
test rcx, rcx
jne 0x51056d
mov rcx, qword [rsp + 0xb0]
mov edx, 0x11
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x78]
jmp 0x50fa8c
xor eax, eax
mov rbx, rcx
mov rcx, rdi
add rsp, 0xb8
pop rbp
ret
mov rcx, rbx
mov rbx, rax
xor eax, eax
add rsp, 0xb8
pop rbp
ret
xor eax, eax
mov rbx, r8
mov rcx, r9
add rsp, 0xb8
pop rbp
ret
xor eax, eax
mov rbx, rdi
mov rcx, rsi
add rsp, 0xb8
pop rbp
ret
xor eax, eax
mov rbx, rcx
mov rcx, rdi
add rsp, 0xb8
pop rbp
ret
xor eax, eax
mov rbx, rcx
mov rcx, rdi
add rsp, 0xb8
pop rbp
ret
xor eax, eax
mov rbx, rdi
mov rcx, rsi
add rsp, 0xb8
pop rbp
ret
mov rcx, rbx
mov rbx, rax
xor eax, eax
add rsp, 0xb8
pop rbp
ret
xor eax, eax
mov rbx, rcx
mov rcx, rdi
add rsp, 0xb8
pop rbp
ret
mov rcx, qword [rsp + 0x58]
mov rdx, rcx
sub rcx, rdi
cmp rdx, rcx
jb 0x5106ca
mov qword [rsp + 0x70], rcx
lea rax, [0x005682c0]
nop
call sym.runtime.newobject
mov qword [rax + 8], 0x14
lea rcx, [0x00594272]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x70]
mov qword [rax + 0x18], rcx
cmp dword [0x00717c60], 0
jne 0x5105d0
mov rdx, qword [rsp + 0x78]
jmp 0x5105dd
call sym.runtime.gcWriteBarrier1
mov rdx, qword [rsp + 0x78]
mov qword [r11], rdx
mov qword [rax + 0x10], rdx
lea rbx, [0x005cfe40]
mov rcx, rax
xor eax, eax
add rsp, 0xb8
pop rbp
ret
call sym.rsc.io_binaryregexp_syntax._parser_.concat
mov rax, qword [rsp + 0xb0]
call sym.rsc.io_binaryregexp_syntax._parser_.swapVerticalBar
test al, al
je 0x51062f
mov rax, qword [rsp + 0xb0]
mov rdx, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
dec rcx
nop
cmp rdx, rcx
jb 0x5106c5
mov qword [rax + 0x10], rcx
jmp 0x510637
mov rax, qword [rsp + 0xb0]
call sym.rsc.io_binaryregexp_syntax._parser_.alternate
mov rcx, qword [rsp + 0xb0]
cmp qword [rcx + 0x10], 1
je 0x5106b1
lea rax, [0x005682c0]
call sym.runtime.newobject
mov qword [rax + 8], 0x11
lea rcx, [0x005920e4]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xd0]
mov qword [rax + 0x18], rcx
cmp dword [0x00717c60], 0
jne 0x510688
mov rdx, qword [rsp + 0xc8]
jmp 0x510698
call sym.runtime.gcWriteBarrier1
mov rdx, qword [rsp + 0xc8]
mov qword [r11], rdx
mov qword [rax + 0x10], rdx
lea rbx, [0x005cfe40]
mov rcx, rax
xor eax, eax
add rsp, 0xb8
pop rbp
ret
mov rdx, qword [rcx + 8]
mov rax, qword [rdx]
xor ebx, ebx
xor ecx, ecx
add rsp, 0xb8
pop rbp
ret
call sym.runtime.panicSliceAcap
call sym.runtime.panicSliceAlen
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x98], rbx
mov ebx, eax
mov rax, qword [rsp + 0xb0]
call sym.rsc.io_binaryregexp_syntax._parser_.literal
mov rcx, qword [rsp + 0x58]
mov r13, qword [rsp + 0x78]
mov r12, qword [rsp + 0x60]
mov r11, qword [rsp + 0x98]
test r12, r12
je 0x510728
mov rax, r11
mov rbx, r12
call sym.rsc.io_binaryregexp_syntax.nextRune
test rdi, rdi
je 0x5106cf
xor eax, eax
mov rbx, rdi
mov rcx, rsi
add rsp, 0xb8
pop rbp
ret
mov rcx, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0x58]
mov rax, r13
movzx edx, byte [rsp + 0x57]
xor esi, esi
xor edi, edi
jmp 0x50fa8c
mov rax, r13
mov rcx, rdx
call sym.runtime.panicSliceB
mov rcx, rax
mov eax, 2
call sym.runtime.panicSliceB
mov rcx, rax
call sym.runtime.panicSliceAlen
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov word [rsp + 0x18], cx
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
movzx ecx, word [rsp + 0x18]
jmp sym.rsc.io_binaryregexp_syntax.Parse