WeChat.apk(点击下载) / b.java


package pe4;

import androidx.exifinterface.media.ExifInterface;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class b {
    public static void a(int[] iArr, int i15, byte[] bArr) {
        int length = bArr.length >> 2;
        if (length > i15) {
            length = i15;
        }
        int i16 = 0;
        int i17 = 0;
        while (i16 < length) {
            int i18 = i17 + 1;
            int i19 = iArr[i16];
            bArr[i17] = (byte) (i19 & 255);
            int i25 = i18 + 1;
            bArr[i18] = (byte) ((i19 >>> 8) & 255);
            int i26 = i25 + 1;
            bArr[i25] = (byte) ((i19 >>> 16) & 255);
            i17 = i26 + 1;
            bArr[i26] = (byte) ((i19 >>> 24) & 255);
            i16++;
        }
        if (i15 > length && i17 < bArr.length) {
            int i27 = i17 + 1;
            bArr[i17] = (byte) (iArr[i16] & 255);
            int i28 = 8;
            while (i28 <= 24 && i27 < bArr.length) {
                bArr[i27] = (byte) ((iArr[i16] >>> i28) & 255);
                i28 += 8;
                i27++;
            }
        }
    }

    public static byte[] b(byte[] bArr, byte[] bArr2) {
        int i15;
        if (bArr2 != null && bArr2.length > 16) {
            try {
                MessageDigest instance = MessageDigest.getInstance("MD5");
                instance.update(bArr2);
                bArr2 = instance.digest();
            } catch (NoSuchAlgorithmException unused) {
                bArr2 = null;
            }
        }
        if (bArr == null || bArr2 == null || bArr.length == 0) {
            return bArr;
        }
        int i16 = 4;
        if (bArr.length % 4 == 0 && bArr.length >= 8) {
            int length = bArr.length >>> 2;
            int[] iArr = new int[length];
            d(bArr, iArr);
            if (bArr2.length % 4 == 0) {
                i15 = bArr2.length >>> 2;
            } else {
                i15 = (bArr2.length >>> 2) + 1;
            }
            if (i15 >= 4) {
                i16 = i15;
            }
            int[] iArr2 = new int[i16];
            for (int i17 = 0; i17 < i16; i17++) {
                iArr2[i17] = 0;
            }
            d(bArr2, iArr2);
            int i18 = length - 1;
            int i19 = iArr[i18];
            int i25 = iArr[0];
            for (int i26 = ((52 / (i18 + 1)) + 6) * -1640531527; i26 != 0; i26 -= -1640531527) {
                int i27 = (i26 >>> 2) & 3;
                int i28 = i18;
                while (i28 > 0) {
                    int i29 = i28 - 1;
                    int i35 = iArr[i29];
                    i25 = iArr[i28] - (((i25 ^ i26) + (i35 ^ iArr2[(i28 & 3) ^ i27])) ^ (((i35 >>> 5) ^ (i25 << 2)) + ((i25 >>> 3) ^ (i35 << 4))));
                    iArr[i28] = i25;
                    i28 = i29;
                }
                int i36 = iArr[i18];
                i25 = iArr[0] - (((i25 ^ i26) + (iArr2[i27 ^ (i28 & 3)] ^ i36)) ^ (((i36 >>> 5) ^ (i25 << 2)) + ((i25 >>> 3) ^ (i36 << 4))));
                iArr[0] = i25;
            }
            int i37 = iArr[i18];
            if (i37 >= 0 && i37 <= (i18 << 2)) {
                byte[] bArr3 = new byte[i37];
                a(iArr, i18, bArr3);
                return bArr3;
            }
        }
        return null;
    }

    public static byte[] c(byte[] bArr, byte[] bArr2) {
        int i15;
        int i16;
        byte[] bArr3 = bArr2;
        if (bArr3 != null && bArr3.length > 16) {
            try {
                MessageDigest instance = MessageDigest.getInstance("MD5");
                instance.update(bArr3);
                bArr3 = instance.digest();
            } catch (NoSuchAlgorithmException unused) {
                bArr3 = null;
            }
        }
        if (bArr == null || bArr3 == null || bArr.length == 0) {
            return bArr;
        }
        int i17 = 4;
        if (bArr.length % 4 == 0) {
            i15 = (bArr.length >>> 2) + 1;
        } else {
            i15 = (bArr.length >>> 2) + 2;
        }
        int[] iArr = new int[i15];
        d(bArr, iArr);
        int i18 = i15 - 1;
        iArr[i18] = bArr.length;
        if (bArr3.length % 4 == 0) {
            i16 = bArr3.length >>> 2;
        } else {
            i16 = (bArr3.length >>> 2) + 1;
        }
        if (i16 >= 4) {
            i17 = i16;
        }
        int[] iArr2 = new int[i17];
        for (int i19 = 0; i19 < i17; i19++) {
            iArr2[i19] = 0;
        }
        d(bArr3, iArr2);
        int i25 = iArr[i18];
        int i26 = iArr[0];
        int i27 = (52 / (i18 + 1)) + 6;
        int i28 = 0;
        while (true) {
            int i29 = i27 - 1;
            if (i27 > 0) {
                i28 -= 1640531527;
                int i35 = (i28 >>> 2) & 3;
                int i36 = 0;
                while (i36 < i18) {
                    int i37 = i36 + 1;
                    int i38 = iArr[i37];
                    i25 = ((((i25 >>> 5) ^ (i38 << 2)) + ((i38 >>> 3) ^ (i25 << 4))) ^ ((i38 ^ i28) + (i25 ^ iArr2[(i36 & 3) ^ i35]))) + iArr[i36];
                    iArr[i36] = i25;
                    i36 = i37;
                }
                int i39 = iArr[0];
                i25 = ((((i25 >>> 5) ^ (i39 << 2)) + ((i39 >>> 3) ^ (i25 << 4))) ^ ((i39 ^ i28) + (i25 ^ iArr2[i35 ^ (i36 & 3)]))) + iArr[i18];
                iArr[i18] = i25;
                i27 = i29;
            } else {
                byte[] bArr4 = new byte[(i15 << 2)];
                a(iArr, i15, bArr4);
                return bArr4;
            }
        }
    }

    public static void d(byte[] bArr, int[] iArr) {
        int length = bArr.length >> 2;
        int i15 = 0;
        int i16 = 0;
        while (i15 < length) {
            int i17 = i16 + 1;
            int i18 = bArr[i16] & ExifInterface.MARKER;
            iArr[i15] = i18;
            int i19 = i17 + 1;
            int i25 = i18 | ((bArr[i17] & ExifInterface.MARKER) << 8);
            iArr[i15] = i25;
            int i26 = i19 + 1;
            int i27 = i25 | ((bArr[i19] & ExifInterface.MARKER) << 16);
            iArr[i15] = i27;
            iArr[i15] = i27 | ((bArr[i26] & ExifInterface.MARKER) << 24);
            i15++;
            i16 = i26 + 1;
        }
        if (i16 < bArr.length) {
            int i28 = i16 + 1;
            iArr[i15] = bArr[i16] & ExifInterface.MARKER;
            int i29 = 8;
            while (i28 < bArr.length) {
                iArr[i15] = iArr[i15] | ((bArr[i28] & ExifInterface.MARKER) << i29);
                i28++;
                i29 += 8;
            }
        }
    }

    public static byte[] e() {
        try {
            StringBuffer stringBuffer = new StringBuffer();
            int[] iArr = {-36, -46, -45, -77, -22, -10, 47, -77, -72, -69, -32, 25, 21, -21, -6, -75, -71, 31, -39, -49, -49};
            for (int i15 = 0; i15 < 21; i15++) {
                stringBuffer.append((char) ("http://pmir.3g.qq.com".charAt(i15) + iArr[i15]));
            }
            return stringBuffer.toString().getBytes("UTF-8");
        } catch (UnsupportedEncodingException unused) {
            return null;
        }
    }
}