def extract_bits(self, val):
<EOL>thisval = self.high >> <NUM_LIT:4><EOL>thisval = thisval ^ val<EOL>self.high = (self.high << <NUM_LIT:4>) | (self.low >> <NUM_LIT:4>)<EOL>self.high = self.high & constants.BYTEMASK    <EOL>self.low = self.low << <NUM_LIT:4><EOL>self.low = self.low & constants.BYTEMASK      <EOL>self.high = self.high ^ self.LookupHigh[thisval]<EOL>self.high = self.high & constants.BYTEMASK    <EOL>self.low = self.low ^ self.LookupLow[thisval]<EOL>self.low = self.low & constants.BYTEMASK<EOL>
Extras the 4 bits, XORS the message data, and does table lookups.