public static final int encryptMessage(int streamOffset,
			int messageDataLength, byte[] streamBuffer, int messageDataOffset,
			byte[] messageData) {
		int i = 0;
		messageDataLength += messageDataOffset;
		int i_19_ = streamOffset << 309760323;
		for (/**/; messageDataOffset < messageDataLength; messageDataOffset++) {
			int i_20_ = 0xff & messageData[messageDataOffset];
			int i_21_ = huffmanAlgorithm1[i_20_];
			int i_22_ = huffmanAlgorithm2[i_20_];
			if (i_22_ == 0)
				throw new RuntimeException("No codeword for data value "
						+ i_20_);
			int i_23_ = i_19_ >> -976077821;
			int i_24_ = 0x7 & i_19_;
			i &= -i_24_ >> -1041773793;
			int i_25_ = (-1 + i_24_ - -i_22_ >> -2003626461) + i_23_;
			i_19_ += i_22_;
			i_24_ += 24;
			streamBuffer[i_23_] = (byte) (i = (i | (i_21_ >>> i_24_)));
			if (i_25_ > i_23_) {
				i_24_ -= 8;
				i_23_++;
				streamBuffer[i_23_] = (byte) (i = i_21_ >>> i_24_);
				if ((i_23_ ^ 0xffffffff) > (i_25_ ^ 0xffffffff)) {
					i_24_ -= 8;
					i_23_++;
					streamBuffer[i_23_] = (byte) (i = i_21_ >>> i_24_);
					if ((i_23_ ^ 0xffffffff) > (i_25_ ^ 0xffffffff)) {
						i_24_ -= 8;
						i_23_++;
						streamBuffer[i_23_] = (byte) (i = i_21_ >>> i_24_);
						if ((i_25_ ^ 0xffffffff) < (i_23_ ^ 0xffffffff)) {
							i_23_++;
							i_24_ -= 8;
							streamBuffer[i_23_] = (byte) (i = i_21_ << -i_24_);
						}
					}
				}
			}
		}
		return -streamOffset + (7 + i_19_ >> 1737794179);
	}