Function at 0x1800b535c
Capabilities:
Reference sql statements

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
xor r12d, r12d
mov rsi, rdx
mov rbp, rcx
cmp byte [rdx + 0x28], r12b
jne 0x1800b5395
lea r8, str.cannot_VACUUM_from_within_a_transaction
call fcn.180072ec4
lea eax, [r12 + 1]
jmp 0x1800b56c9
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 + 0xb8]
and qword [rdx + 0xb8], r12
mov r14, qword [rax + 8]
mov rax, qword [r14 + 8]
cmp byte [rdx + 0x29], 2
mov qword [rsp + 0x28], rcx
mov rcx, qword [rax]
lea rax, str.ATTACH__AS_vacuum_db_
mov rdx, rbp
movzx r15d, byte [rcx + 0x11]
mov rcx, rsi
cmovne r8, rax
call fcn.1800b5224
mov edi, eax
movsxd rax, dword [rsi + 8]
cmp eax, ebx
jle 0x1800b541d
lea ecx, [rax - 1]
movsxd r12, ecx
shl r12, 5
add r12, qword [rsi + 0x10]
test edi, edi
jne 0x1800b5666
mov rcx, rax
mov rax, qword [rsi + 0x10]
shl rcx, 5
mov r13, qword [rcx + rax - 0x18]
mov rcx, r13
call fcn.180081c9c
mov rcx, r14
call fcn.18007ebe0
mov r11, qword [r14 + 8]
mov rcx, r14
mov ebx, dword [r11 + 0x30]
sub ebx, dword [r11 + 0x34]
mov dword [rsp + 0x80], ebx
call fcn.18007ec78
mov r11, qword [r14 + 8]
mov rax, qword [r11]
cmp byte [rax + 9], 5
jne 0x1800b5470
and dword [rsi + 0x30], edi
mov rax, qword [r14 + 8]
xor r9d, r9d
mov r8d, ebx
mov edx, dword [rax + 0x30]
mov rcx, r13
call fcn.1800807a0
test eax, eax
jne 0x1800b5661
test r15d, r15d
jne 0x1800b54ab
mov edx, dword [rsi + 0x30]
xor r9d, r9d
mov r8d, ebx
mov rcx, r13
call fcn.1800807a0
test eax, eax
jne 0x1800b5661
cmp byte [rsi + 0x2a], 0
jne 0x1800b5661
lea r8, str.PRAGMA_vacuum_db.synchronousOFF
mov rdx, rbp
mov rcx, rsi
call fcn.1800b5224
mov edi, eax
test eax, eax
jne 0x1800b5666
mov al, byte [rsi + 0x2c]
test al, al
js 0x1800b54dd
movsx eax, al
jmp 0x1800b54e5
mov rcx, r14
call fcn.180080918
mov edx, eax
mov rcx, r13
call fcn.1800808a0
lea r8, str.BEGIN_EXCLUSIVE_
mov rdx, rbp
mov rcx, rsi
call fcn.1800b5224
mov edi, eax
test eax, eax
jne 0x1800b5666
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, rsi
call fcn.1800b52b4
mov edi, eax
test eax, eax
jne 0x1800b5666
lea r8, str.SELECT_CREATE_INDEX_vacuum_db.__substr_sql_14___FROM_sqlite_master_WHERE_sql_LIKE_CREATE_INDEX__
mov rdx, rbp
mov rcx, rsi
call fcn.1800b52b4
mov edi, eax
test eax, eax
jne 0x1800b5666
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, rsi
call fcn.1800b52b4
mov edi, eax
test eax, eax
jne 0x1800b5666
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, rsi
call fcn.1800b52b4
mov edi, eax
test eax, eax
jne 0x1800b5666
lea r8, str.SELECT_DELETE_FROM_vacuum_db.__quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence
mov rdx, rbp
mov rcx, rsi
call fcn.1800b52b4
mov edi, eax
test eax, eax
jne 0x1800b5666
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, rsi
call fcn.1800b52b4
mov edi, eax
test eax, eax
jne 0x1800b5666
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, rsi
call fcn.1800b5224
mov edi, eax
test eax, eax
jne 0x1800b5666
xor ebx, ebx
lea rdi, [0x180110df8]
lea r8, [rsp + 0x78]
mov rcx, r14
movzx edx, byte [rbx + rdi]
call fcn.180086548
movzx r8d, byte [rbx + rdi + 1]
movzx edx, byte [rbx + rdi]
add r8d, dword [rsp + 0x78]
mov rcx, r13
call fcn.1800865c4
mov edi, eax
test eax, eax
jne 0x1800b5666
add rbx, 2
cmp rbx, 8
jl 0x1800b55d1
mov rdx, r13
mov rcx, r14
call fcn.180087e1c
mov edi, eax
test eax, eax
jne 0x1800b5666
mov rcx, r13
call fcn.180081c9c
mov edi, eax
test eax, eax
jne 0x1800b5666
mov rcx, r13
call fcn.180080918
mov rcx, r14
mov edx, eax
call fcn.1800808a0
mov r11, qword [r13 + 8]
mov r8d, dword [rsp + 0x80]
mov edx, dword [r11 + 0x30]
lea r9d, [rdi + 1]
mov rcx, r14
call fcn.1800807a0
mov edi, eax
jmp 0x1800b5666
mov edi, 7
mov eax, dword [rsp + 0x88]
or edx, 0xffffffff
mov r9d, 1
mov dword [rsi + 0x18], eax
mov eax, dword [rsp + 0x20]
mov r8d, edx
mov dword [rsi + 0x4c], eax
mov eax, dword [rsp + 0x24]
mov rcx, r14
mov dword [rsi + 0x50], eax
mov rax, qword [rsp + 0x28]
mov qword [rsi + 0xb8], rax
call fcn.1800807a0
mov byte [rsi + 0x28], 1
test r12, r12
je 0x1800b56bd
mov rcx, qword [r12 + 8]
call fcn.180080670
and qword [r12 + 8], 0
and qword [r12 + 0x18], 0
xor edx, edx
mov rcx, rsi
call fcn.18009d2a0
mov eax, edi
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret