def METHOD_NAME(self, y, data):
    for i in range(0, len(data) // 16):
        y ^= bytesToNumber(data[16*i:16*i+16])
        y = self._mul(y)
    extra = len(data) % 16
    if extra != 0:
        block = bytearray(16)
        block[:extra] = data[-extra:]
        y ^= bytesToNumber(block)
        y = self._mul(y)
    return y