Function at 0x140058630
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 0x140058beb
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rcx + 8]
test rdx, rdx
je 0x14005869a
mov r9, qword [rsi + 0x20]
mov ecx, ebx
cmp qword [r9 + 0x18], rdx
lea rax, [r9 + 0x18]
je 0x14005868d
inc ecx
lea rax, [rax + 0x20]
cmp qword [rax], rdx
jne 0x140058682
movsxd rax, ecx
shl rax, 5
mov r9, qword [rax + r9]
jmp 0x14005869e
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.140062d50
mov qword [rsp + 0x40], rax
test rax, rax
je 0x140058beb
mov rdx, qword [rax + 0x60]
mov r15d, 0xffff8000
test rdx, rdx
je 0x140058700
mov rax, qword [r14]
mov r15d, ebx
mov rcx, qword [rax + 0x20]
add rcx, 0x18
cmp qword [rcx], rdx
je 0x140058700
inc r15d
lea rcx, [rcx + 0x20]
cmp qword [rcx], rdx
jne 0x1400586f0
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.1400638a0
mov qword [rsp + 0x90], rax
mov rdi, rax
test rax, rax
je 0x140058beb
mov r8, rbx
mov rdx, rax
mov rcx, rsi
call fcn.140062960
test rax, rax
jne 0x1400587b9
mov r13, rax
mov ebx, eax
cmp dword [rsi + 0x28], eax
jle 0x1400587dc
nop dword [rax]
mov rax, qword [rsp + 0xa8]
mov edi, ebx
xor edi, 1
cmp ebx, 2
cmovge edi, ebx
test rax, rax
je 0x140058789
mov r8, rax
mov edx, edi
mov rcx, rsi
call fcn.140060840
test eax, eax
je 0x1400587c8
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.14000ceb0
mov r13, qword [rax + 0x10]
test r13, r13
je 0x1400587d0
mov r8, rdi
lea rdx, str.there_is_already_another_table_or_index_with_this_name:__s
mov rcx, r14
jmp 0x14005883b
mov rdi, qword [rsp + 0x90]
inc ebx
cmp ebx, dword [rsi + 0x28]
jl 0x140058760
test r13, r13
jne 0x1400587b9
mov r13, qword [rsp + 0x40]
mov r8, rdi
mov rdx, r13
mov rcx, rsi
call fcn.140066c30
test eax, eax
jne 0x1400587b9
mov rdx, r13
mov rcx, r14
call fcn.140058540
test eax, eax
jne 0x140058beb
mov r9, rdi
lea r8, str.table
mov rdx, rdi
mov rcx, r14
call fcn.140063b60
test eax, eax
jne 0x140058beb
cmp byte [r13 + 0x3f], 2
mov rcx, r14
mov r9, qword [r13]
jne 0x140058855
mov r8, r9
lea rdx, str.view__s_may_not_be_altered
call fcn.14000a2f0
mov rdx, qword [rsp + 0x98]
mov rcx, rsi
call fcn.14006b950
jmp 0x140058c00
mov r12, qword [rsp + 0xa8]
xor ebx, ebx
mov r8, r12
mov qword [rsp + 0x20], rbx
lea edx, [rbx + 0x1a]
call fcn.140061dd0
test eax, eax
jne 0x140058beb
cmp byte [r13 + 0x3f], 1
je 0x140058885
cmp word [r13 + 0x36], bx
jg 0x140058898
mov rdx, r13
mov rcx, r14
call fcn.140067dd0
test eax, eax
jne 0x140058beb
cmp byte [r13 + 0x3f], 1
jne 0x1400588c9
mov rbp, qword [r13 + 0x50]
test rbp, rbp
je 0x1400588b7
cmp qword [rbp], rsi
je 0x1400588b7
mov rbp, qword [rbp + 0x28]
test rbp, rbp
jne 0x1400588a8
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 0x140058907
cmp qword [rbx], rax
jne 0x1400588f1
mov rax, qword [r14]
test byte [rax + 0x60], 8
jne 0x1400588f1
mov byte [r14 + 0x23], 1
mov rcx, r14
call fcn.140032fe0
mov qword [rsp + 0x40], rax
test rax, rax
je 0x140058beb
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 0x14005896d
nop
cmp rax, 0xffffffffffffffff
jae 0x140058965
movzx ecx, byte [rax]
inc rax
cmp cl, 0xc0
jb 0x14005895f
movzx ecx, byte [rax]
and cl, 0xc0
cmp cl, 0x80
jne 0x14005895f
nop dword [rax]
movzx ecx, byte [rax + 1]
inc rax
and cl, 0xc0
cmp cl, 0x80
je 0x140058950
inc ebx
cmp byte [rax], dl
jne 0x140058930
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.140062790
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.140062790
mov r8, r12
lea rdx, str.sqlite_sequence
mov rcx, rsi
call fcn.140062960
test rax, rax
je 0x140058a0a
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.140062790
cmp r15d, 1
je 0x140058a41
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.140062790
test rbp, rbp
je 0x140058ad1
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.140033440
movsxd rdx, dword [r13 + 0x90]
cmp dword [r13 + 0x94], edx
jg 0x140058a93
xor r9d, r9d
mov dword [rsp + 0x20], 0
mov r8d, ebx
mov edx, 0xb0
mov rcx, r13
call fcn.1400332d0
mov edx, eax
jmp 0x140058ac0
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.1400340b0
mov r10, qword [r14 + 0x10]
test r10, r10
je 0x140058b83
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 0x140058b1e
mov r9d, 1
mov dword [rsp + 0x20], edx
mov r8d, r15d
mov rcx, r10
lea edx, [r9 + 0x63]
call fcn.1400332d0
jmp 0x140058b53
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.140033a30
cmp r15d, 1
je 0x140058b83
mov rcx, qword [r14 + 0x10]
mov r9d, 1
mov edx, r9d
xor r8d, r8d
call fcn.140033a30
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.140062790
cmp r15d, 1
je 0x140058beb
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.140062790
mov rdx, qword [rsp + 0x98]
mov rcx, rsi
call fcn.14006b950
jmp 0x140058c00
mov rdx, qword [rsp + 0x98]
mov rcx, rsi
call fcn.14006b950
test rdi, rdi
je 0x140058c0b
mov rdx, rdi
mov rcx, rsi
call fcn.1400064d0
mov rbx, qword [rsp + 0xa0]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret