Function at 0x468a80
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
push ebx
push esi
push edi
mov esi, ecx
xor ecx, ecx
mov edi, eax
mov dword [ebp - 0x10], ecx
cmp byte [edi + 0x1c], cl
jne 0x468ab2
push str.cannot_VACUUM_from_within_a_transaction
mov edi, esi
call fcn.00416df0
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x8c], 1
jle 0x468ad6
push str.cannot_VACUUM___SQL_statements_in_progress
mov edi, esi
call fcn.00416df0
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0xc]
mov edx, dword [edi + 0x3c]
mov dword [ebp - 0x1c], eax
and eax, 0xfaffffff
or eax, 0x10050000
cmp byte [edi + 0x1d], 2
mov dword [ebp - 0x20], edx
mov edx, dword [edi + 0x40]
mov dword [edi + 0xc], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x24], edx
mov edx, dword [edi + 0x98]
mov dword [edi + 0x98], ecx
mov eax, dword [eax + 4]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x28], edx
mov edx, dword [ecx]
mov ecx, dword [edi + 4]
mov dword [ebp - 4], eax
movzx eax, byte [edx + 0xe]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0xc], ecx
mov eax, str.ATTACH_:memory:_AS_vacuum_db_
je 0x468b2f
mov eax, str.ATTACH__AS_vacuum_db_
mov ecx, esi
mov ebx, edi
call fcn.004687c0
mov ebx, eax
mov eax, dword [edi + 4]
cmp eax, dword [ebp - 0xc]
jle 0x468b50
mov ecx, dword [edi + 8]
mov edx, eax
add edx, edx
lea edx, [ecx + edx*8 - 0x10]
mov dword [ebp - 0x10], edx
test ebx, ebx
jne 0x468d81
mov ecx, dword [edi + 8]
add eax, eax
mov ebx, dword [ecx + eax*8 - 0xc]
mov eax, ebx
mov dword [ebp - 8], ebx
call fcn.00428a40
mov eax, dword [ebp - 4]
call fcn.00427430
cmp dword [edi + 0x24], 0
mov dword [ebp - 0xc], eax
je 0x468b96
lea ecx, [ebp - 0x14]
lea edx, [ebp - 0x2c]
mov eax, edi
call fcn.00477910
cmp dword [ebp - 0x14], 0
je 0x468b96
mov dword [edi + 0x24], 0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 4]
mov ecx, dword [edx]
cmp byte [ecx + 5], 5
jne 0x468bab
mov dword [edi + 0x24], 0
mov ecx, dword [ebp - 0xc]
mov edx, dword [eax + 4]
mov eax, dword [edx + 0x24]
push 0
push ecx
push ebx
call fcn.00427350
add esp, 0xc
test eax, eax
jne 0x468d7c
cmp dword [ebp - 0x18], eax
jne 0x468be6
mov edx, dword [ebp - 0xc]
push eax
mov eax, dword [edi + 0x24]
push edx
push ebx
call fcn.00427350
add esp, 0xc
test eax, eax
jne 0x468d7c
cmp byte [edi + 0x1e], 0
jne 0x468d7c
mov eax, str.PRAGMA_vacuum_db.synchronousOFF
mov ecx, esi
mov ebx, edi
call fcn.004687c0
mov ebx, eax
test ebx, ebx
jne 0x468d81
mov al, byte [edi + 0x20]
test al, al
js 0x468c14
movsx eax, al
jmp 0x468c1c
mov eax, dword [ebp - 4]
call fcn.00427590
push eax
mov eax, dword [ebp - 8]
call fcn.00427510
add esp, 4
mov eax, str.BEGIN_EXCLUSIVE_
mov ecx, esi
mov ebx, edi
call fcn.004687c0
mov ebx, eax
test ebx, ebx
jne 0x468d81
push esi
push edi
mov eax, str.SELECT_CREATE_TABLE_vacuum_db.__substr_sql_14____FROM_sqlite_master_WHERE_typetable_AND_name_sqlite_sequence___AND_rootpage_0
call fcn.00468850
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x468d81
push esi
push edi
mov eax, str.SELECT_CREATE_INDEX_vacuum_db.__substr_sql_14___FROM_sqlite_master_WHERE_sql_LIKE_CREATE_INDEX__
call fcn.00468850
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x468d81
push esi
push edi
mov eax, str.SELECT_CREATE_UNIQUE_INDEX_vacuum_db.__substr_sql_21____FROM_sqlite_master_WHERE_sql_LIKE_CREATE_UNIQUE_INDEX__
call fcn.00468850
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x468d81
push esi
push edi
mov eax, 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
call fcn.00468850
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x468d81
push esi
push edi
mov eax, str.SELECT_DELETE_FROM_vacuum_db.__quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence
call fcn.00468850
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x468d81
push esi
push edi
mov eax, str.SELECT_INSERT_INTO_vacuum_db.__quote_name____SELECT__FROM_main.__quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence_
call fcn.00468850
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x468d81
mov eax, 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 ecx, esi
mov ebx, edi
call fcn.004687c0
mov ebx, eax
test ebx, ebx
jne 0x468d81
xor esi, esi
movzx ecx, byte [esi + 0x4d6b84]
lea eax, [ebp - 0x18]
push eax
mov eax, dword [ebp - 4]
push ecx
call fcn.0042d940
movzx edx, byte [esi + 0x4d6b85]
add edx, dword [ebp - 0x18]
movzx eax, byte [esi + 0x4d6b84]
push edx
push eax
mov eax, dword [ebp - 8]
call fcn.0042d9b0
mov ebx, eax
add esp, 0x10
test ebx, ebx
jne 0x468d81
add esi, 2
cmp esi, 8
jl 0x468cf0
mov esi, dword [ebp - 8]
mov ebx, dword [ebp - 4]
call fcn.00430550
mov ebx, eax
test ebx, ebx
jne 0x468d81
mov eax, esi
call fcn.00428a40
mov ebx, eax
test ebx, ebx
jne 0x468d81
mov eax, esi
call fcn.00427590
mov ebx, dword [ebp - 4]
push eax
mov eax, ebx
call fcn.00427510
mov edx, dword [ebp - 0xc]
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 0x24]
add esp, 4
push 1
push edx
push ebx
call fcn.00427350
add esp, 0xc
mov ebx, eax
jmp 0x468d81
mov ebx, 7
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
mov dword [edi + 0xc], eax
mov eax, dword [ebp - 0x28]
push 1
mov dword [edi + 0x3c], ecx
mov ecx, dword [ebp - 4]
mov dword [edi + 0x98], eax
push 0xffffffffffffffff
push ecx
or eax, 0xffffffff
mov dword [edi + 0x40], edx
call fcn.00427350
mov esi, dword [ebp - 0x10]
add esp, 0xc
mov byte [edi + 0x1c], 1
test esi, esi
je 0x468dca
mov eax, dword [esi + 4]
call fcn.00427190
xor eax, eax
mov dword [esi + 4], eax
mov dword [esi + 0xc], eax
or eax, 0xffffffff
mov ecx, edi
call fcn.00449270
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret