what-the-bank/sources/org/bouncycastle/math/ec/LongArray.java

2379 lines
104 KiB
Java
Raw Permalink Normal View History

2024-07-27 18:17:47 +07:00
package org.bouncycastle.math.ec;
import android.R;
import android.graphics.Color;
import android.graphics.ImageFormat;
import android.media.AudioTrack;
import android.os.Process;
import android.text.TextUtils;
import android.view.Gravity;
import android.view.View;
import android.view.ViewConfiguration;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.common.base.Ascii;
import com.google.common.primitives.Shorts;
import com.google.common.primitives.UnsignedBytes;
import io.flutter.embedding.android.KeyboardMap;
import java.lang.reflect.Method;
import java.math.BigInteger;
import java.nio.ByteBuffer;
import net.sf.scuba.smartcards.ISOFileInfo;
import o.C3614bBe;
import o.xzZ;
import okhttp3.internal.http2.Http2Connection;
import org.bouncycastle.asn1.cmp.PKIFailureInfo;
import org.bouncycastle.crypto.tls.CipherSuite;
import org.bouncycastle.i18n.LocalizedMessage;
import org.bouncycastle.util.Arrays;
import org.jmrtd.PassportService;
/* loaded from: classes6.dex */
class LongArray implements Cloneable {
private static final short[] INTERLEAVE2_TABLE;
private static final int[] INTERLEAVE3_TABLE;
private static final int[] INTERLEAVE4_TABLE;
private static final int[] INTERLEAVE5_TABLE;
private static final long[] INTERLEAVE7_TABLE;
private static final String ZEROES = "0000000000000000000000000000000000000000000000000000000000000000";
private static int a;
private static char[] b;
static final byte[] bitLengths;
private static int c;
private static boolean d;
private static boolean e;
private long[] m_ints;
private static final byte[] $$a = {30, 115, ISOFileInfo.A1, -33};
private static final int $$b = CipherSuite.TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256;
private static int $10 = 0;
private static int $11 = 1;
private static int i = 1;
/* JADX WARN: Removed duplicated region for block: B:10:0x0027 */
/* JADX WARN: Removed duplicated region for block: B:7:0x001f */
/* JADX WARN: Unsupported multi-entry loop pattern (BACK_EDGE: B:10:0x0027 -> B:4:0x002e). Please report as a decompilation issue!!! */
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
private static void g(int r6, short r7, short r8, java.lang.Object[] r9) {
/*
byte[] r0 = org.bouncycastle.math.ec.LongArray.$$a
int r8 = r8 * 57
int r8 = r8 + 65
int r6 = r6 * 2
int r1 = 1 - r6
int r7 = r7 + 4
byte[] r1 = new byte[r1]
r2 = 0
int r6 = 0 - r6
if (r0 != 0) goto L17
r3 = r6
r8 = r7
r4 = r2
goto L2e
L17:
r3 = r2
L18:
byte r4 = (byte) r8
r1[r3] = r4
int r4 = r3 + 1
if (r3 != r6) goto L27
java.lang.String r6 = new java.lang.String
r6.<init>(r1, r2)
r9[r2] = r6
return
L27:
int r7 = r7 + 1
r3 = r0[r7]
r5 = r8
r8 = r7
r7 = r5
L2e:
int r7 = r7 + r3
r3 = r4
r5 = r8
r8 = r7
r7 = r5
goto L18
*/
throw new UnsupportedOperationException("Method not decompiled: org.bouncycastle.math.ec.LongArray.g(int, short, short, java.lang.Object[]):void");
}
private static void f(char[] cArr, byte[] bArr, int[] iArr, int i2, Object[] objArr) {
int i3 = 2 % 2;
C3614bBe c3614bBe = new C3614bBe();
char[] cArr2 = b;
int i4 = 0;
if (cArr2 != null) {
int length = cArr2.length;
char[] cArr3 = new char[length];
int i5 = 0;
while (i5 < length) {
try {
Object[] objArr2 = new Object[1];
objArr2[i4] = Integer.valueOf(cArr2[i5]);
Object obj = xzZ.y.get(-950481649);
if (obj == null) {
Class cls = (Class) xzZ.c(336 - Process.getGidForName(""), 4 - ImageFormat.getBitsPerPixel(i4), (char) ((-1) - ImageFormat.getBitsPerPixel(i4)));
byte b2 = (byte) i4;
byte b3 = (byte) (b2 - 1);
Object[] objArr3 = new Object[1];
g(b2, b3, (byte) (b3 + 1), objArr3);
obj = cls.getMethod((String) objArr3[0], Integer.TYPE);
xzZ.y.put(-950481649, obj);
}
cArr3[i5] = ((Character) ((Method) obj).invoke(null, objArr2)).charValue();
i5++;
i4 = 0;
} catch (Throwable th) {
Throwable cause = th.getCause();
if (cause == null) {
throw th;
}
throw cause;
}
}
cArr2 = cArr3;
}
Object[] objArr4 = {Integer.valueOf(c)};
Object obj2 = xzZ.y.get(-1521625011);
if (obj2 == null) {
Class cls2 = (Class) xzZ.c(View.resolveSizeAndState(0, 0, 0) + 283, Color.red(0) + 5, (char) (Color.red(0) + 39813));
byte b4 = (byte) 0;
byte b5 = (byte) (b4 - 1);
Object[] objArr5 = new Object[1];
g(b4, b5, (byte) (-b5), objArr5);
obj2 = cls2.getMethod((String) objArr5[0], Integer.TYPE);
xzZ.y.put(-1521625011, obj2);
}
int intValue = ((Integer) ((Method) obj2).invoke(null, objArr4)).intValue();
if (d) {
int i6 = $11 + 83;
$10 = i6 % 128;
int i7 = i6 % 2;
c3614bBe.c = bArr.length;
char[] cArr4 = new char[c3614bBe.c];
c3614bBe.a = 0;
while (c3614bBe.a < c3614bBe.c) {
int i8 = $11 + 113;
$10 = i8 % 128;
if (i8 % 2 != 0) {
cArr4[c3614bBe.a] = (char) (cArr2[bArr[c3614bBe.c >>> c3614bBe.a] >> i2] >> intValue);
Object[] objArr6 = {c3614bBe, c3614bBe};
Object obj3 = xzZ.y.get(1779759091);
if (obj3 == null) {
obj3 = ((Class) xzZ.c(40 - (Process.myPid() >> 22), View.getDefaultSize(0, 0) + 5, (char) (Color.rgb(0, 0, 0) + Http2Connection.OKHTTP_CLIENT_WINDOW_SIZE))).getMethod("D", Object.class, Object.class);
xzZ.y.put(1779759091, obj3);
}
((Method) obj3).invoke(null, objArr6);
} else {
cArr4[c3614bBe.a] = (char) (cArr2[bArr[(c3614bBe.c - 1) - c3614bBe.a] + i2] - intValue);
Object[] objArr7 = {c3614bBe, c3614bBe};
Object obj4 = xzZ.y.get(1779759091);
if (obj4 == null) {
obj4 = ((Class) xzZ.c((ViewConfiguration.getScrollDefaultDelay() >> 16) + 40, View.MeasureSpec.getMode(0) + 5, (char) View.MeasureSpec.getSize(0))).getMethod("D", Object.class, Object.class);
xzZ.y.put(1779759091, obj4);
}
((Method) obj4).invoke(null, objArr7);
}
}
objArr[0] = new String(cArr4);
return;
}
if (!e) {
c3614bBe.c = iArr.length;
char[] cArr5 = new char[c3614bBe.c];
c3614bBe.a = 0;
while (c3614bBe.a < c3614bBe.c) {
int i9 = $11 + 103;
$10 = i9 % 128;
int i10 = i9 % 2;
cArr5[c3614bBe.a] = (char) (cArr2[iArr[(c3614bBe.c - 1) - c3614bBe.a] - i2] - intValue);
c3614bBe.a++;
}
objArr[0] = new String(cArr5);
return;
}
c3614bBe.c = cArr.length;
char[] cArr6 = new char[c3614bBe.c];
c3614bBe.a = 0;
while (c3614bBe.a < c3614bBe.c) {
int i11 = $10 + 113;
$11 = i11 % 128;
if (i11 % 2 == 0) {
int i12 = c3614bBe.a;
int i13 = c3614bBe.c;
cArr6[i12] = (char) (cArr2[cArr[c3614bBe.a] + i2] << intValue);
Object[] objArr8 = {c3614bBe, c3614bBe};
Object obj5 = xzZ.y.get(1779759091);
if (obj5 == null) {
obj5 = ((Class) xzZ.c(40 - Color.green(0), (Process.getElapsedCpuTime() > 0L ? 1 : (Process.getElapsedCpuTime() == 0L ? 0 : -1)) + 4, (char) View.MeasureSpec.makeMeasureSpec(0, 0))).getMethod("D", Object.class, Object.class);
xzZ.y.put(1779759091, obj5);
}
((Method) obj5).invoke(null, objArr8);
} else {
cArr6[c3614bBe.a] = (char) (cArr2[cArr[(c3614bBe.c - 1) - c3614bBe.a] - i2] - intValue);
Object[] objArr9 = {c3614bBe, c3614bBe};
Object obj6 = xzZ.y.get(1779759091);
if (obj6 == null) {
obj6 = ((Class) xzZ.c(40 - TextUtils.indexOf("", ""), 5 - View.resolveSize(0, 0), (char) Gravity.getAbsoluteGravity(0, 0))).getMethod("D", Object.class, Object.class);
xzZ.y.put(1779759091, obj6);
}
((Method) obj6).invoke(null, objArr9);
}
}
objArr[0] = new String(cArr6);
}
static void c() {
b = new char[]{16110};
c = 1934311134;
e = true;
d = true;
}
public String toString() {
int i2 = 2 % 2;
int usedLength = getUsedLength();
if (usedLength == 0) {
Object[] objArr = new Object[1];
f(null, new byte[]{ISOFileInfo.DATA_BYTES2}, null, (AudioTrack.getMinVolume() > BitmapDescriptorFactory.HUE_RED ? 1 : (AudioTrack.getMinVolume() == BitmapDescriptorFactory.HUE_RED ? 0 : -1)) + 127, objArr);
return ((String) objArr[0]).intern();
}
int i3 = usedLength - 1;
StringBuffer stringBuffer = new StringBuffer(Long.toBinaryString(this.m_ints[i3]));
int i4 = a + 75;
i = i4 % 128;
int i5 = i4 % 2;
while (true) {
i3--;
if (i3 < 0) {
return stringBuffer.toString();
}
String binaryString = Long.toBinaryString(this.m_ints[i3]);
int length = binaryString.length();
if (length < 64) {
stringBuffer.append(ZEROES.substring(length));
int i6 = a + 41;
i = i6 % 128;
int i7 = i6 % 2;
}
stringBuffer.append(binaryString);
}
}
public BigInteger toBigInteger() {
int i2 = 2 % 2;
int i3 = a + 111;
i = i3 % 128;
if (i3 % 2 == 0) {
getUsedLength();
Object obj = null;
obj.hashCode();
throw null;
}
int usedLength = getUsedLength();
if (usedLength == 0) {
return ECConstants.ZERO;
}
int i4 = usedLength - 1;
long j = this.m_ints[i4];
byte[] bArr = new byte[8];
int i5 = 0;
boolean z = false;
for (int i6 = 7; i6 >= 0; i6--) {
byte b2 = (byte) (j >>> (i6 << 3));
if (z || b2 != 0) {
bArr[i5] = b2;
i5++;
int i7 = a + 23;
i = i7 % 128;
int i8 = i7 % 2;
z = true;
}
}
byte[] bArr2 = new byte[(i4 << 3) + i5];
for (int i9 = 0; i9 < i5; i9++) {
bArr2[i9] = bArr[i9];
}
for (int i10 = usedLength - 2; i10 >= 0; i10--) {
long j2 = this.m_ints[i10];
int i11 = 7;
while (i11 >= 0) {
bArr2[i5] = (byte) (j2 >>> (i11 << 3));
i11--;
i5++;
}
}
return new BigInteger(1, bArr2);
}
public boolean testBitZero() {
int i2 = 2 % 2;
long[] jArr = this.m_ints;
boolean z = false;
if (jArr.length > 0 && (jArr[0] & 1) != 0) {
int i3 = i + 117;
a = i3 % 128;
int i4 = i3 % 2;
z = true;
}
int i5 = a + 23;
i = i5 % 128;
int i6 = i5 % 2;
return z;
}
public LongArray square(int i2, int[] iArr) {
int i3;
int i4 = 2 % 2;
int i5 = i + 103;
a = i5 % 128;
if (i5 % 2 != 0) {
getUsedLength();
throw null;
}
int usedLength = getUsedLength();
if (usedLength == 0) {
return this;
}
int i6 = usedLength << 1;
long[] jArr = new long[i6];
int i7 = 0;
while (i7 < i6) {
int i8 = a + 73;
i = i8 % 128;
if (i8 % 2 == 0) {
long j = this.m_ints[i7 + 1];
jArr[i7] = interleave2_32to64((int) j);
i3 = i7 % 2;
jArr[i7 - 1] = interleave2_32to64((int) (j >>> 110));
} else {
long j2 = this.m_ints[i7 >>> 1];
jArr[i7] = interleave2_32to64((int) j2);
i3 = i7 + 2;
jArr[i7 + 1] = interleave2_32to64((int) (j2 >>> 32));
}
i7 = i3;
}
return new LongArray(jArr, 0, i6);
}
public void reduce(int i2, int[] iArr) {
int i3 = 2 % 2;
long[] jArr = this.m_ints;
int reduceInPlace = reduceInPlace(jArr, 0, jArr.length, i2, iArr);
if (reduceInPlace < jArr.length) {
int i4 = a + 53;
i = i4 % 128;
if (i4 % 2 == 0) {
long[] jArr2 = new long[reduceInPlace];
this.m_ints = jArr2;
System.arraycopy(jArr, 0, jArr2, 1, reduceInPlace);
} else {
long[] jArr3 = new long[reduceInPlace];
this.m_ints = jArr3;
System.arraycopy(jArr, 0, jArr3, 0, reduceInPlace);
}
}
int i5 = a + 65;
i = i5 % 128;
int i6 = i5 % 2;
}
public LongArray multiply(LongArray longArray, int i2, int[] iArr) {
int i3;
int i4;
LongArray longArray2;
LongArray longArray3;
int i5;
int i6;
long[] jArr;
int i7;
int i8 = 2 % 2;
int degree = degree();
if (degree == 0) {
int i9 = i + 73;
a = i9 % 128;
int i10 = i9 % 2;
return this;
}
int degree2 = longArray.degree();
if (degree2 == 0) {
return longArray;
}
if (degree > degree2) {
int i11 = a + 3;
i = i11 % 128;
int i12 = i11 % 2;
i4 = degree;
i3 = degree2;
longArray3 = this;
longArray2 = longArray;
} else {
i3 = degree;
i4 = degree2;
longArray2 = this;
longArray3 = longArray;
}
int i13 = (i3 + 63) >>> 6;
int i14 = (i4 + 63) >>> 6;
int i15 = ((i3 + i4) + 62) >>> 6;
if (i13 == 1) {
long j = longArray2.m_ints[0];
if (j != 1) {
long[] jArr2 = new long[i15];
multiplyWord(j, longArray3.m_ints, i14, jArr2, 0);
return new LongArray(jArr2, 0, i15);
}
int i16 = a + 121;
i = i16 % 128;
int i17 = i16 % 2;
return longArray3;
}
int i18 = (i4 + 70) >>> 6;
int[] iArr2 = new int[16];
int i19 = i18 << 4;
long[] jArr3 = new long[i19];
iArr2[1] = i18;
System.arraycopy(longArray3.m_ints, 0, jArr3, i18, i14);
int i20 = 2;
int i21 = i18;
for (int i22 = 16; i20 < i22; i22 = 16) {
i21 += i18;
iArr2[i20] = i21;
if ((i20 & 1) == 0) {
int i23 = i + 53;
a = i23 % 128;
if (i23 % 2 != 0) {
jArr = jArr3;
i7 = i19;
shiftUp(jArr3, 0, jArr3, i21, i18, 1);
} else {
jArr = jArr3;
i7 = i19;
shiftUp(jArr, i21 >>> 1, jArr, i21, i18, 1);
}
} else {
jArr = jArr3;
i7 = i19;
add(jArr, i18, jArr, i21 - i18, jArr, i21, i18);
}
i20++;
i19 = i7;
jArr3 = jArr;
}
long[] jArr4 = jArr3;
long[] jArr5 = new long[i19];
shiftUp(jArr4, 0, jArr5, 0, i19, 4);
long[] jArr6 = longArray2.m_ints;
int i24 = i15 << 3;
long[] jArr7 = new long[i24];
int i25 = 0;
while (i25 < i13) {
long j2 = jArr6[i25];
int i26 = i25;
while (true) {
i5 = i24;
i6 = i25;
addBoth(jArr7, i26, jArr4, iArr2[((int) j2) & 15], jArr5, iArr2[((int) (j2 >>> 4)) & 15], i18);
j2 >>>= 8;
if (j2 == 0) {
break;
}
i26 += i15;
i24 = i5;
i25 = i6;
}
i25 = i6 + 1;
i24 = i5;
}
while (true) {
i24 -= i15;
if (i24 == 0) {
return new LongArray(jArr7, 0, i15);
}
int i27 = i + 87;
a = i27 % 128;
int i28 = i27 % 2;
addShiftedUp(jArr7, i24 - i15, jArr7, i24, i15, 8);
int i29 = i + 71;
a = i29 % 128;
int i30 = i29 % 2;
}
}
public LongArray modSquareN(int i2, int i3, int[] iArr) {
int i4 = 2 % 2;
int i5 = a + 99;
i = i5 % 128;
if (i5 % 2 == 0) {
getUsedLength();
throw null;
}
int usedLength = getUsedLength();
if (usedLength == 0) {
return this;
}
int i6 = ((i3 + 63) >>> 6) << 1;
long[] jArr = new long[i6];
System.arraycopy(this.m_ints, 0, jArr, 0, usedLength);
while (true) {
i2--;
if (i2 < 0) {
return new LongArray(jArr, 0, usedLength);
}
int i7 = a + 43;
i = i7 % 128;
int i8 = i7 % 2;
squareInPlace(jArr, usedLength, i3, iArr);
usedLength = i8 == 0 ? reduceInPlace(jArr, 1, i6, i3, iArr) : reduceInPlace(jArr, 0, i6, i3, iArr);
}
}
public LongArray modSquare(int i2, int[] iArr) {
int i3;
int i4 = 2 % 2;
int usedLength = getUsedLength();
if (usedLength == 0) {
int i5 = i + 105;
a = i5 % 128;
int i6 = i5 % 2;
return this;
}
int i7 = usedLength << 1;
long[] jArr = new long[i7];
int i8 = 0;
while (i8 < i7) {
int i9 = a + 53;
i = i9 % 128;
if (i9 % 2 == 0) {
long j = this.m_ints[i8 + 1];
jArr[i8] = interleave2_32to64((int) j);
i3 = i8 << 5;
jArr[i8] = interleave2_32to64((int) (j >> 60));
} else {
long j2 = this.m_ints[i8 >>> 1];
jArr[i8] = interleave2_32to64((int) j2);
i3 = i8 + 2;
jArr[i8 + 1] = interleave2_32to64((int) (j2 >>> 32));
}
i8 = i3;
int i10 = i + 15;
a = i10 % 128;
int i11 = i10 % 2;
}
LongArray longArray = new LongArray(jArr, 0, reduceInPlace(jArr, 0, i7, i2, iArr));
int i12 = i + 1;
a = i12 % 128;
if (i12 % 2 == 0) {
return longArray;
}
throw null;
}
public LongArray modReduce(int i2, int[] iArr) {
int i3 = 2 % 2;
long[] clone = Arrays.clone(this.m_ints);
LongArray longArray = new LongArray(clone, 0, reduceInPlace(clone, 0, clone.length, i2, iArr));
int i4 = i + 61;
a = i4 % 128;
if (i4 % 2 == 0) {
return longArray;
}
Object obj = null;
obj.hashCode();
throw null;
}
public LongArray modMultiplyLD(LongArray longArray, int i2, int[] iArr) {
int i3;
int i4;
LongArray longArray2;
LongArray longArray3;
int i5;
int i6 = 2 % 2;
int degree = degree();
if (degree == 0) {
return this;
}
int degree2 = longArray.degree();
if (degree2 == 0) {
return longArray;
}
if (degree > degree2) {
i4 = degree;
i3 = degree2;
longArray3 = this;
longArray2 = longArray;
} else {
int i7 = a + 5;
i = i7 % 128;
int i8 = i7 % 2;
i3 = degree;
i4 = degree2;
longArray2 = this;
longArray3 = longArray;
}
int i9 = (i3 + 63) >>> 6;
int i10 = (i4 + 63) >>> 6;
int i11 = ((i3 + i4) + 62) >>> 6;
int i12 = 0;
if (i9 == 1) {
long j = longArray2.m_ints[0];
if (j == 1) {
return longArray3;
}
long[] jArr = new long[i11];
multiplyWord(j, longArray3.m_ints, i10, jArr, 0);
return reduceResult(jArr, 0, i11, i2, iArr);
}
int i13 = (i4 + 70) >>> 6;
int[] iArr2 = new int[16];
int i14 = i13 << 4;
long[] jArr2 = new long[i14];
iArr2[1] = i13;
System.arraycopy(longArray3.m_ints, 0, jArr2, i13, i10);
int i15 = i13;
for (int i16 = 2; i16 < 16; i16++) {
i15 += i13;
iArr2[i16] = i15;
if ((i16 & 1) == 0) {
int i17 = i + 75;
a = i17 % 128;
int i18 = i17 % 2;
shiftUp(jArr2, i15 >>> 1, jArr2, i15, i13, 1);
} else {
add(jArr2, i13, jArr2, i15 - i13, jArr2, i15, i13);
}
}
long[] jArr3 = new long[i14];
shiftUp(jArr2, 0, jArr3, 0, i14, 4);
long[] jArr4 = longArray2.m_ints;
long[] jArr5 = new long[i11];
for (int i19 = 56; i19 >= 0; i19 -= 8) {
int i20 = i + 43;
a = i20 % 128;
int i21 = i20 % 2 != 0 ? 0 : 1;
while (i21 < i9) {
int i22 = (int) (jArr4[i21] >>> i19);
addBoth(jArr5, i21 - 1, jArr2, iArr2[i22 & 15], jArr3, iArr2[(i22 >>> 4) & 15], i13);
i21 += 2;
jArr4 = jArr4;
}
shiftUp(jArr5, 0, i11, 8);
}
long[] jArr6 = jArr4;
int i23 = 56;
while (i23 >= 0) {
int i24 = a + 83;
i = i24 % 128;
int i25 = i24 % 2;
for (int i26 = i12; i26 < i9; i26 += 2) {
int i27 = i + 91;
a = i27 % 128;
int i28 = i27 % 2;
int i29 = (int) (jArr6[i26] >>> i23);
addBoth(jArr5, i26, jArr2, iArr2[i29 & 15], jArr3, iArr2[(i29 >>> 4) & 15], i13);
}
if (i23 > 0) {
int i30 = a + 65;
i = i30 % 128;
int i31 = i30 % 2;
i5 = 0;
shiftUp(jArr5, 0, i11, 8);
} else {
i5 = 0;
}
i23 -= 8;
i12 = i5;
}
return reduceResult(jArr5, i12, i11, i2, iArr);
}
public LongArray modMultiplyAlt(LongArray longArray, int i2, int[] iArr) {
int i3;
int i4;
LongArray longArray2;
LongArray longArray3;
int i5;
int i6 = 2 % 2;
int degree = degree();
if (degree == 0) {
int i7 = i + 25;
a = i7 % 128;
int i8 = i7 % 2;
return this;
}
int degree2 = longArray.degree();
if (degree2 == 0) {
return longArray;
}
if (degree > degree2) {
int i9 = i + 39;
a = i9 % 128;
if (i9 % 2 != 0) {
Object obj = null;
obj.hashCode();
throw null;
}
i4 = degree;
i3 = degree2;
longArray3 = this;
longArray2 = longArray;
} else {
i3 = degree;
i4 = degree2;
longArray2 = this;
longArray3 = longArray;
}
int i10 = (i3 + 63) >>> 6;
int i11 = (i4 + 63) >>> 6;
int i12 = ((i3 + i4) + 62) >>> 6;
if (i10 == 1) {
int i13 = a + 29;
i = i13 % 128;
int i14 = i13 % 2;
long j = longArray2.m_ints[0];
if (j == 1) {
return longArray3;
}
long[] jArr = new long[i12];
multiplyWord(j, longArray3.m_ints, i11, jArr, 0);
return reduceResult(jArr, 0, i12, i2, iArr);
}
int i15 = (i4 + 78) >>> 6;
int i16 = i15 << 3;
int i17 = 16;
int[] iArr2 = new int[16];
iArr2[0] = i10;
int i18 = i10 + i16;
iArr2[1] = i18;
int i19 = 2;
while (true) {
i18 += i12;
if (i19 >= i17) {
break;
}
int i20 = i + 101;
a = i20 % 128;
int i21 = i20 % 2;
iArr2[i19] = i18;
i19++;
i17 = 16;
}
long[] jArr2 = new long[i18 + 1];
int i22 = 0;
int i23 = i16;
interleave(longArray2.m_ints, 0, jArr2, 0, i10, 4);
System.arraycopy(longArray3.m_ints, 0, jArr2, i10, i11);
int i24 = i10;
int i25 = 1;
while (true) {
i5 = 8;
if (i25 >= 8) {
break;
}
i24 += i15;
shiftUp(jArr2, i10, jArr2, i24, i15, i25);
i25++;
}
int i26 = 15;
int i27 = 0;
while (true) {
int i28 = i22;
do {
int i29 = i10;
long j2 = jArr2[i28] >>> i27;
int i30 = i22;
while (true) {
int i31 = ((int) j2) & i26;
if (i31 != 0) {
add(jArr2, iArr2[i31] + i28, jArr2, i29, i15);
}
i30++;
if (i30 == i5) {
break;
}
i29 += i15;
j2 >>>= 4;
int i32 = i + 31;
a = i32 % 128;
if (i32 % 2 != 0) {
int i33 = 2 / 2;
}
i22 = 0;
i5 = 8;
}
i28++;
} while (i28 < i10);
i27 += 32;
if (i27 >= 64) {
if (i27 >= 64) {
break;
}
i27 = 60;
i26 = i22;
}
int i34 = i23;
shiftUp(jArr2, i10, i34, i5);
i23 = i34;
}
int i35 = 16;
while (true) {
int i36 = i35 - 1;
if (i36 <= 1) {
return reduceResult(jArr2, iArr2[1], i12, i2, iArr);
}
int i37 = i + 71;
a = i37 % 128;
int i38 = i37 % 2;
if ((i36 & 1) == 0) {
addShiftedUp(jArr2, iArr2[i36 >>> 1], jArr2, iArr2[i36], i12, 16);
} else {
distribute(jArr2, iArr2[i36], iArr2[i35 - 2], iArr2[1], i12);
}
i35 = i36;
}
}
/* JADX ERROR: JadxRuntimeException in pass: IfRegionVisitor
jadx.core.utils.exceptions.JadxRuntimeException: Can't remove SSA var: r7v9 long, still in use, count: 2, list:
(r7v9 long) from 0x006f: PHI (r7v8 long) = (r7v7 long), (r7v9 long) binds: [B:29:0x0075, B:23:0x006c] A[DONT_GENERATE, DONT_INLINE]
(r7v9 long) from 0x006a: CMP_L (r7v9 long), (1 long) A[WRAPPED]
at jadx.core.utils.InsnRemover.removeSsaVar(InsnRemover.java:151)
at jadx.core.utils.InsnRemover.unbindResult(InsnRemover.java:116)
at jadx.core.dex.visitors.regions.TernaryMod.makeTernaryInsn(TernaryMod.java:114)
at jadx.core.dex.visitors.regions.TernaryMod.processRegion(TernaryMod.java:62)
at jadx.core.dex.visitors.regions.TernaryMod.enterRegion(TernaryMod.java:45)
at jadx.core.dex.visitors.regions.DepthRegionTraversal.traverseInternal(DepthRegionTraversal.java:67)
at jadx.core.dex.visitors.regions.DepthRegionTraversal.lambda$traverseInternal$0(DepthRegionTraversal.java:68)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)
at jadx.core.dex.visitors.regions.DepthRegionTraversal.traverseInternal(DepthRegionTraversal.java:68)
at jadx.core.dex.visitors.regions.DepthRegionTraversal.lambda$traverseInternal$0(DepthRegionTraversal.java:68)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)
at java.base/java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1117)
at jadx.core.dex.visitors.regions.DepthRegionTraversal.traverseInternal(DepthRegionTraversal.java:68)
at jadx.core.dex.visitors.regions.DepthRegionTraversal.lambda$traverseInternal$0(DepthRegionTraversal.java:68)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)
at jadx.core.dex.visitors.regions.DepthRegionTraversal.traverseInternal(DepthRegionTraversal.java:68)
at jadx.core.dex.visitors.regions.DepthRegionTraversal.lambda$traverseInternal$0(DepthRegionTraversal.java:68)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)
at java.base/java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1117)
at jadx.core.dex.visitors.regions.DepthRegionTraversal.traverseInternal(DepthRegionTraversal.java:68)
at jadx.core.dex.visitors.regions.DepthRegionTraversal.lambda$traverseInternal$0(DepthRegionTraversal.java:68)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)
at jadx.core.dex.visitors.regions.DepthRegionTraversal.traverseInternal(DepthRegionTraversal.java:68)
at jadx.core.dex.visitors.regions.DepthRegionTraversal.lambda$traverseInternal$0(DepthRegionTraversal.java:68)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)
at java.base/java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1117)
at jadx.core.dex.visitors.regions.DepthRegionTraversal.traverseInternal(DepthRegionTraversal.java:68)
at jadx.core.dex.visitors.regions.DepthRegionTraversal.lambda$traverseInternal$0(DepthRegionTraversal.java:68)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)
at jadx.core.dex.visitors.regions.DepthRegionTraversal.traverseInternal(DepthRegionTraversal.java:68)
at jadx.core.dex.visitors.regions.DepthRegionTraversal.traverse(DepthRegionTraversal.java:19)
at jadx.core.dex.visitors.regions.TernaryMod.process(TernaryMod.java:35)
at jadx.core.dex.visitors.regions.IfRegionVisitor.process(IfRegionVisitor.java:34)
at jadx.core.dex.visitors.regions.IfRegionVisitor.visit(IfRegionVisitor.java:30)
*/
public org.bouncycastle.math.ec.LongArray modMultiply(org.bouncycastle.math.ec.LongArray r24, int r25, int[] r26) {
/*
Method dump skipped, instructions count: 322
To view this dump add '--comments-level debug' option
*/
throw new UnsupportedOperationException("Method not decompiled: org.bouncycastle.math.ec.LongArray.modMultiply(org.bouncycastle.math.ec.LongArray, int, int[]):org.bouncycastle.math.ec.LongArray");
}
public LongArray modInverse(int i2, int[] iArr) {
int i3 = 2 % 2;
int i4 = i + 29;
a = i4 % 128;
if (i4 % 2 != 0) {
degree();
throw null;
}
int degree = degree();
if (degree == 0) {
throw new IllegalStateException();
}
int i5 = 1;
if (degree == 1) {
int i6 = i + 95;
a = i6 % 128;
int i7 = i6 % 2;
return this;
}
LongArray longArray = (LongArray) clone();
int i8 = (i2 + 63) >>> 6;
LongArray longArray2 = new LongArray(i8);
reduceBit(longArray2.m_ints, 0, i2, i2, iArr);
LongArray longArray3 = new LongArray(i8);
longArray3.m_ints[0] = 1;
int[] iArr2 = {degree, i2 + 1};
LongArray[] longArrayArr = {longArray, longArray2};
int[] iArr3 = {1, 0};
LongArray[] longArrayArr2 = {longArray3, new LongArray(i8)};
int i9 = iArr2[1];
int i10 = iArr3[1];
int i11 = i9 - iArr2[0];
while (true) {
if (i11 < 0) {
int i12 = a + 59;
i = i12 % 128;
int i13 = i12 % 2;
i11 = -i11;
iArr2[i5] = i9;
iArr3[i5] = i10;
i5 = 1 - i5;
i9 = iArr2[i5];
i10 = iArr3[i5];
}
int i14 = 1 - i5;
longArrayArr[i5].addShiftedByBitsSafe(longArrayArr[i14], iArr2[i14], i11);
int degreeFrom = longArrayArr[i5].degreeFrom(i9);
if (degreeFrom == 0) {
return longArrayArr2[i14];
}
int i15 = iArr3[i14];
longArrayArr2[i5].addShiftedByBitsSafe(longArrayArr2[i14], i15, i11);
int i16 = i15 + i11;
if (i16 > i10) {
i10 = i16;
} else if (i16 == i10) {
i10 = longArrayArr2[i5].degreeFrom(i10);
}
i11 += degreeFrom - i9;
i9 = degreeFrom;
}
}
public boolean isZero() {
int i2 = 2 % 2;
long[] jArr = this.m_ints;
for (int i3 = 0; i3 < jArr.length; i3++) {
int i4 = a;
int i5 = i4 + 39;
i = i5 % 128;
if (i5 % 2 == 0) {
if (jArr[i3] != 1) {
int i6 = i4 + 71;
i = i6 % 128;
int i7 = i6 % 2;
return false;
}
} else {
if (jArr[i3] != 0) {
int i62 = i4 + 71;
i = i62 % 128;
int i72 = i62 % 2;
return false;
}
}
}
return true;
}
/* JADX ERROR: JadxRuntimeException in pass: IfRegionVisitor
jadx.core.utils.exceptions.JadxRuntimeException: Can't remove SSA var: r1v12 long[], still in use, count: 2, list:
(r1v12 long[]) from 0x0013: AGET (r1v12 long[]), (0 ??[int, short, byte, char]) A[WRAPPED]
(r1v12 long[]) from 0x0025: PHI (r1v5 long[]) = (r1v4 long[]), (r1v12 long[]) binds: [B:25:0x0022, B:4:0x0017] A[DONT_GENERATE, DONT_INLINE]
at jadx.core.utils.InsnRemover.removeSsaVar(InsnRemover.java:151)
at jadx.core.utils.InsnRemover.unbindResult(InsnRemover.java:116)
at jadx.core.dex.visitors.regions.TernaryMod.makeTernaryInsn(TernaryMod.java:114)
at jadx.core.dex.visitors.regions.TernaryMod.processRegion(TernaryMod.java:62)
at jadx.core.dex.visitors.regions.TernaryMod.enterRegion(TernaryMod.java:45)
at jadx.core.dex.visitors.regions.DepthRegionTraversal.traverseInternal(DepthRegionTraversal.java:67)
at jadx.core.dex.visitors.regions.DepthRegionTraversal.lambda$traverseInternal$0(DepthRegionTraversal.java:68)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)
at jadx.core.dex.visitors.regions.DepthRegionTraversal.traverseInternal(DepthRegionTraversal.java:68)
at jadx.core.dex.visitors.regions.DepthRegionTraversal.traverse(DepthRegionTraversal.java:19)
at jadx.core.dex.visitors.regions.TernaryMod.process(TernaryMod.java:35)
at jadx.core.dex.visitors.regions.IfRegionVisitor.process(IfRegionVisitor.java:34)
at jadx.core.dex.visitors.regions.IfRegionVisitor.visit(IfRegionVisitor.java:30)
*/
public boolean isOne() {
/*
r11 = this;
r0 = 2
int r1 = r0 % r0
int r1 = org.bouncycastle.math.ec.LongArray.i
int r1 = r1 + 75
int r2 = r1 % 128
org.bouncycastle.math.ec.LongArray.a = r2
int r1 = r1 % r0
r2 = 0
r4 = 0
if (r1 == 0) goto L1a
long[] r1 = r11.m_ints
r5 = r1[r4]
int r5 = (r5 > r2 ? 1 : (r5 == r2 ? 0 : -1))
if (r5 == 0) goto L25
goto L24
L1a:
long[] r1 = r11.m_ints
r5 = r1[r4]
r7 = 1
int r5 = (r5 > r7 ? 1 : (r5 == r7 ? 0 : -1))
if (r5 == 0) goto L25
L24:
return r4
L25:
r5 = 1
r6 = r5
L27:
int r7 = r1.length
r8 = 0
if (r6 >= r7) goto L4d
r9 = r1[r6]
int r7 = (r9 > r2 ? 1 : (r9 == r2 ? 0 : -1))
if (r7 == 0) goto L41
int r1 = org.bouncycastle.math.ec.LongArray.a
int r1 = r1 + 61
int r2 = r1 % 128
org.bouncycastle.math.ec.LongArray.i = r2
int r1 = r1 % r0
if (r1 == 0) goto L3d
return r4
L3d:
r8.hashCode()
throw r8
L41:
int r6 = r6 + 1
int r7 = org.bouncycastle.math.ec.LongArray.i
int r7 = r7 + 45
int r8 = r7 % 128
org.bouncycastle.math.ec.LongArray.a = r8
int r7 = r7 % r0
goto L27
L4d:
int r1 = org.bouncycastle.math.ec.LongArray.a
int r1 = r1 + 91
int r2 = r1 % 128
org.bouncycastle.math.ec.LongArray.i = r2
int r1 = r1 % r0
if (r1 == 0) goto L59
return r5
L59:
throw r8
*/
throw new UnsupportedOperationException("Method not decompiled: org.bouncycastle.math.ec.LongArray.isOne():boolean");
}
public int hashCode() {
int i2 = 2 % 2;
int usedLength = getUsedLength();
int i3 = 1;
for (int i4 = 0; i4 < usedLength; i4++) {
int i5 = a + 111;
i = i5 % 128;
int i6 = i5 % 2;
long j = this.m_ints[i4];
i3 = (((i3 * 31) ^ ((int) j)) * 31) ^ ((int) (j >>> 32));
}
int i7 = i + 99;
a = i7 % 128;
int i8 = i7 % 2;
return i3;
}
public int getUsedLengthFrom(int i2) {
int i3 = 2 % 2;
int i4 = a + 97;
i = i4 % 128;
int i5 = i4 % 2;
long[] jArr = this.m_ints;
int min = Math.min(i2, jArr.length);
if (min <= 0) {
int i6 = i + 69;
a = i6 % 128;
int i7 = i6 % 2;
return 0;
}
if (jArr[0] != 0) {
while (true) {
int i8 = min - 1;
if (jArr[i8] != 0) {
return min;
}
int i9 = a;
int i10 = i9 + 53;
i = i10 % 128;
int i11 = i10 % 2;
int i12 = i9 + 73;
i = i12 % 128;
int i13 = i12 % 2;
min = i8;
}
} else {
while (true) {
int i14 = min - 1;
if (jArr[i14] != 0) {
return min;
}
if (i14 <= 0) {
int i15 = i + 101;
a = i15 % 128;
int i16 = i15 % 2;
return 0;
}
min = i14;
}
}
}
public int getUsedLength() {
int i2 = 2 % 2;
int i3 = i + 65;
a = i3 % 128;
int i4 = i3 % 2;
int usedLengthFrom = getUsedLengthFrom(this.m_ints.length);
int i5 = i + 91;
a = i5 % 128;
int i6 = i5 % 2;
return usedLengthFrom;
}
public int getLength() {
int i2 = 2 % 2;
int i3 = i + 83;
a = i3 % 128;
int i4 = i3 % 2;
long[] jArr = this.m_ints;
if (i4 == 0) {
return jArr.length;
}
int length = jArr.length;
Object obj = null;
obj.hashCode();
throw null;
}
public boolean equals(Object obj) {
int i2 = 2 % 2;
int i3 = i;
int i4 = i3 + 93;
a = i4 % 128;
int i5 = i4 % 2;
if (!(obj instanceof LongArray)) {
int i6 = i3 + 57;
a = i6 % 128;
int i7 = i6 % 2;
return false;
}
LongArray longArray = (LongArray) obj;
int usedLength = getUsedLength();
if (longArray.getUsedLength() != usedLength) {
return false;
}
for (int i8 = 0; i8 < usedLength; i8++) {
if (this.m_ints[i8] != longArray.m_ints[i8]) {
int i9 = i + 39;
a = i9 % 128;
int i10 = i9 % 2;
return false;
}
}
return true;
}
public int degree() {
int i2 = 2 % 2;
int length = this.m_ints.length;
while (length != 0) {
int i3 = length - 1;
long j = this.m_ints[i3];
if (j != 0) {
int i4 = i + 123;
a = i4 % 128;
int bitLength = i4 % 2 != 0 ? (length - 79) << bitLength(j) : (i3 << 6) + bitLength(j);
int i5 = a + 111;
i = i5 % 128;
if (i5 % 2 != 0) {
return bitLength;
}
throw null;
}
length = i3;
}
int i6 = a + 27;
i = i6 % 128;
int i7 = i6 % 2;
return 0;
}
public Object clone() {
int i2 = 2 % 2;
LongArray longArray = new LongArray(Arrays.clone(this.m_ints));
int i3 = a + 35;
i = i3 % 128;
if (i3 % 2 == 0) {
int i4 = 35 / 0;
}
return longArray;
}
public void addShiftedByWords(LongArray longArray, int i2) {
int i3 = 2 % 2;
int i4 = a + 79;
i = i4 % 128;
int i5 = i4 % 2;
int usedLength = longArray.getUsedLength();
if (usedLength == 0) {
return;
}
int i6 = usedLength + i2;
if (i6 > this.m_ints.length) {
int i7 = i + 55;
a = i7 % 128;
int i8 = i7 % 2;
this.m_ints = resizedInts(i6);
}
add(this.m_ints, i2, longArray.m_ints, 0, usedLength);
}
public LongArray addOne() {
int i2 = 2 % 2;
int i3 = a + 59;
i = i3 % 128;
int i4 = i3 % 2;
if (this.m_ints.length != 0) {
long[] resizedInts = resizedInts(Math.max(1, getUsedLength()));
resizedInts[0] = resizedInts[0] ^ 1;
return new LongArray(resizedInts);
}
LongArray longArray = new LongArray(new long[]{1});
int i5 = a + 81;
i = i5 % 128;
if (i5 % 2 != 0) {
return longArray;
}
throw null;
}
private static boolean testBit(long[] jArr, int i2, int i3) {
int i4 = 2 % 2;
int i5 = i + 95;
int i6 = i5 % 128;
a = i6;
int i7 = i5 % 2;
if (((1 << (i3 & 63)) & jArr[i2 + (i3 >>> 6)]) == 0) {
return false;
}
int i8 = i6 + 31;
i = i8 % 128;
int i9 = i8 % 2;
return true;
}
private static void squareInPlace(long[] jArr, int i2, int i3, int[] iArr) {
int i4 = 2 % 2;
int i5 = i + 105;
int i6 = i5 % 128;
a = i6;
int i7 = i5 % 2;
int i8 = i2 << 1;
int i9 = i6 + 93;
i = i9 % 128;
if (i9 % 2 == 0) {
int i10 = 5 % 2;
}
while (true) {
i2--;
if (i2 < 0) {
return;
}
int i11 = i + 41;
a = i11 % 128;
int i12 = i11 % 2;
long j = jArr[i2];
jArr[i8 - 1] = interleave2_32to64((int) (j >>> 32));
i8 -= 2;
jArr[i8] = interleave2_32to64((int) j);
}
}
private static long shiftUp(long[] jArr, int i2, long[] jArr2, int i3, int i4, int i5) {
int i6 = 2 % 2;
int i7 = i + 125;
a = i7 % 128;
int i8 = i7 % 2;
long j = 0;
int i9 = 0;
while (i9 < i4) {
int i10 = a + 13;
i = i10 % 128;
if (i10 % 2 == 0) {
long j2 = jArr[i2 - i9];
jArr2[i3 << i9] = j ^ (j2 << i5);
j = j2 << (110 >> i5);
i9 += 9;
} else {
long j3 = jArr[i2 + i9];
jArr2[i3 + i9] = j | (j3 << i5);
j = j3 >>> (64 - i5);
i9++;
}
}
int i11 = a + 103;
i = i11 % 128;
if (i11 % 2 != 0) {
return j;
}
Object obj = null;
obj.hashCode();
throw null;
}
private static long shiftUp(long[] jArr, int i2, int i3, int i4) {
int i5 = 2 % 2;
int i6 = a + 35;
i = i6 % 128;
int i7 = i6 % 2;
long j = 0;
for (int i8 = 0; i8 < i3; i8++) {
int i9 = i + 77;
a = i9 % 128;
int i10 = i9 % 2;
int i11 = i2 + i8;
long j2 = jArr[i11];
jArr[i11] = j | (j2 << i4);
j = j2 >>> (64 - i4);
}
return j;
}
private long[] resizedInts(int i2) {
int i3 = 2 % 2;
int i4 = i + 13;
a = i4 % 128;
if (i4 % 2 != 0) {
long[] jArr = new long[i2];
long[] jArr2 = this.m_ints;
System.arraycopy(jArr2, 0, jArr, 0, Math.min(jArr2.length, i2));
return jArr;
}
long[] jArr3 = new long[i2];
long[] jArr4 = this.m_ints;
System.arraycopy(jArr4, 0, jArr3, 0, Math.min(jArr4.length, i2));
return jArr3;
}
private static void reduceWordWise(long[] jArr, int i2, int i3, int i4, int i5, int[] iArr) {
int i6 = 2 % 2;
int i7 = i4 >>> 6;
int i8 = i3;
while (true) {
int i9 = i8 - 1;
if (i9 <= i7) {
break;
}
int i10 = a + 61;
i = i10 % 128;
int i11 = i10 % 2;
int i12 = i2 + i9;
long j = jArr[i12];
if (j != 0) {
jArr[i12] = 0;
reduceWord(jArr, i2, i9 << 6, j, i5, iArr);
}
i8 = i9;
}
int i13 = i4 & 63;
int i14 = i2 + i7;
long j2 = jArr[i14];
long j3 = j2 >>> i13;
if (j3 != 0) {
int i15 = a + 91;
i = i15 % 128;
if (i15 % 2 == 0) {
jArr[i14] = (j3 << i13) ^ j2;
reduceWord(jArr, i2, i4, j3, i5, iArr);
} else {
jArr[i14] = (j3 << i13) ^ j2;
reduceWord(jArr, i2, i4, j3, i5, iArr);
}
}
}
private static void reduceWord(long[] jArr, int i2, int i3, long j, int i4, int[] iArr) {
int i5 = 2 % 2;
int i6 = i + 99;
a = i6 % 128;
int i7 = i6 % 2;
int i8 = i3 - i4;
int length = iArr.length;
while (true) {
length--;
if (length < 0) {
break;
}
int i9 = a + 81;
i = i9 % 128;
int i10 = i9 % 2;
flipWord(jArr, i2, iArr[length] + i8, j);
int i11 = i + 95;
a = i11 % 128;
int i12 = i11 % 2;
}
flipWord(jArr, i2, i8, j);
int i13 = a + 113;
i = i13 % 128;
if (i13 % 2 == 0) {
int i14 = 66 / 0;
}
}
private static void reduceVectorWise(long[] jArr, int i2, int i3, int i4, int i5, int[] iArr) {
int i6 = 2 % 2;
int i7 = i + 5;
a = i7 % 128;
int i8 = i7 % 2;
int i9 = (i4 << 6) - i5;
int length = iArr.length;
while (true) {
int i10 = length - 1;
if (i10 < 0) {
flipVector(jArr, i2, jArr, i2 + i4, i3 - i4, i9);
return;
}
int i11 = i + 13;
a = i11 % 128;
if (i11 % 2 != 0) {
flipVector(jArr, i2, jArr, i2 - i4, i3 + i4, i9 - iArr[i10]);
} else {
flipVector(jArr, i2, jArr, i2 + i4, i3 - i4, i9 + iArr[i10]);
}
length = i10;
}
}
private static LongArray reduceResult(long[] jArr, int i2, int i3, int i4, int[] iArr) {
int i5 = 2 % 2;
LongArray longArray = new LongArray(jArr, i2, reduceInPlace(jArr, i2, i3, i4, iArr));
int i6 = a + 97;
i = i6 % 128;
int i7 = i6 % 2;
return longArray;
}
private static int reduceInPlace(long[] jArr, int i2, int i3, int i4, int[] iArr) {
int i5;
int i6 = 2 % 2;
int i7 = (i4 + 63) >>> 6;
if (i3 < i7) {
int i8 = i + 97;
a = i8 % 128;
int i9 = i8 % 2;
return i3;
}
int i10 = i3 << 6;
int min = Math.min(i10, (i4 << 1) - 1);
int i11 = i10 - min;
int i12 = i3;
while (i11 >= 64) {
i12--;
i11 -= 64;
}
int length = iArr.length;
int i13 = iArr[length - 1];
if (length > 1) {
int i14 = i + 23;
a = i14 % 128;
int i15 = i14 % 2;
i5 = iArr[length - 2];
} else {
i5 = 0;
}
int max = Math.max(i4, i13 + 64);
int min2 = (i11 + Math.min(min - max, i4 - i5)) >> 6;
if (min2 > 1) {
int i16 = i12 - min2;
reduceVectorWise(jArr, i2, i12, i16, i4, iArr);
while (i12 > i16) {
i12--;
jArr[i2 + i12] = 0;
}
min = i16 << 6;
}
if (min > max) {
reduceWordWise(jArr, i2, i12, max, i4, iArr);
} else {
max = min;
}
if (max > i4) {
reduceBitWise(jArr, i2, max, i4, iArr);
int i17 = a + 53;
i = i17 % 128;
int i18 = i17 % 2;
}
return i7;
}
private static void reduceBitWise(long[] jArr, int i2, int i3, int i4, int[] iArr) {
int i5 = 2 % 2;
while (true) {
i3--;
if (i3 < i4) {
return;
}
int i6 = a + 23;
i = i6 % 128;
int i7 = i6 % 2;
if (testBit(jArr, i2, i3)) {
int i8 = i + 15;
a = i8 % 128;
int i9 = i8 % 2;
reduceBit(jArr, i2, i3, i4, iArr);
int i10 = i + 15;
a = i10 % 128;
int i11 = i10 % 2;
}
}
}
private static void reduceBit(long[] jArr, int i2, int i3, int i4, int[] iArr) {
int i5 = 2 % 2;
int i6 = a + 1;
i = i6 % 128;
int i7 = i6 % 2;
flipBit(jArr, i2, i3);
int i8 = i3 - i4;
int length = iArr.length;
while (true) {
length--;
if (length < 0) {
flipBit(jArr, i2, i8);
int i9 = i + 15;
a = i9 % 128;
int i10 = i9 % 2;
return;
}
flipBit(jArr, i2, iArr[length] + i8);
}
}
private static void multiplyWord(long j, long[] jArr, int i2, long[] jArr2, int i3) {
int i4 = 2 % 2;
if ((j & 1) != 0) {
add(jArr2, i3, jArr, 0, i2);
int i5 = a + 79;
i = i5 % 128;
int i6 = i5 % 2;
}
int i7 = i + 17;
a = i7 % 128;
int i8 = i7 % 2;
long j2 = j;
int i9 = 1;
while (true) {
long j3 = j2 >>> 1;
if (j3 == 0) {
break;
}
if ((j3 & 1) != 0) {
int i10 = i + 7;
a = i10 % 128;
int i11 = i10 % 2;
long addShiftedUp = addShiftedUp(jArr2, i3, jArr, 0, i2, i9);
if (addShiftedUp != 0) {
int i12 = i + 65;
a = i12 % 128;
if (i12 % 2 != 0) {
int i13 = i3 - i2;
jArr2[i13] = addShiftedUp + jArr2[i13];
} else {
int i14 = i3 + i2;
jArr2[i14] = addShiftedUp ^ jArr2[i14];
}
}
}
i9++;
j2 = j3;
}
int i15 = a + 65;
i = i15 % 128;
if (i15 % 2 == 0) {
throw null;
}
}
private static void interleave7(long[] jArr, int i2, long[] jArr2, int i3, int i4) {
int i5 = 2 % 2;
int i6 = i + 45;
a = i6 % 128;
for (int i7 = i6 % 2 != 0 ? 1 : 0; i7 < i4; i7++) {
jArr2[i3 + i7] = interleave7(jArr[i2 + i7]);
}
int i8 = a + 123;
i = i8 % 128;
int i9 = i8 % 2;
}
private static long interleave7(long j) {
int i2 = 2 % 2;
int i3 = a + 7;
int i4 = i3 % 128;
i = i4;
int i5 = i3 % 2;
long[] jArr = INTERLEAVE7_TABLE;
long j2 = (j & Long.MIN_VALUE) | jArr[((int) j) & 511] | (jArr[((int) (j >>> 9)) & 511] << 1) | (jArr[((int) (j >>> 18)) & 511] << 2) | (jArr[((int) (j >>> 27)) & 511] << 3) | (jArr[((int) (j >>> 36)) & 511] << 4) | (jArr[((int) (j >>> 45)) & 511] << 5) | (jArr[((int) (j >>> 54)) & 511] << 6);
int i6 = i4 + 49;
a = i6 % 128;
int i7 = i6 % 2;
return j2;
}
private static void interleave5(long[] jArr, int i2, long[] jArr2, int i3, int i4) {
int i5 = 2 % 2;
int i6 = a;
int i7 = i6 + 33;
i = i7 % 128;
int i8 = i7 % 2 == 0 ? 1 : 0;
int i9 = i6 + 115;
i = i9 % 128;
int i10 = i9 % 2;
while (i8 < i4) {
int i11 = i + 9;
a = i11 % 128;
if (i11 % 2 != 0) {
jArr2[i3 >>> i8] = interleave5(jArr[i2 << i8]);
i8 += 71;
} else {
jArr2[i3 + i8] = interleave5(jArr[i2 + i8]);
i8++;
}
}
}
private static long interleave5(long j) {
int i2 = 2 % 2;
int i3 = a + 9;
i = i3 % 128;
int i4 = i3 % 2;
long interleave3_13to65 = (interleave3_13to65(((int) (j >>> 52)) & 8191) << 4) | interleave3_13to65(((int) j) & 8191) | (interleave3_13to65(((int) (j >>> 13)) & 8191) << 1) | (interleave3_13to65(((int) (j >>> 26)) & 8191) << 2) | (interleave3_13to65(((int) (j >>> 39)) & 8191) << 3);
int i5 = i + 7;
a = i5 % 128;
if (i5 % 2 == 0) {
return interleave3_13to65;
}
throw null;
}
private static long interleave4_16to64(int i2) {
long j;
long j2;
int i3 = 2 % 2;
int i4 = a;
int i5 = i4 + 47;
i = i5 % 128;
if (i5 % 2 == 0) {
int[] iArr = INTERLEAVE4_TABLE;
int i6 = iArr[i2 & 27222];
long j3 = iArr[i2 + 98];
j = i6 / KeyboardMap.kValueMask;
j2 = (j3 + KeyboardMap.kValueMask) >> 30;
} else {
int[] iArr2 = INTERLEAVE4_TABLE;
int i7 = iArr2[i2 & 255];
long j4 = iArr2[i2 >>> 8];
j = i7 & KeyboardMap.kValueMask;
j2 = (j4 & KeyboardMap.kValueMask) << 32;
}
long j5 = j2 | j;
int i8 = i4 + 69;
i = i8 % 128;
if (i8 % 2 != 0) {
return j5;
}
Object obj = null;
obj.hashCode();
throw null;
}
private static long interleave3_21to63(int i2) {
int i3 = 2 % 2;
int i4 = a + 89;
int i5 = i4 % 128;
i = i5;
int i6 = i4 % 2;
int[] iArr = INTERLEAVE3_TABLE;
long j = (iArr[i2 & 127] & KeyboardMap.kValueMask) | ((iArr[i2 >>> 14] & KeyboardMap.kValueMask) << 42) | ((iArr[(i2 >>> 7) & 127] & KeyboardMap.kValueMask) << 21);
int i7 = i5 + 117;
a = i7 % 128;
if (i7 % 2 != 0) {
int i8 = 79 / 0;
}
return j;
}
private static long interleave3_13to65(int i2) {
int i3 = 2 % 2;
int i4 = i + 41;
a = i4 % 128;
int i5 = i4 % 2;
int[] iArr = INTERLEAVE5_TABLE;
if (i5 != 0) {
return (iArr[i2 & 27] | KeyboardMap.kValueMask) + ((iArr[i2 % 42] - KeyboardMap.kValueMask) << 50);
}
return (iArr[i2 & 127] & KeyboardMap.kValueMask) | ((KeyboardMap.kValueMask & iArr[i2 >>> 7]) << 35);
}
private static void interleave3(long[] jArr, int i2, long[] jArr2, int i3, int i4) {
int i5 = 2 % 2;
int i6 = a + 85;
i = i6 % 128;
int i7 = i6 % 2 == 0 ? 1 : 0;
while (i7 < i4) {
int i8 = i + 23;
a = i8 % 128;
int i9 = i8 % 2;
jArr2[i3 + i7] = interleave3(jArr[i2 + i7]);
i7++;
int i10 = i + 57;
a = i10 % 128;
int i11 = i10 % 2;
}
}
private static long interleave3(long j) {
int i2 = 2 % 2;
int i3 = a + 79;
i = i3 % 128;
if (i3 % 2 == 0) {
return (((j - Long.MIN_VALUE) + interleave3_21to63(((int) j) & 2097151)) ^ (interleave3_21to63(((int) (j << 2)) & 2097151) >> 1)) & (interleave3_21to63(2097151 & ((int) (j >>> 96))) << 3);
}
return (j & Long.MIN_VALUE) | interleave3_21to63(((int) j) & 2097151) | (interleave3_21to63(((int) (j >>> 21)) & 2097151) << 1) | (interleave3_21to63(((int) (j >>> 42)) & 2097151) << 2);
}
private static void interleave2_n(long[] jArr, int i2, long[] jArr2, int i3, int i4, int i5) {
int i6 = 2 % 2;
int i7 = 0;
while (i7 < i4) {
int i8 = i + 5;
a = i8 % 128;
int i9 = i8 % 2;
jArr2[i3 + i7] = interleave2_n(jArr[i2 + i7], i5);
i7++;
int i10 = a + 11;
i = i10 % 128;
int i11 = i10 % 2;
}
}
private static long interleave2_n(long j, int i2) {
int i3 = 2 % 2;
while (i2 > 1) {
i2 -= 2;
j = (interleave4_16to64(((int) (j >>> 48)) & 65535) << 3) | (interleave4_16to64(((int) (j >>> 16)) & 65535) << 1) | interleave4_16to64(((int) j) & 65535) | (interleave4_16to64(((int) (j >>> 32)) & 65535) << 2);
int i4 = i + 11;
a = i4 % 128;
int i5 = i4 % 2;
}
if (i2 <= 0) {
return j;
}
long interleave2_32to64 = (interleave2_32to64((int) (j >>> 32)) << 1) | interleave2_32to64((int) j);
int i6 = i + 1;
a = i6 % 128;
int i7 = i6 % 2;
return interleave2_32to64;
}
private static long interleave2_32to64(int i2) {
int i3 = 2 % 2;
int i4 = i;
int i5 = i4 + 45;
a = i5 % 128;
int i6 = i5 % 2;
short[] sArr = INTERLEAVE2_TABLE;
long j = (((sArr[(i2 >>> 8) & 255] << 16) | sArr[i2 & 255]) & KeyboardMap.kValueMask) | ((((sArr[i2 >>> 24] << 16) | sArr[(i2 >>> 16) & 255]) & KeyboardMap.kValueMask) << 32);
int i7 = i4 + 29;
a = i7 % 128;
int i8 = i7 % 2;
return j;
}
private static void interleave(long[] jArr, int i2, long[] jArr2, int i3, int i4, int i5) {
int i6 = 2 % 2;
if (i5 == 3) {
interleave3(jArr, i2, jArr2, i3, i4);
int i7 = a + 119;
i = i7 % 128;
int i8 = i7 % 2;
return;
}
if (i5 == 5) {
interleave5(jArr, i2, jArr2, i3, i4);
return;
}
if (i5 != 7) {
interleave2_n(jArr, i2, jArr2, i3, i4, bitLengths[i5] - 1);
return;
}
interleave7(jArr, i2, jArr2, i3, i4);
int i9 = a + 1;
i = i9 % 128;
if (i9 % 2 != 0) {
return;
}
Object obj = null;
obj.hashCode();
throw null;
}
private static void flipWord(long[] jArr, int i2, int i3, long j) {
int i4 = 2 % 2;
int i5 = a;
int i6 = i5 + 31;
int i7 = i6 % 128;
i = i7;
int i8 = i6 % 2;
int i9 = i2 + (i3 >>> 6);
int i10 = i3 & 63;
if (i10 == 0) {
jArr[i9] = jArr[i9] ^ j;
int i11 = i7 + 107;
a = i11 % 128;
if (i11 % 2 != 0) {
int i12 = 80 / 0;
return;
}
return;
}
jArr[i9] = jArr[i9] ^ (j << i10);
long j2 = j >>> (64 - i10);
if (j2 != 0) {
int i13 = i5 + 61;
int i14 = i13 % 128;
i = i14;
int i15 = i13 % 2;
int i16 = i9 + 1;
jArr[i16] = j2 ^ jArr[i16];
int i17 = i14 + 93;
a = i17 % 128;
int i18 = i17 % 2;
}
}
/* JADX WARN: Code restructure failed: missing block: B:10:0x002b, code lost:
return;
*/
/* JADX WARN: Code restructure failed: missing block: B:12:0x002d, code lost:
throw null;
*/
/* JADX WARN: Code restructure failed: missing block: B:14:0x001b, code lost:
if (r11 == 0) goto L9;
*/
/* JADX WARN: Code restructure failed: missing block: B:4:0x0013, code lost:
if (r11 == 0) goto L9;
*/
/* JADX WARN: Code restructure failed: missing block: B:5:0x002e, code lost:
r6[r7] = addShiftedDown(r6, r7 + 1, r8, r9, r10, 64 - r11) ^ r6[r7];
*/
/* JADX WARN: Code restructure failed: missing block: B:6:0x003f, code lost:
return;
*/
/* JADX WARN: Code restructure failed: missing block: B:8:0x001d, code lost:
add(r6, r7, r8, r9, r10);
r6 = org.bouncycastle.math.ec.LongArray.i + 103;
org.bouncycastle.math.ec.LongArray.a = r6 % 128;
*/
/* JADX WARN: Code restructure failed: missing block: B:9:0x0029, code lost:
if ((r6 % 2) != 0) goto L12;
*/
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
private static void flipVector(long[] r6, int r7, long[] r8, int r9, int r10, int r11) {
/*
r0 = 2
int r1 = r0 % r0
int r1 = org.bouncycastle.math.ec.LongArray.i
int r1 = r1 + 5
int r2 = r1 % 128
org.bouncycastle.math.ec.LongArray.a = r2
int r1 = r1 % r0
if (r1 == 0) goto L16
int r1 = r11 + (-9)
int r7 = r7 % r1
r11 = r11 & 85
if (r11 != 0) goto L2e
goto L1d
L16:
int r1 = r11 >>> 6
int r7 = r7 + r1
r11 = r11 & 63
if (r11 != 0) goto L2e
L1d:
add(r6, r7, r8, r9, r10)
int r6 = org.bouncycastle.math.ec.LongArray.i
int r6 = r6 + 103
int r7 = r6 % 128
org.bouncycastle.math.ec.LongArray.a = r7
int r6 = r6 % r0
if (r6 != 0) goto L2c
return
L2c:
r6 = 0
throw r6
L2e:
int r1 = r7 + 1
int r5 = 64 - r11
r0 = r6
r2 = r8
r3 = r9
r4 = r10
long r8 = addShiftedDown(r0, r1, r2, r3, r4, r5)
r10 = r6[r7]
long r8 = r8 ^ r10
r6[r7] = r8
return
*/
throw new UnsupportedOperationException("Method not decompiled: org.bouncycastle.math.ec.LongArray.flipVector(long[], int, long[], int, int, int):void");
}
private static void flipBit(long[] jArr, int i2, int i3) {
int i4 = 2 % 2;
int i5 = i;
int i6 = i5 + 59;
a = i6 % 128;
int i7 = i6 % 2;
int i8 = i2 + (i3 >>> 6);
jArr[i8] = jArr[i8] ^ (1 << (i3 & 63));
int i9 = i5 + 19;
a = i9 % 128;
if (i9 % 2 == 0) {
return;
}
Object obj = null;
obj.hashCode();
throw null;
}
private static void distribute(long[] jArr, int i2, int i3, int i4, int i5) {
int i6 = 2 % 2;
int i7 = a + 107;
i = i7 % 128;
int i8 = i7 % 2;
int i9 = 0;
while (i9 < i5) {
long j = jArr[i2 + i9];
int i10 = i3 + i9;
jArr[i10] = jArr[i10] ^ j;
int i11 = i4 + i9;
jArr[i11] = j ^ jArr[i11];
i9++;
int i12 = a + 123;
i = i12 % 128;
if (i12 % 2 == 0) {
int i13 = 4 / 3;
}
}
}
private int degreeFrom(int i2) {
int i3 = 2 % 2;
int i4 = (i2 + 62) >>> 6;
while (i4 != 0) {
i4--;
long j = this.m_ints[i4];
if (j != 0) {
int i5 = a + 3;
i = i5 % 128;
int i6 = i5 % 2;
int bitLength = (i4 << 6) + bitLength(j);
int i7 = i + 103;
a = i7 % 128;
if (i7 % 2 == 0) {
return bitLength;
}
throw null;
}
}
return 0;
}
private static int bitLength(long j) {
int i2;
int i3;
int i4;
int i5 = 2 % 2;
int i6 = a;
int i7 = i6 + 65;
int i8 = i7 % 128;
i = i8;
if (i7 % 2 == 0) {
i3 = (int) (j >> 10);
if (i3 != 0) {
i2 = 7;
}
i3 = (int) j;
i2 = 0;
} else {
int i9 = (int) (j >>> 32);
if (i9 != 0) {
i2 = 32;
i3 = i9;
}
i3 = (int) j;
i2 = 0;
}
int i10 = i3 >>> 16;
if (i10 == 0) {
int i11 = i3 >>> 8;
if (i11 == 0) {
i4 = bitLengths[i3];
int i12 = i8 + 115;
a = i12 % 128;
int i13 = i12 % 2;
} else {
i4 = bitLengths[i11] + 8;
}
} else {
int i14 = i3 >>> 24;
if (i14 == 0) {
int i15 = i6 + 125;
i = i15 % 128;
int i16 = i15 % 2;
byte[] bArr = bitLengths;
i4 = i16 == 0 ? bArr[i10] / 91 : bArr[i10] + 16;
} else {
i4 = bitLengths[i14] + Ascii.CAN;
}
}
return i2 + i4;
}
private static long addShiftedUp(long[] jArr, int i2, long[] jArr2, int i3, int i4, int i5) {
int i6 = 2 % 2;
int i7 = i + 3;
a = i7 % 128;
int i8 = 0;
long j = i7 % 2 != 0 ? 1L : 0L;
while (i8 < i4) {
int i9 = a + 43;
i = i9 % 128;
if (i9 % 2 == 0) {
long j2 = jArr2[i3 - i8];
int i10 = i2 % i8;
jArr[i10] = (j / (j2 >> i5)) & jArr[i10];
j = j2 >>> (71 >>> i5);
i8 += 53;
} else {
long j3 = jArr2[i3 + i8];
int i11 = i2 + i8;
jArr[i11] = (j | (j3 << i5)) ^ jArr[i11];
j = j3 >>> (64 - i5);
i8++;
}
}
return j;
}
private static long addShiftedDown(long[] jArr, int i2, long[] jArr2, int i3, int i4, int i5) {
int i6 = 2 % 2;
int i7 = a;
int i8 = i7 + 59;
i = i8 % 128;
long j = i8 % 2 == 0 ? 1L : 0L;
int i9 = i7 + 79;
i = i9 % 128;
int i10 = i9 % 2;
while (true) {
i4--;
if (i4 < 0) {
return j;
}
int i11 = a + 29;
i = i11 % 128;
if (i11 % 2 == 0) {
long j2 = jArr2[i3 >> i4];
int i12 = i2 >> i4;
jArr[i12] = (j * (j2 >>> i5)) | jArr[i12];
j = j2 >>> (42 / i5);
} else {
long j3 = jArr2[i3 + i4];
int i13 = i2 + i4;
jArr[i13] = (j | (j3 >>> i5)) ^ jArr[i13];
j = j3 << (64 - i5);
}
}
}
/* JADX WARN: Code restructure failed: missing block: B:11:?, code lost:
return;
*/
/* JADX WARN: Code restructure failed: missing block: B:12:0x0025, code lost:
r1 = r1 + 101;
org.bouncycastle.math.ec.LongArray.a = r1 % 128;
r1 = r1 % 2;
add(r9.m_ints, r2, r10.m_ints, 0, r11);
*/
/* JADX WARN: Code restructure failed: missing block: B:13:0x0034, code lost:
return;
*/
/* JADX WARN: Code restructure failed: missing block: B:15:0x0023, code lost:
if (r12 == 0) goto L10;
*/
/* JADX WARN: Code restructure failed: missing block: B:4:0x0016, code lost:
if (r12 == 0) goto L10;
*/
/* JADX WARN: Code restructure failed: missing block: B:6:0x0035, code lost:
r0 = addShiftedUp(r9.m_ints, r2, r10.m_ints, 0, r11, r12);
*/
/* JADX WARN: Code restructure failed: missing block: B:7:0x0044, code lost:
if (r0 == 0) goto L16;
*/
/* JADX WARN: Code restructure failed: missing block: B:8:0x0046, code lost:
r10 = r9.m_ints;
r11 = r11 + r2;
r10[r11] = r0 ^ r10[r11];
*/
/* JADX WARN: Code restructure failed: missing block: B:9:0x004e, code lost:
return;
*/
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
private void addShiftedByBitsSafe(org.bouncycastle.math.ec.LongArray r10, int r11, int r12) {
/*
r9 = this;
r0 = 2
int r1 = r0 % r0
int r1 = org.bouncycastle.math.ec.LongArray.i
int r2 = r1 + 89
int r3 = r2 % 128
org.bouncycastle.math.ec.LongArray.a = r3
int r2 = r2 % r0
if (r2 == 0) goto L1b
int r11 = r11 % 125
int r11 = r11 >>> 42
int r2 = r12 * 111
r12 = r12 & 75
if (r12 != 0) goto L19
goto L25
L19:
r8 = r12
goto L35
L1b:
int r11 = r11 + 63
int r11 = r11 >>> 6
int r2 = r12 >>> 6
r12 = r12 & 63
if (r12 != 0) goto L19
L25:
int r1 = r1 + 101
int r12 = r1 % 128
org.bouncycastle.math.ec.LongArray.a = r12
int r1 = r1 % r0
long[] r12 = r9.m_ints
long[] r10 = r10.m_ints
r0 = 0
add(r12, r2, r10, r0, r11)
return
L35:
long[] r3 = r9.m_ints
long[] r5 = r10.m_ints
r6 = 0
r4 = r2
r7 = r11
long r0 = addShiftedUp(r3, r4, r5, r6, r7, r8)
r3 = 0
int r10 = (r0 > r3 ? 1 : (r0 == r3 ? 0 : -1))
if (r10 == 0) goto L4e
long[] r10 = r9.m_ints
int r11 = r11 + r2
r2 = r10[r11]
long r0 = r0 ^ r2
r10[r11] = r0
L4e:
return
*/
throw new UnsupportedOperationException("Method not decompiled: org.bouncycastle.math.ec.LongArray.addShiftedByBitsSafe(org.bouncycastle.math.ec.LongArray, int, int):void");
}
private static void addBoth(long[] jArr, int i2, long[] jArr2, int i3, long[] jArr3, int i4, int i5) {
int i6 = 2 % 2;
int i7 = 0;
while (i7 < i5) {
int i8 = i + 15;
a = i8 % 128;
if (i8 % 2 != 0) {
int i9 = i2 >> i7;
jArr[i9] = jArr[i9] / (jArr2[i3 >> i7] * jArr3[i4 * i7]);
i7 += 33;
} else {
int i10 = i2 + i7;
jArr[i10] = jArr[i10] ^ (jArr2[i3 + i7] ^ jArr3[i4 + i7]);
i7++;
}
}
int i11 = a + 1;
i = i11 % 128;
int i12 = i11 % 2;
}
private static void add(long[] jArr, int i2, long[] jArr2, int i3, long[] jArr3, int i4, int i5) {
int i6 = 2 % 2;
int i7 = i + 107;
a = i7 % 128;
int i8 = i7 % 2;
for (int i9 = 0; i9 < i5; i9++) {
jArr3[i4 + i9] = jArr[i2 + i9] ^ jArr2[i3 + i9];
}
int i10 = a + 35;
i = i10 % 128;
if (i10 % 2 != 0) {
return;
}
Object obj = null;
obj.hashCode();
throw null;
}
private static void add(long[] jArr, int i2, long[] jArr2, int i3, int i4) {
int i5 = 2 % 2;
int i6 = a + 13;
i = i6 % 128;
int i7 = i6 % 2;
int i8 = 0;
while (i8 < i4) {
int i9 = i2 + i8;
jArr[i9] = jArr[i9] ^ jArr2[i3 + i8];
i8++;
int i10 = a + 43;
i = i10 % 128;
if (i10 % 2 == 0) {
int i11 = 5 % 5;
}
}
}
public LongArray(long[] jArr, int i2, int i3) {
if (i2 == 0 && i3 == jArr.length) {
int i4 = a + 25;
i = i4 % 128;
int i5 = i4 % 2;
this.m_ints = jArr;
if (i5 != 0) {
return;
}
Object obj = null;
obj.hashCode();
throw null;
}
long[] jArr2 = new long[i3];
this.m_ints = jArr2;
System.arraycopy(jArr, i2, jArr2, 0, i3);
int i6 = i + 115;
a = i6 % 128;
if (i6 % 2 != 0) {
int i7 = 47 / 0;
}
}
public LongArray(long[] jArr) {
this.m_ints = jArr;
}
public LongArray(BigInteger bigInteger) {
if (bigInteger == null || bigInteger.signum() < 0) {
throw new IllegalArgumentException("invalid F2m field value");
}
int i2 = 1;
if (bigInteger.signum() == 0) {
this.m_ints = new long[]{0};
return;
}
byte[] byteArray = bigInteger.toByteArray();
int length = byteArray.length;
if (byteArray[0] == 0) {
int i3 = i + 45;
a = i3 % 128;
int i4 = i3 % 2;
length--;
} else {
i2 = 0;
}
int i5 = (length + 7) / 8;
this.m_ints = new long[i5];
int i6 = i5 - 1;
int i7 = (length % 8) + i2;
if (i2 < i7) {
int i8 = 2 % 2;
long j = 0;
while (i2 < i7) {
j = (j << 8) | (byteArray[i2] & UnsignedBytes.MAX_VALUE);
i2++;
}
this.m_ints[i6] = j;
i6 = i5 - 2;
}
while (i6 >= 0) {
int i9 = 2 % 2;
long j2 = 0;
int i10 = 0;
while (i10 < 8) {
int i11 = a + 111;
int i12 = i11 % 128;
i = i12;
int i13 = i11 % 2;
j2 = (j2 << 8) | (byteArray[i2] & UnsignedBytes.MAX_VALUE);
i10++;
i2++;
int i14 = i12 + 37;
a = i14 % 128;
int i15 = i14 % 2;
}
this.m_ints[i6] = j2;
i6--;
}
int i16 = i + 5;
a = i16 % 128;
if (i16 % 2 != 0) {
int i17 = 96 / 0;
}
}
public LongArray(int i2) {
this.m_ints = new long[i2];
}
static {
a = 0;
c();
INTERLEAVE2_TABLE = new short[]{0, 1, 4, 5, 16, 17, 20, 21, 64, 65, 68, 69, 80, 81, 84, 85, 256, PassportService.EF_DG1, PassportService.EF_DG4, PassportService.EF_DG5, PassportService.EF_DG16, 273, 276, 277, 320, 321, 324, 325, 336, 337, 340, 341, 1024, 1025, 1028, 1029, 1040, 1041, 1044, 1045, 1088, 1089, 1092, 1093, 1104, 1105, 1108, 1109, 1280, 1281, 1284, 1285, 1296, 1297, 1300, 1301, 1344, 1345, 1348, 1349, 1360, 1361, 1364, 1365, 4096, 4097, 4100, 4101, 4112, 4113, 4116, 4117, 4160, 4161, 4164, 4165, 4176, 4177, 4180, 4181, 4352, 4353, 4356, 4357, 4368, 4369, 4372, 4373, 4416, 4417, 4420, 4421, 4432, 4433, 4436, 4437, 5120, 5121, 5124, 5125, 5136, 5137, 5140, 5141, 5184, 5185, 5188, 5189, 5200, 5201, 5204, 5205, 5376, 5377, 5380, 5381, 5392, 5393, 5396, 5397, 5440, 5441, 5444, 5445, 5456, 5457, 5460, 5461, Shorts.MAX_POWER_OF_TWO, 16385, 16388, 16389, 16400, 16401, 16404, 16405, 16448, 16449, 16452, 16453, 16464, 16465, 16468, 16469, 16640, 16641, 16644, 16645, 16656, 16657, 16660, 16661, 16704, 16705, 16708, 16709, 16720, 16721, 16724, 16725, 17408, 17409, 17412, 17413, 17424, 17425, 17428, 17429, 17472, 17473, 17476, 17477, 17488, 17489, 17492, 17493, 17664, 17665, 17668, 17669, 17680, 17681, 17684, 17685, 17728, 17729, 17732, 17733, 17744, 17745, 17748, 17749, 20480, 20481, 20484, 20485, 20496, 20497, 20500, 20501, 20544, 20545, 20548, 20549, 20560, 20561, 20564, 20565, 20736, 20737, 20740, 20741, 20752, 20753, 20756, 20757, 20800, 20801, 20804, 20805, 20816, 20817, 20820, 20821, 21504, 21505, 21508, 21509, 21520, 21521, 21524, 21525, 21568, 21569, 21572, 21573, 21584, 21585, 21588, 21589, 21760, 21761, 21764, 21765, 21776, 21777, 21780, 21781, 21824, 21825, 21828, 21829, 21840, 21841, 21844, 21845};
INTERLEAVE3_TABLE = new int[]{0, 1, 8, 9, 64, 65, 72, 73, 512, 513, 520, 521, 576, 577, 584, 585, 4096, 4097, 4104, 4105, 4160, 4161, 4168, 4169, 4608, 4609, 4616, 4617, 4672, 4673, 4680, 4681, 32768, 32769, 32776, 32777, 32832, 32833, 32840, 32841, 33280, 33281, 33288, 33289, 33344, 33345, 33352, 33353, 36864, 36865, 36872, 36873, 36928, 36929, 36936, 36937, 37376, 37377, 37384, 37385, 37440, 37441, 37448, 37449, 262144, 262145, 262152, 262153, 262208, 262209, 262216, 262217, 262656, 262657, 262664, 262665, 262720, 262721, 262728, 262729, 266240, 266241, 266248, 266249, 266304, 266305, 266312, 266313, 266752, 266753, 266760, 266761, 266816, 266817, 266824, 266825, 294912, 294913, 294920, 294921, 294976, 294977, 294984, 294985, 295424, 295425, 295432, 295433, 295488, 295489, 295496, 295497, 299008, 299009, 299016, 299017, 299072, 299073, 299080, 299081, 299520, 299521, 299528, 299529, 299584, 299585, 299592, 299593};
INTERLEAVE4_TABLE = new int[]{0, 1, 16, 17, 256, 257, 272, 273, 4096, 4097, 4112, 4113, 4352, 4353, 4368, 4369, 65536, 65537, 65552, 65553, 65792, 65793, 65808, 65809, 69632, 69633, 69648, 69649, 69888, 69889, 69904, 69905, PKIFailureInfo.badCertTemplate, 1048577, 1048592, 1048593, 1048832, 1048833, 1048848, 1048849, 1052672, 1052673, 1052688, 1052689, 1052928, 1052929, 1052944, 1052945, 1114112, 1114113, 1114128, 1114129, 1114368, 1114369, 1114384, 1114385, 1118208, 1118209, 1118224, 1118225, 1118464, 1118465, 1118480, 1118481, Http2Connection.OKHTTP_CLIENT_WINDOW_SIZE, 16777217, 16777232, 16777233, 16777472, 16777473, 16777488, 16777489, 16781312, 16781313, 16781328, 16781329, 16781568, 16781569, 16781584, 16781585, R.attr.theme, R.attr.label, R.attr.exported, R.attr.process, R.attr.transcriptMode, R.attr.cacheColorHint, R.attr.childIndicatorRight, R.attr.childDivider, 16846848, 16846849, 16846864, 16846865, 16847104, 16847105, 16847120, 16847121, R.raw.loaderror, R.raw.nodomain, 17825808, 17825809, 17826048, 17826049, 17826064, 17826065, 17829888, 17829889, 17829904, 17829905, 17830144, 17830145, 17830160, 17830161, R.bool.config_sendPackageName, R.bool.config_showDefaultAssistant, R.bool.config_allowEscrowTokenForTrustAgent, R.bool.config_allowPriorityVibrationsInLowPowerMode, R.bool.config_user_notification_of_restrictied_mobile_access, R.bool.config_voice_capable, R.bool.config_zramWriteback, R.bool.editable_voicemailnumber, 17895424, 17895425, 17895440, 17895441, 17895680, 17895681, 17895696, 17895697, 268435456, 268435457, 268435472, 268435473, 268435712, 268435713, 268435728, 268435729, 268439552, 268439553, 268439568, 268439569, 268439808, 268439809, 268439824, 268439825, 268500992, 268500993, 268501008, 268501009, 268501248, 268501249, 268501264, 268501265, 268505088, 268505089, 268505104, 268505105, 268505344, 268505345, 268505360, 268505361, 269484032, 269484033, 269484048, 269484049, 269484288, 269484289, 269484304, 269484305, 269488128, 269488129, 269488144, 269488145, 269488384, 269488385, 269488400, 269488401, 269549568, 269549569, 269549584, 269549585, 269549824, 269549825, 269549840, 269549841, 269553664, 269553665, 269553680, 269553681, 269553920, 269553921, 269553936, 269553937, 285212672, 285212673, 285212688, 285212689, 285212928, 285212929, 285212944, 285212945, 285216768, 285216769, 285216784, 285216785, 285217024, 285217025, 285217040, 285217041, 285278208, 285278209, 285278224, 285278225, 285278464, 285278465, 285278480, 285278481, 285282304, 285282305, 285282320, 285282321, 285282560, 285282561, 285282576, 285282577, 286261248, 286261249, 286261264, 286261265, 286261504, 286261505, 286261520, 286261521, 286265344, 286265345, 286265360, 286265361, 286265600, 286265601, 286265616, 286265617, 286326784, 286326785, 286326800, 286326801, 286327040, 286327041, 286327056, 286327057, 286330880, 286330881, 286330896, 286330897, 286331136, 286331137, 286331152, 286331153};
INTERLEAVE5_TABLE = new int[]{0, 1, 32, 33, 1024, 1025, 1056, 1057, 32768, 32769, 32800, 32801, 33792, 33793, 33824, 33825, PKIFailureInfo.badCertTemplate, 1048577, 1048608, 1048609, 1049600, 1049601, 1049632, 1049633, 1081344, 1081345, 1081376, 1081377, 1082368, 1082369, 1082400, 1082401, 33554432, 33554433, 33554464, 33554465, 33555456, 33555457, 33555488, 33555489, 33587200, 33587201, 33587232, 33587233, 33588224, 33588225, 33588256, 33588257, 34603008, 34603009, 34603040, 34603041, 34604032, 34604033, 34604064, 34604065, 34635776, 34635777, 34635808, 34635809, 34636800, 34636801, 34636832, 34636833, 1073741824, 1073741825, 1073741856, 1073741857, 1073742848, 1073742849, 1073742880, 1073742881, 1073774592, 1073774593, 1073774624, 1073774625, 1073775616, 1073775617, 1073775648, 1073775649, 1074790400, 1074790401, 1074790432, 1074790433, 1074791424, 1074791425, 1074791456, 1074791457, 1074823168, 1074823169, 1074823200, 1074823201, 1074824192, 1074824193, 1074824224, 1074824225, 1107296256, 1107296257, 1107296288, 1107296289, 1107297280, 1107297281, 1107297312, 1107297313, 1107329024, 1107329025, 1107329056, 1107329057, 1107330048, 1107330049, 1107330080, 1107330081, 1108344832, 1108344833, 1108344864, 1108344865, 1108345856, 1108345857, 1108345888, 1108345889, 1108377600, 1108377601, 1108377632, 1108377633, 1108378624, 1108378625, 1108378656, 1108378657};
long[] jArr = new long[512];
ByteBuffer.wrap("\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0080\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0081\u0000\u0000\u0000\u0000\u0000\u0000@\u0000\u0000\u0000\u0000\u0000\u0000\u0000@\u0001\u0000\u0000\u0000\u0000\u0000\u0000@\u0080\u0000\u0000\u0000\u0000\u0000\u0000@\u0081\u0000\u0000\u0000\u0000\u0000 \u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000\u0001\u0000\u0000\u0000\u0000\u0000 \u0000\u0080\u0000\u0000\u0000\u0000\u0000 \u0000\u0081\u0000\u0000\u0000\u0000\u0000 @\u0000\u0000\u0000\u0000\u0000\u0000 @\u0001\u0000\u0000\u0000\u0000\u0000 @\u0080\u0000\u0000\u0000\u0000\u0000 @\u0081\u0000\u0000\u0000\u0000\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0010\u0000\u0000\u0080\u0000\u0000\u0000\u0000\u0010\u0000\u0000\u0081\u0000\u0000\u0000\u0000\u0010\u0000@\u0000\u0000\u0000\u0000\u0000\u0010\u0000@\u0001\u0000\u0000\u0000\u0000\u0010\u0000@\u0080\u0000\u0000\u0000\u0000\u0010\u0000@\u0081\u0000\u0000\u0000\u0000\u0010 \u0000\u0000\u0000\u0000\u0000\u0000\u0010 \u0000\u0001\u0000\u0000\u0000\u0000\u0010 \u0000\u0080\u0000\u0000\u0000\u0000\u0010 \u0000\u0081\u0000\u0000\u0000\u0000\u0010 @\u0000\u0000\u0000\u0000\u0000\u0010 @\u0001\u0000\u0000\u0000\u0000\u0010 @\u0080\u0000\u0000\u0000\u0000\u0010 @\u0081\u0000\u0000\u0000\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u0000\u0000\u0000\u0001\u0000\u0000\u0000\b\u0000\u0000\u0000\u0080\u0000\u0000\u0000\b\u0000\u0000\u0000\u0081\u0000\u0000\u0000\b\u0000\u0000@\u0000\u0000\u0000\u0000\b\u0000\u0000@\u0001\u0000\u0000\u0000\b\u0000\u0000@\u0080\u0000\u0000\u0000\b\u0000\u0000@\u0081\u0000\u0000\u0000\b\u0000 \u0000\u0000\u0000\u0000\u0000\b\u0000 \u0000\u0001\u0000\u0000\u0000\b\u0000 \u0000\u0080\u0000\u0000\u0000\b\u0000 \u0000\u0081\u0000\u0000\u0000\b\u0000 @\u0000\u0000\u0000\u0000\b\u0000 @\u0001\u0000\u0000\u0000\b\u0000 @\u0080\u0000\u0000\u0000\b\u0000 @\u0081\u0000\u0000\u0000\b\u0010\u0000\u0000\u0000\u0000\u0000\u0000\b\u0010\u0000\u0000\u0001\u0000\u0000\u0000\b\u0010\u0000\u0000\u0080\u0000\u0000\u0000\b\u0010\u0000\u0000\u0081\u0000\u0000\u0000\b\u0010\u0000@\u0000\u0000\u0000\u0000\b\u0010\u0000@\u0001\u0000\u0000\u0000\b\u0010\u0000@\u0080\u0000\u0000\u0000\b\u0010\u0000@\u0081\u0000\u0000\u0000\b\u0010 \u0000\u0000\u0000\u0000\u0000\b\u0010 \u0000\u0001\u0000\u0000\u0000\b\u0010 \u0000\u0080\u0000\u0000\u0000\b\u0010 \u0000\u0081\u0000\u0000\u0000\b\u0010 @\u0000\u0000\u0000\u0000\b\u0010 @\u0001\u0000\u0000\u0000\b\u0010 @\u0080\u0000\u0000\u0000\b\u0010 @\u0081\u0000\u0000\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0004\u0000\u0000\u0000\u0000\u0080\u0000\u0000\u0004\u0000\u0000\u0000\u0000\u0081\u0000\u0000\u0004\u0000\u0000\u0000@\u0000\u0000\u0000\u0004\u0000\u0000\u0000@\u0001\u0000\u0000\u0004\u0000\u0000\u0000@\u0080\u0000\u0000\u0004\u0000\u0000\u0000@\u0081\u0000\u0000\u0004\u0000\u0000 \u0000\u0000\u0000\u0000\u0004\u0000\u0000 \u0000\u0001\u0000\u0000\u0004\u0000\u0000 \u0000\u0080\u0000\u0000\u0004\u0000\u0000 \u0000\u0081\u0000\u0000\u0004\u0000\u0000 @\u0000\u0000\u0000\u0004\u0000\u0000 @\u0001\u0000\u0000\u0004\u0000\u0000 @\u0080\u0000\u0000\u0004\u0000\u0000 @\u0081\u0000\u0000\u0004\u0000\u0010\u0000\u0000\u0000\u0000\u0000\u0004\u0000\u0010\u0000\u0000\u0001\u0000\u0000\u0004\u0000\u0010\u0000\u0000\u0080\u0000\u0000\u0004\u0000\u0010\u0000\u0000\u0081\u0000\u0000\u0004\u0000\u0010\u0000@\u0000\u0000\u0000\u0004\u0000\u0010\u0000@\u0001\u0000\u0000\u0004\u0000\u0010\u0000@\u0080\u0000\u0000\u0004\u0000\u0010\u0000@\u0081\u0000\u0000\u0004\u0000\u0010 \u0000\u0000\u0000\u0000\u0004\u0000\u0010 \u0000\u0001\u0000\u0000\u0004\u0000\u0010 \u0000\u0080\u0000\u0000\u0004\u0000\u0010 \u0000\u0081\u0000\u0000\u0004\u0000\u0010 @\u0000\u0000\u0000\u0004\u0000\u0010 @\u0001\u0000\u0000\u0004\u0000\u0010 @\u0080\u0000\u0000\u0004\u0000\u0010 @\u0081\u0000\u0000\u0004\b\u0000\u0000\u0000\u0000\u0000\u0000\u0004\b\u0000
INTERLEAVE7_TABLE = jArr;
bitLengths = new byte[]{0, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8};
int i2 = i + 79;
a = i2 % 128;
if (i2 % 2 != 0) {
int i3 = 77 / 0;
}
}
}