Function at 0x5bc1a8
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push edi
mov edi, dword [ebp + 0xc]
xor eax, eax
mov dword [ebp - 0xc], eax
cmp byte [edi + 0x3e], al
jne 0x5bc1d5
push str.cannot_VACUUM_from_within_a_transaction
push edi
push dword [ebp + 8]
call fcn.005bdbff
xor eax, eax
add esp, 0xc
inc eax
jmp 0x5bc4da
cmp dword [edi + 0x94], 1
jle 0x5bc1e5
push str.cannot_VACUUM___SQL_statements_in_progress
jmp 0x5bc1c1
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x50]
mov dword [ebp - 0x14], eax
and eax, 0xfff5ffff
or eax, 0x202800
mov dword [ebp - 0x18], ecx
mov ecx, dword [edi + 0x54]
mov dword [edi + 0x18], eax
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [edi + 0xac]
and dword [edi + 0xac], 0
mov eax, dword [eax + 4]
cmp byte [edi + 0x3f], 2
mov dword [ebp + 0xc], eax
push ebx
mov eax, dword [eax + 4]
mov dword [ebp - 0x20], ecx
mov ecx, str.ATTACH_:memory:_AS_vacuum_db_
push esi
mov esi, dword [edi + 0x14]
mov eax, dword [eax]
movzx eax, byte [eax + 0xf]
mov dword [ebp - 0x10], eax
mov eax, str.ATTACH__AS_vacuum_db_
cmove eax, ecx
push eax
push dword [ebp + 8]
push edi
call fcn.0058c6ba
mov ecx, dword [edi + 0x14]
add esp, 0xc
mov ebx, eax
cmp ecx, esi
jle 0x5bc265
mov eax, dword [edi + 0x10]
mov edx, ecx
shl edx, 4
add eax, 0xfffffff0
add eax, edx
mov dword [ebp - 0xc], eax
test ebx, ebx
jne 0x5bc487
mov eax, dword [edi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 - 0xc]
push eax
mov dword [ebp - 4], eax
call fcn.005a7253
push dword [ebp + 0xc]
call fcn.005a787f
mov esi, dword [ebp + 8]
push str.PRAGMA_vacuum_db.synchronousOFF
push esi
push edi
mov dword [ebp - 8], eax
call fcn.0058c6ba
mov ebx, eax
add esp, 0x14
test ebx, ebx
jne 0x5bc487
push str.BEGIN_
push esi
push edi
call fcn.0058c6ba
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x5bc487
push 2
push dword [ebp + 0xc]
call fcn.005a6ec4
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
jne 0x5bc487
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx + 4]
mov eax, dword [eax]
cmp byte [eax + 5], 5
jne 0x5bc2e7
and dword [edi + 0x48], 0
mov eax, dword [ebx + 4]
push 0
push dword [ebp - 8]
push dword [eax + 0x20]
push dword [ebp - 4]
call fcn.005a8bd1
add esp, 0x10
test eax, eax
jne 0x5bc484
cmp dword [ebp - 0x10], eax
jne 0x5bc324
push eax
push dword [ebp - 8]
push dword [edi + 0x48]
push dword [ebp - 4]
call fcn.005a8bd1
add esp, 0x10
test eax, eax
jne 0x5bc484
cmp byte [edi + 0x40], 0
jne 0x5bc484
mov al, byte [edi + 0x42]
test al, al
js 0x5bc33a
movsx eax, al
jmp 0x5bc341
push ebx
call fcn.005a77fa
pop ecx
push eax
push dword [ebp - 4]
call fcn.005a8b56
push str.SELECT_CREATE_TABLE_vacuum_db.__substr_sql_14____FROM_sqlite_master_WHERE_typetable_AND_name_sqlite_sequence___AND_coalesce_rootpage_1__0
push esi
push edi
call fcn.0058c640
mov ebx, eax
add esp, 0x14
test ebx, ebx
jne 0x5bc487
push str.SELECT_CREATE_INDEX_vacuum_db.__substr_sql_14___FROM_sqlite_master_WHERE_sql_LIKE_CREATE_INDEX__
push esi
push edi
call fcn.0058c640
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x5bc487
push str.SELECT_CREATE_UNIQUE_INDEX_vacuum_db.__substr_sql_21____FROM_sqlite_master_WHERE_sql_LIKE_CREATE_UNIQUE_INDEX__
push esi
push edi
call fcn.0058c640
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x5bc487
push 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_coalesce_rootpage_1__0
push esi
push edi
call fcn.0058c640
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x5bc487
push str.SELECT_DELETE_FROM_vacuum_db.__quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence
push esi
push edi
call fcn.0058c640
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x5bc487
push str.SELECT_INSERT_INTO_vacuum_db.__quote_name____SELECT__FROM_main.__quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence_
push esi
push edi
call fcn.0058c640
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x5bc487
push 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_
push esi
push edi
call fcn.0058c6ba
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x5bc487
xor esi, esi
lea eax, [ebp - 0x10]
push eax
movzx eax, byte [esi + 0x613ab4]
push eax
push dword [ebp + 0xc]
call fcn.005a7847
movzx eax, byte [esi + 0x613ab5]
add eax, dword [ebp - 0x10]
push eax
movzx eax, byte [esi + 0x613ab4]
push eax
push dword [ebp - 4]
call fcn.005a8db0
mov ebx, eax
add esp, 0x18
test ebx, ebx
jne 0x5bc487
add esi, 2
cmp esi, 0xa
jl 0x5bc3fb
mov esi, dword [ebp - 4]
push esi
push dword [ebp + 0xc]
call fcn.005a7350
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
jne 0x5bc487
push esi
call fcn.005a7253
mov ebx, eax
pop ecx
test ebx, ebx
jne 0x5bc487
push esi
call fcn.005a77fa
mov ebx, dword [ebp + 0xc]
push eax
push ebx
call fcn.005a8b56
mov eax, dword [esi + 4]
push 1
push dword [ebp - 8]
push dword [eax + 0x20]
push ebx
call fcn.005a8bd1
add esp, 0x1c
mov ebx, eax
jmp 0x5bc487
push 7
pop ebx
mov eax, dword [ebp - 0x14]
push 1
mov dword [edi + 0x18], eax
mov eax, dword [ebp - 0x18]
push 0xffffffffffffffff
mov dword [edi + 0x50], eax
mov eax, dword [ebp - 0x1c]
push 0xffffffffffffffff
push dword [ebp + 0xc]
mov dword [edi + 0x54], eax
mov eax, dword [ebp - 0x20]
mov dword [edi + 0xac], eax
call fcn.005a8bd1
mov esi, dword [ebp - 0xc]
add esp, 0x10
mov byte [edi + 0x3e], 1
test esi, esi
je 0x5bc4cf
push dword [esi + 4]
call fcn.005a7119
and dword [esi + 4], 0
and dword [esi + 0xc], 0
pop ecx
push edi
call fcn.005bb79b
pop ecx
pop esi
mov eax, ebx
pop ebx
pop edi
mov esp, ebp
pop ebp
ret