Function at 0x4a714e
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.004a70a3
mov esi, eax
test esi, esi
jne 0x4a73aa
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.0047ff0d
mov esi, dword [ebp - 4]
mov ecx, esi
call fcn.0047dbc7
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.0047dc31
mov eax, dword [esi + 4]
mov ecx, ebx
mov esi, dword [ebp - 0x10]
push 0
push esi
movzx edx, word [eax + 0x14]
call fcn.0047f33d
pop ecx
pop ecx
test eax, eax
jne 0x4a73a7
cmp dword [ebp - 0x14], eax
jne 0x4a7230
mov edx, dword [edi + 0x24]
mov ecx, ebx
push eax
push esi
call fcn.0047f33d
pop ecx
pop ecx
test eax, eax
jne 0x4a73a7
cmp byte [edi + 0x1e], 0
jne 0x4a73a7
mov edx, str.PRAGMA_vacuum_db.synchronousOFF
mov ecx, edi
call fcn.004a70a3
mov esi, eax
test esi, esi
jne 0x4a73aa
mov al, byte [edi + 0x21]
test al, al
js 0x4a725c
movsx eax, al
jmp 0x4a7264
mov ecx, dword [ebp - 4]
call fcn.0047f420
mov edx, eax
mov ecx, ebx
call fcn.0047f3cc
mov edx, str.BEGIN_EXCLUSIVE_
mov ecx, edi
call fcn.004a70a3
mov esi, eax
test esi, esi
jne 0x4a73aa
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.004a70eb
mov esi, eax
test esi, esi
jne 0x4a73aa
mov edx, str.SELECT_CREATE_INDEX_vacuum_db.__substr_sql_14___FROM_sqlite_master_WHERE_sql_LIKE_CREATE_INDEX__
mov ecx, edi
call fcn.004a70eb
mov esi, eax
test esi, esi
jne 0x4a73aa
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.004a70eb
mov esi, eax
test esi, esi
jne 0x4a73aa
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.004a70eb
mov esi, eax
test esi, esi
jne 0x4a73aa
mov edx, str.SELECT_DELETE_FROM_vacuum_db.__quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence
mov ecx, edi
call fcn.004a70eb
mov esi, eax
test esi, esi
jne 0x4a73aa
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.004a70eb
mov esi, eax
test esi, esi
jne 0x4a73aa
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.004a70a3
mov esi, eax
test esi, esi
jne 0x4a73aa
xor ebx, ebx
movzx edx, byte [ebx + 0x51c178]
lea eax, [ebp - 0x14]
mov ecx, dword [ebp - 4]
push eax
call fcn.004830de
movzx eax, byte [ebx + 0x51c179]
add eax, dword [ebp - 0x14]
movzx edx, byte [ebx + 0x51c178]
pop ecx
mov ecx, dword [ebp - 0xc]
push eax
call fcn.00483111
mov esi, eax
pop ecx
test esi, esi
jne 0x4a73aa
add ebx, 2
cmp ebx, 8
jl 0x4a731f
mov ebx, dword [ebp - 0xc]
mov edx, ebx
mov ecx, dword [ebp - 4]
call fcn.00484471
mov esi, eax
test esi, esi
jne 0x4a73aa
mov ecx, ebx
call fcn.0047ff0d
mov esi, eax
test esi, esi
jne 0x4a73aa
mov ecx, ebx
call fcn.0047f420
mov ecx, dword [ebp - 4]
mov edx, eax
call fcn.0047f3cc
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 4]
push 1
push dword [ebp - 0x10]
movzx edx, word [eax + 0x14]
call fcn.0047f33d
pop ecx
pop ecx
mov esi, eax
jmp 0x4a73aa
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 0x4a73e3
mov ecx, dword [eax + 4]
call fcn.0047f209
mov eax, dword [ebp - 8]
and dword [eax + 4], 0
and dword [eax + 0xc], 0
xor edx, edx
mov ecx, edi
call fcn.00495072
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret