docs: def main(self):
          '''
          Responsible for calling self.init, initializing self.config.display, and calling self.run.
  
          Returns the value returned from self.run.
          '''
          self.status = self.parent.status
          self.modules = self.parent.executed_modules
  
          # A special exception for the extractor module, which should be allowed to
          # override the verbose setting, e.g., if --matryoshka has been
          # specified
          if hasattr(self, "extractor") and self.extractor.config.verbose:
              self.config.verbose = self.config.display.verbose = True
  
          if not self.config.files:
              binwalk.core.common.debug("No target files specified, module %s terminated" % self.name)
              return False
  
          self.reset_dependencies()
  
          try:
              self.init()
          except KeyboardInterrupt as e:
              raise e
          except Exception as e:
              self.error(exception=e)
              return False
  
          try:
              self.config.display.format_strings(self.HEADER_FORMAT, self.RESULT_FORMAT)
          except KeyboardInterrupt as e:
              raise e
          except Exception as e:
              self.error(exception=e)
              return False
  
          self._plugins_pre_scan()
  
          try:
              retval = self.run()
          except KeyboardInterrupt as e:
              raise e
          except Exception as e:
              self.error(exception=e)
              return False
  
          self._plugins_post_scan()
  
          return retval