Function at 0x453385
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x18
mov dword [ebp - 0x14], 0
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x24], 0
mov eax, dword [eax + 8]
mov dword [ebp - 0x20], eax
or ah, 0x28
mov dword [edx + 8], eax
cmp byte [edx + 0x10], 0
jne 0x4533d0
push 0
push str.cannot_VACUUM_from_within_a_transaction
push dword [ebp + 8]
call fcn.004300b2
mov edi, 1
add esp, 0xc
jmp 0x45363f
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
mov eax, dword [eax + 4]
push eax
mov dword [ebp - 0x18], eax
call fcn.0043a641
mov ebx, eax
pop eax
xor eax, eax
cmp byte [ebx], 0
je 0x4536a4
cld
or ecx, 0xffffffff
mov edi, ebx
repne scasb al, byte es:[edi]
not ecx
push 1
lea esi, [ecx - 1]
add ecx, 0x63
push ecx
call fcn.004301b5
pop ecx
test eax, eax
pop edi
mov dword [ebp - 0x14], eax
mov edi, 7
je 0x45363f
push ebx
push eax
call sub.msvcrt.dll_strcpy
pop eax
pop edx
mov eax, dword [ebp - 0x14]
mov byte [esi + eax], 0x2d
lea ebx, [eax + esi + 1]
push ebx
push 0x14
call fcn.0043f3d0
pop ecx
pop edi
xor edi, edi
movzx ax, byte [edi + ebx]
xor edx, edx
mov ecx, 0x24
div cx
and edx, 0x3f
mov al, byte [edx + str.abcdefghijklmnopqrstuvwxyz0123456789]
mov byte [edi + ebx], al
inc edi
cmp edi, 0x13
jle 0x45343a
push dword [ebp - 0x14]
call fcn.0042eab3
pop edx
test eax, eax
jne 0x453423
push dword [ebp - 0x14]
push str.ATTACH__q_AS_vacuum_db_
call fcn.00440637
mov ebx, eax
pop edi
test ebx, ebx
pop eax
mov edi, 7
je 0x45363f
mov edx, ebx
mov eax, dword [ebp + 0xc]
call fcn.004532c0
push ebx
mov edi, eax
call fcn.0042f550
pop esi
test edi, edi
jne 0x45363f
mov edx, dword [ebp + 0xc]
imul eax, dword [edx], 0x18
add eax, dword [edx + 4]
sub eax, 0x18
mov dword [ebp - 0x24], eax
mov eax, dword [eax + 4]
push dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
call fcn.00435f85
mov dword [esp], eax
push dword [ebp - 0x18]
call fcn.00435f76
mov dword [esp], eax
push dword [ebp - 0x1c]
call fcn.00435f16
mov edx, str.PRAGMA_vacuum_db.synchronousOFF
mov eax, dword [ebp + 0xc]
call fcn.004532c0
add esp, 0xc
mov edi, eax
test eax, eax
jne 0x45363f
push dword [ebp - 0x18]
call fcn.00435fba
mov dword [esp], eax
push dword [ebp - 0x1c]
call fcn.00435f9a
mov edx, str.BEGIN_EXCLUSIVE_
mov eax, dword [ebp + 0xc]
call fcn.004532c0
pop ecx
mov edi, eax
pop ebx
test eax, eax
jne 0x45363f
mov edx, str.SELECT_CREATE_TABLE_vacuum_db.__substr_sql_14_100000000____FROM_sqlite_master_WHERE_typetable_AND_name_sqlite_sequence
mov eax, dword [ebp + 0xc]
call fcn.00453300
mov edi, eax
test eax, eax
jne 0x45363f
mov edx, str.SELECT_CREATE_INDEX_vacuum_db.__substr_sql_14_100000000___FROM_sqlite_master_WHERE_sql_LIKE_CREATE_INDEX__
mov eax, dword [ebp + 0xc]
call fcn.00453300
mov edi, eax
test eax, eax
jne 0x45363f
mov edx, str.SELECT_CREATE_UNIQUE_INDEX_vacuum_db.__substr_sql_21_100000000____FROM_sqlite_master_WHERE_sql_LIKE_CREATE_UNIQUE_INDEX__
mov eax, dword [ebp + 0xc]
call fcn.00453300
mov edi, eax
test eax, eax
jne 0x45363f
mov edx, str.SELECT_CREATE_VIEW_vacuum_db.__substr_sql_13_100000000____FROM_sqlite_master_WHERE_typeview
mov eax, dword [ebp + 0xc]
call fcn.00453300
mov edi, eax
test eax, eax
jne 0x45363f
mov edx, str.SELECT_INSERT_INTO_vacuum_db.__quote_name____SELECT__FROM___quote_name____FROM_sqlite_master_WHERE_type__table_AND_name_sqlite_sequence_
mov eax, dword [ebp + 0xc]
call fcn.00453300
mov edi, eax
test eax, eax
jne 0x45363f
mov edx, str.SELECT_DELETE_FROM_vacuum_db.__quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence
mov eax, dword [ebp + 0xc]
call fcn.00453300
mov edi, eax
test eax, eax
jne 0x45363f
mov edx, 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]
call fcn.00453300
mov edi, eax
test eax, eax
jne 0x45363f
mov edx, str.SELECT_CREATE_TRIGGER__vacuum_db.__substr_sql__16__1000000__FROM_sqlite_master_WHERE_typetrigger
mov eax, dword [ebp + 0xc]
call fcn.00453300
mov edi, eax
test eax, eax
jne 0x45363f
xor esi, esi
movzx ebx, byte [esi + 0x64b005]
lea eax, [ebp - 0x10]
push eax
push ebx
push dword [ebp - 0x18]
call fcn.00439601
add esp, 0xc
mov edi, eax
test eax, eax
jne 0x45363f
movzx eax, byte [esi + 0x64b006]
add eax, dword [ebp - 0x10]
push eax
push ebx
push dword [ebp - 0x1c]
call fcn.00439663
add esp, 0xc
mov edi, eax
test eax, eax
jne 0x45363f
add esi, 2
cmp esi, 7
jbe 0x4535d0
push dword [ebp - 0x1c]
push dword [ebp - 0x18]
call fcn.0043a67d
mov edi, eax
pop eax
test edi, edi
pop edx
jne 0x45363f
push dword [ebp - 0x1c]
call fcn.00436599
mov edi, eax
pop eax
test edi, edi
jne 0x45363f
push dword [ebp - 0x18]
call fcn.00436599
mov edi, eax
pop eax
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x20]
mov byte [edx + 0x10], 1
mov dword [edx + 8], eax
cmp dword [ebp - 0x24], 0
je 0x45366f
mov edx, dword [ebp - 0x24]
push dword [edx + 4]
call fcn.00437233
mov eax, dword [ebp - 0x24]
mov dword [eax + 4], 0
mov dword [eax + 0x14], 0
pop esi
cmp edi, 7
jne 0x453679
call fcn.0042fff0
cmp dword [ebp - 0x14], 0
je 0x453691
push dword [ebp - 0x14]
call fcn.0042ea80
push dword [ebp - 0x14]
call fcn.0042f550
pop ecx
pop ebx
push 0
call fcn.0042f550
push 0
push dword [ebp + 0xc]
call fcn.0043b8ec
mov eax, edi
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret