Function at 0x1401101b0
Capabilities:
Reference sql statements

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x88
mov rdi, qword [rcx]
cmp byte [rdi + 0x67], 0
mov rbx, rcx
mov rsi, rdx
mov rbp, r8
je 0x1401101f8
mov rdx, rsi
mov rcx, rdi
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.sqlite3SrcListDelete
lea r8, [rdx + 8]
xor edx, edx
call sym.sqlite3LocateTableItem
mov r15, rax
test rax, rax
je 0x1401101d5
mov rdx, rax
mov rcx, rbx
call sym.isAlterableTable
mov r13d, eax
test eax, eax
jne 0x1401101d5
movzx eax, byte [r15 + 0x3f]
mov rdx, qword [r15]
cmp al, 2
je 0x140110610
lea r9, str.virtual_table
cmp al, 1
je 0x140110617
mov rdx, rbp
mov rcx, rdi
call sym.sqlite3NameFromToken
mov r14, rax
test rax, rax
je 0x1401101d5
mov rdx, rax
mov rcx, r15
call sym.sqlite3ColumnIndex
mov dword [rsp + 0x40], eax
test eax, eax
js 0x140110637
movsxd rax, dword [rsp + 0x40]
lea rbp, [rax + rax*2]
mov rax, qword [r15 + 8]
shl rbp, 3
movzx eax, word [rax + rbp + 0x12]
test al, 9
jne 0x140110660
cmp word [r15 + 0x36], 1
jle 0x140110688
mov rdx, qword [r15 + 0x60]
mov rax, qword [rdi + 0x20]
test rdx, rdx
je 0x14011069c
cmp rdx, qword [rax + 0x18]
je 0x1401106a8
add rax, 0x20
nop
mov rcx, rax
add rax, 0x20
add r13d, 1
cmp rdx, qword [rax - 8]
jne 0x1401102b0
mov r12, qword [rcx]
mov r9, qword [r15]
mov qword [rsp + 0x20], r14
mov edx, 0x1a
mov rcx, rbx
mov r8, r12
call sym.sqlite3AuthCheck
test eax, eax
jne 0x140110650
xor eax, eax
cmp r13d, 1
lea rcx, [0x14015f198]
mov r9, r12
sete al
mov byte [rbx + 0x1c], 1
mov r8, r12
mov qword [rsp + 0x28], rcx
mov rcx, rbx
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x54], eax
mov dword [rsp + 0x58], eax
lea rax, 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 rdx, rax
mov qword [rsp + 0x48], rax
call sym.sqlite3NestedParse
cmp r13d, 1
jne 0x140110708
mov r9, r12
mov r8, r12
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, rbx
call sym.sqlite3NestedParse
mov rax, qword [r15]
mov r8, r12
mov rcx, rbx
mov r9d, 1
lea rdx, str.UPDATE___w_.sqlite_master_SET_sql__sqlite_drop_column__d__sql___d__WHERE__typetable_AND_tbl_name_Q_COLLATE_nocase_
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x20], eax
call sym.sqlite3NestedParse
cmp qword [rbx + 0x10], 0
je 0x14011038f
mov r8d, 2
mov edx, 1
mov rcx, rbx
call sym.renameReloadSchema.part.0
lea rax, str.after_drop_column
mov r9, r12
mov r8, r12
mov rcx, rbx
mov byte [rbx + 0x1c], 1
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x20], eax
call sym.sqlite3NestedParse
mov r12d, dword [rbx + 0x30]
test r12d, r12d
jne 0x140110650
mov rax, qword [r15 + 8]
test byte [rax + rbp + 0x12], 0x20
jne 0x140110650
mov rbp, qword [rbx + 0x10]
test rbp, rbp
je 0x1401108fd
mov ecx, dword [rbx + 0x34]
mov r8d, r13d
mov r9, r15
lea eax, [rcx + 1]
mov edx, ecx
mov dword [rsp + 0x48], ecx
mov r13d, ecx
mov dword [rbx + 0x34], eax
mov rcx, rbx
mov dword [rsp + 0x20], 0x71
call sym.sqlite3OpenTable
xor r9d, r9d
mov r8d, r13d
mov edx, 0x24
mov dword [rsp + 0x20], 0
mov rcx, rbp
call sym.sqlite3VdbeAddOp3
mov r11d, dword [rbx + 0x38]
mov dword [rsp + 0x64], eax
lea eax, [r11 + 1]
mov dword [rsp + 0x60], eax
mov dword [rbx + 0x38], eax
test byte [r15 + 0x30], 0x80
je 0x14011091b
mov r10, qword [r15 + 0x10]
test r10, r10
jne 0x14011046d
jmp 0x140110a32
mov r10, qword [r10 + 0x28]
test r10, r10
je sym.sqlite3AlterDropColumn.cold
movzx eax, byte [r10 + 0x64]
and eax, 3
cmp al, 2
jne 0x140110460
movzx eax, word [r10 + 0x60]
mov ecx, dword [rsp + 0x60]
add eax, ecx
cmp word [r10 + 0x5e], 0
mov dword [rbx + 0x38], eax
je 0x1401109da
lea eax, [r11 + 2]
xor r13d, r13d
mov qword [rsp + 0x58], rdi
mov edi, dword [rsp + 0x48]
mov dword [rsp + 0x54], eax
mov r12d, r13d
mov r13, rsi
mov esi, eax
mov qword [rsp + 0x68], rbx
mov rbx, r10
nop word [rax + rax]
lea eax, [rsi + r12]
mov r9d, r12d
mov r8d, edi
mov edx, 0x5e
mov dword [rsp + 0x20], eax
mov rcx, rbp
add r12d, 1
call sym.sqlite3VdbeAddOp3
movzx eax, word [rbx + 0x5e]
cmp eax, r12d
jg 0x1401104c0
mov r10, rbx
mov rbx, qword [rsp + 0x68]
mov r12d, eax
mov rdi, qword [rsp + 0x58]
mov rsi, r13
mov eax, dword [rbx + 0x38]
add eax, 1
cmp word [r15 + 0x36], 0
mov dword [rsp + 0x58], eax
mov dword [rbx + 0x38], eax
jle 0x1401109fd
mov eax, dword [rsp + 0x40]
mov qword [rsp + 0x68], r14
xor r13d, r13d
mov qword [rsp + 0x40], rdi
mov r14d, dword [rsp + 0x54]
mov qword [rsp + 0x70], rbx
mov edi, eax
mov ebx, eax
mov qword [rsp + 0x78], rsi
mov esi, r12d
mov r12, r10
jmp 0x14011057b
movsx eax, word [r15 + 0x34]
cmp eax, r8d
je 0x1401108cc
mov dword [rsp + 0x20], r9d
mov r8d, dword [rsp + 0x48]
mov r9d, r13d
mov rdx, r15
mov rcx, rbp
call sym.sqlite3ExprCodeGetColumnOfTable
add esi, 1
movsx eax, word [r15 + 0x36]
add r13, 1
cmp eax, r13d
jle 0x1401107e3
mov r8d, r13d
cmp ebx, r13d
je 0x140110569
mov rcx, qword [r15 + 8]
lea rax, [r13 + r13*2]
lea rax, [rcx + rax*8]
test byte [rax + 0x12], 0x20
jne 0x140110569
lea r9d, [r14 + rsi]
test r12, r12
je 0x140110540
movzx ecx, word [r12 + 0x60]
test ecx, ecx
je 0x140110569
mov r9, qword [r12 + 8]
xor eax, eax
jmp 0x1401105c4
add rax, 1
cmp ecx, eax
jle 0x1401108e9
cmp word [r9 + rax*2], r13w
jne 0x1401105b8
cwde
xor edx, edx
jmp 0x1401105dc
add rdx, 1
cmp ecx, edx
jle 0x1401108f3
cmp di, word [r9 + rdx*2]
jne 0x1401105d0
movsx edx, dx
movzx ecx, word [r12 + 0x5e]
cmp ecx, eax
jg 0x140110569
cmp eax, edx
lea r9d, [rax + r14]
setg al
movzx eax, al
sub r9d, eax
jmp 0x140110540
lea r9, str.view
mov qword [rsp + 0x20], rdx
lea r8, str.drop_column_from
mov rcx, rbx
lea rdx, str.cannot__s__s___s_
call sym.sqlite3ErrorMsg
jmp 0x1401101d5
mov r8, rbp
lea rdx, str.no_such_column:___T_
mov rcx, rbx
call sym.sqlite3ErrorMsg
nop dword [rax]
mov rdx, r14
mov rcx, rdi
call sym.sqlite3DbFreeNN
jmp 0x1401101d5
test al, 1
lea r8, str.UNIQUE
mov r9, r14
mov rcx, rbx
lea rax, [0x14015fdb9]
lea rdx, str.cannot_drop__s_column:___s_
cmovne r8, rax
call sym.sqlite3ErrorMsg
jmp 0x140110650
mov r8, r14
lea rdx, str.cannot_drop_column___s_:_no_other_columns_exist
mov rcx, rbx
call sym.sqlite3ErrorMsg
jmp 0x140110650
sub rax, 0x100000
mov r13d, 0xffff8000
mov r12, qword [rax]
mov r9, qword [r15]
mov qword [rsp + 0x20], r14
mov edx, 0x1a
mov rcx, rbx
mov r8, r12
call sym.sqlite3AuthCheck
mov dword [rsp + 0x58], eax
test eax, eax
jne 0x140110650
lea rax, [0x14015f198]
mov r9, r12
mov r8, r12
mov rcx, rbx
mov byte [rbx + 0x1c], 1
mov qword [rsp + 0x28], rax
lea rax, 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 rdx, rax
mov dword [rsp + 0x20], 0
mov qword [rsp + 0x48], rax
call sym.sqlite3NestedParse
mov dword [rsp + 0x20], 0
mov r8, r12
mov rcx, rbx
lea r9, [0x14015f198]
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 r9, r12
mov r8, r12
mov rcx, rbx
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, rbx
call sym.sqlite3NestedParse
mov rax, qword [r15]
mov r9d, r13d
mov r8, r12
lea rdx, str.UPDATE___w_.sqlite_master_SET_sql__sqlite_drop_column__d__sql___d__WHERE__typetable_AND_tbl_name_Q_COLLATE_nocase_
mov rcx, rbx
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x20], eax
call sym.sqlite3NestedParse
cmp qword [rbx + 0x10], 0
je 0x14011078a
mov r8d, 2
mov edx, r13d
mov rcx, rbx
call sym.renameReloadSchema.part.0
lea rax, str.after_drop_column
mov r9, r12
mov r8, r12
mov rcx, rbx
mov byte [rbx + 0x1c], 1
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x20], eax
call sym.sqlite3NestedParse
mov dword [rsp + 0x20], 1
mov r8, r12
lea r9, str.after_drop_column
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 rcx, rbx
call sym.sqlite3NestedParse
jmp 0x1401103c2
mov r10, r12
mov r12d, esi
mov rdi, qword [rsp + 0x40]
mov r14, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
test r12d, r12d
je 0x14011096a
mov eax, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x54]
mov r9d, r12d
mov rcx, rbp
mov edx, 0x61
mov qword [rsp + 0x40], r10
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp3
mov r10, qword [rsp + 0x40]
test r10, r10
je 0x1401109a0
movzx eax, word [r10 + 0x5e]
mov r9d, dword [rsp + 0x58]
mov edx, 0x8a
mov rcx, rbp
mov r8d, dword [rsp + 0x48]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp4Int
movsxd rax, dword [rbp + 0x90]
test eax, eax
jle 0x14011087d
shl rax, 5
mov edx, 2
add rax, qword [rbp + 0x88]
mov word [rax - 0x1e], dx
mov ebx, dword [rsp + 0x64]
mov dword [rsp + 0x20], 0
mov edx, 0x27
mov rcx, rbp
mov r8d, dword [rsp + 0x48]
lea r9d, [rbx + 1]
call sym.sqlite3VdbeAddOp3
mov rcx, qword [rbp]
mov edx, dword [rbp + 0x90]
lea rax, [0x14018a240]
cmp byte [rcx + 0x67], 0
jne 0x1401108c4
movsxd rax, ebx
shl rax, 5
add rax, qword [rbp + 0x88]
mov dword [rax + 8], edx
jmp 0x140110650
mov dword [rsp + 0x20], 0
xor r8d, r8d
mov edx, 0x4b
mov rcx, rbp
call sym.sqlite3VdbeAddOp3
jmp 0x140110566
mov eax, 0xffffffff
jmp 0x1401105cc
mov edx, 0xffffffff
jmp 0x1401105e6
cmp qword [rbx + 0xb0], 0
je 0x1401109c4
mov rcx, rbx
call sym.sqlite3VdbeCreate
mov rbp, rax
jmp 0x1401103eb
mov r8d, dword [rsp + 0x48]
mov edx, 0x87
mov r9d, eax
mov rcx, rbp
mov dword [rsp + 0x20], 0
mov dword [rsp + 0x54], r11d
call sym.sqlite3VdbeAddOp3
movsx eax, word [r15 + 0x36]
mov r11d, dword [rsp + 0x54]
xor r10d, r10d
mov edx, eax
add eax, dword [rbx + 0x38]
add eax, 1
mov dword [rsp + 0x58], eax
mov dword [rbx + 0x38], eax
lea eax, [r11 + 2]
mov dword [rsp + 0x54], eax
test dx, dx
jg 0x140110514
add dword [rbx + 0x38], 1
mov r9d, dword [rsp + 0x54]
xor r8d, r8d
mov rcx, rbp
mov edx, 0x4b
mov dword [rsp + 0x20], 0
mov r12d, 1
mov qword [rsp + 0x40], r10
call sym.sqlite3VdbeAddOp3
mov r10, qword [rsp + 0x40]
jmp 0x140110806
mov eax, dword [rsp + 0x60]
mov r9d, dword [rsp + 0x58]
mov edx, pe_nt_image_headers64
mov rcx, rbp
mov r8d, dword [rsp + 0x48]
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp3
jmp 0x14011085e
mov rax, qword [rbx]
test byte [rax + 0x60], 8
jne 0x14011090b
mov byte [rbx + 0x23], 1
jmp 0x14011090b
add eax, 1
cmp word [r15 + 0x36], 0
mov dword [rsp + 0x58], eax
mov dword [rbx + 0x38], eax
lea eax, [r11 + 2]
mov dword [rsp + 0x54], eax
jg 0x140110514
jmp 0x14011096a
test r12d, r12d
je 0x14011096a
mov eax, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x54]
mov r9d, r12d
mov rcx, rbp
mov edx, 0x61
mov qword [rsp + 0x40], r10
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp3
mov r10, qword [rsp + 0x40]
jmp 0x140110836
jmp sym.sqlite3AlterDropColumn.cold