Function at 0x4a2f5c
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 - 8], edx
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x3c]
mov dword [ebp - 0x18], eax
and eax, 0xfbffffff
or eax, 0x50000
mov dword [ebp - 0x1c], ecx
mov ecx, dword [edi + 0x40]
mov dword [edi + 0xc], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x20], ecx
mov ecx, dword [edi + 0x94]
and dword [edi + 0x94], edx
mov edx, str.ATTACH__AS_vacuum_db_
mov eax, dword [eax + 4]
mov dword [ebp - 4], eax
mov dword [ebp - 0x24], ecx
mov ecx, edi
mov eax, dword [eax + 4]
mov eax, dword [eax]
movzx eax, byte [eax + 0xd]
mov dword [ebp - 0x14], eax
call fcn.004a2eb1
mov esi, eax
test esi, esi
jne 0x4a31b8
mov eax, dword [edi + 8]
mov ecx, dword [edi + 4]
shl ecx, 4
lea edx, [eax - 0x10]
add edx, ecx
mov ebx, dword [ecx + eax - 0xc]
mov ecx, ebx
mov dword [ebp - 8], edx
mov dword [ebp - 0xc], ebx
call fcn.0047bd1a
mov esi, dword [ebp - 4]
mov ecx, esi
call fcn.004799d4
mov eax, dword [esi + 4]
movzx ecx, word [eax + 0x16]
movzx eax, word [eax + 0x14]
sub eax, ecx
mov ecx, esi
mov dword [ebp - 0x10], eax
call fcn.00479a3e
mov eax, dword [esi + 4]
mov ecx, ebx
mov esi, dword [ebp - 0x10]
push 0
push esi
movzx edx, word [eax + 0x14]
call fcn.0047b14a
pop ecx
pop ecx
test eax, eax
jne 0x4a31b5
cmp dword [ebp - 0x14], eax
jne 0x4a303e
mov edx, dword [edi + 0x24]
mov ecx, ebx
push eax
push esi
call fcn.0047b14a
pop ecx
pop ecx
test eax, eax
jne 0x4a31b5
cmp byte [edi + 0x1e], 0
jne 0x4a31b5
mov edx, str.PRAGMA_vacuum_db.synchronousOFF
mov ecx, edi
call fcn.004a2eb1
mov esi, eax
test esi, esi
jne 0x4a31b8
mov al, byte [edi + 0x21]
test al, al
js 0x4a306a
movsx eax, al
jmp 0x4a3072
mov ecx, dword [ebp - 4]
call fcn.0047b22d
mov edx, eax
mov ecx, ebx
call fcn.0047b1d9
mov edx, str.BEGIN_EXCLUSIVE_
mov ecx, edi
call fcn.004a2eb1
mov esi, eax
test esi, esi
jne 0x4a31b8
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.004a2ef9
mov esi, eax
test esi, esi
jne 0x4a31b8
mov edx, str.SELECT_CREATE_INDEX_vacuum_db.__substr_sql_14___FROM_sqlite_master_WHERE_sql_LIKE_CREATE_INDEX__
mov ecx, edi
call fcn.004a2ef9
mov esi, eax
test esi, esi
jne 0x4a31b8
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.004a2ef9
mov esi, eax
test esi, esi
jne 0x4a31b8
mov edx, 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 ecx, edi
call fcn.004a2ef9
mov esi, eax
test esi, esi
jne 0x4a31b8
mov edx, str.SELECT_DELETE_FROM_vacuum_db.__quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence
mov ecx, edi
call fcn.004a2ef9
mov esi, eax
test esi, esi
jne 0x4a31b8
mov edx, str.SELECT_INSERT_INTO_vacuum_db.__quote_name____SELECT__FROM_main.__quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence_
mov ecx, edi
call fcn.004a2ef9
mov esi, eax
test esi, esi
jne 0x4a31b8
mov edx, 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, edi
call fcn.004a2eb1
mov esi, eax
test esi, esi
jne 0x4a31b8
xor ebx, ebx
movzx edx, byte [ebx + 0x518048]
lea eax, [ebp - 0x14]
mov ecx, dword [ebp - 4]
push eax
call fcn.0047eeeb
movzx eax, byte [ebx + 0x518049]
add eax, dword [ebp - 0x14]
movzx edx, byte [ebx + 0x518048]
pop ecx
mov ecx, dword [ebp - 0xc]
push eax
call fcn.0047ef1e
mov esi, eax
pop ecx
test esi, esi
jne 0x4a31b8
add ebx, 2
cmp ebx, 8
jl 0x4a312d
mov ebx, dword [ebp - 0xc]
mov edx, ebx
mov ecx, dword [ebp - 4]
call fcn.0048027e
mov esi, eax
test esi, esi
jne 0x4a31b8
mov ecx, ebx
call fcn.0047bd1a
mov esi, eax
test esi, esi
jne 0x4a31b8
mov ecx, ebx
call fcn.0047b22d
mov ecx, dword [ebp - 4]
mov edx, eax
call fcn.0047b1d9
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 4]
push 1
push dword [ebp - 0x10]
movzx edx, word [eax + 0x14]
call fcn.0047b14a
pop ecx
pop ecx
mov esi, eax
jmp 0x4a31b8
push 7
pop esi
mov eax, dword [ebp - 0x18]
mov dword [edi + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0x3c], eax
mov eax, dword [ebp - 0x20]
mov dword [edi + 0x40], eax
mov eax, dword [ebp - 0x24]
mov dword [edi + 0x94], eax
mov eax, dword [ebp - 8]
mov byte [edi + 0x1c], 1
test eax, eax
je 0x4a31f1
mov ecx, dword [eax + 4]
call fcn.0047b016
mov eax, dword [ebp - 8]
and dword [eax + 4], 0
and dword [eax + 0xc], 0
xor edx, edx
mov ecx, edi
call fcn.00490e80
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret