Function at 0x1402cf870
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 r12, qword [rcx]
mov rsi, rcx
mov rcx, qword [rdx + 8]
mov rdi, rdx
mov r14, r8
mov r15, r9
test rcx, rcx
je 0x1402cfc50
mov rdx, qword [r12 + 0x20]
cmp rcx, qword [rdx + 0x18]
je 0x1402cf8bd
lea rax, [rdx + 0x20]
nop dword [rax + rax]
mov rdx, rax
add rax, 0x20
cmp rcx, qword [rax - 8]
jne 0x1402cf8b0
mov r9, qword [rdx]
mov r8, qword [rdi + 0x18]
xor edx, edx
mov rcx, rsi
call sym.sqlite3LocateTable
test rax, rax
mov rbp, rax
je 0x1402cf8e8
mov rdx, rax
mov rcx, rsi
call sym.isAlterableTable
test eax, eax
mov r10d, eax
je 0x1402cf908
mov rdx, rdi
mov rcx, r12
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 [rbp + 0x3f]
mov r9, qword [rbp]
cmp al, 2
je 0x1402cfcc3
cmp al, 1
je 0x1402cfc59
mov r8, qword [rbp + 0x60]
mov rax, qword [r12 + 0x20]
test r8, r8
je 0x1402cfdce
cmp r8, qword [rax + 0x18]
je 0x1402cfccc
lea rcx, [rax + 0x20]
mov edx, 1
nop dword [rax]
mov rax, rcx
mov r11, rdx
add rdx, 1
cmp r8, qword [rax + 0x18]
lea rcx, [rcx + 0x20]
jne 0x1402cf948
mov r10d, r11d
shl r11, 5
mov qword [rsp + 0x60], r11
mov rax, qword [rax]
mov edx, 0x1a
mov rcx, rsi
mov dword [rsp + 0x50], r10d
mov qword [rsp + 0x20], 0
mov r8, rax
mov qword [rsp + 0x58], rax
call sym.sqlite3AuthCheck
mov r10d, dword [rsp + 0x50]
test eax, eax
mov r13d, eax
jne 0x1402cf8e8
mov rdx, r14
mov rcx, r12
mov dword [rsp + 0x50], r10d
call sym.sqlite3NameFromToken
test rax, rax
mov rbx, rax
je 0x1402cf8e8
movsx eax, word [rbp + 0x36]
mov r10d, dword [rsp + 0x50]
test eax, eax
jle 0x1402cfa11
mov r11, qword [rbp + 8]
lea r8, [0x14047eee0]
mov edx, r10d
nop dword [rax]
mov r10, qword [r11]
xor r9d, r9d
mov qword [rsp + 0x50], r11
jmp 0x1402cf9fb
movzx r11d, byte [r8 + r11]
cmp byte [r8 + rcx], r11b
jne 0x1402cfc88
add r9, 1
movzx ecx, byte [r10 + r9]
movzx r11d, byte [rbx + r9]
cmp ecx, r11d
jne 0x1402cf9e8
test ecx, ecx
jne 0x1402cf9f7
mov r10d, edx
cmp r13d, eax
je 0x1402cfc9e
mov r9, qword [rsp + 0x58]
cmp r10d, 1
mov byte [rsi + 0x1c], 1
mov rcx, rsi
lea r14, [0x14046c378]
sete al
mov dword [rsp + 0x30], 0
mov qword [rsp + 0x28], r14
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
movzx eax, al
mov dword [rsp + 0x20], eax
mov r8, r9
mov dword [rsp + 0x6c], r10d
mov dword [rsp + 0x50], eax
call sym.sqlite3NestedParse
mov r10d, dword [rsp + 0x6c]
cmp r10d, 1
jne 0x1402cfcda
mov r8, qword [rsp + 0x58]
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, rsi
mov r9, r8
call sym.sqlite3NestedParse
mov r10d, dword [rsp + 0x6c]
mov rax, qword [rsi + 0xa8]
mov rdx, r15
mov rcx, r12
mov dword [rsp + 0x6c], r10d
test rax, rax
cmove rax, rsi
mov byte [rax + 0x21], 1
call sym.sqlite3NameFromToken
mov r10d, dword [rsp + 0x6c]
test rax, rax
mov r14, rax
je 0x1402cfd7f
mov rax, qword [r15]
lea rdx, [0x14047ec80]
mov rcx, rsi
mov dword [rsp + 0x6c], r10d
mov r9, qword [rsp + 0x58]
movzx eax, byte [rax]
mov r8, r9
movzx r15d, byte [rdx + rax]
mov rax, qword [rbp]
mov qword [rsp + 0x30], r14
mov edx, dword [rsp + 0x50]
mov dword [rsp + 0x28], r13d
and r15d, 0x80
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x40], edx
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 dword [rsp + 0x38], r15d
mov qword [rsp + 0x20], rax
call sym.sqlite3NestedParse
mov r9, qword [rbp]
mov rcx, rsi
mov dword [rsp + 0x30], r15d
mov r15, qword [rsp + 0x58]
mov qword [rsp + 0x28], r14
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 + 0x20], r13d
mov r8, r15
call sym.sqlite3NestedParse
mov rcx, qword [rsi + 0x10]
mov r10d, dword [rsp + 0x6c]
test rcx, rcx
je 0x1402cfd2f
mov rax, qword [rsi]
mov r8d, r10d
mov dword [rsp + 0x50], r10d
mov r9d, 1
mov rdx, qword [rsp + 0x60]
mov rax, qword [rax + 0x20]
mov rax, qword [rax + rdx + 0x18]
mov edx, 0x64
mov eax, dword [rax]
add eax, 1
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp3
mov rcx, qword [rsi + 0x10]
xor r8d, r8d
mov r9d, 1
mov edx, dword [rsp + 0x50]
call sym.sqlite3VdbeAddParseSchemaOp
mov r10d, dword [rsp + 0x50]
cmp r10d, 1
je 0x1402cfd92
mov rcx, qword [rsi + 0x10]
mov r9d, 1
xor r8d, r8d
mov edx, 1
call sym.sqlite3VdbeAddParseSchemaOp
mov byte [rsi + 0x1c], 1
mov r9, r15
mov r8, r15
lea rax, str.after_rename
mov dword [rsp + 0x30], 1
mov rcx, rsi
mov qword [rsp + 0x28], rax
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], 0
call sym.sqlite3NestedParse
mov r8, qword [rsp + 0x58]
mov dword [rsp + 0x20], 1
mov rcx, rsi
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, rdi
mov rcx, r12
call sym.sqlite3SrcListDelete
mov rdx, rbx
mov rcx, r12
call sym.sqlite3DbFreeNN
mov rdx, r14
mov rcx, r12
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 0x1402cf8c0
lea rax, str.virtual_table
mov qword [rsp + 0x20], r9
lea r8, str.rename_columns_of
mov r9, rax
mov rcx, rsi
lea rdx, str.cannot__s__s___s_
call sym.sqlite3ErrorMsg
jmp 0x1402cf8e8
mov r11, qword [rsp + 0x50]
add r13d, 1
add r11, 0x18
cmp r13d, eax
jne 0x1402cf9d8
lea rdx, str.no_such_column:___T_
mov r8, r14
mov rcx, rsi
call sym.sqlite3ErrorMsg
mov rdx, rdi
mov rcx, r12
call sym.sqlite3SrcListDelete
mov rdx, rbx
jmp 0x1402cfc33
lea rax, str.view
jmp 0x1402cfc60
mov qword [rsp + 0x60], 0
jmp 0x1402cf968
mov r9, r14
mov r14, qword [rsp + 0x58]
mov rcx, rsi
mov dword [rsp + 0x20], 0
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 dword [rsp + 0x6c], r10d
mov r8, r14
call sym.sqlite3NestedParse
mov r9, r14
mov r8, r14
mov rcx, rsi
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, rsi
call sym.sqlite3NestedParse
mov r10d, dword [rsp + 0x6c]
jmp 0x1402cfa8b
lea rax, str.after_rename
mov byte [rsi + 0x1c], 1
mov rcx, rsi
mov r8, qword [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x50]
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], 1
mov dword [rsp + 0x60], r10d
mov r9, r8
mov dword [rsp + 0x20], eax
call sym.sqlite3NestedParse
mov r10d, dword [rsp + 0x60]
cmp r10d, 1
je 0x1402cfc1a
jmp 0x1402cfbf7
mov rdx, rdi
mov rcx, r12
call sym.sqlite3SrcListDelete
mov rdx, rbx
jmp 0x1402cfc33
mov r8, qword [rsp + 0x58]
mov byte [rsi + 0x1c], 1
mov rcx, rsi
lea rax, str.after_rename
mov dword [rsp + 0x30], 1
mov qword [rsp + 0x28], rax
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], 1
mov r9, r8
call sym.sqlite3NestedParse
jmp 0x1402cfc1a
sub rax, 0x100000
mov r10d, 0xffff8000
mov qword [rsp + 0x60], 0xfffffffffff00000
jmp 0x1402cf968