docs: def pop_job(self, returning=True):
          """
          Pop a job from the pending jobs list.
  
          When returning == True, we prioritize the jobs whose functions are known to be returning (function.returning is
          True). As an optimization, we are sorting the pending jobs list according to job.function.returning.
  
          :param bool returning: Only pop a pending job if the corresponding function returns.
          :return: A pending job if we can find one, or None if we cannot find any that satisfies the requirement.
          :rtype: angr.analyses.cfg.cfg_fast.CFGJob
          """
  
          if not self:
              return None
  
          if not returning:
              return self._pop_job(next(reversed(self._jobs.keys())))
  
          # Prioritize returning functions
          for func_addr in reversed(self._jobs.keys()):
              if func_addr not in self._returning_functions:
                  continue
              return self._pop_job(func_addr)
  
          return None