public void MoveWindows() {
int num;
Array.Copy(this.window, this.bufPos - 0x2000, this.window, 0, 0x2000);
for (num = 0; num < 0x800; num++) {
int num2 = this.lookup[num] - 0x2000;
if (num2 <= 0) {
this.lookup[num] = 0;
}
else {
this.lookup[num] = (ushort)num2;
}
}
for (num = 0; num < 0x2000; num++) {
long num3 = this.prev[num] - 0x2000L;
if (num3 <= 0L) {
this.prev[num] = 0;
}
else {
this.prev[num] = (ushort)num3;
}
}
this.bufPos = 0x2000;
this.bufEnd = this.bufPos;
}