Function at 0x4337a0
Capabilities:
Reference sql statements

Disassembly:
sub esp, 0x20
push ebx
push ebp
mov ebp, dword [esp + 0x2c]
xor ecx, ecx
cmp byte [ebp + 0x1c], cl
push esi
push edi
mov ebx, eax
mov dword [esp + 0x14], ecx
jne 0x4337d6
push str.cannot_VACUUM_from_within_a_transaction
mov eax, ebp
mov edi, ebx
call fcn.00419d00
mov eax, 1
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
cmp dword [ebp + 0x8c], 1
jle 0x4337fd
push str.cannot_VACUUM___SQL_statements_in_progress
mov eax, ebp
mov edi, ebx
call fcn.00419d00
mov eax, 1
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0x3c]
mov dword [esp + 0x20], eax
and eax, 0xfaffffff
mov dword [esp + 0x24], edx
mov edx, dword [ebp + 0x40]
or eax, 0x10050000
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x28], edx
mov edx, dword [ebp + 0x98]
mov dword [ebp + 0x98], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x34], ecx
call fcn.0040b140
mov esi, dword [ebp + 4]
mov ecx, ebp
mov dword [esp + 0x18], eax
call fcn.004091f0
test eax, eax
mov ecx, str.ATTACH_:memory:_AS_vacuum_db_
jne 0x43385a
mov ecx, str.ATTACH__AS_vacuum_db_
mov eax, ebp
call fcn.00432ba0
mov edi, eax
mov eax, dword [ebp + 4]
cmp eax, esi
jle 0x43387a
mov ecx, dword [ebp + 8]
mov edx, eax
shl edx, 4
lea edx, [edx + ecx - 0x10]
mov dword [esp + 0x14], edx
test edi, edi
jne 0x433a55
mov ecx, dword [ebp + 8]
shl eax, 4
mov esi, dword [eax + ecx - 0xc]
call fcn.0042dec0
mov edx, dword [esp + 0x34]
mov eax, edx
call fcn.0040ac70
mov edi, eax
mov eax, edx
mov dword [esp + 0x1c], edi
call fcn.0040ab20
call fcn.0040b0a0
cmp eax, 5
jne 0x4338ba
mov dword [ebp + 0x24], 0
push 0
mov eax, edx
call fcn.0040ac80
mov edx, edi
mov ecx, esi
call fcn.004172d0
add esp, 4
test eax, eax
jne 0x433a50
cmp dword [esp + 0x18], eax
jne 0x4338f5
push eax
mov eax, dword [ebp + 0x24]
mov edx, edi
mov ecx, esi
call fcn.004172d0
add esp, 4
test eax, eax
jne 0x433a50
cmp byte [ebp + 0x1e], 0
jne 0x433a50
mov ecx, str.PRAGMA_vacuum_db.synchronousOFF
mov eax, ebp
call fcn.00432ba0
mov edi, eax
test edi, edi
jne 0x433a55
mov ecx, str.BEGIN_EXCLUSIVE_
mov eax, ebp
call fcn.00432ba0
mov edi, eax
test edi, edi
jne 0x433a55
mov ecx, str.SELECT_CREATE_TABLE_vacuum_db.__substr_sql_14____FROM_sqlite_master_WHERE_typetable_AND_name_sqlite_sequence___AND_rootpage_0
mov eax, ebx
mov edx, ebp
call fcn.004334c0
mov edi, eax
test edi, edi
jne 0x433a55
mov ecx, str.SELECT_CREATE_INDEX_vacuum_db.__substr_sql_14___FROM_sqlite_master_WHERE_sql_LIKE_CREATE_INDEX__
mov eax, ebx
mov edx, ebp
call fcn.004334c0
mov edi, eax
test edi, edi
jne 0x433a55
mov ecx, str.SELECT_CREATE_UNIQUE_INDEX_vacuum_db.__substr_sql_21____FROM_sqlite_master_WHERE_sql_LIKE_CREATE_UNIQUE_INDEX__
mov eax, ebx
mov edx, ebp
call fcn.004334c0
mov edi, eax
test edi, edi
jne 0x433a55
mov ecx, str.SELECT_INSERT_INTO_vacuum_db.__quote_name____SELECT__FROM_main.__quote_name____FROM_main.sqlite_master_WHERE_type__table_AND_name_sqlite_sequence___AND_rootpage_0
mov eax, ebx
mov edx, ebp
call fcn.004334c0
mov edi, eax
test edi, edi
jne 0x433a55
mov ecx, str.SELECT_DELETE_FROM_vacuum_db.__quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence
mov eax, ebx
mov edx, ebp
call fcn.004334c0
mov edi, eax
test edi, edi
jne 0x433a55
mov ecx, str.SELECT_INSERT_INTO_vacuum_db.__quote_name____SELECT__FROM_main.__quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence_
mov eax, ebx
mov edx, ebp
call fcn.004334c0
mov edi, eax
test edi, edi
jne 0x433a55
mov ecx, str.INSERT_INTO_vacuum_db.sqlite_master___SELECT_type__name__tbl_name__rootpage__sql____FROM_main.sqlite_master___WHERE_typeview_OR_typetrigger______OR__typetable_AND_rootpage0_
mov eax, ebp
call fcn.00432ba0
mov edi, eax
test edi, edi
jne 0x433a55
xor ebx, ebx
movzx edi, byte [ebx + 0x4605cc]
mov eax, dword [esp + 0x34]
lea edx, [esp + 0x18]
push edx
call fcn.0040deb0
movzx eax, byte [ebx + 0x4605cd]
add eax, dword [esp + 0x1c]
movzx ecx, byte [ebx + 0x4605cc]
add esp, 4
push eax
push ecx
mov eax, esi
call fcn.00425e10
mov edi, eax
add esp, 8
test edi, edi
jne 0x433a55
add ebx, 2
cmp ebx, 8
jl 0x4339d3
mov edi, dword [esp + 0x34]
mov eax, esi
call fcn.0042f8c0
mov edi, eax
test edi, edi
jne 0x433a55
call fcn.0042dec0
mov edi, eax
test edi, edi
jne 0x433a55
push 1
mov eax, esi
call fcn.0040ac80
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x38]
call fcn.004172d0
add esp, 4
mov edi, eax
jmp 0x433a55
mov edi, 7
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [ebp + 0xc], edx
mov edx, dword [esp + 0x2c]
mov dword [ebp + 0x98], edx
or edx, 0xffffffff
mov dword [ebp + 0x3c], eax
mov dword [ebp + 0x40], ecx
mov ecx, dword [esp + 0x34]
push 1
or eax, edx
call fcn.004172d0
mov esi, dword [esp + 0x18]
xor ebx, ebx
add esp, 4
cmp esi, ebx
mov byte [ebp + 0x1c], 1
je 0x433aa3
mov eax, dword [esi + 4]
call fcn.0042ca70
mov dword [esi + 4], ebx
mov dword [esi + 0xc], ebx
push ebx
mov ebx, ebp
call fcn.00417c90
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret