Function at 0x1402c8bf0
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 rsi, qword [rcx]
mov r14d, dword [rdx + 4]
mov rbx, qword [rsi]
mov qword [rsp + 0x140], rcx
mov eax, r14d
mov qword [rsp + 0x148], rdx
or eax, 0x40
mov qword [rsp + 0x40], rsi
mov dword [rdx + 4], eax
cmp byte [rbx + 0x67], 0
mov qword [rsp + 0x48], rbx
jne 0x1402c9493
test r14b, 0x40
mov edi, 1
jne 0x1402c8f11
cmp word [rcx + 0x24], 0
je 0x1402c8c66
mov eax, dword [rsi + 0x8c]
mov dword [rsp + 0x38], eax
add eax, 1
mov dword [rsi + 0x8c], eax
mov dword [rdx + 0x10], eax
mov rax, qword [rsp + 0x148]
mov rsi, qword [rsp + 0x40]
mov rax, qword [rax + 0x28]
cmp qword [rsi + 0x198], 0
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x148]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x148]
mov rax, qword [rax + 0x68]
je 0x1402c8f27
test r14d, 0x200000
je 0x1402c8f27
test rax, rax
je 0x1402ca1f0
mov dword [rax + 4], 1
mov rsi, qword [rsp + 0x40]
mov r8d, dword [rsi + 0x30]
test r8d, r8d
jne 0x1402c8ce7
mov rdx, qword [rsi + 0x198]
mov qword [rax + 8], rdx
mov qword [rsi + 0x198], rax
mov rsi, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x40]
mov rdx, rsi
call sym.sqlite3SrcListAssignCursors
mov rax, rsi
mov eax, dword [rax]
lea rsi, [rsi + 8]
mov qword [rsp + 0xb8], rsi
test eax, eax
jle 0x1402c94a8
xor ebp, ebp
mov dword [rsp + 0x90], r14d
mov r15, rsi
mov r14, qword [rsp + 0x40]
lea r13, [0x14047eee0]
mov dword [rsp + 0x38], ebp
jmp 0x1402c8d4d
add dword [rsp + 0x38], 1
add r15, 0x68
mov esi, dword [rsp + 0x38]
cmp esi, eax
jge 0x1402c94a0
cmp qword [r15 + 0x20], 0
jne 0x1402c8d38
mov r8, qword [r15 + 0x10]
test r8, r8
je 0x1402c8fb9
mov rsi, qword [r14 + 0x198]
test rsi, rsi
je 0x1402c8d80
mov eax, dword [r14 + 0x30]
test eax, eax
jne 0x1402c8d80
cmp qword [r15 + 8], 0
je 0x1402c9068
mov rcx, qword [r15]
test rcx, rcx
je 0x1402c9475
mov rax, qword [r14]
mov rax, qword [rax + 0x20]
cmp rcx, qword [rax + 0x18]
je 0x1402c8db0
add rax, 0x20
nop dword [rax]
mov rdx, rax
add rax, 0x20
cmp rcx, qword [rax - 8]
jne 0x1402c8da0
mov rax, rdx
mov r9, qword [rax]
xor edx, edx
mov rcx, r14
call sym.sqlite3LocateTable
test rax, rax
mov rsi, rax
mov qword [r15 + 0x20], rax
je 0x1402c9493
mov eax, dword [rax + 0x2c]
cmp eax, 0xfffe
ja 0x1402caa32
movzx edx, byte [rsi + 0x3f]
add eax, 1
mov dword [rsi + 0x2c], eax
cmp dl, 1
je 0x1402c9464
movzx eax, byte [r15 + 0x40]
test al, 4
jne 0x1402c947e
test dl, dl
je 0x1402c8eb8
movzx edi, word [rsi + 0x36]
mov rax, qword [rsp + 0x140]
test di, di
movzx ebx, word [rax + 0x24]
jg 0x1402c9a90
mov rdx, rsi
mov rcx, r14
call sym.viewGetColumnNames
test eax, eax
jne 0x1402c9493
movzx eax, byte [rsi + 0x3f]
cmp al, 2
je 0x1402c9a95
cmp al, 1
jne 0x1402c8e72
cmp byte [r15 + 0x40], 0
jns 0x1402c8e72
mov rdx, qword [rsi + 0x50]
test rdx, rdx
je 0x1402c8e72
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x30]
shr al, 7
cmp al, byte [rdx + 0x1d]
jae 0x1402c8e72
mov r8, qword [rsi]
lea rdx, str.unsafe_use_of_virtual_table___s_
mov rcx, r14
call sym.sqlite3ErrorMsg
mov rdx, qword [r15 + 0x28]
movzx edi, word [rsi + 0x36]
mov ebp, 0xffffffff
mov r12d, 1
and bx, 0xff
mov rax, qword [rsp + 0x140]
mov word [rsi + 0x36], bp
mov rcx, rax
mov word [rax + 0x24], r12w
call sym.sqlite3WalkSelect
mov rax, qword [rsp + 0x140]
mov word [rax + 0x24], bx
mov word [rsi + 0x36], di
movzx eax, byte [r15 + 0x40]
test al, 2
jne 0x1402c8f38
mov rax, qword [rsp + 0x50]
mov eax, dword [rax]
jmp 0x1402c8d38
mov rcx, qword [rsp + 0x48]
mov rdx, rax
call sym.exprListDeleteNN
mov rax, qword [rsp + 0x148]
mov qword [rax + 0x20], r15
test r15, r15
je 0x1402c8f11
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x90]
cmp dword [r15], eax
jg 0x1402caa70
and ebp, 0x400008
je 0x1402c8f11
mov rax, qword [rsp + 0x148]
or dword [rax + 4], 0x40000
mov eax, edi
add rsp, 0xf8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test rax, rax
jne 0x1402c8cc7
jmp 0x1402c8ce7
mov rax, qword [r15 + 0x20]
mov r8, qword [r15 + 0x58]
mov rax, qword [rax + 0x10]
test rax, rax
je 0x1402c8f99
nop dword [rax]
mov r10, qword [rax]
xor r9d, r9d
jmp 0x1402c8f71
movzx edi, byte [r13 + rcx]
cmp byte [r13 + rdx], dil
jne 0x1402c8f90
add r9, 1
movzx edx, byte [r10 + r9]
movzx ecx, byte [r8 + r9]
cmp edx, ecx
jne 0x1402c8f60
test edx, edx
jne 0x1402c8f6d
mov qword [r15 + 0x60], rax
jmp 0x1402c8ebc
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x1402c8f50
mov rsi, qword [rsp + 0x40]
lea rdx, str.no_such_index:__s
xor r9d, r9d
mov rcx, rsi
call sym.sqlite3ErrorMsg
mov byte [rsi + 0x1d], 1
jmp 0x1402c9493
mov rdx, qword [r15 + 0x28]
mov rcx, qword [rsp + 0x140]
call sym.sqlite3WalkSelect
test eax, eax
jne 0x1402c9493
mov rcx, qword [r14]
mov edx, 0x68
mov rbx, qword [r15 + 0x28]
call sym.sqlite3DbMallocZero
test rax, rax
mov rsi, rax
mov qword [r15 + 0x20], rax
je 0x1402c9493
mov rdx, qword [r15 + 0x18]
mov dword [rax + 0x2c], 1
mov rcx, qword [r14]
test rdx, rdx
je 0x1402c9450
call sym.sqlite3DbStrDup
mov qword [rsi], rax
nop word [rax + rax]
mov rax, rbx
mov rbx, qword [rbx + 0x50]
test rbx, rbx
jne 0x1402c9018
mov rdx, qword [rax + 0x20]
lea r9, [rsi + 8]
mov rcx, r14
lea r8, [rsi + 0x36]
call sym.sqlite3ColumnsFromExprList.isra.0
mov ecx, dword [r14 + 0x30]
mov eax, 0xffffffff
mov edx, 0xc8
or dword [rsi + 0x30], 0x4200
mov word [rsi + 0x34], ax
mov word [rsi + 0x3a], dx
test ecx, ecx
je 0x1402c8eb3
jmp 0x1402c9493
test byte [r15 + 0x41], 2
jne 0x1402c8d80
mov r11d, dword [rsi]
lea rax, [rsi + 0x10]
xor r10d, r10d
test r11d, r11d
jle 0x1402c9431
nop word cs:[rax + rax]
mov r9, qword [rax]
xor ebx, ebx
jmp 0x1402c90b5
movzx edi, byte [r13 + rcx]
cmp byte [r13 + rdx], dil
jne 0x1402c9420
add rbx, 1
movzx edx, byte [r8 + rbx]
movzx ecx, byte [r9 + rbx]
cmp edx, ecx
jne 0x1402c90a0
test edx, edx
jne 0x1402c90b1
movsxd rax, r10d
mov rbp, qword [r14]
lea rbx, [rax + rax*2]
mov qword [rsp + 0x58], rax
shl rbx, 4
add rbx, rsi
mov rdx, qword [rbx + 0x28]
test rdx, rdx
jne 0x1402ca19e
test byte [r15 + 0x40], 4
jne 0x1402c9482
mov edx, 0x68
mov rcx, rbp
call sym.sqlite3DbMallocZero
test rax, rax
mov qword [rsp + 0x60], rax
je 0x1402c9493
mov r12, qword [rbx + 0x30]
test r12, r12
je 0x1402c9ae7
mov rax, qword [rsp + 0x58]
mov rcx, rbp
mov rbx, qword [rsp + 0x60]
lea rax, [rax + rax*2]
shl rax, 4
mov qword [r15 + 0x20], rbx
lea rdi, [rsi + rax]
mov dword [rbx + 0x2c], 1
mov rdx, qword [rdi + 0x10]
mov qword [rsp + 0x70], rdi
call sym.sqlite3DbStrDup
mov rdx, qword [rdi + 0x20]
mov rcx, rbp
or dword [rbx + 0x30], 0x4200
mov qword [rbx], rax
mov eax, 0xffffffff
mov word [rbx + 0x34], ax
mov eax, 0xc8
mov word [rbx + 0x3a], ax
call sym.sqlite3SelectDup.constprop.0
mov qword [r15 + 0x28], rax
cmp byte [rbp + 0x67], 0
mov rdi, rax
jne 0x1402c9493
mov ecx, dword [rax + 4]
or ecx, 0x4000000
test byte [r15 + 0x40], 2
mov dword [rax + 4], ecx
jne 0x1402caa18
or byte [r15 + 0x41], 1
mov qword [r15 + 0x60], r12
mov rdx, rdi
add dword [r12], 1
movzx eax, byte [rax]
lea ebx, [rax + 0x7a]
cmp bl, 1
ja 0x1402c930d
mov byte [rsp + 0x98], al
lea r8, [0x14047eee0]
mov eax, ebx
mov dword [rsp + 0x68], 0xffffffff
mov qword [rsp + 0x80], r15
mov qword [rsp + 0x88], rdi
mov rcx, qword [rdx + 0x28]
mov edi, dword [rdx + 4]
mov r15d, dword [rcx]
test r15d, r15d
jle 0x1402ca170
lea r11, [rcx + 0x10]
xor ebx, ebx
mov qword [rsp + 0x78], r14
mov qword [rsp + 0xa0], rsi
jmp 0x1402c9220
add ebx, 1
add r11, 0x68
cmp ebx, r15d
je 0x1402c92d3
mov ebp, edi
and ebp, 0x2000
cmp qword [r11], 0
jne 0x1402c9210
mov rsi, qword [r11 + 8]
test rsi, rsi
je 0x1402c9210
mov r10, qword [rsp + 0x70]
mov r12, qword [r10 + 0x10]
xor r10d, r10d
jmp 0x1402c9257
movzx r14d, byte [r8 + r14]
cmp byte [r8 + r9], r14b
jne 0x1402c9210
add r10, 1
movzx r9d, byte [rsi + r10]
movzx r14d, byte [r12 + r10]
cmp r9d, r14d
jne 0x1402c9248
test r9d, r9d
jne 0x1402c9253
movsxd r9, ebx
mov rsi, qword [rsp + 0x60]
imul r9, r9, 0x68
mov qword [r11 + 0x18], rsi
add dword [rsi + 0x2c], 1
or byte [rcx + r9 + 0x48], 0x40
test ebp, ebp
jne 0x1402ca17d
mov r14d, dword [rsp + 0x68]
or edi, 0x2000
mov dword [rdx + 4], edi
test r14d, r14d
jns 0x1402c92b6
mov rsi, qword [rsp + 0x78]
mov r10d, dword [rsi + 0x34]
lea r9d, [r10 + 1]
mov dword [rsp + 0x68], r10d
mov dword [rsi + 0x34], r9d
mov esi, dword [rsp + 0x68]
add ebx, 1
add r11, 0x68
mov ebp, 0x2000
mov dword [r11 - 0x2c], esi
cmp ebx, r15d
jne 0x1402c9220
mov r14, qword [rsp + 0x78]
mov rsi, qword [rsp + 0xa0]
test ebp, ebp
je 0x1402c92f8
mov rdx, qword [rdx + 0x50]
movzx ebx, byte [rsp + 0x98]
cmp bl, byte [rdx]
je 0x1402c91e7
mov rdi, qword [rsp + 0x88]
mov ebx, eax
mov r15, qword [rsp + 0x80]
mov ecx, dword [rdi + 4]
mov rax, qword [rsp + 0x58]
lea r11, str.circular_reference:__s
mov r12, qword [r14 + 0x198]
lea rax, [rax + rax*2]
shl rax, 4
and ch, 0x20
mov qword [rsi + rax + 0x28], r11
mov qword [r14 + 0x198], rsi
jne 0x1402ca1b0
mov rcx, qword [rsp + 0x140]
mov rdx, rdi
call sym.sqlite3WalkSelect
test eax, eax
jne 0x1402ca1df
mov qword [r14 + 0x198], rsi
mov rax, rdi
mov rdx, rax
mov rax, qword [rax + 0x50]
test rax, rax
jne 0x1402c935f
mov rax, qword [rsp + 0x58]
mov rcx, qword [rdx + 0x20]
lea rax, [rax + rax*2]
shl rax, 4
add rax, rsi
mov rdx, qword [rax + 0x18]
test rdx, rdx
je 0x1402ca2a3
test rcx, rcx
je 0x1402c939f
mov r9d, dword [rcx]
mov ecx, dword [rdx]
cmp r9d, ecx
jne 0x1402ca262
mov rax, qword [rsp + 0x60]
mov rcx, r14
lea r9, [rax + 8]
lea r8, [rax + 0x36]
call sym.sqlite3ColumnsFromExprList.isra.0
cmp bl, 1
ja 0x1402c93f1
test byte [rdi + 5], 0x20
lea rax, str.multiple_recursive_references:__s
mov rcx, qword [rsp + 0x140]
lea rdx, str.recursive_reference_in_a_subquery:__s
cmovne rdx, rax
mov rax, qword [rsp + 0x58]
lea rax, [rax + rax*2]
shl rax, 4
mov qword [rsi + rax + 0x28], rdx
mov rdx, rdi
call sym.sqlite3WalkSelect
mov rax, qword [rsp + 0x58]
lea rax, [rax + rax*2]
shl rax, 4
mov qword [rsi + rax + 0x28], 0
movzx eax, byte [r15 + 0x40]
mov qword [r14 + 0x198], r12
jmp 0x1402c8eb8
add r10d, 1
add rax, 0x30
cmp r10d, r11d
jne 0x1402c9090
mov eax, dword [rsi + 4]
test eax, eax
jne 0x1402c8d80
mov rsi, qword [rsi + 8]
test rsi, rsi
jne 0x1402c9073
jmp 0x1402c8d80
lea rdx, [0x140471a6e]
mov r8, r15
call sym.sqlite3MPrintf
jmp 0x1402c900f
mov rax, qword [rsp + 0x140]
movzx ebx, word [rax + 0x24]
jmp 0x1402c8e1c
mov r9, qword [r15 + 8]
jmp 0x1402c8db3
mov r8, qword [r15 + 0x10]
mov rcx, qword [rsp + 0x40]
lea rdx, str._s_is_not_a_function
call sym.sqlite3ErrorMsg
mov edi, 2
jmp 0x1402c8f11
mov r14d, dword [rsp + 0x90]
mov rax, qword [rsp + 0x40]
mov edi, dword [rax + 0x30]
test edi, edi
jne 0x1402c9493
mov rax, qword [rsp + 0x148]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x80], rax
lea r11, [rax + 0x70]
mov eax, dword [rax]
cmp eax, 1
jle 0x1402c95fd
mov dword [rsp + 0x58], 1
lea r13, [0x14047eee0]
mov dword [rsp + 0xa0], r14d
mov dword [rsp + 0xb0], edi
mov rsi, qword [r11 + 0x20]
cmp qword [r11 - 0x48], 0
mov qword [rsp + 0x88], rsi
je 0x1402c9b3d
test rsi, rsi
je 0x1402c9b3d
movzx ecx, byte [r11 + 0x3c]
xor esi, esi
movzx edx, byte [r11 + 0x41]
test cl, 0x20
sete sil
add esi, 1
and ecx, 4
mov dword [rsp + 0x90], esi
jne 0x1402ca025
mov rax, qword [r11 + 0x48]
and edx, 4
mov qword [rsp + 0x70], rax
jne 0x1402c9b89
cmp qword [rsp + 0x70], 0
mov ebx, dword [rsp + 0x58]
je 0x1402c95d0
mov ebp, dword [r11 + 0x44]
mov rsi, rax
mov eax, dword [rsp + 0x90]
mov dword [rsi + 0x34], ebp
or dword [rsi + 4], eax
cmp byte [rsi], 0xac
je 0x1402c9b46
mov rcx, qword [rsi + 0x10]
mov edx, ebp
mov r8d, dword [rsp + 0x90]
call sym.sqlite3SetJoinExpr
mov rsi, qword [rsi + 0x18]
test rsi, rsi
jne 0x1402c9560
mov rax, qword [rsp + 0x148]
mov qword [rsp + 0x38], r11
mov r8, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rax + 0x30]
call sym.sqlite3ExprAnd
mov rsi, qword [rsp + 0x148]
mov r11, qword [rsp + 0x38]
mov qword [rsi + 0x30], rax
or byte [r11 + 0x41], 8
mov qword [r11 + 0x48], 0
mov rax, qword [rsp + 0x80]
mov eax, dword [rax]
add dword [rsp + 0x58], 1
lea edx, [rax - 1]
add r11, 0x68
cmp edx, ebx
jg 0x1402c94f5
mov r14d, dword [rsp + 0xa0]
mov edi, dword [rsp + 0xb0]
mov rax, qword [rsp + 0xa8]
mov r9d, dword [rax]
test r9d, r9d
jle 0x1402caa53
lea rbx, [rax + 8]
xor ebp, ebp
xor eax, eax
mov rdx, rbx
jmp 0x1402c9633
add eax, 1
or ebp, dword [rcx + 4]
add rdx, 0x20
cmp r9d, eax
je 0x1402ca9e0
mov rcx, qword [rdx]
movzx r8d, byte [rcx]
cmp r8b, 0xb4
je 0x1402c9650
cmp r8b, 0x8d
jne 0x1402c9620
mov r8, qword [rcx + 0x18]
cmp byte [r8], 0xb4
jne 0x1402c9620
cmp r9d, eax
jle 0x1402ca9e0
mov rax, qword [rsp + 0x40]
xor r12d, r12d
xor r15d, r15d
mov rsi, rbx
and r14d, 0x800
mov dword [rsp + 0x70], r14d
lea r14, [0x14047eee0]
mov rax, qword [rax]
mov rax, qword [rax + 0x30]
and eax, 0x44
mov dword [rsp + 0xb0], eax
jmp 0x1402c970c
cmp al, 0x8d
jne 0x1402c969a
cmp byte [rdx], 0xb4
je 0x1402ca9b7
mov r8, qword [rsp + 0x98]
mov rdx, r15
mov rcx, qword [rsp + 0x40]
call sym.sqlite3ExprListAppend
test rax, rax
mov r15, rax
je 0x1402c96ec
mov eax, dword [rax]
mov rdx, qword [rsi + 8]
sub eax, 1
cdqe
shl rax, 5
add rax, r15
mov qword [rax + 0x10], rdx
lea rcx, [rax + 0x10]
movzx edx, byte [rsi + 0x14]
movzx eax, byte [rax + 0x1c]
and edx, 3
and eax, 0xfffffffc
or eax, edx
mov byte [rcx + 0xc], al
mov qword [rsi + 8], 0
mov qword [rsi], 0
mov rax, qword [rsp + 0xa8]
add r12d, 1
add rsi, 0x20
cmp dword [rax], r12d
jle 0x1402c8ec8
mov rax, qword [rsi]
or ebp, dword [rax + 4]
mov qword [rsp + 0x98], rax
mov rdx, qword [rax + 0x18]
movzx eax, byte [rax]
cmp al, 0xb4
jne 0x1402c968d
mov qword [rsp + 0x68], 0
mov rax, qword [rsp + 0x50]
mov eax, dword [rax]
test eax, eax
jle 0x1402ca9f1
mov rbx, qword [rsp + 0xb8]
mov r9d, 1
mov dword [rsp + 0xcc], ebp
mov dword [rsp + 0x88], 0
mov ebp, r9d
mov dword [rsp + 0xd8], r12d
mov qword [rsp + 0xd0], rsi
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0xdc], edi
mov rsi, qword [rsp + 0x38]
mov r13, qword [rsi + 0x18]
mov rbx, qword [rsi + 0x20]
test r13, r13
mov qword [rsp + 0xa0], rbx
je 0x1402ca7e5
mov rsi, qword [rsp + 0x48]
cmp byte [rsi + 0x67], 0
jne 0x1402c9a3f
mov rsi, qword [rsp + 0x38]
test byte [rsi + 0x41], 0x20
jne 0x1402ca893
mov r9, qword [rsp + 0x68]
test r9, r9
je 0x1402c97f1
xor ecx, ecx
jmp 0x1402c97dd
movzx esi, byte [r14 + r8]
cmp byte [r14 + rdx], sil
jne 0x1402ca7ed
add rcx, 1
movzx edx, byte [r9 + rcx]
movzx r8d, byte [r13 + rcx]
cmp edx, r8d
jne 0x1402c97ca
test edx, edx
jne 0x1402c97d9
mov rsi, qword [rsp + 0xa0]
mov rdx, qword [rsi + 0x60]
test rdx, rdx
je 0x1402caa07
mov rsi, qword [rsp + 0x48]
mov rcx, qword [rsi + 0x20]
cmp rdx, qword [rcx + 0x18]
je 0x1402c9829
add rcx, 0x20
mov r8, rcx
add rcx, 0x20
cmp rdx, qword [rcx - 8]
jne 0x1402c9819
mov rcx, r8
mov rsi, qword [rcx]
xor edx, edx
mov qword [rsp + 0x78], rsi
cmp ebp, eax
mov r12d, ebp
mov qword [rsp + 0x90], 0
jge 0x1402c9862
mov rax, qword [rsp + 0x38]
test byte [rax + 0xa9], 4
je 0x1402c9862
mov r11d, dword [rsp + 0x70]
test r11d, r11d
jne 0x1402ca8a9
mov rax, qword [rsp + 0xa0]
cmp word [rax + 0x36], 0
jle 0x1402ca7d9
mov rbx, qword [rsp + 0x68]
lea esi, [rbp - 1]
mov qword [rsp + 0x80], rdx
mov dword [rsp + 0xc4], ebp
mov rbp, qword [rsp + 0xa0]
mov dword [rsp + 0xc8], esi
mov dword [rsp + 0xc0], r12d
test rbx, rbx
setne cl
test rdx, rdx
mov edx, dword [rsp + 0x88]
mov qword [rsp + 0x88], r13
setne al
mov r13, qword [rsp + 0x40]
and ecx, eax
test esi, esi
mov byte [rsp + 0x60], cl
setg cl
test rbx, rbx
sete al
xor ebx, ebx
and ecx, eax
lea rax, [rsp + 0xe0]
mov byte [rsp + 0xb7], cl
mov qword [rsp + 0x58], rax
nop dword [rax]
mov r11, qword [rbp + 8]
lea rdi, [rbx + rbx*2]
shl rdi, 3
add r11, rdi
cmp byte [rsp + 0x60], 0
mov r12, qword [r11]
je 0x1402ca2c2
mov rsi, qword [rsp + 0x80]
movsxd rax, ebx
shl rax, 5
movzx eax, byte [rsi + rax + 0x1c]
and eax, 3
cmp al, 2
jne 0x1402c9a00
mov rax, rbx
shl rax, 5
mov rax, qword [rsi + rax + 0x10]
movzx ecx, byte [rax]
test cl, cl
je 0x1402ca889
cmp cl, 0x2e
je 0x1402ca889
mov ecx, 1
nop dword [rax]
movzx r8d, byte [rax + rcx]
add rcx, 1
test r8b, r8b
je 0x1402c996c
cmp r8b, 0x2e
jne 0x1402c9958
add rax, rcx
movzx ecx, byte [rax]
test cl, cl
je 0x1402ca87f
cmp cl, 0x2e
je 0x1402ca87f
mov ecx, 1
nop dword [rax + rax]
movzx r8d, byte [rax + rcx]
mov r10, rcx
add rcx, 1
test r8b, r8b
je 0x1402c99a7
cmp r8b, 0x2e
jne 0x1402c9990
mov rcx, qword [rsp + 0x68]
lea r8d, [r10 - 1]
jmp 0x1402c99d8
movzx esi, byte [rcx]
movzx esi, byte [r14 + rsi]
cmp byte [r14 + r9], sil
jne 0x1402c99e1
add rax, 1
add rcx, 1
sub r8d, 1
jb 0x1402ca2b0
movzx r9d, byte [rax]
test r9b, r9b
jne 0x1402c99b8
movzx r8d, byte [rax]
movzx eax, byte [rcx]
movzx eax, byte [r14 + rax]
cmp byte [r14 + r8], al
je 0x1402ca2b0
nop word [rax + rax]
movsx eax, word [rbp + 0x36]
add rbx, 1
cmp eax, ebx
jg 0x1402c98f0
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x88], edx
mov r12d, dword [rsp + 0xc0]
mov ebp, dword [rsp + 0xc4]
mov eax, dword [rax]
add qword [rsp + 0x38], 0x68
add ebp, 1
cmp eax, r12d
jg 0x1402c9780
mov eax, dword [rsp + 0x88]
mov ebp, dword [rsp + 0xcc]
mov r12d, dword [rsp + 0xd8]
mov rsi, qword [rsp + 0xd0]
test eax, eax
mov edi, dword [rsp + 0xdc]
jne 0x1402c96f3
mov r8, qword [rsp + 0x68]
test r8, r8
je 0x1402ca9f1
mov rcx, qword [rsp + 0x40]
lea rdx, str.no_such_table:__s
call sym.sqlite3ErrorMsg
jmp 0x1402c96f3
cmp dl, 2
jne 0x1402c9ade
mov rax, qword [rsp + 0x48]
test byte [rax + 0x33], 0x80
jne 0x1402c9ac0
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 0x38]
cmp qword [rsi + 0x60], rax
je 0x1402c9ac0
mov r8, qword [rsi]
lea rdx, str.access_to_view___s__prohibited
mov rcx, r14
call sym.sqlite3ErrorMsg
mov rdx, qword [rsi + 0x40]
mov rcx, qword [rsp + 0x48]
call sym.sqlite3SelectDup.constprop.0
movzx edi, word [rsi + 0x36]
mov rdx, rax
mov qword [r15 + 0x28], rax
jmp 0x1402c8e7a
mov rdx, qword [r15 + 0x28]
jmp 0x1402c8e7a
mov edx, 0x14
mov rcx, rbp
call sym.sqlite3DbMallocZero
test rax, rax
mov r12, rax
mov qword [rbx + 0x30], rax
je 0x1402ca250
lea rdx, [sym.sqlite3DbFree]
mov r8, rax
mov rcx, r14
call sym.sqlite3ParserAddCleanup
test rax, rax
je 0x1402ca250
movzx eax, byte [rbx + 0x38]
mov byte [r12 + 0x12], al
jmp 0x1402c911d
mov rsi, qword [rsp + 0x40]
mov ebx, dword [rsi + 0x30]
test ebx, ebx
jne 0x1402c9493
mov ebx, dword [rsp + 0x58]
jmp 0x1402c95da
mov r10, qword [rsi + 0x20]
test r10, r10
je 0x1402c9576
mov eax, dword [r10]
test eax, eax
jle 0x1402c9576
movsxd r12, eax
shl r12, 5
add r12, r10
mov rcx, qword [r10 + 8]
mov edx, ebp
add r10, 0x20
mov r8d, dword [rsp + 0x90]
call sym.sqlite3SetJoinExpr
cmp r10, r12
jne 0x1402c9b68
jmp 0x1402c9576
mov rax, qword [rsp + 0x40]
mov r12, r11
mov qword [rsp + 0x68], 0
mov rbp, qword [rsp + 0x80]
mov rax, qword [rax]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x70]
mov r9d, dword [rax]
test r9d, r9d
jle 0x1402ca23d
mov rax, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x88]
shl rax, 4
mov r15, qword [rsi + rax + 8]
mov rdx, r15
call sym.sqlite3ColumnIndex
test eax, eax
mov dword [rsp + 0x98], eax
js 0x1402c9c36
mov eax, dword [rsp + 0x58]
lea r14, [rbp + 0x28]
xor ebx, ebx
test byte [r12 + 0x41], 0x10
lea esi, [rax - 1]
je 0x1402c9c5a
nop
mov rdi, qword [r14]
mov rdx, r15
mov rcx, rdi
call sym.sqlite3ColumnIndex
test eax, eax
js 0x1402c9c2b
mov r8, qword [rdi + 8]
movsxd rdx, eax
lea rdx, [rdx + rdx*2]
lea rdx, [r8 + rdx*8]
test byte [rdx + 0x12], 2
je 0x1402c9ffa
add ebx, 1
add r14, 0x68
cmp ebx, esi
jle 0x1402c9c00
mov rcx, qword [rsp + 0x40]
lea rdx, str.cannot_join_using_column__s___column_not_present_in_both_tables
mov r8, r15
call sym.sqlite3ErrorMsg
jmp 0x1402c9493
add ebx, 1
add r14, 0x68
cmp esi, ebx
jl 0x1402c9c36
mov rcx, qword [r14]
mov rdx, r15
call sym.sqlite3ColumnIndex
test eax, eax
mov edi, eax
js 0x1402c9c4f
movsxd rsi, ebx
imul rax, rsi, 0x68
add rax, rbp
test byte [rax + 0x49], 0x20
je 0x1402c9c8e
mov rdx, qword [rax + 0x30]
movsxd rax, edi
shl rax, 5
add rax, qword [rdx + 0x20]
or byte [rax + 0x1c], 0x40
mov rcx, qword [rsp + 0x60]
mov r9d, edi
mov r8d, ebx
mov rdx, rbp
call sym.sqlite3CreateColumnExpr
mov qword [rsp + 0x38], rax
imul rax, rsi, 0x68
add rax, rbp
test byte [rax + 0x49], 0x20
je 0x1402c9cc6
mov rdx, qword [rax + 0x30]
movsxd rax, edi
shl rax, 5
add rax, qword [rdx + 0x20]
or byte [rax + 0x1c], 0x40
test byte [rbp + 0x44], 0x40
jne 0x1402c9d98
mov edi, dword [rsp + 0x98]
mov rdx, rbp
mov r8d, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
mov r9d, edi
mov ebx, r8d
call sym.sqlite3CreateColumnExpr
test byte [r12 + 0x41], 0x20
mov rsi, rax
je 0x1402c9d0e
mov rdx, qword [r12 + 0x28]
movsxd rax, edi
shl rax, 5
add rax, qword [rdx + 0x20]
or byte [rax + 0x1c], 0x40
mov rdi, qword [rsp + 0x40]
mov r9, rsi
mov edx, 0x35
mov r8, qword [rsp + 0x38]
mov rcx, rdi
call sym.sqlite3PExpr
test rax, rax
mov r8, rax
je 0x1402c9d82
mov eax, dword [rsp + 0x90]
mov rcx, rdi
or dword [r8 + 4], eax
mov eax, dword [rsi + 0x2c]
mov dword [r8 + 0x34], eax
mov rax, qword [rsp + 0x148]
mov rdx, qword [rax + 0x30]
call sym.sqlite3ExprAnd
mov rsi, qword [rsp + 0x148]
add qword [rsp + 0x68], 1
mov qword [rsi + 0x30], rax
mov rsi, qword [rsp + 0x70]
mov rax, qword [rsp + 0x68]
cmp dword [rsi], eax
jg 0x1402c9bbb
mov r11, r12
jmp 0x1402c95d0
mov rax, qword [rsp + 0x148]
xor r8d, r8d
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rax + 0x30]
jmp 0x1402c9d51
mov eax, dword [rsp + 0x58]
xor r14d, r14d
lea edi, [rax - 1]
movzx eax, byte [r12 + 0x41]
add ebx, 1
shr al, 4
and eax, 1
cmp ebx, edi
jg 0x1402c9e0f
imul rsi, rsi, 0x68
add rsi, rbp
test al, al
je 0x1402c9e7f
mov qword [rsp + 0x78], rbp
nop dword [rax]
mov rbp, qword [rsi + 0x90]
mov rdx, r15
mov rcx, rbp
call sym.sqlite3ColumnIndex
test eax, eax
js 0x1402c9dff
mov rcx, qword [rbp + 8]
movsxd rdx, eax
lea rdx, [rdx + rdx*2]
lea rdx, [rcx + rdx*8]
test byte [rdx + 0x12], 2
je 0x1402c9fc6
add ebx, 1
add rsi, 0x68
cmp ebx, edi
jle 0x1402c9dd0
mov rbp, qword [rsp + 0x78]
test r14, r14
je 0x1402c9cd0
movsxd rax, dword [r14]
cmp eax, dword [r14 + 4]
jge 0x1402ca220
mov rsi, qword [rsp + 0x38]
lea edx, [rax + 1]
shl rax, 5
add rax, r14
mov dword [r14], edx
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0
mov qword [rax + 0x20], 0
mov qword [rax + 8], rsi
mov rcx, qword [rsp + 0x40]
lea r8, str.coalesce
xor r9d, r9d
mov rdx, r14
call sym.sqlite3ExprFunction
mov qword [rsp + 0x38], rax
jmp 0x1402c9cd0
add ebx, 1
add rsi, 0x68
cmp edi, ebx
jl 0x1402c9e0f
mov rcx, qword [rsi + 0x90]
mov rdx, r15
call sym.sqlite3ColumnIndex
test eax, eax
mov r9d, eax
js 0x1402c9e74
movsxd rsi, ebx
imul rax, rsi, 0x68
add rax, rbp
test byte [rax + 0x49], 0x20
je 0x1402c9eb8
mov rdx, qword [rax + 0x30]
movsxd rax, r9d
shl rax, 5
add rax, qword [rdx + 0x20]
or byte [rax + 0x1c], 0x40
imul rax, rsi, 0x68
add rax, rbp
test byte [rax + 0x49], 4
je 0x1402c9fad
mov r10, qword [rax + 0x50]
movsxd rax, dword [r10]
test eax, eax
jle 0x1402c9fad
shl rax, 4
lea r11, [r10 + rax]
mov r8, qword [r10 + 8]
xor ecx, ecx
jmp 0x1402c9f05
movzx edx, byte [r13 + rdx]
cmp byte [r13 + rax], dl
jne 0x1402c9fa0
add rcx, 1
movzx eax, byte [r8 + rcx]
movzx edx, byte [r15 + rcx]
cmp eax, edx
jne 0x1402c9ef0
test eax, eax
jne 0x1402c9f01
test r14, r14
je 0x1402ca001
movsxd rax, dword [r14]
cmp eax, dword [r14 + 4]
jge 0x1402c9fd3
mov rcx, qword [rsp + 0x38]
lea edx, [rax + 1]
shl rax, 5
add rax, r14
mov dword [r14], edx
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0
mov qword [rax + 0x20], 0
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x60]
mov r8d, ebx
mov rdx, rbp
mov dword [rsp + 0x78], r9d
call sym.sqlite3CreateColumnExpr
mov qword [rsp + 0x38], rax
imul rax, rsi, 0x68
add rax, rbp
test byte [rax + 0x49], 0x20
je 0x1402c9da2
mov rdx, qword [rax + 0x30]
movsxd rax, dword [rsp + 0x78]
shl rax, 5
add rax, qword [rdx + 0x20]
or byte [rax + 0x1c], 0x40
jmp 0x1402c9da2
add r10, 0x10
cmp r10, r11
jne 0x1402c9ee0
mov rcx, qword [rsp + 0x40]
lea rdx, str.ambiguous_reference_to__s_in_USING__
mov r8, r15
call sym.sqlite3ErrorMsg
jmp 0x1402c9e0f
mov rbp, qword [rsp + 0x78]
mov r9d, eax
jmp 0x1402c9e95
mov rax, qword [rsp + 0x40]
mov rdx, r14
mov dword [rsp + 0x78], r9d
mov r8, qword [rsp + 0x38]
mov rcx, qword [rax]
call sym.sqlite3ExprListAppendGrow
mov r9d, dword [rsp + 0x78]
mov r14, rax
jmp 0x1402c9f5b
mov edi, eax
jmp 0x1402c9c6b
mov rax, qword [rsp + 0x40]
mov dword [rsp + 0x78], r9d
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rax]
call sym.sqlite3ExprListAppendNew
mov r9d, dword [rsp + 0x78]
mov r14, rax
jmp 0x1402c9f5b
and edx, 4
jne 0x1402ca28a
mov rbp, qword [r11 + 0x48]
test rbp, rbp
jne 0x1402ca28a
mov rsi, qword [rsp + 0x88]
xor r12d, r12d
movzx edx, word [rsi + 0x36]
mov esi, dword [rsp + 0x58]
sub esi, 1
test dx, dx
jle 0x1402c9b2d
mov rdi, qword [rsp + 0x88]
mov qword [rsp + 0x68], r11
mov rcx, qword [rdi + 8]
lea rax, [r12 + r12*2]
lea rax, [rcx + rax*8]
test byte [rax + 0x12], 2
jne 0x1402ca0e0
mov rbx, qword [rax]
mov qword [rsp + 0x60], rdi
xor r15d, r15d
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x38], rbp
lea r14, [rax + 0x28]
mov rdi, r14
mov r14d, edx
nop dword [rax + rax]
mov rbp, qword [rdi]
mov rdx, rbx
mov rcx, rbp
call sym.sqlite3ColumnIndex
test eax, eax
js 0x1402ca0c6
mov r11, qword [rbp + 8]
cdqe
lea rax, [rax + rax*2]
lea rax, [r11 + rax*8]
test byte [rax + 0x12], 2
je 0x1402ca11f
add r15d, 1
add rdi, 0x68
cmp r15d, esi
jle 0x1402ca0a0
mov rbp, qword [rsp + 0x38]
mov edx, r14d
mov rdi, qword [rsp + 0x60]
add r12, 1
movsx eax, dx
cmp eax, r12d
jg 0x1402ca067
test rbp, rbp
mov r11, qword [rsp + 0x68]
je 0x1402ca103
or byte [r11 + 0x41], 0x14
mov qword [r11 + 0x48], rbp
mov rax, qword [rsp + 0x40]
mov r10d, dword [rax + 0x30]
test r10d, r10d
jne 0x1402c9493
movzx edx, byte [r11 + 0x41]
jmp 0x1402c953b
mov rbp, qword [rsp + 0x38]
xor r8d, r8d
mov rcx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x60]
mov rdx, rbp
call sym.sqlite3IdListAppend
test rax, rax
mov rbp, rax
je 0x1402ca167
mov eax, dword [rbp]
mov rdx, rbx
lea r15d, [rax - 1]
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax]
call sym.sqlite3DbStrDup
mov rdx, rax
movsxd rax, r15d
shl rax, 4
mov qword [rbp + rax + 8], rdx
movzx edx, word [rdi + 0x36]
jmp 0x1402ca0e0
and edi, 0x2000
mov ebp, edi
jmp 0x1402c92e0
mov rax, qword [rsp + 0x78]
lea rdx, str.multiple_references_to_recursive_table:__s
mov r8, r12
mov rcx, rax
mov qword [rsp + 0x40], rax
call sym.sqlite3ErrorMsg
jmp 0x1402c9493
mov rcx, qword [rsp + 0x40]
mov r8, r9
call sym.sqlite3ErrorMsg
jmp 0x1402c9493
mov rax, qword [rdi + 0x68]
mov qword [rsp + 0x68], rdx
mov rcx, qword [rsp + 0x140]
mov qword [rdx + 0x68], rax
call sym.sqlite3WalkSelect
mov rdx, qword [rsp + 0x68]
test eax, eax
mov qword [rdx + 0x68], 0
je 0x1402c9355
mov rax, qword [rsp + 0x40]
mov qword [rax + 0x198], r12
jmp 0x1402c9493
mov rcx, qword [rsp + 0x48]
mov edx, 0x40
call sym.sqlite3DbMallocZero
mov rsi, qword [rsp + 0x148]
test rax, rax
mov qword [rsi + 0x68], rax
jne 0x1402c8cc0
jmp 0x1402c9493
mov rax, qword [rsp + 0x40]
mov rdx, r14
mov r8, qword [rsp + 0x38]
mov rcx, qword [rax]
call sym.sqlite3ExprListAppendGrow
mov r14, rax
jmp 0x1402c9e53
mov rax, qword [rsp + 0x80]
mov ebx, dword [rsp + 0x58]
mov eax, dword [rax]
jmp 0x1402c95da
mov rdx, qword [rsp + 0x60]
mov rcx, rbp
call sym.sqlite3DbFreeNN
jmp 0x1402c9493
mov rsi, qword [rsp + 0x40]
lea rdx, str.table__s_has__d_values_for__d_columns
mov r8, qword [rax + 0x10]
mov dword [rsp + 0x20], ecx
mov rcx, rsi
call sym.sqlite3ErrorMsg
mov qword [rsi + 0x198], r12
jmp 0x1402c9493
mov rcx, qword [rsp + 0x40]
lea rdx, str.a_NATURAL_join_may_not_have_an_ON_or_USING_clause
xor r8d, r8d
call sym.sqlite3ErrorMsg
jmp 0x1402c9493
mov rdx, rcx
jmp 0x1402c939f
mov rax, qword [rsp + 0x68]
add r10, rax
cmp byte [r10], 0
jne 0x1402c9a00
mov rsi, qword [rsp + 0x148]
movzx eax, word [r11 + 0x12]
test byte [rsi + 6], 2
jne 0x1402ca2dd
test al, 2
jne 0x1402c9a00
test ah, 4
je 0x1402ca4ca
cmp qword [rsp + 0x68], 0
je 0x1402ca76b
test r12, r12
mov qword [rsp + 0xe0], r12
je 0x1402ca764
mov rcx, r12
call sym.strlen
and eax, 0x3fffffff
mov r8, qword [rsp + 0x58]
xor r9d, r9d
mov edx, 0x3b
mov dword [rsp + 0xe8], eax
mov rcx, qword [rsp + 0x48]
call sym.sqlite3ExprAlloc
mov rsi, rax
mov rax, qword [rsp + 0x50]
mov eax, dword [rax]
cmp eax, 1
jle 0x1402ca5e5
mov rcx, qword [rsp + 0x38]
test byte [rcx + 0x3c], 0x40
je 0x1402ca358
mov ecx, dword [rsp + 0x70]
test ecx, ecx
je 0x1402ca555
mov rcx, qword [rsp + 0x88]
test rcx, rcx
mov qword [rsp + 0xe0], rcx
je 0x1402ca77e
call sym.strlen
and eax, 0x3fffffff
mov r8, qword [rsp + 0x58]
xor r9d, r9d
mov edx, 0x3b
mov dword [rsp + 0xe8], eax
mov rcx, qword [rsp + 0x48]
call sym.sqlite3ExprAlloc
mov r9, rsi
mov edx, 0x8d
mov rcx, r13
mov r8, rax
mov qword [rsp + 0xa0], rax
call sym.sqlite3PExpr
cmp byte [r13 + 0x134], 1
mov rsi, rax
jbe 0x1402ca3d6
mov rax, qword [rsp + 0x98]
mov rdx, qword [rax + 0x10]
test rdx, rdx
jne 0x1402ca633
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x1402ca429
mov rcx, rax
mov qword [rsp + 0xe0], rax
call sym.strlen
mov r8, qword [rsp + 0x58]
xor r9d, r9d
mov edx, 0x3b
mov rcx, qword [rsp + 0x48]
and eax, 0x3fffffff
mov dword [rsp + 0xe8], eax
call sym.sqlite3ExprAlloc
mov r9, rsi
mov edx, 0x8d
mov rcx, r13
mov r8, rax
call sym.sqlite3PExpr
mov rsi, rax
test r15, r15
je 0x1402ca7ab
movsxd r10, dword [r15]
cmp r10d, dword [r15 + 4]
jge 0x1402ca73e
lea eax, [r10 + 1]
mov dword [r15], eax
mov rax, r10
shl rax, 5
add rax, r15
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0
mov qword [rax + 0x20], 0
mov qword [rax + 8], rsi
mov edx, dword [rsp + 0x70]
test edx, edx
je 0x1402ca482
cmp byte [r13 + 0x134], 1
jbe 0x1402ca66a
cmp dword [rsp + 0xb0], 4
mov qword [rsp + 0xa0], r10
je 0x1402ca5f8
mov rcx, qword [rsp + 0x48]
mov rdx, r12
call sym.sqlite3DbStrDup
mov r10, qword [rsp + 0xa0]
mov rdx, rax
shl r10, 5
lea rax, [r15 + r10]
and byte [rax + 0x1c], 0xfc
mov qword [rax + 0x10], rdx
mov edx, 1
jmp 0x1402c9a00
cmp byte [rsp + 0xb7], 0
je 0x1402ca2f2
mov r8d, dword [rsp + 0x70]
test r8d, r8d
jne 0x1402ca2f2
mov rax, qword [rsp + 0x38]
test byte [rax + 0x41], 4
je 0x1402ca2f2
mov r9, qword [rax + 0x48]
mov eax, dword [r9]
test eax, eax
jle 0x1402ca2f2
add r9, 8
xor r10d, r10d
mov r11, qword [r9]
xor r8d, r8d
jmp 0x1402ca527
movzx esi, byte [r14 + rcx]
cmp byte [r14 + rdx], sil
jne 0x1402ca53b
add r8, 1
movzx edx, byte [r11 + r8]
movzx ecx, byte [r12 + r8]
cmp edx, ecx
jne 0x1402ca518
test edx, edx
jne 0x1402ca523
jmp 0x1402ca4c0
add r10d, 1
add r9, 0x10
cmp eax, r10d
jne 0x1402ca50b
mov qword [rsp + 0xe0], r12
jmp 0x1402ca303
mov ecx, dword [rsp + 0xc8]
sub eax, ecx
cmp eax, 1
jle 0x1402ca358
sub eax, 1
mov r8, qword [rsp + 0x38]
imul rax, rax, 0x68
add rax, r8
add r8, 0x68
test byte [r8 + 0x41], 4
je 0x1402ca79d
mov r10, qword [r8 + 0x48]
test r10, r10
je 0x1402ca79d
mov edx, dword [r10]
test edx, edx
jle 0x1402ca79d
movsxd r11, edx
mov qword [rsp + 0xa0], r8
shl r11, 4
add r11, r10
nop
mov r9, qword [r10 + 8]
xor r8d, r8d
jmp 0x1402ca5d3
movzx ecx, byte [r14 + rcx]
cmp byte [r14 + rdx], cl
jne 0x1402ca788
add r8, 1
movzx edx, byte [r9 + r8]
movzx ecx, byte [r12 + r8]
cmp edx, ecx
jne 0x1402ca5c0
test edx, edx
jne 0x1402ca5cf
cmp byte [r13 + 0x134], 1
ja 0x1402ca358
jmp 0x1402ca429
mov rcx, qword [rsp + 0x48]
lea rdx, str._s._s
mov r9, r12
mov r8, qword [rsp + 0x88]
call sym.sqlite3MPrintf
mov rdx, rax
mov rax, qword [rsp + 0xa0]
shl rax, 5
add rax, r15
and byte [rax + 0x1c], 0xfc
mov qword [rax + 0x10], rdx
jmp 0x1402ca4c0
mov rax, qword [r13 + 0x1a0]
test rax, rax
jne 0x1402ca655
jmp 0x1402ca3d6
mov rax, qword [rax + 0x18]
test rax, rax
je 0x1402ca3d6
cmp rdx, qword [rax]
jne 0x1402ca648
mov rcx, qword [rsp + 0xa0]
mov qword [rax], rcx
jmp 0x1402ca3d6
mov rsi, qword [rsp + 0x80]
mov qword [rsp + 0xa0], r10
test rsi, rsi
je 0x1402ca84f
mov rax, rbx
mov rcx, qword [rsp + 0x48]
shl rax, 5
mov rdx, qword [rsi + rax + 0x10]
call sym.sqlite3DbStrDup
mov r10, qword [rsp + 0xa0]
mov rdx, r10
shl rdx, 5
add rdx, r15
mov qword [rdx + 0x10], rax
movzx eax, byte [rdx + 0x1c]
and eax, 0xfffffffc
or eax, 2
mov byte [rdx + 0x1c], al
mov rax, qword [rsp + 0x38]
test byte [rax + 0x41], 4
jne 0x1402ca7f5
mov rsi, qword [rsp + 0x90]
test rsi, rsi
je 0x1402ca72d
mov eax, dword [rsi]
test eax, eax
jle 0x1402ca72d
lea r11, [rsi + 8]
xor r9d, r9d
mov rsi, qword [r11]
xor r8d, r8d
jmp 0x1402ca6ff
movzx ecx, byte [r14 + rcx]
cmp byte [r14 + rdx], cl
jne 0x1402ca720
add r8, 1
movzx edx, byte [rsi + r8]
movzx ecx, byte [r12 + r8]
cmp edx, ecx
jne 0x1402ca6f0
test edx, edx
jne 0x1402ca6fb
shl r10, 5
or byte [r15 + r10 + 0x1d], 1
jmp 0x1402ca4c0
add r9d, 1
add r11, 0x10
cmp eax, r9d
jne 0x1402ca6e5
mov rax, qword [rbp + 8]
test byte [rax + rdi + 0x13], 4
je 0x1402ca4c0
jmp 0x1402ca711
mov rcx, qword [r13]
mov rdx, r15
mov r8, rsi
call sym.sqlite3ExprListAppendGrow
mov r15, rax
test r15, r15
je 0x1402ca7bf
mov eax, dword [r15]
lea r10d, [rax - 1]
movsxd r10, r10d
jmp 0x1402ca46c
xor eax, eax
jmp 0x1402ca310
mov r9d, dword [rsp + 0x70]
test r9d, r9d
jne 0x1402ca2f2
jmp 0x1402c9a00
xor eax, eax
jmp 0x1402ca37b
add r10, 0x10
cmp r10, r11
jne 0x1402ca5b0
mov r8, qword [rsp + 0xa0]
cmp r8, rax
jne 0x1402ca576
jmp 0x1402ca358
mov rcx, qword [r13]
mov rdx, rsi
call sym.sqlite3ExprListAppendNew
mov r15, rax
test r15, r15
jne 0x1402ca755
mov r12d, dword [rsp + 0xc0]
mov dword [rsp + 0x88], 1
mov ebp, dword [rsp + 0xc4]
mov rax, qword [rsp + 0x50]
mov eax, dword [rax]
jmp 0x1402c9a2d
mov r13, qword [rbx]
jmp 0x1402c979e
mov r12d, ebp
jmp 0x1402c9a2d
mov r9, qword [rax + 0x48]
mov r11d, dword [r9]
test r11d, r11d
jle 0x1402ca6cb
add r9, 8
xor eax, eax
mov rsi, qword [r9]
xor r8d, r8d
jmp 0x1402ca827
movzx ecx, byte [r14 + rcx]
cmp byte [r14 + rdx], cl
jne 0x1402ca83e
add r8, 1
movzx edx, byte [rsi + r8]
movzx ecx, byte [r12 + r8]
cmp edx, ecx
jne 0x1402ca818
test edx, edx
jne 0x1402ca823
jmp 0x1402ca711
add eax, 1
add r9, 0x10
cmp r11d, eax
jne 0x1402ca80b
jmp 0x1402ca6cb
mov r9, qword [rsp + 0x88]
mov qword [rsp + 0x20], r12
lea rdx, str._s._s._s
mov r8, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x48]
call sym.sqlite3MPrintf
mov r10, qword [rsp + 0xa0]
jmp 0x1402ca6a1
mov r10, qword [rsp + 0x68]
jmp 0x1402ca2b8
mov ecx, 1
jmp 0x1402c996c
mov qword [rsp + 0x78], 0
mov rdx, qword [rsi + 0x28]
mov rdx, qword [rdx + 0x20]
jmp 0x1402c9833
mov rax, qword [rax + 0xb0]
mov r10d, dword [rax]
mov qword [rsp + 0x90], rax
test r10d, r10d
jle 0x1402c9862
lea rax, [rsp + 0xe0]
xor edi, edi
mov rbx, rdi
mov qword [rsp + 0x60], rax
mov rdi, rdx
mov rsi, qword [rsp + 0x90]
mov rax, rbx
shl rax, 4
mov rsi, qword [rsi + rax + 8]
test rsi, rsi
mov qword [rsp + 0xe0], rsi
je 0x1402ca9b0
mov rcx, rsi
call sym.strlen
and eax, 0x3fffffff
mov r8, qword [rsp + 0x60]
xor r9d, r9d
mov edx, 0x3b
mov dword [rsp + 0xe8], eax
mov rcx, qword [rsp + 0x48]
call sym.sqlite3ExprAlloc
mov rcx, qword [rsp + 0x40]
mov rdx, r15
mov r8, rax
call sym.sqlite3ExprListAppend
test rax, rax
mov r15, rax
je 0x1402ca994
mov eax, dword [rax]
lea rdx, str..._s
mov r8, rsi
add rbx, 1
mov rcx, qword [rsp + 0x48]
sub eax, 1
mov dword [rsp + 0x58], eax
call sym.sqlite3MPrintf
mov rdx, rax
movsxd rax, dword [rsp + 0x58]
shl rax, 5
add rax, r15
mov qword [rax + 0x10], rdx
movzx edx, byte [rax + 0x1c]
and edx, 0x7c
or edx, 0xffffff82
mov byte [rax + 0x1c], dl
mov rax, qword [rsp + 0x90]
cmp dword [rax], ebx
jg 0x1402ca8d9
jmp 0x1402ca9a8
mov rax, qword [rsp + 0x90]
add rbx, 1
cmp dword [rax], ebx
jg 0x1402ca8d9
mov rdx, rdi
jmp 0x1402c9862
xor eax, eax
jmp 0x1402ca90b
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0x10]
mov rax, qword [rax + 8]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x50]
mov eax, dword [rax]
test eax, eax
jg 0x1402c9741
jmp 0x1402c9a6c
mov rax, qword [rsp + 0x148]
mov r15, qword [rax + 0x20]
jmp 0x1402c8ee1
mov rcx, qword [rsp + 0x40]
lea rdx, str.no_tables_specified
call sym.sqlite3ErrorMsg
jmp 0x1402c96f3
lea rsi, [0x14046d3b4]
mov qword [rsp + 0x78], rsi
jmp 0x1402c9833
mov r8, qword [r15 + 0x58]
lea rdx, str.no_such_index:___s_
mov rcx, qword [rsp + 0x40]
call sym.sqlite3ErrorMsg
jmp 0x1402c9493
mov r8, qword [rsi]
lea rdx, str.too_many_references_to___s_:_max_65535
mov rcx, qword [rsp + 0x40]
call sym.sqlite3ErrorMsg
mov qword [r15 + 0x20], 0
jmp 0x1402c9493
mov rax, qword [rsp + 0x148]
xor ebp, ebp
mov r15, qword [rax + 0x20]
jmp 0x1402c8ee1
mov rcx, qword [rsp + 0x40]
lea rdx, str.too_many_columns_in_result_set
call sym.sqlite3ErrorMsg
jmp 0x1402c9493