'Similar to str.rfind() but works on our address space'

def rfind(self, sub, start=None, end=None):

    if (start is None):
        start = self.start
    if (end is None):
        end = self.stop
    result = self.data.rfind(sub, (start - self.address), (end - self.address))
    if (result == (-1)):
        return result
    return (result + self.address)
