Function at 0x5bc025
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 0x5bc052
push str.cannot_VACUUM_from_within_a_transaction
push edi
push dword [ebp + 8]
call fcn.005bda7c
xor eax, eax
add esp, 0xc
inc eax
jmp 0x5bc357
cmp dword [edi + 0x94], 1
jle 0x5bc062
push str.cannot_VACUUM___SQL_statements_in_progress
jmp 0x5bc03e
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.0058c536
mov ecx, dword [edi + 0x14]
add esp, 0xc
mov ebx, eax
cmp ecx, esi
jle 0x5bc0e2
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 0x5bc304
mov eax, dword [edi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 - 0xc]
push eax
mov dword [ebp - 4], eax
call fcn.005a70cf
push dword [ebp + 0xc]
call fcn.005a76fb
mov esi, dword [ebp + 8]
push str.PRAGMA_vacuum_db.synchronousOFF
push esi
push edi
mov dword [ebp - 8], eax
call fcn.0058c536
mov ebx, eax
add esp, 0x14
test ebx, ebx
jne 0x5bc304
push str.BEGIN_
push esi
push edi
call fcn.0058c536
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x5bc304
push 2
push dword [ebp + 0xc]
call fcn.005a6d40
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
jne 0x5bc304
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx + 4]
mov eax, dword [eax]
cmp byte [eax + 5], 5
jne 0x5bc164
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.005a8a4d
add esp, 0x10
test eax, eax
jne 0x5bc301
cmp dword [ebp - 0x10], eax
jne 0x5bc1a1
push eax
push dword [ebp - 8]
push dword [edi + 0x48]
push dword [ebp - 4]
call fcn.005a8a4d
add esp, 0x10
test eax, eax
jne 0x5bc301
cmp byte [edi + 0x40], 0
jne 0x5bc301
mov al, byte [edi + 0x42]
test al, al
js 0x5bc1b7
movsx eax, al
jmp 0x5bc1be
push ebx
call fcn.005a7676
pop ecx
push eax
push dword [ebp - 4]
call fcn.005a89d2
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.0058c4bc
mov ebx, eax
add esp, 0x14
test ebx, ebx
jne 0x5bc304
push str.SELECT_CREATE_INDEX_vacuum_db.__substr_sql_14___FROM_sqlite_master_WHERE_sql_LIKE_CREATE_INDEX__
push esi
push edi
call fcn.0058c4bc
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x5bc304
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.0058c4bc
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x5bc304
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.0058c4bc
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x5bc304
push str.SELECT_DELETE_FROM_vacuum_db.__quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence
push esi
push edi
call fcn.0058c4bc
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x5bc304
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.0058c4bc
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x5bc304
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.0058c536
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x5bc304
xor esi, esi
lea eax, [ebp - 0x10]
push eax
movzx eax, byte [esi + 0x613ac4]
push eax
push dword [ebp + 0xc]
call fcn.005a76c3
movzx eax, byte [esi + 0x613ac5]
add eax, dword [ebp - 0x10]
push eax
movzx eax, byte [esi + 0x613ac4]
push eax
push dword [ebp - 4]
call fcn.005a8c2c
mov ebx, eax
add esp, 0x18
test ebx, ebx
jne 0x5bc304
add esi, 2
cmp esi, 0xa
jl 0x5bc278
mov esi, dword [ebp - 4]
push esi
push dword [ebp + 0xc]
call fcn.005a71cc
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
jne 0x5bc304
push esi
call fcn.005a70cf
mov ebx, eax
pop ecx
test ebx, ebx
jne 0x5bc304
push esi
call fcn.005a7676
mov ebx, dword [ebp + 0xc]
push eax
push ebx
call fcn.005a89d2
mov eax, dword [esi + 4]
push 1
push dword [ebp - 8]
push dword [eax + 0x20]
push ebx
call fcn.005a8a4d
add esp, 0x1c
mov ebx, eax
jmp 0x5bc304
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.005a8a4d
mov esi, dword [ebp - 0xc]
add esp, 0x10
mov byte [edi + 0x3e], 1
test esi, esi
je 0x5bc34c
push dword [esi + 4]
call fcn.005a6f95
and dword [esi + 4], 0
and dword [esi + 0xc], 0
pop ecx
push edi
call fcn.005bb618
pop ecx
pop esi
mov eax, ebx
pop ebx
pop edi
mov esp, ebp
pop ebp
ret