Function at 0x1400cf6dc
Capabilities:
Reference sql statements

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x30
xor r14d, r14d
mov rdi, rdx
mov rbp, rcx
cmp byte [rdx + 0x28], r14b
jne 0x1400cf710
lea r8, str.cannot_VACUUM_from_within_a_transaction
call fcn.1400d1a5c
mov eax, 1
jmp 0x1400cfa5a
cmp dword [rdx + 0xb0], 1
jle 0x1400cf722
lea r8, str.cannot_VACUUM___SQL_statements_in_progress
jmp 0x1400cf701
mov eax, dword [rdx + 0x18]
mov ecx, dword [rdx + 0x4c]
mov ebx, dword [rdx + 8]
mov dword [rsp + 0x88], eax
and eax, 0xfaffffff
mov dword [rsp + 0x20], ecx
mov ecx, dword [rdx + 0x50]
or eax, 0x10050000
lea r8, str.ATTACH_:memory:_AS_vacuum_db_
mov dword [rdx + 0x18], eax
mov rax, qword [rdx + 0x10]
mov dword [rsp + 0x24], ecx
mov rcx, qword [rdx + 0xc0]
and qword [rdx + 0xc0], r14
mov r12, qword [rax + 8]
mov rax, qword [r12 + 8]
cmp byte [rdx + 0x29], 2
mov qword [rsp + 0x28], rcx
mov rcx, qword [rax]
mov rdx, rbp
movzx eax, byte [rcx + 0x12]
mov rcx, rdi
mov dword [rsp + 0x78], eax
lea rax, str.ATTACH__AS_vacuum_db_
cmovne r8, rax
call fcn.1400a86e8
mov esi, eax
movsxd rax, dword [rdi + 8]
cmp eax, ebx
jle 0x1400cf7ae
lea ecx, [rax - 1]
movsxd r14, ecx
shl r14, 5
add r14, qword [rdi + 0x10]
test esi, esi
jne 0x1400cf9f8
mov rcx, rax
mov rax, qword [rdi + 0x10]
shl rcx, 5
mov r13, qword [rcx + rax - 0x18]
mov rcx, r13
call fcn.1400baf04
mov rcx, r12
call fcn.1400bb6b8
mov rax, qword [r12 + 8]
mov rcx, r12
mov ebx, dword [rax + 0x34]
sub ebx, dword [rax + 0x38]
mov dword [rsp + 0x80], ebx
call fcn.1400bbf0c
mov rax, qword [r12 + 8]
mov rcx, qword [rax]
cmp byte [rcx + 9], 5
jne 0x1400cf801
and dword [rdi + 0x30], esi
mov rax, qword [r12 + 8]
xor r9d, r9d
mov r8d, ebx
mov edx, dword [rax + 0x34]
mov rcx, r13
call fcn.1400bcf7c
test eax, eax
jne 0x1400cf9f3
cmp dword [rsp + 0x78], eax
jne 0x1400cf83e
mov edx, dword [rdi + 0x30]
xor r9d, r9d
mov r8d, ebx
mov rcx, r13
call fcn.1400bcf7c
test eax, eax
jne 0x1400cf9f3
cmp byte [rdi + 0x2a], 0
jne 0x1400cf9f3
lea r8, str.PRAGMA_vacuum_db.synchronousOFF
mov rdx, rbp
mov rcx, rdi
call fcn.1400a86e8
mov esi, eax
test eax, eax
jne 0x1400cf9f8
mov al, byte [rdi + 0x2c]
test al, al
js 0x1400cf870
movsx eax, al
jmp 0x1400cf878
mov rcx, r12
call fcn.1400bb7c0
mov edx, eax
mov rcx, r13
call fcn.1400bceac
lea r8, str.BEGIN_EXCLUSIVE_
mov rdx, rbp
mov rcx, rdi
call fcn.1400a86e8
mov esi, eax
test eax, eax
jne 0x1400cf9f8
lea r8, str.SELECT_CREATE_TABLE_vacuum_db.__substr_sql_14____FROM_sqlite_master_WHERE_typetable_AND_name_sqlite_sequence___AND_rootpage_0
mov rdx, rbp
mov rcx, rdi
call fcn.1400a8640
mov esi, eax
test eax, eax
jne 0x1400cf9f8
lea r8, str.SELECT_CREATE_INDEX_vacuum_db.__substr_sql_14___FROM_sqlite_master_WHERE_sql_LIKE_CREATE_INDEX__
mov rdx, rbp
mov rcx, rdi
call fcn.1400a8640
mov esi, eax
test eax, eax
jne 0x1400cf9f8
lea r8, str.SELECT_CREATE_UNIQUE_INDEX_vacuum_db.__substr_sql_21____FROM_sqlite_master_WHERE_sql_LIKE_CREATE_UNIQUE_INDEX__
mov rdx, rbp
mov rcx, rdi
call fcn.1400a8640
mov esi, eax
test eax, eax
jne 0x1400cf9f8
lea r8, str.SELECT_INSERT_INTO_vacuum_db.__quote_name____SELECT__FROM_main.__quote_name____FROM_main.sqlite_master_WHERE_type__table_AND_name_sqlite_sequence___AND_rootpage_0
mov rdx, rbp
mov rcx, rdi
call fcn.1400a8640
mov esi, eax
test eax, eax
jne 0x1400cf9f8
lea r8, str.SELECT_DELETE_FROM_vacuum_db.__quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence
mov rdx, rbp
mov rcx, rdi
call fcn.1400a8640
mov esi, eax
test eax, eax
jne 0x1400cf9f8
lea r8, str.SELECT_INSERT_INTO_vacuum_db.__quote_name____SELECT__FROM_main.__quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence_
mov rdx, rbp
mov rcx, rdi
call fcn.1400a8640
mov esi, eax
test eax, eax
jne 0x1400cf9f8
lea r8, str.INSERT_INTO_vacuum_db.sqlite_master___SELECT_type__name__tbl_name__rootpage__sql____FROM_main.sqlite_master___WHERE_typeview_OR_typetrigger______OR__typetable_AND_rootpage0_
mov rdx, rbp
mov rcx, rdi
call fcn.1400a86e8
mov esi, eax
test eax, eax
jne 0x1400cf9f8
xor ebx, ebx
lea rsi, [0x14011d808]
lea r8, [rsp + 0x78]
mov rcx, r12
movzx edx, byte [rbx + rsi]
call fcn.1400bb800
movzx r8d, byte [rbx + rsi + 1]
movzx edx, byte [rbx + rsi]
add r8d, dword [rsp + 0x78]
mov rcx, r13
call fcn.1400bd15c
mov esi, eax
test eax, eax
jne 0x1400cf9f8
add rbx, 2
cmp rbx, 8
jl 0x1400cf964
mov rdx, r13
mov rcx, r12
call fcn.1400bb088
mov esi, eax
test eax, eax
jne 0x1400cf9f8
mov rcx, r13
call fcn.1400baf04
mov esi, eax
test eax, eax
jne 0x1400cf9f8
mov rcx, r13
call fcn.1400bb7c0
mov rcx, r12
mov edx, eax
call fcn.1400bceac
mov rax, qword [r13 + 8]
mov r8d, dword [rsp + 0x80]
mov edx, dword [rax + 0x34]
lea r9d, [rsi + 1]
mov rcx, r12
call fcn.1400bcf7c
mov esi, eax
jmp 0x1400cf9f8
mov esi, 7
mov eax, dword [rsp + 0x88]
or ebx, 0xffffffff
mov r9d, 1
mov dword [rdi + 0x18], eax
mov eax, dword [rsp + 0x20]
mov r8d, ebx
mov dword [rdi + 0x4c], eax
mov eax, dword [rsp + 0x24]
mov edx, ebx
mov dword [rdi + 0x50], eax
mov rax, qword [rsp + 0x28]
mov rcx, r12
mov qword [rdi + 0xc0], rax
call fcn.1400bcf7c
mov byte [rdi + 0x28], 1
test r14, r14
je 0x1400cfa4e
mov rcx, qword [r14 + 8]
call fcn.1400bad40
and qword [r14 + 8], 0
and qword [r14 + 0x18], 0
mov edx, ebx
mov rcx, rdi
call fcn.1400cec5c
mov eax, esi
add rsp, 0x30
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret