Function at 0x4abeea
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 0x4abf48
mov rax, qword [rbp + 0x18]
lea r8, str.cannot_VACUUM_from_within_a_transaction
mov rdx, rax
mov rcx, qword [rbp + 0x10]
call dbg.sqlite3SetString
mov eax, 1
jmp 0x4ac646
mov rax, qword [rbp + 0x18]
mov eax, dword [rax + 0xd8]
cmp eax, 1
jle 0x4abf78
mov rax, qword [rbp + 0x18]
lea r8, str.cannot_VACUUM___SQL_statements_in_progress
mov rdx, rax
mov rcx, qword [rbp + 0x10]
call dbg.sqlite3SetString
mov eax, 1
jmp 0x4ac646
mov rax, qword [rbp + 0x18]
mov eax, dword [rax + 0x4c]
mov dword [rbp - 0x24], eax
cmp qword [rbp + 0x28], 0
je 0x4abff3
mov rax, qword [rbp + 0x28]
mov rcx, rax
call dbg.sqlite3_value_type
cmp eax, 3
je 0x4abfbb
mov rax, qword [rbp + 0x18]
lea r8, str.non_text_filename
mov rdx, rax
mov rcx, qword [rbp + 0x10]
call dbg.sqlite3SetString
mov eax, 1
jmp 0x4ac646
mov rax, qword [rbp + 0x28]
mov rcx, rax
call dbg.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 0x4abffe
lea rax, [0x004e9f5a]
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 rdx, qword [rax + 0x30]
movabs rax, 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 rdx, qword [rax + 0x20]
mov eax, dword [rbp + 0x20]
cdqe
shl rax, 5
add rax, rdx
mov rax, qword [rax]
mov qword [rbp - 0x58], rax
mov rax, qword [rbp + 0x18]
mov rdx, qword [rax + 0x20]
mov eax, dword [rbp + 0x20]
cdqe
shl rax, 5
add rax, rdx
mov rax, qword [rax + 8]
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x60]
mov rcx, rax
call dbg.sqlite3BtreePager
mov rcx, rax
call dbg.sqlite3PagerIsMemdb
mov dword [rbp - 0x64], eax
mov rax, qword [rbp + 0x18]
mov eax, dword [rax + 0x28]
mov dword [rbp - 0x68], eax
mov rdx, qword [rbp - 0x18]
mov rax, qword [rbp + 0x18]
mov r9, rdx
lea r8, str.ATTACH__Q_AS_vacuum_db
mov rdx, qword [rbp + 0x10]
mov rcx, rax
call dbg.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 0x4ac57d
mov rax, qword [rbp + 0x18]
mov rdx, qword [rax + 0x20]
mov eax, dword [rbp - 0x68]
cdqe
shl rax, 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 0x4ac1fa
mov rax, qword [rbp - 0x70]
mov rcx, rax
call dbg.sqlite3BtreePager
mov rcx, rax
call dbg.sqlite3PagerFile
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x88], 0
mov rax, qword [rbp - 0x78]
mov rax, qword [rax]
test rax, rax
je 0x4ac1bc
lea rax, [rbp - 0x88]
mov rcx, qword [rbp - 0x78]
mov rdx, rax
call dbg.sqlite3OsFileSize
test eax, eax
jne 0x4ac199
mov rax, qword [rbp - 0x88]
test rax, rax
jle 0x4ac1bc
mov dword [rbp - 4], 1
mov rax, qword [rbp + 0x18]
lea r8, str.output_file_already_exists
mov rdx, rax
mov rcx, qword [rbp + 0x10]
call dbg.sqlite3SetString
jmp 0x4ac59c
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 rdx, qword [rax + 0x20]
mov eax, dword [rbp + 0x20]
cdqe
shl rax, 5
add rax, rdx
movzx eax, byte [rax + 0x10]
movzx eax, al
mov rdx, qword [rbp + 0x18]
mov rdx, qword [rdx + 0x30]
and edx, 0x38
or eax, edx
mov dword [rbp - 0x1c], eax
mov rax, qword [rbp - 0x60]
mov rcx, rax
call dbg.sqlite3BtreeGetRequestedReserve
mov dword [rbp - 0x7c], eax
mov rax, qword [rbp + 0x18]
mov rdx, qword [rax + 0x20]
mov eax, dword [rbp + 0x20]
cdqe
shl rax, 5
add rax, rdx
mov rax, qword [rax + 0x18]
mov edx, dword [rax + 0x74]
mov rax, qword [rbp - 0x70]
mov rcx, rax
call dbg.sqlite3BtreeSetCacheSize
mov rax, qword [rbp - 0x60]
mov edx, 0
mov rcx, rax
call dbg.sqlite3BtreeSetSpillSize
mov edx, eax
mov rax, qword [rbp - 0x70]
mov rcx, rax
call dbg.sqlite3BtreeSetSpillSize
mov eax, dword [rbp - 0x1c]
or eax, 0x20
mov edx, eax
mov rax, qword [rbp - 0x70]
mov rcx, rax
call dbg.sqlite3BtreeSetPagerFlags
mov rax, qword [rbp + 0x18]
lea r8, str.BEGIN
mov rdx, qword [rbp + 0x10]
mov rcx, rax
call dbg.execSql
mov dword [rbp - 4], eax
cmp dword [rbp - 4], 0
jne 0x4ac580
cmp qword [rbp + 0x28], 0
jne 0x4ac295
mov edx, 2
jmp 0x4ac29a
mov edx, 0
mov rax, qword [rbp - 0x60]
mov r8d, 0
mov rcx, rax
call dbg.sqlite3BtreeBeginTrans
mov dword [rbp - 4], eax
cmp dword [rbp - 4], 0
jne 0x4ac583
mov rax, qword [rbp - 0x60]
mov rcx, rax
call dbg.sqlite3BtreePager
mov rcx, rax
call dbg.sqlite3PagerGetJournalMode
cmp eax, 5
jne 0x4ac2e4
cmp qword [rbp + 0x28], 0
jne 0x4ac2e4
mov rax, qword [rbp + 0x18]
mov dword [rax + 0x74], 0
mov rax, qword [rbp - 0x60]
mov rcx, rax
call dbg.sqlite3BtreeGetPageSize
mov ecx, eax
mov edx, dword [rbp - 0x7c]
mov rax, qword [rbp - 0x70]
mov r9d, 0
mov r8d, edx
mov edx, ecx
mov rcx, rax
call dbg.sqlite3BtreeSetPageSize
test eax, eax
jne 0x4ac345
cmp dword [rbp - 0x64], 0
jne 0x4ac339
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 dbg.sqlite3BtreeSetPageSize
test eax, eax
jne 0x4ac345
mov rax, qword [rbp + 0x18]
movzx eax, byte [rax + 0x67]
test al, al
je 0x4ac351
mov dword [rbp - 4], 7
jmp 0x4ac59c
mov rax, qword [rbp + 0x18]
movzx eax, byte [rax + 0x6a]
test al, al
js 0x4ac36a
mov rax, qword [rbp + 0x18]
movzx eax, byte [rax + 0x6a]
movsx eax, al
jmp 0x4ac376
mov rax, qword [rbp - 0x60]
mov rcx, rax
call dbg.sqlite3BtreeGetAutoVacuum
mov rcx, qword [rbp - 0x70]
mov edx, eax
call dbg.sqlite3BtreeSetAutoVacuum
mov eax, dword [rbp - 0x68]
mov edx, eax
mov rax, qword [rbp + 0x18]
mov byte [rax + 0xc4], dl
mov rdx, qword [rbp - 0x58]
mov rax, qword [rbp + 0x18]
mov r9, rdx
lea r8, str.SELECT_sql_FROM___w_.sqlite_schema_WHERE_typetableAND_name__sqlite_sequence_AND_coalesce_rootpage_1__0
mov rdx, qword [rbp + 0x10]
mov rcx, rax
call dbg.execSqlF
mov dword [rbp - 4], eax
cmp dword [rbp - 4], 0
jne 0x4ac586
mov rdx, qword [rbp - 0x58]
mov rax, qword [rbp + 0x18]
mov r9, rdx
lea r8, str.SELECT_sql_FROM___w_.sqlite_schema_WHERE_typeindex
mov rdx, qword [rbp + 0x10]
mov rcx, rax
call dbg.execSqlF
mov dword [rbp - 4], eax
cmp dword [rbp - 4], 0
jne 0x4ac589
mov rax, qword [rbp + 0x18]
mov byte [rax + 0xc4], 0
mov rdx, qword [rbp - 0x58]
mov rax, qword [rbp + 0x18]
mov r9, rdx
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, qword [rbp + 0x10]
mov rcx, rax
call dbg.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 0x4ac58c
mov rdx, qword [rbp - 0x58]
mov rax, qword [rbp + 0x18]
mov r9, rdx
lea r8, str.INSERT_INTO_vacuum_db.sqlite_schema_SELECTFROM___w_.sqlite_schema_WHERE_type_IN_view_trigger__OR_typetableAND_rootpage0_
mov rdx, qword [rbp + 0x10]
mov rcx, rax
call dbg.execSqlF
mov dword [rbp - 4], eax
cmp dword [rbp - 4], 0
jne 0x4ac58f
mov dword [rbp - 0x20], 0
jmp 0x4ac4da
mov eax, dword [rbp - 0x20]
cdqe
lea rdx, [0x004f8800]
movzx eax, byte [rax + rdx]
movzx eax, al
lea rdx, [rbp - 0x8c]
mov rcx, qword [rbp - 0x60]
mov r8, rdx
mov edx, eax
call dbg.sqlite3BtreeGetMeta
mov eax, dword [rbp - 0x20]
add eax, 1
cdqe
lea rdx, [0x004f8800]
movzx eax, byte [rax + rdx]
movzx eax, al
mov edx, dword [rbp - 0x8c]
lea r8d, [rax + rdx]
mov eax, dword [rbp - 0x20]
cdqe
lea rdx, [0x004f8800]
movzx eax, byte [rax + rdx]
movzx eax, al
mov rcx, qword [rbp - 0x70]
mov edx, eax
call dbg.sqlite3BtreeUpdateMeta
mov dword [rbp - 4], eax
cmp dword [rbp - 4], 0
jne 0x4ac592
add dword [rbp - 0x20], 2
cmp dword [rbp - 0x20], 9
jle 0x4ac463
cmp qword [rbp + 0x28], 0
jne 0x4ac4fa
mov rdx, qword [rbp - 0x70]
mov rax, qword [rbp - 0x60]
mov rcx, rax
call dbg.sqlite3BtreeCopyFile
mov dword [rbp - 4], eax
cmp dword [rbp - 4], 0
jne 0x4ac595
mov rax, qword [rbp - 0x70]
mov rcx, rax
call dbg.sqlite3BtreeCommit
mov dword [rbp - 4], eax
cmp dword [rbp - 4], 0
jne 0x4ac598
cmp qword [rbp + 0x28], 0
jne 0x4ac53a
mov rax, qword [rbp - 0x70]
mov rcx, rax
call dbg.sqlite3BtreeGetAutoVacuum
mov edx, eax
mov rax, qword [rbp - 0x60]
mov rcx, rax
call dbg.sqlite3BtreeSetAutoVacuum
cmp qword [rbp + 0x28], 0
jne 0x4ac59b
mov rax, qword [rbp - 0x70]
mov rcx, rax
call dbg.sqlite3BtreeGetRequestedReserve
mov dword [rbp - 0x7c], eax
mov rax, qword [rbp - 0x70]
mov rcx, rax
call dbg.sqlite3BtreeGetPageSize
mov ecx, eax
mov edx, dword [rbp - 0x7c]
mov rax, qword [rbp - 0x60]
mov r9d, 1
mov r8d, edx
mov edx, ecx
mov rcx, rax
call dbg.sqlite3BtreeSetPageSize
mov dword [rbp - 4], eax
jmp 0x4ac59c
nop
jmp 0x4ac59c
nop
jmp 0x4ac59c
nop
jmp 0x4ac59c
nop
jmp 0x4ac59c
nop
jmp 0x4ac59c
nop
jmp 0x4ac59c
nop
jmp 0x4ac59c
nop
jmp 0x4ac59c
nop
jmp 0x4ac59c
nop
jmp 0x4ac59c
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 rdx, qword [rbp + 0x18]
movzx eax, byte [rbp - 0x49]
mov byte [rdx + 0x6e], al
mov rax, qword [rbp - 0x60]
mov r9d, 1
mov r8d, 0
mov edx, 0xffffffff
mov rcx, rax
call dbg.sqlite3BtreeSetPageSize
mov rax, qword [rbp + 0x18]
mov byte [rax + 0x65], 1
cmp qword [rbp - 0x10], 0
je 0x4ac637
mov rax, qword [rbp - 0x10]
mov rax, qword [rax + 8]
mov rcx, rax
call dbg.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 dbg.sqlite3ResetAllSchemasOfConnection
mov eax, dword [rbp - 4]
add rsp, 0xb0
pop rbp
ret