Function at 0x47a020
Capabilities:
Reference sql statements

Disassembly:
lea r12, [rsp - 0x18]
cmp r12, qword [r14 + 0x10]
jbe 0x47a5b5
push rbp
mov rbp, rsp
sub rsp, 0x90
mov qword [rsp + 0xd0], r9
mov qword [rsp + 0xc8], r8
mov qword [rsp + 0xc0], rsi
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0xb8], rdi
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xa0], rax
cmp r8, rdi
je 0x47a07b
xor edx, edx
jmp 0x47a0c3
mov rax, rcx
mov rbx, rsi
mov rcx, rdi
call sym.runtime.memequal
mov rcx, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0xb8]
mov r8, qword [rsp + 0xc8]
mov r9, qword [rsp + 0xd0]
mov edx, eax
mov rax, qword [rsp + 0xa0]
test dl, dl
jne 0x47a0cc
test r9, r9
jne 0x47a0d5
add rsp, 0x90
pop rbp
ret
call sym.strings.Count
nop word [rax + rax]
test rax, rax
je 0x47a16d
mov rcx, qword [rsp + 0xd0]
test rcx, rcx
jl 0x47a0fe
cmp rax, rcx
jl 0x47a0fe
mov rax, rcx
mov qword [rsp + 0x50], rax
movups xmmword [rsp + 0x70], xmm15
movups xmmword [rsp + 0x80], xmm15
mov rcx, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0xb8]
sub rcx, rdx
imul rcx, rax
mov rdi, qword [rsp + 0xa8]
lea rbx, [rdi + rcx]
lea rax, [rsp + 0x70]
call sym.strings._Builder_.Grow
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0x50]
mov r8, qword [rsp + 0xa0]
xor eax, eax
xor ebx, ebx
jmp 0x47a205
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
add rsp, 0x90
pop rbp
ret
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x68], rax
add rdx, rax
mov rax, rdx
mov rbx, qword [rsp + 0xc0]
mov rcx, rdi
call sym.runtime.memmove
mov rdx, qword [rsp + 0x38]
mov qword [rsp + 0x80], rdx
mov rdx, qword [rsp + 0x40]
mov qword [rsp + 0x88], rdx
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0x78], rdx
mov rax, qword [rsp + 0x30]
inc rax
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0xb8]
lea rbx, [rcx + rdx]
mov rdx, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0x50]
mov r8, qword [rsp + 0xa0]
cmp rax, rdi
jge 0x47a44c
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rbx
test rcx, rcx
jne 0x47a287
nop dword [rax]
test rax, rax
jle 0x47a282
cmp rdx, rbx
jb 0x47a5a9
sub rdx, rbx
mov rsi, rdx
neg rdx
sar rdx, 0x3f
and rdx, rbx
lea rax, [r8 + rdx]
mov rbx, rsi
call sym.unicode_utf8.DecodeRuneInString
mov rax, qword [rsp + 0x28]
add rbx, rax
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0x50]
mov r8, qword [rsp + 0xa0]
mov r9, rax
mov rax, qword [rsp + 0x30]
nop
jmp 0x47a2e8
mov r9, rbx
jmp 0x47a2e8
cmp rdx, rbx
jb 0x47a59e
sub rdx, rbx
mov r10, rdx
neg rdx
sar rdx, 0x3f
and rdx, rbx
lea rax, [r8 + rdx]
mov rdi, rcx
mov rcx, rsi
mov rbx, r10
call sym.strings.Index
mov rdx, qword [rsp + 0x28]
lea rbx, [rdx + rax]
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0x50]
mov r8, qword [rsp + 0xa0]
mov r9, rdx
mov rdx, qword [rsp + 0xa8]
cmp rdx, rbx
jb 0x47a596
cmp r9, rbx
ja 0x47a58b
mov r10, rbx
sub rbx, r9
mov r11, rbx
neg rbx
sar rbx, 0x3f
and r9, rbx
mov r12, qword [rsp + 0x70]
lea rbx, [r8 + r9]
nop
test r12, r12
je 0x47a32b
lea r9, [rsp + 0x70]
cmp r12, r9
je 0x47a335
jmp 0x47a578
lea r9, [rsp + 0x70]
mov qword [rsp + 0x70], r9
mov qword [rsp + 0x48], r10
mov r9, qword [rsp + 0x88]
mov r12, qword [rsp + 0x80]
lea r13, [r12 + r11]
mov r15, qword [rsp + 0x78]
cmp r9, r13
jae 0x47a397
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x38], r12
mov rax, r15
mov rbx, r13
mov rcx, r9
mov rdi, r11
lea rsi, [0x00592de0]
call sym.runtime.growslice
mov r11, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
mov r15, rax
mov r9, rcx
mov r13, rbx
mov rbx, qword [rsp + 0x60]
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x68], r15
lea rax, [r15 + r12]
mov rcx, r11
call sym.runtime.memmove
mov rdx, qword [rsp + 0x38]
mov qword [rsp + 0x80], rdx
mov rdx, qword [rsp + 0x40]
mov qword [rsp + 0x88], rdx
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0x78], rdx
mov rdx, qword [rsp + 0x70]
nop
nop
nop dword [rax]
test rdx, rdx
je 0x47a3f4
lea r8, [rsp + 0x70]
cmp rdx, r8
je 0x47a3fe
jmp 0x47a565
lea rdx, [rsp + 0x70]
mov qword [rsp + 0x70], rdx
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x80]
mov rdi, qword [rsp + 0xc8]
lea rbx, [rdi + rdx]
mov rax, qword [rsp + 0x78]
nop
cmp rcx, rbx
jae 0x47a186
mov qword [rsp + 0x40], rdx
lea rsi, [0x00592de0]
call sym.runtime.growslice
mov rdx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0xc8]
jmp 0x47a186
cmp rdx, rbx
jb 0x47a558
sub rdx, rbx
mov rdi, rdx
neg rdx
sar rdx, 0x3f
and rbx, rdx
mov rdx, qword [rsp + 0x70]
add rbx, r8
nop
test rdx, rdx
je 0x47a485
lea r8, [rsp + 0x70]
cmp rdx, r8
je 0x47a48f
nop dword [rax]
jmp 0x47a545
lea rdx, [rsp + 0x70]
mov qword [rsp + 0x70], rdx
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x80]
lea r8, [rdx + rdi]
mov rax, qword [rsp + 0x78]
cmp rcx, r8
jae 0x47a4dd
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x48], rdx
mov rbx, r8
lea rsi, [0x00592de0]
call sym.runtime.growslice
mov rdx, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
mov r8, rbx
mov rbx, qword [rsp + 0x58]
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x68], rax
add rdx, rax
mov rax, rdx
mov rcx, rdi
call sym.runtime.memmove
mov rbx, qword [rsp + 0x48]
mov qword [rsp + 0x80], rbx
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x88], rdx
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x78], rax
mov rdx, rax
neg rdx
cmp rbx, rdx
ja 0x47a532
add rsp, 0x90
pop rbp
ret
test rax, rax
je 0x47a540
call sym.runtime.panicunsafestringlen
nop dword [rax]
call sym.runtime.panicunsafestringnilptr
lea rax, [0x00592aa0]
lea rbx, [0x006367b8]
call sym.runtime.gopanic
mov rax, rbx
mov rcx, rdx
nop
call sym.runtime.panicSliceB
lea rax, [0x00592aa0]
lea rbx, [0x006367b8]
call sym.runtime.gopanic
lea rax, [0x00592aa0]
lea rbx, [0x006367b8]
call sym.runtime.gopanic
mov rax, r9
mov rcx, rbx
call sym.runtime.panicSliceB
mov rcx, rbx
call sym.runtime.panicSliceAlen
mov rax, rbx
mov rcx, rdx
call sym.runtime.panicSliceB
mov rax, rbx
mov rcx, rdx
call sym.runtime.panicSliceB
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
mov qword [rsp + 0x38], r9
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]
mov r9, qword [rsp + 0x38]
jmp sym.strings.Replace