Function at 0x493d34
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, 0xe8
mov r15, qword [rcx]
mov qword [rsp + 0x138], rdx
mov rax, qword [r15]
mov edx, dword [rdx + 4]
mov qword [rsp + 0x130], rcx
mov rsi, qword [rsp + 0x138]
mov qword [rsp + 0x40], rax
mov eax, edx
or eax, 0x40
mov dword [rsi + 4], eax
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0x67], 0
jne 0x494a54
movzx eax, dx
mov edi, 1
mov dword [rsp + 0x98], eax
and eax, 0x40
mov dword [rsp + 0x50], eax
jne 0x495022
mov rax, qword [rsp + 0x130]
cmp word [rax + 0x24], 0
je 0x493dca
mov eax, dword [r15 + 0x8c]
mov rsi, qword [rsp + 0x138]
inc eax
mov dword [r15 + 0x8c], eax
mov dword [rsi + 0x10], eax
mov rax, qword [rsp + 0x138]
cmp qword [r15 + 0x198], 0
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x138]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x90], rax
je 0x493e4b
bt edx, 0x15
jae 0x493e4b
mov rax, qword [rsp + 0x138]
cmp qword [rax + 0x68], 0
je 0x493e26
mov rax, qword [rsp + 0x138]
mov rax, qword [rax + 0x68]
mov dword [rax + 4], 1
jmp 0x493e4b
mov rcx, qword [rsp + 0x40]
mov edx, 0x40
call sym.sqlite3DbMallocZero
mov rsi, qword [rsp + 0x138]
test rax, rax
mov qword [rsi + 0x68], rax
jne 0x493e11
jmp 0x494a54
mov rax, qword [rsp + 0x138]
xor r8d, r8d
mov rcx, r15
mov rdx, qword [rax + 0x68]
call sym.sqlite3WithPush
mov rdx, qword [rsp + 0x88]
mov rcx, r15
call sym.sqlite3SrcListAssignCursors
mov rax, qword [rsp + 0x88]
add rax, 8
mov qword [rsp + 0xb8], rax
mov rbx, rax
mov rax, qword [rsp + 0x88]
mov esi, dword [rsp + 0x50]
cmp dword [rax], esi
jle 0x4944c4
cmp qword [rbx + 0x20], 0
je 0x493eae
inc dword [rsp + 0x50]
add rbx, 0x68
jmp 0x493e89
mov r12, qword [rbx + 0x10]
test r12, r12
jne 0x493f66
mov rdx, qword [rbx + 0x28]
mov rcx, qword [rsp + 0x130]
call sym.sqlite3WalkSelect
test eax, eax
jne 0x494a54
mov rcx, qword [r15]
mov edx, 0x68
mov rsi, qword [rbx + 0x28]
call sym.sqlite3DbMallocZero
test rax, rax
mov rdi, rax
mov qword [rbx + 0x20], rax
je 0x494a54
mov rdx, qword [rbx + 0x18]
mov dword [rax + 0x2c], 1
mov rcx, qword [r15]
test rdx, rdx
je 0x493f0f
call sym.sqlite3DbStrDup
jmp 0x493f1e
lea rdx, [0x004e345c]
mov r8, rbx
call sym.sqlite3MPrintf
mov qword [rdi], rax
mov rax, qword [rsi + 0x50]
test rax, rax
je 0x493f2f
mov rsi, rax
jmp 0x493f21
mov rdx, qword [rsi + 0x20]
lea r9, [rdi + 8]
mov rcx, r15
lea r8, [rdi + 0x36]
call sym.sqlite3ColumnsFromExprList
mov word [rdi + 0x34], 0xffff
or dword [rdi + 0x30], 0x4200
mov word [rdi + 0x3a], 0xc8
cmp dword [r15 + 0x30], 0
je 0x4944a2
jmp 0x494a54
mov rsi, qword [r15 + 0x198]
test rsi, rsi
je 0x49435a
cmp dword [r15 + 0x30], 0
jne 0x49435a
cmp qword [rbx + 8], 0
jne 0x49435a
test byte [rbx + 0x41], 2
jne 0x49435a
mov r11d, dword [rsi]
xor edi, edi
cmp r11d, edi
mov dword [rsp + 0x48], edi
jle 0x493fe0
imul rax, rdi, 0x30
mov rcx, r12
inc rdi
mov r8, qword [rsi + rax + 0x10]
mov rdx, r8
mov qword [rsp + 0x58], r8
call sym.sqlite3StrICmp
mov r8, qword [rsp + 0x58]
test eax, eax
jne 0x493f9b
movsxd rbp, dword [rsp + 0x48]
imul rbp, rbp, 0x30
add rbp, rsi
mov rdx, qword [rbp + 0x28]
test rdx, rdx
je 0x493ff8
jmp 0x494008
cmp dword [rsi + 4], 0
jne 0x49435a
mov rsi, qword [rsi + 8]
test rsi, rsi
jne 0x493f96
jmp 0x49435a
test byte [rbx + 0x40], 4
je 0x494015
mov r8, r12
lea rdx, str._s_is_not_a_function
mov rcx, r15
call sym.sqlite3ErrorMsg
jmp 0x494a54
mov r12, qword [r15]
mov edx, 0x68
mov rcx, r12
call sym.sqlite3DbMallocZero
test rax, rax
mov rdi, rax
je 0x494a54
mov r14, qword [rbp + 0x30]
test r14, r14
jne 0x494081
mov edx, 0x14
mov rcx, r12
call sym.sqlite3DbMallocZero
test rax, rax
mov r14, rax
mov qword [rbp + 0x30], rax
jne 0x494063
mov rdx, rdi
mov rcx, r12
call sym.sqlite3DbFree
jmp 0x494a54
lea rdx, [sym.sqlite3DbFree]
mov r8, rax
mov rcx, r15
call sym.sqlite3ParserAddCleanup
test rax, rax
je 0x494053
mov al, byte [rbp + 0x38]
mov byte [r14 + 0x12], al
movsxd r13, dword [rsp + 0x48]
mov qword [rbx + 0x20], rdi
mov rcx, r12
mov dword [rdi + 0x2c], 1
imul r13, r13, 0x30
add r13, rsi
mov rdx, qword [r13 + 0x10]
call sym.sqlite3DbStrDup
mov rdx, qword [r13 + 0x20]
xor r8d, r8d
mov rcx, r12
or dword [rdi + 0x30], 0x4200
mov qword [rdi], rax
mov word [rdi + 0x34], 0xffff
mov word [rdi + 0x3a], 0xc8
call sym.sqlite3SelectDup
mov qword [rbx + 0x28], rax
cmp byte [r12 + 0x67], 0
mov rbp, rax
jne 0x494a54
or dword [rax + 4], 0x4000000
test byte [rbx + 0x40], 2
je 0x4940f9
mov r8, qword [rbx + 0x58]
lea rdx, str.no_such_index:___s_
jmp 0x494008
or byte [rbx + 0x41], 1
mov qword [rbx + 0x60], r14
mov r12, rbp
inc dword [r14]
mov qword [rsp + 0x80], r13
or r14d, 0xffffffff
mov r10b, byte [rax]
lea eax, [r10 + 0x7a]
mov byte [rsp + 0x60], al
cmp byte [rsp + 0x60], 1
jbe 0x494179
movsxd rax, dword [rsp + 0x48]
lea rcx, str.circular_reference:__s
mov r13, qword [r15 + 0x198]
imul rax, rax, 0x30
test byte [rbp + 5], 0x20
mov qword [rsi + rax + 0x28], rcx
mov qword [r15 + 0x198], rsi
je 0x49427c
mov rax, qword [rbp + 0x68]
mov rdx, r12
mov rcx, qword [rsp + 0x130]
mov qword [r12 + 0x68], rax
call sym.sqlite3WalkSelect
mov qword [r12 + 0x68], 0
jmp 0x49428c
cmp r10b, byte [r12]
jne 0x494125
mov r11, qword [r12 + 0x28]
xor r13d, r13d
mov eax, dword [r11]
mov dword [rsp + 0x78], eax
mov eax, dword [r12 + 4]
mov dword [rsp + 0x70], r13d
mov dword [rsp + 0x58], eax
and eax, 0x2000
cmp dword [rsp + 0x78], r13d
mov dword [rsp + 0x68], eax
jle 0x49426a
imul r9, r13, 0x68
cmp qword [r11 + r9 + 0x10], 0
jne 0x494262
mov rcx, qword [r11 + r9 + 0x18]
mov qword [rsp + 0xb0], r9
test rcx, rcx
je 0x494262
mov rax, qword [rsp + 0x80]
mov byte [rsp + 0xac], r10b
mov r8, qword [rax + 0x10]
mov rdx, r8
mov qword [rsp + 0xa0], r8
call sym.sqlite3StrICmp
mov r10b, byte [rsp + 0xac]
test eax, eax
jne 0x494262
movsxd rax, dword [rsp + 0x70]
mov r9, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xa0]
imul rax, rax, 0x68
mov qword [r11 + r9 + 0x28], rdi
inc dword [rdi + 0x2c]
or byte [r11 + rax + 0x48], 0x40
cmp dword [rsp + 0x68], 0
je 0x494240
lea rdx, str.multiple_references_to_recursive_table:__s
jmp 0x494008
mov eax, dword [rsp + 0x58]
or ah, 0x20
test r14d, r14d
mov dword [r12 + 4], eax
jns 0x49425d
mov r14d, dword [r15 + 0x34]
lea eax, [r14 + 1]
mov dword [r15 + 0x34], eax
mov dword [r11 + r9 + 0x4c], r14d
inc r13
jmp 0x49418e
test eax, eax
je 0x494125
mov r12, qword [r12 + 0x50]
jmp 0x49411e
mov rcx, qword [rsp + 0x130]
mov rdx, rbp
call sym.sqlite3WalkSelect
test eax, eax
jne 0x4942e7
mov qword [r15 + 0x198], rsi
mov rax, rbp
mov rdx, qword [rax + 0x50]
test rdx, rdx
je 0x4942a8
mov rax, rdx
jmp 0x49429a
mov rcx, qword [rax + 0x20]
movsxd rax, dword [rsp + 0x48]
imul rax, rax, 0x30
add rax, rsi
mov rdx, qword [rax + 0x18]
test rdx, rdx
je 0x4942f3
test rcx, rcx
je 0x4942f6
mov r9d, dword [rcx]
mov ecx, dword [rdx]
cmp r9d, ecx
je 0x4942f6
mov dword [rsp + 0x20], ecx
mov r8, qword [rax + 0x10]
lea rdx, str.table__s_has__d_values_for__d_columns
mov rcx, r15
call sym.sqlite3ErrorMsg
mov qword [r15 + 0x198], r13
jmp 0x494a54
mov rdx, rcx
lea r9, [rdi + 8]
mov rcx, r15
lea r8, [rdi + 0x36]
call sym.sqlite3ColumnsFromExprList
cmp byte [rsp + 0x60], 1
movsxd rdi, dword [rsp + 0x48]
ja 0x494341
test byte [rbp + 5], 0x20
lea rax, str.multiple_recursive_references:__s
mov rcx, qword [rsp + 0x130]
lea rdx, str.recursive_reference_in_a_subquery:__s
cmovne rdx, rax
imul rax, rdi, 0x30
mov qword [rsi + rax + 0x28], rdx
mov rdx, rbp
call sym.sqlite3WalkSelect
imul rdi, rdi, 0x30
mov qword [rsi + rdi + 0x28], 0
mov qword [r15 + 0x198], r13
jmp 0x4944a2
xor edx, edx
mov r8, rbx
mov rcx, r15
call sym.sqlite3LocateTableItem
test rax, rax
mov rdi, rax
mov qword [rbx + 0x20], rax
je 0x494a54
mov eax, dword [rax + 0x2c]
cmp eax, 0xfffe
jbe 0x4943a0
mov r8, qword [rdi]
lea rdx, str.too_many_references_to___s_:_max_65535
mov rcx, r15
call sym.sqlite3ErrorMsg
mov qword [rbx + 0x20], 0
jmp 0x494a54
inc eax
mov dword [rdi + 0x2c], eax
mov al, byte [rdi + 0x3f]
cmp al, 1
je 0x4943c3
test byte [rbx + 0x40], 4
je 0x4943bb
mov r8, qword [rbx + 0x10]
jmp 0x494001
test al, al
je 0x4944a2
mov rax, qword [rsp + 0x130]
mov rdx, rdi
mov rcx, r15
mov esi, dword [rax + 0x24]
call sym.sqlite3ViewGetColumnNames
test eax, eax
jne 0x494a54
mov al, byte [rdi + 0x3f]
cmp al, 2
jne 0x49442a
mov rax, qword [rsp + 0x40]
test byte [rax + 0x33], 0x80
jne 0x494413
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 0x38]
cmp qword [rdi + 0x60], rax
je 0x494413
mov r8, qword [rdi]
lea rdx, str.access_to_view___s__prohibited
mov rcx, r15
call sym.sqlite3ErrorMsg
mov rdx, qword [rdi + 0x40]
xor r8d, r8d
mov rcx, qword [rsp + 0x40]
call sym.sqlite3SelectDup
mov qword [rbx + 0x28], rax
jmp 0x494469
dec al
jne 0x494469
cmp byte [rbx + 0x40], 0
jns 0x494469
mov rdx, qword [rdi + 0x50]
test rdx, rdx
je 0x494469
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x48], rax
mov al, byte [rsp + 0x48]
shr al, 7
cmp byte [rdx + 0x1e], al
jbe 0x494469
mov r8, qword [rdi]
lea rdx, str.unsafe_use_of_virtual_table___s_
mov rcx, r15
call sym.sqlite3ErrorMsg
mov rax, qword [rsp + 0x130]
and si, 0xff
mov rdx, qword [rbx + 0x28]
mov bp, word [rdi + 0x36]
mov word [rdi + 0x36], 0xffff
mov rcx, rax
mov word [rax + 0x24], 1
call sym.sqlite3WalkSelect
mov rax, qword [rsp + 0x130]
mov word [rax + 0x24], si
mov word [rdi + 0x36], bp
test byte [rbx + 0x40], 2
je 0x493ea4
mov rdx, rbx
mov rcx, r15
call sym.sqlite3IndexedByLookup
test eax, eax
je 0x493ea4
jmp 0x494a54
mov edi, dword [r15 + 0x30]
test edi, edi
jne 0x494a54
mov rax, qword [rsp + 0x138]
xor ebp, ebp
mov rsi, qword [rax + 0x28]
lea rax, [rsp + 0xdc]
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0xd8]
mov qword [rsp + 0x80], rax
lea rbx, [rsi + 0x70]
mov eax, dword [rsi]
dec eax
cmp ebp, eax
jge 0x4948d5
mov rax, qword [rbx + 0x20]
cmp qword [rbx - 0x48], 0
mov qword [rsp + 0x48], rax
je 0x4948ca
test rax, rax
je 0x4948ca
mov al, byte [rbx + 0x3c]
mov ecx, eax
shl ecx, 0x1a
mov dword [rsp + 0x58], ecx
sar dword [rsp + 0x58], 0x1f
add dword [rsp + 0x58], 2
test al, 4
jne 0x494566
test byte [rbx + 0x41], 4
mov r14, qword [rbx + 0x48]
je 0x494885
mov qword [rsp + 0x70], 0
mov rax, qword [r15]
mov qword [rsp + 0x60], rax
jmp 0x4947b9
test byte [rbx + 0x41], 4
jne 0x494573
cmp qword [rbx + 0x48], 0
je 0x49458a
lea rdx, str.a_NATURAL_join_may_not_have_an_ON_or_USING_clause
xor r8d, r8d
mov rcx, r15
call sym.sqlite3ErrorMsg
jmp 0x494a54
xor r13d, r13d
xor r14d, r14d
mov rax, qword [rsp + 0x48]
movsx eax, word [rax + 0x36]
cmp eax, r13d
jle 0x494625
mov rcx, qword [rsp + 0x48]
imul rax, r13, 0x18
add rax, qword [rcx + 8]
test byte [rax + 0x12], 2
jne 0x49461d
mov r12, qword [rax]
xor edx, edx
mov dword [rsp + 0x30], 1
mov r8d, ebp
mov qword [rsp + 0x28], 0
mov rcx, rsi
mov qword [rsp + 0x20], 0
mov r9, r12
call sym.tableAndColumnIndex
test eax, eax
je 0x49461d
xor r8d, r8d
mov rdx, r14
mov rcx, r15
call sym.sqlite3IdListAppend
test rax, rax
mov r14, rax
je 0x49461d
mov eax, dword [rax]
mov rdx, r12
mov rcx, qword [r15]
dec eax
mov dword [rsp + 0x50], eax
call sym.sqlite3DbStrDup
movsxd r12, dword [rsp + 0x50]
shl r12, 4
mov qword [r14 + r12 + 8], rax
inc r13
jmp 0x494590
test r14, r14
je 0x494632
or byte [rbx + 0x41], 0x14
mov qword [rbx + 0x48], r14
cmp dword [r15 + 0x30], 0
je 0x494542
jmp 0x494a54
mov rcx, qword [rax + 0x50]
mov rdx, r12
call sym.sqlite3IdListIndex
test eax, eax
js 0x494701
mov rdx, qword [rsp + 0x50]
mov r8, r13
mov rcx, r15
call sym.sqlite3ExprListAppend.isra.403
mov rcx, qword [rsp + 0x60]
mov rdx, rsi
mov r9d, dword [rsp + 0xdc]
mov qword [rsp + 0x50], rax
mov r8d, dword [rsp + 0xd8]
call sym.sqlite3CreateColumnExpr
mov edx, dword [rsp + 0xdc]
mov r13, rax
movsxd rax, dword [rsp + 0xd8]
imul rax, rax, 0x68
lea rcx, [rsi + rax + 8]
call sym.sqlite3SrcItemColumnUsed
mov eax, dword [rsp + 0xd8]
mov r9, r12
mov r8d, ebp
mov rcx, rsi
lea edx, [rax + 1]
mov al, byte [rbx + 0x41]
shr al, 4
and eax, 1
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x20], rax
call sym.tableAndColumnIndex
test eax, eax
je 0x494713
movsxd rax, dword [rsp + 0xd8]
imul rax, rax, 0x68
add rax, rsi
test byte [rax + 0x49], 4
jne 0x494642
lea rdx, str.ambiguous_reference_to__s_in_USING__
mov r8, r12
mov rcx, r15
call sym.sqlite3ErrorMsg
cmp qword [rsp + 0x50], 0
je 0x494743
mov rdx, qword [rsp + 0x50]
mov r8, r13
mov rcx, r15
call sym.sqlite3ExprListAppend.isra.403
xor r9d, r9d
mov rcx, r15
lea r8, str.coalesce
mov rdx, rax
call sym.sqlite3ExprFunction
mov r13, rax
mov r9d, dword [rsp + 0x68]
lea r8d, [rbp + 1]
mov rdx, rsi
mov rcx, qword [rsp + 0x60]
call sym.sqlite3CreateColumnExpr
mov edx, dword [rsp + 0x68]
mov rcx, rbx
mov r12, rax
call sym.sqlite3SrcItemColumnUsed
mov r8, r13
mov r9, r12
mov edx, 0x35
mov rcx, r15
call sym.sqlite3PExpr
test rax, rax
mov r8, rax
je 0x494794
mov eax, dword [rsp + 0x58]
or dword [r8 + 4], eax
mov eax, dword [r12 + 0x2c]
mov dword [r8 + 0x34], eax
mov rax, qword [rsp + 0x138]
mov rcx, r15
mov rdx, qword [rax + 0x30]
call sym.sqlite3ExprAnd
mov rcx, qword [rsp + 0x138]
inc qword [rsp + 0x70]
mov qword [rcx + 0x30], rax
mov eax, dword [rsp + 0x70]
cmp dword [r14], eax
jle 0x4948ca
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x48]
shl rax, 4
mov r12, qword [r14 + rax + 8]
mov rdx, r12
call sym.sqlite3ColumnIndex
test eax, eax
mov dword [rsp + 0x68], eax
jns 0x4947f8
lea rdx, str.cannot_join_using_column__s___column_not_present_in_both_tables
mov r8, r12
jmp 0x494008
mov al, byte [rbx + 0x41]
xor edx, edx
mov r9, r12
mov r8d, ebp
mov rcx, rsi
shr al, 4
and eax, 1
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x20], rax
call sym.tableAndColumnIndex
test eax, eax
je 0x4947e9
mov r9d, dword [rsp + 0xdc]
mov rdx, rsi
mov r8d, dword [rsp + 0xd8]
mov rcx, qword [rsp + 0x60]
call sym.sqlite3CreateColumnExpr
mov edx, dword [rsp + 0xdc]
mov r13, rax
movsxd rax, dword [rsp + 0xd8]
imul rax, rax, 0x68
lea rcx, [rsi + rax + 8]
call sym.sqlite3SrcItemColumnUsed
test byte [rsi + 0x44], 0x40
je 0x494743
mov qword [rsp + 0x50], 0
jmp 0x4946a8
test r14, r14
je 0x4948ca
mov edx, dword [rbx + 0x44]
mov rcx, r14
mov r8d, dword [rsp + 0x58]
call sym.sqlite3SetJoinExpr
mov rax, qword [rsp + 0x138]
mov rcx, r15
mov r8, qword [rbx + 0x48]
mov rdx, qword [rax + 0x30]
call sym.sqlite3ExprAnd
mov rcx, qword [rsp + 0x138]
mov qword [rcx + 0x30], rax
or byte [rbx + 0x41], 8
mov qword [rbx + 0x48], 0
inc ebp
add rbx, 0x68
jmp 0x4944ff
mov rax, qword [rsp + 0x90]
mov dword [rsp + 0xac], 0
mov r8d, dword [rax]
xor eax, eax
cmp r8d, eax
jle 0x494a21
mov rsi, qword [rsp + 0x90]
mov rdx, rax
shl rdx, 5
mov rdx, qword [rsi + rdx + 8]
mov cl, byte [rdx]
cmp cl, 0xb4
je 0x49492e
cmp cl, 0x8d
jne 0x49491f
mov rcx, qword [rdx + 0x18]
cmp byte [rcx], 0xb4
je 0x49492e
mov ebx, dword [rdx + 4]
inc rax
or dword [rsp + 0xac], ebx
jmp 0x4948ed
mov dword [rsp + 0xc0], 0
mov rax, qword [r15]
xor esi, esi
mov rax, qword [rax + 0x30]
and eax, 0x44
mov dword [rsp + 0xc4], eax
mov rax, qword [rsp + 0x90]
lea r12, [rax + 8]
mov eax, dword [rsp + 0x98]
and eax, 0x800
mov dword [rsp + 0xa0], eax
mov rax, qword [r12]
mov ebx, dword [rax + 4]
mov qword [rsp + 0x60], rax
mov al, byte [rax]
or dword [rsp + 0xac], ebx
cmp al, 0xb4
je 0x494aa9
cmp al, 0x8d
je 0x494a83
mov r8, qword [rsp + 0x60]
mov rdx, rsi
mov rcx, r15
call sym.sqlite3ExprListAppend.isra.403
test rax, rax
mov rsi, rax
je 0x4949de
mov eax, dword [rax]
mov rdx, qword [r12 + 8]
dec eax
cdqe
shl rax, 5
add rax, rsi
mov qword [rax + 0x10], rdx
lea rcx, [rax + 0x10]
mov dl, byte [r12 + 0x14]
mov al, byte [rax + 0x1c]
and edx, 3
and eax, 0xfffffffc
or eax, edx
mov byte [rcx + 0xc], al
mov qword [r12 + 8], 0
mov qword [r12], 0
mov rax, qword [rsp + 0x90]
add r12, 0x20
inc dword [rsp + 0xc0]
mov ebx, dword [rsp + 0xc0]
cmp dword [rax], ebx
jg 0x49496b
mov rcx, qword [rsp + 0x40]
mov rdx, rax
call sym.sqlite3ExprListDelete
mov rax, qword [rsp + 0x138]
mov qword [rax + 0x20], rsi
mov rax, qword [rsp + 0x138]
mov rax, qword [rax + 0x20]
test rax, rax
je 0x495022
mov rsi, qword [rsp + 0x40]
mov esi, dword [rsi + 0x90]
cmp dword [rax], esi
jle 0x494a5e
lea rdx, str.too_many_columns_in_result_set
mov rcx, r15
call sym.sqlite3ErrorMsg
mov edi, 2
jmp 0x495022
test dword [rsp + 0xac], 0x400008
je 0x495022
mov rax, qword [rsp + 0x138]
or dword [rax + 4], 0x40000
jmp 0x495022
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x18]
cmp byte [rax], 0xb4
jne 0x494990
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x10]
mov rax, qword [rax + 8]
mov qword [rsp + 0x48], rax
jmp 0x494ab2
mov qword [rsp + 0x48], 0
mov rbp, qword [rsp + 0xb8]
xor r14d, r14d
mov dword [rsp + 0x70], 0
mov rax, qword [rsp + 0x88]
mov r11d, dword [rax]
cmp r11d, dword [rsp + 0x70]
jle 0x494fe4
mov rax, qword [rbp + 0x20]
mov qword [rsp + 0x98], rax
mov rax, qword [rbp + 0x18]
test rax, rax
mov qword [rsp + 0x58], rax
jne 0x494b05
mov rax, qword [rsp + 0x98]
mov rax, qword [rax]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0x67], 0
jne 0x494fe4
test byte [rbp + 0x41], 0x20
je 0x494b32
mov qword [rsp + 0x78], 0
mov rax, qword [rbp + 0x28]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x50], rax
jmp 0x494b97
cmp qword [rsp + 0x48], 0
je 0x494b51
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x48]
call sym.sqlite3StrICmp
test eax, eax
jne 0x494fd7
mov rax, qword [rsp + 0x98]
lea rbx, [0x004e0f7b]
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rax + 0x60]
call sym.sqlite3SchemaToIndex
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x50], 0
test eax, eax
js 0x494b97
mov rbx, qword [rsp + 0x40]
cdqe
shl rax, 5
add rax, qword [rbx + 0x20]
mov rax, qword [rax]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], 0
mov eax, dword [rsp + 0x70]
inc eax
cmp r11d, eax
jle 0x494c6b
test byte [rbp + 0xa9], 4
je 0x494c6b
cmp dword [rsp + 0xa0], 0
je 0x494c6b
mov rax, qword [rbp + 0xb0]
xor r13d, r13d
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
cmp dword [rax], r13d
jle 0x494c6b
mov rbx, qword [rsp + 0x80]
mov rax, r13
mov edx, 0x3b
shl rax, 4
mov rcx, qword [rsp + 0x40]
mov rbx, qword [rbx + rax + 8]
mov r8, rbx
call sym.sqlite3Expr
mov rdx, rsi
mov rcx, r15
mov r8, rax
call sym.sqlite3ExprListAppend.isra.403
test rax, rax
mov rsi, rax
je 0x494c63
mov eax, dword [rax]
mov r8, rbx
mov rcx, qword [rsp + 0x40]
lea rdx, str..._s
dec eax
mov dword [rsp + 0x68], eax
call sym.sqlite3MPrintf
movsxd rbx, dword [rsp + 0x68]
shl rbx, 5
lea rdx, [rsi + rbx + 0x10]
mov qword [rsi + rbx + 0x10], rax
mov al, byte [rdx + 0xc]
and eax, 0x7c
or eax, 0xffffff82
mov byte [rdx + 0xc], al
inc r13
jmp 0x494bdf
mov qword [rsp + 0x68], 0
mov rbx, qword [rsp + 0x98]
movsxd rax, dword [rsp + 0x68]
movsx edx, word [rbx + 0x36]
cmp edx, eax
jle 0x494fd7
imul rbx, qword [rsp + 0x68], 0x18
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 0xb0], rbx
add rbx, qword [rcx + 8]
cmp qword [rsp + 0x48], 0
je 0x494cf4
cmp qword [rsp + 0x50], 0
je 0x494cf4
mov rcx, qword [rsp + 0x50]
shl rax, 5
mov al, byte [rcx + rax + 0x1c]
and eax, 3
cmp al, 2
jne 0x494fc7
mov rax, qword [rsp + 0x68]
xor r9d, r9d
xor edx, edx
mov r8, qword [rsp + 0x48]
shl rax, 5
lea rcx, [rcx + rax + 8]
call sym.sqlite3MatchEName.part.120
test eax, eax
je 0x494fc7
mov rcx, qword [rsp + 0x138]
mov ax, word [rbx + 0x12]
test byte [rcx + 6], 2
jne 0x494d0e
test al, 2
jne 0x494fc7
test ah, 4
mov r13, qword [rbx]
je 0x494d2c
cmp qword [rsp + 0x48], 0
jne 0x494d5f
cmp dword [rsp + 0xa0], 0
je 0x494fc7
cmp dword [rsp + 0x70], 0
jle 0x494d5f
cmp qword [rsp + 0x48], 0
jne 0x494d5f
cmp dword [rsp + 0xa0], 0
jne 0x494d5f
test byte [rbp + 0x41], 4
je 0x494d5f
mov rcx, qword [rbp + 0x48]
mov rdx, r13
call sym.sqlite3IdListIndex
test eax, eax
jns 0x494fc1
mov rcx, qword [rsp + 0x40]
mov r8, r13
mov edx, 0x3b
call sym.sqlite3Expr
mov rbx, rax
mov rax, qword [rsp + 0x88]
mov r14d, dword [rax]
cmp r14d, 1
jle 0x494ddf
test byte [rbp + 0x3c], 0x40
je 0x494ded
cmp dword [rsp + 0xa0], 0
jne 0x494ded
sub r14d, dword [rsp + 0x70]
mov rax, rbp
dec r14d
test r14d, r14d
jle 0x494ded
lea r8, [rax + 0x68]
dec r14d
test byte [rax + 0xa9], 4
je 0x494dda
mov rcx, qword [r8 + 0x48]
test rcx, rcx
je 0x494dda
mov rdx, r13
mov qword [rsp + 0xc8], r8
call sym.sqlite3IdListIndex
mov r8, qword [rsp + 0xc8]
test eax, eax
jns 0x494ddf
mov rax, r8
jmp 0x494da0
cmp byte [r15 + 0x134], 1
jbe 0x494e73
mov r8, qword [rsp + 0x58]
mov edx, 0x3b
mov rcx, qword [rsp + 0x40]
call sym.sqlite3Expr
mov r9, rbx
mov edx, 0x8d
mov rcx, r15
mov r8, rax
mov r14, rax
call sym.sqlite3PExpr
cmp byte [r15 + 0x134], 1
mov rbx, rax
jbe 0x494e41
mov rax, qword [rsp + 0x60]
mov r8, qword [rax + 0x10]
test r8, r8
je 0x494e41
mov rcx, qword [r15 + 0x1a0]
mov rdx, r14
call sym.sqlite3RenameTokenRemap.isra.137
cmp qword [rsp + 0x78], 0
je 0x494e73
mov r8, qword [rsp + 0x78]
mov edx, 0x3b
mov rcx, qword [rsp + 0x40]
call sym.sqlite3Expr
mov r9, rbx
mov edx, 0x8d
mov rcx, r15
mov r8, rax
call sym.sqlite3PExpr
mov rbx, rax
mov rdx, rsi
mov r8, rbx
mov rcx, r15
call sym.sqlite3ExprListAppend.isra.403
test rax, rax
mov rsi, rax
je 0x494fd1
mov eax, dword [rax]
cmp dword [rsp + 0xa0], 0
lea ebx, [rax - 1]
je 0x494f7d
cmp byte [r15 + 0x134], 1
ja 0x494f7d
cmp qword [rsp + 0x50], 0
je 0x494ed5
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x50]
shl rax, 5
mov rdx, qword [rcx + rax + 0x10]
mov rcx, qword [rsp + 0x40]
call sym.sqlite3DbStrDup
jmp 0x494ef5
mov r9, qword [rsp + 0x58]
mov qword [rsp + 0x20], r13
lea rdx, str._s._s._s
mov r8, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x40]
call sym.sqlite3MPrintf
movsxd rdx, ebx
shl rdx, 5
mov qword [rsi + rdx + 0x10], rax
movsxd rax, ebx
shl rax, 5
lea rdx, [rsi + rax + 0x10]
mov al, byte [rdx + 0xc]
and eax, 0xfffffffc
or eax, 2
test byte [rbp + 0x41], 4
mov byte [rdx + 0xc], al
je 0x494f2f
mov rcx, qword [rbp + 0x48]
mov rdx, r13
call sym.sqlite3IdListIndex
test eax, eax
jns 0x494f6f
cmp qword [rsp + 0x80], 0
je 0x494f4e
mov rcx, qword [rsp + 0x80]
mov rdx, r13
call sym.sqlite3IdListIndex
test eax, eax
jns 0x494f6f
mov rax, qword [rsp + 0x98]
mov r14d, 1
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rax + 8]
test byte [rax + rcx + 0x13], 4
je 0x494fc7
movsxd rbx, ebx
shl rbx, 5
or byte [rsi + rbx + 0x1d], 1
jmp 0x494fc1
cmp dword [rsp + 0xc4], 4
movsxd rbx, ebx
jne 0x494fa5
mov r8, qword [rsp + 0x58]
mov r9, r13
mov rcx, qword [rsp + 0x40]
lea rdx, str._s._s
call sym.sqlite3MPrintf
jmp 0x494fb2
mov rcx, qword [rsp + 0x40]
mov rdx, r13
call sym.sqlite3DbStrDup
shl rbx, 5
add rbx, rsi
and byte [rbx + 0x1c], 0xfc
mov qword [rbx + 0x10], rax
mov r14d, 1
inc qword [rsp + 0x68]
jmp 0x494c74
mov r14d, 1
inc dword [rsp + 0x70]
add rbp, 0x68
jmp 0x494ac5
test r14d, r14d
jne 0x4949e6
cmp qword [rsp + 0x48], 0
je 0x49500e
mov r8, qword [rsp + 0x48]
lea rdx, str.no_such_table:__s
mov rcx, r15
call sym.sqlite3ErrorMsg
jmp 0x4949e6
lea rdx, str.no_tables_specified
mov rcx, r15
call sym.sqlite3ErrorMsg
jmp 0x4949e6
mov eax, edi
add rsp, 0xe8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret