Function at 0x1400a0b80
Capabilities:
Reference sql statements

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x88
mov rax, qword [0x14015f0e8]
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 0x1400a0bcd
lea r8, str.cannot_VACUUM_from_within_a_transaction
call fcn.14010f2c0
mov eax, r13d
jmp 0x1400a1041
cmp dword [rdx + 0xd8], r13d
jle 0x1400a0bea
lea r8, str.cannot_VACUUM___SQL_statements_in_progress
call fcn.14010f2c0
mov eax, r13d
jmp 0x1400a1041
mov qword [rsp + 0x80], rbp
mov ebp, dword [rdx + 0x4c]
test r12, r12
je 0x1400a0c36
mov rcx, r12
call fcn.1400e68a0
cmp eax, 3
je 0x1400a0c21
lea r8, str.non_text_filename
mov rdx, rbx
mov rcx, rsi
call fcn.14010f2c0
mov eax, r13d
jmp 0x1400a1039
mov rcx, r12
call fcn.1400e68f0
and dword [rbx + 0x4c], 0xfffffffe
mov r9, rax
or dword [rbx + 0x4c], 6
jmp 0x1400a0c3d
lea r9, [0x14012f4e3]
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.1400ef1e0
mov rcx, rax
call fcn.1400fe190
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.1400a1160
mov dword [rbx + 0x4c], ebp
mov edi, eax
test eax, eax
jne 0x1400a0fbf
movsxd r14, dword [rsp + 0x28]
shl r14, 5
add r14, qword [rbx + 0x20]
mov rbp, qword [r14 + 8]
test r12, r12
je 0x1400a0d71
mov rcx, rbp
call fcn.1400ef1e0
mov rcx, rax
call fcn.1400fded0
mov qword [rsp + 0x58], 0
cmp qword [rax], 0
je 0x1400a0d53
lea rdx, [rsp + 0x58]
mov rcx, rax
call fcn.140110cd0
test eax, eax
jne 0x1400a0d39
cmp qword [rsp + 0x58], 0
jle 0x1400a0d53
lea r8, str.output_file_already_exists
mov rdx, rbx
mov rcx, rsi
mov edi, r13d
call fcn.14010f2c0
jmp 0x1400a0fbf
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 0x1400a0d76
mov rdi, qword [rsp + 0x30]
mov rcx, r15
call fcn.1400f7000
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.1400f7250
xor edx, edx
mov rcx, r15
call fcn.1400f7200
mov edx, eax
mov rcx, rbp
call fcn.1400f7200
or r13d, 0x20
mov rcx, rbp
mov edx, r13d
call fcn.1400f7160
lea r8, str.BEGIN
mov rdx, rsi
mov rcx, rbx
call fcn.1400a11d0
mov edi, eax
test eax, eax
jne 0x1400a0fbf
xor edx, edx
mov eax, 2
test r12, r12
mov rcx, r15
cmove edx, eax
xor r8d, r8d
call fcn.1400f6750
mov edi, eax
test eax, eax
jne 0x1400a0fbf
mov rcx, r15
call fcn.1400ef1e0
mov rcx, rax
call fcn.1400fdb70
cmp eax, 5
jne 0x1400a0e15
test r12, r12
jne 0x1400a0e15
mov dword [rbx + 0x74], r12d
mov rcx, r15
call fcn.1400f7070
mov edi, dword [rsp + 0x58]
mov edx, eax
mov r8d, edi
xor r9d, r9d
mov rcx, rbp
call fcn.1400f7080
test eax, eax
jne 0x1400a0fba
cmp dword [rsp + 0x24], eax
jne 0x1400a0e58
mov edx, dword [rbx + 0x74]
xor r9d, r9d
mov r8d, edi
mov rcx, rbp
call fcn.1400f7080
test eax, eax
jne 0x1400a0fba
cmp byte [rbx + 0x67], 0
jne 0x1400a0fba
movsx eax, byte [rbx + 0x6a]
test al, al
jns 0x1400a0e72
mov rcx, r15
call fcn.1400f6e90
mov edx, eax
mov rcx, rbp
call fcn.1400f6ed0
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.1400a1160
mov edi, eax
test eax, eax
jne 0x1400a0fbf
mov r9, r13
lea r8, str.SELECT_sql_FROM___w_.sqlite_schema_WHERE_typeindex
mov rdx, rsi
mov rcx, rbx
call fcn.1400a1160
mov edi, eax
test eax, eax
jne 0x1400a0fbf
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.1400a1160
and dword [rbx + 0x2c], 0xfffffffb
mov edi, eax
test eax, eax
jne 0x1400a0fbf
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.1400a1160
mov edi, eax
test eax, eax
jne 0x1400a0fbf
xor esi, esi
lea r13, [0x140136aa8]
nop word [rax + rax]
movzx edx, byte [rsi + r13]
lea r8, [rsp + 0x24]
mov rcx, r15
call fcn.1400ef3a0
movzx r8d, byte [rsi + r13 + 1]
mov rcx, rbp
add r8d, dword [rsp + 0x24]
movzx edx, byte [rsi + r13]
call fcn.1400ef310
mov edi, eax
test eax, eax
jne 0x1400a0fbf
add rsi, 2
cmp rsi, 0xa
jl 0x1400a0f20
test r12, r12
jne 0x1400a0f70
mov rdx, rbp
mov rcx, r15
call fcn.1400ed0c0
mov edi, eax
test eax, eax
jne 0x1400a0fbf
mov rcx, rbp
call fcn.1400f5b70
mov edi, eax
test eax, eax
jne 0x1400a0fbf
test r12, r12
jne 0x1400a0fbf
mov rcx, rbp
call fcn.1400f6e90
mov edx, eax
mov rcx, r15
call fcn.1400f6ed0
mov rcx, rbp
call fcn.1400f7000
mov rcx, rbp
mov r8d, eax
call fcn.1400f7070
mov edx, eax
lea r9d, [rdi + 1]
mov rcx, r15
call fcn.1400f7080
mov edi, eax
jmp 0x1400a0fbf
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.1400f7080
mov r15, qword [rsp + 0x78]
mov byte [rbx + 0x65], 1
test r14, r14
je 0x1400a102f
mov rcx, qword [r14 + 8]
call fcn.1400f72a0
mov qword [r14 + 8], 0
mov qword [r14 + 0x18], 0
mov rcx, rbx
call fcn.1400c7d20
mov eax, edi
mov rbp, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.14004b440
add rsp, 0x88
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret