public Stream4(GenericAudioStream stream1_1, int int_4) { this.stream1_0 = stream1_1; this.fileStream = stream1_1; this.waveFormat_0 = stream1_1.vmethod_0(); this.int_3 = int_4 + 7 >> 3; this.int_2 = this.waveFormat_0.short_2 + 7 >> 3; this.bool_1 = (this.waveFormat_0.waveFormatTag_0 == WaveFormatTag.IEEEFloat); this.bool_0 = (this.waveFormat_0.waveFormatTag_0 != WaveFormatTag.PCM || this.int_2 != this.int_3); if (!this.bool_0) { this.delegate1_0 = new Stream4.Delegate1(this.stream1_0.Read); this.long_0 = stream1_1.Length; return; } this.waveFormat_0 = new WaveFormat(stream1_1.vmethod_0().int_0, int_4, (int)stream1_1.vmethod_0().short_0); this.double_0 = (double)this.int_3 / (double)this.int_2; this.long_0 = (long)((double)stream1_1.Length * this.double_0); if (!this.bool_1) { switch (this.int_3) { case 1: switch (this.int_2) { case 2: this.delegate1_0 = new Stream4.Delegate1(this.method_2); return; case 3: this.delegate1_0 = new Stream4.Delegate1(this.method_1); return; case 4: this.delegate1_0 = new Stream4.Delegate1(this.method_0); return; default: return; } break; case 2: switch (this.int_2) { case 1: this.delegate0_0 = new Stream4.Delegate0(Stream4.smethod_8); break; case 3: this.delegate0_0 = new Stream4.Delegate0(Stream4.smethod_7); break; case 4: this.delegate0_0 = new Stream4.Delegate0(Stream4.smethod_6); break; } break; case 3: switch (this.int_2) { case 1: this.delegate0_0 = new Stream4.Delegate0(Stream4.smethod_5); break; case 2: this.delegate0_0 = new Stream4.Delegate0(Stream4.smethod_4); break; case 4: this.delegate0_0 = new Stream4.Delegate0(Stream4.smethod_3); break; } break; case 4: switch (this.int_2) { case 1: this.delegate0_0 = new Stream4.Delegate0(Stream4.smethod_2); break; case 2: this.delegate0_0 = new Stream4.Delegate0(Stream4.smethod_1); break; case 3: this.delegate0_0 = new Stream4.Delegate0(Stream4.smethod_0); break; } break; } this.delegate1_0 = new Stream4.Delegate1(this.method_3); return; } switch (this.int_3) { case 1: this.delegate1_0 = new Stream4.Delegate1(this.method_7); return; case 2: this.delegate1_0 = new Stream4.Delegate1(this.method_6); return; case 3: this.delegate1_0 = new Stream4.Delegate1(this.method_5); return; case 4: this.delegate1_0 = new Stream4.Delegate1(this.method_4); return; default: return; } }