Function at 0x557440
Capabilities:
Reference sql statements

Disassembly:
lea r12, [rsp - 0x10]
cmp r12, qword [r14 + 0x10]
jbe 0x557ad7
push rbp
mov rbp, rsp
sub rsp, 0x88
mov qword [rsp + 0xa0], rbx
cmp rcx, 1
jb 0x557aca
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0x98], rax
lea rdx, [rcx - 1]
mov qword [rsp + 0x38], rdx
mov r9, rdx
neg rdx
sar rdx, 0x3f
and edx, 1
mov qword [rsp + 0x60], rdx
mov rdi, qword [rax + 0x20]
lea r10, [rbx + rdx]
mov qword [rsp + 0x68], r10
nop
test rdi, rdi
je 0x55755a
mov qword [rsp + 0x70], rdi
mov r11, qword [rdi + 0x20]
cmp dword [0x007c4ac0], 0
je 0x557526
mov qword [rsp + 0x80], r11
mov rcx, r11
call sym.runtime.gcWriteBarrier2
mov qword [r11], rcx
mov rdx, qword [rax + 0x20]
mov qword [r11 + 8], rdx
mov rbx, rdi
lea rax, [0x005cdc80]
call sym.runtime.wbZero
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0x60]
mov rbx, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0x70]
mov r9, qword [rsp + 0x38]
mov r10, qword [rsp + 0x68]
mov r11, qword [rsp + 0x80]
mov qword [rax + 0x20], r11
lea rdi, [rdi - 0x10]
nop word [rax + rax]
nop word [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466a46
mov rbp, qword [rbp]
mov rsi, qword [rsp + 0x70]
jmp 0x55759c
lea rax, [0x005cdc80]
call sym.runtime.newobject
mov rcx, qword [rsp + 0x98]
inc qword [rcx + 0x58]
mov rcx, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0x60]
mov rbx, qword [rsp + 0xa0]
mov r9, qword [rsp + 0x38]
mov r10, qword [rsp + 0x68]
mov rsi, rax
mov rax, qword [rsp + 0x98]
mov byte [rsi], 4
movzx r11d, word [rax]
mov word [rsi + 2], r11w
mov qword [rsi + 0x30], 0
mov qword [rsi + 0x38], 2
lea r11, [rsi + 0x40]
cmp dword [0x007c4ac0], 0
jne 0x5575cb
cmp rcx, 1
jmp 0x5575e5
mov rdi, r11
call sym.runtime.gcWriteBarrier2
mov qword [r11], rdi
mov r12, qword [rsi + 0x28]
mov qword [r11 + 8], r12
cmp rcx, 1
mov r11, rdi
mov qword [rsi + 0x28], r11
je 0x557642
movzx edx, byte [rbx + rdx]
cmp dl, 0x5e
jne 0x557636
lea rdx, [rcx - 2]
mov r9, rdx
neg rdx
sar rdx, 0x3f
and edx, 1
movzx r11d, word [rax]
add rdx, r10
test r11w, 4
jne 0x55762d
mov r10, qword [rsi + 0x28]
mov qword [rsi + 0x30], 2
movabs r11, 0xa0000000a
mov qword [r10], r11
mov rdi, 0xffffffffffffffff
jmp 0x55764a
mov rdx, r10
mov edi, 1
nop
jmp 0x55764a
mov rdx, r10
mov edi, 1
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x40], rdi
mov r10, qword [rsi + 0x28]
mov r11, qword [rsi + 0x30]
mov r12, qword [rsi + 0x38]
mov r8d, 1
jmp 0x55769f
mov r13, qword [rsp + 0x98]
mov r9, rsi
mov rdx, rdi
xor r8d, r8d
mov r10, rax
mov r12, rcx
mov r11, rbx
mov rax, r13
mov rcx, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x40]
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x50], r11
mov qword [rsp + 0x78], r10
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x68], rdx
nop dword [rax + rax]
test r9, r9
je 0x557773
cmp byte [rdx], 0x5d
je 0x5576d3
test r9, r9
jmp 0x5576e3
test r8b, r8b
je 0x557a12
nop dword [rax]
test r9, r9
je 0x557773
cmp byte [rdx], 0x2d
jne 0x557714
movzx r13d, word [rax]
test r13w, 0x40
jne 0x557714
test r8b, r8b
jne 0x557714
nop
cmp r9, 1
je 0x5578b4
cmp byte [rdx + 1], 0x5d
jne 0x5578b4
cmp r9, 2
jle 0x557773
cmp byte [rdx], 0x5b
jne 0x557773
cmp byte [rdx + 1], 0x3a
jne 0x557773
mov rbx, rdx
mov rcx, r9
mov rdi, r10
mov rsi, r11
mov r8, r12
call sym.regexp_syntax._parser_.parseNamedClass
nop dword [rax]
test r8, r8
jne 0x55794d
test rax, rax
jne 0x557668
mov rax, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x68]
mov r9, qword [rsp + 0x38]
mov r10, qword [rsp + 0x78]
mov r11, qword [rsp + 0x50]
mov r12, qword [rsp + 0x58]
mov rbx, rdx
mov rcx, r9
mov rdi, r10
mov rsi, r11
mov r8, r12
call sym.regexp_syntax._parser_.parseUnicodeClass
test r8, r8
jne 0x5579ff
test rax, rax
jne 0x557668
mov rax, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
call sym.regexp_syntax._parser_.parsePerlClassEscape
nop
test rax, rax
jne 0x557668
mov rax, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x38]
mov rdi, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0xa8]
call sym.regexp_syntax._parser_.parseClassChar
test rdi, rdi
jne 0x5579ec
cmp rcx, 2
jl 0x557852
cmp byte [rbx], 0x2d
jne 0x55784e
cmp byte [rbx + 1], 0x5d
jne 0x55780e
mov edx, eax
jmp 0x557854
mov dword [rsp + 0x34], eax
inc rbx
dec rcx
mov rax, qword [rsp + 0x98]
mov rdi, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0xa8]
call sym.regexp_syntax._parser_.parseClassChar
test rdi, rdi
jne 0x5579d9
mov edi, dword [rsp + 0x34]
cmp eax, edi
jl 0x557961
mov edx, edi
jmp 0x557854
mov edx, eax
jmp 0x557854
mov edx, eax
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x38], rcx
mov r8, qword [rsp + 0x98]
movzx r9d, word [r8]
test r9w, 1
jne 0x55788c
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
mov edi, edx
mov esi, eax
mov rax, qword [rsp + 0x78]
call sym.regexp_syntax.appendRange
jmp 0x5578a5
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
mov edi, edx
mov esi, eax
mov rax, qword [rsp + 0x78]
nop
call sym.regexp_syntax.appendFoldedRange
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x68]
jmp 0x557668
lea rbx, [r9 - 1]
mov rcx, rbx
neg rcx
sar rcx, 0x3f
and ecx, 1
lea rax, [rdx + rcx]
call sym.unicode_utf8.DecodeRuneInString
lea rcx, [rbx + 1]
mov rdx, qword [rsp + 0x38]
nop word [rax + rax]
cmp rdx, rcx
jb 0x557ac5
mov qword [rsp + 0x60], rcx
lea rax, [0x005b4c20]
call sym.runtime.newobject
mov qword [rax + 8], 0x1d
lea rcx, [0x005e6e17]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x60]
mov qword [rax + 0x18], rcx
cmp dword [0x007c4ac0], 0
jne 0x557925
mov rdx, qword [rsp + 0x68]
jmp 0x557932
call sym.runtime.gcWriteBarrier1
mov rdx, qword [rsp + 0x68]
mov qword [r11], rdx
mov qword [rax + 0x10], rdx
xor ebx, ebx
lea rcx, [0x00637c00]
mov rdi, rax
xor eax, eax
add rsp, 0x88
pop rbp
ret
xor eax, eax
xor ebx, ebx
mov rcx, r8
mov rdi, r9
add rsp, 0x88
pop rbp
nop
ret
mov rdx, qword [rsp + 0x38]
mov rbx, rdx
sub rbx, rcx
cmp rdx, rbx
jb 0x557abd
mov qword [rsp + 0x48], rbx
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 0x5579b1
mov rdx, qword [rsp + 0x68]
jmp 0x5579be
call sym.runtime.gcWriteBarrier1
mov rdx, qword [rsp + 0x68]
mov qword [r11], rdx
mov qword [rax + 0x10], rdx
xor ebx, ebx
lea rcx, [0x00637c00]
mov rdi, rax
xor eax, eax
add rsp, 0x88
pop rbp
ret
xor eax, eax
xor ebx, ebx
mov rcx, rdi
mov rdi, rsi
add rsp, 0x88
pop rbp
ret
xor eax, eax
xor ebx, ebx
mov rcx, rdi
mov rdi, rsi
add rsp, 0x88
pop rbp
ret
xor eax, eax
xor ebx, ebx
mov rcx, r8
mov rdi, r9
add rsp, 0x88
pop rbp
ret
mov qword [rsi + 0x30], r11
mov qword [rsi + 0x38], r12
lea rcx, [r9 - 1]
mov qword [rsp + 0x38], rcx
neg rcx
sar rcx, 0x3f
and ecx, 1
add rcx, rdx
mov qword [rsp + 0x68], rcx
cmp dword [0x007c4ac0], 0
je 0x557a50
nop
call sym.runtime.gcWriteBarrier2
mov qword [r11], r10
mov rdx, qword [rsi + 0x28]
mov qword [r11 + 8], rdx
mov qword [rsi + 0x28], r10
lea rax, [rsi + 0x28]
call sym.regexp_syntax.cleanClass
mov rdx, qword [rsp + 0x40]
test rdx, rdx
jge 0x557a6c
call sym.regexp_syntax.negateClass
mov rdx, qword [rsp + 0x70]
mov qword [rdx + 0x30], rbx
mov qword [rdx + 0x38], rcx
cmp dword [0x007c4ac0], 0
je 0x557a92
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 + 0x98]
mov rbx, rdx
call sym.regexp_syntax._parser_.push
mov rax, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x38]
xor ecx, ecx
xor edi, edi
add rsp, 0x88
pop rbp
ret
mov rcx, rbx
call sym.runtime.panicSliceAlen
call sym.runtime.panicSliceAlen
mov eax, 1
xor ecx, ecx
call sym.runtime.panicSliceB
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_.parseClass