Function at 0x451d0f
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
push esi
push edi
mov edi, ecx
xor edx, edx
mov dword [ebp - 0xc], edx
mov edx, str.ATTACH__AS_vacuum_db_
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x44]
mov dword [ebp - 0x18], eax
or eax, 0x2800
mov dword [edi + 0xc], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [edi + 0x48]
mov dword [ebp - 0x20], ecx
xor ecx, ecx
mov eax, dword [eax + 4]
mov dword [ebp - 4], eax
mov eax, dword [eax + 4]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
cmp dword [eax], ecx
sete cl
mov dword [ebp - 8], ecx
mov ecx, edi
call fcn.00451c60
mov esi, eax
test esi, esi
jne 0x451f76
imul ecx, dword [edi + 4], 0x18
mov eax, dword [edi + 8]
mov esi, dword [ebp - 4]
lea edx, [eax - 0x18]
add edx, ecx
mov dword [ebp - 0xc], edx
mov ebx, dword [ecx + eax - 0x14]
mov ecx, esi
call fcn.0042af90
mov eax, dword [esi + 4]
movzx ecx, word [eax + 0x18]
movzx eax, word [eax + 0x16]
sub eax, ecx
mov ecx, esi
mov dword [ebp - 0x10], eax
call fcn.0042b009
mov eax, dword [esi + 4]
mov ecx, ebx
mov esi, dword [ebp - 0x10]
push esi
movzx edx, word [eax + 0x16]
call fcn.0042c5bb
pop ecx
test eax, eax
jne 0x451f73
cmp dword [ebp - 8], eax
jne 0x451dd2
mov edx, dword [edi + 0x24]
mov ecx, ebx
push esi
call fcn.0042c5bb
pop ecx
test eax, eax
jne 0x451f73
cmp byte [edi + 0x1e], 0
jne 0x451f73
mov edx, str.PRAGMA_vacuum_db.synchronousOFF
mov ecx, edi
call fcn.00451c60
mov esi, eax
test esi, esi
jne 0x451f76
mov al, byte [edi + 0x21]
test al, al
js 0x451dfe
movsx eax, al
jmp 0x451e06
mov ecx, dword [ebp - 4]
call fcn.0042c683
mov edx, eax
mov ecx, ebx
call fcn.0042c644
mov edx, str.BEGIN_EXCLUSIVE_
mov ecx, edi
call fcn.00451c60
mov esi, eax
test esi, esi
jne 0x451f76
mov edx, str.SELECT_CREATE_TABLE_vacuum_db.__substr_sql_14____FROM_sqlite_master_WHERE_typetable_AND_name_sqlite_sequence___AND_rootpage_0
mov ecx, edi
call fcn.00451caa
mov esi, eax
test esi, esi
jne 0x451f76
mov edx, str.SELECT_CREATE_INDEX_vacuum_db.__substr_sql_14___FROM_sqlite_master_WHERE_sql_LIKE_CREATE_INDEX__
mov ecx, edi
call fcn.00451caa
mov esi, eax
test esi, esi
jne 0x451f76
mov edx, str.SELECT_CREATE_UNIQUE_INDEX_vacuum_db.__substr_sql_21____FROM_sqlite_master_WHERE_sql_LIKE_CREATE_UNIQUE_INDEX__
mov ecx, edi
call fcn.00451caa
mov esi, eax
test esi, esi
jne 0x451f76
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.00451caa
mov esi, eax
test esi, esi
jne 0x451f76
mov edx, str.SELECT_DELETE_FROM_vacuum_db.__quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence
mov ecx, edi
call fcn.00451caa
mov esi, eax
test esi, esi
jne 0x451f76
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.00451caa
mov esi, eax
test esi, esi
jne 0x451f76
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.00451c60
mov esi, eax
test esi, esi
jne 0x451f76
mov dword [ebp - 8], eax
movzx edx, byte [eax + 0x5a0ed8]
lea ecx, [ebp - 0x14]
push ecx
mov ecx, dword [ebp - 4]
call fcn.00430991
mov esi, eax
pop ecx
test esi, esi
jne 0x451f76
mov ecx, dword [ebp - 8]
movzx eax, byte [ecx + 0x5a0ed9]
add eax, dword [ebp - 0x14]
movzx edx, byte [ecx + 0x5a0ed8]
mov ecx, ebx
push eax
call fcn.00430a3f
mov esi, eax
pop ecx
test esi, esi
jne 0x451f76
mov eax, dword [ebp - 8]
add eax, 2
mov dword [ebp - 8], eax
cmp eax, 8
jl 0x451ec2
mov ecx, dword [ebp - 4]
mov edx, ebx
call fcn.00431cbd
mov esi, eax
test esi, esi
jne 0x451f76
mov ecx, ebx
call fcn.0042af90
xor edx, edx
mov ecx, ebx
call fcn.0042d028
mov esi, eax
test esi, esi
jne 0x451f40
mov ecx, ebx
call fcn.0042d088
mov esi, eax
mov ecx, ebx
call fcn.0042b009
test esi, esi
jne 0x451f76
mov ecx, ebx
call fcn.0042c683
mov ecx, dword [ebp - 4]
mov edx, eax
call fcn.0042c644
mov eax, dword [ebx + 4]
push dword [ebp - 0x10]
mov ecx, dword [ebp - 4]
movzx edx, word [eax + 0x16]
call fcn.0042c5bb
pop ecx
mov esi, eax
jmp 0x451f76
push 7
pop esi
mov eax, dword [ebp - 0x18]
mov dword [edi + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0x44], eax
mov eax, dword [ebp - 0x20]
mov dword [edi + 0x48], eax
mov eax, dword [ebp - 0xc]
mov byte [edi + 0x1c], 1
test eax, eax
je 0x451fa6
mov ecx, dword [eax + 4]
call fcn.0042c482
mov eax, dword [ebp - 0xc]
and dword [eax + 4], 0
and dword [eax + 0x14], 0
xor edx, edx
mov ecx, edi
call fcn.00440c0c
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret