Function at 0x42fa2c
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 0x42fa66
push edx
push str.cannot_VACUUM_from_within_a_transaction
push ecx
call fcn.0040b6b6
xor esi, esi
add esp, 0xc
inc esi
jmp 0x42fc30
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.0042f986
mov esi, eax
test esi, esi
jne 0x42fc30
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.00410c16
pop ecx
call fcn.0040c052
test eax, eax
je 0x42fac3
push 7
pop esi
jmp 0x42fc30
mov edx, str.PRAGMA_vacuum_db.synchronousOFF
mov ecx, edi
call fcn.0042f986
mov esi, eax
test esi, esi
jne 0x42fc30
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 4]
cmp byte [ecx + 0x11], 0
jne 0x42faf2
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.0042f986
mov esi, eax
test esi, esi
jne 0x42fc30
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.0042f9c7
mov esi, eax
test esi, esi
jne 0x42fc30
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.0042f9c7
mov esi, eax
test esi, esi
jne 0x42fc30
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.0042f9c7
mov esi, eax
test esi, esi
jne 0x42fc30
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.0042f9c7
mov esi, eax
test esi, esi
jne 0x42fc30
mov edx, str.SELECT_DELETE_FROM_vacuum_db.__quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence
mov ecx, edi
call fcn.0042f9c7
mov esi, eax
test esi, esi
jne 0x42fc30
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.0042f9c7
mov esi, eax
test esi, esi
jne 0x42fc30
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.0042f986
mov esi, eax
test esi, esi
jne 0x42fc30
xor ebx, ebx
movzx edx, byte [ebx + 0x4dff64]
lea eax, [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
push eax
call fcn.004143c3
mov esi, eax
pop ecx
test esi, esi
jne 0x42fc30
movzx eax, byte [ebx + 0x4dff65]
add eax, dword [ebp - 0x10]
movzx edx, byte [ebx + 0x4dff64]
mov ecx, dword [ebp - 4]
push eax
call fcn.00414428
mov esi, eax
pop ecx
test esi, esi
jne 0x42fc30
add ebx, 2
cmp ebx, 8
jb 0x42fba4
mov ebx, dword [ebp - 0xc]
mov ecx, ebx
mov edx, dword [ebp - 4]
call fcn.00414e09
mov esi, eax
test esi, esi
jne 0x42fc30
mov ecx, dword [ebp - 4]
xor edx, edx
call fcn.0041147f
mov esi, eax
test esi, esi
jne 0x42fc30
mov ecx, dword [ebp - 4]
call fcn.004114bd
mov esi, eax
test esi, esi
jne 0x42fc30
xor edx, edx
mov ecx, ebx
call fcn.0041147f
mov esi, eax
test esi, esi
jne 0x42fc30
mov ecx, ebx
call fcn.004114bd
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 0x42fc54
mov ecx, dword [eax + 4]
call fcn.00410b7b
mov eax, dword [ebp - 8]
and dword [eax + 4], 0
and dword [eax + 0x14], 0
xor edx, edx
mov ecx, edi
call fcn.00420e5c
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret