Function at 0x453425
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 0x453470
push 0
push str.cannot_VACUUM_from_within_a_transaction
push dword [ebp + 8]
call fcn.00430152
mov edi, 1
add esp, 0xc
jmp 0x4536df
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
mov eax, dword [eax + 4]
push eax
mov dword [ebp - 0x18], eax
call fcn.0043a6e1
mov ebx, eax
pop eax
xor eax, eax
cmp byte [ebx], 0
je 0x453744
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.00430255
pop ecx
test eax, eax
pop edi
mov dword [ebp - 0x14], eax
mov edi, 7
je 0x4536df
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.0043f470
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 0x4534da
push dword [ebp - 0x14]
call fcn.0042eb53
pop edx
test eax, eax
jne 0x4534c3
push dword [ebp - 0x14]
push str.ATTACH__q_AS_vacuum_db_
call fcn.004406d7
mov ebx, eax
pop edi
test ebx, ebx
pop eax
mov edi, 7
je 0x4536df
mov edx, ebx
mov eax, dword [ebp + 0xc]
call fcn.00453360
push ebx
mov edi, eax
call fcn.0042f5f0
pop esi
test edi, edi
jne 0x4536df
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.00436025
mov dword [esp], eax
push dword [ebp - 0x18]
call fcn.00436016
mov dword [esp], eax
push dword [ebp - 0x1c]
call fcn.00435fb6
mov edx, str.PRAGMA_vacuum_db.synchronousOFF
mov eax, dword [ebp + 0xc]
call fcn.00453360
add esp, 0xc
mov edi, eax
test eax, eax
jne 0x4536df
push dword [ebp - 0x18]
call fcn.0043605a
mov dword [esp], eax
push dword [ebp - 0x1c]
call fcn.0043603a
mov edx, str.BEGIN_EXCLUSIVE_
mov eax, dword [ebp + 0xc]
call fcn.00453360
pop ecx
mov edi, eax
pop ebx
test eax, eax
jne 0x4536df
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.004533a0
mov edi, eax
test eax, eax
jne 0x4536df
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.004533a0
mov edi, eax
test eax, eax
jne 0x4536df
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.004533a0
mov edi, eax
test eax, eax
jne 0x4536df
mov edx, str.SELECT_CREATE_VIEW_vacuum_db.__substr_sql_13_100000000____FROM_sqlite_master_WHERE_typeview
mov eax, dword [ebp + 0xc]
call fcn.004533a0
mov edi, eax
test eax, eax
jne 0x4536df
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.004533a0
mov edi, eax
test eax, eax
jne 0x4536df
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.004533a0
mov edi, eax
test eax, eax
jne 0x4536df
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.004533a0
mov edi, eax
test eax, eax
jne 0x4536df
mov edx, str.SELECT_CREATE_TRIGGER__vacuum_db.__substr_sql__16__1000000__FROM_sqlite_master_WHERE_typetrigger
mov eax, dword [ebp + 0xc]
call fcn.004533a0
mov edi, eax
test eax, eax
jne 0x4536df
xor esi, esi
movzx ebx, byte [esi + 0x52c005]
lea eax, [ebp - 0x10]
push eax
push ebx
push dword [ebp - 0x18]
call fcn.004396a1
add esp, 0xc
mov edi, eax
test eax, eax
jne 0x4536df
movzx eax, byte [esi + 0x52c006]
add eax, dword [ebp - 0x10]
push eax
push ebx
push dword [ebp - 0x1c]
call fcn.00439703
add esp, 0xc
mov edi, eax
test eax, eax
jne 0x4536df
add esi, 2
cmp esi, 7
jbe 0x453670
push dword [ebp - 0x1c]
push dword [ebp - 0x18]
call fcn.0043a71d
mov edi, eax
pop eax
test edi, edi
pop edx
jne 0x4536df
push dword [ebp - 0x1c]
call fcn.00436639
mov edi, eax
pop eax
test edi, edi
jne 0x4536df
push dword [ebp - 0x18]
call fcn.00436639
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 0x45370f
mov edx, dword [ebp - 0x24]
push dword [edx + 4]
call fcn.004372d3
mov eax, dword [ebp - 0x24]
mov dword [eax + 4], 0
mov dword [eax + 0x14], 0
pop esi
cmp edi, 7
jne 0x453719
call fcn.00430090
cmp dword [ebp - 0x14], 0
je 0x453731
push dword [ebp - 0x14]
call fcn.0042eb20
push dword [ebp - 0x14]
call fcn.0042f5f0
pop ecx
pop ebx
push 0
call fcn.0042f5f0
push 0
push dword [ebp + 0xc]
call fcn.0043b98c
mov eax, edi
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret