VOID FreeEnter(ADDRINT startAddress, THREADID threadid)
{
	GetLock(&memorySetLock, threadid);
	const MemoryArea area = findMemoryArea(startAddress);
	ADDRINT freeSize = area.size();
	memorySet.erase(area);
	ReleaseLock(&memorySetLock);

	if (freeSize == 0)
		return;

	freeMemoryAddress(startAddress, area.to, threadid);
}