Function at 0x14014d827
Capabilities:
Reference sql statements

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0xb0
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov dword [rbp + 0x20], r8d
mov qword [rbp + 0x28], r9
mov dword [rbp - 4], 0
mov qword [rbp - 0x10], 0
mov dword [rbp - 0x1c], 1
mov rax, qword [rbp + 0x18]
movzx eax, byte [rax + 0x65]
test al, al
jne 0x14014d885
mov rdx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x10]
lea r8, str.cannot_VACUUM_from_within_a_transaction
mov rcx, rax
call sym.sqlite3SetString
mov eax, 1
jmp 0x14014df8c
mov rax, qword [rbp + 0x18]
mov eax, dword [rax + 0xd8]
cmp eax, 1
jle 0x14014d8b5
mov rdx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x10]
lea r8, str.cannot_VACUUM___SQL_statements_in_progress
mov rcx, rax
call sym.sqlite3SetString
mov eax, 1
jmp 0x14014df8c
mov rax, qword [rbp + 0x18]
mov eax, dword [rax + 0x4c]
mov dword [rbp - 0x24], eax
cmp qword [rbp + 0x28], 0
je 0x14014d930
mov rax, qword [rbp + 0x28]
mov rcx, rax
call sym.sqlite3_value_type
cmp eax, 3
je 0x14014d8f8
mov rdx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x10]
lea r8, str.non_text_filename
mov rcx, rax
call sym.sqlite3SetString
mov eax, 1
jmp 0x14014df8c
mov rax, qword [rbp + 0x28]
mov rcx, rax
call sym.sqlite3_value_text
mov qword [rbp - 0x18], rax
mov rax, qword [rbp + 0x18]
mov eax, dword [rax + 0x4c]
and eax, 0xfffffffe
mov edx, eax
mov rax, qword [rbp + 0x18]
mov dword [rax + 0x4c], edx
mov rax, qword [rbp + 0x18]
mov eax, dword [rax + 0x4c]
or eax, 6
mov edx, eax
mov rax, qword [rbp + 0x18]
mov dword [rax + 0x4c], edx
jmp 0x14014d93b
lea rax, [0x14036d6da]
mov qword [rbp - 0x18], rax
mov rax, qword [rbp + 0x18]
mov rax, qword [rax + 0x30]
mov qword [rbp - 0x30], rax
mov rax, qword [rbp + 0x18]
mov eax, dword [rax + 0x2c]
mov dword [rbp - 0x34], eax
mov rax, qword [rbp + 0x18]
mov rax, qword [rax + 0x78]
mov qword [rbp - 0x40], rax
mov rax, qword [rbp + 0x18]
mov rax, qword [rax + 0x80]
mov qword [rbp - 0x48], rax
mov rax, qword [rbp + 0x18]
movzx eax, byte [rax + 0x6e]
mov byte [rbp - 0x49], al
mov rax, qword [rbp + 0x18]
mov rax, qword [rax + 0x30]
or rax, 0x201
mov rdx, rax
mov rax, qword [rbp + 0x18]
mov qword [rax + 0x30], rdx
mov rax, qword [rbp + 0x18]
mov eax, dword [rax + 0x2c]
or eax, 6
mov edx, eax
mov rax, qword [rbp + 0x18]
mov dword [rax + 0x2c], edx
mov rax, qword [rbp + 0x18]
mov rax, qword [rax + 0x30]
movabs rdx, 0xfffffffeefffafff
and rdx, rax
mov rax, qword [rbp + 0x18]
mov qword [rax + 0x30], rdx
mov rax, qword [rbp + 0x18]
mov byte [rax + 0x6e], 0
mov rax, qword [rbp + 0x18]
mov rax, qword [rax + 0x20]
mov edx, dword [rbp + 0x20]
movsxd rdx, edx
shl rdx, 5
add rax, rdx
mov rax, qword [rax]
mov qword [rbp - 0x58], rax
mov rax, qword [rbp + 0x18]
mov rax, qword [rax + 0x20]
mov edx, dword [rbp + 0x20]
movsxd rdx, edx
shl rdx, 5
add rax, rdx
mov rax, qword [rax + 8]
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x60]
mov rcx, rax
call sym.sqlite3BtreePager
mov rcx, rax
call sym.sqlite3PagerIsMemdb
mov dword [rbp - 0x64], eax
mov rax, qword [rbp + 0x18]
mov eax, dword [rax + 0x28]
mov dword [rbp - 0x68], eax
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp + 0x10]
mov rax, qword [rbp + 0x18]
mov r9, rcx
lea r8, str.ATTACH__Q_AS_vacuum_db
mov rcx, rax
call sym.execSqlF
mov dword [rbp - 4], eax
mov rax, qword [rbp + 0x18]
mov edx, dword [rbp - 0x24]
mov dword [rax + 0x4c], edx
cmp dword [rbp - 4], 0
jne 0x14014dec3
mov rax, qword [rbp + 0x18]
mov rax, qword [rax + 0x20]
mov edx, dword [rbp - 0x68]
movsxd rdx, edx
shl rdx, 5
add rax, rdx
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
mov rax, qword [rax + 8]
mov qword [rbp - 0x70], rax
cmp qword [rbp + 0x28], 0
je 0x14014db3b
mov rax, qword [rbp - 0x70]
mov rcx, rax
call sym.sqlite3BtreePager
mov rcx, rax
call sym.sqlite3PagerFile
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x88], 0
mov rax, qword [rbp - 0x78]
mov rax, qword [rax]
test rax, rax
je 0x14014dafc
lea rdx, [rbp - 0x88]
mov rax, qword [rbp - 0x78]
mov rcx, rax
call sym.sqlite3OsFileSize
test eax, eax
jne 0x14014dad9
mov rax, qword [rbp - 0x88]
test rax, rax
jle 0x14014dafc
mov dword [rbp - 4], 1
mov rdx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x10]
lea r8, str.output_file_already_exists
mov rcx, rax
call sym.sqlite3SetString
jmp 0x14014dee2
mov rax, qword [rbp + 0x18]
mov eax, dword [rax + 0x2c]
or eax, 8
mov edx, eax
mov rax, qword [rbp + 0x18]
mov dword [rax + 0x2c], edx
mov rax, qword [rbp + 0x18]
mov rax, qword [rax + 0x20]
mov edx, dword [rbp + 0x20]
movsxd rdx, edx
shl rdx, 5
add rax, rdx
movzx eax, byte [rax + 0x10]
movzx edx, al
mov rax, qword [rbp + 0x18]
mov rax, qword [rax + 0x30]
and eax, 0x38
or eax, edx
mov dword [rbp - 0x1c], eax
mov rax, qword [rbp - 0x60]
mov rcx, rax
call sym.sqlite3BtreeGetRequestedReserve
mov dword [rbp - 0x7c], eax
mov rax, qword [rbp + 0x18]
mov rax, qword [rax + 0x20]
mov edx, dword [rbp + 0x20]
movsxd rdx, edx
shl rdx, 5
add rax, rdx
mov rax, qword [rax + 0x18]
mov edx, dword [rax + 0x74]
mov rax, qword [rbp - 0x70]
mov rcx, rax
call sym.sqlite3BtreeSetCacheSize
mov rax, qword [rbp - 0x60]
mov edx, 0
mov rcx, rax
call sym.sqlite3BtreeSetSpillSize
mov edx, eax
mov rax, qword [rbp - 0x70]
mov rcx, rax
call sym.sqlite3BtreeSetSpillSize
mov eax, dword [rbp - 0x1c]
or eax, 0x20
mov edx, eax
mov rax, qword [rbp - 0x70]
mov rcx, rax
call sym.sqlite3BtreeSetPagerFlags
mov rdx, qword [rbp + 0x10]
mov rax, qword [rbp + 0x18]
lea r8, str.BEGIN
mov rcx, rax
call sym.execSql
mov dword [rbp - 4], eax
cmp dword [rbp - 4], 0
jne 0x14014dec6
cmp qword [rbp + 0x28], 0
jne 0x14014dbd7
mov edx, 2
jmp 0x14014dbdc
mov edx, 0
mov rax, qword [rbp - 0x60]
mov r8d, 0
mov rcx, rax
call sym.sqlite3BtreeBeginTrans
mov dword [rbp - 4], eax
cmp dword [rbp - 4], 0
jne 0x14014dec9
mov rax, qword [rbp - 0x60]
mov rcx, rax
call sym.sqlite3BtreePager
mov rcx, rax
call sym.sqlite3PagerGetJournalMode
cmp eax, 5
jne 0x14014dc26
cmp qword [rbp + 0x28], 0
jne 0x14014dc26
mov rax, qword [rbp + 0x18]
mov dword [rax + 0x74], 0
mov rax, qword [rbp - 0x60]
mov rcx, rax
call sym.sqlite3BtreeGetPageSize
mov edx, eax
mov ecx, dword [rbp - 0x7c]
mov rax, qword [rbp - 0x70]
mov r9d, 0
mov r8d, ecx
mov rcx, rax
call sym.sqlite3BtreeSetPageSize
test eax, eax
jne 0x14014dc85
cmp dword [rbp - 0x64], 0
jne 0x14014dc79
mov rax, qword [rbp + 0x18]
mov edx, dword [rax + 0x74]
mov ecx, dword [rbp - 0x7c]
mov rax, qword [rbp - 0x70]
mov r9d, 0
mov r8d, ecx
mov rcx, rax
call sym.sqlite3BtreeSetPageSize
test eax, eax
jne 0x14014dc85
mov rax, qword [rbp + 0x18]
movzx eax, byte [rax + 0x67]
test al, al
je 0x14014dc91
mov dword [rbp - 4], 7
jmp 0x14014dee2
mov rax, qword [rbp + 0x18]
movzx eax, byte [rax + 0x6a]
test al, al
js 0x14014dcaa
mov rax, qword [rbp + 0x18]
movzx eax, byte [rax + 0x6a]
movsx eax, al
jmp 0x14014dcb6
mov rax, qword [rbp - 0x60]
mov rcx, rax
call sym.sqlite3BtreeGetAutoVacuum
mov rcx, qword [rbp - 0x70]
mov edx, eax
call sym.sqlite3BtreeSetAutoVacuum
mov eax, dword [rbp - 0x68]
mov edx, eax
mov rax, qword [rbp + 0x18]
mov byte [rax + 0xc4], dl
mov rcx, qword [rbp - 0x58]
mov rdx, qword [rbp + 0x10]
mov rax, qword [rbp + 0x18]
mov r9, rcx
lea r8, str.SELECT_sql_FROM___w_.sqlite_schema_WHERE_typetableAND_name__sqlite_sequence_AND_coalesce_rootpage_1__0
mov rcx, rax
call sym.execSqlF
mov dword [rbp - 4], eax
cmp dword [rbp - 4], 0
jne 0x14014decc
mov rcx, qword [rbp - 0x58]
mov rdx, qword [rbp + 0x10]
mov rax, qword [rbp + 0x18]
mov r9, rcx
lea r8, str.SELECT_sql_FROM___w_.sqlite_schema_WHERE_typeindex
mov rcx, rax
call sym.execSqlF
mov dword [rbp - 4], eax
cmp dword [rbp - 4], 0
jne 0x14014decf
mov rax, qword [rbp + 0x18]
mov byte [rax + 0xc4], 0
mov rcx, qword [rbp - 0x58]
mov rdx, qword [rbp + 0x10]
mov rax, qword [rbp + 0x18]
mov r9, rcx
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 rcx, rax
call sym.execSqlF
mov dword [rbp - 4], eax
mov rax, qword [rbp + 0x18]
mov eax, dword [rax + 0x2c]
and eax, 0xfffffffb
mov edx, eax
mov rax, qword [rbp + 0x18]
mov dword [rax + 0x2c], edx
cmp dword [rbp - 4], 0
jne 0x14014ded2
mov rcx, qword [rbp - 0x58]
mov rdx, qword [rbp + 0x10]
mov rax, qword [rbp + 0x18]
mov r9, rcx
lea r8, str.INSERT_INTO_vacuum_db.sqlite_schema_SELECTFROM___w_.sqlite_schema_WHERE_type_IN_view_trigger__OR_typetableAND_rootpage0_
mov rcx, rax
call sym.execSqlF
mov dword [rbp - 4], eax
cmp dword [rbp - 4], 0
jne 0x14014ded5
mov dword [rbp - 0x20], 0
jmp 0x14014de1e
mov eax, dword [rbp - 0x20]
cdqe
lea rdx, [0x14037fac0]
movzx eax, byte [rax + rdx]
movzx edx, al
lea rcx, [rbp - 0x8c]
mov rax, qword [rbp - 0x60]
mov r8, rcx
mov rcx, rax
call sym.sqlite3BtreeGetMeta
mov eax, dword [rbp - 0x20]
add eax, 1
cdqe
lea rdx, [0x14037fac0]
movzx eax, byte [rax + rdx]
movzx edx, al
mov eax, dword [rbp - 0x8c]
lea ecx, [rdx + rax]
mov eax, dword [rbp - 0x20]
cdqe
lea rdx, [0x14037fac0]
movzx eax, byte [rax + rdx]
movzx edx, al
mov rax, qword [rbp - 0x70]
mov r8d, ecx
mov rcx, rax
call sym.sqlite3BtreeUpdateMeta
mov dword [rbp - 4], eax
cmp dword [rbp - 4], 0
jne 0x14014ded8
add dword [rbp - 0x20], 2
cmp dword [rbp - 0x20], 9
jle 0x14014dda3
cmp qword [rbp + 0x28], 0
jne 0x14014de42
mov rdx, qword [rbp - 0x70]
mov rax, qword [rbp - 0x60]
mov rcx, rax
call sym.sqlite3BtreeCopyFile
mov dword [rbp - 4], eax
cmp dword [rbp - 4], 0
jne 0x14014dedb
mov rax, qword [rbp - 0x70]
mov rcx, rax
call sym.sqlite3BtreeCommit
mov dword [rbp - 4], eax
cmp dword [rbp - 4], 0
jne 0x14014dede
cmp qword [rbp + 0x28], 0
jne 0x14014de82
mov rax, qword [rbp - 0x70]
mov rcx, rax
call sym.sqlite3BtreeGetAutoVacuum
mov edx, eax
mov rax, qword [rbp - 0x60]
mov rcx, rax
call sym.sqlite3BtreeSetAutoVacuum
cmp qword [rbp + 0x28], 0
jne 0x14014dee1
mov rax, qword [rbp - 0x70]
mov rcx, rax
call sym.sqlite3BtreeGetRequestedReserve
mov dword [rbp - 0x7c], eax
mov rax, qword [rbp - 0x70]
mov rcx, rax
call sym.sqlite3BtreeGetPageSize
mov edx, eax
mov ecx, dword [rbp - 0x7c]
mov rax, qword [rbp - 0x60]
mov r9d, 1
mov r8d, ecx
mov rcx, rax
call sym.sqlite3BtreeSetPageSize
mov dword [rbp - 4], eax
jmp 0x14014dee2
nop
jmp 0x14014dee2
nop
jmp 0x14014dee2
nop
jmp 0x14014dee2
nop
jmp 0x14014dee2
nop
jmp 0x14014dee2
nop
jmp 0x14014dee2
nop
jmp 0x14014dee2
nop
jmp 0x14014dee2
nop
jmp 0x14014dee2
nop
jmp 0x14014dee2
nop
mov rax, qword [rbp + 0x18]
mov byte [rax + 0xc4], 0
mov rax, qword [rbp + 0x18]
mov edx, dword [rbp - 0x34]
mov dword [rax + 0x2c], edx
mov rax, qword [rbp + 0x18]
mov rdx, qword [rbp - 0x30]
mov qword [rax + 0x30], rdx
mov rax, qword [rbp + 0x18]
mov rdx, qword [rbp - 0x40]
mov qword [rax + 0x78], rdx
mov rax, qword [rbp + 0x18]
mov rdx, qword [rbp - 0x48]
mov qword [rax + 0x80], rdx
mov rax, qword [rbp + 0x18]
movzx edx, byte [rbp - 0x49]
mov byte [rax + 0x6e], dl
mov rax, qword [rbp - 0x60]
mov r9d, 1
mov r8d, 0
mov edx, 0xffffffff
mov rcx, rax
call sym.sqlite3BtreeSetPageSize
mov rax, qword [rbp + 0x18]
mov byte [rax + 0x65], 1
cmp qword [rbp - 0x10], 0
je 0x14014df7d
mov rax, qword [rbp - 0x10]
mov rax, qword [rax + 8]
mov rcx, rax
call sym.sqlite3BtreeClose
mov rax, qword [rbp - 0x10]
mov qword [rax + 8], 0
mov rax, qword [rbp - 0x10]
mov qword [rax + 0x18], 0
mov rax, qword [rbp + 0x18]
mov rcx, rax
call sym.sqlite3ResetAllSchemasOfConnection
mov eax, dword [rbp - 4]
add rsp, 0xb0
pop rbp
ret