Function at 0x583a00
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x154
push ebx
push esi
push edi
lea edi, [ebp - 0x154]
mov ecx, 0x55
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov dword [ebp - 8], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x5c], 0
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 0x1c]
test ecx, ecx
jne 0x583a5d
push str.cannot_VACUUM_from_within_a_transaction
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0055ff00
add esp, 0xc
mov eax, 1
jmp 0x583e06
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x3c]
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0x50], ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0xc]
or ecx, 0x2800
mov edx, dword [ebp + 0xc]
mov dword [edx + 0xc], ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.005571f0
add esp, 4
push eax
call fcn.005575c0
add esp, 4
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x2c], str.ATTACH__AS_vacuum_db_
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.005843f0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x583ad3
jmp 0x583daa
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
sub ecx, 1
shl ecx, 4
mov edx, dword [ebp + 0xc]
add ecx, dword [edx + 8]
mov dword [ebp - 0x5c], ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
sub ecx, 1
shl ecx, 4
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 8]
mov ecx, dword [eax + ecx + 4]
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x14]
push eax
call fcn.005840b0
add esp, 4
mov dword [ebp - 0x74], eax
push 0
mov eax, dword [ebp - 0x74]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00551ed0
add esp, 4
push eax
mov edx, dword [ebp - 0x20]
push edx
call fcn.00583f60
add esp, 0x10
test eax, eax
jne 0x583b61
cmp dword [ebp - 0x68], 0
jne 0x583b56
push 0
mov eax, dword [ebp - 0x74]
push eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x24]
push edx
mov eax, dword [ebp - 0x20]
push eax
call fcn.00583f60
add esp, 0x10
test eax, eax
jne 0x583b61
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 0x1e]
test ecx, ecx
je 0x583b6d
mov dword [ebp - 8], 7
jmp 0x583daa
push str.PRAGMA_vacuum_db.synchronousOFF
mov eax, dword [ebp + 0xc]
push eax
call fcn.005843f0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x583b8c
jmp 0x583daa
mov eax, dword [ebp + 0xc]
movsx ecx, byte [eax + 0x21]
test ecx, ecx
jl 0x583ba6
mov edx, dword [ebp + 0xc]
movsx eax, byte [edx + 0x21]
mov dword [ebp - 0x154], eax
jmp 0x583bb8
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00584210
add esp, 4
mov dword [ebp - 0x154], eax
mov edx, dword [ebp - 0x154]
push edx
mov eax, dword [ebp - 0x20]
push eax
call fcn.00584130
add esp, 8
push str.BEGIN_EXCLUSIVE_
mov eax, dword [ebp + 0xc]
push eax
call fcn.005843f0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x583bea
jmp 0x583daa
push str.SELECT_CREATE_TABLE_vacuum_db.__substr_sql_14____FROM_sqlite_master_WHERE_typetable_AND_name_sqlite_sequence___AND_rootpage_0
mov eax, dword [ebp + 0xc]
push eax
call fcn.005844d0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x583c09
jmp 0x583daa
push str.SELECT_CREATE_INDEX_vacuum_db.__substr_sql_14___FROM_sqlite_master_WHERE_sql_LIKE_CREATE_INDEX__
mov eax, dword [ebp + 0xc]
push eax
call fcn.005844d0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x583c28
jmp 0x583daa
push str.SELECT_CREATE_UNIQUE_INDEX_vacuum_db.__substr_sql_21____FROM_sqlite_master_WHERE_sql_LIKE_CREATE_UNIQUE_INDEX__
mov eax, dword [ebp + 0xc]
push eax
call fcn.005844d0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x583c47
jmp 0x583daa
push str.SELECT_INSERT_INTO_vacuum_db.__quote_name____SELECT__FROM___quote_name____FROM_sqlite_master_WHERE_type__table_AND_name_sqlite_sequence___AND_rootpage_0
mov eax, dword [ebp + 0xc]
push eax
call fcn.005844d0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x583c66
jmp 0x583daa
push str.SELECT_DELETE_FROM_vacuum_db.__quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence
mov eax, dword [ebp + 0xc]
push eax
call fcn.005844d0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x583c85
jmp 0x583daa
push str.SELECT_INSERT_INTO_vacuum_db.__quote_name____SELECT__FROM___quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence_
mov eax, dword [ebp + 0xc]
push eax
call fcn.005844d0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x583ca4
jmp 0x583daa
push str.INSERT_INTO_vacuum_db.sqlite_master___SELECT_type__name__tbl_name__rootpage__sql____FROM_sqlite_master___WHERE_typeview_OR_typetrigger______OR__typetable_AND_rootpage0_
mov eax, dword [ebp + 0xc]
push eax
call fcn.005843f0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x583cc3
jmp 0x583daa
mov dword [ebp - 0x8c], 0
jmp 0x583cde
mov eax, dword [ebp - 0x8c]
add eax, 2
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 8
jge 0x583d3d
lea eax, [ebp - 0x80]
push eax
mov ecx, dword [ebp - 0x8c]
movzx edx, byte [ecx + 0x77e8d8]
push edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.00557090
add esp, 0xc
mov eax, dword [ebp - 0x8c]
movzx ecx, byte [eax + 0x77e8d9]
add ecx, dword [ebp - 0x80]
push ecx
mov edx, dword [ebp - 0x8c]
movzx eax, byte [edx + 0x77e8d8]
push eax
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.00557120
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x583d3b
jmp 0x583daa
jmp 0x583ccf
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.005842c0
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x583d58
jmp 0x583daa
mov eax, dword [ebp - 0x20]
push eax
call fcn.00581420
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x583d6f
jmp 0x583daa
mov eax, dword [ebp - 0x20]
push eax
call fcn.00584210
add esp, 4
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00584130
add esp, 8
push 1
mov eax, dword [ebp - 0x74]
push eax
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.00551ed0
add esp, 4
push eax
mov edx, dword [ebp - 0x14]
push edx
call fcn.00583f60
add esp, 0x10
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x38]
mov dword [eax + 0xc], ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x44]
mov dword [eax + 0x3c], ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x50]
mov dword [eax + 0x40], ecx
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x1c], 1
cmp dword [ebp - 0x5c], 0
je 0x583df5
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + 4]
push ecx
call fcn.0055a2d0
add esp, 4
mov eax, dword [ebp - 0x5c]
mov dword [eax + 4], 0
mov eax, dword [ebp - 0x5c]
mov dword [eax + 0xc], 0
push 0
mov eax, dword [ebp + 0xc]
push eax
call fcn.0057af50
add esp, 8
mov eax, dword [ebp - 8]
push edx
mov ecx, ebp
push eax
lea edx, [0x583e2c]
call fcn.0052640b
pop eax
pop edx
pop edi
pop esi
pop ebx
add esp, 0x154
cmp ebp, esp
call fcn.0052a55b
mov esp, ebp
pop ebp
ret