Function at 0x1401f0d00
Capabilities:
Reference sql statements

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
mov r15, qword [rcx]
mov r14, rcx
mov rcx, qword [rdx + 8]
mov qword [rsp + 0x50], r8
mov r13, rdx
mov qword [rsp + 0x58], r9
test rcx, rcx
je 0x1401f10b8
mov rdx, qword [r15 + 0x20]
cmp qword [rdx + 0x18], rcx
je 0x1401f0d4d
lea rax, [rdx + 0x20]
nop
mov rdx, rax
add rax, 0x20
cmp rcx, qword [rax - 8]
jne 0x1401f0d40
mov r9, qword [rdx]
mov r8, qword [r13 + 0x18]
xor edx, edx
mov rcx, r14
call sym.sqlite3LocateTable
mov rbx, rax
test rax, rax
je 0x1401f0d77
mov rdx, rax
mov rcx, r14
call sym.isAlterableTable
mov esi, eax
test eax, eax
je 0x1401f0d98
mov rdx, r13
mov rcx, r15
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.sqlite3SrcListDelete
movzx eax, byte [rbx + 0x3f]
mov r9, qword [rbx]
cmp al, 2
je 0x1401f1127
cmp al, 1
je 0x1401f10c1
mov r8, qword [rbx + 0x60]
mov rcx, qword [r15 + 0x20]
test r8, r8
je 0x1401f122e
cmp r8, qword [rcx + 0x18]
je 0x1401f1130
lea rdx, [rcx + 0x20]
mov eax, 1
nop dword [rax + rax]
mov r10, rax
mov rcx, rdx
mov esi, eax
add rdx, 0x20
shl r10, 5
add rax, 1
cmp r8, qword [rcx + 0x18]
jne 0x1401f0dd8
mov rax, qword [rcx]
mov edx, 0x1a
mov rcx, r14
mov qword [rsp + 0x68], r10
mov qword [rsp + 0x20], 0
mov r8, rax
mov qword [rsp + 0x60], rax
call sym.sqlite3AuthCheck
mov r10, qword [rsp + 0x68]
test eax, eax
mov edi, eax
jne 0x1401f0d77
mov rdx, qword [rsp + 0x50]
mov rcx, r15
mov qword [rsp + 0x68], r10
call sym.sqlite3NameFromToken
mov r10, qword [rsp + 0x68]
test rax, rax
mov r12, rax
je 0x1401f0d77
movsx r11d, word [rbx + 0x36]
test r11d, r11d
jle 0x1401f1188
mov rbp, qword [rbx + 8]
lea r8, [0x140344560]
nop dword [rax + rax]
mov r9, qword [rbp]
xor ecx, ecx
jmp 0x1401f0e83
movzx edx, byte [r8 + rdx]
cmp byte [r8 + rax], dl
jne 0x1401f10f0
add rcx, 1
movzx eax, byte [r9 + rcx]
movzx edx, byte [r12 + rcx]
cmp eax, edx
jne 0x1401f0e70
test eax, eax
jne 0x1401f0e7f
xor eax, eax
cmp esi, 1
lea rbp, [0x140330c0e]
mov rcx, r14
sete al
mov r9, qword [rsp + 0x60]
mov byte [r14 + 0x1c], 1
lea rdx, str.SELECT_1_FROM___w_.sqlite_master_WHERE_name_NOT_LIKE_sqliteX____ESCAPE_X_AND_sql_NOT_LIKE_create_virtual___AND_sqlite_rename_test__Q__sql__type__name___d___Q___d_NULL
mov dword [rsp + 0x30], 0
mov qword [rsp + 0x28], rbp
mov r8, r9
mov dword [rsp + 0x20], eax
mov qword [rsp + 0x68], r10
mov dword [rsp + 0x50], eax
call sym.sqlite3NestedParse
cmp esi, 1
mov r10, qword [rsp + 0x68]
jne 0x1401f1138
mov r9, qword [rsp + 0x60]
lea rdx, str.UPDATE___w_.sqlite_master_SET_sql__sqlite_rename_quotefix__Q__sql_WHERE_name_NOT_LIKE_sqliteX____ESCAPE_X_AND_sql_NOT_LIKE_create_virtual__
mov rcx, r14
mov qword [rsp + 0x68], r10
mov r8, r9
call sym.sqlite3NestedParse
mov r10, qword [rsp + 0x68]
mov rax, qword [r14 + 0xb0]
mov rdx, qword [rsp + 0x58]
mov rcx, r15
mov qword [rsp + 0x68], r10
test rax, rax
cmove rax, r14
mov byte [rax + 0x21], 1
call sym.sqlite3NameFromToken
mov rbp, rax
test rax, rax
je 0x1401f11de
mov rax, qword [rsp + 0x58]
lea rdx, [0x140344300]
mov ecx, dword [rsp + 0x50]
mov r9, qword [rsp + 0x60]
mov rax, qword [rax]
mov r8, r9
movzx eax, byte [rax]
movzx eax, byte [rdx + rax]
mov rdx, qword [rbx]
mov dword [rsp + 0x40], ecx
mov rcx, r14
mov dword [rsp + 0x28], edi
and eax, 0x80
mov qword [rsp + 0x48], rdx
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x20], rdx
lea rdx, str.UPDATE___w_.sqlite_master_SET_sql__sqlite_rename_column_sql__type__name___Q___Q___d___Q___d___d__WHERE_name_NOT_LIKE_sqliteX____ESCAPE_X__AND__type___index_OR_tbl_name___Q_
mov qword [rsp + 0x30], rbp
mov dword [rsp + 0x58], eax
call sym.sqlite3NestedParse
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x20], edi
mov rcx, r14
mov qword [rsp + 0x28], rbp
mov rdi, qword [rsp + 0x60]
lea rdx, str.UPDATE_temp.sqlite_master_SET_sql__sqlite_rename_column_sql__type__name___Q___Q___d___Q___d__1__WHERE_type_IN__trigger__view_
mov dword [rsp + 0x30], eax
mov r9, qword [rbx]
mov r8, rdi
call sym.sqlite3NestedParse
mov rcx, qword [r14 + 0x10]
test rcx, rcx
je 0x1401f1198
mov rax, qword [r14]
mov r10, qword [rsp + 0x68]
mov r8d, esi
mov edx, 0x64
mov r9d, 1
mov rax, qword [rax + 0x20]
mov rax, qword [rax + r10 + 0x18]
mov eax, dword [rax]
add eax, 1
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp3
mov rcx, qword [r14 + 0x10]
xor r8d, r8d
mov edx, esi
mov r9d, 1
call sym.sqlite3VdbeAddParseSchemaOp
cmp esi, 1
je 0x1401f11f1
mov rcx, qword [r14 + 0x10]
mov r9d, 1
xor r8d, r8d
mov edx, 1
call sym.sqlite3VdbeAddParseSchemaOp
mov ecx, dword [rsp + 0x50]
mov r9, rdi
mov r8, rdi
lea rax, str.after_rename
mov byte [r14 + 0x1c], 1
lea rdx, str.SELECT_1_FROM___w_.sqlite_master_WHERE_name_NOT_LIKE_sqliteX____ESCAPE_X_AND_sql_NOT_LIKE_create_virtual___AND_sqlite_rename_test__Q__sql__type__name___d___Q___d_NULL
mov dword [rsp + 0x20], ecx
mov rcx, r14
mov dword [rsp + 0x30], 1
mov qword [rsp + 0x28], rax
call sym.sqlite3NestedParse
mov dword [rsp + 0x20], 1
mov r8, qword [rsp + 0x60]
mov rcx, r14
lea r9, str.after_rename
lea rdx, str.SELECT_1_FROM_temp.sqlite_master_WHERE_name_NOT_LIKE_sqliteX____ESCAPE_X_AND_sql_NOT_LIKE_create_virtual___AND_sqlite_rename_test__Q__sql__type__name__1___Q___d_NULL
call sym.sqlite3NestedParse
mov rdx, r13
mov rcx, r15
call sym.sqlite3SrcListDelete
mov rdx, r12
mov rcx, r15
call sym.sqlite3DbFreeNN
mov rdx, rbp
mov rcx, r15
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.sqlite3DbFreeNN
mov r9, qword [rdx + 0x10]
jmp 0x1401f0d50
lea rax, str.virtual_table
mov qword [rsp + 0x20], r9
lea r8, str.rename_columns_of
mov r9, rax
mov rcx, r14
lea rdx, str.cannot__s__s___s_
call sym.sqlite3ErrorMsg
jmp 0x1401f0d77
add edi, 1
add rbp, 0x18
cmp edi, r11d
jne 0x1401f0e68
mov r8, qword [rsp + 0x50]
lea rdx, str.no_such_column:___T_
mov rcx, r14
call sym.sqlite3ErrorMsg
mov rdx, r13
mov rcx, r15
call sym.sqlite3SrcListDelete
mov rdx, r12
jmp 0x1401f109c
lea rax, str.view
jmp 0x1401f10c8
xor r10d, r10d
jmp 0x1401f0df2
mov r9, rbp
mov dword [rsp + 0x20], 0
mov rbp, qword [rsp + 0x60]
mov rcx, r14
lea rdx, str.SELECT_1_FROM_temp.sqlite_master_WHERE_name_NOT_LIKE_sqliteX____ESCAPE_X_AND_sql_NOT_LIKE_create_virtual___AND_sqlite_rename_test__Q__sql__type__name__1___Q___d_NULL
mov r8, rbp
call sym.sqlite3NestedParse
mov r9, rbp
mov r8, rbp
mov rcx, r14
lea rdx, str.UPDATE___w_.sqlite_master_SET_sql__sqlite_rename_quotefix__Q__sql_WHERE_name_NOT_LIKE_sqliteX____ESCAPE_X_AND_sql_NOT_LIKE_create_virtual__
call sym.sqlite3NestedParse
lea rdx, str.UPDATE_temp.sqlite_master_SET_sql__sqlite_rename_quotefix_temp__sql_WHERE_name_NOT_LIKE_sqliteX____ESCAPE_X_AND_sql_NOT_LIKE_create_virtual__
mov rcx, r14
call sym.sqlite3NestedParse
mov r10, qword [rsp + 0x68]
jmp 0x1401f0f09
jne 0x1401f0e95
jmp 0x1401f1100
lea rax, str.after_rename
mov r9, qword [rsp + 0x60]
mov byte [r14 + 0x1c], 1
lea rdx, str.SELECT_1_FROM___w_.sqlite_master_WHERE_name_NOT_LIKE_sqliteX____ESCAPE_X_AND_sql_NOT_LIKE_create_virtual___AND_sqlite_rename_test__Q__sql__type__name___d___Q___d_NULL
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x50]
mov rcx, r14
mov dword [rsp + 0x30], 1
mov r8, r9
mov dword [rsp + 0x20], eax
call sym.sqlite3NestedParse
cmp esi, 1
je 0x1401f1083
jmp 0x1401f1060
mov rdx, r13
mov rcx, r15
call sym.sqlite3SrcListDelete
mov rdx, r12
jmp 0x1401f109c
lea rax, str.after_rename
mov r9, qword [rsp + 0x60]
mov byte [r14 + 0x1c], 1
lea rdx, str.SELECT_1_FROM___w_.sqlite_master_WHERE_name_NOT_LIKE_sqliteX____ESCAPE_X_AND_sql_NOT_LIKE_create_virtual___AND_sqlite_rename_test__Q__sql__type__name___d___Q___d_NULL
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x50]
mov rcx, r14
mov dword [rsp + 0x30], 1
mov r8, r9
mov dword [rsp + 0x20], eax
call sym.sqlite3NestedParse
jmp 0x1401f1083
sub rcx, 0x100000
mov r10, 0xfffffffffff00000
mov esi, 0xffff8000
jmp 0x1401f0df2