Function at 0x48b9b0
Capabilities:
Reference sql statements

Disassembly:
sub esp, 0x4c
cmp byte [edi + 0x55], 0
push ebx
push ebp
mov ebp, dword [esp + 0x5c]
mov eax, 1
push esi
mov dword [esp + 0x24], 0
mov dword [esp + 0x30], eax
jne 0x48b9fe
mov ebx, str.cannot_VACUUM_from_within_a_transaction
mov ecx, edi
call fcn.00419890
mov ebx, dword [esp + 0x5c]
mov esi, eax
mov eax, dword [ebx]
test eax, eax
je 0x48b9f0
mov ecx, edi
call fcn.00419270
mov dword [ebx], esi
mov eax, 1
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
cmp dword [edi + 0xbc], eax
jle 0x48ba0d
mov ebx, str.cannot_VACUUM___SQL_statements_in_progress
jmp 0x48b9d6
mov eax, dword [edi + 0x3c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x64]
test eax, eax
je 0x48ba63
movzx ecx, byte [eax + 0x10]
and ecx, 0x3f
cmp byte [ecx + 0x4c21d0], 3
je 0x48ba4a
mov esi, dword [esp + 0x5c]
push edi
mov ebx, str.non_text_filename
call fcn.004199d0
add esp, 4
mov eax, 1
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
push eax
call fcn.00441180
mov edx, dword [edi + 0x3c]
and edx, 0xfffffffe
add esp, 4
or edx, 6
mov esi, eax
mov dword [edi + 0x3c], edx
jmp 0x48ba68
mov esi, 0x4be549
mov ebx, dword [edi + 0x68]
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x20]
mov edx, dword [edi + 0x24]
mov dword [esp + 0x48], ebx
mov ebx, dword [edi + 0x6c]
mov dword [esp + 0x4c], ebx
mov ebx, dword [edi + 0x70]
mov dword [esp + 0x3c], eax
or eax, 6
mov dword [edi + 0x18], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 0x50], ebx
mov ebx, dword [edi + 0x74]
mov dword [esp + 0x40], ecx
or ecx, 0x201
mov dword [edi + 0x20], ecx
and dword [edi + 0x20], 0xefffafff
mov dword [edi + 0x24], edx
and dword [edi + 0x24], 0xfffffffe
shl ebp, 4
mov dword [esp + 0x54], ebx
mov bl, byte [edi + 0x5e]
mov byte [edi + 0x5e], 0
lea ecx, [eax + ebp]
mov byte [esp + 0x13], bl
mov ebx, dword [ecx + 4]
mov eax, dword [ebx + 4]
mov dword [esp + 0x44], edx
mov edx, dword [ecx]
mov ecx, dword [eax]
cmp byte [ecx + 0xc], 0
mov dword [esp + 0x18], ebp
mov dword [esp + 0x14], edx
mov dword [esp + 0x2c], ebx
jne 0x48baf4
cmp byte [ecx + 0x10], 0
mov dword [esp + 0x1c], 0
je 0x48bafc
mov dword [esp + 0x1c], 1
mov edx, dword [esp + 0x5c]
mov ecx, dword [edi + 0x14]
push esi
push str.ATTACH__Q_AS_vacuum_db
push edx
mov eax, edi
mov dword [esp + 0x2c], ecx
call fcn.0048b880
mov ebp, eax
mov eax, dword [esp + 0x34]
add esp, 0xc
test ebp, ebp
mov dword [edi + 0x3c], eax
jne 0x48be06
mov eax, dword [esp + 0x20]
shl eax, 4
add eax, dword [edi + 0x10]
xor edx, edx
cmp dword [esp + 0x64], edx
mov esi, dword [eax + 4]
mov dword [esp + 0x24], eax
je 0x48bbb2
mov ecx, dword [esi + 4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x40]
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], edx
mov ecx, dword [eax]
cmp ecx, edx
je 0x48bb98
lea edx, [esp + 0x30]
push edx
push eax
mov eax, dword [ecx + 0x18]
call eax
add esp, 8
test eax, eax
jne 0x48bb78
cmp dword [esp + 0x34], eax
jl 0x48bb98
jg 0x48bb78
cmp dword [esp + 0x30], eax
jbe 0x48bb98
mov esi, dword [esp + 0x5c]
push edi
mov ebx, str.output_file_already_exists
mov ebp, 1
call fcn.004199d0
mov ebx, dword [esp + 0x30]
add esp, 4
jmp 0x48be06
or dword [edi + 0x18], 8
mov ecx, dword [edi + 0x10]
mov edx, dword [esp + 0x18]
movzx ebp, byte [edx + ecx + 8]
mov eax, dword [edi + 0x20]
and eax, 0x38
or ebp, eax
jmp 0x48bbb6
mov ebp, dword [esp + 0x30]
mov eax, ebx
call fcn.00430260
mov ecx, dword [edi + 0x10]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x30], eax
mov eax, dword [edx + ecx + 0xc]
mov ecx, dword [eax + 0x50]
push ecx
mov eax, esi
call fcn.00430020
add esp, 4
push 0
mov eax, ebx
call fcn.00430080
add esp, 4
push eax
mov eax, esi
call fcn.00430080
add esp, 4
or ebp, 0x20
push ebp
mov eax, esi
call fcn.00430130
mov edx, dword [esp + 0x60]
add esp, 4
push str.BEGIN
push edx
push edi
call fcn.0048b780
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x48be06
push eax
mov eax, dword [esp + 0x68]
neg eax
sbb eax, eax
and eax, 0xfffffffe
add eax, 2
push eax
push ebx
call fcn.004308c0
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x48be06
mov ecx, dword [ebx + 4]
mov edx, dword [ecx]
cmp byte [edx + 5], 5
jne 0x48bc53
cmp dword [esp + 0x64], eax
jne 0x48bc53
mov dword [edi + 0x64], eax
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0x24]
mov ebp, dword [esp + 0x30]
push 0
push eax
push esi
mov eax, ebp
call fcn.00430180
add esp, 0xc
test eax, eax
jne 0x48be01
cmp dword [esp + 0x1c], eax
jne 0x48bc91
mov ecx, dword [edi + 0x64]
push eax
push ecx
push esi
mov eax, ebp
call fcn.00430180
add esp, 0xc
test eax, eax
jne 0x48be01
cmp byte [edi + 0x57], 0
jne 0x48be01
mov al, byte [edi + 0x5a]
test al, al
jl 0x48bca7
movsx eax, al
jmp 0x48bcae
mov eax, ebx
call fcn.004303f0
push eax
mov eax, esi
call fcn.00430370
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x60]
mov dl, byte [esp + 0x24]
add esp, 4
push eax
push str.SELECT_sql_FROM___w_.sqlite_schema_WHERE_typetableAND_name__sqlite_sequence_AND_coalesce_rootpage_1__0
push ecx
mov eax, edi
mov byte [edi + 0xb0], dl
call fcn.0048b880
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x48be06
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x5c]
push edx
push str.SELECT_sql_FROM___w_.sqlite_schema_WHERE_typeindex
push eax
mov eax, edi
call fcn.0048b880
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x48be06
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x5c]
push ecx
mov byte [edi + 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 edx
mov eax, edi
call fcn.0048b880
and dword [edi + 0x18], 0xfffffffb
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x48be06
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x5c]
push eax
push str.INSERT_INTO_vacuum_db.sqlite_schema_SELECTFROM___w_.sqlite_schema_WHERE_type_IN_view_trigger__OR_typetableAND_rootpage0_
push ecx
mov eax, edi
call fcn.0048b880
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x48be06
mov dword [esp + 0x14], ebp
jmp 0x48bd64
mov ebp, dword [esp + 0x14]
movzx eax, byte [ebp + 0x4c2f74]
lea edx, [esp + 0x30]
push edx
push eax
mov eax, ebx
call fcn.00438160
movzx ecx, byte [ebp + 0x4c2f75]
add ecx, dword [esp + 0x38]
movzx edx, byte [ebp + 0x4c2f74]
push ecx
push edx
mov eax, esi
call fcn.004381c0
mov ebp, eax
add esp, 0x10
test ebp, ebp
jne 0x48be06
mov eax, dword [esp + 0x14]
add eax, 2
cmp eax, 0xa
mov dword [esp + 0x14], eax
jl 0x48bd60
cmp dword [esp + 0x64], ebp
jne 0x48bdbf
mov eax, esi
call fcn.0043a8e0
mov ebp, eax
test ebp, ebp
jne 0x48be06
mov eax, esi
call fcn.00431800
mov ebp, eax
test ebp, ebp
jne 0x48be06
cmp dword [esp + 0x64], eax
jne 0x48be06
mov eax, esi
call fcn.004303f0
push eax
mov eax, ebx
call fcn.00430370
add esp, 4
mov eax, esi
call fcn.00430260
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 0x24]
push 1
push ecx
push ebx
call fcn.00430180
add esp, 0xc
mov ebp, eax
jmp 0x48be06
mov ebp, 7
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x44]
mov dword [edi + 0x20], eax
mov eax, dword [esp + 0x4c]
mov dword [edi + 0x18], edx
mov edx, dword [esp + 0x48]
mov dword [edi + 0x6c], eax
mov al, byte [esp + 0x13]
push 1
mov dword [edi + 0x24], ecx
mov ecx, dword [esp + 0x54]
mov dword [edi + 0x68], edx
mov edx, dword [esp + 0x58]
mov byte [edi + 0x5e], al
push 0xffffffffffffffff
push ebx
xor eax, eax
mov byte [edi + 0xb0], 0
mov dword [edi + 0x70], ecx
mov dword [edi + 0x74], edx
call fcn.00430180
mov esi, dword [esp + 0x30]
xor ebx, ebx
add esp, 0xc
cmp esi, ebx
mov byte [edi + 0x55], 1
je 0x48be70
mov eax, dword [esi + 4]
call fcn.0042ff50
mov dword [esi + 4], ebx
mov dword [esi + 0xc], ebx
mov eax, edi
call fcn.00460930
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x4c
ret