Function at 0x1800687f0
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 rbp, r8
mov r14, rcx
mov r12d, ebx
mov edi, ebx
cmp byte [rsi + 0x67], bl
jne 0x180068d83
mov rcx, qword [rsp + 0x98]
lea r15, [rsi + 0x20]
mov r8, qword [rcx + 8]
test r8, r8
je 0x180068870
mov r9, qword [r15]
mov ecx, ebx
cmp qword [r9 + 0x18], r8
lea rax, [r9 + 0x18]
je 0x18006885b
nop word [rax + rax]
inc ecx
lea rax, [rax + 0x20]
cmp qword [rax], r8
jne 0x180068850
movsxd rax, ecx
mov rcx, qword [rsp + 0x98]
shl rax, 5
mov r9, qword [rax + r9]
jmp 0x180068874
mov r9, qword [rcx + 0x10]
mov r8, qword [rcx + 0x18]
xor edx, edx
mov rcx, r14
call fcn.180072ed0
mov qword [rsp + 0x40], rax
test rax, rax
je 0x180068d7b
mov rdx, qword [rax + 0x60]
mov r13d, 0xffff8000
mov dword [rsp + 0x90], r13d
test rdx, rdx
je 0x1800688d9
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 0x1800688d9
inc r13d
lea rcx, [rcx + 0x20]
cmp qword [rcx], rdx
jne 0x1800688c1
mov dword [rsp + 0x90], r13d
lea r15, [rsi + 0x20]
mov rax, qword [r15]
mov rdx, rbp
movsxd rcx, r13d
shl rcx, 5
mov rbx, qword [rcx + rax]
mov rcx, rsi
mov qword [rsp + 0xa8], rbx
call fcn.180073bd0
mov r12, rax
test rax, rax
je 0x180068d7b
mov r8, rbx
mov rdx, rax
mov rcx, rsi
call fcn.180072ae0
test rax, rax
jne 0x180068d69
mov rbp, rax
mov ebx, eax
cmp dword [rsi + 0x28], eax
jle 0x18006899a
nop word [rax + rax]
mov rax, qword [r15]
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 + 0xa8]
test rax, rax
je 0x180068966
mov r8, rax
mov rcx, rsi
call fcn.180070bd0
test eax, eax
je 0x180068982
lea rcx, [r13 + 0x20]
xor r8d, r8d
mov rdx, r12
call fcn.180019c00
mov rbp, qword [rax + 0x10]
test rbp, rbp
jne 0x180068d69
inc ebx
cmp ebx, dword [rsi + 0x28]
jl 0x180068930
test rbp, rbp
jne 0x180068d69
mov r13d, dword [rsp + 0x90]
mov r15, qword [rsp + 0x40]
mov r8, r12
mov rdx, r15
mov rcx, rsi
call fcn.180076e00
test eax, eax
jne 0x180068d69
mov rdx, r15
mov rcx, r14
call fcn.180068620
test eax, eax
jne 0x180068d7b
mov r9, r12
lea r8, str.table
mov rdx, r12
mov rcx, r14
call fcn.180073dd0
test eax, eax
jne 0x180068d7b
cmp byte [r15 + 0x3f], 2
mov rcx, r14
mov r9, qword [r15]
jne 0x180068a16
mov r8, r9
lea rdx, str.view__s_may_not_be_altered
call fcn.180016f30
mov rdx, qword [rsp + 0x98]
mov rcx, rsi
call fcn.18007bf20
jmp 0x180068d90
mov r8, qword [rsp + 0xa8]
xor ebx, ebx
mov qword [rsp + 0x20], rbx
lea edx, [rbx + 0x1a]
call fcn.180071f60
test eax, eax
jne 0x180068d7b
cmp byte [r15 + 0x3f], 1
je 0x180068a43
cmp word [r15 + 0x36], bx
jg 0x180068a56
mov rdx, r15
mov rcx, r14
call fcn.1800780e0
test eax, eax
jne 0x180068d7b
cmp byte [r15 + 0x3f], 1
jne 0x180068a86
mov rdi, qword [r15 + 0x50]
test rdi, rdi
je 0x180068a74
cmp qword [rdi], rsi
je 0x180068a74
mov rdi, qword [rdi + 0x28]
test rdi, rdi
jne 0x180068a66
mov rax, qword [rdi + 0x10]
mov rcx, qword [rax]
cmp qword [rcx + 0x98], rbx
cmove rdi, rbx
mov rbx, qword [r14 + 0x10]
test rbx, rbx
je 0x180068a98
lea rax, [r14 + 0xb0]
jmp 0x180068acb
cmp qword [r14 + 0xb0], 0
jne 0x180068ab0
mov rax, qword [r14]
test byte [rax + 0x60], 8
jne 0x180068ab0
mov byte [r14 + 0x23], 1
mov rcx, r14
call fcn.1800416e0
mov rbx, rax
lea rax, [r14 + 0xb0]
test rbx, rbx
je 0x180068d7b
mov rax, qword [rax]
mov rcx, r14
test rax, rax
cmovne rcx, rax
xor edx, edx
mov ebp, edx
mov byte [rcx + 0x21], 1
mov rcx, qword [r15]
mov qword [rsp + 0x90], rcx
mov rax, rcx
cmp byte [rcx], dl
je 0x180068b2d
cmp rax, 0xffffffffffffffff
jae 0x180068b25
movzx ecx, byte [rax]
inc rax
cmp cl, 0xc0
jb 0x180068b1f
movzx ecx, byte [rax]
and cl, 0xc0
cmp cl, 0x80
jne 0x180068b1f
nop
movzx ecx, byte [rax + 1]
inc rax
and cl, 0xc0
cmp cl, 0x80
je 0x180068b10
inc ebp
cmp byte [rax], dl
jne 0x180068af2
mov rcx, qword [rsp + 0x90]
mov r9, qword [rsp + 0xa8]
mov eax, edx
mov qword [rsp + 0x38], rcx
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 r8, r9
sete al
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rcx
mov rcx, r14
call fcn.180072910
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, r12
mov dword [rsp + 0x30], ebp
mov rcx, r14
mov rbp, qword [rsp + 0xa8]
mov r8, rbp
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
call fcn.180072910
mov r8, rbp
lea rdx, str.sqlite_sequence
mov rcx, rsi
call fcn.180072ae0
test rax, rax
je 0x180068bcf
mov rax, qword [r15]
lea rdx, str.UPDATE___w_.sqlite_sequence_set_name___Q_WHERE_name___Q
mov r9, r12
mov qword [rsp + 0x20], rax
mov r8, rbp
mov rcx, r14
call fcn.180072910
cmp r13d, 1
je 0x180068c06
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], r12
mov r9, rax
mov qword [rsp + 0x30], rbp
mov r8, rbp
mov qword [rsp + 0x28], rax
mov rcx, r14
mov qword [rsp + 0x20], r12
call fcn.180072910
xor r15d, r15d
test rdi, rdi
je 0x180068ced
inc dword [r14 + 0x38]
movsxd rdx, dword [rbx + 0x90]
mov ebp, dword [r14 + 0x38]
cmp dword [rbx + 0x94], edx
jg 0x180068c44
mov r9d, ebp
mov dword [rsp + 0x20], r15d
xor r8d, r8d
lea edx, [r15 + 0x75]
mov rcx, rbx
call fcn.1800419d0
mov edx, eax
jmp 0x180068c6e
lea rcx, [rdx + rdx*2]
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], r15d
mov qword [rax + rcx*8 + 0x10], r15
xor r9d, r9d
mov r8, r12
mov rcx, rbx
call fcn.1800429d0
movsxd rdx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], edx
jg 0x180068ca7
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, ebp
mov edx, 0xb1
mov rcx, rbx
call fcn.1800419d0
mov edx, eax
jmp 0x180068cd4
lea rcx, [rdx + rdx*2]
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], 0
mov qword [rax + rcx*8 + 0x10], r15
mov r9d, 0xfffffff5
mov r8, rdi
mov rcx, rbx
call fcn.1800429d0
mov rbp, qword [rsp + 0xa8]
mov r8d, 1
mov edx, r13d
mov rcx, r14
call fcn.180068710
mov eax, r15d
mov dword [rsp + 0x30], r15d
cmp r13d, 1
mov byte [r14 + 0x1c], 1
lea rbx, str.after_rename
mov r9, rbp
sete al
mov qword [rsp + 0x28], rbx
mov r8, rbp
mov dword [rsp + 0x20], eax
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 rcx, r14
call fcn.180072910
cmp r13d, 1
je 0x180068d7b
mov r9, rbx
mov dword [rsp + 0x20], r15d
mov r8, rbp
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.180072910
mov rdx, qword [rsp + 0x98]
mov rcx, rsi
call fcn.18007bf20
jmp 0x180068d90
mov r8, r12
lea rdx, str.there_is_already_another_table_or_index_with_this_name:__s
mov rcx, r14
jmp 0x1800689fc
mov rdx, qword [rsp + 0x98]
mov rcx, rsi
call fcn.18007bf20
test r12, r12
je 0x180068d9b
mov rdx, r12
mov rcx, rsi
call fcn.180012ea0
mov rbx, qword [rsp + 0xa0]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret