Function at 0x1401115d0
Capabilities:
Reference sql statements

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x88
mov rax, qword [0x1401ea8a0]
xor rax, rsp
mov qword [rsp + 0x60], rax
xor r14d, r14d
movsxd rdi, r8d
mov r12, r9
mov rbx, rdx
mov rsi, rcx
lea r13d, [r14 + 1]
cmp byte [rdx + 0x65], r14b
jne 0x14011161d
lea r8, str.cannot_VACUUM_from_within_a_transaction
call fcn.14017fd10
mov eax, r13d
jmp 0x140111a91
cmp dword [rdx + 0xd8], r13d
jle 0x14011163a
lea r8, str.cannot_VACUUM___SQL_statements_in_progress
call fcn.14017fd10
mov eax, r13d
jmp 0x140111a91
mov qword [rsp + 0x80], rbp
mov ebp, dword [rdx + 0x4c]
test r12, r12
je 0x140111686
mov rcx, r12
call fcn.1401572f0
cmp eax, 3
je 0x140111671
lea r8, str.non_text_filename
mov rdx, rbx
mov rcx, rsi
call fcn.14017fd10
mov eax, r13d
jmp 0x140111a89
mov rcx, r12
call fcn.140157340
and dword [rbx + 0x4c], 0xfffffffe
mov r9, rax
or dword [rbx + 0x4c], 6
jmp 0x14011168d
lea r9, [0x1401b38a3]
mov eax, dword [rbx + 0x2c]
mov rcx, qword [rbx + 0x30]
mov rdx, qword [rbx + 0x78]
mov dword [rsp + 0x2c], eax
or eax, 6
mov dword [rbx + 0x2c], eax
mov rax, rcx
mov qword [rsp + 0x48], rdx
mov rdx, qword [rbx + 0x80]
mov qword [rsp + 0x40], rcx
movabs rcx, 0xfffffffeefffafff
and rax, rcx
mov qword [rsp + 0x50], rdx
movzx edx, byte [rbx + 0x6e]
or rax, 0x201
mov qword [rbx + 0x30], rax
mov rax, qword [rbx + 0x20]
mov byte [rbx + 0x6e], r14b
mov byte [rsp + 0x20], dl
mov rdx, rdi
shl rdx, 5
mov qword [rsp + 0x78], r15
mov qword [rsp + 0x30], rdx
mov rcx, qword [rdx + rax]
mov r15, qword [rdx + rax + 8]
mov qword [rsp + 0x38], rcx
mov rcx, r15
call fcn.14015fc30
mov rcx, rax
call fcn.14016ebe0
mov dword [rsp + 0x24], eax
lea r8, str.ATTACH__Q_AS_vacuum_db
mov eax, dword [rbx + 0x28]
mov rdx, rsi
mov rcx, rbx
mov dword [rsp + 0x28], eax
call fcn.140111bb0
mov dword [rbx + 0x4c], ebp
mov edi, eax
test eax, eax
jne 0x140111a0f
movsxd r14, dword [rsp + 0x28]
shl r14, 5
add r14, qword [rbx + 0x20]
mov rbp, qword [r14 + 8]
test r12, r12
je 0x1401117c1
mov rcx, rbp
call fcn.14015fc30
mov rcx, rax
call fcn.14016e920
mov qword [rsp + 0x58], 0
cmp qword [rax], 0
je 0x1401117a3
lea rdx, [rsp + 0x58]
mov rcx, rax
call fcn.140181720
test eax, eax
jne 0x140111789
cmp qword [rsp + 0x58], 0
jle 0x1401117a3
lea r8, str.output_file_already_exists
mov rdx, rbx
mov rcx, rsi
mov edi, r13d
call fcn.14017fd10
jmp 0x140111a0f
mov rax, qword [rbx + 0x20]
or dword [rbx + 0x2c], 8
mov rdi, qword [rsp + 0x30]
movzx r13d, byte [rdi + rax + 0x10]
mov eax, dword [rbx + 0x30]
and eax, 0x38
or r13d, eax
jmp 0x1401117c6
mov rdi, qword [rsp + 0x30]
mov rcx, r15
call fcn.140167a50
mov rcx, qword [rbx + 0x20]
mov dword [rsp + 0x58], eax
mov rdx, qword [rdi + rcx + 0x18]
mov rcx, rbp
mov edx, dword [rdx + 0x74]
call fcn.140167ca0
xor edx, edx
mov rcx, r15
call fcn.140167c50
mov edx, eax
mov rcx, rbp
call fcn.140167c50
or r13d, 0x20
mov rcx, rbp
mov edx, r13d
call fcn.140167bb0
lea r8, str.BEGIN
mov rdx, rsi
mov rcx, rbx
call fcn.140111c20
mov edi, eax
test eax, eax
jne 0x140111a0f
xor edx, edx
mov eax, 2
test r12, r12
mov rcx, r15
cmove edx, eax
xor r8d, r8d
call fcn.1401671a0
mov edi, eax
test eax, eax
jne 0x140111a0f
mov rcx, r15
call fcn.14015fc30
mov rcx, rax
call fcn.14016e5c0
cmp eax, 5
jne 0x140111865
test r12, r12
jne 0x140111865
mov dword [rbx + 0x74], r12d
mov rcx, r15
call fcn.140167ac0
mov edi, dword [rsp + 0x58]
mov edx, eax
mov r8d, edi
xor r9d, r9d
mov rcx, rbp
call fcn.140167ad0
test eax, eax
jne 0x140111a0a
cmp dword [rsp + 0x24], eax
jne 0x1401118a8
mov edx, dword [rbx + 0x74]
xor r9d, r9d
mov r8d, edi
mov rcx, rbp
call fcn.140167ad0
test eax, eax
jne 0x140111a0a
cmp byte [rbx + 0x67], 0
jne 0x140111a0a
movsx eax, byte [rbx + 0x6a]
test al, al
jns 0x1401118c2
mov rcx, r15
call fcn.1401678e0
mov edx, eax
mov rcx, rbp
call fcn.140167920
mov eax, dword [rsp + 0x28]
lea r8, str.SELECT_sql_FROM___w_.sqlite_schema_WHERE_typetableAND_name__sqlite_sequence_AND_coalesce_rootpage_1__0
mov r13, qword [rsp + 0x38]
mov rdx, rsi
mov r9, r13
mov byte [rbx + 0xc4], al
mov rcx, rbx
call fcn.140111bb0
mov edi, eax
test eax, eax
jne 0x140111a0f
mov r9, r13
lea r8, str.SELECT_sql_FROM___w_.sqlite_schema_WHERE_typeindex
mov rdx, rsi
mov rcx, rbx
call fcn.140111bb0
mov edi, eax
test eax, eax
jne 0x140111a0f
mov r9, r13
mov byte [rbx + 0xc4], al
lea r8, str.SELECTINSERT_INTO_vacuum_db.quote_name__SELECTFROM__w_.quote_name_FROM_vacuum_db.sqlite_schema_WHERE_typetableAND_coalesce_rootpage_1__0
mov rdx, rsi
mov rcx, rbx
call fcn.140111bb0
and dword [rbx + 0x2c], 0xfffffffb
mov edi, eax
test eax, eax
jne 0x140111a0f
mov r9, r13
lea r8, str.INSERT_INTO_vacuum_db.sqlite_schema_SELECTFROM___w_.sqlite_schema_WHERE_type_IN_view_trigger__OR_typetableAND_rootpage0_
mov rdx, rsi
mov rcx, rbx
call fcn.140111bb0
mov edi, eax
test eax, eax
jne 0x140111a0f
xor esi, esi
lea r13, [0x1401bc578]
nop word [rax + rax]
movzx edx, byte [rsi + r13]
lea r8, [rsp + 0x24]
mov rcx, r15
call fcn.14015fdf0
movzx r8d, byte [rsi + r13 + 1]
mov rcx, rbp
add r8d, dword [rsp + 0x24]
movzx edx, byte [rsi + r13]
call fcn.14015fd60
mov edi, eax
test eax, eax
jne 0x140111a0f
add rsi, 2
cmp rsi, 0xa
jl 0x140111970
test r12, r12
jne 0x1401119c0
mov rdx, rbp
mov rcx, r15
call fcn.14015db10
mov edi, eax
test eax, eax
jne 0x140111a0f
mov rcx, rbp
call fcn.1401665c0
mov edi, eax
test eax, eax
jne 0x140111a0f
test r12, r12
jne 0x140111a0f
mov rcx, rbp
call fcn.1401678e0
mov edx, eax
mov rcx, r15
call fcn.140167920
mov rcx, rbp
call fcn.140167a50
mov rcx, rbp
mov r8d, eax
call fcn.140167ac0
mov edx, eax
lea r9d, [rdi + 1]
mov rcx, r15
call fcn.140167ad0
mov edi, eax
jmp 0x140111a0f
mov edi, 7
mov eax, dword [rsp + 0x2c]
mov r9d, 1
mov dword [rbx + 0x2c], eax
xor r8d, r8d
mov rax, qword [rsp + 0x40]
mov rcx, r15
mov qword [rbx + 0x30], rax
mov rax, qword [rsp + 0x48]
lea edx, [r9 - 2]
mov qword [rbx + 0x78], rax
mov rax, qword [rsp + 0x50]
mov qword [rbx + 0x80], rax
movzx eax, byte [rsp + 0x20]
mov byte [rbx + 0x6e], al
mov byte [rbx + 0xc4], 0
call fcn.140167ad0
mov r15, qword [rsp + 0x78]
mov byte [rbx + 0x65], 1
test r14, r14
je 0x140111a7f
mov rcx, qword [r14 + 8]
call fcn.140167cf0
mov qword [r14 + 8], 0
mov qword [r14 + 0x18], 0
mov rcx, rbx
call fcn.140138770
mov eax, edi
mov rbp, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1400b5540
add rsp, 0x88
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret