Function at 0x6ddb90
Capabilities:
Reference sql statements

Disassembly:
sub esp, 0x44
push ebx
push ebp
mov ebp, edx
mov dword [esp + 0x28], 0
push esi
mov ebx, ecx
push edi
cmp byte [ebp + 0x55], 0
mov dword [esp + 0x18], ebx
jne 0x6ddbeb
push 0
push 0x28
mov ecx, ebp
call fcn.00654db0
mov edi, eax
add esp, 8
test edi, edi
je 0x6ddbcf
mov ecx, 0xa
mov esi, str.cannot_VACUUM_from_within_a_transaction
rep movsd dword es:[edi], dword [esi]
mov edi, eax
mov edx, dword [ebx]
test edx, edx
je 0x6ddbdc
mov ecx, ebp
call fcn.00654910
mov dword [ebx], edi
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
cmp dword [ebp + 0xbc], 1
jle 0x6ddc19
push 0
push 0x2b
mov ecx, ebp
call fcn.00654db0
mov edi, eax
add esp, 8
test edi, edi
je 0x6ddbcf
mov ecx, 0xa
mov esi, str.cannot_VACUUM___SQL_statements_in_progress
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x6ddbcd
mov ecx, dword [esp + 0x5c]
mov esi, dword [ebp + 0x3c]
test ecx, ecx
je 0x6ddce7
movzx edx, word [ecx + 0x10]
mov eax, edx
and eax, 0x3f
cmp byte [eax + 0x7ff708], 3
je 0x6ddc96
push 0
push 0x12
mov ecx, ebp
call fcn.00654db0
mov esi, eax
add esp, 8
test esi, esi
je 0x6ddc7a
mov ecx, dword [str.non_text_filename]
mov dword [esi], ecx
mov ecx, dword [0x88b094]
mov dword [esi + 4], ecx
mov ecx, dword [0x88b098]
mov dword [esi + 8], ecx
mov eax, dword [0x88b09c]
mov dword [esi + 0xc], eax
mov ax, word [0x88b0a0]
mov word [esi + 0x10], ax
mov edx, dword [ebx]
test edx, edx
je 0x6ddc87
mov ecx, ebp
call fcn.00654910
mov dword [ebx], esi
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov eax, edx
and eax, 0x202
cmp eax, 0x202
jne 0x6ddcbb
cmp byte [ecx + 0x12], 1
jne 0x6ddcbb
mov edx, dword [ecx + 8]
mov ecx, dword [ebp + 0x3c]
and ecx, 0xfffffffe
or ecx, 6
mov dword [ebp + 0x3c], ecx
jmp 0x6ddcec
test dl, 1
je 0x6ddcd0
mov ecx, dword [ebp + 0x3c]
xor edx, edx
and ecx, 0xfffffffe
or ecx, 6
mov dword [ebp + 0x3c], ecx
jmp 0x6ddcec
mov dl, 1
call fcn.0067a420
mov ecx, dword [ebp + 0x3c]
mov edx, eax
and ecx, 0xfffffffe
or ecx, 6
mov dword [ebp + 0x3c], ecx
jmp 0x6ddcec
mov edx, 0x775914
mov ecx, dword [ebp + 0x20]
mov ebx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x18]
mov edi, dword [ebp + 0x68]
mov dword [esp + 0x40], ecx
and ecx, 0xefffafff
mov dword [esp + 0x2c], ebx
or ecx, 0x201
mov bl, byte [ebp + 0x5e]
mov dword [ebp + 0x20], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x3c], eax
or eax, 6
mov dword [ebp + 0x18], eax
mov eax, dword [ebp + 0x10]
mov byte [esp + 0x17], bl
mov ebx, dword [esp + 0x2c]
shl ecx, 4
and ebx, 0xfffffffe
mov dword [ebp + 0x24], ebx
mov byte [ebp + 0x5e], 0
mov dword [esp + 0x44], edi
mov ebx, dword [ecx + eax]
mov edi, dword [ebp + 0x6c]
mov dword [esp + 0x1c], ebx
mov ebx, dword [ecx + eax + 4]
mov dword [esp + 0x48], edi
mov edi, dword [ebp + 0x70]
mov dword [esp + 0x4c], edi
mov eax, dword [ebx + 4]
mov edi, dword [ebp + 0x74]
mov dword [esp + 0x50], edi
mov dword [esp + 0x20], ecx
mov eax, dword [eax]
cmp byte [eax + 0xc], 0
jne 0x6ddd79
cmp byte [eax + 0x10], 0
mov dword [esp + 0x24], 0
je 0x6ddd81
mov dword [esp + 0x24], 1
mov eax, dword [ebp + 0x14]
push edx
push str.ATTACH__Q_AS_vacuum_db
push dword [esp + 0x20]
mov dword [esp + 0x34], eax
push ebp
call fcn.006dd960
mov edi, eax
mov dword [ebp + 0x3c], esi
add esp, 0x10
test edi, edi
jne 0x6de2ae
mov eax, dword [esp + 0x28]
shl eax, 4
add eax, dword [ebp + 0x10]
mov dword [esp + 0x30], eax
mov esi, dword [eax + 4]
cmp dword [esp + 0x5c], edi
je 0x6dde63
mov eax, dword [esi + 4]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
mov ecx, dword [eax]
test ecx, ecx
je 0x6dde49
lea edx, [esp + 0x34]
push edx
push eax
mov eax, dword [ecx + 0x18]
call eax
add esp, 8
test eax, eax
jne 0x6dddf9
cmp dword [esp + 0x38], eax
jg 0x6dddf9
jl 0x6dde49
cmp dword [esp + 0x34], eax
jbe 0x6dde49
push 0
mov edi, 1
mov ecx, ebp
push 0x1b
mov dword [esp + 0x30], edi
call fcn.00654db0
add esp, 8
mov dword [esp + 0x24], eax
test eax, eax
je 0x6dde2d
mov ecx, 6
mov esi, str.output_file_already_exists
mov edi, eax
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x18]
mov edx, dword [esi]
test edx, edx
je 0x6dde42
mov ecx, ebp
call fcn.00654910
mov eax, dword [esp + 0x24]
mov dword [esi], eax
jmp 0x6de2ae
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x20]
or dword [ebp + 0x18], 8
movzx edi, byte [ecx + eax + 8]
mov eax, dword [ebp + 0x20]
and eax, 0x38
or edi, eax
jmp 0x6dde68
mov edi, 1
cmp byte [ebx + 9], 0
je 0x6dde7e
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
jne 0x6dde7e
mov ecx, ebx
call fcn.0066a790
mov eax, dword [ebx + 4]
mov ecx, dword [eax + 0x24]
sub ecx, dword [eax + 0x28]
cmp byte [ebx + 9], 0
movzx edx, byte [eax + 0x16]
mov dword [esp + 0x34], edx
mov dword [esp + 0x20], ecx
je 0x6ddeae
add dword [ebx + 0xc], 0xffffffff
jne 0x6ddeae
mov ecx, ebx
call fcn.0066a770
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x34]
mov eax, dword [ebp + 0x10]
cmp edx, ecx
cmovg ecx, edx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x58]
add ecx, ecx
mov edx, dword [eax + ecx*8 + 0xc]
mov ecx, esi
mov edx, dword [edx + 0x50]
call fcn.0066d470
xor edx, edx
mov ecx, ebx
call fcn.0066d510
mov edx, eax
mov ecx, esi
call fcn.0066d510
cmp byte [esi + 9], 0
mov eax, dword [esi + 4]
mov dword [esp + 0x34], eax
je 0x6ddf01
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x6ddf01
mov ecx, esi
call fcn.0066a790
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
or edi, 0x20
mov edx, edi
call fcn.00664200
cmp byte [esi + 9], 0
je 0x6ddf20
add dword [esi + 0xc], 0xffffffff
jne 0x6ddf20
mov ecx, esi
call fcn.0066a770
mov edx, dword [esp + 0x18]
mov ecx, ebp
push str.BEGIN
call fcn.006dd780
mov edi, eax
add esp, 4
test edi, edi
jne 0x6de2ae
mov ecx, dword [esp + 0x5c]
xor edx, edx
test ecx, ecx
mov eax, 2
cmove edx, eax
cmp byte [ebx + 9], 0
jne 0x6ddf66
mov al, byte [ebx + 8]
test al, al
je 0x6ddf66
cmp al, 1
jne 0x6ddfe4
test ecx, ecx
jne 0x6ddf80
push 0
mov ecx, ebx
call fcn.0066dbc0
add esp, 4
mov edi, eax
test edi, edi
jne 0x6de2ae
mov ecx, dword [esp + 0x5c]
mov eax, dword [ebx + 4]
mov eax, dword [eax]
cmp byte [eax + 5], 5
jne 0x6ddf92
test ecx, ecx
jne 0x6ddf92
mov dword [ebp + 0x64], ecx
mov eax, dword [ebx + 4]
mov ecx, esi
mov edi, dword [esp + 0x20]
push 0
push edi
mov edx, dword [eax + 0x24]
call fcn.0066d600
add esp, 8
test eax, eax
jne 0x6de2a9
cmp dword [esp + 0x24], eax
jne 0x6ddfce
mov edx, dword [ebp + 0x64]
mov ecx, esi
push eax
push edi
call fcn.0066d600
add esp, 8
test eax, eax
jne 0x6de2a9
cmp byte [ebp + 0x57], 0
jne 0x6de2a9
mov al, byte [ebp + 0x5a]
test al, al
js 0x6de011
movsx edi, al
jmp 0x6de056
test ecx, ecx
jne 0x6ddf80
mov eax, dword [ebx]
mov edx, dword [eax + 0x1f8]
mov eax, dword [ebx + 4]
mov ecx, dword [eax]
cmp edx, dword [ecx + 0x68]
jle 0x6de00a
cmp byte [ecx + 6], 0
je 0x6de00a
call fcn.00666b40
jmp 0x6ddf72
xor edi, edi
jmp 0x6ddf74
cmp byte [ebx + 9], 0
je 0x6de027
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
jne 0x6de027
mov ecx, ebx
call fcn.0066a790
mov ecx, dword [ebx + 4]
cmp byte [ecx + 0x11], 0
jne 0x6de034
xor edi, edi
jmp 0x6de043
xor eax, eax
cmp byte [ecx + 0x12], al
setne al
inc eax
mov dword [esp + 0x34], eax
mov edi, eax
cmp byte [ebx + 9], 0
je 0x6de056
add dword [ebx + 0xc], 0xffffffff
jne 0x6de056
mov ecx, ebx
call fcn.0066a770
mov edx, edi
mov ecx, esi
call fcn.0066d740
push dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
push str.SELECT_sql_FROM___w_.sqlite_schema_WHERE_typetableAND_name__sqlite_sequence_AND_coalesce_rootpage_1__0
push dword [esp + 0x20]
mov byte [ebp + 0xb0], al
push ebp
call fcn.006dd960
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x6de2ae
push dword [esp + 0x1c]
push str.SELECT_sql_FROM___w_.sqlite_schema_WHERE_typeindex
push dword [esp + 0x20]
push ebp
call fcn.006dd960
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x6de2ae
push dword [esp + 0x1c]
mov byte [ebp + 0xb0], al
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 [esp + 0x20]
push ebp
call fcn.006dd960
and dword [ebp + 0x18], 0xfffffffb
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x6de2ae
push dword [esp + 0x1c]
push str.INSERT_INTO_vacuum_db.sqlite_schema_SELECTFROM___w_.sqlite_schema_WHERE_type_IN_view_trigger__OR_typetableAND_rootpage0_
push dword [esp + 0x20]
push ebp
call fcn.006dd960
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x6de2ae
mov dword [esp + 0x20], eax
jmp 0x6de100
cmp byte [ebx + 9], 0
movzx edi, byte [eax + 0x7fab9c]
mov eax, dword [ebx + 4]
mov dword [esp + 0x34], eax
je 0x6de128
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
jne 0x6de128
mov ecx, ebx
call fcn.0066a790
mov eax, dword [esp + 0x34]
cmp edi, 0xf
jne 0x6de137
mov eax, dword [eax]
mov edi, dword [eax + 0x6c]
add edi, dword [ebx + 0x14]
jmp 0x6de143
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x38]
mov edi, dword [eax + edi*4 + 0x24]
bswap edi
cmp byte [ebx + 9], 0
je 0x6de156
add dword [ebx + 0xc], 0xffffffff
jne 0x6de156
mov ecx, ebx
call fcn.0066a770
mov ecx, dword [esp + 0x20]
movzx eax, byte [ecx + 0x7fab9d]
movzx edx, byte [ecx + 0x7fab9c]
add eax, edi
push eax
mov ecx, esi
call fcn.006768e0
mov edi, eax
add esp, 4
test edi, edi
jne 0x6de2ae
mov eax, dword [esp + 0x20]
add eax, 2
mov dword [esp + 0x20], eax
cmp eax, 0xa
jl 0x6de100
cmp dword [esp + 0x5c], edi
jne 0x6de1ac
mov edx, esi
mov ecx, ebx
call fcn.00678b30
mov edi, eax
test edi, edi
jne 0x6de2ae
cmp byte [esi + 9], 0
je 0x6de1c2
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x6de1c2
mov ecx, esi
call fcn.0066a790
xor edx, edx
mov ecx, esi
call fcn.0066eb90
mov edi, eax
test edi, edi
jne 0x6de1dc
xor edx, edx
mov ecx, esi
call fcn.0066ed80
mov edi, eax
cmp byte [esi + 9], 0
je 0x6de1ef
add dword [esi + 0xc], 0xffffffff
jne 0x6de1ef
mov ecx, esi
call fcn.0066a770
test edi, edi
jne 0x6de2ae
cmp dword [esp + 0x5c], edi
jne 0x6de2ae
cmp byte [esi + 9], 0
je 0x6de217
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x6de217
mov ecx, esi
call fcn.0066a790
mov ecx, dword [esi + 4]
cmp byte [ecx + 0x11], 0
jne 0x6de224
xor edi, edi
jmp 0x6de233
xor eax, eax
cmp byte [ecx + 0x12], al
setne al
inc eax
mov dword [esp + 0x34], eax
mov edi, eax
cmp byte [esi + 9], 0
je 0x6de246
add dword [esi + 0xc], 0xffffffff
jne 0x6de246
mov ecx, esi
call fcn.0066a770
mov edx, edi
mov ecx, ebx
call fcn.0066d740
cmp byte [esi + 9], 0
je 0x6de265
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x6de265
mov ecx, esi
call fcn.0066a790
mov eax, dword [esi + 4]
mov edi, dword [eax + 0x24]
movzx ecx, byte [eax + 0x16]
sub edi, dword [eax + 0x28]
cmp byte [esi + 9], 0
mov dword [esp + 0x34], ecx
je 0x6de28d
add dword [esi + 0xc], 0xffffffff
jne 0x6de28d
mov ecx, esi
call fcn.0066a770
mov ecx, dword [esp + 0x34]
mov eax, dword [esi + 4]
cmp ecx, edi
push 1
cmovg edi, ecx
mov ecx, ebx
push edi
mov edx, dword [eax + 0x24]
call fcn.0066d600
add esp, 8
mov edi, eax
jmp 0x6de2ae
mov edi, 7
mov eax, dword [esp + 0x3c]
or edx, 0xffffffff
mov dword [ebp + 0x18], eax
mov ecx, ebx
mov eax, dword [esp + 0x40]
mov dword [ebp + 0x20], eax
mov eax, dword [esp + 0x2c]
mov dword [ebp + 0x24], eax
mov eax, dword [esp + 0x44]
mov dword [ebp + 0x68], eax
mov eax, dword [esp + 0x48]
mov dword [ebp + 0x6c], eax
mov eax, dword [esp + 0x4c]
mov dword [ebp + 0x70], eax
mov eax, dword [esp + 0x50]
mov dword [ebp + 0x74], eax
mov al, byte [esp + 0x17]
push 1
push 0
mov byte [ebp + 0xb0], 0
mov byte [ebp + 0x5e], al
call fcn.0066d600
mov ebx, dword [esp + 0x38]
add esp, 8
mov byte [ebp + 0x55], 1
test ebx, ebx
je 0x6de320
mov ecx, dword [ebx + 4]
call fcn.0066d270
mov dword [ebx + 4], 0
mov dword [ebx + 0xc], 0
mov ecx, ebp
call fcn.006a5260
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret