zzsh.smali
.class public final Lcom/google/android/gms/internal/ads/zzsh;
.super Lcom/google/android/gms/internal/ads/zzrw;
.source ""
# annotations
.annotation runtime Ljavax/annotation/ParametersAreNonnullByDefault;
.end annotation
# instance fields
.field private zzbuu:Ljava/security/MessageDigest;
.field private final zzbvb:I
.field private final zzbvc:I
# direct methods
.method public constructor <init>(I)V
.registers 4
invoke-direct {p0}, Lcom/google/android/gms/internal/ads/zzrw;-><init>()V
div-int/lit8 v0, p1, 0x8
rem-int/lit8 v1, p1, 0x8
if-lez v1, :cond_b
add-int/lit8 v0, v0, 0x1
:cond_b
iput v0, p0, Lcom/google/android/gms/internal/ads/zzsh;->zzbvb:I
iput p1, p0, Lcom/google/android/gms/internal/ads/zzsh;->zzbvc:I
return-void
.end method
# virtual methods
.method public final zzbp(Ljava/lang/String;)[B
.registers 11
iget-object v0, p0, Lcom/google/android/gms/internal/ads/zzrw;->mLock:Ljava/lang/Object;
monitor-enter v0
:try_start_3
invoke-virtual {p0}, Lcom/google/android/gms/internal/ads/zzrw;->zzmt()Ljava/security/MessageDigest;
move-result-object v1
iput-object v1, p0, Lcom/google/android/gms/internal/ads/zzsh;->zzbuu:Ljava/security/MessageDigest;
const/4 v2, 0x0
if-nez v1, :cond_10
new-array p1, v2, [B
monitor-exit v0
return-object p1
:cond_10
invoke-virtual {v1}, Ljava/security/MessageDigest;->reset()V
iget-object v1, p0, Lcom/google/android/gms/internal/ads/zzsh;->zzbuu:Ljava/security/MessageDigest;
const-string v3, "UTF-8"
invoke-static {v3}, Ljava/nio/charset/Charset;->forName(Ljava/lang/String;)Ljava/nio/charset/Charset;
move-result-object v3
invoke-virtual {p1, v3}, Ljava/lang/String;->getBytes(Ljava/nio/charset/Charset;)[B
move-result-object p1
invoke-virtual {v1, p1}, Ljava/security/MessageDigest;->update([B)V
iget-object p1, p0, Lcom/google/android/gms/internal/ads/zzsh;->zzbuu:Ljava/security/MessageDigest;
invoke-virtual {p1}, Ljava/security/MessageDigest;->digest()[B
move-result-object p1
array-length v1, p1
iget v3, p0, Lcom/google/android/gms/internal/ads/zzsh;->zzbvb:I
if-le v1, v3, :cond_2e
goto :goto_2f
:cond_2e
array-length v3, p1
:goto_2f
new-array v1, v3, [B
invoke-static {p1, v2, v1, v2, v3}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
iget p1, p0, Lcom/google/android/gms/internal/ads/zzsh;->zzbvc:I
const/16 v4, 0x8
rem-int/2addr p1, v4
if-lez p1, :cond_63
const-wide/16 v5, 0x0
:goto_3d
if-ge v2, v3, :cond_4b
if-lez v2, :cond_42
shl-long/2addr v5, v4
:cond_42
aget-byte p1, v1, v2
and-int/lit16 p1, p1, 0xff
int-to-long v7, p1
add-long/2addr v5, v7
add-int/lit8 v2, v2, 0x1
goto :goto_3d
:cond_4b
iget p1, p0, Lcom/google/android/gms/internal/ads/zzsh;->zzbvc:I
rem-int/2addr p1, v4
rsub-int/lit8 p1, p1, 0x8
ushr-long v2, v5, p1
iget p1, p0, Lcom/google/android/gms/internal/ads/zzsh;->zzbvb:I
add-int/lit8 p1, p1, -0x1
:goto_56
if-ltz p1, :cond_63
const-wide/16 v5, 0xff
and-long/2addr v5, v2
long-to-int v6, v5
int-to-byte v5, v6
aput-byte v5, v1, p1
ushr-long/2addr v2, v4
add-int/lit8 p1, p1, -0x1
goto :goto_56
:cond_63
monitor-exit v0
return-object v1
:catchall_65
move-exception p1
monitor-exit v0
:try_end_67
.catchall {:try_start_3 .. :try_end_67} :catchall_65
goto :goto_69
:goto_68
throw p1
:goto_69
goto :goto_68
.end method