Function at 0x4166c0
Capabilities:
Reference sql statements

Disassembly:
lea r12, [rsp - 0xa0]
cmp r12, qword [r14 + 0x10]
jbe 0x4172b8
sub rsp, 0x120
mov qword [rsp + 0x118], rbp
lea rbp, [rsp + 0x118]
cmp rbx, 8
je 0x416ac7
nop
movabs rdx, 0x800000000000
add rdx, rax
mov r12, rdx
shr rdx, 0x2a
cmp rdx, 0x40
jae 0x4172aa
lea r13, [0x00c960f0]
mov r15, qword [r13 + rdx*8]
test byte [r15], al
shr r12, 0x16
mov rsi, r12
and r12d, 0xfffff
mov r15, qword [r15 + r12*8]
test r15, r15
je 0x416762
mov r8, rax
shr rax, 5
and eax, 0x1ffff
mov r9, rdx
lea rdx, [r15 + rax]
mov rax, r8
shr r8, 3
and r8d, 3
add r15, 0x1ffff
mov r10, rsi
jmp 0x416772
mov r9, rdx
mov r10, rsi
xor edx, edx
xor r8d, r8d
xor r15d, r15d
xor esi, esi
mov r11, qword [rdi + 0x20]
nop word [rax + rax]
nop
cmp rbx, 0x10
je 0x416a34
cmp rbx, 0x18
je 0x416908
mov qword [rsp + 0x50], r12
mov qword [rsp + 0xf0], rdx
lea r12, [rbx + rax]
mov r13d, esi
movabs rdx, 0x7fffffffffff
add rdx, r12
shr rdx, 0x16
cmp r13, rdx
je 0x4167c6
mov r12, rax
xor r15d, r15d
jmp 0x4167d1
mov r12, rax
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0xd0], r12
mov qword [rsp + 0xc8], rdx
mov qword [rsp + 0xc0], r13
mov qword [rsp + 0xb8], r9
mov qword [rsp + 0x130], rbx
mov qword [rsp + 0xb0], r10
movzx r12d, byte [rdi + 0x17]
test r12b, 0x40
jne 0x4168cc
mov qword [rsp + 0xe8], rax
mov r12, qword [rdi]
nop dword [rax + rax]
cmp rcx, r12
jbe 0x4168a6
mov qword [rsp + 0xa8], r12
mov r15, qword [rdi + 8]
shr r15, 3
cmp r15, 0x39
ja 0x416865
mov qword [rsp + 0x138], rcx
mov rsi, r11
xor esi, esi
mov qword [rsp + 0x70], rsi
xor esi, esi
mov qword [rsp + 0x88], rsi
mov rsi, r11
nop
jmp 0x4171b3
add r15, 7
shr r15, 3
mov rsi, r10
lea r10, [r15 - 1]
nop
shr r12, 3
shl r10, 3
sub r12, r10
mov r10, r11
lea r15, [r15 + r11]
lea r15, [r15 - 1]
mov r11, r10
xor r10d, r10d
mov qword [rsp + 0x68], r10
xor r10d, r10d
mov qword [rsp + 0x60], r10
mov r10, r11
jmp 0x41712a
mov rsi, r11
xor r15d, r15d
xor esi, esi
mov qword [rsp + 0xf8], rsi
xor esi, esi
mov qword [rsp + 0x60], rsi
xor esi, esi
mov qword [rsp + 0x78], rsi
mov rsi, r11
jmp 0x416d45
mov rdx, qword [rdi + 8]
mov r12, qword [rdi]
add r11, 4
mov rdi, r15
mov r9, rcx
mov r10, rbx
mov ebx, r8d
mov ecx, esi
mov rsi, rdx
mov r8, r12
call dbg.runtime.heapBitsSetTypeGCProg
mov rdx, qword [rsp + 0xc0]
mov r12, qword [rsp + 0xc8]
cmp rdx, r12
jmp 0x416ad7
movzx r9d, byte [r11]
cmp qword [rdi], 8
jne 0x416918
mov r9d, 7
and r9d, 7
mov r10d, r9d
shl r9d, 4
or r9d, r10d
mov r10d, r9d
or r9d, 0x10
and r9d, 0x40
shr r9b, 1
or r9d, r10d
mov r10d, r9d
or r9d, 0x10
nop
cmp r8d, 1
ja 0x416972
test r8d, r8d
jne 0x41695e
movzx eax, byte [rdx]
and eax, 0xffffff88
or eax, r10d
or eax, 0x10
mov byte [rdx], al
jmp 0x416a24
movzx eax, byte [rdx]
and eax, 0x11
shl r9d, 1
or r9d, eax
mov byte [rdx], r9b
jmp 0x416a24
mov byte [rsp + 0x45], r9b
cmp r8d, 2
jne 0x4169d0
movzx r8d, byte [rdx]
and r8d, 0x33
mov r10d, r9d
and r9d, 0x33
shl r9d, 2
or r9d, r8d
mov byte [rdx], r9b
cmp rdx, r15
je 0x4169a2
nop
lea rax, [rdx + 1]
jmp 0x4169ba
mov rax, rdx
mov ebx, 3
mov ecx, esi
mov rdi, r15
call dbg.runtime.heapBits.nextArena
movzx r10d, byte [rsp + 0x45]
movzx ecx, byte [rax]
and ecx, 0xffffffee
shr r10b, 2
and r10d, 0x11
or r10d, ecx
mov byte [rax], r10b
jmp 0x416a24
cmp r8d, 3
jne 0x416a24
movzx r10d, byte [rdx]
and r10d, 0x77
mov r11d, r9d
and r9d, 0x11
shl r9d, 3
or r10d, r9d
mov byte [rdx], r10b
cmp rdx, r15
je 0x4169fb
nop
lea rax, [rdx + 1]
jmp 0x416a11
mov rax, rdx
mov ebx, r8d
mov ecx, esi
mov rdi, r15
call dbg.runtime.heapBits.nextArena
movzx r11d, byte [rsp + 0x45]
movzx ecx, byte [rax]
and ecx, 0xffffffcc
shr r11b, 1
and r11d, 0x33
or r11d, ecx
mov byte [rax], r11b
mov rbp, qword [rsp + 0x118]
add rsp, 0x120
ret
cmp qword [rdi], 8
jne 0x416a63
cmp r8d, 0x20
sbb eax, eax
movzx ebx, byte [rdx]
mov ecx, r8d
mov esi, 0x33
shl esi, cl
and esi, eax
or ebx, esi
mov byte [rdx], bl
mov rbp, qword [rsp + 0x118]
add rsp, 0x120
ret
mov rcx, qword [rdi + 8]
shr rcx, 3
cmp rcx, 0x20
sbb eax, eax
cmp r8d, 0x20
sbb ebx, ebx
sbb esi, esi
movzx edi, byte [r11]
and edi, 3
mov r9d, 0x10
shl r9d, cl
and eax, r9d
dec eax
and eax, 0xf0
or edi, eax
movzx eax, byte [rdx]
mov ecx, r8d
mov r9d, 0x33
shl r9d, cl
and r9d, ebx
not r9d
and r9d, eax
shl edi, cl
and edi, esi
or r9d, edi
mov byte [rdx], r9b
mov rbp, qword [rsp + 0x118]
add rsp, 0x120
ret
mov rbp, qword [rsp + 0x118]
add rsp, 0x120
ret
je 0x416bdb
mov rdx, qword [rsp + 0xb8]
lea r8, [0x00c960f0]
mov rdx, qword [r8 + rdx*8]
test byte [rdx], al
mov r8, qword [rsp + 0x50]
mov rdx, qword [rdx + r8*8]
nop dword [rax + rax]
test rdx, rdx
je 0x416b39
mov rax, qword [rsp + 0xd0]
mov r8, rax
shr rax, 5
and eax, 0x1ffff
lea r9, [rdx + rax]
mov rax, r8
shr r8, 3
and r8d, 3
add rdx, 0x1ffff
mov rcx, qword [rsp + 0xb0]
jmp 0x416b4b
mov rax, qword [rsp + 0xd0]
xor r9d, r9d
xor edx, edx
xor ecx, ecx
xor r8d, r8d
mov r10, qword [rsp + 0x130]
shr r10, 3
mov r11, rax
nop word [rax + rax]
cmp r8d, 2
jne 0x416bd0
movzx r8d, byte [r9]
and r8d, 0x33
movzx r12d, byte [rax]
or r12d, r8d
mov byte [r9], r12b
cmp rdx, r9
je 0x416b86
nop
lea r8, [r9 + 1]
xor ebx, ebx
jmp 0x416bc4
mov qword [rsp + 0x110], rax
mov qword [rsp + 0xa0], r10
mov rax, r9
mov ebx, 3
mov rdi, rdx
call dbg.runtime.heapBits.nextArena
mov r10, qword [rsp + 0xa0]
mov r11, qword [rsp + 0xd0]
mov rdx, rdi
mov r8, rax
mov rax, qword [rsp + 0x110]
add r10, 0xfffffffffffffffe
inc rax
jmp 0x416c97
mov ebx, r8d
mov r8, r9
jmp 0x416c97
mov rbp, qword [rsp + 0x118]
add rsp, 0x120
ret
mov qword [rsp + 0xe0], r8
mov qword [rsp + 0x80], r10
mov rsi, r10
shr rsi, 2
shl rsi, 2
mov rax, r8
mov rdi, rdx
call dbg.runtime.heapBits.forwardOrBoundary
mov qword [rsp + 0x108], rax
mov dword [rsp + 0x4c], ebx
mov dword [rsp + 0x48], ecx
mov qword [rsp + 0x100], rdi
mov qword [rsp + 0x58], rsi
shr rsi, 2
mov qword [rsp + 0xc8], rsi
mov rax, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0xd8]
mov rcx, rsi
call dbg.runtime.memmove
mov r10, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x58]
sub r10, rdx
nop
mov rdx, qword [rsp + 0xc8]
mov r8, qword [rsp + 0xd8]
lea rax, [r8 + rdx]
mov r11, qword [rsp + 0xd0]
mov r8, qword [rsp + 0x108]
mov ebx, dword [rsp + 0x4c]
mov rdx, qword [rsp + 0x100]
mov ecx, dword [rsp + 0x48]
mov qword [rsp + 0xd8], rax
nop
cmp r10, 4
jae 0x416beb
cmp r10, 2
jne 0x416d2a
movzx esi, byte [r8]
and esi, 0xffffffcc
movzx r9d, byte [rax]
or r9d, esi
mov byte [r8], r9b
nop
cmp ebx, 3
jae 0x416ccc
lea esi, [rbx + 1]
jmp 0x416cfd
cmp rdx, r8
je 0x416cd8
inc r8
xor esi, esi
jmp 0x416cfd
mov rax, r8
mov rdi, rdx
nop
call dbg.runtime.heapBits.nextArena
mov r11, qword [rsp + 0xd0]
mov esi, ebx
mov rdx, rdi
mov r8, rax
mov rax, qword [rsp + 0xd8]
nop dword [rax]
cmp esi, 3
jb 0x416d27
cmp r8, rdx
jne 0x416d27
mov rax, r8
mov ebx, esi
mov rdi, rdx
call dbg.runtime.heapBits.nextArena
mov rax, qword [rsp + 0xd8]
mov r11, qword [rsp + 0xd0]
inc rax
mov rcx, r11
sub rax, rcx
mov rbx, rax
mov rax, r11
call dbg.runtime.memclrNoHeapPointers
nop dword [rax + rax]
jmp 0x416bdb
test r11, r11
je 0x416d74
mov r15, r10
movzx r10d, byte [r11]
nop
inc r11
cmp rcx, r12
mov qword [rsp + 0x90], rax
mov eax, 8
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x90]
jmp 0x416d89
cmp rcx, r12
mov r10, qword [rsp + 0x60]
mov qword [rsp + 0x68], r15
mov r15, qword [rsp + 0xb0]
jne 0x416d95
mov r12, qword [rdi + 8]
shr r12, 3
jmp 0x416dc4
test r12, r12
je 0x417125
mov rax, rcx
mov rcx, rdx
xor edx, edx
div r12
lea rdx, [rax - 1]
imul r12, rdx
add r12, qword [rdi + 8]
shr r12, 3
mov rax, qword [rsp + 0xe8]
mov rdx, rcx
test r12, r12
je 0x4170be
test r8d, r8d
jne 0x416e0f
mov r8, r10
and r10d, 0xf
or r10, 0xf0
cmp r12, 4
ja 0x416df0
mov ecx, 4
jmp 0x417016
mov byte [rax], r10b
nop
shr r8, 4
mov r10, qword [rsp + 0x68]
add r10, 0xfffffffffffffffc
mov rcx, r15
lea r15, [rax + 1]
mov eax, 4
jmp 0x416e89
cmp r8d, 2
jne 0x4170ad
mov r8, r10
and r10d, 3
shl r10, 2
mov rcx, r10
or r10, 0x40
or rcx, 0xc0
cmp r12, 1
cmova r10, rcx
mov rcx, r15
movzx r15d, byte [rax]
and r15d, 0x33
or r10d, r15d
mov byte [rax], r10b
nop
lea r10, [rax + 1]
cmp r12, 2
ja 0x416e69
mov r15, rcx
mov ecx, 6
mov rax, r10
xor r10d, r10d
jmp 0x417016
shr r8, 2
mov r9, qword [rsp + 0x68]
add r9, 0xfffffffffffffffe
mov eax, 2
mov r15, r10
mov r10, r9
mov r9, qword [rsp + 0xb8]
add r10, 0xfffffffffffffffc
mov rdi, qword [rsp + 0x60]
jmp 0x416ec1
mov byte [r15 + 1], r8b
nop
mov r8, qword [rsp + 0x88]
shr r8, 4
add r15, 2
mov rax, qword [rsp + 0x78]
mov r9, qword [rsp + 0xb8]
mov rax, rdx
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0x88], r8
and r8d, 0xf
or r8, 0xf0
lea r9, [rax + 4]
nop dword [rax + rax]
cmp r12, r9
jbe 0x416ffd
mov byte [r15], r8b
nop
mov r8, qword [rsp + 0x88]
shr r8, 4
mov r9, qword [rsp + 0xf8]
cmp r11, r9
je 0x416f3a
cmp r10, 8
jae 0x416f31
movzx edx, byte [r11]
mov rcx, r10
shl rdx, cl
or r8, rdx
inc r11
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xc8]
jmp 0x416fcf
add r10, 0xfffffffffffffff8
jmp 0x416fcf
test r11, r11
je 0x416fa0
cmp r10, 0x40
sbb rdx, rdx
movzx r11d, byte [r11]
mov rcx, r10
shl r11, cl
and rdx, r11
or r8, rdx
mov rdx, qword [rsp + 0x78]
lea r11, [rcx + rdx]
nop
cmp r11, 8
jae 0x416f79
movzx r10d, byte [rsi]
mov rcx, r11
shl r10, cl
or r8, r10
lea r10, [rsi + 1]
jmp 0x416f87
lea r11, [rcx + rdx]
lea r11, [r11 - 8]
mov r10, rsi
mov rcx, r11
mov rdx, qword [rsp + 0xc8]
mov r11, r10
mov r10, rcx
mov rcx, qword [rsp + 0xb0]
jmp 0x416fcf
cmp r10, 8
jae 0x416fcb
mov rcx, r10
shl rdi, cl
or r8, rdi
mov rdi, rdx
mov rdx, qword [rsp + 0x78]
lea r10, [rcx + rdx]
mov rcx, qword [rsp + 0xb0]
mov rdx, rdi
mov rdi, qword [rsp + 0x60]
add r10, 0xfffffffffffffff8
mov qword [rsp + 0x88], r8
and r8d, 0xf
or r8, 0xf0
lea rdx, [rax + 8]
cmp r12, rdx
ja 0x416e94
inc r15
mov r9, rdx
mov rdx, qword [rsp + 0xc8]
mov rcx, r9
mov rax, r15
mov r10, r8
mov r9, qword [rsp + 0xb8]
mov r15, qword [rsp + 0xb0]
cmp rcx, r12
jbe 0x41704f
mov r8, rcx
sub rcx, r12
add rcx, 0xfffffffffffffffc
neg rcx
cmp rcx, 0x40
sbb r11, r11
mov r12d, 1
shl r12, cl
and r12, r11
lea r11, [r12 - 1]
mov r12, r11
shl r11, 4
or r11, r12
and r10, r11
jmp 0x417052
mov r8, rcx
mov r11, rbx
shr rbx, 3
cmp r8, rbx
ja 0x41706c
mov byte [rax], r10b
nop
add r8, 4
lea r10, [rax + 1]
jmp 0x4170a0
lea r12, [rbx + 2]
cmp r8, r12
jne 0x41708b
movzx r8d, byte [rax]
and r8d, 0xffffffcc
or r10d, r8d
mov byte [rax], r10b
cmp r13, rdx
jmp 0x416ad7
cmp r13, rdx
jmp 0x416ad7
mov byte [r10], 0
add r8, 4
nop
inc r10
nop
cmp r8, rbx
jbe 0x417093
mov rax, r10
xor r10d, r10d
jmp 0x41706c
lea rax, [0x00978eae]
mov ebx, 0x21
call dbg.runtime.throw
mov rax, rdi
call dbg.runtime.(*_type).string
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x98], rbx
call dbg.runtime.printlock
lea rax, [0x009724e6]
mov ebx, 0x17
call dbg.runtime.printstring
mov rax, qword [rsp + 0x108]
mov rbx, qword [rsp + 0x98]
nop dword [rax]
call dbg.runtime.printstring
call dbg.runtime.printnl
call fcn.0043ada0
lea rax, [0x0097fb7b]
mov ebx, 0x2d
nop dword [rax + rax]
call dbg.runtime.throw
call dbg.runtime.panicdivide
mov rsi, r11
mov r11, r10
mov qword [rsp + 0xf8], r15
mov qword [rsp + 0x78], r12
mov r10, qword [rsp + 0xb0]
mov r12, qword [rsp + 0xa8]
mov r15, qword [rsp + 0x68]
jmp 0x416d45
cmp r10, 0x40
sbb r9, r9
lea rdx, [r10 + 8]
movzx r13d, byte [r11]
mov rcx, r10
shl r13, cl
and r13, r9
mov rcx, qword [rsp + 0x88]
or rcx, r13
nop
inc r11
mov r9, qword [rsp + 0xb8]
mov r10, qword [rsp + 0xb0]
mov r13, qword [rsp + 0xc0]
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x88], rcx
mov rcx, qword [rsp + 0x138]
mov rdx, qword [rsp + 0xc8]
mov r10, qword [rsp + 0x70]
cmp r10, r15
jb 0x417157
mov r10, r12
shr r12, 3
lea r11, [r12 + r12]
cmp r11, 0x39
ja 0x4171db
mov r11, qword [rsp + 0x88]
mov r15, r12
jmp 0x417232
mov r11, qword [rsp + 0x88]
xor r10d, r10d
mov qword [rsp + 0x68], r12
xor r15d, r15d
mov qword [rsp + 0x60], r11
mov r11, rsi
mov rsi, qword [rsp + 0xb0]
nop
jmp 0x41712a
mov qword [rsp + 0x60], r11
sbb r9, r9
mov rcx, r12
shl r11, cl
and r11, r9
mov r9, qword [rsp + 0x60]
or r11, r9
lea r12, [rcx + rcx]
mov rcx, qword [rsp + 0x138]
mov r9, qword [rsp + 0xb8]
cmp r12, 0x40
jbe 0x417205
test r15b, r15b
je 0x4172a5
mov r12, r15
movzx r15d, r15b
mov word [rsp + 0x46], r15w
mov r15d, 0x39
movzx r15d, r15b
mov eax, r15d
movzx r15d, word [rsp + 0x46]
xor edx, edx
div r15w
movzx r15d, al
imul r12, r15
cmp r12, 0x40
sbb r15, r15
mov rax, rcx
mov rcx, r12
mov rdx, r15
mov r15d, 1
shl r15, cl
and r15, rdx
dec r15
and r11, r15
mov rcx, rax
mov rdx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xe8]
jmp 0x4171e3
call dbg.runtime.panicdivide
mov rax, rdx
mov ecx, 0x40
call dbg.runtime.panicIndexU
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call dbg.runtime.morestack_noctxt
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp dbg.runtime.heapBitsSetType