Function at 0x5bc085
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 0x5bc0b2
push str.cannot_VACUUM_from_within_a_transaction
push edi
push dword [ebp + 8]
call fcn.005bdadc
xor eax, eax
add esp, 0xc
inc eax
jmp 0x5bc3b7
cmp dword [edi + 0x94], 1
jle 0x5bc0c2
push str.cannot_VACUUM___SQL_statements_in_progress
jmp 0x5bc09e
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.0058c597
mov ecx, dword [edi + 0x14]
add esp, 0xc
mov ebx, eax
cmp ecx, esi
jle 0x5bc142
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 0x5bc364
mov eax, dword [edi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 - 0xc]
push eax
mov dword [ebp - 4], eax
call fcn.005a7130
push dword [ebp + 0xc]
call fcn.005a775c
mov esi, dword [ebp + 8]
push str.PRAGMA_vacuum_db.synchronousOFF
push esi
push edi
mov dword [ebp - 8], eax
call fcn.0058c597
mov ebx, eax
add esp, 0x14
test ebx, ebx
jne 0x5bc364
push str.BEGIN_
push esi
push edi
call fcn.0058c597
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x5bc364
push 2
push dword [ebp + 0xc]
call fcn.005a6da1
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
jne 0x5bc364
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx + 4]
mov eax, dword [eax]
cmp byte [eax + 5], 5
jne 0x5bc1c4
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.005a8aae
add esp, 0x10
test eax, eax
jne 0x5bc361
cmp dword [ebp - 0x10], eax
jne 0x5bc201
push eax
push dword [ebp - 8]
push dword [edi + 0x48]
push dword [ebp - 4]
call fcn.005a8aae
add esp, 0x10
test eax, eax
jne 0x5bc361
cmp byte [edi + 0x40], 0
jne 0x5bc361
mov al, byte [edi + 0x42]
test al, al
js 0x5bc217
movsx eax, al
jmp 0x5bc21e
push ebx
call fcn.005a76d7
pop ecx
push eax
push dword [ebp - 4]
call fcn.005a8a33
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.0058c51d
mov ebx, eax
add esp, 0x14
test ebx, ebx
jne 0x5bc364
push str.SELECT_CREATE_INDEX_vacuum_db.__substr_sql_14___FROM_sqlite_master_WHERE_sql_LIKE_CREATE_INDEX__
push esi
push edi
call fcn.0058c51d
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x5bc364
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.0058c51d
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x5bc364
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.0058c51d
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x5bc364
push str.SELECT_DELETE_FROM_vacuum_db.__quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence
push esi
push edi
call fcn.0058c51d
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x5bc364
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.0058c51d
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x5bc364
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.0058c597
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x5bc364
xor esi, esi
lea eax, [ebp - 0x10]
push eax
movzx eax, byte [esi + 0x613ab4]
push eax
push dword [ebp + 0xc]
call fcn.005a7724
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.005a8c8d
mov ebx, eax
add esp, 0x18
test ebx, ebx
jne 0x5bc364
add esi, 2
cmp esi, 0xa
jl 0x5bc2d8
mov esi, dword [ebp - 4]
push esi
push dword [ebp + 0xc]
call fcn.005a722d
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
jne 0x5bc364
push esi
call fcn.005a7130
mov ebx, eax
pop ecx
test ebx, ebx
jne 0x5bc364
push esi
call fcn.005a76d7
mov ebx, dword [ebp + 0xc]
push eax
push ebx
call fcn.005a8a33
mov eax, dword [esi + 4]
push 1
push dword [ebp - 8]
push dword [eax + 0x20]
push ebx
call fcn.005a8aae
add esp, 0x1c
mov ebx, eax
jmp 0x5bc364
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.005a8aae
mov esi, dword [ebp - 0xc]
add esp, 0x10
mov byte [edi + 0x3e], 1
test esi, esi
je 0x5bc3ac
push dword [esi + 4]
call fcn.005a6ff6
and dword [esi + 4], 0
and dword [esi + 0xc], 0
pop ecx
push edi
call fcn.005bb678
pop ecx
pop esi
mov eax, ebx
pop ebx
pop edi
mov esp, ebp
pop ebp
ret