public uint method_2(Class62 class62_0) { uint num = (class62_0.uint_2 >> 11) * this.uint_1; if (class62_0.uint_1 < num) { class62_0.uint_2 = num; this.uint_1 += (uint)((0x800 - this.uint_1) >> 5); if (class62_0.uint_2 < 0x1000000) { class62_0.uint_1 = (class62_0.uint_1 << 8) | ((byte)class62_0.stream_0.ReadByte()); class62_0.uint_2 = class62_0.uint_2 << 8; } return(0); } class62_0.uint_2 -= num; class62_0.uint_1 -= num; this.uint_1 -= this.uint_1 >> 5; if (class62_0.uint_2 < 0x1000000) { class62_0.uint_1 = (class62_0.uint_1 << 8) | ((byte)class62_0.stream_0.ReadByte()); class62_0.uint_2 = class62_0.uint_2 << 8; } return(1); }
public uint method_1(Class62 class62_0) { uint index = 1; for (int i = this.int_0; i > 0; i--) { index = (index << 1) + this.struct12_0[index].method_2(class62_0); } return(index - (((uint)1) << this.int_0)); }
public static uint smethod_0(Struct12[] struct12_1, uint uint_0, Class62 class62_0, int int_1) { uint num = 1; uint num2 = 0; for (int i = 0; i < int_1; i++) { uint num4 = struct12_1[uint_0 + num].method_2(class62_0); num = num << 1; num += num4; num2 |= num4 << i; } return(num2); }
public uint method_2(Class62 class62_0) { uint index = 1; uint num2 = 0; for (int i = 0; i < this.int_0; i++) { uint num4 = this.struct12_0[index].method_2(class62_0); index = index << 1; index += num4; num2 |= num4 << i; } return(num2); }