void SearchTransaction::Search(DWORD value)
{
	ProcessInfo info;

	this->searchResults->clear();

	this->value = value;
	
	if ( this->process )
	{
		this->process->GetProcessInformation(&info);

		SIZE_T bytesRead = 0;
		DWORD buffer = 0;
		QWORD address = 0x0;
		BOOL result = TRUE;

		while( address < info.GetWorkingSize() )
		{
			buffer = 0;
			result = this->process->ReadMemory(
				(LPCVOID)address,
				&buffer,
				this->width,
				&bytesRead);

			for ( SIZE_T d = 0 ; d < bytesRead ; d++ )
			{
				if ( value == buffer 
					&& this->searchResults->find(address) == this->searchResults->end() )
				{
					this->searchResults->insert( std::pair<QWORD,QWORD>(address,address) );
				}
			}

			address+=this->width;
		}
	}
}