Function at 0x180058db0
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 0x18005936b
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rcx + 8]
test rdx, rdx
je 0x180058e1a
mov r9, qword [rsi + 0x20]
mov ecx, ebx
cmp qword [r9 + 0x18], rdx
lea rax, [r9 + 0x18]
je 0x180058e0d
inc ecx
lea rax, [rax + 0x20]
cmp qword [rax], rdx
jne 0x180058e02
movsxd rax, ecx
shl rax, 5
mov r9, qword [rax + r9]
jmp 0x180058e1e
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.1800634d0
mov qword [rsp + 0x40], rax
test rax, rax
je 0x18005936b
mov rdx, qword [rax + 0x60]
mov r15d, 0xffff8000
test rdx, rdx
je 0x180058e80
mov rax, qword [r14]
mov r15d, ebx
mov rcx, qword [rax + 0x20]
add rcx, 0x18
cmp qword [rcx], rdx
je 0x180058e80
inc r15d
lea rcx, [rcx + 0x20]
cmp qword [rcx], rdx
jne 0x180058e70
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.180064020
mov qword [rsp + 0x90], rax
mov rdi, rax
test rax, rax
je 0x18005936b
mov r8, rbx
mov rdx, rax
mov rcx, rsi
call fcn.1800630e0
test rax, rax
jne 0x180058f39
mov r13, rax
mov ebx, eax
cmp dword [rsi + 0x28], eax
jle 0x180058f5c
nop dword [rax]
mov rax, qword [rsp + 0xa8]
mov edi, ebx
xor edi, 1
cmp ebx, 2
cmovge edi, ebx
test rax, rax
je 0x180058f09
mov r8, rax
mov edx, edi
mov rcx, rsi
call fcn.180060fc0
test eax, eax
je 0x180058f48
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.18000d630
mov r13, qword [rax + 0x10]
test r13, r13
je 0x180058f50
mov r8, rdi
lea rdx, str.there_is_already_another_table_or_index_with_this_name:__s
mov rcx, r14
jmp 0x180058fbb
mov rdi, qword [rsp + 0x90]
inc ebx
cmp ebx, dword [rsi + 0x28]
jl 0x180058ee0
test r13, r13
jne 0x180058f39
mov r13, qword [rsp + 0x40]
mov r8, rdi
mov rdx, r13
mov rcx, rsi
call fcn.1800673b0
test eax, eax
jne 0x180058f39
mov rdx, r13
mov rcx, r14
call fcn.180058cc0
test eax, eax
jne 0x18005936b
mov r9, rdi
lea r8, str.table
mov rdx, rdi
mov rcx, r14
call fcn.1800642e0
test eax, eax
jne 0x18005936b
cmp byte [r13 + 0x3f], 2
mov rcx, r14
mov r9, qword [r13]
jne 0x180058fd5
mov r8, r9
lea rdx, str.view__s_may_not_be_altered
call fcn.18000aa70
mov rdx, qword [rsp + 0x98]
mov rcx, rsi
call fcn.18006c0d0
jmp 0x180059380
mov r12, qword [rsp + 0xa8]
xor ebx, ebx
mov r8, r12
mov qword [rsp + 0x20], rbx
lea edx, [rbx + 0x1a]
call fcn.180062550
test eax, eax
jne 0x18005936b
cmp byte [r13 + 0x3f], 1
je 0x180059005
cmp word [r13 + 0x36], bx
jg 0x180059018
mov rdx, r13
mov rcx, r14
call fcn.180068550
test eax, eax
jne 0x18005936b
cmp byte [r13 + 0x3f], 1
jne 0x180059049
mov rbp, qword [r13 + 0x50]
test rbp, rbp
je 0x180059037
cmp qword [rbp], rsi
je 0x180059037
mov rbp, qword [rbp + 0x28]
test rbp, rbp
jne 0x180059028
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 0x180059087
cmp qword [rbx], rax
jne 0x180059071
mov rax, qword [r14]
test byte [rax + 0x60], 8
jne 0x180059071
mov byte [r14 + 0x23], 1
mov rcx, r14
call fcn.180033760
mov qword [rsp + 0x40], rax
test rax, rax
je 0x18005936b
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 0x1800590ed
nop
cmp rax, 0xffffffffffffffff
jae 0x1800590e5
movzx ecx, byte [rax]
inc rax
cmp cl, 0xc0
jb 0x1800590df
movzx ecx, byte [rax]
and cl, 0xc0
cmp cl, 0x80
jne 0x1800590df
nop dword [rax]
movzx ecx, byte [rax + 1]
inc rax
and cl, 0xc0
cmp cl, 0x80
je 0x1800590d0
inc ebx
cmp byte [rax], dl
jne 0x1800590b0
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.180062f10
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.180062f10
mov r8, r12
lea rdx, str.sqlite_sequence
mov rcx, rsi
call fcn.1800630e0
test rax, rax
je 0x18005918a
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.180062f10
cmp r15d, 1
je 0x1800591c1
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.180062f10
test rbp, rbp
je 0x180059251
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.180033bc0
movsxd rdx, dword [r13 + 0x90]
cmp dword [r13 + 0x94], edx
jg 0x180059213
xor r9d, r9d
mov dword [rsp + 0x20], 0
mov r8d, ebx
mov edx, 0xb0
mov rcx, r13
call fcn.180033a50
mov edx, eax
jmp 0x180059240
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.180034830
mov r10, qword [r14 + 0x10]
test r10, r10
je 0x180059303
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 0x18005929e
mov r9d, 1
mov dword [rsp + 0x20], edx
mov r8d, r15d
mov rcx, r10
lea edx, [r9 + 0x63]
call fcn.180033a50
jmp 0x1800592d3
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.1800341b0
cmp r15d, 1
je 0x180059303
mov rcx, qword [r14 + 0x10]
mov r9d, 1
mov edx, r9d
xor r8d, r8d
call fcn.1800341b0
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.180062f10
cmp r15d, 1
je 0x18005936b
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.180062f10
mov rdx, qword [rsp + 0x98]
mov rcx, rsi
call fcn.18006c0d0
jmp 0x180059380
mov rdx, qword [rsp + 0x98]
mov rcx, rsi
call fcn.18006c0d0
test rdi, rdi
je 0x18005938b
mov rdx, rdi
mov rcx, rsi
call fcn.180006c50
mov rbx, qword [rsp + 0xa0]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret