Function at 0x555520
Capabilities:
Reference sql statements

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x555aa6
push rbp
mov rbp, rsp
sub rsp, 0x60
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x78], rbx
cmp rcx, 4
jle 0x5556a0
cmp byte [rbx + 2], 0x50
jne 0x5556a0
cmp byte [rbx + 3], 0x3c
nop dword [rax]
jne 0x5556a0
mov rax, rbx
mov rbx, rcx
mov ecx, 0x3e
call sym.strings.IndexRune
test rax, rax
jl 0x55560e
lea rcx, [rax + 1]
mov rdx, qword [rsp + 0x80]
cmp rdx, rcx
jb 0x555aa0
cmp rax, 4
jb 0x555a8f
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rcx
lea rbx, [rax - 4]
mov qword [rsp + 0x30], rbx
mov rcx, rbx
neg rcx
sar rcx, 0x3f
and ecx, 4
mov rdx, qword [rsp + 0x78]
add rcx, rdx
mov qword [rsp + 0x58], rcx
mov rax, rcx
call sym.regexp_syntax.checkUTF8
test rax, rax
jne 0x5555fe
mov rdx, qword [rsp + 0x38]
nop dword [rax]
cmp rdx, 4
je 0x5555f7
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x30]
xor ecx, ecx
jmp 0x555a28
xor eax, eax
jmp 0x55592f
mov rcx, rax
mov rdi, rbx
xor eax, eax
xor ebx, ebx
add rsp, 0x60
pop rbp
ret
mov rax, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x80]
nop dword [rax + rax]
call sym.regexp_syntax.checkUTF8
test rax, rax
jne 0x555689
lea rax, [0x005b4c20]
call sym.runtime.newobject
mov qword [rax + 8], 0x15
lea rcx, [0x005e331d]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x80]
mov qword [rax + 0x18], rcx
cmp dword [0x007c4ac0], 0
jne 0x555664
mov rdx, qword [rsp + 0x78]
jmp 0x555671
call sym.runtime.gcWriteBarrier1
mov rdx, qword [rsp + 0x78]
mov qword [r11], rdx
mov qword [rax + 0x10], rdx
xor ebx, ebx
lea rcx, [0x00637c00]
mov rdi, rax
xor eax, eax
add rsp, 0x60
pop rbp
ret
mov rcx, rax
mov rdi, rbx
xor eax, eax
xor ebx, ebx
add rsp, 0x60
pop rbp
ret
cmp rcx, 2
jb 0x555925
lea rsi, [rcx - 2]
mov rdi, rsi
neg rsi
sar rsi, 0x3f
and esi, 2
add rsi, rbx
movzx r8d, word [rax]
mov edx, 1
xor r9d, r9d
jmp 0x5556ed
mov rdi, rcx
mov r9d, edx
mov r8d, esi
mov rcx, qword [rsp + 0x80]
mov rsi, rbx
mov rdx, rax
mov rax, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x78]
test rdi, rdi
je 0x5558b2
mov word [rsp + 0x1e], r8w
mov byte [rsp + 0x1d], r9b
mov qword [rsp + 0x28], rdx
mov rax, rsi
mov rbx, rdi
call sym.regexp_syntax.nextRune
test rdi, rdi
jne 0x5558a2
cmp eax, 0x3a
jg 0x555760
nop
cmp eax, 0x29
je 0x555809
cmp eax, 0x2d
jne 0x555800
mov rsi, qword [rsp + 0x28]
nop word [rax + rax]
test rsi, rsi
jl 0x5557e5
movzx esi, word [rsp + 0x1e]
not esi
mov rax, 0xffffffffffffffff
xor edx, edx
jmp 0x5556cc
cmp eax, 0x69
jg 0x5557a5
cmp eax, 0x55
jne 0x555785
movzx esi, word [rsp + 0x1e]
or esi, 0x20
mov rax, qword [rsp + 0x28]
mov edx, 1
nop dword [rax]
jmp 0x5556cc
cmp eax, 0x69
jne 0x555890
movzx esi, word [rsp + 0x1e]
or esi, 1
mov rax, qword [rsp + 0x28]
mov edx, 1
jmp 0x5556cc
cmp eax, 0x6d
jne 0x5557c5
movzx esi, word [rsp + 0x1e]
and esi, 0xffffffef
mov rax, qword [rsp + 0x28]
mov edx, 1
nop dword [rax]
jmp 0x5556cc
cmp eax, 0x73
jne 0x555890
movzx esi, word [rsp + 0x1e]
or esi, 8
mov rax, qword [rsp + 0x28]
mov edx, 1
jmp 0x5556cc
mov rbx, qword [rsp + 0x78]
mov rdi, rcx
mov rcx, qword [rsp + 0x80]
jmp 0x5558b2
cmp eax, 0x3a
jne 0x555890
mov rsi, qword [rsp + 0x28]
test rsi, rsi
jge 0x55583d
movzx esi, byte [rsp + 0x1d]
test sil, sil
je 0x55582b
movzx r8d, word [rsp + 0x1e]
not r8d
cmp eax, 0x3a
jmp 0x555846
mov rbx, qword [rsp + 0x78]
mov rdi, rcx
mov rcx, qword [rsp + 0x80]
jmp 0x5558b2
cmp eax, 0x3a
movzx r8d, word [rsp + 0x1e]
jne 0x555877
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x50], rbx
mov word [rsp + 0x1e], r8w
mov rax, qword [rsp + 0x70]
mov ebx, 0xffffff80
call sym.regexp_syntax._parser_.op
mov rcx, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x50]
movzx r8d, word [rsp + 0x1e]
mov rdx, qword [rsp + 0x70]
mov word [rdx], r8w
mov rax, rbx
mov rbx, rcx
xor ecx, ecx
xor edi, edi
add rsp, 0x60
pop rbp
ret
mov rbx, qword [rsp + 0x78]
mov rdi, rcx
mov rcx, qword [rsp + 0x80]
jmp 0x5558b2
xor eax, eax
xor ebx, ebx
mov rcx, rdi
mov rdi, rsi
add rsp, 0x60
pop rbp
ret
mov rdx, rcx
sub rcx, rdi
cmp rdx, rcx
jb 0x55591e
mov qword [rsp + 0x48], rcx
lea rax, [0x005b4c20]
call sym.runtime.newobject
mov qword [rax + 8], 0x22
lea rcx, [0x005e8941]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x48]
mov qword [rax + 0x18], rcx
cmp dword [0x007c4ac0], 0
jne 0x5558f9
mov rdx, qword [rsp + 0x78]
jmp 0x555906
call sym.runtime.gcWriteBarrier1
mov rdx, qword [rsp + 0x78]
mov qword [r11], rdx
mov qword [rax + 0x10], rdx
xor ebx, ebx
lea rcx, [0x00637c00]
mov rdi, rax
xor eax, eax
add rsp, 0x60
pop rbp
ret
nop
call sym.runtime.panicSliceAlen
mov eax, 2
call sym.runtime.panicSliceB
test al, al
je 0x5559c6
mov rax, qword [rsp + 0x70]
inc qword [rax + 0x28]
mov ebx, 0xffffff80
call sym.regexp_syntax._parser_.op
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx + 0x28]
mov qword [rax + 0x58], rcx
mov rcx, qword [rsp + 0x30]
mov qword [rax + 0x68], rcx
mov rbx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x38]
sub rbx, rcx
dec rbx
mov rcx, rbx
neg rcx
sar rcx, 0x3f
mov rdx, qword [rsp + 0x40]
and rcx, rdx
mov rdx, qword [rsp + 0x78]
add rcx, rdx
cmp dword [0x007c4ac0], 0
jne 0x5559a0
mov rdx, qword [rsp + 0x58]
jmp 0x5559b5
call sym.runtime.gcWriteBarrier2
mov rdx, qword [rsp + 0x58]
mov qword [r11], rdx
mov rsi, qword [rax + 0x60]
mov qword [r11 + 8], rsi
mov qword [rax + 0x60], rdx
mov rax, rcx
xor ecx, ecx
xor edi, edi
add rsp, 0x60
pop rbp
ret
lea rax, [0x005b4c20]
call sym.runtime.newobject
mov qword [rax + 8], 0x15
lea rcx, [0x005e331d]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x40]
mov qword [rax + 0x18], rcx
cmp dword [0x007c4ac0], 0
jne 0x555a00
mov rdx, qword [rsp + 0x78]
jmp 0x555a0d
call sym.runtime.gcWriteBarrier1
mov rdx, qword [rsp + 0x78]
mov qword [r11], rdx
mov qword [rax + 0x10], rdx
xor ebx, ebx
lea rcx, [0x00637c00]
mov rdi, rax
xor eax, eax
add rsp, 0x60
pop rbp
ret
mov rcx, rdi
cmp rcx, rbx
jge 0x555a85
movzx esi, byte [rax + rcx]
cmp esi, 0x80
jge 0x555a3f
lea rdi, [rcx + 1]
jmp 0x555a59
nop
call sym.runtime.decoderune
mov rdx, qword [rsp + 0x38]
mov esi, eax
mov rdi, rbx
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x30]
cmp esi, 0x5f
je 0x555a25
lea r8d, [rsi - 0x30]
cmp r8d, 9
jbe 0x555a25
lea r8d, [rsi - 0x41]
cmp r8d, 0x19
jbe 0x555a25
add esi, 0xffffff9f
cmp esi, 0x19
jbe 0x555a25
xor eax, eax
nop dword [rax]
jmp 0x55592f
mov eax, 1
jmp 0x55592f
mov rcx, rax
mov eax, 4
call sym.runtime.panicSliceB
nop dword [rax]
call sym.runtime.panicSliceAlen
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp sym.regexp_syntax._parser_.parsePerlFlags