Function at 0x4c2688
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 8]
xor ecx, ecx
mov dword [ebp - 0x14], eax
or eax, 0x2800
cmp byte [esi + 0x10], cl
push edi
mov dword [ebp - 4], ecx
mov dword [ebp - 0xc], ecx
mov dword [esi + 8], eax
jne 0x4c26c8
push ecx
push str.cannot_VACUUM_from_within_a_transaction
push dword [ebp + 8]
call fcn.004a7aae
xor edi, edi
add esp, 0xc
inc edi
jmp 0x4c2928
mov eax, dword [esi + 4]
mov eax, dword [eax + 4]
push eax
mov dword [ebp + 0xc], eax
call fcn.004aee9a
cmp byte [eax], 0
pop ecx
mov dword [ebp - 8], eax
jne 0x4c26e7
xor eax, eax
jmp 0x4c2980
push eax
call fcn.00488880
mov edi, eax
lea eax, [edi + 0x64]
push 1
push eax
call fcn.004a7a17
mov ebx, eax
add esp, 0xc
test ebx, ebx
mov dword [ebp - 4], ebx
jne 0x4c270e
push 7
pop edi
jmp 0x4c2928
push dword [ebp - 8]
push ebx
call fcn.0048a5f0
pop ecx
add edi, ebx
pop ecx
lea ebx, [edi + 1]
push ebx
push 0x14
mov byte [edi], 0x2d
call fcn.004c0c05
and dword [ebp - 8], 0
pop ecx
pop ecx
mov eax, dword [ebp - 8]
movzx eax, byte [eax + ebx]
xor edx, edx
push 0x24
pop ecx
div ecx
mov ecx, dword [ebp - 8]
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x14
mov al, byte [edx + str.abcdefghijklmnopqrstuvwxyz0123456789]
mov byte [ecx + ebx], al
jl 0x4c272f
push dword [ebp - 4]
call fcn.004b041a
test eax, eax
pop ecx
jne 0x4c271e
push dword [ebp - 4]
push str.ATTACH__q_AS_vacuum_db_
call fcn.004a5fcc
mov ebx, eax
test ebx, ebx
pop ecx
pop ecx
je 0x4c2706
push ebx
push esi
call fcn.004c25c6
push ebx
mov edi, eax
call fcn.004a7338
add esp, 0xc
test edi, edi
jne 0x4c2928
mov eax, dword [esi]
mov ecx, dword [esi + 4]
imul eax, eax, 0x18
push dword [ebp + 0xc]
add eax, ecx
mov ebx, dword [eax - 0x14]
lea ecx, [eax - 0x18]
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], ebx
call fcn.004ac183
pop ecx
push eax
push dword [ebp + 0xc]
call fcn.004ac177
pop ecx
push eax
push ebx
call fcn.004ac11a
push str.PRAGMA_vacuum_db.synchronousOFF
push esi
call fcn.004c25c6
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x4c2928
push dword [ebp + 0xc]
call fcn.004ac1b4
push eax
push ebx
call fcn.004ac195
push str.BEGIN_EXCLUSIVE_
push esi
call fcn.004c25c6
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x4c2928
push str.SELECT_CREATE_TABLE_vacuum_db.__substr_sql_14_100000000____FROM_sqlite_master_WHERE_typetable_AND_name_sqlite_sequence
push esi
call fcn.004c2607
mov edi, eax
test edi, edi
pop ecx
pop ecx
jne 0x4c2928
push str.SELECT_CREATE_INDEX_vacuum_db.__substr_sql_14_100000000___FROM_sqlite_master_WHERE_sql_LIKE_CREATE_INDEX__
push esi
call fcn.004c2607
mov edi, eax
test edi, edi
pop ecx
pop ecx
jne 0x4c2928
push str.SELECT_CREATE_UNIQUE_INDEX_vacuum_db.__substr_sql_21_100000000____FROM_sqlite_master_WHERE_sql_LIKE_CREATE_UNIQUE_INDEX__
push esi
call fcn.004c2607
mov edi, eax
test edi, edi
pop ecx
pop ecx
jne 0x4c2928
push str.SELECT_CREATE_VIEW_vacuum_db.__substr_sql_13_100000000____FROM_sqlite_master_WHERE_typeview
push esi
call fcn.004c2607
mov edi, eax
test edi, edi
pop ecx
pop ecx
jne 0x4c2928
push str.SELECT_INSERT_INTO_vacuum_db.__quote_name____SELECT__FROM___quote_name____FROM_sqlite_master_WHERE_type__table_AND_name_sqlite_sequence_
push esi
call fcn.004c2607
mov edi, eax
test edi, edi
pop ecx
pop ecx
jne 0x4c2928
push str.SELECT_DELETE_FROM_vacuum_db.__quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence
push esi
call fcn.004c2607
mov edi, eax
test edi, edi
pop ecx
pop ecx
jne 0x4c2928
push str.SELECT_INSERT_INTO_vacuum_db.__quote_name____SELECT__FROM___quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence_
push esi
call fcn.004c2607
mov edi, eax
test edi, edi
pop ecx
pop ecx
jne 0x4c2928
push str.SELECT_CREATE_TRIGGER__vacuum_db.__substr_sql__16__1000000__FROM_sqlite_master_WHERE_typetrigger
push esi
call fcn.004c2607
mov edi, eax
test edi, edi
pop ecx
pop ecx
jne 0x4c2928
xor ebx, ebx
lea eax, [ebp - 0x10]
push eax
movzx eax, byte [ebx + 0x5c6e58]
push eax
push dword [ebp + 0xc]
call fcn.004ae790
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x4c2928
movzx eax, byte [ebx + 0x5c6e59]
add eax, dword [ebp - 0x10]
push eax
movzx eax, byte [ebx + 0x5c6e58]
push eax
push dword [ebp - 8]
call fcn.004ae7e4
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x4c2928
inc ebx
inc ebx
cmp ebx, 8
jb 0x4c28b3
push dword [ebp - 8]
push dword [ebp + 0xc]
call fcn.004b00bb
mov edi, eax
test edi, edi
pop ecx
pop ecx
jne 0x4c2928
push dword [ebp - 8]
call fcn.004ac70a
mov edi, eax
test edi, edi
pop ecx
jne 0x4c2928
push dword [ebp + 0xc]
call fcn.004ac70a
pop ecx
mov edi, eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
mov eax, dword [ebp - 0x14]
mov dword [esi + 8], eax
mov byte [esi + 0x10], 1
je 0x4c294a
push dword [ebx + 4]
call fcn.004b01e2
and dword [ebx + 4], 0
and dword [ebx + 0x14], 0
pop ecx
cmp edi, 7
jne 0x4c2954
call fcn.004a79c0
cmp dword [ebp - 4], 0
je 0x4c296c
push dword [ebp - 4]
call fcn.004b039b
push dword [ebp - 4]
call fcn.004a7338
pop ecx
pop ecx
push 0
call fcn.004a7338
push 0
push esi
call fcn.004a9003
add esp, 0xc
mov eax, edi
pop edi
pop esi
pop ebx
leave
ret