Function at 0x556de0
Capabilities:
Reference sql statements

Disassembly:
lea r12, [rsp - 8]
cmp r12, qword [r14 + 0x10]
jbe 0x5573e6
push rbp
mov rbp, rsp
add rsp, 0xffffffffffffff80
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xa8], rdi
movzx edx, word [rax]
test dx, 0x80
je 0x556e4e
cmp rcx, 2
jl 0x556e4e
cmp byte [rbx], 0x5c
jne 0x556e4e
mov qword [rsp + 0x90], rax
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xb0], rsi
mov qword [rsp + 0xb8], r8
movzx edx, byte [rbx + 1]
mov byte [rsp + 0x37], dl
cmp dl, 0x70
je 0x556e66
cmp dl, 0x50
je 0x556e66
xor eax, eax
xor ebx, ebx
mov rcx, rbx
xor edi, edi
mov rsi, rcx
xor r8d, r8d
mov r9, rdi
sub rsp, 0xffffffffffffff80
pop rbp
ret
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xa0], rcx
lea rdx, [rcx - 2]
mov rsi, rdx
neg rdx
sar rdx, 0x3f
and edx, 2
lea rax, [rdx + rbx]
mov rbx, rsi
call sym.regexp_syntax.nextRune
movzx edx, byte [rsp + 0x37]
cmp dl, 0x50
mov edx, 1
mov r8, 0xffffffffffffffff
cmove rdx, r8
test rdi, rdi
jne 0x55739e
cmp eax, 0x7b
je 0x556efc
mov rsi, qword [rsp + 0xa0]
mov r8, rsi
sub rsi, rcx
cmp r8, rsi
jb 0x5573d7
cmp rsi, 2
jb 0x5573ca
lea r8, [rsi - 2]
mov r9, r8
neg r8
sar r8, 0x3f
and r8d, 2
mov r10, qword [rsp + 0x98]
add r8, r10
jmp 0x556fcf
mov qword [rsp + 0x40], rdx
mov rax, qword [rsp + 0x98]
mov rbx, qword [rsp + 0xa0]
mov ecx, 0x7d
call sym.strings.IndexRune
nop dword [rax + rax]
test rax, rax
jl 0x5572fd
lea rcx, [rax + 1]
mov rdx, qword [rsp + 0xa0]
cmp rdx, rcx
jb 0x5573c5
sub rdx, rax
dec rdx
mov rsi, rdx
neg rdx
sar rdx, 0x3f
and rdx, rcx
mov rdi, qword [rsp + 0x98]
add rdx, rdi
nop dword [rax]
cmp rax, 3
jb 0x5573b6
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x68], rdx
lea rbx, [rax - 3]
mov qword [rsp + 0x50], rbx
mov rcx, rbx
neg rcx
sar rcx, 0x3f
and ecx, 3
lea rax, [rcx + rdi]
mov qword [rsp + 0x70], rax
call sym.regexp_syntax.checkUTF8
nop dword [rax]
test rax, rax
jne 0x5572e5
mov rdx, qword [rsp + 0x40]
mov r10, qword [rsp + 0x98]
mov r9, qword [rsp + 0x50]
mov r8, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
test r9, r9
je 0x556ff1
cmp byte [r8], 0x5e
jne 0x556ff1
dec r9
mov r11, r9
neg r11
sar r11, 0x3f
and r11d, 1
neg rdx
add r8, r11
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], rdx
cmp r9, 3
jne 0x557029
cmp word [r8], 0x6e41
jne 0x557029
cmp byte [r8 + 2], 0x79
jne 0x557029
mov r8, qword [0x0075b228]
mov rax, r8
jmp 0x557140
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x70], r8
mov rbx, qword [0x0076fe90]
lea rax, [0x005a0d60]
mov rcx, r8
mov rdi, r9
call sym.runtime.mapaccess1_faststr
mov rdx, qword [rax]
test rdx, rdx
je 0x5570a5
mov qword [rsp + 0x60], rdx
mov rbx, qword [0x0076fea0]
lea rax, [0x005a0d60]
mov rcx, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x50]
call sym.runtime.mapaccess1_faststr
mov r8, qword [rax]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x48]
mov r10, qword [rsp + 0x98]
mov rax, r8
mov r8, qword [rsp + 0x60]
nop dword [rax]
jmp 0x557140
mov rbx, qword [0x0076fe98]
lea rax, [0x005a0d60]
mov rcx, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x50]
nop dword [rax]
call sym.runtime.mapaccess1_faststr
mov rdx, qword [rax]
test rdx, rdx
jne 0x5570f0
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x48]
mov r10, qword [rsp + 0x98]
xor r8d, r8d
xor eax, eax
jmp 0x557140
mov qword [rsp + 0x60], rdx
mov rbx, qword [0x0076fea8]
lea rax, [0x005a0d60]
mov rcx, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x50]
call sym.runtime.mapaccess1_faststr
mov r8, qword [rax]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x48]
mov r10, qword [rsp + 0x98]
mov rax, r8
mov r8, qword [rsp + 0x60]
nop dword [rax]
test r8, r8
je 0x55727b
mov rsi, qword [rsp + 0x90]
movzx r9d, word [rsi]
test r9w, 1
je 0x557165
nop dword [rax]
test rax, rax
jne 0x5571b4
test rdx, rdx
jle 0x55718f
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xb8]
mov rdi, r8
call sym.regexp_syntax.appendTable
jmp 0x557265
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xb8]
mov rdi, r8
call sym.regexp_syntax.appendNegatedTable
jmp 0x557265
mov qword [rsp + 0x78], rax
mov rcx, qword [rsi + 0x50]
mov rax, qword [rsi + 0x40]
xor ebx, ebx
mov rdi, r8
call sym.regexp_syntax.appendTable
mov rdi, qword [rsp + 0x78]
call sym.regexp_syntax.appendTable
mov rdx, qword [rsp + 0x90]
mov qword [rdx + 0x48], rbx
mov qword [rdx + 0x50], rcx
cmp dword [0x007c4ac0], 0
je 0x5571fe
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov rcx, qword [rdx + 0x40]
mov qword [r11 + 8], rcx
mov qword [rdx + 0x40], rax
lea rax, [rdx + 0x40]
call sym.regexp_syntax.cleanClass
mov rdx, qword [rsp + 0x40]
test rdx, rdx
jle 0x55723d
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xb8]
call sym.regexp_syntax.appendClass
jmp 0x557265
mov rdi, rax
mov rsi, rbx
mov r8, rcx
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xb8]
nop
call sym.regexp_syntax.appendNegatedClass
mov rdi, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x38]
xor r8d, r8d
xor r9d, r9d
sub rsp, 0xffffffffffffff80
pop rbp
ret
lea rax, [0x005b4c20]
call sym.runtime.newobject
mov qword [rax + 8], 0x1d
lea rcx, [0x005e6e17]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x48]
mov qword [rax + 0x18], rcx
cmp dword [0x007c4ac0], 0
jne 0x5572b5
mov rdx, qword [rsp + 0x98]
jmp 0x5572c5
call sym.runtime.gcWriteBarrier1
mov rdx, qword [rsp + 0x98]
mov qword [r11], rdx
mov qword [rax + 0x10], rdx
xor ebx, ebx
mov rcx, rbx
xor edi, edi
mov rsi, rcx
lea r8, [0x00637c00]
mov r9, rax
xor eax, eax
sub rsp, 0xffffffffffffff80
pop rbp
ret
xor ecx, ecx
xor edi, edi
mov rsi, rcx
mov r8, rax
mov r9, rbx
xor eax, eax
mov rbx, rcx
sub rsp, 0xffffffffffffff80
pop rbp
ret
mov rax, qword [rsp + 0x98]
mov rbx, qword [rsp + 0xa0]
call sym.regexp_syntax.checkUTF8
test rax, rax
jne 0x557386
lea rax, [0x005b4c20]
nop
call sym.runtime.newobject
mov qword [rax + 8], 0x1d
lea rcx, [0x005e6e17]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xa0]
mov qword [rax + 0x18], rcx
cmp dword [0x007c4ac0], 0
jne 0x557356
mov rdx, qword [rsp + 0x98]
jmp 0x557366
call sym.runtime.gcWriteBarrier1
mov rdx, qword [rsp + 0x98]
mov qword [r11], rdx
mov qword [rax + 0x10], rdx
xor ebx, ebx
mov rcx, rbx
xor edi, edi
mov rsi, rcx
lea r8, [0x00637c00]
mov r9, rax
xor eax, eax
sub rsp, 0xffffffffffffff80
pop rbp
ret
xor ecx, ecx
xor edi, edi
mov rsi, rcx
mov r8, rax
mov r9, rbx
xor eax, eax
mov rbx, rcx
sub rsp, 0xffffffffffffff80
pop rbp
ret
xor eax, eax
xor ebx, ebx
mov rcx, rbx
mov r8, rdi
mov r9, rsi
xor edi, edi
mov rsi, rcx
sub rsp, 0xffffffffffffff80
pop rbp
ret
mov rcx, rax
mov eax, 3
nop
call sym.runtime.panicSliceB
call sym.runtime.panicSliceAlen
mov eax, 2
mov rcx, rsi
call sym.runtime.panicSliceB
mov rcx, rsi
mov rdx, r8
nop dword [rax]
call sym.runtime.panicSliceAlen
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
jmp sym.regexp_syntax._parser_.parseUnicodeClass