Function at 0x4831f4
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
and dword [ebp - 0x18], 0
push ebx
mov ebx, dword [ebp + 0xc]
cmp byte [ebx + 0x4f], 0
push esi
jne 0x483221
push str.cannot_VACUUM_from_within_a_transaction
mov esi, dword [ebp + 8]
push ebx
call fcn.00441322
pop ecx
xor eax, eax
pop ecx
inc eax
jmp 0x4835d4
cmp dword [ebx + 0xb0], 1
jle 0x483231
push str.cannot_VACUUM___SQL_statements_in_progress
jmp 0x48320e
cmp dword [ebp + 0x14], 0
mov eax, dword [ebx + 0x3c]
mov dword [ebp - 0xc], eax
je 0x48326d
push dword [ebp + 0x14]
call fcn.00437040
add esp, 4
cmp eax, 3
je 0x483254
push str.non_text_filename
jmp 0x48320e
push dword [ebp + 0x14]
call fcn.00448fd6
pop ecx
mov ecx, eax
mov eax, dword [ebx + 0x3c]
and eax, 0xfffffffe
or eax, 6
mov dword [ebx + 0x3c], eax
jmp 0x483272
mov ecx, 0x644e32
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x64]
mov esi, dword [ebx + 0x24]
mov dword [ebp - 0x38], eax
or eax, 0x201
mov dword [ebp - 0x2c], edx
mov edx, dword [ebx + 0x68]
mov dword [ebx + 0x20], eax
mov eax, dword [ebp + 0x10]
and dword [ebx + 0x20], 0xefffafff
mov dword [ebp - 0x30], edx
mov dl, byte [ebx + 0x58]
push edi
mov edi, dword [ebx + 0x18]
shl eax, 4
mov byte [ebp + 0xf], dl
mov edx, dword [ebx + 0x10]
mov dword [ebx + 0x24], esi
and dword [ebx + 0x24], 0xfffffffe
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], edi
add eax, edx
or edi, 6
mov dword [ebx + 0x18], edi
mov byte [ebx + 0x58], 0
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x24], edx
mov dword [ebp - 8], eax
call fcn.00435e00
call fcn.00434b9b
mov esi, dword [ebp + 8]
push ecx
push str.ATTACH__Q_AS_vacuum_db
mov dword [ebp - 0x20], eax
mov eax, dword [ebx + 0x14]
push esi
push ebx
mov dword [ebp - 0x14], eax
call fcn.004831b5
mov edi, eax
mov eax, dword [ebp - 0xc]
xor ecx, ecx
add esp, 0x10
mov dword [ebx + 0x3c], eax
cmp edi, ecx
jne 0x48356f
mov eax, dword [ebp - 0x14]
shl eax, 4
add eax, dword [ebx + 0x10]
mov edi, dword [eax + 4]
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], edi
cmp dword [ebp + 0x14], ecx
je 0x483368
mov eax, edi
call fcn.00435e00
call fcn.00434bbd
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax], ecx
je 0x483364
lea ecx, [ebp - 0x10]
push ecx
call fcn.00431391
pop ecx
test eax, eax
jne 0x48334f
cmp dword [ebp - 0xc], eax
jl 0x483364
jg 0x48334f
cmp dword [ebp - 0x10], eax
jbe 0x483364
xor edi, edi
push str.output_file_already_exists
push ebx
inc edi
call fcn.00441322
pop ecx
pop ecx
jmp 0x48356f
or dword [ebx + 0x18], 8
mov esi, dword [ebp - 8]
call fcn.0043e9a9
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 0x10]
mov eax, dword [ecx + eax + 0xc]
push dword [eax + 0x50]
call fcn.0043e943
push 0
mov edi, esi
call fcn.0043e964
mov edi, dword [ebp - 4]
push eax
call fcn.0043e964
push 0x21
call fcn.0043e987
push str.BEGIN
push dword [ebp + 8]
push ebx
call fcn.00483100
mov edi, eax
add esp, 0x1c
test edi, edi
jne 0x48356f
push eax
mov eax, dword [ebp + 0x14]
neg eax
sbb eax, eax
and eax, 0xfffffffe
inc eax
inc eax
push eax
push esi
call fcn.0046bc18
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x48356f
mov eax, esi
call fcn.00435e00
call fcn.00434bde
cmp eax, 5
jne 0x4833ee
and dword [ebx + 0x5c], edi
xor edi, edi
push edi
push dword [ebp - 0xc]
mov eax, esi
call fcn.00435bc0
push dword [ebp - 4]
call fcn.004633b0
add esp, 0xc
test eax, eax
jne 0x48356c
cmp dword [ebp - 0x20], edi
jne 0x48342d
mov eax, dword [ebx + 0x5c]
push edi
push dword [ebp - 0xc]
push dword [ebp - 4]
call fcn.004633b0
add esp, 0xc
test eax, eax
jne 0x48356c
cmp byte [ebx + 0x51], 0
jne 0x48356c
mov al, byte [ebx + 0x54]
test al, al
jl 0x483443
movsx eax, al
jmp 0x483448
call fcn.0043ea88
mov edi, dword [ebp - 4]
push eax
call fcn.0043ea3d
mov esi, dword [ebp - 0x24]
mov al, byte [ebp - 0x14]
push esi
push str.SELECT_sql_FROM___w_.sqlite_schema_WHERE_typetableAND_name__sqlite_sequence_AND_coalesce_rootpage_1__0
push dword [ebp + 8]
mov byte [ebx + 0xa4], al
push ebx
call fcn.004831b5
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x48356f
push esi
push str.SELECT_sql_FROM___w_.sqlite_schema_WHERE_typeindex
push dword [ebp + 8]
push ebx
call fcn.004831b5
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x48356f
push esi
push str.SELECTINSERT_INTO_vacuum_db.quote_name__SELECTFROM__w_.quote_name_FROM_vacuum_db.sqlite_schema_WHERE_typetableAND_coalesce_rootpage_1__0
push dword [ebp + 8]
mov byte [ebx + 0xa4], al
push ebx
call fcn.004831b5
and dword [ebx + 0x18], 0xfffffffb
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x48356f
push esi
push str.INSERT_INTO_vacuum_db.sqlite_schema_SELECTFROM___w_.sqlite_schema_WHERE_type_IN_view_trigger__OR_typetableAND_rootpage0_
push dword [ebp + 8]
push ebx
call fcn.004831b5
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x48356f
xor esi, esi
mov edi, dword [ebp - 8]
lea eax, [ebp - 0x24]
push eax
movzx eax, byte [esi + 0x64f734]
push eax
call fcn.0043ead6
movzx eax, byte [esi + 0x64f735]
add eax, dword [ebp - 0x24]
push eax
movzx eax, byte [esi + 0x64f734]
push eax
push dword [ebp - 4]
call fcn.00442106
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x48356f
inc esi
inc esi
cmp esi, 0xa
jl 0x4834d9
cmp dword [ebp + 0x14], eax
jne 0x48352f
push dword [ebp - 8]
mov esi, dword [ebp - 4]
call fcn.00476c66
mov edi, eax
pop ecx
test edi, edi
jne 0x48356f
mov esi, dword [ebp - 4]
mov eax, esi
call fcn.004708e4
mov edi, eax
test edi, edi
jne 0x48356f
cmp dword [ebp + 0x14], eax
jne 0x48356f
call fcn.0043ea88
mov edi, dword [ebp - 8]
push eax
call fcn.0043ea3d
pop ecx
push 1
push dword [ebp - 0xc]
mov eax, esi
call fcn.00435bc0
push edi
call fcn.004633b0
add esp, 0xc
mov edi, eax
jmp 0x48356f
push 7
pop edi
mov eax, dword [ebp - 0x28]
mov dword [ebx + 0x18], eax
mov eax, dword [ebp - 0x38]
mov dword [ebx + 0x20], eax
mov eax, dword [ebp - 0x34]
mov dword [ebx + 0x24], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebx + 0x64], eax
mov eax, dword [ebp - 0x30]
mov dword [ebx + 0x68], eax
mov al, byte [ebp + 0xf]
push 1
push 0
push dword [ebp - 8]
mov byte [ebx + 0x58], al
mov eax, 0xffffffff
mov byte [ebx + 0xa4], 0
call fcn.004633b0
mov esi, dword [ebp - 0x18]
add esp, 0xc
mov byte [ebx + 0x4f], 1
test esi, esi
je 0x4835ca
push dword [esi + 4]
call fcn.0047324e
and dword [esi + 4], 0
and dword [esi + 0xc], 0
pop ecx
mov esi, ebx
call fcn.0044e8b2
mov eax, edi
pop edi
pop esi
pop ebx
leave
ret