Function at 0x45467e
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
and dword [ebp - 4], 0
and dword [ebp - 0x18], 0
and dword [ebp - 0x14], 0
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x3f]
test eax, eax
jne 0x4546b6
push str.cannot_VACUUM_from_within_a_transaction
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.004569fe
add esp, 0xc
xor eax, eax
inc eax
jmp 0x454af0
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x94], 1
jle 0x4546dd
push str.cannot_VACUUM___SQL_statements_in_progress
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.004569fe
add esp, 0xc
xor eax, eax
inc eax
jmp 0x454af0
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x50]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x54]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xac]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x18]
or eax, 0x202800
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x18], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x18]
and eax, 0xfff5ffff
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x18], eax
mov eax, dword [ebp + 0xc]
and dword [eax + 0xac], 0
push 0x10
pop eax
imul eax, eax, 0
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x10]
mov eax, dword [ecx + eax + 4]
mov dword [ebp - 8], eax
push dword [ebp - 8]
call fcn.0043be63
pop ecx
push eax
call fcn.0044d12a
pop ecx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x24], eax
push dword [ebp + 0xc]
call fcn.00458073
pop ecx
test eax, eax
je 0x454775
mov dword [ebp - 0x18], str.ATTACH_:memory:_AS_vacuum_db_
jmp 0x45477c
mov dword [ebp - 0x18], str.ATTACH__AS_vacuum_db_
push dword [ebp - 0x18]
push dword [ebp + 8]
push dword [ebp + 0xc]
call fcn.004224b0
add esp, 0xc
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x14]
cmp eax, dword [ebp - 0x24]
jle 0x4547ae
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x14]
dec eax
shl eax, 4
mov ecx, dword [ebp + 0xc]
add eax, dword [ecx + 0x10]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 4], 0
je 0x4547b9
jmp 0x454a85
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x14]
dec eax
shl eax, 4
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x10]
mov eax, dword [ecx + eax + 4]
mov dword [ebp - 0xc], eax
push dword [ebp - 0xc]
call fcn.00439cac
pop ecx
push dword [ebp - 8]
call fcn.0043a773
pop ecx
mov dword [ebp - 0x1c], eax
push str.PRAGMA_vacuum_db.synchronousOFF
push dword [ebp + 8]
push dword [ebp + 0xc]
call fcn.004224b0
add esp, 0xc
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x454806
jmp 0x454a85
push str.BEGIN_
push dword [ebp + 8]
push dword [ebp + 0xc]
call fcn.004224b0
add esp, 0xc
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x454827
jmp 0x454a85
push 2
push dword [ebp - 8]
call fcn.004396ce
pop ecx
pop ecx
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x454841
jmp 0x454a85
push dword [ebp - 8]
call fcn.0043be63
pop ecx
push eax
call fcn.0044d11e
pop ecx
cmp eax, 5
jne 0x45485d
mov eax, dword [ebp + 0xc]
and dword [eax + 0x48], 0
push 0
push dword [ebp - 0x1c]
push dword [ebp - 8]
call fcn.0043a765
pop ecx
push eax
push dword [ebp - 0xc]
call fcn.0043c334
add esp, 0x10
test eax, eax
jne 0x4548a6
cmp dword [ebp - 0x28], 0
jne 0x45489b
push 0
push dword [ebp - 0x1c]
mov eax, dword [ebp + 0xc]
push dword [eax + 0x48]
push dword [ebp - 0xc]
call fcn.0043c334
add esp, 0x10
test eax, eax
jne 0x4548a6
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x41]
test eax, eax
je 0x4548b2
mov dword [ebp - 4], 7
jmp 0x454a85
mov eax, dword [ebp + 0xc]
movsx eax, byte [eax + 0x43]
test eax, eax
jl 0x4548c9
mov eax, dword [ebp + 0xc]
movsx eax, byte [eax + 0x43]
mov dword [ebp - 0x20], eax
jmp 0x4548d5
push dword [ebp - 8]
call fcn.0043a660
pop ecx
mov dword [ebp - 0x20], eax
push dword [ebp - 0x20]
push dword [ebp - 0xc]
call fcn.0043c229
pop ecx
pop ecx
push str.SELECT_CREATE_TABLE_vacuum_db.__substr_sql_14____FROM_sqlite_master_WHERE_typetable_AND_name_sqlite_sequence___AND_coalesce_rootpage_1__0
push dword [ebp + 8]
push dword [ebp + 0xc]
call fcn.0042242a
add esp, 0xc
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x454903
jmp 0x454a85
push str.SELECT_CREATE_INDEX_vacuum_db.__substr_sql_14___FROM_sqlite_master_WHERE_sql_LIKE_CREATE_INDEX__
push dword [ebp + 8]
push dword [ebp + 0xc]
call fcn.0042242a
add esp, 0xc
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x454924
jmp 0x454a85
push str.SELECT_CREATE_UNIQUE_INDEX_vacuum_db.__substr_sql_21____FROM_sqlite_master_WHERE_sql_LIKE_CREATE_UNIQUE_INDEX__
push dword [ebp + 8]
push dword [ebp + 0xc]
call fcn.0042242a
add esp, 0xc
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x454945
jmp 0x454a85
push 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_coalesce_rootpage_1__0
push dword [ebp + 8]
push dword [ebp + 0xc]
call fcn.0042242a
add esp, 0xc
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x454966
jmp 0x454a85
push str.SELECT_DELETE_FROM_vacuum_db.__quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence
push dword [ebp + 8]
push dword [ebp + 0xc]
call fcn.0042242a
add esp, 0xc
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x454987
jmp 0x454a85
push str.SELECT_INSERT_INTO_vacuum_db.__quote_name____SELECT__FROM_main.__quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence_
push dword [ebp + 8]
push dword [ebp + 0xc]
call fcn.0042242a
add esp, 0xc
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x4549a8
jmp 0x454a85
push 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_
push dword [ebp + 8]
push dword [ebp + 0xc]
call fcn.004224b0
add esp, 0xc
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x4549c9
jmp 0x454a85
and dword [ebp - 0x10], 0
jmp 0x4549d7
mov eax, dword [ebp - 0x10]
inc eax
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xa
jge 0x454a28
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 0x4a2a58]
push eax
push dword [ebp - 8]
call fcn.0043a70a
add esp, 0xc
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 0x4a2a59]
add eax, dword [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 0x4a2a58]
push eax
push dword [ebp - 0xc]
call fcn.0043c63b
add esp, 0xc
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x454a26
jmp 0x454a85
jmp 0x4549cf
push dword [ebp - 0xc]
push dword [ebp - 8]
call fcn.00439e0a
pop ecx
pop ecx
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x454a40
jmp 0x454a85
push dword [ebp - 0xc]
call fcn.00439cac
pop ecx
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x454a54
jmp 0x454a85
push dword [ebp - 0xc]
call fcn.0043a660
pop ecx
push eax
push dword [ebp - 8]
call fcn.0043c229
pop ecx
pop ecx
push 1
push dword [ebp - 0x1c]
push dword [ebp - 0xc]
call fcn.0043a765
pop ecx
push eax
push dword [ebp - 8]
call fcn.0043c334
add esp, 0x10
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x30]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x34]
mov dword [eax + 0x50], ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x38]
mov dword [eax + 0x54], ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x3c]
mov dword [eax + 0xac], ecx
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [ebp - 8]
call fcn.0043c334
add esp, 0x10
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x3f], 1
cmp dword [ebp - 0x14], 0
je 0x454ae4
mov eax, dword [ebp - 0x14]
push dword [eax + 4]
call fcn.00439aeb
pop ecx
mov eax, dword [ebp - 0x14]
and dword [eax + 4], 0
mov eax, dword [ebp - 0x14]
and dword [eax + 0xc], 0
push dword [ebp + 0xc]
call fcn.004536c9
pop ecx
mov eax, dword [ebp - 4]
leave
ret