Function at 0x83a170
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xf8
mov rax, qword [rcx]
mov rsi, qword [rax]
mov qword [rsp + 0x50], rax
mov eax, dword [rdx + 4]
mov qword [rsp + 0x148], rdx
mov rdi, qword [rsp + 0x148]
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x60], rsi
mov edx, eax
or edx, 0x40
mov dword [rdi + 4], edx
cmp byte [rsi + 0x61], 0
jne 0x83a7a5
and eax, 0x40
mov dword [rsp + 0x58], 1
mov r15d, eax
jne 0x83a7ad
mov rax, qword [rsp + 0x140]
cmp word [rax + 0x24], 0
je 0x83a206
mov rdi, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x148]
mov eax, dword [rdi + 0x84]
mov dword [rsp + 0x48], eax
add eax, 1
mov dword [rdi + 0x84], eax
mov dword [rsi + 0x10], eax
mov rax, qword [rsp + 0x148]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x148]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x148]
mov rax, qword [rax + 0x68]
test rax, rax
je 0x83a253
mov rsi, qword [rsp + 0x50]
mov rdx, qword [rsi + 0x190]
mov qword [rax + 8], rdx
mov qword [rsi + 0x190], rax
mov rdi, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
mov rdx, rdi
call dbg.sqlite3SrcListAssignCursors
mov rax, rdi
mov ecx, dword [rax]
lea rdi, [rdi + 8]
mov qword [rsp + 0xc0], rdi
test ecx, ecx
jle 0x83a850
mov r14, qword [rsp + 0xc0]
lea r13, [0x00c5e360]
jmp 0x83a2a6
mov rax, qword [rsp + 0x48]
add r15d, 1
add r14, 0x70
cmp dword [rax], r15d
jle 0x83a850
cmp qword [r14 + 0x20], 0
jne 0x83a290
mov rax, qword [rsp + 0x140]
mov rax, qword [rax]
mov edx, dword [rax + 0x30]
mov qword [rsp + 0x58], rax
test edx, edx
jne 0x83a7a5
cmp qword [r14 + 8], 0
mov r10, qword [r14 + 0x10]
jne 0x83a662
test r10, r10
je 0x83a7e0
mov r12, qword [rax + 0x190]
test r12, r12
je 0x83a66b
mov eax, dword [r12]
xor r9d, r9d
lea ebx, [rax - 1]
test eax, eax
jle 0x83a820
mov rax, r9
mov r11d, r9d
xor edx, edx
shl rax, 5
mov r8, qword [r12 + rax + 0x10]
jmp 0x83a32a
movzx edi, byte [r13 + rcx]
cmp byte [r13 + rax], dil
jne 0x83a7c5
add rdx, 1
movzx eax, byte [r10 + rdx]
movzx ecx, byte [r8 + rdx]
cmp eax, ecx
jne 0x83a315
test eax, eax
jne 0x83a326
movsxd rax, r11d
mov qword [rsp + 0x80], rax
shl rax, 5
add rax, r12
mov rdx, qword [rax + 0x28]
mov qword [rsp + 0x70], rax
test rdx, rdx
jne 0x83a83d
mov rax, qword [rsp + 0x58]
test byte [r14 + 0x40], 4
mov rbx, qword [rax]
jne 0x83a833
mov edx, pe_nt_image_headers64
mov rcx, rbx
call dbg.sqlite3DbMallocZero
test rax, rax
mov qword [rsp + 0x88], rax
mov qword [r14 + 0x20], rax
je 0x83a7a5
mov rbp, qword [rsp + 0x70]
mov rcx, rbx
mov esi, 0xffffffff
mov rdi, qword [rsp + 0x88]
mov rdx, qword [rbp + 0x10]
mov dword [rdi + 0x3c], 1
call dbg.sqlite3DbStrDup
mov rdx, qword [rbp + 0x20]
mov word [rdi + 0x44], si
xor r8d, r8d
or dword [rdi + 0x40], 0x202
mov qword [rdi], rax
mov eax, 0xc8
mov rcx, rbx
mov word [rdi + 0x4a], ax
call dbg.sqlite3SelectDup
mov qword [r14 + 0x28], rax
cmp byte [rbx + 0x61], 0
mov rsi, rax
mov qword [rsp + 0x90], rax
jne 0x83a7a5
movzx eax, byte [rax]
mov byte [rsp + 0x78], al
add eax, 0x7c
cmp al, 1
mov byte [rsp + 0x98], al
ja 0x83b4cf
mov eax, 0xffffffff
mov dword [rsp + 0xa0], r15d
mov qword [rsp + 0xa8], r14
mov r15d, eax
mov r14, rdi
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0xb0], r12
nop word [rax + rax]
mov r12, qword [rsi + 0x28]
mov r11d, dword [rsi + 4]
mov ebp, dword [r12]
test ebp, ebp
jle 0x83afd2
lea rcx, [r12 + 0x10]
xor r9d, r9d
jmp 0x83a471
add r9d, 1
add rcx, 0x70
cmp r9d, ebp
je 0x83a520
mov ebx, r11d
and ebx, 0x2000
cmp qword [rcx], 0
jne 0x83a460
mov r10, qword [rcx + 8]
test r10, r10
je 0x83a460
mov rax, qword [rsp + 0x68]
xor r8d, r8d
mov rdi, qword [rax + 0x10]
jmp 0x83a4b1
movzx edx, byte [r13 + rdx]
cmp byte [r13 + rax], dl
jne 0x83a460
add r8, 1
movzx eax, byte [r10 + r8]
movzx edx, byte [rdi + r8]
cmp eax, edx
jne 0x83a4a0
test eax, eax
jne 0x83a4ad
movsxd rax, r9d
mov qword [rcx + 0x18], r14
add dword [r14 + 0x3c], 1
imul rax, rax, 0x70
or byte [r12 + rax + 0x48], 0x20
test ebx, ebx
jne 0x83afb1
or r11d, 0x2000
test r15d, r15d
mov dword [rsi + 4], r11d
jns 0x83a501
mov rdi, qword [rsp + 0x58]
mov r15d, dword [rdi + 0x34]
lea eax, [r15 + 1]
mov dword [rdi + 0x34], eax
add r9d, 1
mov dword [rcx + 0x3c], r15d
add rcx, 0x70
mov ebx, 0x2000
cmp r9d, ebp
jne 0x83a471
nop dword [rax + rax]
test ebx, ebx
je 0x83a535
mov rsi, qword [rsi + 0x50]
movzx eax, byte [rsp + 0x78]
cmp al, byte [rsi]
je 0x83a440
mov r15d, dword [rsp + 0xa0]
mov r14, qword [rsp + 0xa8]
mov r12, qword [rsp + 0xb0]
mov rax, qword [rsp + 0x70]
lea rdi, str.circular_reference:__s
mov qword [rax + 0x28], rdi
mov rax, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x90]
mov rbx, qword [rax + 0x190]
mov qword [rax + 0x190], r12
test byte [rdi + 5], 0x20
mov rax, qword [rsp + 0x140]
mov rax, qword [rax + 0x10]
je 0x83afe0
mov rdx, qword [rdi + 0x68]
test rax, rax
mov qword [rsi + 0x68], rdx
je 0x83a5ab
mov rcx, qword [rsp + 0x140]
mov rdx, rsi
call sym.sqlite3WalkSelect.part.162
mov qword [rsi + 0x68], 0
mov rax, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x90]
mov qword [rax + 0x190], r12
jmp 0x83a5d3
mov rdx, rax
mov rax, qword [rdx + 0x50]
test rax, rax
jne 0x83a5d0
mov rbp, qword [rsp + 0x80]
mov rax, qword [rdx + 0x20]
shl rbp, 5
add rbp, r12
mov rdx, qword [rbp + 0x18]
test rdx, rdx
je 0x83b462
test rax, rax
je 0x83a60f
mov r9d, dword [rax]
mov eax, dword [rdx]
cmp r9d, eax
jne 0x83b414
mov rax, qword [rsp + 0x88]
lea r9, [rax + 8]
lea r8, [rax + 0x46]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax]
call sym.sqlite3ColumnsFromExprList.isra.659
cmp byte [rsp + 0x98], 1
jbe 0x83b117
mov rax, qword [rsp + 0x70]
cmp qword [r14 + 0x20], 0
mov qword [rax + 0x28], 0
mov rax, qword [rsp + 0x58]
mov qword [rax + 0x190], rbx
jne 0x83a790
mov r10, qword [r14 + 0x10]
test r10, r10
je 0x83a7e0
mov rcx, qword [rsp + 0x50]
xor edx, edx
mov r8, r14
call dbg.sqlite3LocateTableItem
test rax, rax
mov rsi, rax
mov qword [r14 + 0x20], rax
je 0x83a7a5
mov eax, dword [rax + 0x3c]
cmp eax, 0xfffe
ja 0x83b490
mov r11d, dword [rsi + 0x54]
add eax, 1
mov dword [rsi + 0x3c], eax
test r11d, r11d
jne 0x83a6c1
test byte [r14 + 0x40], 4
mov r8, qword [r14 + 0x10]
jne 0x83b0da
cmp qword [rsi + 0x18], 0
je 0x83a790
mov rax, qword [rsp + 0x140]
mov rdx, rsi
mov rcx, qword [rsp + 0x50]
movzx ebx, word [rax + 0x24]
call dbg.sqlite3ViewGetColumnNames
test eax, eax
jne 0x83a7a5
cmp qword [rsi + 0x18], 0
je 0x83a6f8
mov rax, qword [rsp + 0x60]
test byte [rax + 0x33], 0x80
je 0x83aa50
mov r10d, dword [rsi + 0x54]
test r10d, r10d
je 0x83a730
test byte [r14 + 0x40], 0x40
je 0x83a730
mov rdx, qword [rsi + 0x60]
test rdx, rdx
je 0x83a730
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x30]
shr al, 7
cmp byte [rdx + 0x1d], al
ja 0x83b161
nop word cs:[rax + rax]
mov rcx, qword [rsp + 0x60]
xor r8d, r8d
mov rdx, qword [rsi + 0x18]
call dbg.sqlite3SelectDup
mov r8d, 0xffffffff
mov r9d, 1
mov rcx, qword [rsp + 0x140]
test rax, rax
mov qword [r14 + 0x28], rax
movzx edi, word [rsi + 0x46]
mov word [rsi + 0x46], r8w
mov word [rcx + 0x24], r9w
je 0x83a77b
cmp qword [rcx + 0x10], 0
je 0x83a77b
mov rdx, rax
call sym.sqlite3WalkSelect.part.162
mov rax, qword [rsp + 0x140]
and bx, 0xff
mov word [rax + 0x24], bx
mov word [rsi + 0x46], di
mov rcx, qword [rsp + 0x50]
mov rdx, r14
call dbg.sqlite3IndexedByLookup
test eax, eax
je 0x83a290
mov dword [rsp + 0x58], 2
mov eax, dword [rsp + 0x58]
add rsp, 0xf8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rax, [r9 + 1]
cmp rbx, r9
je 0x83a820
mov r9, rax
jmp 0x83a302
mov rdx, qword [r14 + 0x28]
test rdx, rdx
je 0x83a804
mov rax, qword [rsp + 0x140]
cmp qword [rax + 0x10], 0
je 0x83a804
mov rcx, rax
call sym.sqlite3WalkSelect.part.162
test eax, eax
jne 0x83a7a5
mov rcx, qword [rsp + 0x50]
mov rdx, r14
call dbg.sqlite3ExpandSubquery
test eax, eax
je 0x83a790
jmp 0x83a7a5
mov r12, qword [r12 + 8]
test r12, r12
jne 0x83a2f0
jmp 0x83a66b
lea rdx, str._s_is_not_a_function
mov r8, r10
mov rcx, qword [rsp + 0x58]
call dbg.sqlite3ErrorMsg
jmp 0x83a7a5
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x30]
test eax, eax
mov dword [rsp + 0x58], eax
jne 0x83a7a5
mov rax, qword [rsp + 0x60]
cmp byte [rax + 0x61], 0
jne 0x83a7a5
mov rax, qword [rsp + 0x148]
mov rax, qword [rax + 0x28]
cmp dword [rax], 1
lea rsi, [rax + 8]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rsi
jle 0x83aaa3
mov rax, qword [rsp + 0x148]
mov r14d, 1
add rax, 0x30
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x70]
cmp qword [rax + 0x20], 0
mov rdi, qword [rax + 0x90]
je 0x83aa80
test rdi, rdi
je 0x83aa80
mov rsi, qword [rsp + 0x70]
movzx eax, byte [rsi + 0xac]
mov r8, qword [rsi + 0xb8]
mov ebx, eax
and ebx, 0x20
mov byte [rsp + 0x88], bl
setne bl
test al, 4
movzx ebx, bl
mov dword [rsp + 0x78], ebx
jne 0x83b003
mov rax, qword [rsp + 0x70]
test r8, r8
mov r13, qword [rax + 0xc0]
je 0x83a962
test r13, r13
jne 0x83b4f2
cmp byte [rsp + 0x88], 0
jne 0x83b0f8
mov rax, qword [rsp + 0x148]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rax + 0x30]
call sym.sqlite3ExprAnd
mov rsi, qword [rsp + 0x148]
mov qword [rsi + 0x30], rax
mov rax, qword [rsp + 0x70]
mov r13, qword [rax + 0xc0]
mov qword [rax + 0xb8], 0
test r13, r13
je 0x83aa80
mov ecx, dword [r13 + 8]
lea eax, [r14 - 1]
xor ebx, ebx
mov dword [rsp + 0x88], eax
test ecx, ecx
jg 0x83a9ca
jmp 0x83aa80
mov rdx, qword [rsp + 0x68]
mov dword [rsp + 0x28], r12d
mov r9d, eax
mov r8d, esi
mov rcx, qword [rsp + 0x80]
mov dword [rsp + 0x20], r14d
add rbx, 1
mov ebp, r14d
mov qword [rsp + 0x38], rcx
mov ecx, dword [rsp + 0x78]
mov dword [rsp + 0x30], ecx
mov rcx, qword [rsp + 0x50]
call dbg.addWhereTerm
cmp dword [r13 + 8], ebx
jle 0x83aa83
mov rax, rbx
movzx edx, word [rdi + 0x46]
shl rax, 4
add rax, qword [r13]
mov rcx, qword [rdi + 8]
mov rbp, qword [rax]
mov r8, rbp
call sym.columnIndex.isra.217
test eax, eax
mov r12d, eax
js 0x83aa25
mov rax, qword [rsp + 0x68]
xor esi, esi
lea r15, [rax + 0x28]
mov rax, qword [r15]
mov r8, rbp
movzx edx, word [rax + 0x46]
mov rcx, qword [rax + 8]
call sym.columnIndex.isra.217
test eax, eax
jns 0x83a985
add esi, 1
add r15, 0x70
cmp esi, dword [rsp + 0x88]
jle 0x83a9fa
mov rcx, qword [rsp + 0x50]
lea rdx, str.cannot_join_using_column__s___column_not_present_in_both_tables
mov r8, rbp
call dbg.sqlite3ErrorMsg
mov dword [rsp + 0x58], 2
jmp 0x83a7ad
mov r8, qword [rsi]
lea rdx, str.access_to_view___s__prohibited
mov rcx, qword [rsp + 0x50]
call dbg.sqlite3ErrorMsg
mov r10d, dword [rsi + 0x54]
test r10d, r10d
je 0x83a730
jmp 0x83a701
mov ebp, r14d
mov rax, qword [rsp + 0x68]
add r14d, 1
add qword [rsp + 0x70], 0x70
mov eax, dword [rax]
mov dword [rsp + 0x78], eax
sub eax, 1
cmp eax, ebp
jg 0x83a8b0
mov rax, qword [rsp + 0xd0]
mov edx, dword [rax]
test edx, edx
jle 0x83b541
mov rax, qword [rsp + 0xd0]
mov r8, qword [rax + 8]
movzx r10d, byte [r8]
cmp r10b, 0xb1
je 0x83b531
lea r9d, [rdx - 1]
add rax, 0x28
mov rdx, r8
shl r9, 5
mov ecx, r10d
xor r11d, r11d
add r9, rax
jmp 0x83ab0c
or r11d, dword [rdx + 4]
cmp r9, rax
je 0x83b444
mov rdx, qword [rax]
add rax, 0x20
movzx ecx, byte [rdx]
cmp cl, 0xb1
je 0x83ab1a
cmp cl, 0x8b
jne 0x83aaf0
mov rcx, qword [rdx + 0x18]
cmp byte [rcx], 0xb1
jne 0x83aaf0
mov dword [rsp + 0xd8], r11d
mov dword [rsp + 0xbc], 0
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x68], 0
mov rax, qword [rax]
mov rax, qword [rax + 0x30]
and eax, 0x44
mov dword [rsp + 0xa8], eax
mov rax, qword [rsp + 0xd0]
add rax, 8
mov qword [rsp + 0xb0], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0xc8], rax
jmp 0x83ac34
cmp r10b, 0x8b
jne 0x83ab88
mov rax, qword [r8 + 0x18]
cmp byte [rax], 0xb1
je 0x83b46a
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rax]
call sym.sqlite3ExprListAppend.isra.381
test rax, rax
mov rdi, rax
mov qword [rsp + 0x68], rax
je 0x83abee
mov eax, dword [rax]
mov rsi, qword [rsp + 0xb0]
mov dword [rsp + 0x70], eax
sub eax, 1
mov rdx, qword [rsi + 8]
cdqe
shl rax, 5
add rax, rdi
lea rcx, [rax + 0x10]
mov qword [rax + 0x10], rdx
movzx eax, byte [rsi + 0x14]
mov edx, eax
mov byte [rsp + 0x70], al
movzx eax, byte [rcx + 0xc]
and edx, 3
and eax, 0xfffffffc
or eax, edx
mov byte [rcx + 0xc], al
mov qword [rsi + 8], 0
mov rax, qword [rsp + 0xb0]
mov qword [rax], 0
mov rdi, qword [rsp + 0xd0]
add dword [rsp + 0xbc], 1
add qword [rsp + 0xb0], 0x20
mov eax, dword [rsp + 0xbc]
cmp dword [rdi], eax
jle 0x83b3b0
mov rax, qword [rsp + 0xb0]
mov r8, qword [rax]
movzx r10d, byte [r8]
mov edi, dword [r8 + 4]
or dword [rsp + 0xd8], edi
cmp r10b, 0xb1
jne 0x83ab75
mov rax, qword [rsp + 0x48]
xor r14d, r14d
mov edx, dword [rax]
test edx, edx
jle 0x83b4b9
mov rax, qword [rsp + 0xc0]
xor r15d, r15d
mov dword [rsp + 0x90], 0
mov qword [rsp + 0x78], rax
nop word cs:[rax + rax]
mov rax, qword [rsp + 0x78]
mov rdi, qword [rax + 0x28]
mov rbp, qword [rax + 0x20]
mov qword [rsp + 0x70], rdi
mov rdi, qword [rax + 0x18]
test rdi, rdi
je 0x83b2c0
mov rax, qword [rsp + 0x60]
cmp byte [rax + 0x61], 0
jne 0x83b1aa
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x83acc2
test byte [rax + 5], 8
jne 0x83b370
test r14, r14
je 0x83acf9
xor ecx, ecx
jmp 0x83ace8
lea rsi, [0x00c5e360]
movzx ebx, byte [rsi + rdx]
cmp byte [rsi + rax], bl
jne 0x83b188
add rcx, 1
movzx eax, byte [r14 + rcx]
movzx edx, byte [rdi + rcx]
cmp eax, edx
jne 0x83acd0
test eax, eax
jne 0x83ace4
mov rdx, qword [rbp + 0x70]
test rdx, rdx
je 0x83b350
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
call sym.sqlite3SchemaToIndex.part.216
test eax, eax
js 0x83b350
mov qword [rsp + 0x70], 0
cdqe
shl rax, 5
add rax, qword [rsi + 0x20]
mov rax, qword [rax]
mov qword [rsp + 0x98], rax
cmp word [rbp + 0x46], 0
jle 0x83b188
cmp qword [rsp + 0x70], 0
mov qword [rsp + 0xa0], rdi
mov qword [rsp + 0x88], r14
mov edi, dword [rsp + 0x90]
setne dl
test r14, r14
setne al
xor ebx, ebx
and edx, eax
mov r13d, edx
jmp 0x83af28
mov rcx, qword [rsp + 0x70]
movsxd rdx, ebx
shl rdx, 5
mov rcx, qword [rcx + 0x20]
movzx edx, byte [rcx + rdx + 0x1c]
and edx, 3
cmp dl, 2
jne 0x83af18
mov r8, qword [rsp + 0x88]
lea rcx, [rcx + rax + 8]
xor r9d, r9d
xor edx, edx
call sym.sqlite3MatchEName.part.164
test eax, eax
je 0x83af18
mov rax, qword [rsp + 0x148]
test byte [rax + 6], 2
jne 0x83ade0
test byte [r14 + 0x1c], 2
jne 0x83af18
nop dword [rax]
mov rcx, qword [rsp + 0x60]
mov r8, rsi
mov edx, 0x3b
call sym.sqlite3Expr
cmp dword [rsp + 0xa8], 4
mov r15, rax
je 0x83b220
mov rax, qword [rsp + 0x48]
cmp dword [rax], 1
jle 0x83ae76
mov r8, qword [rsp + 0xa0]
mov edx, 0x3b
mov rcx, qword [rsp + 0x60]
call sym.sqlite3Expr
mov rcx, qword [rsp + 0x50]
mov r9, r15
mov edx, 0x8b
mov r8, rax
call sym.sqlite3PExpr
cmp qword [rsp + 0x98], 0
mov r15, rax
je 0x83ae76
mov r8, qword [rsp + 0x98]
mov edx, 0x3b
mov rcx, qword [rsp + 0x60]
call sym.sqlite3Expr
mov rcx, qword [rsp + 0x50]
mov r9, r15
mov edx, 0x8b
mov r8, rax
call sym.sqlite3PExpr
mov r15, rax
xor r14d, r14d
mov rax, qword [rsp + 0x50]
mov r8, r15
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rax]
call sym.sqlite3ExprListAppend.isra.381
test rsi, rsi
mov qword [rsp + 0xe0], rsi
mov qword [rsp + 0x68], rax
je 0x83b2b0
mov rcx, rsi
call sym.strlen
and eax, 0x3fffffff
mov r15, qword [rsp + 0x68]
mov dword [rsp + 0xe8], eax
test r15, r15
je 0x83af00
mov r12, qword [rsp + 0x50]
xor r9d, r9d
mov rdx, r15
mov r8, qword [rsp + 0xc8]
mov rcx, r12
call sym.sqlite3ExprListSetName.part.394
mov rax, qword [rsp + 0x148]
test byte [rax + 5], 8
je 0x83af00
cmp byte [r12 + 0x11c], 1
jbe 0x83b2d0
nop word [rax + rax]
test r14, r14
je 0x83af12
mov rcx, qword [rsp + 0x60]
mov rdx, r14
call sym.sqlite3DbFreeNN
mov r15d, 1
movsx eax, word [rbp + 0x46]
add rbx, 1
cmp eax, ebx
jle 0x83b180
mov r14, qword [rbp + 8]
mov rax, rbx
mov dword [rsp + 0x80], ebx
shl rax, 5
add r14, rax
test r13b, r13b
mov rsi, qword [r14]
jne 0x83ad80
mov rax, qword [rsp + 0x148]
test byte [rax + 6], 2
jne 0x83af5e
test byte [r14 + 0x1c], 2
jne 0x83af18
test edi, edi
jle 0x83ade0
cmp qword [rsp + 0x88], 0
jne 0x83ade0
mov rax, qword [rsp + 0x78]
test byte [rax + 0x3c], 4
jne 0x83b1d5
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x83ade0
mov rdx, rsi
mov r15d, 1
call sym.sqlite3IdListIndex.part.205
test eax, eax
js 0x83ade0
jmp 0x83af18
mov rcx, qword [rsp + 0x58]
lea rdx, str.multiple_references_to_recursive_table:__s
mov r8, rdi
call dbg.sqlite3ErrorMsg
mov dword [rsp + 0x58], 2
jmp 0x83a7ad
mov ebx, r11d
and ebx, 0x2000
jmp 0x83a520
test rax, rax
je 0x83a5b3
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x140]
call sym.sqlite3WalkSelect.part.162
jmp 0x83a5b3
test r8, r8
jne 0x83b510
cmp qword [rsi + 0xc0], 0
jne 0x83b510
xor esi, esi
cmp word [rdi + 0x46], 0
jle 0x83aa80
nop word [rax + rax]
mov rax, rsi
mov r13d, esi
shl rax, 5
add rax, qword [rdi + 8]
test byte [rax + 0x1c], 2
jne 0x83b087
mov r12, qword [rax]
xor ebp, ebp
mov rax, qword [rsp + 0x68]
lea rbx, [rax + 0x28]
mov rax, qword [rbx]
mov r8, r12
mov r15, qword [rax + 8]
movzx edx, word [rax + 0x46]
mov rcx, r15
call sym.columnIndex.isra.217
test eax, eax
js 0x83b07b
movsxd rdx, eax
shl rdx, 5
test byte [r15 + rdx + 0x1c], 2
je 0x83b0a4
add ebp, 1
add rbx, 0x70
cmp ebp, r14d
jne 0x83b052
movsx eax, word [rdi + 0x46]
add rsi, 1
cmp eax, esi
jg 0x83b030
mov rax, qword [rsp + 0x70]
mov r8, qword [rax + 0xb8]
jmp 0x83a901
mov rdx, qword [rsp + 0x68]
mov dword [rsp + 0x28], r13d
mov r9d, eax
mov r8d, ebp
mov rbx, qword [rsp + 0x80]
mov dword [rsp + 0x20], r14d
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x38], rbx
mov ebx, dword [rsp + 0x78]
mov dword [rsp + 0x30], ebx
call dbg.addWhereTerm
jmp 0x83b087
mov rcx, qword [rsp + 0x50]
lea rdx, str._s_is_not_a_function
call dbg.sqlite3ErrorMsg
mov dword [rsp + 0x58], 2
jmp 0x83a7ad
mov rsi, qword [rsp + 0x70]
mov rcx, r8
mov edx, dword [rsi + 0xb4]
call dbg.sqlite3SetJoinExpr
mov r8, qword [rsi + 0xb8]
jmp 0x83a929
mov rdi, qword [rsp + 0x90]
lea rax, str.multiple_recursive_references:__s
mov rsi, qword [rsp + 0x70]
lea rdx, str.recursive_reference_in_a_subquery:__s
test byte [rdi + 5], 0x20
cmove rax, rdx
mov qword [rsi + 0x28], rax
mov rax, qword [rsp + 0x140]
cmp qword [rax + 0x10], 0
je 0x83a63a
mov rdx, rdi
mov rcx, rax
call sym.sqlite3WalkSelect.part.162
jmp 0x83a63a
mov r8, qword [rsi]
lea rdx, str.unsafe_use_of_virtual_table___s_
mov rcx, qword [rsp + 0x50]
call dbg.sqlite3ErrorMsg
jmp 0x83a730
mov r14, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x48]
add dword [rsp + 0x90], 1
add qword [rsp + 0x78], 0x70
mov eax, dword [rsp + 0x90]
cmp dword [rsi], eax
jg 0x83ac80
test r15d, r15d
jne 0x83abfd
test r14, r14
je 0x83b4b9
mov rcx, qword [rsp + 0x50]
lea rdx, str.no_such_table:__s
mov r8, r14
call dbg.sqlite3ErrorMsg
jmp 0x83abfd
mov rax, qword [rsp + 0x48]
xor r15d, r15d
lea r14, [rax + 0x28]
mov rax, qword [r14]
mov r8, rsi
mov r12, qword [rax + 8]
movzx edx, word [rax + 0x46]
mov rcx, r12
call sym.columnIndex.isra.217
test eax, eax
js 0x83b20d
cdqe
shl rax, 5
test byte [r12 + rax + 0x1c], 2
je 0x83af12
add r15d, 1
add r14, 0x70
cmp r15d, edi
jl 0x83b1e1
jmp 0x83af84
mov r8, qword [rsp + 0xa0]
mov edx, 0x3b
mov rcx, qword [rsp + 0x60]
call sym.sqlite3Expr
mov rcx, qword [rsp + 0x50]
mov r9, r15
mov edx, 0x8b
mov r8, rax
call sym.sqlite3PExpr
cmp qword [rsp + 0x98], 0
mov r15, rax
je 0x83b289
mov r8, qword [rsp + 0x98]
mov edx, 0x3b
mov rcx, qword [rsp + 0x60]
call sym.sqlite3Expr
mov rcx, qword [rsp + 0x50]
mov r9, r15
mov edx, 0x8b
mov r8, rax
call sym.sqlite3PExpr
mov r15, rax
mov rcx, qword [rsp + 0x60]
mov r9, rsi
mov r8, qword [rsp + 0xa0]
lea rdx, str._s._s
call dbg.sqlite3MPrintf
mov rsi, rax
mov r14, rax
jmp 0x83ae79
xor eax, eax
jmp 0x83aeb1
mov rdi, qword [rbp]
jmp 0x83ac9f
movsxd rax, dword [r15]
lea edx, [rax - 1]
shl rax, 5
lea r15, [r15 + rax]
mov dword [rsp + 0xdc], edx
mov rdx, qword [r15 - 0x10]
test rdx, rdx
je 0x83b2f8
mov rcx, qword [rsp + 0x60]
call sym.sqlite3DbFreeNN
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x83b381
movsxd r12, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x60]
shl r12, 5
add r12, qword [rax + 0x20]
mov rdx, qword [r12 + 0x10]
call dbg.sqlite3DbStrDup
mov qword [r15 - 0x10], rax
movsxd rax, dword [rsp + 0xdc]
mov rsi, qword [rsp + 0x68]
shl rax, 5
lea rdx, [rsi + rax + 0x10]
movzx eax, byte [rdx + 0xc]
and eax, 0xfffffffc
or eax, 2
mov byte [rdx + 0xc], al
jmp 0x83af00
mov qword [rsp + 0x70], 0
lea rax, [0x00c4ee3b]
mov qword [rsp + 0x98], rax
jmp 0x83ad39
mov qword [rsp + 0x98], 0
jmp 0x83ad39
mov r9, qword [rsp + 0xa0]
mov qword [rsp + 0x20], rsi
lea rdx, str._s._s._s
mov r8, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x60]
call dbg.sqlite3MPrintf
mov qword [r15 - 0x10], rax
jmp 0x83b325
mov rcx, qword [rsp + 0x60]
mov rdx, rdi
call dbg.exprListDeleteNN
mov rax, qword [rsp + 0x148]
mov rsi, qword [rsp + 0x68]
mov qword [rax + 0x20], rsi
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x83a7ad
mov rdi, qword [rsp + 0x60]
mov edi, dword [rdi + 0x84]
cmp dword [rax], edi
jg 0x83b4dc
test dword [rsp + 0xd8], 0x200004
je 0x83a7ad
mov rax, qword [rsp + 0x148]
or dword [rax + 4], 0x40000
jmp 0x83a7ad
mov rsi, qword [rsp + 0x58]
mov dword [rsp + 0x20], eax
lea rdx, str.table__s_has__d_values_for__d_columns
mov r8, qword [rbp + 0x10]
mov rcx, rsi
call dbg.sqlite3ErrorMsg
mov qword [rsi + 0x190], rbx
mov dword [rsp + 0x58], 2
jmp 0x83a7ad
mov rax, qword [rsp + 0x148]
mov dword [rsp + 0xd8], r11d
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x68], rax
jmp 0x83b3ce
mov rdx, rax
jmp 0x83a60f
mov rax, qword [r8 + 0x10]
mov r14, qword [rax + 8]
mov rax, qword [rsp + 0x48]
mov eax, dword [rax]
test eax, eax
jg 0x83ac5b
jmp 0x83b1b3
mov r8, qword [rsi]
lea rdx, str.too_many_references_to___s_:_max_65535
mov rcx, qword [rsp + 0x50]
call dbg.sqlite3ErrorMsg
mov qword [r14 + 0x20], 0
mov dword [rsp + 0x58], 2
jmp 0x83a7ad
mov rcx, qword [rsp + 0x50]
lea rdx, str.no_tables_specified
call dbg.sqlite3ErrorMsg
jmp 0x83abfd
mov rsi, qword [rsp + 0x90]
jmp 0x83a54d
mov rcx, qword [rsp + 0x50]
lea rdx, str.too_many_columns_in_result_set
call dbg.sqlite3ErrorMsg
jmp 0x83a7a5
mov rcx, qword [rsp + 0x50]
lea rdx, str.cannot_have_both_ON_and_USING_clauses_in_the_same_join
call dbg.sqlite3ErrorMsg
mov dword [rsp + 0x58], 2
jmp 0x83a7ad
mov rcx, qword [rsp + 0x50]
lea rdx, str.a_NATURAL_join_may_not_have_an_ON_or_USING_clause
xor r8d, r8d
call dbg.sqlite3ErrorMsg
mov dword [rsp + 0x58], 2
jmp 0x83a7ad
mov dword [rsp + 0xd8], 0
jmp 0x83ab22
mov rax, qword [rsp + 0x148]
mov dword [rsp + 0xd8], 0
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x68], rax
jmp 0x83b3ce