Function at 0xb2bf35
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 + 0x51]
test al, al
jne 0xb2bf76
sub esp, 4
push str.cannot_VACUUM_from_within_a_transaction
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00aab35c
add esp, 0x10
mov eax, 1
jmp 0xb2c5b6
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xb4]
cmp eax, 1
jle 0xb2bfa4
sub esp, 4
push str.cannot_VACUUM___SQL_statements_in_progress
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00aab35c
add esp, 0x10
mov eax, 1
jmp 0xb2c5b6
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x1c], eax
cmp dword [ebp + 0x14], 0
je 0xb2c01b
sub esp, 0xc
push dword [ebp + 0x14]
call fcn.00adc4be
add esp, 0x10
cmp eax, 3
je 0xb2bfe6
sub esp, 4
push str.non_text_filename
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00aab35c
add esp, 0x10
mov eax, 1
jmp 0xb2c5b6
sub esp, 0xc
push dword [ebp + 0x14]
call fcn.00adc45e
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 0xb2c022
mov dword [ebp - 0x14], 0x1426afa
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
sub esp, 0xc
push dword [ebp - 0x40]
call fcn.00ad1b1f
add esp, 0x10
sub esp, 0xc
push eax
call fcn.00abfaab
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.00b2bdd1
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 0xb2c504
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 0xb2c1e9
sub esp, 0xc
push dword [ebp - 0x4c]
call fcn.00ad1b1f
add esp, 0x10
sub esp, 0xc
push eax
call fcn.00abfe95
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 0xb2c1d8
sub esp, 8
lea eax, [ebp - 0x60]
push eax
push dword [ebp - 0x50]
call fcn.00aa9523
add esp, 0x10
test eax, eax
jne 0xb2c1b6
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
test edx, edx
js 0xb2c1d8
test edx, edx
jg 0xb2c1b6
cmp eax, 0
jbe 0xb2c1d8
mov dword [ebp - 0xc], 1
sub esp, 4
push str.output_file_already_exists
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00aab35c
add esp, 0x10
jmp 0xb2c523
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.00ac7fbc
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.00ac7d3f
add esp, 0x10
sub esp, 8
push 0
push dword [ebp - 0x40]
call fcn.00ac7d85
add esp, 0x10
sub esp, 8
push eax
push dword [ebp - 0x4c]
call fcn.00ac7d85
add esp, 0x10
sub esp, 8
push 0x21
push dword [ebp - 0x4c]
call fcn.00ac7e21
add esp, 0x10
sub esp, 4
push str.BEGIN
push dword [ebp + 8]
push dword [ebp + 0xc]
call fcn.00b2bcd2
add esp, 0x10
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0xb2c507
cmp dword [ebp + 0x14], 0
jne 0xb2c27c
mov eax, 2
jmp 0xb2c281
mov eax, 0
sub esp, 4
push 0
push eax
push dword [ebp - 0x40]
call fcn.00ac88d2
add esp, 0x10
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0xb2c50a
sub esp, 0xc
push dword [ebp - 0x40]
call fcn.00ad1b1f
add esp, 0x10
sub esp, 0xc
push eax
call fcn.00ac02fb
add esp, 0x10
cmp eax, 5
jne 0xb2c2c8
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x60], 0
sub esp, 0xc
push dword [ebp - 0x40]
call fcn.00ac7f8a
add esp, 0x10
push 0
push dword [ebp - 0x54]
push eax
push dword [ebp - 0x4c]
call fcn.00ac7e67
add esp, 0x10
test eax, eax
jne 0xb2c317
cmp dword [ebp - 0x44], 0
jne 0xb2c30c
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x60]
push 0
push dword [ebp - 0x54]
push eax
push dword [ebp - 0x4c]
call fcn.00ac7e67
add esp, 0x10
test eax, eax
jne 0xb2c317
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x53]
test al, al
je 0xb2c323
mov dword [ebp - 0xc], 7
jmp 0xb2c523
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x56]
test al, al
js 0xb2c33a
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 0x56]
movsx eax, al
jmp 0xb2c348
sub esp, 0xc
push dword [ebp - 0x40]
call fcn.00ac8166
add esp, 0x10
sub esp, 8
push eax
push dword [ebp - 0x4c]
call fcn.00ac80d9
add esp, 0x10
mov eax, dword [ebp - 0x48]
mov edx, eax
mov eax, dword [ebp + 0xc]
mov byte [eax + 0xa8], dl
push dword [ebp - 0x3c]
push str.SELECT_sql_FROM___w_.sqlite_schema_WHERE_typetableAND_name__sqlite_sequence_AND_coalesce_rootpage_1__0
push dword [ebp + 8]
push dword [ebp + 0xc]
call fcn.00b2bdd1
add esp, 0x10
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0xb2c50d
push dword [ebp - 0x3c]
push str.SELECT_sql_FROM___w_.sqlite_schema_WHERE_typeindex
push dword [ebp + 8]
push dword [ebp + 0xc]
call fcn.00b2bdd1
add esp, 0x10
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0xb2c510
mov eax, dword [ebp + 0xc]
mov byte [eax + 0xa8], 0
push dword [ebp - 0x3c]
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]
push dword [ebp + 0xc]
call fcn.00b2bdd1
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 0xb2c513
push dword [ebp - 0x3c]
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 dword [ebp + 0xc]
call fcn.00b2bdd1
add esp, 0x10
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0xb2c516
mov dword [ebp - 0x18], 0
jmp 0xb2c47a
mov eax, dword [ebp - 0x18]
add eax, 0x1434be4
movzx eax, byte [eax]
movzx eax, al
sub esp, 4
lea edx, [ebp - 0x64]
push edx
push eax
push dword [ebp - 0x40]
call fcn.00ad186b
add esp, 0x10
mov eax, dword [ebp - 0x18]
add eax, 1
movzx eax, byte [eax + 0x1434be4]
movzx edx, al
mov eax, dword [ebp - 0x64]
add edx, eax
mov eax, dword [ebp - 0x18]
add eax, 0x1434be4
movzx eax, byte [eax]
movzx eax, al
sub esp, 4
push edx
push eax
push dword [ebp - 0x4c]
call fcn.00ad18e8
add esp, 0x10
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0xb2c519
add dword [ebp - 0x18], 2
cmp dword [ebp - 0x18], 9
jle 0xb2c415
cmp dword [ebp + 0x14], 0
jne 0xb2c49a
sub esp, 8
push dword [ebp - 0x4c]
push dword [ebp - 0x40]
call fcn.00ad4229
add esp, 0x10
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0xb2c51c
sub esp, 0xc
push dword [ebp - 0x4c]
call fcn.00ac99ef
add esp, 0x10
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0xb2c51f
cmp dword [ebp + 0x14], 0
jne 0xb2c4da
sub esp, 0xc
push dword [ebp - 0x4c]
call fcn.00ac8166
add esp, 0x10
sub esp, 8
push eax
push dword [ebp - 0x40]
call fcn.00ac80d9
add esp, 0x10
cmp dword [ebp + 0x14], 0
jne 0xb2c522
sub esp, 0xc
push dword [ebp - 0x4c]
call fcn.00ac7f8a
add esp, 0x10
push 1
push dword [ebp - 0x54]
push eax
push dword [ebp - 0x40]
call fcn.00ac7e67
add esp, 0x10
mov dword [ebp - 0xc], eax
jmp 0xb2c523
nop
jmp 0xb2c523
nop
jmp 0xb2c523
nop
jmp 0xb2c523
nop
jmp 0xb2c523
nop
jmp 0xb2c523
nop
jmp 0xb2c523
nop
jmp 0xb2c523
nop
jmp 0xb2c523
nop
jmp 0xb2c523
nop
jmp 0xb2c523
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
push 1
push 0
push 0xffffffffffffffff
push dword [ebp - 0x40]
call fcn.00ac7e67
add esp, 0x10
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x51], 1
cmp dword [ebp - 0x10], 0
je 0xb2c5a5
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 4]
sub esp, 0xc
push eax
call fcn.00ac7c2e
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.00b00c1c
add esp, 0x10
mov eax, dword [ebp - 0xc]
lea esp, [ebp - 8]
pop ebx
pop esi
pop ebp
ret