package net.minecraft.client.audio; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import java.io.IOException; import java.io.InputStream; import java.net.URL; @SideOnly(Side.CLIENT) class MusInputStream extends InputStream { private int hash; private InputStream inputStream; byte[] buffer; final CodecMus codec; public MusInputStream(CodecMus par1CodecMus, URL par2URL, InputStream par3InputStream) { this.codec = par1CodecMus; this.buffer = new byte[1]; this.inputStream = par3InputStream; String var4 = par2URL.getPath(); var4 = var4.substring(var4.lastIndexOf("/") + 1); this.hash = var4.hashCode(); } public int read() throws IOException { int var1 = this.read(this.buffer, 0, 1); return var1 < 0 ? var1 : this.buffer[0]; } public int read(byte[] par1ArrayOfByte, int par2, int par3) throws IOException { par3 = this.inputStream.read(par1ArrayOfByte, par2, par3); for (int var4 = 0; var4 < par3; ++var4) { byte var5 = par1ArrayOfByte[par2 + var4] = (byte)(par1ArrayOfByte[par2 + var4] ^ this.hash >> 8); this.hash = this.hash * 498729871 + 85731 * var5; } return par3; } }