docs: def _mark_unknowns(self):
          """
          Mark all unmapped regions.
  
          :return: None
          """
  
          for obj in self.project.loader.all_objects:
              if isinstance(obj, cle.ELF):
                  # sections?
                  if obj.sections:
                      for section in obj.sections:
                          if not section.memsize or not section.vaddr:
                              continue
                          min_addr, max_addr = section.min_addr, section.max_addr
                          self._mark_unknowns_core(min_addr, max_addr + 1, obj=obj, section=section)
                  elif obj.segments:
                      for segment in obj.segments:
                          if not segment.memsize:
                              continue
                          min_addr, max_addr = segment.min_addr, segment.max_addr
                          self._mark_unknowns_core(min_addr, max_addr + 1, obj=obj, segment=segment)
                  else:
                      # is it empty?
                      _l.warning("Empty ELF object %s.", repr(obj))
              elif isinstance(obj, cle.PE):
                  if obj.sections:
                      for section in obj.sections:
                          if not section.memsize:
                              continue
                          min_addr, max_addr = section.min_addr, section.max_addr
                          self._mark_unknowns_core(min_addr, max_addr + 1, obj=obj, section=section)
                  else:
                      # is it empty?
                      _l.warning("Empty PE object %s.", repr(obj))
              else:
                  min_addr, max_addr = obj.min_addr, obj.max_addr
                  self._mark_unknowns_core(min_addr, max_addr + 1, obj=obj)