Files
rr3-apk/decompiled-community/sources/com/google/android/gms/internal/ads/zzaot.java
Daniel Elliott c080f0d97f Add Discord community version (64-bit only)
- Added realracing3-community.apk (71.57 MB)
- Removed 32-bit support (armeabi-v7a)
- Only includes arm64-v8a libraries
- Decompiled source code included
- Added README-community.md with analysis
2026-02-18 15:48:36 -08:00

83 lines
2.8 KiB
Java

package com.google.android.gms.internal.ads;
import android.util.Pair;
import androidx.core.internal.view.SupportMenu;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
/* loaded from: classes3.dex */
public final class zzaot {
public static long zza(ByteBuffer byteBuffer) {
zzg(byteBuffer);
return zze(byteBuffer, byteBuffer.position() + 16);
}
public static long zzb(ByteBuffer byteBuffer) {
zzg(byteBuffer);
return zze(byteBuffer, byteBuffer.position() + 12);
}
public static Pair zzc(RandomAccessFile randomAccessFile) throws IOException {
if (randomAccessFile.length() < 22) {
return null;
}
Pair zzf = zzf(randomAccessFile, 0);
return zzf != null ? zzf : zzf(randomAccessFile, SupportMenu.USER_MASK);
}
public static void zzd(ByteBuffer byteBuffer, long j) {
zzg(byteBuffer);
int position = byteBuffer.position() + 16;
if (j >= 0 && j <= 4294967295L) {
byteBuffer.putInt(byteBuffer.position() + position, (int) j);
return;
}
throw new IllegalArgumentException("uint32 value of out range: " + j);
}
private static long zze(ByteBuffer byteBuffer, int i) {
return byteBuffer.getInt(i) & 4294967295L;
}
private static Pair zzf(RandomAccessFile randomAccessFile, int i) throws IOException {
int i2;
long length = randomAccessFile.length();
if (length < 22) {
return null;
}
ByteBuffer allocate = ByteBuffer.allocate(((int) Math.min(i, (-22) + length)) + 22);
allocate.order(ByteOrder.LITTLE_ENDIAN);
long capacity = length - allocate.capacity();
randomAccessFile.seek(capacity);
randomAccessFile.readFully(allocate.array(), allocate.arrayOffset(), allocate.capacity());
zzg(allocate);
int capacity2 = allocate.capacity();
if (capacity2 >= 22) {
int i3 = capacity2 - 22;
int min = Math.min(i3, SupportMenu.USER_MASK);
for (int i4 = 0; i4 < min; i4++) {
i2 = i3 - i4;
if (allocate.getInt(i2) == 101010256 && ((char) allocate.getShort(i2 + 20)) == i4) {
break;
}
}
}
i2 = -1;
if (i2 == -1) {
return null;
}
allocate.position(i2);
ByteBuffer slice = allocate.slice();
slice.order(ByteOrder.LITTLE_ENDIAN);
return Pair.create(slice, Long.valueOf(capacity + i2));
}
private static void zzg(ByteBuffer byteBuffer) {
if (byteBuffer.order() != ByteOrder.LITTLE_ENDIAN) {
throw new IllegalArgumentException("ByteBuffer byte order must be little endian");
}
}
}