Function at 0x61e6e651
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x3e]
test al, al
jne 0x61e6e69b
mov dword [esp + 8], str.cannot_VACUUM_from_within_a_transaction
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.61e096f9
mov eax, 1
jmp 0x61e6ec18
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x8c]
cmp eax, 1
jle 0x61e6e6cd
mov dword [esp + 8], str.cannot_VACUUM___SQL_statements_in_progress
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.61e096f9
mov eax, 1
jmp 0x61e6ec18
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x50]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x54]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xa4]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x18]
or eax, 0x202800
mov edx, eax
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x18], edx
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x18]
and eax, 0xfff5ffff
mov edx, eax
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x18], edx
mov eax, dword [ebp + 0xc]
mov dword [eax + 0xa4], 0
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 4]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call fcn.61e29072
mov dword [esp], eax
call fcn.61e1a71e
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.61e81a16
test eax, eax
je 0x61e6e76a
mov dword [ebp - 0x10], str.ATTACH_:memory:_AS_vacuum_db_
jmp 0x61e6e771
mov dword [ebp - 0x10], str.ATTACH__AS_vacuum_db_
mov eax, dword [ebp - 0x10]
mov dword [esp + 8], eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.61e6e4b1
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x14]
cmp eax, dword [ebp - 0x34]
jle 0x61e6e7b1
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x14]
add eax, 0xfffffff
shl eax, 4
add eax, edx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0xc], 0
jne 0x61e6eb69
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x14]
add eax, 0xfffffff
shl eax, 4
add eax, edx
mov eax, dword [eax + 4]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov dword [esp], eax
call fcn.61e22e9e
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call fcn.61e21670
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x48]
test eax, eax
je 0x61e6e82c
lea eax, [ebp - 0x40]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x44]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.61e02555
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x61e6e82c
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x48], 0
mov dword [esp + 8], str.PRAGMA_vacuum_db.synchronousOFF
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.61e6e4b1
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x61e6eb6c
mov dword [esp + 8], str.BEGIN_
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.61e6e4b1
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x61e6eb6f
mov dword [esp + 4], 2
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call fcn.61e21e11
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x61e6eb72
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call fcn.61e29072
mov dword [esp], eax
call fcn.61e1af71
cmp eax, 5
jne 0x61e6e8bc
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x48], 0
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call fcn.61e21647
mov edx, eax
mov dword [esp + 0xc], 0
mov eax, dword [ebp - 0x3c]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x38]
mov dword [esp], eax
call fcn.61e21556
test eax, eax
jne 0x61e6e924
cmp dword [ebp - 0x30], 0
jne 0x61e6e919
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x48]
mov dword [esp + 0xc], 0
mov edx, dword [ebp - 0x3c]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x38]
mov dword [esp], eax
call fcn.61e21556
test eax, eax
jne 0x61e6e924
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x40]
test al, al
je 0x61e6e930
mov dword [ebp - 0xc], 7
jmp 0x61e6eb91
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x42]
test al, al
js 0x61e6e947
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x42]
movsx eax, al
jmp 0x61e6e952
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call fcn.61e217ef
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x38]
mov dword [esp], eax
call fcn.61e21768
mov dword [esp + 8], str.SELECT_CREATE_TABLE_vacuum_db.__substr_sql_14____FROM_sqlite_master_WHERE_typetable_AND_name_sqlite_sequence___AND_rootpage_0
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.61e6e545
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x61e6eb75
mov dword [esp + 8], str.SELECT_CREATE_INDEX_vacuum_db.__substr_sql_14___FROM_sqlite_master_WHERE_sql_LIKE_CREATE_INDEX__
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.61e6e545
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x61e6eb78
mov dword [esp + 8], str.SELECT_CREATE_UNIQUE_INDEX_vacuum_db.__substr_sql_21____FROM_sqlite_master_WHERE_sql_LIKE_CREATE_UNIQUE_INDEX__
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.61e6e545
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x61e6eb7b
mov dword [esp + 8], 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_rootpage_0
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.61e6e545
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x61e6eb7e
mov dword [esp + 8], str.SELECT_DELETE_FROM_vacuum_db.__quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.61e6e545
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x61e6eb81
mov dword [esp + 8], str.SELECT_INSERT_INTO_vacuum_db.__quote_name____SELECT__FROM_main.__quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence_
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.61e6e545
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x61e6eb84
mov dword [esp + 8], 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_
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.61e6e4b1
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x61e6eb87
mov dword [ebp - 0x18], 0
jmp 0x61e6eae6
mov eax, dword [ebp - 0x18]
add eax, 0x61e8f2e4
movzx eax, byte [eax]
movzx eax, al
lea edx, [ebp - 0x48]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call fcn.61e28da7
mov eax, dword [ebp - 0x18]
add eax, 1
movzx eax, byte [eax + 0x61e8f2e4]
movzx edx, al
mov eax, dword [ebp - 0x48]
add edx, eax
mov eax, dword [ebp - 0x18]
add eax, 0x61e8f2e4
movzx eax, byte [eax]
movzx eax, al
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x38]
mov dword [esp], eax
call fcn.61e28df2
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x61e6eb8a
add dword [ebp - 0x18], 2
cmp dword [ebp - 0x18], 9
jle 0x61e6ea7b
mov eax, dword [ebp - 0x38]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call fcn.61e2b783
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x61e6eb8d
mov eax, dword [ebp - 0x38]
mov dword [esp], eax
call fcn.61e22e9e
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x61e6eb90
mov eax, dword [ebp - 0x38]
mov dword [esp], eax
call fcn.61e217ef
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call fcn.61e21768
mov eax, dword [ebp - 0x38]
mov dword [esp], eax
call fcn.61e21647
mov edx, eax
mov dword [esp + 0xc], 1
mov eax, dword [ebp - 0x3c]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call fcn.61e21556
mov dword [ebp - 0xc], eax
jmp 0x61e6eb91
nop
jmp 0x61e6eb91
nop
jmp 0x61e6eb91
nop
jmp 0x61e6eb91
nop
jmp 0x61e6eb91
nop
jmp 0x61e6eb91
nop
jmp 0x61e6eb91
nop
jmp 0x61e6eb91
nop
jmp 0x61e6eb91
nop
jmp 0x61e6eb91
nop
jmp 0x61e6eb91
nop
jmp 0x61e6eb91
nop
jmp 0x61e6eb91
nop
jmp 0x61e6eb91
nop
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x1c]
mov dword [eax + 0x18], edx
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x20]
mov dword [eax + 0x50], edx
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x24]
mov dword [eax + 0x54], edx
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x28]
mov dword [eax + 0xa4], edx
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0xffffffff
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call fcn.61e21556
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x3e], 1
cmp dword [ebp - 0x14], 0
je 0x61e6ec0a
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 4]
mov dword [esp], eax
call fcn.61e21320
mov eax, dword [ebp - 0x14]
mov dword [eax + 4], 0
mov eax, dword [ebp - 0x14]
mov dword [eax + 0xc], 0
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.61e4c10b
mov eax, dword [ebp - 0xc]
leave
ret