Function at 0x14003dfd8
Capabilities:
Reference sql statements

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x30
xor r12d, r12d
mov rdi, rdx
mov rbp, rcx
cmp byte [rdx + 0x28], r12b
jne 0x14003e00c
lea r8, str.cannot_VACUUM_from_within_a_transaction
call fcn.14001ed98
mov eax, 1
jmp 0x14003e2fb
cmp dword [rdx + 0xb0], 1
jle 0x14003e01e
lea r8, str.cannot_VACUUM___SQL_statements_in_progress
jmp 0x14003dffd
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], r12
cmp byte [rdx + 0x29], 2
mov r15, qword [rax + 8]
lea rax, str.ATTACH__AS_vacuum_db_
mov qword [rsp + 0x28], rcx
cmovne r8, rax
mov rdx, rbp
mov rcx, rdi
call fcn.14003d2d8
mov esi, eax
movsxd rax, dword [rdi + 8]
cmp eax, ebx
jle 0x14003e09a
lea ecx, [rax - 1]
movsxd r12, ecx
shl r12, 5
add r12, qword [rdi + 0x10]
test esi, esi
jne 0x14003e298
mov rcx, rax
mov rax, qword [rdi + 0x10]
shl rcx, 5
mov r14, qword [rcx + rax - 0x18]
mov rcx, r14
call fcn.1400373d8
mov rax, qword [r15 + 8]
mov ebx, dword [rax + 0x30]
sub ebx, dword [rax + 0x34]
mov rax, qword [rax]
cmp byte [rax + 9], 5
mov dword [rsp + 0x80], ebx
jne 0x14003e0d7
and dword [rdi + 0x30], esi
mov rax, qword [r15 + 8]
xor r9d, r9d
mov r8d, ebx
mov edx, dword [rax + 0x30]
mov rcx, r14
call fcn.14001bb08
test eax, eax
jne 0x14003e293
mov edx, dword [rdi + 0x30]
xor r9d, r9d
mov r8d, ebx
mov rcx, r14
call fcn.14001bb08
test eax, eax
jne 0x14003e293
cmp byte [rdi + 0x2a], al
jne 0x14003e293
lea r8, str.PRAGMA_vacuum_db.synchronousOFF
mov rdx, rbp
mov rcx, rdi
call fcn.14003d2d8
test eax, eax
mov esi, eax
jne 0x14003e298
lea r8, str.BEGIN_EXCLUSIVE_
mov rdx, rbp
mov rcx, rdi
call fcn.14003d2d8
test eax, eax
mov esi, eax
jne 0x14003e298
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.14003dbe8
test eax, eax
mov esi, eax
jne 0x14003e298
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.14003dbe8
test eax, eax
mov esi, eax
jne 0x14003e298
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.14003dbe8
test eax, eax
mov esi, eax
jne 0x14003e298
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.14003dbe8
test eax, eax
mov esi, eax
jne 0x14003e298
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.14003dbe8
test eax, eax
mov esi, eax
jne 0x14003e298
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.14003dbe8
test eax, eax
mov esi, eax
jne 0x14003e298
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.14003d2d8
test eax, eax
mov esi, eax
jne 0x14003e298
xor ebx, ebx
lea r11, [0x14007b150]
lea r8, [rsp + 0x78]
mov rcx, r15
movzx edx, byte [rbx + r11]
call fcn.140010048
movzx r8d, byte [rbx + r11 + 1]
movzx edx, byte [rbx + r11]
add r8d, dword [rsp + 0x78]
mov rcx, r14
call fcn.14002dc68
test eax, eax
mov esi, eax
jne 0x14003e298
add rbx, 2
cmp rbx, 8
jl 0x14003e214
mov rdx, r14
mov rcx, r15
call fcn.140039478
test eax, eax
mov esi, eax
jne 0x14003e298
mov rcx, r14
call fcn.1400373d8
test eax, eax
mov esi, eax
jne 0x14003e298
mov rax, qword [r14 + 8]
mov r8d, dword [rsp + 0x80]
lea r9d, [rsi + 1]
mov edx, dword [rax + 0x30]
mov rcx, r15
call fcn.14001bb08
mov esi, eax
jmp 0x14003e298
mov esi, 7
mov eax, dword [rsp + 0x88]
or edx, 0xffffffff
mov r9d, 1
mov dword [rdi + 0x18], eax
mov eax, dword [rsp + 0x20]
mov r8d, edx
mov dword [rdi + 0x4c], eax
mov eax, dword [rsp + 0x24]
mov rcx, r15
mov dword [rdi + 0x50], eax
mov rax, qword [rsp + 0x28]
mov qword [rdi + 0xc0], rax
call fcn.14001bb08
test r12, r12
mov byte [rdi + 0x28], 1
je 0x14003e2ef
mov rcx, qword [r12 + 8]
call fcn.140035bb8
and qword [r12 + 8], 0
and qword [r12 + 0x18], 0
xor edx, edx
mov rcx, rdi
call fcn.14001c818
mov eax, esi
add rsp, 0x30
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret