anchor.diff:  
       MainForm.ProgressBar.Position := MainForm.ProgressBar.Position + 1;
       Application.ProcessMessages;
  +    if UserCancel then Break;
     end;
   
     if BytesRead <> ChipSize then
  
positive.code:     MainForm.ProgressBar.Position := MainForm.ProgressBar.Position + 1;
      Application.ProcessMessages;
  
      if MainForm.ButtonCancel.Tag <> 0 then
      begin
        LogPrint(STR_USER_CANCEL);
        Break;
      end;
    end;
  
    if BytesRead <> ChipSize then
  
negative.code: 
      MainForm.ProgressBar.Position := MainForm.ProgressBar.Position + ChunkSize;
      Application.ProcessMessages;
  
      if UserCancel then Break;
    end;
  
    if BytesWrite <> ChipSize then
  