acw.smali

.class public abstract Ldxoptimizer/acw;
.super Ljava/lang/Object;
.source "CipherBase.java"


# instance fields
.field protected a:Ljavax/crypto/SecretKey;

.field protected b:Ljavax/crypto/Cipher;

.field protected c:Ljavax/crypto/Cipher;


# direct methods
.method public constructor <init>()V
    .registers 1

    .prologue
    .line 8
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    return-void
.end method

.method protected static a(Ljava/lang/String;)Ljavax/crypto/Cipher;
    .registers 2

    .prologue
    .line 22
    .line 25
    :try_start_0
    invoke-static {p0}, Ljavax/crypto/Cipher;->getInstance(Ljava/lang/String;)Ljavax/crypto/Cipher;
    :try_end_3
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_3} :catch_5

    move-result-object v0

    .line 30
    :goto_4
    return-object v0

    .line 26
    :catch_5
    move-exception v0

    .line 27
    const/4 v0, 0x0

    goto :goto_4
.end method


# virtual methods
.method protected a(Ljavax/crypto/SecretKey;Ljavax/crypto/Cipher;Ljavax/crypto/Cipher;)V
    .registers 4

    .prologue
    .line 16
    iput-object p1, p0, Ldxoptimizer/acw;->a:Ljavax/crypto/SecretKey;

    .line 17
    iput-object p2, p0, Ldxoptimizer/acw;->b:Ljavax/crypto/Cipher;

    .line 18
    iput-object p3, p0, Ldxoptimizer/acw;->c:Ljavax/crypto/Cipher;

    .line 19
    return-void
.end method

.method public a([B[B)[B
    .registers 10

    .prologue
    .line 34
    if-eqz p1, :cond_5

    array-length v0, p1

    if-nez v0, :cond_7

    :cond_5
    move-object v0, p1

    .line 49
    :goto_6
    return-object v0

    .line 38
    :cond_7
    const/4 v1, 0x0

    .line 40
    :try_start_8
    new-instance v0, Ljavax/crypto/spec/IvParameterSpec;

    invoke-direct {v0, p2}, Ljavax/crypto/spec/IvParameterSpec;-><init>([B)V

    .line 41
    iget-object v2, p0, Ldxoptimizer/acw;->b:Ljavax/crypto/Cipher;

    monitor-enter v2
    :try_end_10
    .catch Ljava/lang/Exception; {:try_start_8 .. :try_end_10} :catch_2e

    .line 42
    :try_start_10
    iget-object v3, p0, Ldxoptimizer/acw;->b:Ljavax/crypto/Cipher;

    const/4 v4, 0x1

    iget-object v5, p0, Ldxoptimizer/acw;->a:Ljavax/crypto/SecretKey;

    invoke-virtual {v3, v4, v5, v0}, Ljavax/crypto/Cipher;->init(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V

    .line 43
    iget-object v0, p0, Ldxoptimizer/acw;->b:Ljavax/crypto/Cipher;

    invoke-virtual {v0, p1}, Ljavax/crypto/Cipher;->doFinal([B)[B
    :try_end_1d
    .catchall {:try_start_10 .. :try_end_1d} :catchall_33

    move-result-object v0

    .line 44
    :try_start_1e
    monitor-exit v2
    :try_end_1f
    .catchall {:try_start_1e .. :try_end_1f} :catchall_20

    goto :goto_6

    :catchall_20
    move-exception v1

    move-object v6, v1

    move-object v1, v0

    move-object v0, v6

    :goto_24
    :try_start_24
    monitor-exit v2
    :try_end_25
    .catchall {:try_start_24 .. :try_end_25} :catchall_33

    :try_start_25
    throw v0
    :try_end_26
    .catch Ljava/lang/Exception; {:try_start_25 .. :try_end_26} :catch_26

    .line 45
    :catch_26
    move-exception v0

    move-object v6, v0

    move-object v0, v1

    move-object v1, v6

    .line 46
    :goto_2a
    invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V

    goto :goto_6

    .line 45
    :catch_2e
    move-exception v0

    move-object v6, v0

    move-object v0, v1

    move-object v1, v6

    goto :goto_2a

    .line 44
    :catchall_33
    move-exception v0

    goto :goto_24
.end method

.method public b([B[B)[B
    .registers 9

    .prologue
    .line 53
    if-eqz p1, :cond_5

    array-length v0, p1

    if-nez v0, :cond_6

    .line 68
    :cond_5
    :goto_5
    return-object p1

    .line 57
    :cond_6
    const/4 v0, 0x0

    .line 59
    :try_start_7
    new-instance v1, Ljavax/crypto/spec/IvParameterSpec;

    invoke-direct {v1, p2}, Ljavax/crypto/spec/IvParameterSpec;-><init>([B)V

    .line 60
    iget-object v2, p0, Ldxoptimizer/acw;->c:Ljavax/crypto/Cipher;

    monitor-enter v2
    :try_end_f
    .catch Ljava/lang/Exception; {:try_start_7 .. :try_end_f} :catch_22

    .line 61
    :try_start_f
    iget-object v3, p0, Ldxoptimizer/acw;->c:Ljavax/crypto/Cipher;

    const/4 v4, 0x2

    iget-object v5, p0, Ldxoptimizer/acw;->a:Ljavax/crypto/SecretKey;

    invoke-virtual {v3, v4, v5, v1}, Ljavax/crypto/Cipher;->init(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V

    .line 62
    iget-object v1, p0, Ldxoptimizer/acw;->c:Ljavax/crypto/Cipher;

    invoke-virtual {v1, p1}, Ljavax/crypto/Cipher;->doFinal([B)[B

    move-result-object p1

    monitor-exit v2

    goto :goto_5

    .line 63
    :catchall_1f
    move-exception v1

    monitor-exit v2
    :try_end_21
    .catchall {:try_start_f .. :try_end_21} :catchall_1f

    :try_start_21
    throw v1
    :try_end_22
    .catch Ljava/lang/Exception; {:try_start_21 .. :try_end_22} :catch_22

    .line 64
    :catch_22
    move-exception v1

    .line 65
    invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V

    move-object p1, v0

    .line 68
    goto :goto_5
.end method