Function at 0x14020e440
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, 0x108
mov r15, qword [rcx]
mov rax, qword [r15]
mov qword [rsp + 0x40], rax
mov eax, dword [rdx + 4]
mov r14, rdx
mov qword [rsp + 0x150], rcx
mov dword [rsp + 0xa0], eax
or eax, 0x40
mov dword [rdx + 4], eax
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0x67], 0
jne 0x14020efcc
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0xa4], 1
and eax, 0x40
mov dword [rsp + 0xb8], eax
jne 0x14020f79d
cmp word [rcx + 0x24], 0
je 0x14020e4c4
mov eax, dword [r15 + 0x94]
inc eax
mov dword [r15 + 0x94], eax
mov dword [rdx + 0x10], eax
mov rax, qword [r14 + 0x28]
cmp qword [r15 + 0x198], 0
mov qword [rsp + 0x90], rax
mov rax, qword [r14 + 0x20]
mov qword [rsp + 0x98], rax
mov rax, qword [r14 + 0x68]
je 0x14020e524
bt dword [rsp + 0xa0], 0x15
jae 0x14020e524
test rax, rax
je 0x14020e507
mov rax, qword [r14 + 0x68]
mov dword [rax + 4], 1
jmp 0x14020e524
mov rcx, qword [rsp + 0x40]
mov edx, 0x40
call sym.sqlite3DbMallocZero
mov qword [r14 + 0x68], rax
test rax, rax
jne 0x14020e4fa
jmp 0x14020efcc
mov rdx, qword [r14 + 0x68]
mov rcx, r15
xor r8d, r8d
call sym.sqlite3WithPush
mov rdx, qword [rsp + 0x90]
mov rcx, r15
call sym.sqlite3SrcListAssignCursors
mov rax, qword [rsp + 0x90]
add rax, 8
mov qword [rsp + 0xc0], rax
mov rbx, rax
xor eax, eax
mov dword [rsp + 0x58], eax
mov rax, qword [rsp + 0x90]
mov edi, dword [rsp + 0x58]
cmp dword [rax], edi
jle 0x14020eb75
cmp qword [rbx + 0x20], 0
je 0x14020e585
inc dword [rsp + 0x58]
add rbx, 0x68
jmp 0x14020e560
mov rcx, qword [rbx + 0x10]
test rcx, rcx
jne 0x14020e63b
mov rdx, qword [rbx + 0x28]
mov rcx, qword [rsp + 0x150]
call sym.sqlite3WalkSelect
test eax, eax
jne 0x14020efcc
mov rcx, qword [r15]
mov edx, 0x68
mov rsi, qword [rbx + 0x28]
call sym.sqlite3DbMallocZero
mov qword [rbx + 0x20], rax
mov rdi, rax
test rax, rax
je 0x14020efcc
mov rdx, qword [rbx + 0x18]
mov rcx, qword [r15]
mov dword [rax + 0x2c], 1
test rdx, rdx
je 0x14020e5e6
call sym.sqlite3DbStrDup
jmp 0x14020e5f5
mov r8, rbx
lea rdx, [0x140361dde]
call sym.sqlite3MPrintf
mov qword [rdi], rax
mov rax, rsi
mov rsi, qword [rsi + 0x50]
test rsi, rsi
jne 0x14020e5f8
mov rdx, qword [rax + 0x20]
lea r9, [rdi + 8]
lea r8, [rdi + 0x36]
mov rcx, r15
call sym.sqlite3ColumnsFromExprList.isra.0
or dword [rdi + 0x30], 0x4200
cmp dword [r15 + 0x30], 0
mov word [rdi + 0x34], 0xffff
mov word [rdi + 0x3a], 0xc8
je 0x14020eb53
jmp 0x14020efcc
mov rdi, qword [r15 + 0x198]
test rdi, rdi
je 0x14020ea06
cmp dword [r15 + 0x30], 0
jne 0x14020ea06
cmp qword [rbx + 8], 0
jne 0x14020ea06
test byte [rbx + 0x41], 2
jne 0x14020ea06
mov r11d, dword [rdi]
xor ebp, ebp
cmp r11d, ebp
jle 0x14020e6be
imul rax, rbp, 0x30
mov rsi, qword [rdi + rax + 0x10]
mov rdx, rsi
call sym.sqlite3StrICmp
mov r8d, eax
lea rax, [rbp + 1]
test r8d, r8d
jne 0x14020e6b9
mov dword [rsp + 0x50], ebp
movsxd rbp, ebp
mov rax, qword [r15]
imul rbp, rbp, 0x30
mov qword [rsp + 0x48], rax
add rbp, rdi
mov rdx, qword [rbp + 0x28]
test rdx, rdx
je 0x14020e6d6
mov r8, rsi
jmp 0x14020ec87
mov rbp, rax
jmp 0x14020e670
cmp dword [rdi + 4], 0
jne 0x14020ea06
mov rdi, qword [rdi + 8]
test rdi, rdi
jne 0x14020e66b
jmp 0x14020ea06
test byte [rbx + 0x40], 4
je 0x14020e6e4
mov r8, rcx
jmp 0x14020ea60
mov rcx, qword [rsp + 0x48]
mov edx, 0x68
call sym.sqlite3DbMallocZero
mov rsi, rax
test rax, rax
je 0x14020efcc
mov r12, qword [rbp + 0x30]
test r12, r12
jne 0x14020e754
mov rcx, qword [rsp + 0x48]
mov edx, 0x14
call sym.sqlite3DbMallocZero
mov qword [rbp + 0x30], rax
mov r12, rax
test rax, rax
jne 0x14020e735
mov rcx, qword [rsp + 0x48]
mov rdx, rsi
call sym.sqlite3DbFree
jmp 0x14020efcc
mov r8, rax
lea rdx, [sym.sqlite3DbFree]
mov rcx, r15
call sym.sqlite3ParserAddCleanup
test rax, rax
je 0x14020e723
mov al, byte [rbp + 0x38]
mov byte [r12 + 0x12], al
movsxd r13, dword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
mov qword [rbx + 0x20], rsi
mov dword [rsi + 0x2c], 1
imul r13, r13, 0x30
add r13, rdi
mov rdx, qword [r13 + 0x10]
call sym.sqlite3DbStrDup
or dword [rsi + 0x30], 0x4200
mov rdx, qword [r13 + 0x20]
xor r8d, r8d
mov qword [rsi], rax
mov rcx, qword [rsp + 0x48]
mov word [rsi + 0x34], 0xffff
mov word [rsi + 0x3a], 0xc8
call sym.sqlite3SelectDup
mov qword [rbx + 0x28], rax
mov rbp, rax
mov rax, qword [rsp + 0x48]
cmp byte [rax + 0x67], 0
jne 0x14020efcc
or dword [rbp + 4], 0x4000000
test byte [rbx + 0x40], 2
je 0x14020e7d3
mov r8, qword [rbx + 0x58]
lea rdx, str.no_such_index:___s_
jmp 0x14020ec87
or byte [rbx + 0x41], 1
or r8d, 0xffffffff
mov qword [rbx + 0x60], r12
inc dword [r12]
mov r10b, byte [rbp]
mov r12, rbp
lea eax, [r10 + 0x7a]
mov byte [rsp + 0x60], al
cmp byte [rsp + 0x60], 1
jbe 0x14020e84b
movsxd rax, dword [rsp + 0x50]
lea rcx, str.circular_reference:__s
mov r13, qword [r15 + 0x198]
imul rax, rax, 0x30
mov qword [rdi + rax + 0x28], rcx
mov qword [r15 + 0x198], rdi
test byte [rbp + 5], 0x20
je 0x14020e929
mov rax, qword [rbp + 0x68]
mov rcx, qword [rsp + 0x150]
mov rdx, r12
mov qword [r12 + 0x68], rax
call sym.sqlite3WalkSelect
xor ecx, ecx
mov qword [r12 + 0x68], rcx
jmp 0x14020e939
cmp r10b, byte [r12]
jne 0x14020e7f9
mov r9, qword [r12 + 0x28]
mov eax, dword [r9]
lea r11, [r9 + 0x10]
mov dword [rsp + 0x68], eax
xor eax, eax
mov dword [rsp + 0x48], eax
mov ecx, dword [rsp + 0x68]
cmp dword [rsp + 0x48], ecx
jge 0x14020e913
cmp qword [r11], 0
jne 0x14020e906
mov rcx, qword [r11 + 8]
test rcx, rcx
je 0x14020e906
mov rdx, qword [r13 + 0x10]
mov dword [rsp + 0x80], r8d
mov qword [rsp + 0x78], r9
mov byte [rsp + 0x70], r10b
call sym.sqlite3StrICmp
mov r10b, byte [rsp + 0x70]
mov r9, qword [rsp + 0x78]
test eax, eax
mov r8d, dword [rsp + 0x80]
jne 0x14020e906
movsxd rax, dword [rsp + 0x48]
mov qword [r11 + 0x18], rsi
inc dword [rsi + 0x2c]
imul rax, rax, 0x68
or byte [r9 + rax + 0x48], 0x40
mov eax, dword [r12 + 4]
bt eax, 0xd
jae 0x14020e8e9
mov r8, rdx
lea rdx, str.multiple_references_to_recursive_table:__s
jmp 0x14020ec87
or ah, 0x20
mov dword [r12 + 4], eax
test r8d, r8d
jns 0x14020e902
mov r8d, dword [r15 + 0x34]
lea eax, [r8 + 1]
mov dword [r15 + 0x34], eax
mov dword [r11 + 0x3c], r8d
inc dword [rsp + 0x48]
add r11, 0x68
jmp 0x14020e867
test byte [r12 + 5], 0x20
je 0x14020e7f9
mov r12, qword [r12 + 0x50]
jmp 0x14020e7f2
mov rcx, qword [rsp + 0x150]
mov rdx, rbp
call sym.sqlite3WalkSelect
test eax, eax
jne 0x14020e992
mov qword [r15 + 0x198], rdi
mov rax, rbp
mov rdx, rax
mov rax, qword [rax + 0x50]
test rax, rax
jne 0x14020e947
mov rax, qword [rdx + 0x20]
movsxd rdx, dword [rsp + 0x50]
imul rdx, rdx, 0x30
add rdx, rdi
mov rcx, qword [rdx + 0x18]
test rcx, rcx
je 0x14020e99e
test rax, rax
je 0x14020e9a1
mov r9d, dword [rax]
mov eax, dword [rcx]
cmp r9d, eax
je 0x14020e9a1
mov dword [rsp + 0x20], eax
mov r8, qword [rdx + 0x10]
mov rcx, r15
lea rdx, str.table__s_has__d_values_for__d_columns
call sym.sqlite3ErrorMsg
mov qword [r15 + 0x198], r13
jmp 0x14020efcc
mov rcx, rax
lea r9, [rsi + 8]
lea r8, [rsi + 0x36]
mov rdx, rcx
mov rcx, r15
call sym.sqlite3ColumnsFromExprList.isra.0
cmp byte [rsp + 0x60], 1
movsxd rsi, dword [rsp + 0x50]
ja 0x14020e9ef
test byte [rbp + 5], 0x20
lea rdx, str.multiple_recursive_references:__s
lea rax, str.recursive_reference_in_a_subquery:__s
mov rcx, qword [rsp + 0x150]
cmovne rax, rdx
imul rdx, rsi, 0x30
mov qword [rdi + rdx + 0x28], rax
mov rdx, rbp
call sym.sqlite3WalkSelect
imul rax, rsi, 0x30
xor edx, edx
mov qword [rdi + rax + 0x28], rdx
mov qword [r15 + 0x198], r13
jmp 0x14020eb53
mov r8, rbx
xor edx, edx
mov rcx, r15
call sym.sqlite3LocateTableItem
mov qword [rbx + 0x20], rax
mov rdi, rax
test rax, rax
je 0x14020efcc
mov eax, dword [rax + 0x2c]
cmp eax, 0xfffe
jbe 0x14020ea4a
mov r8, qword [rdi]
lea rdx, str.too_many_references_to___s_:_max_65535
mov rcx, r15
call sym.sqlite3ErrorMsg
xor eax, eax
mov qword [rbx + 0x20], rax
jmp 0x14020efcc
inc eax
mov dword [rdi + 0x2c], eax
mov al, byte [rdi + 0x3f]
cmp al, 1
je 0x14020ea74
test byte [rbx + 0x40], 4
je 0x14020ea6c
mov r8, qword [rbx + 0x10]
lea rdx, str._s_is_not_a_function
jmp 0x14020ec87
test al, al
je 0x14020eb53
mov rax, qword [rsp + 0x150]
mov rdx, rdi
mov rcx, r15
mov esi, dword [rax + 0x24]
call sym.sqlite3ViewGetColumnNames
test eax, eax
jne 0x14020efcc
mov al, byte [rdi + 0x3f]
cmp al, 2
jne 0x14020eadb
mov rax, qword [rsp + 0x40]
test byte [rax + 0x33], 0x80
jne 0x14020eac4
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 0x38]
cmp qword [rdi + 0x60], rax
je 0x14020eac4
mov r8, qword [rdi]
lea rdx, str.access_to_view___s__prohibited
mov rcx, r15
call sym.sqlite3ErrorMsg
mov rdx, qword [rdi + 0x40]
mov rcx, qword [rsp + 0x40]
xor r8d, r8d
call sym.sqlite3SelectDup
mov qword [rbx + 0x28], rax
jmp 0x14020eb1a
dec al
jne 0x14020eb1a
cmp byte [rbx + 0x40], 0
jns 0x14020eb1a
mov rdx, qword [rdi + 0x50]
test rdx, rdx
je 0x14020eb1a
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x48], rax
mov al, byte [rsp + 0x48]
shr al, 7
cmp al, byte [rdx + 0x1e]
jae 0x14020eb1a
mov r8, qword [rdi]
lea rdx, str.unsafe_use_of_virtual_table___s_
mov rcx, r15
call sym.sqlite3ErrorMsg
mov bp, word [rdi + 0x36]
mov word [rdi + 0x36], 0xffff
and si, 0xff
mov rax, qword [rsp + 0x150]
mov rdx, qword [rbx + 0x28]
mov word [rax + 0x24], 1
mov rcx, rax
call sym.sqlite3WalkSelect
mov rax, qword [rsp + 0x150]
mov word [rax + 0x24], si
mov word [rdi + 0x36], bp
test byte [rbx + 0x40], 2
je 0x14020e57b
mov rdx, rbx
mov rcx, r15
call sym.sqlite3IndexedByLookup
test eax, eax
je 0x14020e57b
jmp 0x14020efcc
mov eax, dword [r15 + 0x30]
mov dword [rsp + 0xa4], eax
test eax, eax
jne 0x14020efcc
xor eax, eax
mov rbp, qword [r14 + 0x28]
mov dword [rsp + 0x48], eax
lea rax, [rsp + 0xe8]
mov qword [rsp + 0xa8], rax
lea rbx, [rbp + 0x70]
jmp 0x14020ebe3
test r12, r12
je 0x14020ebdb
mov edx, dword [rbx + 0x44]
mov r8d, dword [rsp + 0x78]
mov rcx, r12
call sym.sqlite3SetJoinExpr
mov rdx, qword [r14 + 0x30]
mov r8, r12
mov rcx, r15
xor r12d, r12d
call sym.sqlite3ExprAnd
mov qword [r14 + 0x30], rax
or byte [rbx + 0x41], 8
mov qword [rbx + 0x48], r12
inc dword [rsp + 0x48]
add rbx, 0x68
mov eax, dword [rbp]
dec eax
cmp dword [rsp + 0x48], eax
jge 0x14020efdc
mov rax, qword [rbx + 0x20]
cmp qword [rbx - 0x48], 0
mov qword [rsp + 0x60], rax
je 0x14020ebdb
test rax, rax
je 0x14020ebdb
mov al, byte [rbx + 0x3c]
mov edx, eax
and edx, 0x20
neg dl
mov dl, byte [rbx + 0x41]
sbb edi, edi
mov dword [rsp + 0x78], edi
add dword [rsp + 0x78], 2
test al, 4
jne 0x14020ec94
mov r12, qword [rbx + 0x48]
test byte [rbx + 0x41], 4
je 0x14020eba8
mov rax, qword [r15]
xor esi, esi
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0xe4]
mov qword [rsp + 0x88], rax
cmp dword [r12], esi
jle 0x14020ebdb
mov rax, rsi
mov rcx, qword [rsp + 0x60]
shl rax, 4
mov rax, qword [r12 + rax + 8]
mov rdx, rax
mov qword [rsp + 0x50], rax
call sym.sqlite3ColumnIndex
mov dword [rsp + 0x70], eax
test eax, eax
jns 0x14020ed5f
mov r8, qword [rsp + 0x50]
lea rdx, str.cannot_join_using_column__s___column_not_present_in_both_tables
mov rcx, r15
call sym.sqlite3ErrorMsg
jmp 0x14020efcc
and dl, 4
jne 0x14020eca2
mov r12, qword [rbx + 0x48]
test r12, r12
je 0x14020ecb9
xor r8d, r8d
lea rdx, str.a_NATURAL_join_may_not_have_an_ON_or_USING_clause
mov rcx, r15
call sym.sqlite3ErrorMsg
jmp 0x14020efcc
xor edi, edi
mov rax, qword [rsp + 0x60]
movsx eax, word [rax + 0x36]
cmp eax, edi
jle 0x14020ed42
mov rsi, qword [rsp + 0x60]
imul rax, rdi, 0x18
add rax, qword [rsi + 8]
test byte [rax + 0x12], 2
jne 0x14020ed3a
mov r13, qword [rax]
xor eax, eax
mov dword [rsp + 0x30], 1
xor edx, edx
mov qword [rsp + 0x28], rax
mov r8d, dword [rsp + 0x48]
mov rcx, rbp
mov qword [rsp + 0x20], rax
mov r9, r13
call sym.tableAndColumnIndex
test eax, eax
je 0x14020ed3a
mov rdx, r12
xor r8d, r8d
mov rcx, r15
call sym.sqlite3IdListAppend
mov r12, rax
test rax, rax
je 0x14020ed3a
mov eax, dword [rax]
mov rcx, qword [r15]
mov rdx, r13
lea esi, [rax - 1]
call sym.sqlite3DbStrDup
movsxd rsi, esi
shl rsi, 4
mov qword [r12 + rsi + 8], rax
inc rdi
jmp 0x14020ecbb
test r12, r12
je 0x14020ed4f
or byte [rbx + 0x41], 0x14
mov qword [rbx + 0x48], r12
cmp dword [r15 + 0x30], 0
je 0x14020ec23
jmp 0x14020efcc
mov al, byte [rbx + 0x41]
mov r9, qword [rsp + 0x50]
xor edx, edx
mov rcx, rbp
mov r8d, dword [rsp + 0x48]
shr al, 4
and eax, 1
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x20], rax
call sym.tableAndColumnIndex
test eax, eax
je 0x14020ec7b
mov edi, dword [rsp + 0xe8]
mov r13d, dword [rsp + 0xe4]
mov rdx, rbp
mov rcx, qword [rsp + 0x68]
mov r8d, r13d
mov r9d, edi
call sym.sqlite3CreateColumnExpr
movsxd r8, r13d
mov edx, edi
imul r8, r8, 0x68
mov qword [rsp + 0x58], rax
lea rcx, [rbp + r8 + 8]
call sym.sqlite3SrcItemColumnUsed
test byte [rbp + 0x44], 0x40
je 0x14020eefc
xor edi, edi
mov eax, dword [rsp + 0xe4]
mov r9, qword [rsp + 0x50]
mov rcx, rbp
mov r8d, dword [rsp + 0x48]
lea edx, [rax + 1]
mov al, byte [rbx + 0x41]
shr al, 4
and eax, 1
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x20], rax
call sym.tableAndColumnIndex
test eax, eax
je 0x14020eecd
movsxd r13, dword [rsp + 0xe4]
mov dword [rsp + 0x80], r13d
imul r13, r13, 0x68
lea rax, [rbp + r13]
test byte [rax + 0x49], 4
je 0x14020ee64
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rax + 0x50]
call sym.sqlite3IdListIndex
test eax, eax
jns 0x14020ee7a
mov r8, qword [rsp + 0x50]
lea rdx, str.ambiguous_reference_to__s_in_USING__
mov rcx, r15
call sym.sqlite3ErrorMsg
jmp 0x14020eecd
mov r8, qword [rsp + 0x58]
mov rdx, rdi
mov rcx, r15
call sym.sqlite3ExprListAppend
mov r9d, dword [rsp + 0xe8]
mov rcx, qword [rsp + 0x68]
mov rdx, rbp
mov r8d, dword [rsp + 0x80]
mov rdi, rax
mov dword [rsp + 0xb0], r9d
call sym.sqlite3CreateColumnExpr
mov edx, dword [rsp + 0xb0]
lea rcx, [rbp + r13 + 8]
mov qword [rsp + 0x58], rax
call sym.sqlite3SrcItemColumnUsed
jmp 0x14020ede8
test rdi, rdi
je 0x14020eefc
mov r8, qword [rsp + 0x58]
mov rdx, rdi
mov rcx, r15
call sym.sqlite3ExprListAppend
xor r9d, r9d
lea r8, str.coalesce
mov rcx, r15
mov rdx, rax
call sym.sqlite3ExprFunction
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x48]
mov r9d, dword [rsp + 0x70]
mov rdx, rbp
mov rcx, qword [rsp + 0x68]
lea r8d, [rax + 1]
call sym.sqlite3CreateColumnExpr
mov edx, dword [rsp + 0x70]
mov rcx, rbx
mov rdi, rax
call sym.sqlite3SrcItemColumnUsed
mov r8, qword [rsp + 0x58]
mov r9, rdi
mov rcx, r15
mov edx, 0x35
call sym.sqlite3PExpr
mov r8, rax
test rax, rax
je 0x14020ef51
mov eax, dword [rsp + 0x78]
or dword [r8 + 4], eax
mov eax, dword [rdi + 0x2c]
mov dword [r8 + 0x34], eax
mov rdx, qword [r14 + 0x30]
mov rcx, r15
inc rsi
call sym.sqlite3ExprAnd
mov qword [r14 + 0x30], rax
jmp 0x14020ec4b
mov rbx, qword [rsp + 0x98]
mov rdx, rax
shl rdx, 5
mov rdx, qword [rbx + rdx + 8]
mov r8b, byte [rdx]
cmp r8b, 0xb4
je 0x14020eff4
cmp r8b, 0x8d
je 0x14020efea
mov edi, dword [rdx + 4]
or dword [rsp + 0xb8], edi
inc rax
cmp ecx, eax
jg 0x14020ef69
mov rax, qword [r14 + 0x20]
test rax, rax
je 0x14020f79d
mov rbx, qword [rsp + 0x40]
mov ebx, dword [rbx + 0x90]
cmp dword [rax], ebx
jle 0x14020f788
lea rdx, str.too_many_columns_in_result_set
mov rcx, r15
call sym.sqlite3ErrorMsg
mov dword [rsp + 0xa4], 2
jmp 0x14020f79d
mov rax, qword [rsp + 0x98]
mov ecx, dword [rax]
xor eax, eax
jmp 0x14020ef99
mov r8, qword [rdx + 0x18]
cmp byte [r8], 0xb4
jne 0x14020ef8c
cmp ecx, eax
jle 0x14020ef9d
mov rax, qword [r15]
xor ebp, ebp
xor ebx, ebx
mov dword [rsp + 0xbc], ebp
mov rax, qword [rax + 0x30]
and eax, 0x44
mov dword [rsp + 0xcc], eax
mov rax, qword [rsp + 0x98]
add rax, 8
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0xa0]
shr eax, 0xb
and eax, 1
mov dword [rsp + 0xd4], eax
mov rax, qword [rsp + 0x98]
mov edi, dword [rsp + 0xbc]
cmp dword [rax], edi
jle 0x14020f772
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
mov edi, dword [rax + 4]
mov qword [rsp + 0x50], rax
or dword [rsp + 0xb8], edi
mov rdi, qword [rsp + 0x50]
mov rax, qword [rax + 0x18]
mov dl, byte [rdi]
cmp dl, 0xb4
je 0x14020f105
cmp dl, 0x8d
jne 0x14020f085
cmp byte [rax], 0xb4
je 0x14020f0e7
mov r8, qword [rsp + 0x50]
mov rdx, rbx
mov rcx, r15
call sym.sqlite3ExprListAppend
mov rbx, rax
test rax, rax
je 0x14020f0d8
mov eax, dword [rax]
mov rsi, qword [rsp + 0x70]
xor edi, edi
dec eax
mov rdx, qword [rsi + 8]
cdqe
shl rax, 5
add rax, rbx
mov qword [rax + 0x10], rdx
lea rcx, [rax + 0x10]
mov al, byte [rsi + 0x14]
mov edx, eax
mov byte [rsp + 0x48], al
mov al, byte [rcx + 0xc]
and edx, 3
and eax, 0xfffffffc
or eax, edx
mov byte [rcx + 0xc], al
mov qword [rsi + 8], rdi
mov rax, qword [rsp + 0x70]
xor esi, esi
mov qword [rax], rsi
jmp 0x14020f760
mov rdi, qword [rsp + 0x50]
mov eax, dword [rax + 0x34]
mov rdx, qword [rdi + 0x10]
mov dword [rsp + 0xa8], eax
mov rsi, qword [rdx + 8]
mov qword [rsp + 0x48], rsi
jmp 0x14020f11c
mov rax, qword [rsp + 0x50]
xor r11d, r11d
mov qword [rsp + 0x48], r11
mov eax, dword [rax + 0x34]
mov dword [rsp + 0xa8], eax
xor r10d, r10d
mov rdi, qword [rsp + 0xc0]
xor r13d, r13d
mov dword [rsp + 0x78], r10d
mov rax, qword [rsp + 0x90]
mov r11d, dword [rax]
mov eax, dword [rsp + 0x78]
cmp r11d, eax
jle 0x14020f72e
mov rax, qword [rdi + 0x18]
mov rbp, qword [rdi + 0x20]
mov qword [rsp + 0x68], rax
test rax, rax
jne 0x14020f162
mov rax, qword [rbp]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0x67], 0
jne 0x14020f72e
test byte [rdi + 0x41], 0x20
je 0x14020f191
mov rax, qword [rdi + 0x28]
xor r9d, r9d
mov qword [rsp + 0x80], r9
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x60], rax
jmp 0x14020f1f3
cmp qword [rsp + 0x48], 0
je 0x14020f1b0
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x48]
call sym.sqlite3StrICmp
test eax, eax
jne 0x14020f721
mov rdx, qword [rbp + 0x60]
mov rcx, qword [rsp + 0x40]
lea rsi, [0x14035969f]
call sym.sqlite3SchemaToIndex
xor r8d, r8d
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x60], r8
test eax, eax
js 0x14020f1f3
mov rsi, qword [rsp + 0x40]
cdqe
shl rax, 5
add rax, qword [rsi + 0x20]
mov rax, qword [rax]
mov qword [rsp + 0x80], rax
mov eax, dword [rsp + 0x78]
xor ecx, ecx
mov qword [rsp + 0x88], rcx
inc eax
cmp r11d, eax
jle 0x14020f2d8
test byte [rdi + 0xa9], 4
je 0x14020f2d8
bt dword [rsp + 0xa0], 0xb
jae 0x14020f2d8
mov rax, qword [rdi + 0xb0]
xor r12d, r12d
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
cmp dword [rax], r12d
jle 0x14020f2d8
mov rsi, qword [rsp + 0x88]
mov rax, r12
mov rcx, qword [rsp + 0x40]
mov edx, 0x3b
shl rax, 4
mov rax, qword [rsi + rax + 8]
mov r8, rax
mov qword [rsp + 0x58], rax
call sym.sqlite3Expr
mov edx, dword [rsp + 0xa8]
mov rcx, rax
mov r8, rax
call sym.sqlite3ExprSetErrorOffset
mov rdx, rbx
mov rcx, r15
call sym.sqlite3ExprListAppend
mov rbx, rax
test rax, rax
je 0x14020f2d0
mov eax, dword [rax]
mov r8, qword [rsp + 0x58]
lea rdx, str..._s
mov rcx, qword [rsp + 0x40]
lea esi, [rax - 1]
call sym.sqlite3MPrintf
movsxd rsi, esi
shl rsi, 5
add rsi, rbx
mov qword [rsi + 0x10], rax
mov al, byte [rsi + 0x1c]
and eax, 0x7c
or eax, 0xffffff82
mov byte [rsi + 0x1c], al
inc r12
jmp 0x14020f23a
movsx edx, word [rbp + 0x36]
xor eax, eax
test byte [rbp + 0x31], 2
cmove eax, dword [rsp + 0xd4]
add eax, edx
xor edx, edx
mov dword [rsp + 0xd0], eax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x58], rdx
add rax, 8
mov qword [rsp + 0xb0], rax
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0xc8], eax
cmp dword [rsp + 0xd0], eax
jle 0x14020f721
movsx r12d, word [rbp + 0x36]
mov eax, dword [rsp + 0x58]
cmp r12d, eax
jne 0x14020f3bf
lea rax, str._ROWID_
xor r11d, r11d
mov qword [rsp + 0xe8], rax
lea rax, str.ROWID
mov qword [rsp + 0xf0], rax
lea rax, [0x140358fc4]
mov qword [rsp + 0xf8], rax
xor esi, esi
cmp r12d, esi
jle 0x14020f393
imul rax, rsi, 0x18
add rax, qword [rbp + 8]
mov rcx, qword [rsp + r11*8 + 0xe8]
mov rdx, qword [rax]
call sym.sqlite3_stricmp
mov edx, eax
lea rax, [rsi + 1]
test edx, edx
je 0x14020f393
mov rsi, rax
jmp 0x14020f367
cmp r12d, esi
jne 0x14020f3b1
movsxd r11, r11d
mov r12, qword [rsp + r11*8 + 0xe8]
test r12, r12
jne 0x14020f450
jmp 0x14020f708
inc r11
cmp r11, 3
jne 0x14020f365
jmp 0x14020f708
imul rsi, qword [rsp + 0x58], 0x18
add rsi, qword [rbp + 8]
cmp qword [rsp + 0x60], 0
mov r12, qword [rsi]
jne 0x14020f3e1
mov ax, word [rsi + 0x12]
test byte [r14 + 6], 2
je 0x14020f42c
jmp 0x14020f434
movsxd rax, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
shl rax, 5
mov al, byte [rcx + rax + 0x1c]
not eax
test al, 3
je 0x14020f708
cmp qword [rsp + 0x48], 0
je 0x14020f3d4
xor eax, eax
mov r8, qword [rsp + 0x48]
xor r9d, r9d
xor edx, edx
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0xb0]
call sym.sqlite3MatchEName
test eax, eax
jne 0x14020f3d4
jmp 0x14020f708
test al, 2
jne 0x14020f708
test ah, 4
je 0x14020f450
cmp qword [rsp + 0x48], 0
jne 0x14020f450
bt dword [rsp + 0xa0], 0xb
jae 0x14020f708
cmp dword [rsp + 0x78], 0
jle 0x14020f484
cmp qword [rsp + 0x48], 0
jne 0x14020f484
bt dword [rsp + 0xa0], 0xb
jb 0x14020f484
test byte [rdi + 0x41], 4
je 0x14020f484
mov rcx, qword [rdi + 0x48]
mov rdx, r12
call sym.sqlite3IdListIndex
test eax, eax
jns 0x14020f702
mov rcx, qword [rsp + 0x40]
mov r8, r12
mov edx, 0x3b
call sym.sqlite3Expr
mov rsi, rax
mov rax, qword [rsp + 0x90]
mov r13d, dword [rax]
cmp r13d, 1
jle 0x14020f500
test byte [rdi + 0x3c], 0x40
je 0x14020f50e
bt dword [rsp + 0xa0], 0xb
jb 0x14020f50e
mov eax, dword [rsp + 0x78]
mov r8, rdi
sub r13d, eax
dec r13d
test r13d, r13d
jle 0x14020f50e
add r8, 0x68
dec r13d
test byte [r8 + 0x41], 4
je 0x14020f4c8
mov rcx, qword [r8 + 0x48]
test rcx, rcx
je 0x14020f4c8
mov rdx, r12
mov qword [rsp + 0xd8], r8
call sym.sqlite3IdListIndex
mov r8, qword [rsp + 0xd8]
test eax, eax
js 0x14020f4c8
cmp byte [r15 + 0x134], 1
jbe 0x14020f59a
mov r8, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x40]
mov edx, 0x3b
call sym.sqlite3Expr
mov r9, rsi
mov edx, 0x8d
mov rcx, r15
mov r8, rax
mov r13, rax
call sym.sqlite3PExpr
cmp byte [r15 + 0x134], 1
mov rsi, rax
jbe 0x14020f562
mov rax, qword [rsp + 0x50]
mov r8, qword [rax + 0x10]
test r8, r8
je 0x14020f562
mov rcx, qword [r15 + 0x1a0]
mov rdx, r13
call sym.sqlite3RenameTokenRemap.isra.0
cmp qword [rsp + 0x80], 0
je 0x14020f59a
mov r8, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x40]
mov edx, 0x3b
call sym.sqlite3Expr
mov r9, rsi
mov edx, 0x8d
mov rcx, r15
mov r8, rax
call sym.sqlite3PExpr
mov rsi, rax
mov edx, dword [rsp + 0xa8]
mov rcx, rsi
mov r8, rsi
call sym.sqlite3ExprSetErrorOffset
mov rdx, rbx
mov rcx, r15
call sym.sqlite3ExprListAppend
mov rbx, rax
test rax, rax
je 0x14020f71b
bt dword [rsp + 0xa0], 0xb
mov eax, dword [rax]
lea esi, [rax - 1]
jae 0x14020f6bc
cmp byte [r15 + 0x134], 1
ja 0x14020f6bc
cmp qword [rsp + 0x60], 0
je 0x14020f605
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rax + 8]
call sym.sqlite3DbStrDup
jmp 0x14020f628
mov r9, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x20], r12
lea rdx, str._s._s._s
mov r8, qword [rsp + 0x80]
call sym.sqlite3MPrintf
movsxd rdx, esi
movsx r13d, word [rbp + 0x36]
shl rdx, 5
add rdx, rbx
mov qword [rdx + 0x10], rax
mov eax, dword [rsp + 0xc8]
lea rcx, [rdx + 0x10]
cmp r13d, eax
mov al, byte [rcx + 0xc]
sete dl
add edx, 2
and eax, 0xfffffffc
and edx, 3
or eax, edx
mov byte [rcx + 0xc], al
test byte [rdi + 0x41], 4
je 0x14020f673
mov rcx, qword [rdi + 0x48]
mov rdx, r12
call sym.sqlite3IdListIndex
test eax, eax
jns 0x14020f6ae
cmp qword [rsp + 0x88], 0
je 0x14020f692
mov rcx, qword [rsp + 0x88]
mov rdx, r12
call sym.sqlite3IdListIndex
test eax, eax
jns 0x14020f6ae
mov eax, dword [rsp + 0xc8]
cmp r13d, eax
jle 0x14020f702
imul rax, qword [rsp + 0x58], 0x18
add rax, qword [rbp + 8]
test byte [rax + 0x13], 4
je 0x14020f702
movsxd rsi, esi
shl rsi, 5
or byte [rbx + rsi + 0x1d], 1
jmp 0x14020f702
cmp dword [rsp + 0xcc], 4
movsxd rsi, esi
jne 0x14020f6f3
mov r8, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x40]
mov r9, r12
lea rdx, str._s._s
call sym.sqlite3MPrintf
shl rsi, 5
add rsi, rbx
and byte [rsi + 0x1c], 0xfc
mov qword [rsi + 0x10], rax
jmp 0x14020f702
mov rcx, qword [rsp + 0x40]
mov rdx, r12
call sym.sqlite3DbStrDup
jmp 0x14020f6e2
mov r13d, 1
inc qword [rsp + 0x58]
add qword [rsp + 0xb0], 0x20
jmp 0x14020f30b
mov r13d, 1
inc dword [rsp + 0x78]
add rdi, 0x68
jmp 0x14020f12f
test r13d, r13d
jne 0x14020f760
cmp qword [rsp + 0x48], 0
je 0x14020f751
mov r8, qword [rsp + 0x48]
lea rdx, str.no_such_table:__s
mov rcx, r15
call sym.sqlite3ErrorMsg
jmp 0x14020f760
lea rdx, str.no_tables_specified
mov rcx, r15
call sym.sqlite3ErrorMsg
inc dword [rsp + 0xbc]
add qword [rsp + 0x70], 0x20
jmp 0x14020f039
mov rcx, qword [rsp + 0x40]
mov rdx, rax
call sym.sqlite3ExprListDelete
mov qword [r14 + 0x20], rbx
jmp 0x14020ef9d
test dword [rsp + 0xb8], 0x400008
je 0x14020f79d
or dword [r14 + 4], 0x40000
mov eax, dword [rsp + 0xa4]
add rsp, 0x108
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret