Function at 0x14006e850
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 rsi, qword [rcx]
xor ebx, ebx
mov r13, r8
mov r14, rcx
mov r15d, ebx
mov ebp, ebx
cmp byte [rsi + 0x67], bl
jne 0x14006edfa
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rcx + 8]
test rdx, rdx
je 0x14006e8bb
mov r9, qword [rsi + 0x20]
mov ecx, ebx
cmp qword [r9 + 0x18], rdx
lea rax, [r9 + 0x18]
je 0x14006e8ae
inc ecx
lea rax, [rax + 0x20]
cmp qword [rax], rdx
jne 0x14006e8a3
movsxd rax, ecx
shl rax, 5
mov r9, qword [rax + r9]
jmp 0x14006e8bf
mov r9, qword [rcx + 0x10]
mov r8, qword [rsp + 0x98]
mov eax, 0x20
mov rcx, rsi
xor edx, edx
mov r8, qword [r8 + 0x18]
lea r12, [rcx + rax]
mov rcx, r14
call fcn.140078e30
mov qword [rsp + 0x40], rax
mov rdi, rax
test rax, rax
je 0x14006edfa
mov rdx, qword [rax + 0x60]
mov r8d, 0xffff8000
mov dword [rsp + 0x90], r8d
test rdx, rdx
je 0x14006e93b
mov rax, qword [r14]
mov r8d, ebx
mov dword [rsp + 0x90], ebx
mov rcx, qword [rax + 0x20]
add rcx, 0x18
cmp qword [rcx], rdx
je 0x14006e93b
inc r8d
lea rcx, [rcx + 0x20]
cmp qword [rcx], rdx
jne 0x14006e923
mov dword [rsp + 0x90], r8d
lea r12, [rsi + 0x20]
mov rax, qword [r12]
mov rdx, r13
movsxd rcx, r8d
shl rcx, 5
mov rbx, qword [rcx + rax]
mov rcx, rsi
mov qword [rsp + 0xa8], rbx
call fcn.140079b20
mov r15, rax
test rax, rax
je 0x14006edfa
mov r8, rbx
mov rdx, rax
mov rcx, rsi
call fcn.140078a30
test rax, rax
jne 0x14006ede8
mov r13, rax
mov ebx, eax
cmp dword [rsi + 0x28], eax
jle 0x14006e9fa
nop word [rax + rax]
mov rax, qword [rsp + 0xa8]
mov edi, ebx
xor edi, 1
cmp ebx, 2
cmovge edi, ebx
test rax, rax
je 0x14006e9b9
mov r8, rax
mov edx, edi
mov rcx, rsi
call fcn.140076b20
test eax, eax
je 0x14006e9e5
mov rax, qword [r12]
xor r8d, r8d
movsxd rcx, edi
mov rdx, r15
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
add rcx, 0x20
call fcn.140020740
mov r13, qword [rax + 0x10]
test r13, r13
jne 0x14006ede8
inc ebx
cmp ebx, dword [rsi + 0x28]
jl 0x14006e990
test r13, r13
jne 0x14006ede8
mov rdi, qword [rsp + 0x40]
mov r8, r15
mov rdx, rdi
mov rcx, rsi
call fcn.14007cd90
test eax, eax
jne 0x14006ede8
mov rdx, rdi
mov rcx, r14
call fcn.14006e680
test eax, eax
jne 0x14006edfa
mov r9, r15
lea r8, str.table
mov rdx, r15
mov rcx, r14
call fcn.140079d10
test eax, eax
jne 0x14006edfa
cmp byte [rdi + 0x3f], 2
mov rcx, r14
mov r9, qword [rdi]
jne 0x14006ea70
mov r8, r9
lea rdx, str.view__s_may_not_be_altered
call fcn.14001db80
mov rdx, qword [rsp + 0x98]
mov rcx, rsi
call fcn.140081fe0
jmp 0x14006ee0f
mov r12, qword [rsp + 0xa8]
xor r13d, r13d
mov r8, r12
mov qword [rsp + 0x20], r13
lea edx, [r13 + 0x1a]
call fcn.140077ea0
test eax, eax
jne 0x14006edfa
cmp byte [rdi + 0x3f], 1
je 0x14006eaa0
cmp word [rdi + 0x36], bp
jg 0x14006eab3
mov rdx, rdi
mov rcx, r14
call fcn.14007e120
test eax, eax
jne 0x14006edfa
cmp byte [rdi + 0x3f], 1
jne 0x14006eae3
mov rbp, qword [rdi + 0x50]
test rbp, rbp
je 0x14006ead1
cmp qword [rbp], rsi
je 0x14006ead1
mov rbp, qword [rbp + 0x28]
test rbp, rbp
jne 0x14006eac2
mov rax, qword [rbp + 0x10]
mov rcx, qword [rax]
cmp qword [rcx + 0x98], r13
cmove rbp, r13
mov rbx, qword [r14 + 0x10]
test rbx, rbx
je 0x14006eaf5
lea rax, [r14 + 0xb0]
jmp 0x14006eb27
cmp qword [r14 + 0xb0], r13
jne 0x14006eb0c
mov rax, qword [r14]
test byte [rax + 0x60], 8
jne 0x14006eb0c
mov byte [r14 + 0x23], 1
mov rcx, r14
call fcn.140047b50
mov rbx, rax
lea rax, [r14 + 0xb0]
test rbx, rbx
je 0x14006edfa
mov rax, qword [rax]
mov rcx, r14
test rax, rax
cmovne rcx, rax
mov byte [rcx + 0x21], 1
mov rcx, qword [rdi]
mov edi, r13d
mov qword [rsp + 0xa8], rcx
mov rax, rcx
cmp byte [rcx], 0
je 0x14006eb8e
nop
cmp rax, 0xffffffffffffffff
jae 0x14006eb86
movzx ecx, byte [rax]
inc rax
cmp cl, 0xc0
jb 0x14006eb7f
movzx ecx, byte [rax]
and cl, 0xc0
cmp cl, 0x80
jne 0x14006eb7f
nop dword [rax]
movzx ecx, byte [rax + 1]
inc rax
and cl, 0xc0
cmp cl, 0x80
je 0x14006eb70
inc edi
cmp byte [rax], 0
jne 0x14006eb50
mov rcx, qword [rsp + 0xa8]
mov eax, r13d
mov qword [rsp + 0x38], rcx
mov r13d, dword [rsp + 0x90]
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
cmp r13d, 1
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
mov dword [rsp + 0x90], eax
call fcn.140078860
mov rax, qword [rsp + 0xa8]
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], edi
mov r8, r12
mov qword [rsp + 0x28], r15
mov rcx, r14
mov qword [rsp + 0x20], r15
call fcn.140078860
mov r8, r12
lea rdx, str.sqlite_sequence
mov rcx, rsi
call fcn.140078a30
test rax, rax
je 0x14006ec38
mov rax, qword [rsp + 0x40]
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.140078860
cmp r13d, 1
je 0x14006ec6f
mov rax, qword [rsp + 0xa8]
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.140078860
test rbp, rbp
je 0x14006ed6f
inc dword [r14 + 0x38]
movsxd rdx, dword [rbx + 0x90]
mov edi, dword [r14 + 0x38]
cmp dword [rbx + 0x94], edx
jg 0x14006ecbc
xor r8d, r8d
mov dword [rsp + 0x20], 0
mov r9d, edi
mov rcx, rbx
lea edx, [r8 + 0x75]
call fcn.140047e40
mov edx, eax
lea rax, [rbx + 0x88]
mov qword [rsp + 0xa8], rax
jmp 0x14006ecf4
lea rcx, [rdx + rdx*2]
lea r8, [rbx + 0x88]
lea eax, [rdx + 1]
mov qword [rsp + 0xa8], r8
mov dword [rbx + 0x90], eax
mov rax, qword [r8]
xor r8d, r8d
mov qword [rax + rcx*8], 0x75
mov dword [rax + rcx*8 + 8], edi
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.140048e70
movsxd rdx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], edx
jg 0x14006ed2e
xor eax, eax
xor r9d, r9d
mov r8d, edi
mov dword [rsp + 0x20], eax
mov edx, 0xb1
mov rcx, rbx
call fcn.140047e40
mov edx, eax
jmp 0x14006ed5e
lea rcx, [rdx + rdx*2]
xor r8d, r8d
lea eax, [rdx + 1]
mov dword [rbx + 0x90], eax
mov rax, qword [rsp + 0xa8]
mov rax, qword [rax]
mov dword [rax + rcx*8], 0xb1
mov dword [rax + rcx*8 + 4], edi
mov qword [rax + rcx*8 + 8], r8
mov qword [rax + rcx*8 + 0x10], r8
mov r9d, 0xfffffff5
mov r8, rbp
mov rcx, rbx
call fcn.140048e70
mov r8d, 1
mov edx, r13d
mov rcx, r14
call fcn.14006e770
mov eax, dword [rsp + 0x90]
lea rdi, str.after_rename
xor ebx, ebx
mov byte [r14 + 0x1c], 1
mov dword [rsp + 0x30], ebx
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], rdi
mov r9, r12
mov r8, r12
mov dword [rsp + 0x20], eax
mov rcx, r14
call fcn.140078860
cmp r13d, 1
je 0x14006edfa
mov r9, rdi
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.140078860
mov rdx, qword [rsp + 0x98]
mov rcx, rsi
call fcn.140081fe0
jmp 0x14006ee0f
mov r8, r15
lea rdx, str.there_is_already_another_table_or_index_with_this_name:__s
mov rcx, r14
jmp 0x14006ea56
mov rdx, qword [rsp + 0x98]
mov rcx, rsi
call fcn.140081fe0
test r15, r15
je 0x14006ee1a
mov rdx, r15
mov rcx, rsi
call fcn.140019ca0
mov rbx, qword [rsp + 0xa0]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret