code: def _pre_job_handling(self, job):  # pylint:disable=arguments-differ
          
  
          if self._low_priority:
              self._release_gil(len(self._nodes), 20, 0.0001)
  
          # a new entry is picked. Deregister it
          self._deregister_analysis_job(job.func_addr, job)
  
          if not self._inside_regions(job.addr):
              obj = self.project.loader.find_object_containing(job.addr)
              if obj is not None and isinstance(obj, self._cle_pseudo_objects):
                  pass
              else:
                  # it's outside permitted regions. skip.
                  raise AngrSkipJobNotice()
  
          # Do not calculate progress if the user doesn't care about the progress at all
          if self._show_progressbar or self._progress_callback:
              max_percentage_stage_1 = 50.0
              percentage = self._seg_list.occupied_size * max_percentage_stage_1 / self._regions_size
              if percentage > max_percentage_stage_1:
                  percentage = max_percentage_stage_1
  
              self._update_progress(percentage, cfg=self)
docs: Some pre job-processing tasks, like update progress bar.
  
          :param CFGJob job: The CFGJob instance.
          :return: None