import struct def read_int(fp): return struct.unpack("> dec_bits & 1) == 0: dec_pos = ((compressed_bytes[i] + ( (compressed_bytes[i + 1] & 0xF0) << 4) - buff_start - j) & 0xFFF) - 0x1000 + j dec_len = (compressed_bytes[i + 1] & 0xF) + 3 i += 2 while dec_len > 0: if dec_pos >= 0: res[j] = res[dec_pos] else: res[j] = 32 j += 1 dec_pos += 1 dec_len -= 1 else: res[j] = compressed_bytes[i] i += 1 j += 1 dec_bits += 1 return res