docs: def scan_binary(patch_file, project, sha256hash, apikey):
      """
      Sends Binary (sha256hash) to Virus Total API
      """
      v_api = virus_total.VirusTotal()
  
      while True:
          binary_report = v_api.binary_report(sha256hash, apikey)
          response_code = binary_report['response_code']
  
          # report does not exist, need to scan
          if response_code == 0:
              logger.info('Performing new scan of %s.', patch_file)
              scan_file = v_api.scan_file(patch_file, apikey)
              logger.info('VirusTotal Response: %s', scan_file['verbose_msg'])
              logger.info('Report will be rendered at: %s', scan_file['permalink'])
              binary_report = v_api.binary_report(sha256hash, apikey)
  
          # Item is still queued
          if response_code == -2:
              logger.info('Report job still queued..')
  
          if response_code == 1:
              logger.info('Report found, job complete.')
              break
  
      positives = binary_report['positives']
  
      if positives == 0:
          negative_report(binary_report, sha256hash, project, patch_file)
      else:
          positive_report(binary_report, sha256hash, project, patch_file)