CrackMe.apk
Download file
package com.google.android.exoplayer2.extractor.mp4;
import com.google.android.exoplayer2.util.Util;
final class FixedSampleSizeRechunker {
private static final int MAX_SAMPLE_SIZE = 8192;
public static final class Results {
public final long duration;
public final int[] flags;
public final int maximumSize;
public final long[] offsets;
public final int[] sizes;
public final long[] timestamps;
private Results(long[] jArr, int[] iArr, int i, long[] jArr2, int[] iArr2, long j) {
this.offsets = jArr;
this.sizes = iArr;
this.maximumSize = i;
this.timestamps = jArr2;
this.flags = iArr2;
this.duration = j;
}
}
public static Results rechunk(int i, long[] jArr, int[] iArr, long j) {
int[] iArr2 = iArr;
int i2 = 8192 / i;
int i3 = 0;
for (int ceilDivide : iArr2) {
i3 += Util.ceilDivide(ceilDivide, i2);
}
long[] jArr2 = new long[i3];
int[] iArr3 = new int[i3];
long[] jArr3 = new long[i3];
int[] iArr4 = new int[i3];
int i4 = 0;
int i5 = 0;
int i6 = 0;
for (int i7 = 0; i7 < iArr2.length; i7++) {
int i8 = iArr2[i7];
long j2 = jArr[i7];
while (i8 > 0) {
int min = Math.min(i2, i8);
jArr2[i5] = j2;
iArr3[i5] = i * min;
i6 = Math.max(i6, iArr3[i5]);
jArr3[i5] = ((long) i4) * j;
iArr4[i5] = 1;
j2 += (long) iArr3[i5];
i4 += min;
i8 -= min;
i5++;
}
}
return new Results(jArr2, iArr3, i6, jArr3, iArr4, j * ((long) i4));
}
private FixedSampleSizeRechunker() {
}
}
Download file