Function at 0x812d32
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
sub esp, 0x70
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x4f]
test al, al
jne 0x812d73
sub esp, 4
push str.cannot_VACUUM_from_within_a_transaction
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0079c450
add esp, 0x10
mov eax, 1
jmp 0x8133b3
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xb0]
cmp eax, 1
jle 0x812da1
sub esp, 4
push str.cannot_VACUUM___SQL_statements_in_progress
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0079c450
add esp, 0x10
mov eax, 1
jmp 0x8133b3
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x1c], eax
cmp dword [ebp + 0x14], 0
je 0x812e18
sub esp, 0xc
push dword [ebp + 0x14]
call fcn.007cb12f
add esp, 0x10
cmp eax, 3
je 0x812de3
sub esp, 4
push str.non_text_filename
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0079c450
add esp, 0x10
mov eax, 1
jmp 0x8133b3
sub esp, 0xc
push dword [ebp + 0x14]
call fcn.007cb0cf
add esp, 0x10
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 0x812e1f
mov dword [ebp - 0x14], 0xccfe7a
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 + 0x64]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x68]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x58]
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, 0xefffaf7f
mov ebx, ecx
mov eax, edx
and ah, 0xff
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 + 0x58], 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
sub esp, 0xc
push dword [ebp - 0x40]
call fcn.007c0bae
add esp, 0x10
sub esp, 0xc
push eax
call fcn.007af3a1
add esp, 0x10
mov dword [ebp - 0x44], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x48], eax
push dword [ebp - 0x14]
push str.ATTACH__Q_AS_vacuum_db
push dword [ebp + 8]
push dword [ebp + 0xc]
call fcn.00812bce
add esp, 0x10
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 0x813301
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 0x812fe6
sub esp, 0xc
push dword [ebp - 0x4c]
call fcn.007c0bae
add esp, 0x10
sub esp, 0xc
push eax
call fcn.007af72d
add esp, 0x10
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 0x812fd5
sub esp, 8
lea eax, [ebp - 0x60]
push eax
push dword [ebp - 0x50]
call fcn.0079a968
add esp, 0x10
test eax, eax
jne 0x812fb3
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
test edx, edx
js 0x812fd5
test edx, edx
jg 0x812fb3
cmp eax, 0
jbe 0x812fd5
mov dword [ebp - 0xc], 1
sub esp, 4
push str.output_file_already_exists
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0079c450
add esp, 0x10
jmp 0x813320
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
sub esp, 0xc
push dword [ebp - 0x40]
call fcn.007b759b
add esp, 0x10
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]
sub esp, 8
push eax
push dword [ebp - 0x4c]
call fcn.007b7347
add esp, 0x10
sub esp, 8
push 0
push dword [ebp - 0x40]
call fcn.007b738d
add esp, 0x10
sub esp, 8
push eax
push dword [ebp - 0x4c]
call fcn.007b738d
add esp, 0x10
sub esp, 8
push 0x21
push dword [ebp - 0x4c]
call fcn.007b7429
add esp, 0x10
sub esp, 4
push str.BEGIN
push dword [ebp + 8]
push dword [ebp + 0xc]
call fcn.00812acf
add esp, 0x10
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x813304
cmp dword [ebp + 0x14], 0
jne 0x813079
mov eax, 2
jmp 0x81307e
mov eax, 0
sub esp, 4
push 0
push eax
push dword [ebp - 0x40]
call fcn.007b7e9a
add esp, 0x10
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x813307
sub esp, 0xc
push dword [ebp - 0x40]
call fcn.007c0bae
add esp, 0x10
sub esp, 0xc
push eax
call fcn.007afb93
add esp, 0x10
cmp eax, 5
jne 0x8130c5
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x5c], 0
sub esp, 0xc
push dword [ebp - 0x40]
call fcn.007b7569
add esp, 0x10
push 0
push dword [ebp - 0x54]
push eax
push dword [ebp - 0x4c]
call fcn.007b746f
add esp, 0x10
test eax, eax
jne 0x813114
cmp dword [ebp - 0x44], 0
jne 0x813109
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x5c]
push 0
push dword [ebp - 0x54]
push eax
push dword [ebp - 0x4c]
call fcn.007b746f
add esp, 0x10
test eax, eax
jne 0x813114
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x51]
test al, al
je 0x813120
mov dword [ebp - 0xc], 7
jmp 0x813320
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x54]
test al, al
js 0x813137
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x54]
movsx eax, al
jmp 0x813145
sub esp, 0xc
push dword [ebp - 0x40]
call fcn.007b772e
add esp, 0x10
sub esp, 8
push eax
push dword [ebp - 0x4c]
call fcn.007b76a1
add esp, 0x10
mov eax, dword [ebp - 0x48]
mov edx, eax
mov eax, dword [ebp + 0xc]
mov byte [eax + 0xa4], dl
push dword [ebp - 0x3c]
push str.SELECT_sql_FROM___w_.sqlite_master_WHERE_typetableAND_name__sqlite_sequence_AND_coalesce_rootpage_1__0
push dword [ebp + 8]
push dword [ebp + 0xc]
call fcn.00812bce
add esp, 0x10
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x81330a
push dword [ebp - 0x3c]
push str.SELECT_sql_FROM___w_.sqlite_master_WHERE_typeindex
push dword [ebp + 8]
push dword [ebp + 0xc]
call fcn.00812bce
add esp, 0x10
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x81330d
mov eax, dword [ebp + 0xc]
mov byte [eax + 0xa4], 0
push dword [ebp - 0x3c]
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 dword [ebp + 0xc]
call fcn.00812bce
add esp, 0x10
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 0x813310
push dword [ebp - 0x3c]
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 dword [ebp + 0xc]
call fcn.00812bce
add esp, 0x10
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x813313
mov dword [ebp - 0x18], 0
jmp 0x813277
mov eax, dword [ebp - 0x18]
add eax, 0xcdd2e4
movzx eax, byte [eax]
movzx eax, al
sub esp, 4
lea edx, [ebp - 0x64]
push edx
push eax
push dword [ebp - 0x40]
call fcn.007c08ec
add esp, 0x10
mov eax, dword [ebp - 0x18]
add eax, 1
movzx eax, byte [eax + 0xcdd2e4]
movzx edx, al
mov eax, dword [ebp - 0x64]
add edx, eax
mov eax, dword [ebp - 0x18]
add eax, 0xcdd2e4
movzx eax, byte [eax]
movzx eax, al
sub esp, 4
push edx
push eax
push dword [ebp - 0x4c]
call fcn.007c0969
add esp, 0x10
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x813316
add dword [ebp - 0x18], 2
cmp dword [ebp - 0x18], 9
jle 0x813212
cmp dword [ebp + 0x14], 0
jne 0x813297
sub esp, 8
push dword [ebp - 0x4c]
push dword [ebp - 0x40]
call fcn.007c3262
add esp, 0x10
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x813319
sub esp, 0xc
push dword [ebp - 0x4c]
call fcn.007b8fef
add esp, 0x10
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x81331c
cmp dword [ebp + 0x14], 0
jne 0x8132d7
sub esp, 0xc
push dword [ebp - 0x4c]
call fcn.007b772e
add esp, 0x10
sub esp, 8
push eax
push dword [ebp - 0x40]
call fcn.007b76a1
add esp, 0x10
cmp dword [ebp + 0x14], 0
jne 0x81331f
sub esp, 0xc
push dword [ebp - 0x4c]
call fcn.007b7569
add esp, 0x10
push 1
push dword [ebp - 0x54]
push eax
push dword [ebp - 0x40]
call fcn.007b746f
add esp, 0x10
mov dword [ebp - 0xc], eax
jmp 0x813320
nop
jmp 0x813320
nop
jmp 0x813320
nop
jmp 0x813320
nop
jmp 0x813320
nop
jmp 0x813320
nop
jmp 0x813320
nop
jmp 0x813320
nop
jmp 0x813320
nop
jmp 0x813320
nop
jmp 0x813320
nop
mov eax, dword [ebp + 0xc]
mov byte [eax + 0xa4], 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 + 0x64], edx
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x34]
mov dword [eax + 0x68], edx
mov eax, dword [ebp + 0xc]
movzx edx, byte [ebp - 0x35]
mov byte [eax + 0x58], dl
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [ebp - 0x40]
call fcn.007b746f
add esp, 0x10
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x4f], 1
cmp dword [ebp - 0x10], 0
je 0x8133a2
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
sub esp, 0xc
push eax
call fcn.007b71fd
add esp, 0x10
mov eax, dword [ebp - 0x10]
mov dword [eax + 4], 0
mov eax, dword [ebp - 0x10]
mov dword [eax + 0xc], 0
sub esp, 0xc
push dword [ebp + 0xc]
call fcn.007ec6e0
add esp, 0x10
mov eax, dword [ebp - 0xc]
lea esp, [ebp - 8]
pop ebx
pop esi
pop ebp
ret