Function at 0x48b9c0
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
add esp, 0xffffff80
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x51]
test al, al
jne 0x48ba05
mov dword [esp + 8], str.cannot_VACUUM_from_within_a_transaction
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00406ce8
mov eax, 1
jmp 0x48c0a9
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xb4]
cmp eax, 1
jle 0x48ba37
mov dword [esp + 8], str.cannot_VACUUM___SQL_statements_in_progress
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00406ce8
mov eax, 1
jmp 0x48c0a9
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x1c], eax
cmp dword [ebp + 0x14], 0
je 0x48baac
mov eax, dword [ebp + 0x14]
mov dword [esp], eax
call fcn.00437aeb
cmp eax, 3
je 0x48ba7a
mov dword [esp + 8], str.non_text_filename
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00406ce8
mov eax, 1
jmp 0x48c0a9
mov eax, dword [ebp + 0x14]
mov dword [esp], eax
call fcn.00437a7f
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x3c]
and eax, 0xfffffffe
mov edx, eax
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x3c], edx
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x3c]
or eax, 6
mov edx, eax
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x3c], edx
jmp 0x48bab3
mov dword [ebp - 0x14], 0x4b5bba
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x68]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x6c]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x5a]
mov byte [ebp - 0x35], al
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
mov ecx, eax
or ecx, 0x201
mov dword [ebp - 0x70], ecx
mov eax, edx
or ah, 0
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x6c]
mov dword [eax + 0x20], edx
mov dword [eax + 0x24], ecx
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x18]
or eax, 6
mov edx, eax
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x18], edx
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
mov ecx, eax
and ecx, 0xefffafff
mov ebx, ecx
mov eax, edx
and eax, 0xfffffffe
mov esi, eax
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x20], ebx
mov dword [eax + 0x24], esi
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x5a], 0
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp + 0x10]
shl edx, 4
add eax, edx
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp + 0x10]
shl edx, 4
add eax, edx
mov eax, dword [eax + 4]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call fcn.0042cc3d
mov dword [esp], eax
call fcn.0041a872
mov dword [ebp - 0x44], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x14]
mov dword [esp + 0xc], eax
mov dword [esp + 8], str.ATTACH__Q_AS_vacuum_db
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.0048b828
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x1c]
mov dword [eax + 0x3c], edx
cmp dword [ebp - 0xc], 0
jne 0x48bfef
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0x48]
shl edx, 4
add eax, edx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
mov dword [ebp - 0x4c], eax
cmp dword [ebp + 0x14], 0
je 0x48bc7b
mov eax, dword [ebp - 0x4c]
mov dword [esp], eax
call fcn.0042cc3d
mov dword [esp], eax
call fcn.0041ac5b
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
test eax, eax
je 0x48bc6a
lea eax, [ebp - 0x60]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x50]
mov dword [esp], eax
call fcn.00404e2d
test eax, eax
jne 0x48bc44
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
test edx, edx
js 0x48bc6a
test edx, edx
jg 0x48bc44
cmp eax, 0
jbe 0x48bc6a
mov dword [ebp - 0xc], 1
mov dword [esp + 8], str.output_file_already_exists
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00406ce8
jmp 0x48c00b
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x18]
or eax, 8
mov edx, eax
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x18], edx
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call fcn.004230d4
mov dword [ebp - 0x54], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp + 0x10]
shl edx, 4
add eax, edx
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x50]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4c]
mov dword [esp], eax
call fcn.00422e74
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call fcn.00422eb4
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4c]
mov dword [esp], eax
call fcn.00422eb4
mov dword [esp + 4], 0x21
mov eax, dword [ebp - 0x4c]
mov dword [esp], eax
call fcn.00422f48
mov dword [esp + 8], str.BEGIN
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.0048b709
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x48bff2
cmp dword [ebp + 0x14], 0
jne 0x48bd15
mov eax, 2
jmp 0x48bd1a
mov eax, 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call fcn.004238d1
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x48bff5
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call fcn.0042cc3d
mov dword [esp], eax
call fcn.0041b0b1
cmp eax, 5
jne 0x48bd60
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x60], 0
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call fcn.004230a2
mov edx, eax
mov dword [esp + 0xc], 0
mov eax, dword [ebp - 0x54]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x4c]
mov dword [esp], eax
call fcn.00422f88
test eax, eax
jne 0x48bdc8
cmp dword [ebp - 0x44], 0
jne 0x48bdbd
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x60]
mov dword [esp + 0xc], 0
mov edx, dword [ebp - 0x54]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4c]
mov dword [esp], eax
call fcn.00422f88
test eax, eax
jne 0x48bdc8
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x53]
test al, al
je 0x48bdd4
mov dword [ebp - 0xc], 7
jmp 0x48c00b
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x56]
test al, al
js 0x48bdeb
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x56]
movsx eax, al
jmp 0x48bdf6
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call fcn.00423263
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4c]
mov dword [esp], eax
call fcn.004231dc
mov eax, dword [ebp - 0x48]
mov edx, eax
mov eax, dword [ebp + 0xc]
mov byte [eax + 0xa8], dl
mov eax, dword [ebp - 0x3c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], str.SELECT_sql_FROM___w_.sqlite_schema_WHERE_typetableAND_name__sqlite_sequence_AND_coalesce_rootpage_1__0
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.0048b828
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x48bff8
mov eax, dword [ebp - 0x3c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], str.SELECT_sql_FROM___w_.sqlite_schema_WHERE_typeindex
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.0048b828
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x48bffb
mov eax, dword [ebp + 0xc]
mov byte [eax + 0xa8], 0
mov eax, dword [ebp - 0x3c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], str.SELECTINSERT_INTO_vacuum_db.quote_name__SELECTFROM__w_.quote_name_FROM_vacuum_db.sqlite_schema_WHERE_typetableAND_coalesce_rootpage_1__0
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.0048b828
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x18]
and eax, 0xfffffffb
mov edx, eax
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x18], edx
cmp dword [ebp - 0xc], 0
jne 0x48bffe
mov eax, dword [ebp - 0x3c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], str.INSERT_INTO_vacuum_db.sqlite_schema_SELECTFROM___w_.sqlite_schema_WHERE_type_IN_view_trigger__OR_typetableAND_rootpage0_
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.0048b828
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x48c001
mov dword [ebp - 0x18], 0
jmp 0x48bf5a
mov eax, dword [ebp - 0x18]
add eax, 0x4c1c24
movzx eax, byte [eax]
movzx eax, al
lea edx, [ebp - 0x64]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call fcn.0042c9b1
mov eax, dword [ebp - 0x18]
add eax, 1
movzx eax, byte [eax + 0x4c1c24]
movzx edx, al
mov eax, dword [ebp - 0x64]
add edx, eax
mov eax, dword [ebp - 0x18]
add eax, 0x4c1c24
movzx eax, byte [eax]
movzx eax, al
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4c]
mov dword [esp], eax
call fcn.0042ca20
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x48c004
add dword [ebp - 0x18], 2
cmp dword [ebp - 0x18], 9
jle 0x48beef
cmp dword [ebp + 0x14], 0
jne 0x48bf7b
mov eax, dword [ebp - 0x4c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call fcn.0042f4c9
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x48c007
mov eax, dword [ebp - 0x4c]
mov dword [esp], eax
call fcn.00424a1b
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x48c00a
cmp dword [ebp + 0x14], 0
jne 0x48bfb9
mov eax, dword [ebp - 0x4c]
mov dword [esp], eax
call fcn.00423263
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call fcn.004231dc
cmp dword [ebp + 0x14], 0
jne 0x48c00b
mov eax, dword [ebp - 0x4c]
mov dword [esp], eax
call fcn.004230a2
mov edx, eax
mov dword [esp + 0xc], 1
mov eax, dword [ebp - 0x54]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call fcn.00422f88
mov dword [ebp - 0xc], eax
jmp 0x48c00b
nop
jmp 0x48c00b
nop
jmp 0x48c00b
nop
jmp 0x48c00b
nop
jmp 0x48c00b
nop
jmp 0x48c00b
nop
jmp 0x48c00b
nop
jmp 0x48c00b
nop
jmp 0x48c00b
nop
jmp 0x48c00b
nop
mov eax, dword [ebp + 0xc]
mov byte [eax + 0xa8], 0
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x18], edx
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x30]
mov dword [eax + 0x68], edx
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x34]
mov dword [eax + 0x6c], edx
mov eax, dword [ebp + 0xc]
movzx edx, byte [ebp - 0x35]
mov byte [eax + 0x5a], dl
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0xffffffff
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call fcn.00422f88
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x51], 1
cmp dword [ebp - 0x10], 0
je 0x48c09b
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
mov dword [esp], eax
call fcn.00422d6f
mov eax, dword [ebp - 0x10]
mov dword [eax + 4], 0
mov eax, dword [ebp - 0x10]
mov dword [eax + 0xc], 0
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.0045d3bb
mov eax, dword [ebp - 0xc]
sub esp, 0xffffff80
pop ebx
pop esi
pop ebp
ret