Function at 0x42f5e6
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
mov edi, edx
xor edx, edx
mov dword [ebp - 8], edx
mov eax, dword [edi + 8]
mov dword [ebp - 0x14], eax
or eax, 0x2800
mov dword [edi + 8], eax
cmp byte [edi + 0x14], dl
jne 0x42f620
push edx
push str.cannot_VACUUM_from_within_a_transaction
push ecx
call fcn.0040b26f
xor esi, esi
add esp, 0xc
inc esi
jmp 0x42f7ea
mov eax, dword [edi + 4]
mov edx, str.ATTACH__AS_vacuum_db_
mov ecx, edi
mov ebx, dword [eax + 4]
mov dword [ebp - 0xc], ebx
call fcn.0042f540
mov esi, eax
test esi, esi
jne 0x42f7ea
imul ecx, dword [edi], 0x18
mov eax, dword [edi + 4]
lea edx, [eax - 0x18]
add edx, ecx
mov dword [ebp - 8], edx
mov esi, dword [ecx + eax - 0x14]
mov eax, dword [ebx + 4]
mov dword [ebp - 4], esi
movzx edx, word [eax + 0x14]
movzx eax, word [eax + 0x16]
mov ecx, edx
sub ecx, eax
push ecx
mov ecx, esi
call fcn.004107cf
pop ecx
call fcn.0040bc0b
test eax, eax
je 0x42f67d
push 7
pop esi
jmp 0x42f7ea
mov edx, str.PRAGMA_vacuum_db.synchronousOFF
mov ecx, edi
call fcn.0042f540
mov esi, eax
test esi, esi
jne 0x42f7ea
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 4]
cmp byte [ecx + 0x11], 0
jne 0x42f6ac
mov eax, dword [ebx + 4]
cmp byte [eax + 0x12], 0
setne al
mov byte [ecx + 0x12], al
mov edx, str.BEGIN_EXCLUSIVE_
mov ecx, edi
call fcn.0042f540
mov esi, eax
test esi, esi
jne 0x42f7ea
mov edx, str.SELECT_CREATE_TABLE_vacuum_db.__substr_sql_14_100000000____FROM_sqlite_master_WHERE_typetable_AND_name_sqlite_sequence___AND_rootpage_0
mov ecx, edi
call fcn.0042f581
mov esi, eax
test esi, esi
jne 0x42f7ea
mov edx, str.SELECT_CREATE_INDEX_vacuum_db.__substr_sql_14_100000000___FROM_sqlite_master_WHERE_sql_LIKE_CREATE_INDEX__
mov ecx, edi
call fcn.0042f581
mov esi, eax
test esi, esi
jne 0x42f7ea
mov edx, str.SELECT_CREATE_UNIQUE_INDEX_vacuum_db.__substr_sql_21_100000000____FROM_sqlite_master_WHERE_sql_LIKE_CREATE_UNIQUE_INDEX__
mov ecx, edi
call fcn.0042f581
mov esi, eax
test esi, esi
jne 0x42f7ea
mov edx, str.SELECT_INSERT_INTO_vacuum_db.__quote_name____SELECT__FROM___quote_name____FROM_sqlite_master_WHERE_type__table_AND_name_sqlite_sequence___AND_rootpage_0
mov ecx, edi
call fcn.0042f581
mov esi, eax
test esi, esi
jne 0x42f7ea
mov edx, str.SELECT_DELETE_FROM_vacuum_db.__quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence
mov ecx, edi
call fcn.0042f581
mov esi, eax
test esi, esi
jne 0x42f7ea
mov edx, str.SELECT_INSERT_INTO_vacuum_db.__quote_name____SELECT__FROM___quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence_
mov ecx, edi
call fcn.0042f581
mov esi, eax
test esi, esi
jne 0x42f7ea
mov edx, str.INSERT_INTO_vacuum_db.sqlite_master___SELECT_type__name__tbl_name__rootpage__sql____FROM_sqlite_master___WHERE_typeview_OR_typetrigger______OR__typetable_AND_rootpage0_
mov ecx, edi
call fcn.0042f540
mov esi, eax
test esi, esi
jne 0x42f7ea
xor ebx, ebx
movzx edx, byte [ebx + 0x4e0eb4]
lea eax, [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
push eax
call fcn.00413f7c
mov esi, eax
pop ecx
test esi, esi
jne 0x42f7ea
movzx eax, byte [ebx + 0x4e0eb5]
add eax, dword [ebp - 0x10]
movzx edx, byte [ebx + 0x4e0eb4]
mov ecx, dword [ebp - 4]
push eax
call fcn.00413fe1
mov esi, eax
pop ecx
test esi, esi
jne 0x42f7ea
add ebx, 2
cmp ebx, 8
jb 0x42f75e
mov ebx, dword [ebp - 0xc]
mov ecx, ebx
mov edx, dword [ebp - 4]
call fcn.004149c2
mov esi, eax
test esi, esi
jne 0x42f7ea
mov ecx, dword [ebp - 4]
xor edx, edx
call fcn.00411038
mov esi, eax
test esi, esi
jne 0x42f7ea
mov ecx, dword [ebp - 4]
call fcn.00411076
mov esi, eax
test esi, esi
jne 0x42f7ea
xor edx, edx
mov ecx, ebx
call fcn.00411038
mov esi, eax
test esi, esi
jne 0x42f7ea
mov ecx, ebx
call fcn.00411076
mov esi, eax
mov eax, dword [ebp - 0x14]
mov dword [edi + 8], eax
mov eax, dword [ebp - 8]
mov byte [edi + 0x14], 1
test eax, eax
je 0x42f80e
mov ecx, dword [eax + 4]
call fcn.00410734
mov eax, dword [ebp - 8]
and dword [eax + 4], 0
and dword [eax + 0x14], 0
xor edx, edx
mov ecx, edi
call fcn.00420a15
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret