Function at 0x1400ae850
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 edi, ebx
mov ebp, ebx
cmp byte [rsi + 0x67], bl
jne 0x1400aee0b
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rcx + 8]
test rdx, rdx
je 0x1400ae8ba
mov r9, qword [rsi + 0x20]
mov ecx, ebx
cmp qword [r9 + 0x18], rdx
lea rax, [r9 + 0x18]
je 0x1400ae8ad
inc ecx
lea rax, [rax + 0x20]
cmp qword [rax], rdx
jne 0x1400ae8a2
movsxd rax, ecx
shl rax, 5
mov r9, qword [rax + r9]
jmp 0x1400ae8be
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.1400b8de0
mov qword [rsp + 0x40], rax
test rax, rax
je 0x1400aee0b
mov rdx, qword [rax + 0x60]
mov r15d, 0xffff8000
test rdx, rdx
je 0x1400ae920
mov rax, qword [r14]
mov r15d, ebx
mov rcx, qword [rax + 0x20]
add rcx, 0x18
cmp qword [rcx], rdx
je 0x1400ae920
inc r15d
lea rcx, [rcx + 0x20]
cmp qword [rcx], rdx
jne 0x1400ae910
lea r12, [rsi + 0x20]
mov rax, qword [r12]
mov rdx, r13
movsxd rcx, r15d
shl rcx, 5
mov qword [rsp + 0x48], rcx
mov rbx, qword [rcx + rax]
mov rcx, rsi
mov qword [rsp + 0xa8], rbx
call fcn.1400b9930
mov qword [rsp + 0x90], rax
mov rdi, rax
test rax, rax
je 0x1400aee0b
mov r8, rbx
mov rdx, rax
mov rcx, rsi
call fcn.1400b89f0
test rax, rax
jne 0x1400ae9d9
mov r13, rax
mov ebx, eax
cmp dword [rsi + 0x28], eax
jle 0x1400ae9fc
nop dword [rax]
mov rax, qword [rsp + 0xa8]
mov edi, ebx
xor edi, 1
cmp ebx, 2
cmovge edi, ebx
test rax, rax
je 0x1400ae9a9
mov r8, rax
mov edx, edi
mov rcx, rsi
call fcn.1400b68d0
test eax, eax
je 0x1400ae9e8
mov rax, qword [r12]
xor r8d, r8d
movsxd rcx, edi
mov rdi, qword [rsp + 0x90]
shl rcx, 5
mov rdx, rdi
mov rcx, qword [rcx + rax + 0x18]
add rcx, 0x20
call fcn.140062db0
mov r13, qword [rax + 0x10]
test r13, r13
je 0x1400ae9f0
mov r8, rdi
lea rdx, str.there_is_already_another_table_or_index_with_this_name:__s
mov rcx, r14
jmp 0x1400aea5b
mov rdi, qword [rsp + 0x90]
inc ebx
cmp ebx, dword [rsi + 0x28]
jl 0x1400ae980
test r13, r13
jne 0x1400ae9d9
mov r13, qword [rsp + 0x40]
mov r8, rdi
mov rdx, r13
mov rcx, rsi
call fcn.1400bccc0
test eax, eax
jne 0x1400ae9d9
mov rdx, r13
mov rcx, r14
call fcn.1400ae760
test eax, eax
jne 0x1400aee0b
mov r9, rdi
lea r8, str.table
mov rdx, rdi
mov rcx, r14
call fcn.1400b9bf0
test eax, eax
jne 0x1400aee0b
cmp byte [r13 + 0x3f], 2
mov rcx, r14
mov r9, qword [r13]
jne 0x1400aea75
mov r8, r9
lea rdx, str.view__s_may_not_be_altered
call fcn.1400616c0
mov rdx, qword [rsp + 0x98]
mov rcx, rsi
call fcn.1400c1980
jmp 0x1400aee20
mov r12, qword [rsp + 0xa8]
xor ebx, ebx
mov r8, r12
mov qword [rsp + 0x20], rbx
lea edx, [rbx + 0x1a]
call fcn.1400b7e60
test eax, eax
jne 0x1400aee0b
cmp byte [r13 + 0x3f], 1
je 0x1400aeaa5
cmp word [r13 + 0x36], bx
jg 0x1400aeab8
mov rdx, r13
mov rcx, r14
call fcn.1400bde50
test eax, eax
jne 0x1400aee0b
cmp byte [r13 + 0x3f], 1
jne 0x1400aeae9
mov rbp, qword [r13 + 0x50]
test rbp, rbp
je 0x1400aead7
cmp qword [rbp], rsi
je 0x1400aead7
mov rbp, qword [rbp + 0x28]
test rbp, rbp
jne 0x1400aeac8
mov rax, qword [rbp + 0x10]
mov rcx, qword [rax]
cmp qword [rcx + 0x98], rbx
cmove rbp, rbx
mov rax, qword [r14 + 0x10]
lea rbx, [r14 + 0xa8]
mov qword [rsp + 0x40], rax
test rax, rax
jne 0x1400aeb27
cmp qword [rbx], rax
jne 0x1400aeb11
mov rax, qword [r14]
test byte [rax + 0x60], 8
jne 0x1400aeb11
mov byte [r14 + 0x23], 1
mov rcx, r14
call fcn.140089130
mov qword [rsp + 0x40], rax
test rax, rax
je 0x1400aee0b
mov rax, qword [rbx]
mov rcx, r14
test rax, rax
cmovne rcx, rax
xor edx, edx
mov ebx, edx
mov byte [rcx + 0x21], 1
mov rcx, qword [r13]
mov qword [rsp + 0xa8], rcx
mov rax, rcx
cmp byte [rcx], dl
je 0x1400aeb8d
nop
cmp rax, 0xffffffffffffffff
jae 0x1400aeb85
movzx ecx, byte [rax]
inc rax
cmp cl, 0xc0
jb 0x1400aeb7f
movzx ecx, byte [rax]
and cl, 0xc0
cmp cl, 0x80
jne 0x1400aeb7f
nop dword [rax]
movzx ecx, byte [rax + 1]
inc rax
and cl, 0xc0
cmp cl, 0x80
je 0x1400aeb70
inc ebx
cmp byte [rax], dl
jne 0x1400aeb50
mov rcx, qword [rsp + 0xa8]
mov eax, edx
mov qword [rsp + 0x38], rcx
cmp r15d, 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], rdi
mov qword [rsp + 0x20], rcx
mov rcx, r14
mov dword [rsp + 0x90], eax
call fcn.1400b8820
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, rdi
mov dword [rsp + 0x30], ebx
mov r8, r12
mov qword [rsp + 0x28], rdi
mov rcx, r14
mov qword [rsp + 0x20], rdi
call fcn.1400b8820
mov r8, r12
lea rdx, str.sqlite_sequence
mov rcx, rsi
call fcn.1400b89f0
test rax, rax
je 0x1400aec2a
mov rax, qword [r13]
lea rdx, str.UPDATE___w_.sqlite_sequence_set_name___Q_WHERE_name___Q
mov r9, rdi
mov qword [rsp + 0x20], rax
mov r8, r12
mov rcx, r14
call fcn.1400b8820
cmp r15d, 1
je 0x1400aec61
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], rdi
mov r9, rax
mov qword [rsp + 0x30], r12
mov r8, r12
mov qword [rsp + 0x28], rax
mov rcx, r14
mov qword [rsp + 0x20], rdi
call fcn.1400b8820
test rbp, rbp
je 0x1400aecf1
inc dword [r14 + 0x38]
mov r8, rdi
mov ebx, dword [r14 + 0x38]
mov edx, ebx
mov r13, qword [rsp + 0x40]
mov rcx, r13
call fcn.1400894f0
movsxd rdx, dword [r13 + 0x90]
cmp dword [r13 + 0x94], edx
jg 0x1400aecb3
xor r9d, r9d
mov dword [rsp + 0x20], 0
mov r8d, ebx
mov edx, 0xb0
mov rcx, r13
call fcn.140089420
mov edx, eax
jmp 0x1400aece0
lea rcx, [rdx + rdx*2]
xor r8d, r8d
lea eax, [rdx + 1]
mov dword [r13 + 0x90], eax
mov rax, qword [r13 + 0x88]
mov dword [rax + rcx*8], 0xb0
mov dword [rax + rcx*8 + 4], ebx
mov qword [rax + rcx*8 + 8], r8
mov qword [rax + rcx*8 + 0x10], r8
mov r9d, 0xfffffff5
mov r8, rbp
mov rcx, r13
call fcn.14008a200
mov r10, qword [r14 + 0x10]
test r10, r10
je 0x1400aeda3
mov rax, qword [r14]
mov rcx, qword [rax + 0x20]
mov rax, qword [rsp + 0x48]
mov rax, qword [rcx + rax + 0x18]
movsxd rcx, dword [r10 + 0x90]
mov edx, dword [rax]
inc edx
cmp dword [r10 + 0x94], ecx
jg 0x1400aed3e
mov r9d, 1
mov dword [rsp + 0x20], edx
mov r8d, r15d
mov rcx, r10
lea edx, [r9 + 0x63]
call fcn.140089420
jmp 0x1400aed73
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [r10 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 0x88]
mov dword [rax + rcx*8], 0x64
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], 1
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r8
mov rcx, qword [r14 + 0x10]
mov r9d, 1
xor r8d, r8d
mov edx, r15d
call fcn.140089ae0
cmp r15d, 1
je 0x1400aeda3
mov rcx, qword [r14 + 0x10]
mov r9d, 1
mov edx, r9d
xor r8d, r8d
call fcn.140089ae0
mov eax, dword [rsp + 0x90]
lea rbx, str.after_rename
xor ebp, ebp
mov byte [r14 + 0x1c], 1
mov dword [rsp + 0x30], ebp
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], rbx
mov r9, r12
mov r8, r12
mov dword [rsp + 0x20], eax
mov rcx, r14
call fcn.1400b8820
cmp r15d, 1
je 0x1400aee0b
mov r9, rbx
mov dword [rsp + 0x20], ebp
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.1400b8820
mov rdx, qword [rsp + 0x98]
mov rcx, rsi
call fcn.1400c1980
jmp 0x1400aee20
mov rdx, qword [rsp + 0x98]
mov rcx, rsi
call fcn.1400c1980
test rdi, rdi
je 0x1400aee2b
mov rdx, rdi
mov rcx, rsi
call fcn.14005d4c0
mov rbx, qword [rsp + 0xa0]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret