public int m000016(c00000d.c00000f p0) { int num2; int index = p0.m00000e(9); if (index >= 0) { num2 = this.f00001c[index]; if (num2 >= 0) { p0.m000004(num2 & 15); return (num2 >> 4); } int num3 = -(num2 >> 4); int num4 = num2 & 15; index = p0.m00000e(num4); if (index >= 0) { num2 = this.f00001c[num3 | (index >> 9)]; p0.m000004(num2 & 15); return (num2 >> 4); } int num5 = p0.m00000f(); index = p0.m00000e(num5); num2 = this.f00001c[num3 | (index >> 9)]; if ((num2 & 15) <= num5) { p0.m000004(num2 & 15); return (num2 >> 4); } return -1; } int num6 = p0.m00000f(); index = p0.m00000e(num6); num2 = this.f00001c[index]; if ((num2 >= 0) && ((num2 & 15) <= num6)) { p0.m000004(num2 & 15); return (num2 >> 4); } return -1; }