Function at 0x14006f6b0
Capabilities:
Reference sql statements

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov rdi, qword [rcx]
xor ebx, ebx
mov rbp, r8
mov r14, rcx
mov r15d, ebx
mov esi, ebx
cmp byte [rdi + 0x67], bl
jne 0x14006fc30
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rcx + 8]
test rdx, rdx
je 0x14006f71b
mov r9, qword [rdi + 0x20]
mov ecx, ebx
cmp qword [r9 + 0x18], rdx
lea rax, [r9 + 0x18]
je 0x14006f70e
inc ecx
lea rax, [rax + 0x20]
cmp qword [rax], rdx
jne 0x14006f703
movsxd rax, ecx
shl rax, 5
mov r9, qword [rax + r9]
jmp 0x14006f71f
mov r9, qword [rcx + 0x10]
mov r8, qword [rsp + 0x98]
mov eax, 0x20
mov rcx, rdi
xor edx, edx
mov r8, qword [r8 + 0x18]
lea r12, [rcx + rax]
mov rcx, r14
call fcn.140079dc0
mov qword [rsp + 0xa8], rax
test rax, rax
je 0x14006fc30
mov rdx, qword [rax + 0x60]
mov r13d, 0xffff8000
mov dword [rsp + 0x90], r13d
test rdx, rdx
je 0x14006f79b
mov rax, qword [r14]
mov r13d, ebx
mov dword [rsp + 0x90], ebx
mov rcx, qword [rax + 0x20]
add rcx, 0x18
cmp qword [rcx], rdx
je 0x14006f79b
inc r13d
lea rcx, [rcx + 0x20]
cmp qword [rcx], rdx
jne 0x14006f783
mov dword [rsp + 0x90], r13d
lea r12, [rdi + 0x20]
mov rax, qword [r12]
mov rdx, rbp
movsxd rcx, r13d
shl rcx, 5
mov rbx, qword [rcx + rax]
mov rcx, rdi
mov qword [rsp + 0x40], rbx
call fcn.14007aac0
mov r15, rax
test rax, rax
je 0x14006fc30
mov r8, rbx
mov rdx, rax
mov rcx, rdi
call fcn.1400799d0
test rax, rax
jne 0x14006fc1e
mov rbp, rax
mov ebx, eax
cmp dword [rdi + 0x28], eax
jle 0x14006f858
nop word [rax + rax]
mov rax, qword [r12]
mov edx, ebx
xor edx, 1
cmp ebx, 2
cmovge edx, ebx
movsxd rcx, edx
shl rcx, 5
mov r13, qword [rcx + rax + 0x18]
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x14006f824
mov r8, rax
mov rcx, rdi
call fcn.140077ad0
test eax, eax
je 0x14006f840
lea rcx, [r13 + 0x20]
xor r8d, r8d
mov rdx, r15
call fcn.140021150
mov rbp, qword [rax + 0x10]
test rbp, rbp
jne 0x14006fc1e
inc ebx
cmp ebx, dword [rdi + 0x28]
jl 0x14006f7f0
test rbp, rbp
jne 0x14006fc1e
mov r13d, dword [rsp + 0x90]
mov rbx, qword [rsp + 0xa8]
mov r8, r15
mov rdx, rbx
mov rcx, rdi
call fcn.14007dcb0
test eax, eax
jne 0x14006fc1e
mov rdx, rbx
mov rcx, r14
call fcn.14006f4e0
test eax, eax
jne 0x14006fc30
mov r9, r15
lea r8, str.table
mov rdx, r15
mov rcx, r14
call fcn.14007acc0
test eax, eax
jne 0x14006fc30
cmp byte [rbx + 0x3f], 2
mov rcx, r14
mov r9, qword [rbx]
jne 0x14006f8d6
mov r8, r9
lea rdx, str.view__s_may_not_be_altered
call fcn.14001e5a0
mov rdx, qword [rsp + 0x98]
mov rcx, rdi
call fcn.140082e30
jmp 0x14006fc45
mov r12, qword [rsp + 0x40]
xor ebp, ebp
mov r8, r12
mov qword [rsp + 0x20], rbp
lea edx, [rbp + 0x1a]
call fcn.140078e50
test eax, eax
jne 0x14006fc30
cmp byte [rbx + 0x3f], 1
je 0x14006f901
cmp word [rbx + 0x36], si
jg 0x14006f914
mov rdx, rbx
mov rcx, r14
call fcn.14007f010
test eax, eax
jne 0x14006fc30
cmp byte [rbx + 0x3f], 1
jne 0x14006f943
mov rsi, qword [rbx + 0x50]
test rsi, rsi
je 0x14006f931
cmp qword [rsi], rdi
je 0x14006f931
mov rsi, qword [rsi + 0x28]
test rsi, rsi
jne 0x14006f923
mov rax, qword [rsi + 0x10]
mov rcx, qword [rax]
cmp qword [rcx + 0x98], rbp
cmove rsi, rbp
mov rbx, qword [r14 + 0x10]
test rbx, rbx
je 0x14006f955
lea rax, [r14 + 0xb0]
jmp 0x14006f987
cmp qword [r14 + 0xb0], rbp
jne 0x14006f96c
mov rax, qword [r14]
test byte [rax + 0x60], 8
jne 0x14006f96c
mov byte [r14 + 0x23], 1
mov rcx, r14
call fcn.140048660
mov rbx, rax
lea rax, [r14 + 0xb0]
test rbx, rbx
je 0x14006fc30
mov rax, qword [rax]
mov rcx, r14
test rax, rax
cmovne rcx, rax
mov rax, qword [rsp + 0xa8]
xor edx, edx
mov byte [rcx + 0x21], 1
mov rcx, qword [rax]
mov qword [rsp + 0x90], rcx
mov rax, rcx
cmp byte [rcx], dl
je 0x14006f9ed
cmp rax, 0xffffffffffffffff
jae 0x14006f9e5
movzx ecx, byte [rax]
inc rax
cmp cl, 0xc0
jb 0x14006f9df
movzx ecx, byte [rax]
and cl, 0xc0
cmp cl, 0x80
jne 0x14006f9df
movzx ecx, byte [rax + 1]
inc rax
and cl, 0xc0
cmp cl, 0x80
je 0x14006f9d0
inc ebp
cmp byte [rax], dl
jne 0x14006f9b4
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x38], rcx
mov eax, edx
cmp r13d, 1
lea rdx, str.UPDATE___w_.sqlite_master_SET_sql__sqlite_rename_table__Q__type__name__sql___Q___Q___d__WHERE__type_index_OR_tbl_name_Q_COLLATE_nocase_AND___name_NOT_LIKE_sqliteX____ESCAPE_X
mov r9, r12
mov r8, r12
sete al
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rcx
mov rcx, r14
call fcn.140079800
mov rax, qword [rsp + 0x90]
lea rdx, str.UPDATE__Q.sqlite_master_SET_tbl_name___Q__name__CASE_WHEN_typetable_THEN__Q_WHEN_name_LIKE_sqliteX_autoindex___ESCAPE_X______AND_typeindex_THEN_sqlite_autoindex____Q__substr_name__d18__ELSE_name_END_WHERE_tbl_name_Q_COLLATE_nocase_AND__typetable_OR_typeindex_OR_typetrigger__
mov qword [rsp + 0x38], rax
mov r9, r15
mov dword [rsp + 0x30], ebp
mov r8, r12
mov qword [rsp + 0x28], r15
mov rcx, r14
mov qword [rsp + 0x20], r15
call fcn.140079800
mov r8, r12
lea rdx, str.sqlite_sequence
mov rcx, rdi
call fcn.1400799d0
test rax, rax
je 0x14006fa8a
mov rax, qword [rsp + 0xa8]
lea rdx, str.UPDATE___w_.sqlite_sequence_set_name___Q_WHERE_name___Q
mov r9, r15
mov r8, r12
mov rcx, r14
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
call fcn.140079800
cmp r13d, 1
je 0x14006fac1
mov rax, qword [rsp + 0x90]
lea rdx, str.UPDATE_sqlite_temp_schema_SET_sql__sqlite_rename_table__Q__type__name__sql___Q___Q__1___tbl_name__CASE_WHEN_tbl_name_Q_COLLATE_nocase_AND___sqlite_rename_test__Q__sql__type__name__1__after_rename__0__THEN__Q_ELSE_tbl_name_END_WHERE_type_IN__view__trigger_
mov qword [rsp + 0x38], r15
mov r9, rax
mov qword [rsp + 0x30], r12
mov r8, r12
mov qword [rsp + 0x28], rax
mov rcx, r14
mov qword [rsp + 0x20], r15
call fcn.140079800
test rsi, rsi
je 0x14006fba3
inc dword [r14 + 0x38]
movsxd rdx, dword [rbx + 0x90]
mov ebp, dword [r14 + 0x38]
cmp dword [rbx + 0x94], edx
jg 0x14006faff
xor r8d, r8d
mov dword [rsp + 0x20], 0
mov r9d, ebp
mov rcx, rbx
lea edx, [r8 + 0x75]
call fcn.140048950
mov edx, eax
jmp 0x14006fb2c
lea rcx, [rdx + rdx*2]
xor r8d, r8d
lea eax, [rdx + 1]
mov dword [rbx + 0x90], eax
mov rax, qword [rbx + 0x88]
mov qword [rax + rcx*8], 0x75
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
xor r9d, r9d
mov r8, r15
mov rcx, rbx
call fcn.140049950
movsxd rdx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], edx
jg 0x14006fb66
xor eax, eax
xor r9d, r9d
mov r8d, ebp
mov dword [rsp + 0x20], eax
mov edx, 0xb1
mov rcx, rbx
call fcn.140048950
mov edx, eax
jmp 0x14006fb92
lea rcx, [rdx + rdx*2]
xor r8d, r8d
lea eax, [rdx + 1]
mov dword [rbx + 0x90], eax
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0xb1
mov dword [rax + rcx*8 + 4], ebp
mov qword [rax + rcx*8 + 8], r8
mov qword [rax + rcx*8 + 0x10], r8
mov r9d, 0xfffffff5
mov r8, rsi
mov rcx, rbx
call fcn.140049950
mov r8d, 1
mov edx, r13d
mov rcx, r14
call fcn.14006f5d0
xor ebx, ebx
mov byte [r14 + 0x1c], 1
mov eax, ebx
mov dword [rsp + 0x30], ebx
cmp r13d, 1
lea rsi, str.after_rename
mov qword [rsp + 0x28], rsi
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
sete al
mov r9, r12
mov r8, r12
mov dword [rsp + 0x20], eax
mov rcx, r14
call fcn.140079800
cmp r13d, 1
je 0x14006fc30
mov r9, rsi
mov dword [rsp + 0x20], ebx
mov r8, r12
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, r14
call fcn.140079800
mov rdx, qword [rsp + 0x98]
mov rcx, rdi
call fcn.140082e30
jmp 0x14006fc45
mov r8, r15
lea rdx, str.there_is_already_another_table_or_index_with_this_name:__s
mov rcx, r14
jmp 0x14006f8bc
mov rdx, qword [rsp + 0x98]
mov rcx, rdi
call fcn.140082e30
test r15, r15
je 0x14006fc50
mov rdx, r15
mov rcx, rdi
call fcn.14001a550
mov rbx, qword [rsp + 0xa0]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret