Function at 0x140058550
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 0x140058b0b
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rcx + 8]
test rdx, rdx
je 0x1400585ba
mov r9, qword [rsi + 0x20]
mov ecx, ebx
cmp qword [r9 + 0x18], rdx
lea rax, [r9 + 0x18]
je 0x1400585ad
inc ecx
lea rax, [rax + 0x20]
cmp qword [rax], rdx
jne 0x1400585a2
movsxd rax, ecx
shl rax, 5
mov r9, qword [rax + r9]
jmp 0x1400585be
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.140062c70
mov qword [rsp + 0x40], rax
test rax, rax
je 0x140058b0b
mov rdx, qword [rax + 0x60]
mov r15d, 0xffff8000
test rdx, rdx
je 0x140058620
mov rax, qword [r14]
mov r15d, ebx
mov rcx, qword [rax + 0x20]
add rcx, 0x18
cmp qword [rcx], rdx
je 0x140058620
inc r15d
lea rcx, [rcx + 0x20]
cmp qword [rcx], rdx
jne 0x140058610
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.1400637c0
mov qword [rsp + 0x90], rax
mov rdi, rax
test rax, rax
je 0x140058b0b
mov r8, rbx
mov rdx, rax
mov rcx, rsi
call fcn.140062880
test rax, rax
jne 0x1400586d9
mov r13, rax
mov ebx, eax
cmp dword [rsi + 0x28], eax
jle 0x1400586fc
nop dword [rax]
mov rax, qword [rsp + 0xa8]
mov edi, ebx
xor edi, 1
cmp ebx, 2
cmovge edi, ebx
test rax, rax
je 0x1400586a9
mov r8, rax
mov edx, edi
mov rcx, rsi
call fcn.140060760
test eax, eax
je 0x1400586e8
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.14000cdd0
mov r13, qword [rax + 0x10]
test r13, r13
je 0x1400586f0
mov r8, rdi
lea rdx, str.there_is_already_another_table_or_index_with_this_name:__s
mov rcx, r14
jmp 0x14005875b
mov rdi, qword [rsp + 0x90]
inc ebx
cmp ebx, dword [rsi + 0x28]
jl 0x140058680
test r13, r13
jne 0x1400586d9
mov r13, qword [rsp + 0x40]
mov r8, rdi
mov rdx, r13
mov rcx, rsi
call fcn.140066b50
test eax, eax
jne 0x1400586d9
mov rdx, r13
mov rcx, r14
call fcn.140058460
test eax, eax
jne 0x140058b0b
mov r9, rdi
lea r8, str.table
mov rdx, rdi
mov rcx, r14
call fcn.140063a80
test eax, eax
jne 0x140058b0b
cmp byte [r13 + 0x3f], 2
mov rcx, r14
mov r9, qword [r13]
jne 0x140058775
mov r8, r9
lea rdx, str.view__s_may_not_be_altered
call fcn.14000a210
mov rdx, qword [rsp + 0x98]
mov rcx, rsi
call fcn.14006b870
jmp 0x140058b20
mov r12, qword [rsp + 0xa8]
xor ebx, ebx
mov r8, r12
mov qword [rsp + 0x20], rbx
lea edx, [rbx + 0x1a]
call fcn.140061cf0
test eax, eax
jne 0x140058b0b
cmp byte [r13 + 0x3f], 1
je 0x1400587a5
cmp word [r13 + 0x36], bx
jg 0x1400587b8
mov rdx, r13
mov rcx, r14
call fcn.140067cf0
test eax, eax
jne 0x140058b0b
cmp byte [r13 + 0x3f], 1
jne 0x1400587e9
mov rbp, qword [r13 + 0x50]
test rbp, rbp
je 0x1400587d7
cmp qword [rbp], rsi
je 0x1400587d7
mov rbp, qword [rbp + 0x28]
test rbp, rbp
jne 0x1400587c8
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 0x140058827
cmp qword [rbx], rax
jne 0x140058811
mov rax, qword [r14]
test byte [rax + 0x60], 8
jne 0x140058811
mov byte [r14 + 0x23], 1
mov rcx, r14
call fcn.140032f00
mov qword [rsp + 0x40], rax
test rax, rax
je 0x140058b0b
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 0x14005888d
nop
cmp rax, 0xffffffffffffffff
jae 0x140058885
movzx ecx, byte [rax]
inc rax
cmp cl, 0xc0
jb 0x14005887f
movzx ecx, byte [rax]
and cl, 0xc0
cmp cl, 0x80
jne 0x14005887f
nop dword [rax]
movzx ecx, byte [rax + 1]
inc rax
and cl, 0xc0
cmp cl, 0x80
je 0x140058870
inc ebx
cmp byte [rax], dl
jne 0x140058850
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.1400626b0
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.1400626b0
mov r8, r12
lea rdx, str.sqlite_sequence
mov rcx, rsi
call fcn.140062880
test rax, rax
je 0x14005892a
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.1400626b0
cmp r15d, 1
je 0x140058961
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.1400626b0
test rbp, rbp
je 0x1400589f1
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.140033360
movsxd rdx, dword [r13 + 0x90]
cmp dword [r13 + 0x94], edx
jg 0x1400589b3
xor r9d, r9d
mov dword [rsp + 0x20], 0
mov r8d, ebx
mov edx, 0xb0
mov rcx, r13
call fcn.1400331f0
mov edx, eax
jmp 0x1400589e0
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.140033fd0
mov r10, qword [r14 + 0x10]
test r10, r10
je 0x140058aa3
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 0x140058a3e
mov r9d, 1
mov dword [rsp + 0x20], edx
mov r8d, r15d
mov rcx, r10
lea edx, [r9 + 0x63]
call fcn.1400331f0
jmp 0x140058a73
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.140033950
cmp r15d, 1
je 0x140058aa3
mov rcx, qword [r14 + 0x10]
mov r9d, 1
mov edx, r9d
xor r8d, r8d
call fcn.140033950
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.1400626b0
cmp r15d, 1
je 0x140058b0b
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.1400626b0
mov rdx, qword [rsp + 0x98]
mov rcx, rsi
call fcn.14006b870
jmp 0x140058b20
mov rdx, qword [rsp + 0x98]
mov rcx, rsi
call fcn.14006b870
test rdi, rdi
je 0x140058b2b
mov rdx, rdi
mov rcx, rsi
call fcn.1400063f0
mov rbx, qword [rsp + 0xa0]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret