Function at 0x7f2050
Capabilities:
Reference sql statements

Disassembly:
push ebp
push edi
push esi
push ebx
mov ebx, edx
sub esp, 0x7c
cmp byte [edx + 0x4f], 0
mov dword [esp], eax
je 0x7f23e0
cmp dword [edx + 0xb0], 1
jg 0x7f23c0
mov edi, ecx
mov eax, dword [edx + 0x3c]
mov ecx, dword [esp + 0x90]
mov dword [esp + 4], eax
test ecx, ecx
je 0x7f2400
mov eax, dword [esp + 0x90]
movzx eax, word [eax + 8]
and eax, 0x3f
cmp byte [eax + 0xbf5720], 3
je 0x7f20c0
mov eax, dword [esp]
mov ecx, str.non_text_filename
mov esi, 1
call fcn.00769820
add esp, 0x7c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x90]
mov edx, 1
call fcn.0078c260
mov edx, dword [ebx + 0x3c]
and edx, 0xfffffffe
or edx, 6
mov dword [ebx + 0x3c], edx
mov esi, dword [ebx + 0x20]
mov edx, dword [ebx + 0x18]
shl edi, 4
mov ecx, dword [ebx + 0x64]
mov ebp, dword [ebx + 0x24]
mov dword [esp + 0x14], esi
and esi, 0xefffafff
mov dword [esp + 8], edx
or edx, 6
mov dword [ebx + 0x18], edx
mov edx, esi
mov dword [esp + 0xc], ecx
or edx, 0x201
mov ecx, dword [ebx + 0x68]
mov dword [ebx + 0x20], edx
mov edx, dword [ebx + 0x10]
mov dword [esp + 0x10], ecx
movzx ecx, byte [ebx + 0x58]
add edx, edi
mov byte [ebx + 0x58], 0
mov dword [esp + 0x18], ebp
mov esi, dword [edx]
mov byte [esp + 0x2a], cl
mov ecx, ebp
mov ebp, dword [edx + 4]
and ecx, 0xfffffffe
mov dword [esp + 0x24], esi
mov edx, dword [ebp + 4]
mov dword [ebx + 0x24], ecx
mov edx, dword [edx]
movzx ecx, byte [edx + 0xc]
mov byte [esp + 0x2b], cl
mov ecx, dword [ebx + 0x14]
mov dword [esp + 0x1c], ecx
push eax
push str.ATTACH__Q_AS_vacuum_db
push dword [esp + 8]
push ebx
call fcn.007f2000
mov edx, dword [esp + 0x14]
add esp, 0x10
mov esi, eax
mov dword [ebx + 0x3c], edx
test eax, eax
jne 0x7f25d0
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x90]
shl eax, 4
add eax, dword [ebx + 0x10]
mov dword [esp + 0x20], eax
mov eax, dword [eax + 4]
mov dword [esp + 4], eax
test edx, edx
je 0x7f21db
mov eax, dword [eax + 4]
mov eax, dword [eax]
mov edx, dword [eax + 0x3c]
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov eax, dword [edx]
test eax, eax
je 0x7f21d7
sub esp, 8
lea esi, [esp + 0x48]
push esi
push edx
call dword [eax + 0x18]
add esp, 0x10
test eax, eax
jne 0x7f2621
cmp eax, dword [esp + 0x40]
sbb eax, dword [esp + 0x44]
jl 0x7f2621
or dword [ebx + 0x18], 8
cmp byte [ebp + 9], 0
je 0x7f2640
mov eax, ebp
call fcn.0076c790
mov eax, dword [ebp + 4]
mov edx, dword [eax + 0x20]
sub edx, dword [eax + 0x24]
cmp byte [ebp + 9], 0
mov dword [esp + 0x2c], edx
je 0x7f2209
sub dword [ebp + 0xc], 1
je 0x7f2690
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + edi + 0xc]
mov edi, dword [esp + 4]
mov edx, dword [eax + 0x50]
mov eax, edi
call fcn.0076cc40
xor edx, edx
mov eax, ebp
call fcn.0076ccd0
mov edx, eax
mov eax, edi
call fcn.0076ccd0
mov edx, 0x21
mov eax, edi
call fcn.0076cd90
mov edx, dword [esp]
mov ecx, str.BEGIN
mov eax, ebx
call fcn.007f1ee0
mov esi, eax
test eax, eax
jne 0x7f2550
mov edi, dword [esp + 0x90]
mov eax, 2
test edi, edi
cmove esi, eax
xor ecx, ecx
mov eax, ebp
mov edx, esi
call fcn.007a94e0
mov esi, eax
test eax, eax
jne 0x7f2550
mov eax, dword [ebp + 4]
mov edx, dword [eax]
cmp byte [edx + 5], 5
je 0x7f2680
sub esp, 0xc
mov edx, dword [eax + 0x20]
push 0
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x14]
call fcn.007763c0
add esp, 0x10
test eax, eax
jne 0x7f2672
cmp byte [esp + 0x2b], 0
je 0x7f2652
cmp byte [ebx + 0x51], 0
jne 0x7f2672
movsx edx, byte [ebx + 0x54]
test dl, dl
js 0x7f269c
mov eax, dword [esp + 4]
call fcn.0076cdd0
movzx eax, byte [esp + 0x1c]
mov byte [ebx + 0xa4], al
push dword [esp + 0x24]
push str.SELECT_sql_FROM___w_.sqlite_master_WHERE_typetableAND_name__sqlite_sequence_AND_coalesce_rootpage_1__0
mov edi, dword [esp + 8]
push edi
push ebx
call fcn.007f2000
add esp, 0x10
mov esi, eax
test eax, eax
jne 0x7f2550
push dword [esp + 0x24]
push str.SELECT_sql_FROM___w_.sqlite_master_WHERE_typeindex
push edi
push ebx
call fcn.007f2000
add esp, 0x10
mov esi, eax
test eax, eax
jne 0x7f2550
mov byte [ebx + 0xa4], 0
push dword [esp + 0x24]
push str.SELECTINSERT_INTO_vacuum_db.quote_name__SELECTFROM__w_.quote_name_FROM_vacuum_db.sqlite_master_WHERE_typetableAND_coalesce_rootpage_1__0
push edi
push ebx
call fcn.007f2000
and dword [ebx + 0x18], 0xfffffffb
add esp, 0x10
mov esi, eax
test eax, eax
jne 0x7f2550
push dword [esp + 0x24]
push str.INSERT_INTO_vacuum_db.sqlite_master_SELECTFROM___w_.sqlite_master_WHERE_type_IN_view_trigger__OR_typetableAND_rootpage0_
push edi
push ebx
call fcn.007f2000
add esp, 0x10
mov esi, eax
test eax, eax
jne 0x7f2550
mov edi, 1
mov dword [esp], ebx
mov eax, 1
mov ebx, edi
movzx edi, al
lea ecx, [esp + 0x3c]
mov eax, ebp
mov edx, edi
call fcn.0076cea0
mov eax, dword [esp + 4]
movzx ecx, bl
mov edx, edi
add ecx, dword [esp + 0x3c]
call fcn.007a9d30
test eax, eax
jne 0x7f26cc
add esi, 2
cmp esi, 0xa
je 0x7f26aa
movzx eax, byte [esi + 0xbf46e8]
movzx ebx, byte [esi + 0xbf46e9]
jmp 0x7f2371
mov eax, dword [esp]
mov ecx, str.cannot_VACUUM___SQL_statements_in_progress
mov esi, 1
call fcn.00769820
add esp, 0x7c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, str.cannot_VACUUM_from_within_a_transaction
mov esi, 1
call fcn.00769820
add esp, 0x7c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, 0xbeb868
jmp 0x7f20dd
cmp byte [ebp + 9], 0
je 0x7f2417
mov eax, ebp
call fcn.0076c790
mov eax, dword [esp + 4]
cmp byte [eax + 9], 0
je 0x7f2426
call fcn.0076c790
mov eax, dword [ebp + 4]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov ecx, dword [eax]
mov dword [esp + 0x1c], eax
test ecx, ecx
je 0x7f26f3
mov eax, dword [esp + 4]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x2c]
mov eax, dword [eax + 0x20]
mov edi, eax
and edx, 0x7fffffff
sar edi, 0x1f
mov esi, edi
imul esi, edx
mul edx
add edx, esi
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], edx
push edx
lea eax, [esp + 0x44]
mov dword [esp + 4], eax
push eax
push 0xb
push dword [esp + 0x28]
call dword [ecx + 0x28]
mov esi, eax
add esp, 0x10
cmp eax, 0xc
je 0x7f2486
test eax, eax
jne 0x7f24da
mov edi, dword [esp]
xor eax, eax
mov ecx, 0xc
mov esi, dword [esp + 4]
rep stosd dword es:[edi], eax
mov eax, dword [esi]
mov dword [esp + 0x58], esi
mov dword [esp + 0x44], ebp
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], 1
push eax
push eax
push 0x7fffffff
mov edi, dword [esp + 0xc]
push edi
call fcn.007b1800
mov dword [esp], edi
call fcn.007b4770
add esp, 0x10
mov esi, eax
test eax, eax
jne 0x7f26d6
mov eax, dword [ebp + 4]
and word [eax + 0x16], 0xfffd
mov edi, dword [esp + 4]
cmp byte [edi + 9], 0
je 0x7f24f6
mov eax, dword [edi + 0xc]
mov dword [esp], eax
sub eax, 1
mov dword [edi + 0xc], eax
je 0x7f26ff
cmp byte [ebp + 9], 0
je 0x7f2506
sub dword [ebp + 0xc], 1
je 0x7f270b
test esi, esi
jne 0x7f2550
mov eax, dword [esp + 4]
call fcn.007b17a0
mov esi, eax
test eax, eax
jne 0x7f2550
mov edi, dword [esp + 4]
mov eax, edi
call fcn.0076ce30
mov edx, eax
mov eax, ebp
call fcn.0076cdd0
mov eax, dword [edi + 4]
sub esp, 0xc
mov edx, dword [eax + 0x20]
push 1
mov eax, ebp
mov ecx, dword [esp + 0x3c]
call fcn.007763c0
add esp, 0x10
mov esi, eax
lea esi, [esi]
nop
mov eax, dword [esp + 8]
sub esp, 0xc
mov ecx, 0xffffffff
mov byte [ebx + 0xa4], 0
mov edx, 0xffffffff
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0x20]
mov dword [ebx + 0x20], eax
mov eax, dword [esp + 0x24]
mov dword [ebx + 0x24], eax
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x64], eax
mov eax, dword [esp + 0x1c]
mov dword [ebx + 0x68], eax
movzx eax, byte [esp + 0x36]
mov byte [ebx + 0x58], al
mov eax, ebp
push 1
call fcn.007763c0
mov edi, dword [esp + 0x30]
mov byte [ebx + 0x4f], 1
mov eax, dword [edi + 4]
call fcn.007b42f0
mov dword [edi + 4], 0
add esp, 0x10
mov dword [edi + 0xc], 0
mov eax, ebx
call fcn.00777fb0
add esp, 0x7c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 8]
sub esp, 0xc
mov ecx, 0xffffffff
mov byte [ebx + 0xa4], 0
mov edx, 0xffffffff
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0x20]
mov dword [ebx + 0x20], eax
mov eax, dword [esp + 0x24]
mov dword [ebx + 0x24], eax
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x64], eax
mov eax, dword [esp + 0x1c]
mov dword [ebx + 0x68], eax
movzx eax, byte [esp + 0x36]
mov byte [ebx + 0x58], al
mov eax, ebp
push 1
call fcn.007763c0
mov byte [ebx + 0x4f], 1
add esp, 0x10
jmp 0x7f25b9
mov eax, dword [esp]
mov ecx, str.output_file_already_exists
mov edx, ebx
mov esi, 1
call fcn.00769820
jmp 0x7f2550
mov eax, dword [ebp + 4]
mov edx, dword [eax + 0x20]
sub edx, dword [eax + 0x24]
mov dword [esp + 0x2c], edx
jmp 0x7f2209
sub esp, 0xc
mov edx, dword [ebx + 0x5c]
push 0
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x14]
call fcn.007763c0
add esp, 0x10
test eax, eax
je 0x7f22b5
mov esi, 7
jmp 0x7f2550
mov dword [ebx + 0x5c], 0
jmp 0x7f228a
mov eax, ebp
call fcn.0076c820
jmp 0x7f2209
mov eax, ebp
call fcn.0076ce30
mov edx, eax
jmp 0x7f22cb
mov ecx, dword [esp + 0x90]
mov ebx, dword [esp]
test ecx, ecx
je 0x7f240a
mov eax, dword [esp + 4]
call fcn.007b17a0
mov esi, eax
jmp 0x7f2550
mov ebx, dword [esp]
mov esi, eax
jmp 0x7f2550
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp byte [eax + 0xc], 0
jne 0x7f24da
call fcn.00772770
jmp 0x7f24da
lea eax, [esp + 0x40]
mov dword [esp], eax
jmp 0x7f2486
mov eax, edi
call fcn.0076c820
jmp 0x7f24f6
mov eax, ebp
call fcn.0076c820
jmp 0x7f2506