Function at 0x1801a8580
Capabilities:
Reference sql statements

Disassembly:
mov rax, rsp
sub rsp, 0x68
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov qword [rax - 0x18], r14
mov qword [rax - 0x20], r15
mov r15d, dword [rdx + 0x18]
xor r14d, r14d
mov rdi, rdx
mov eax, r15d
or eax, 0x2800
cmp byte [rdx + 0x28], r14b
mov dword [rdx + 0x18], eax
jne 0x1801a85d2
lea rdx, str.cannot_VACUUM_from_within_a_transaction
xor r8d, r8d
call fcn.1801819c0
lea ebx, [r14 + 1]
jmp 0x1801a8844
mov rax, qword [rdx + 0x10]
lea r9, [rsp + 0x38]
lea rdx, str.ATTACH__AS_vacuum_db_
mov r8d, 0xffffffff
mov rcx, rdi
mov qword [rsp + 0x58], r13
mov r13, qword [rax + 8]
mov qword [rsp + 0x20], r14
call fcn.180165dc0
test eax, eax
je 0x1801a8610
mov rcx, rdi
call fcn.180162110
mov ebx, eax
jmp 0x1801a862b
mov rcx, qword [rsp + 0x38]
call fcn.180163720
cmp eax, 0x64
je 0x1801a8610
mov rcx, qword [rsp + 0x38]
call fcn.1801630a0
mov ebx, eax
test ebx, ebx
jne 0x1801a883f
movsxd rdx, dword [rdi + 8]
mov r8, qword [rdi + 0x10]
mov qword [rsp + 0x60], r12
lea eax, [rdx - 1]
movsxd rcx, eax
lea r14, [rcx + rcx*2]
lea rcx, [rdx + rdx*2]
add rcx, rcx
shl r14, 4
mov r12, qword [r8 + rcx*8 - 0x28]
mov rcx, r13
add r14, r8
call fcn.18016b570
mov rcx, r13
mov ebx, eax
mov dword [rsp + 0x38], eax
call fcn.18016b560
mov r8d, ebx
mov rcx, r12
mov edx, eax
call fcn.18016b480
test eax, eax
jne 0x1801a8835
mov edx, dword [rdi + 0x30]
mov r8d, ebx
mov rcx, r12
call fcn.18016b480
test eax, eax
jne 0x1801a8835
cmp byte [rdi + 0x2a], al
jne 0x1801a8835
lea rdx, str.PRAGMA_vacuum_db.synchronousOFF
mov rcx, rdi
call fcn.1801a83e0
test eax, eax
mov ebx, eax
jne 0x1801a883a
movzx eax, byte [rdi + 0x2d]
test al, al
js 0x1801a86cd
movsx eax, al
jmp 0x1801a86d5
mov rcx, r13
call fcn.18016b670
mov edx, eax
mov rcx, r12
call fcn.18016b600
lea rdx, str.BEGIN_EXCLUSIVE_
mov rcx, rdi
call fcn.1801a83e0
test eax, eax
mov ebx, eax
jne 0x1801a883a
lea rdx, str.SELECT_CREATE_TABLE_vacuum_db.__substr_sql_14____FROM_sqlite_master_WHERE_typetable_AND_name_sqlite_sequence___AND_rootpage_0
mov rcx, rdi
call fcn.1801a8450
test eax, eax
mov ebx, eax
jne 0x1801a883a
lea rdx, str.SELECT_CREATE_INDEX_vacuum_db.__substr_sql_14___FROM_sqlite_master_WHERE_sql_LIKE_CREATE_INDEX__
mov rcx, rdi
call fcn.1801a8450
test eax, eax
mov ebx, eax
jne 0x1801a883a
lea rdx, str.SELECT_CREATE_UNIQUE_INDEX_vacuum_db.__substr_sql_21____FROM_sqlite_master_WHERE_sql_LIKE_CREATE_UNIQUE_INDEX__
mov rcx, rdi
call fcn.1801a8450
test eax, eax
mov ebx, eax
jne 0x1801a883a
lea rdx, str.SELECT_INSERT_INTO_vacuum_db.__quote_name____SELECT__FROM___quote_name____FROM_sqlite_master_WHERE_type__table_AND_name_sqlite_sequence___AND_rootpage_0
mov rcx, rdi
call fcn.1801a8450
test eax, eax
mov ebx, eax
jne 0x1801a883a
lea rdx, str.SELECT_DELETE_FROM_vacuum_db.__quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence
mov rcx, rdi
call fcn.1801a8450
test eax, eax
mov ebx, eax
jne 0x1801a883a
lea rdx, str.SELECT_INSERT_INTO_vacuum_db.__quote_name____SELECT__FROM___quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence_
mov rcx, rdi
call fcn.1801a8450
test eax, eax
mov ebx, eax
jne 0x1801a883a
lea rdx, str.INSERT_INTO_vacuum_db.sqlite_master___SELECT_type__name__tbl_name__rootpage__sql____FROM_sqlite_master___WHERE_typeview_OR_typetrigger______OR__typetable_AND_rootpage0_
mov rcx, rdi
call fcn.1801a83e0
test eax, eax
mov ebx, eax
jne 0x1801a883a
xor ebp, ebp
lea rsi, [0x1801e87b0]
movzx edx, byte [rsi]
lea r8, [rsp + 0x30]
mov rcx, r13
call fcn.18016e700
test eax, eax
mov ebx, eax
jne 0x1801a883a
movzx r8d, byte [rsi + 1]
movzx edx, byte [rsi]
mov rcx, r12
add r8d, dword [rsp + 0x30]
call fcn.18016e870
test eax, eax
mov ebx, eax
jne 0x1801a883a
add ebp, 2
add rsi, 2
cmp ebp, 8
jb 0x1801a87b0
mov rdx, r12
mov rcx, r13
call fcn.180175480
test eax, eax
mov ebx, eax
jne 0x1801a883a
mov rcx, r12
call fcn.180170010
test eax, eax
mov ebx, eax
jne 0x1801a883a
mov rcx, r13
call fcn.180170010
test eax, eax
mov ebx, eax
jne 0x1801a883a
mov rcx, r12
call fcn.18016b560
mov r8d, dword [rsp + 0x38]
mov rcx, r13
mov edx, eax
call fcn.18016b480
mov ebx, eax
jmp 0x1801a883a
mov ebx, 7
mov r12, qword [rsp + 0x60]
mov r13, qword [rsp + 0x58]
test r14, r14
mov rsi, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x78]
mov dword [rdi + 0x18], r15d
mov r15, qword [rsp + 0x48]
mov byte [rdi + 0x28], 1
je 0x1801a887c
mov rcx, qword [r14 + 8]
call fcn.1801754e0
mov qword [r14 + 8], 0
mov qword [r14 + 0x28], 0
xor edx, edx
mov rcx, rdi
call fcn.180177490
mov r14, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x88]
mov eax, ebx
mov rbx, qword [rsp + 0x70]
add rsp, 0x68
ret