internal void WriteMatch(int matchLen, int matchPos) {
uint num = FastEncoderStatics.FastEncoderLiteralCodeInfo[0xfe + matchLen];
int n = ((int)num) & 0x1f;
if (n <= 0x10) {
this.WriteBits(n, num >> 5);
}
else {
this.WriteBits(0x10, (num >> 5) & 0xffff);
this.WriteBits(n - 0x10, num >> 0x15);
}
num = FastEncoderStatics.FastEncoderDistanceCodeInfo[this.GetSlot(matchPos)];
this.WriteBits(((int)num) & 15, num >> 8);
int num3 = ((int)(num >> 4)) & 15;
if (num3 != 0) {
this.WriteBits(num3, ((uint)matchPos) & FastEncoderStatics.BitMask[num3]);
}
}