Function at 0x4d1330
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
push ebx
push esi
push edi
mov esi, ecx
xor edi, edi
cmp byte [esi + 0x43], 0
jne 0x4d135c
mov edi, dword [ebp + 8]
mov ebx, str.cannot_VACUUM_from_within_a_transaction
call fcn.0046ff00
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x9c], 1
jle 0x4d137e
mov edi, dword [ebp + 8]
mov ebx, str.cannot_VACUUM___SQL_statements_in_progress
call fcn.0046ff00
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x58]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], edx
mov edx, dword [esi + 0x5c]
and ecx, 0xffffaf7f
or ecx, 0x6000201
mov dword [esi + 0x18], ecx
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x2c], edx
mov dl, byte [esi + 0x4c]
shl eax, 4
mov byte [esi + 0x4c], 0
mov byte [ebp - 1], dl
mov edx, dword [eax + ecx]
mov dword [ebp - 0x1c], eax
mov eax, dword [eax + ecx + 4]
mov dword [ebp - 8], eax
mov eax, dword [eax + 4]
mov ecx, dword [eax]
mov eax, dword [esi + 0x14]
mov dword [ebp - 0xc], edx
movzx edx, byte [ecx + 0xd]
mov ecx, dword [ebp + 8]
push str.ATTACHAS_vacuum_db
push ecx
push esi
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x14], eax
call fcn.004d10b0
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x4d162b
mov eax, dword [ebp - 0x14]
shl eax, 4
add eax, dword [esi + 0x10]
mov edi, dword [eax + 4]
mov dword [ebp - 0x10], eax
mov eax, edi
call fcn.004853a0
mov ebx, dword [ebp - 8]
mov eax, ebx
call fcn.004841f0
mov edx, dword [esi + 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edx + eax + 0xc]
mov edx, dword [ecx + 0x50]
push edx
mov eax, edi
call fcn.00483fd0
add esp, 4
push 0
mov eax, ebx
call fcn.00484020
add esp, 4
push eax
mov eax, edi
call fcn.00484020
add esp, 4
push 0x21
mov eax, edi
call fcn.004840d0
mov eax, dword [ebp + 8]
add esp, 4
push str.BEGIN
push eax
push esi
call fcn.004d10b0
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x4d1628
mov ecx, dword [ebp - 8]
push 2
push ecx
call fcn.00484700
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x4d1628
mov eax, dword [ebp - 8]
mov edx, dword [eax + 4]
mov ecx, dword [edx]
cmp byte [ecx + 5], 5
jne 0x4d1490
mov dword [esi + 0x50], ebx
mov ebx, dword [ebp - 0x18]
mov edx, dword [eax + 4]
mov eax, dword [edx + 0x20]
push 0
push ebx
push edi
call fcn.00484120
add esp, 0xc
test eax, eax
jne 0x4d1623
cmp dword [ebp - 0x20], eax
jne 0x4d14c8
push eax
mov eax, dword [esi + 0x50]
push ebx
push edi
call fcn.00484120
add esp, 0xc
test eax, eax
jne 0x4d1623
cmp byte [esi + 0x45], 0
jne 0x4d1623
mov al, byte [esi + 0x48]
test al, al
js 0x4d14de
movsx eax, al
jmp 0x4d14e6
mov eax, dword [ebp - 8]
call fcn.00484360
push eax
mov eax, edi
call fcn.004842e0
mov ecx, dword [ebp - 0xc]
mov al, byte [ebp - 0x14]
mov edx, dword [ebp + 8]
add esp, 4
push ecx
mov byte [esi + 0x98], al
push str.SELECT_sql_FROM___w_.sqlite_master_WHERE_typetableAND_name__sqlite_sequence_AND_coalesce_rootpage_1__0
push edx
mov eax, esi
call fcn.004d1210
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x4d1628
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 8]
push eax
push str.SELECT_sql_FROM___w_.sqlite_master_WHERE_typeindex_AND_length_sql__10
push ecx
mov eax, esi
call fcn.004d1210
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x4d1628
mov edx, dword [ebp - 0xc]
push edx
mov byte [esi + 0x98], al
mov eax, dword [ebp + 8]
push str.SELECTINSERT_INTO_vacuum_db.quote_name__SELECTFROM__w_.quote_name_FROM_vacuum_db.sqlite_master_WHERE_typetableAND_coalesce_rootpage_1__0
push eax
mov eax, esi
call fcn.004d1210
and dword [esi + 0x18], 0xfbffffff
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x4d1628
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp + 8]
push ecx
push str.INSERT_INTO_vacuum_db.sqlite_master_SELECTFROM___w_.sqlite_master_WHERE_type_IN_view_trigger__OR_typetableAND_rootpage0_
push edx
mov eax, esi
call fcn.004d1210
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x4d1628
mov dword [ebp - 0xc], ebx
jmp 0x4d1593
mov ebx, dword [ebp - 0xc]
movzx ecx, byte [ebx + 0x53cadc]
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 8]
push ecx
call fcn.0048a790
movzx edx, byte [ebx + 0x53cadd]
add edx, dword [ebp - 0x20]
movzx eax, byte [ebx + 0x53cadc]
push edx
push eax
mov eax, edi
call fcn.0048a7f0
mov ebx, eax
add esp, 0x10
test ebx, ebx
jne 0x4d1628
mov eax, dword [ebp - 0xc]
add eax, 2
mov dword [ebp - 0xc], eax
cmp eax, 0xa
jl 0x4d1590
mov ebx, dword [ebp - 8]
mov eax, edi
call fcn.0048cb90
mov ebx, eax
test ebx, ebx
jne 0x4d1628
mov eax, edi
call fcn.004853a0
mov ebx, eax
test ebx, ebx
jne 0x4d1628
mov eax, edi
call fcn.00484360
mov ebx, dword [ebp - 8]
push eax
mov eax, ebx
call fcn.004842e0
mov edx, dword [ebp - 0x18]
mov ecx, dword [edi + 4]
mov eax, dword [ecx + 0x20]
add esp, 4
push 1
push edx
push ebx
call fcn.00484120
add esp, 0xc
mov ebx, eax
jmp 0x4d1628
mov ebx, 7
mov edi, dword [ebp - 0x10]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x2c]
mov dword [esi + 0x18], eax
mov al, byte [ebp - 1]
push 1
mov dword [esi + 0x58], ecx
mov ecx, dword [ebp - 8]
mov byte [esi + 0x4c], al
push 0xffffffffffffffff
push ecx
or eax, 0xffffffff
mov byte [esi + 0x98], 0
mov dword [esi + 0x5c], edx
call fcn.00484120
add esp, 0xc
mov byte [esi + 0x43], 1
test edi, edi
je 0x4d1675
mov eax, dword [edi + 4]
call fcn.00483ef0
xor eax, eax
mov dword [edi + 4], eax
mov dword [edi + 0xc], eax
mov eax, esi
call fcn.004ac990
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret