(self, addr, tolerance_before=64, tolerance_after=64)
return False, None
Sometimes there exists a pointer that points to a few bytes before the beginning of a section, or a few bytes
        after the beginning of the section. We take care of that here.

        :param int addr: The address to check.
        :return: A 2-tuple of (bool, the closest base address)
        :rtype: tuple
Sometimes there exists a pointer that points to a few bytes before the beginning of a section, or a few bytes
        after the beginning of the section. We take care of that here.
Sometimes there exists a pointer that points to a few bytes before the beginning of a section or a few bytes after the beginning of the section . We take care of that here .
def main_nonexecutable_region_limbos_contain(self, addr, tolerance_before=64, tolerance_after=64):
        """
        Sometimes there exists a pointer that points to a few bytes before the beginning of a section, or a few bytes
        after the beginning of the section. We take care of that here.

        :param int addr: The address to check.
        :return: A 2-tuple of (bool, the closest base address)
        :rtype: tuple
        """

        closest_region = None
        least_limbo = None

        for start, end in self.main_nonexecutable_regions:
            if start - tolerance_before <= addr < start:
                if least_limbo is None or start - addr < least_limbo:
                    closest_region = (True, start)
                    least_limbo = start - addr
            if end <= addr < end + tolerance_after:
                if least_limbo is None or addr - end < least_limbo:
                    closest_region = (True, end)
                    least_limbo = addr - end

        if closest_region is not None:
            return closest_region
        return False, None
def main_nonexecutable_region_limbos_contain ( self , addr , tolerance_before = 64 , tolerance_after = 64 ) : closest_region = None least_limbo = None for start , end in self . main_nonexecutable_regions : if start - tolerance_before <= addr < start : if least_limbo is None or start - addr < least_limbo : closest_region = ( True , start ) least_limbo = start - addr if end <= addr < end + tolerance_after : if least_limbo is None or addr - end < least_limbo : closest_region = ( True , end ) least_limbo = addr - end if closest_region is not None : return closest_region return False , None