Function at 0x44c174
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
and dword [ebp - 0x1c], 0
push ebx
mov ebx, dword [ebp + 0xc]
cmp byte [ebx + 0x4f], 0
push esi
push edi
jne 0x44c1a2
push str.cannot_VACUUM_from_within_a_transaction
mov esi, dword [ebp + 8]
push ebx
call fcn.00409207
pop ecx
xor eax, eax
pop ecx
inc eax
jmp 0x44c4ac
cmp dword [ebx + 0xac], 1
jle 0x44c1b2
push str.cannot_VACUUM___SQL_statements_in_progress
jmp 0x44c18f
mov eax, dword [ebx + 0x20]
or dword [ebx + 0x20], 0x201
and dword [ebx + 0x20], 0xefffaf7f
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x2c], eax
movzx eax, word [ebx + 0x18]
or dword [ebx + 0x18], 6
mov dword [ebp - 0x28], eax
mov eax, dword [ebx + 0x64]
mov dword [ebp - 0x30], eax
mov eax, dword [ebx + 0x68]
mov dword [ebp - 0x34], eax
mov al, byte [ebx + 0x58]
mov byte [ebp - 1], al
mov eax, dword [ebx + 0x24]
mov dword [ebx + 0x24], eax
mov eax, dword [ebp + 0x10]
shl eax, 4
mov dword [ebp - 0x20], eax
add eax, ecx
mov byte [ebx + 0x58], 0
mov esi, dword [eax + 4]
mov ecx, dword [eax]
mov eax, dword [esi + 4]
mov eax, dword [eax]
movzx eax, byte [eax + 0xc]
push str.ATTACHAS_vacuum_db
push dword [ebp + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [ebx + 0x14]
push ebx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x18], eax
call fcn.0044c027
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x44c44c
mov eax, dword [ebp - 0x18]
shl eax, 4
add eax, dword [ebx + 0x10]
mov edi, dword [eax + 4]
mov dword [ebp - 0x1c], eax
mov eax, edi
mov dword [ebp - 8], edi
call fcn.004188b2
mov eax, esi
call fcn.00415e72
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x20]
sub ecx, dword [eax + 0x24]
mov eax, esi
mov dword [ebp - 0x14], ecx
call fcn.00415ee0
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebp - 0x20]
mov eax, dword [eax + ecx + 0xc]
push dword [eax + 0x50]
call fcn.00417a2f
pop ecx
push esi
xor eax, eax
call fcn.00417a51
pop ecx
push edi
call fcn.00417a51
pop ecx
push 0x21
call fcn.00417ac4
mov dword [esp], str.BEGIN
push dword [ebp + 8]
push ebx
call fcn.0044c027
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x44c44c
push eax
push 2
call fcn.00417efa
mov edi, eax
pop ecx
pop ecx
test edi, edi
jne 0x44c44c
mov eax, dword [esi + 4]
mov eax, dword [eax]
cmp byte [eax + 5], 5
jne 0x44c2cf
and dword [ebx + 0x5c], edi
mov eax, dword [esi + 4]
mov edi, dword [ebp - 8]
mov eax, dword [eax + 0x20]
push 0
push dword [ebp - 0x14]
push edi
call fcn.00417ae6
add esp, 0xc
test eax, eax
jne 0x44c441
cmp dword [ebp - 0x24], eax
jne 0x44c30b
push eax
push dword [ebp - 0x14]
mov eax, dword [ebx + 0x5c]
push edi
call fcn.00417ae6
add esp, 0xc
test eax, eax
jne 0x44c441
cmp byte [ebx + 0x51], 0
jne 0x44c441
mov al, byte [ebx + 0x54]
test al, al
jl 0x44c321
movsx eax, al
jmp 0x44c326
call fcn.00417bf9
push eax
call fcn.00417bae
mov al, byte [ebp - 0x18]
pop ecx
push dword [ebp - 0x10]
mov byte [ebx + 0xa4], al
push str.SELECT_sql_FROM___w_.sqlite_master_WHERE_typetableAND_name__sqlite_sequence_AND_coalesce_rootpage_1__0
push dword [ebp + 8]
push ebx
call fcn.0044c0e3
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x44c44c
push dword [ebp - 0x10]
push str.SELECT_sql_FROM___w_.sqlite_master_WHERE_typeindex
push dword [ebp + 8]
push ebx
call fcn.0044c0e3
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x44c44c
push dword [ebp - 0x10]
mov byte [ebx + 0xa4], al
push str.SELECTINSERT_INTO_vacuum_db.quote_name__SELECTFROM__w_.quote_name_FROM_vacuum_db.sqlite_master_WHERE_typetableAND_coalesce_rootpage_1__0
push dword [ebp + 8]
push ebx
call fcn.0044c0e3
and dword [ebx + 0x18], 0xfffffffb
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x44c44c
push dword [ebp - 0x10]
push str.INSERT_INTO_vacuum_db.sqlite_master_SELECTFROM___w_.sqlite_master_WHERE_type_IN_view_trigger__OR_typetableAND_rootpage0_
push dword [ebp + 8]
push ebx
call fcn.0044c0e3
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x44c44c
and dword [ebp - 0x10], eax
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
lea esi, [esi + 0x5d7a28]
movzx eax, byte [esi]
push eax
lea ebx, [ebp - 0x24]
call fcn.0041c8cb
movzx eax, byte [esi + 1]
add eax, dword [ebp - 0x24]
mov ebx, dword [ebp - 8]
pop ecx
push eax
movzx eax, byte [esi]
push eax
call fcn.0041c8ff
mov edi, eax
pop ecx
pop ecx
test edi, edi
jne 0x44c446
add dword [ebp - 0x10], 2
cmp dword [ebp - 0x10], 0xa
jl 0x44c3bb
mov esi, ebx
mov ebx, dword [ebp - 0xc]
call fcn.0041e029
mov edi, eax
test edi, edi
jne 0x44c446
mov eax, esi
call fcn.004188b2
mov edi, eax
test edi, edi
jne 0x44c446
call fcn.00417bf9
push eax
mov edi, ebx
call fcn.00417bae
pop ecx
push 1
push dword [ebp - 0x14]
mov eax, esi
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x20]
push edi
call fcn.00417ae6
add esp, 0xc
mov edi, eax
mov esi, ebx
jmp 0x44c449
push 7
pop edi
jmp 0x44c44c
mov esi, dword [ebp - 0xc]
mov ebx, dword [ebp + 0xc]
movzx eax, word [ebp - 0x28]
and dword [ebx + 0x24], 0
mov dword [ebx + 0x18], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebx + 0x20], eax
mov eax, dword [ebp - 0x30]
mov dword [ebx + 0x64], eax
mov eax, dword [ebp - 0x34]
mov dword [ebx + 0x68], eax
mov al, byte [ebp - 1]
mov byte [ebx + 0x58], al
push 1
mov eax, 0xffffffff
push eax
push esi
mov byte [ebx + 0xa4], 0
call fcn.00417ae6
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov byte [ebx + 0x4f], 1
test esi, esi
je 0x44c4a3
push dword [esi + 4]
call fcn.00417984
and dword [esi + 4], 0
and dword [esi + 0xc], 0
pop ecx
mov eax, ebx
call fcn.00434c4b
mov eax, edi
pop edi
pop esi
pop ebx
leave
ret