AESLightEngine.smali

.class public Lorg/spongycastle/crypto/engines/AESLightEngine;
.super Ljava/lang/Object;
.source "AESLightEngine.java"

# interfaces
.implements Lorg/spongycastle/crypto/BlockCipher;


# static fields
.field private static final BLOCK_SIZE:I = 0x10

.field private static final S:[B

.field private static final Si:[B

.field private static final m1:I = -0x7f7f7f80

.field private static final m2:I = 0x7f7f7f7f

.field private static final m3:I = 0x1b

.field private static final m4:I = -0x3f3f3f40

.field private static final m5:I = 0x3f3f3f3f

.field private static final rcon:[I


# instance fields
.field private C0:I

.field private C1:I

.field private C2:I

.field private C3:I

.field private ROUNDS:I

.field private WorkingKey:[[I

.field private forEncryption:Z


# direct methods
.method static constructor <clinit>()V
    .registers 2

    .prologue
    const/16 v1, 0x100

    .line 39
    new-array v0, v1, [B

    fill-array-data v0, :array_1a

    sput-object v0, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    .line 75
    new-array v0, v1, [B

    fill-array-data v0, :array_9e

    sput-object v0, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    .line 111
    const/16 v0, 0x1e

    new-array v0, v0, [I

    fill-array-data v0, :array_122

    sput-object v0, Lorg/spongycastle/crypto/engines/AESLightEngine;->rcon:[I

    return-void

    .line 39
    :array_1a
    .array-data 1
        0x63t
        0x7ct
        0x77t
        0x7bt
        -0xet
        0x6bt
        0x6ft
        -0x3bt
        0x30t
        0x1t
        0x67t
        0x2bt
        -0x2t
        -0x29t
        -0x55t
        0x76t
        -0x36t
        -0x7et
        -0x37t
        0x7dt
        -0x6t
        0x59t
        0x47t
        -0x10t
        -0x53t
        -0x2ct
        -0x5et
        -0x51t
        -0x64t
        -0x5ct
        0x72t
        -0x40t
        -0x49t
        -0x3t
        -0x6dt
        0x26t
        0x36t
        0x3ft
        -0x9t
        -0x34t
        0x34t
        -0x5bt
        -0x1bt
        -0xft
        0x71t
        -0x28t
        0x31t
        0x15t
        0x4t
        -0x39t
        0x23t
        -0x3dt
        0x18t
        -0x6at
        0x5t
        -0x66t
        0x7t
        0x12t
        -0x80t
        -0x1et
        -0x15t
        0x27t
        -0x4et
        0x75t
        0x9t
        -0x7dt
        0x2ct
        0x1at
        0x1bt
        0x6et
        0x5at
        -0x60t
        0x52t
        0x3bt
        -0x2at
        -0x4dt
        0x29t
        -0x1dt
        0x2ft
        -0x7ct
        0x53t
        -0x2ft
        0x0t
        -0x13t
        0x20t
        -0x4t
        -0x4ft
        0x5bt
        0x6at
        -0x35t
        -0x42t
        0x39t
        0x4at
        0x4ct
        0x58t
        -0x31t
        -0x30t
        -0x11t
        -0x56t
        -0x5t
        0x43t
        0x4dt
        0x33t
        -0x7bt
        0x45t
        -0x7t
        0x2t
        0x7ft
        0x50t
        0x3ct
        -0x61t
        -0x58t
        0x51t
        -0x5dt
        0x40t
        -0x71t
        -0x6et
        -0x63t
        0x38t
        -0xbt
        -0x44t
        -0x4at
        -0x26t
        0x21t
        0x10t
        -0x1t
        -0xdt
        -0x2et
        -0x33t
        0xct
        0x13t
        -0x14t
        0x5ft
        -0x69t
        0x44t
        0x17t
        -0x3ct
        -0x59t
        0x7et
        0x3dt
        0x64t
        0x5dt
        0x19t
        0x73t
        0x60t
        -0x7ft
        0x4ft
        -0x24t
        0x22t
        0x2at
        -0x70t
        -0x78t
        0x46t
        -0x12t
        -0x48t
        0x14t
        -0x22t
        0x5et
        0xbt
        -0x25t
        -0x20t
        0x32t
        0x3at
        0xat
        0x49t
        0x6t
        0x24t
        0x5ct
        -0x3et
        -0x2dt
        -0x54t
        0x62t
        -0x6ft
        -0x6bt
        -0x1ct
        0x79t
        -0x19t
        -0x38t
        0x37t
        0x6dt
        -0x73t
        -0x2bt
        0x4et
        -0x57t
        0x6ct
        0x56t
        -0xct
        -0x16t
        0x65t
        0x7at
        -0x52t
        0x8t
        -0x46t
        0x78t
        0x25t
        0x2et
        0x1ct
        -0x5at
        -0x4ct
        -0x3at
        -0x18t
        -0x23t
        0x74t
        0x1ft
        0x4bt
        -0x43t
        -0x75t
        -0x76t
        0x70t
        0x3et
        -0x4bt
        0x66t
        0x48t
        0x3t
        -0xat
        0xet
        0x61t
        0x35t
        0x57t
        -0x47t
        -0x7at
        -0x3ft
        0x1dt
        -0x62t
        -0x1ft
        -0x8t
        -0x68t
        0x11t
        0x69t
        -0x27t
        -0x72t
        -0x6ct
        -0x65t
        0x1et
        -0x79t
        -0x17t
        -0x32t
        0x55t
        0x28t
        -0x21t
        -0x74t
        -0x5ft
        -0x77t
        0xdt
        -0x41t
        -0x1at
        0x42t
        0x68t
        0x41t
        -0x67t
        0x2dt
        0xft
        -0x50t
        0x54t
        -0x45t
        0x16t
    .end array-data

    .line 75
    :array_9e
    .array-data 1
        0x52t
        0x9t
        0x6at
        -0x2bt
        0x30t
        0x36t
        -0x5bt
        0x38t
        -0x41t
        0x40t
        -0x5dt
        -0x62t
        -0x7ft
        -0xdt
        -0x29t
        -0x5t
        0x7ct
        -0x1dt
        0x39t
        -0x7et
        -0x65t
        0x2ft
        -0x1t
        -0x79t
        0x34t
        -0x72t
        0x43t
        0x44t
        -0x3ct
        -0x22t
        -0x17t
        -0x35t
        0x54t
        0x7bt
        -0x6ct
        0x32t
        -0x5at
        -0x3et
        0x23t
        0x3dt
        -0x12t
        0x4ct
        -0x6bt
        0xbt
        0x42t
        -0x6t
        -0x3dt
        0x4et
        0x8t
        0x2et
        -0x5ft
        0x66t
        0x28t
        -0x27t
        0x24t
        -0x4et
        0x76t
        0x5bt
        -0x5et
        0x49t
        0x6dt
        -0x75t
        -0x2ft
        0x25t
        0x72t
        -0x8t
        -0xat
        0x64t
        -0x7at
        0x68t
        -0x68t
        0x16t
        -0x2ct
        -0x5ct
        0x5ct
        -0x34t
        0x5dt
        0x65t
        -0x4at
        -0x6et
        0x6ct
        0x70t
        0x48t
        0x50t
        -0x3t
        -0x13t
        -0x47t
        -0x26t
        0x5et
        0x15t
        0x46t
        0x57t
        -0x59t
        -0x73t
        -0x63t
        -0x7ct
        -0x70t
        -0x28t
        -0x55t
        0x0t
        -0x74t
        -0x44t
        -0x2dt
        0xat
        -0x9t
        -0x1ct
        0x58t
        0x5t
        -0x48t
        -0x4dt
        0x45t
        0x6t
        -0x30t
        0x2ct
        0x1et
        -0x71t
        -0x36t
        0x3ft
        0xft
        0x2t
        -0x3ft
        -0x51t
        -0x43t
        0x3t
        0x1t
        0x13t
        -0x76t
        0x6bt
        0x3at
        -0x6ft
        0x11t
        0x41t
        0x4ft
        0x67t
        -0x24t
        -0x16t
        -0x69t
        -0xet
        -0x31t
        -0x32t
        -0x10t
        -0x4ct
        -0x1at
        0x73t
        -0x6at
        -0x54t
        0x74t
        0x22t
        -0x19t
        -0x53t
        0x35t
        -0x7bt
        -0x1et
        -0x7t
        0x37t
        -0x18t
        0x1ct
        0x75t
        -0x21t
        0x6et
        0x47t
        -0xft
        0x1at
        0x71t
        0x1dt
        0x29t
        -0x3bt
        -0x77t
        0x6ft
        -0x49t
        0x62t
        0xet
        -0x56t
        0x18t
        -0x42t
        0x1bt
        -0x4t
        0x56t
        0x3et
        0x4bt
        -0x3at
        -0x2et
        0x79t
        0x20t
        -0x66t
        -0x25t
        -0x40t
        -0x2t
        0x78t
        -0x33t
        0x5at
        -0xct
        0x1ft
        -0x23t
        -0x58t
        0x33t
        -0x78t
        0x7t
        -0x39t
        0x31t
        -0x4ft
        0x12t
        0x10t
        0x59t
        0x27t
        -0x80t
        -0x14t
        0x5ft
        0x60t
        0x51t
        0x7ft
        -0x57t
        0x19t
        -0x4bt
        0x4at
        0xdt
        0x2dt
        -0x1bt
        0x7at
        -0x61t
        -0x6dt
        -0x37t
        -0x64t
        -0x11t
        -0x60t
        -0x20t
        0x3bt
        0x4dt
        -0x52t
        0x2at
        -0xbt
        -0x50t
        -0x38t
        -0x15t
        -0x45t
        0x3ct
        -0x7dt
        0x53t
        -0x67t
        0x61t
        0x17t
        0x2bt
        0x4t
        0x7et
        -0x46t
        0x77t
        -0x2at
        0x26t
        -0x1ft
        0x69t
        0x14t
        0x63t
        0x55t
        0x21t
        0xct
        0x7dt
    .end array-data

    .line 111
    :array_122
    .array-data 4
        0x1
        0x2
        0x4
        0x8
        0x10
        0x20
        0x40
        0x80
        0x1b
        0x36
        0x6c
        0xd8
        0xab
        0x4d
        0x9a
        0x2f
        0x5e
        0xbc
        0x63
        0xc6
        0x97
        0x35
        0x6a
        0xd4
        0xb3
        0x7d
        0xfa
        0xef
        0xc5
        0x91
    .end array-data
.end method

.method public constructor <init>()V
    .registers 2

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

    .line 314
    const/4 v0, 0x0

    iput-object v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->WorkingKey:[[I

    .line 325
    return-void
.end method

.method private static FFmulX(I)I
    .registers 3

    .prologue
    .line 130
    const v0, 0x7f7f7f7f

    and-int/2addr v0, p0

    shl-int/lit8 v0, v0, 0x1

    const v1, -0x7f7f7f80

    and-int/2addr v1, p0

    ushr-int/lit8 v1, v1, 0x7

    mul-int/lit8 v1, v1, 0x1b

    xor-int/2addr v0, v1

    return v0
.end method

.method private static FFmulX2(I)I
    .registers 4

    .prologue
    .line 135
    const v0, 0x3f3f3f3f

    and-int/2addr v0, p0

    shl-int/lit8 v0, v0, 0x2

    .line 136
    const v1, -0x3f3f3f40

    and-int/2addr v1, p0

    .line 137
    ushr-int/lit8 v2, v1, 0x1

    xor-int/2addr v1, v2

    .line 138
    ushr-int/lit8 v2, v1, 0x2

    xor-int/2addr v0, v2

    ushr-int/lit8 v1, v1, 0x5

    xor-int/2addr v0, v1

    return v0
.end method

.method private decryptBlock([[I)V
    .registers 16

    .prologue
    const/4 v13, 0x3

    const/4 v12, 0x2

    const/4 v11, 0x1

    const/4 v10, 0x0

    .line 488
    iget v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C0:I

    iget v1, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->ROUNDS:I

    aget-object v1, p1, v1

    aget v1, v1, v10

    xor-int v4, v0, v1

    .line 489
    iget v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C1:I

    iget v1, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->ROUNDS:I

    aget-object v1, p1, v1

    aget v1, v1, v11

    xor-int v3, v0, v1

    .line 490
    iget v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C2:I

    iget v1, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->ROUNDS:I

    aget-object v1, p1, v1

    aget v1, v1, v12

    xor-int v2, v0, v1

    .line 492
    iget v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->ROUNDS:I

    add-int/lit8 v1, v0, -0x1

    iget v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C3:I

    iget v5, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->ROUNDS:I

    aget-object v5, p1, v5

    aget v5, v5, v13

    xor-int/2addr v0, v5

    .line 493
    :goto_2f
    if-le v1, v11, :cond_1d9

    .line 495
    sget-object v5, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    and-int/lit16 v6, v4, 0xff

    aget-byte v5, v5, v6

    and-int/lit16 v5, v5, 0xff

    sget-object v6, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    shr-int/lit8 v7, v0, 0x8

    and-int/lit16 v7, v7, 0xff

    aget-byte v6, v6, v7

    and-int/lit16 v6, v6, 0xff

    shl-int/lit8 v6, v6, 0x8

    xor-int/2addr v5, v6

    sget-object v6, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    shr-int/lit8 v7, v2, 0x10

    and-int/lit16 v7, v7, 0xff

    aget-byte v6, v6, v7

    and-int/lit16 v6, v6, 0xff

    shl-int/lit8 v6, v6, 0x10

    xor-int/2addr v5, v6

    sget-object v6, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    ushr-int/lit8 v7, v3, 0x18

    aget-byte v6, v6, v7

    shl-int/lit8 v6, v6, 0x18

    xor-int/2addr v5, v6

    invoke-static {v5}, Lorg/spongycastle/crypto/engines/AESLightEngine;->inv_mcol(I)I

    move-result v5

    aget-object v6, p1, v1

    aget v6, v6, v10

    xor-int/2addr v5, v6

    .line 496
    sget-object v6, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    and-int/lit16 v7, v3, 0xff

    aget-byte v6, v6, v7

    and-int/lit16 v6, v6, 0xff

    sget-object v7, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    shr-int/lit8 v8, v4, 0x8

    and-int/lit16 v8, v8, 0xff

    aget-byte v7, v7, v8

    and-int/lit16 v7, v7, 0xff

    shl-int/lit8 v7, v7, 0x8

    xor-int/2addr v6, v7

    sget-object v7, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    shr-int/lit8 v8, v0, 0x10

    and-int/lit16 v8, v8, 0xff

    aget-byte v7, v7, v8

    and-int/lit16 v7, v7, 0xff

    shl-int/lit8 v7, v7, 0x10

    xor-int/2addr v6, v7

    sget-object v7, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    ushr-int/lit8 v8, v2, 0x18

    aget-byte v7, v7, v8

    shl-int/lit8 v7, v7, 0x18

    xor-int/2addr v6, v7

    invoke-static {v6}, Lorg/spongycastle/crypto/engines/AESLightEngine;->inv_mcol(I)I

    move-result v6

    aget-object v7, p1, v1

    aget v7, v7, v11

    xor-int/2addr v6, v7

    .line 497
    sget-object v7, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    and-int/lit16 v8, v2, 0xff

    aget-byte v7, v7, v8

    and-int/lit16 v7, v7, 0xff

    sget-object v8, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    shr-int/lit8 v9, v3, 0x8

    and-int/lit16 v9, v9, 0xff

    aget-byte v8, v8, v9

    and-int/lit16 v8, v8, 0xff

    shl-int/lit8 v8, v8, 0x8

    xor-int/2addr v7, v8

    sget-object v8, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    shr-int/lit8 v9, v4, 0x10

    and-int/lit16 v9, v9, 0xff

    aget-byte v8, v8, v9

    and-int/lit16 v8, v8, 0xff

    shl-int/lit8 v8, v8, 0x10

    xor-int/2addr v7, v8

    sget-object v8, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    ushr-int/lit8 v9, v0, 0x18

    aget-byte v8, v8, v9

    shl-int/lit8 v8, v8, 0x18

    xor-int/2addr v7, v8

    invoke-static {v7}, Lorg/spongycastle/crypto/engines/AESLightEngine;->inv_mcol(I)I

    move-result v7

    aget-object v8, p1, v1

    aget v8, v8, v12

    xor-int/2addr v7, v8

    .line 498
    sget-object v8, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    and-int/lit16 v0, v0, 0xff

    aget-byte v0, v8, v0

    and-int/lit16 v0, v0, 0xff

    sget-object v8, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    shr-int/lit8 v2, v2, 0x8

    and-int/lit16 v2, v2, 0xff

    aget-byte v2, v8, v2

    and-int/lit16 v2, v2, 0xff

    shl-int/lit8 v2, v2, 0x8

    xor-int/2addr v0, v2

    sget-object v2, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    shr-int/lit8 v3, v3, 0x10

    and-int/lit16 v3, v3, 0xff

    aget-byte v2, v2, v3

    and-int/lit16 v2, v2, 0xff

    shl-int/lit8 v2, v2, 0x10

    xor-int/2addr v0, v2

    sget-object v2, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    ushr-int/lit8 v3, v4, 0x18

    aget-byte v2, v2, v3

    shl-int/lit8 v2, v2, 0x18

    xor-int/2addr v0, v2

    invoke-static {v0}, Lorg/spongycastle/crypto/engines/AESLightEngine;->inv_mcol(I)I

    move-result v0

    add-int/lit8 v8, v1, -0x1

    aget-object v1, p1, v1

    aget v1, v1, v13

    xor-int/2addr v0, v1

    .line 499
    sget-object v1, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    and-int/lit16 v2, v5, 0xff

    aget-byte v1, v1, v2

    and-int/lit16 v1, v1, 0xff

    sget-object v2, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    shr-int/lit8 v3, v0, 0x8

    and-int/lit16 v3, v3, 0xff

    aget-byte v2, v2, v3

    and-int/lit16 v2, v2, 0xff

    shl-int/lit8 v2, v2, 0x8

    xor-int/2addr v1, v2

    sget-object v2, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    shr-int/lit8 v3, v7, 0x10

    and-int/lit16 v3, v3, 0xff

    aget-byte v2, v2, v3

    and-int/lit16 v2, v2, 0xff

    shl-int/lit8 v2, v2, 0x10

    xor-int/2addr v1, v2

    sget-object v2, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    ushr-int/lit8 v3, v6, 0x18

    aget-byte v2, v2, v3

    shl-int/lit8 v2, v2, 0x18

    xor-int/2addr v1, v2

    invoke-static {v1}, Lorg/spongycastle/crypto/engines/AESLightEngine;->inv_mcol(I)I

    move-result v1

    aget-object v2, p1, v8

    aget v2, v2, v10

    xor-int v4, v1, v2

    .line 500
    sget-object v1, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    and-int/lit16 v2, v6, 0xff

    aget-byte v1, v1, v2

    and-int/lit16 v1, v1, 0xff

    sget-object v2, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    shr-int/lit8 v3, v5, 0x8

    and-int/lit16 v3, v3, 0xff

    aget-byte v2, v2, v3

    and-int/lit16 v2, v2, 0xff

    shl-int/lit8 v2, v2, 0x8

    xor-int/2addr v1, v2

    sget-object v2, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    shr-int/lit8 v3, v0, 0x10

    and-int/lit16 v3, v3, 0xff

    aget-byte v2, v2, v3

    and-int/lit16 v2, v2, 0xff

    shl-int/lit8 v2, v2, 0x10

    xor-int/2addr v1, v2

    sget-object v2, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    ushr-int/lit8 v3, v7, 0x18

    aget-byte v2, v2, v3

    shl-int/lit8 v2, v2, 0x18

    xor-int/2addr v1, v2

    invoke-static {v1}, Lorg/spongycastle/crypto/engines/AESLightEngine;->inv_mcol(I)I

    move-result v1

    aget-object v2, p1, v8

    aget v2, v2, v11

    xor-int v3, v1, v2

    .line 501
    sget-object v1, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    and-int/lit16 v2, v7, 0xff

    aget-byte v1, v1, v2

    and-int/lit16 v1, v1, 0xff

    sget-object v2, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    shr-int/lit8 v9, v6, 0x8

    and-int/lit16 v9, v9, 0xff

    aget-byte v2, v2, v9

    and-int/lit16 v2, v2, 0xff

    shl-int/lit8 v2, v2, 0x8

    xor-int/2addr v1, v2

    sget-object v2, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    shr-int/lit8 v9, v5, 0x10

    and-int/lit16 v9, v9, 0xff

    aget-byte v2, v2, v9

    and-int/lit16 v2, v2, 0xff

    shl-int/lit8 v2, v2, 0x10

    xor-int/2addr v1, v2

    sget-object v2, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    ushr-int/lit8 v9, v0, 0x18

    aget-byte v2, v2, v9

    shl-int/lit8 v2, v2, 0x18

    xor-int/2addr v1, v2

    invoke-static {v1}, Lorg/spongycastle/crypto/engines/AESLightEngine;->inv_mcol(I)I

    move-result v1

    aget-object v2, p1, v8

    aget v2, v2, v12

    xor-int/2addr v2, v1

    .line 502
    sget-object v1, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    and-int/lit16 v0, v0, 0xff

    aget-byte v0, v1, v0

    and-int/lit16 v0, v0, 0xff

    sget-object v1, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    shr-int/lit8 v7, v7, 0x8

    and-int/lit16 v7, v7, 0xff

    aget-byte v1, v1, v7

    and-int/lit16 v1, v1, 0xff

    shl-int/lit8 v1, v1, 0x8

    xor-int/2addr v0, v1

    sget-object v1, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    shr-int/lit8 v6, v6, 0x10

    and-int/lit16 v6, v6, 0xff

    aget-byte v1, v1, v6

    and-int/lit16 v1, v1, 0xff

    shl-int/lit8 v1, v1, 0x10

    xor-int/2addr v0, v1

    sget-object v1, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    ushr-int/lit8 v5, v5, 0x18

    aget-byte v1, v1, v5

    shl-int/lit8 v1, v1, 0x18

    xor-int/2addr v0, v1

    invoke-static {v0}, Lorg/spongycastle/crypto/engines/AESLightEngine;->inv_mcol(I)I

    move-result v0

    add-int/lit8 v1, v8, -0x1

    aget-object v5, p1, v8

    aget v5, v5, v13

    xor-int/2addr v0, v5

    goto/16 :goto_2f

    .line 505
    :cond_1d9
    sget-object v5, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    and-int/lit16 v6, v4, 0xff

    aget-byte v5, v5, v6

    and-int/lit16 v5, v5, 0xff

    sget-object v6, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    shr-int/lit8 v7, v0, 0x8

    and-int/lit16 v7, v7, 0xff

    aget-byte v6, v6, v7

    and-int/lit16 v6, v6, 0xff

    shl-int/lit8 v6, v6, 0x8

    xor-int/2addr v5, v6

    sget-object v6, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    shr-int/lit8 v7, v2, 0x10

    and-int/lit16 v7, v7, 0xff

    aget-byte v6, v6, v7

    and-int/lit16 v6, v6, 0xff

    shl-int/lit8 v6, v6, 0x10

    xor-int/2addr v5, v6

    sget-object v6, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    ushr-int/lit8 v7, v3, 0x18

    aget-byte v6, v6, v7

    shl-int/lit8 v6, v6, 0x18

    xor-int/2addr v5, v6

    invoke-static {v5}, Lorg/spongycastle/crypto/engines/AESLightEngine;->inv_mcol(I)I

    move-result v5

    aget-object v6, p1, v1

    aget v6, v6, v10

    xor-int/2addr v5, v6

    .line 506
    sget-object v6, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    and-int/lit16 v7, v3, 0xff

    aget-byte v6, v6, v7

    and-int/lit16 v6, v6, 0xff

    sget-object v7, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    shr-int/lit8 v8, v4, 0x8

    and-int/lit16 v8, v8, 0xff

    aget-byte v7, v7, v8

    and-int/lit16 v7, v7, 0xff

    shl-int/lit8 v7, v7, 0x8

    xor-int/2addr v6, v7

    sget-object v7, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    shr-int/lit8 v8, v0, 0x10

    and-int/lit16 v8, v8, 0xff

    aget-byte v7, v7, v8

    and-int/lit16 v7, v7, 0xff

    shl-int/lit8 v7, v7, 0x10

    xor-int/2addr v6, v7

    sget-object v7, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    ushr-int/lit8 v8, v2, 0x18

    aget-byte v7, v7, v8

    shl-int/lit8 v7, v7, 0x18

    xor-int/2addr v6, v7

    invoke-static {v6}, Lorg/spongycastle/crypto/engines/AESLightEngine;->inv_mcol(I)I

    move-result v6

    aget-object v7, p1, v1

    aget v7, v7, v11

    xor-int/2addr v6, v7

    .line 507
    sget-object v7, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    and-int/lit16 v8, v2, 0xff

    aget-byte v7, v7, v8

    and-int/lit16 v7, v7, 0xff

    sget-object v8, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    shr-int/lit8 v9, v3, 0x8

    and-int/lit16 v9, v9, 0xff

    aget-byte v8, v8, v9

    and-int/lit16 v8, v8, 0xff

    shl-int/lit8 v8, v8, 0x8

    xor-int/2addr v7, v8

    sget-object v8, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    shr-int/lit8 v9, v4, 0x10

    and-int/lit16 v9, v9, 0xff

    aget-byte v8, v8, v9

    and-int/lit16 v8, v8, 0xff

    shl-int/lit8 v8, v8, 0x10

    xor-int/2addr v7, v8

    sget-object v8, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    ushr-int/lit8 v9, v0, 0x18

    aget-byte v8, v8, v9

    shl-int/lit8 v8, v8, 0x18

    xor-int/2addr v7, v8

    invoke-static {v7}, Lorg/spongycastle/crypto/engines/AESLightEngine;->inv_mcol(I)I

    move-result v7

    aget-object v8, p1, v1

    aget v8, v8, v12

    xor-int/2addr v7, v8

    .line 508
    sget-object v8, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    and-int/lit16 v0, v0, 0xff

    aget-byte v0, v8, v0

    and-int/lit16 v0, v0, 0xff

    sget-object v8, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    shr-int/lit8 v2, v2, 0x8

    and-int/lit16 v2, v2, 0xff

    aget-byte v2, v8, v2

    and-int/lit16 v2, v2, 0xff

    shl-int/lit8 v2, v2, 0x8

    xor-int/2addr v0, v2

    sget-object v2, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    shr-int/lit8 v3, v3, 0x10

    and-int/lit16 v3, v3, 0xff

    aget-byte v2, v2, v3

    and-int/lit16 v2, v2, 0xff

    shl-int/lit8 v2, v2, 0x10

    xor-int/2addr v0, v2

    sget-object v2, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    ushr-int/lit8 v3, v4, 0x18

    aget-byte v2, v2, v3

    shl-int/lit8 v2, v2, 0x18

    xor-int/2addr v0, v2

    invoke-static {v0}, Lorg/spongycastle/crypto/engines/AESLightEngine;->inv_mcol(I)I

    move-result v0

    aget-object v1, p1, v1

    aget v1, v1, v13

    xor-int/2addr v0, v1

    .line 512
    sget-object v1, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    and-int/lit16 v2, v5, 0xff

    aget-byte v1, v1, v2

    and-int/lit16 v1, v1, 0xff

    sget-object v2, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    shr-int/lit8 v3, v0, 0x8

    and-int/lit16 v3, v3, 0xff

    aget-byte v2, v2, v3

    and-int/lit16 v2, v2, 0xff

    shl-int/lit8 v2, v2, 0x8

    xor-int/2addr v1, v2

    sget-object v2, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    shr-int/lit8 v3, v7, 0x10

    and-int/lit16 v3, v3, 0xff

    aget-byte v2, v2, v3

    and-int/lit16 v2, v2, 0xff

    shl-int/lit8 v2, v2, 0x10

    xor-int/2addr v1, v2

    sget-object v2, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    ushr-int/lit8 v3, v6, 0x18

    aget-byte v2, v2, v3

    shl-int/lit8 v2, v2, 0x18

    xor-int/2addr v1, v2

    aget-object v2, p1, v10

    aget v2, v2, v10

    xor-int/2addr v1, v2

    iput v1, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C0:I

    .line 513
    sget-object v1, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    and-int/lit16 v2, v6, 0xff

    aget-byte v1, v1, v2

    and-int/lit16 v1, v1, 0xff

    sget-object v2, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    shr-int/lit8 v3, v5, 0x8

    and-int/lit16 v3, v3, 0xff

    aget-byte v2, v2, v3

    and-int/lit16 v2, v2, 0xff

    shl-int/lit8 v2, v2, 0x8

    xor-int/2addr v1, v2

    sget-object v2, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    shr-int/lit8 v3, v0, 0x10

    and-int/lit16 v3, v3, 0xff

    aget-byte v2, v2, v3

    and-int/lit16 v2, v2, 0xff

    shl-int/lit8 v2, v2, 0x10

    xor-int/2addr v1, v2

    sget-object v2, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    ushr-int/lit8 v3, v7, 0x18

    aget-byte v2, v2, v3

    shl-int/lit8 v2, v2, 0x18

    xor-int/2addr v1, v2

    aget-object v2, p1, v10

    aget v2, v2, v11

    xor-int/2addr v1, v2

    iput v1, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C1:I

    .line 514
    sget-object v1, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    and-int/lit16 v2, v7, 0xff

    aget-byte v1, v1, v2

    and-int/lit16 v1, v1, 0xff

    sget-object v2, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    shr-int/lit8 v3, v6, 0x8

    and-int/lit16 v3, v3, 0xff

    aget-byte v2, v2, v3

    and-int/lit16 v2, v2, 0xff

    shl-int/lit8 v2, v2, 0x8

    xor-int/2addr v1, v2

    sget-object v2, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    shr-int/lit8 v3, v5, 0x10

    and-int/lit16 v3, v3, 0xff

    aget-byte v2, v2, v3

    and-int/lit16 v2, v2, 0xff

    shl-int/lit8 v2, v2, 0x10

    xor-int/2addr v1, v2

    sget-object v2, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    ushr-int/lit8 v3, v0, 0x18

    aget-byte v2, v2, v3

    shl-int/lit8 v2, v2, 0x18

    xor-int/2addr v1, v2

    aget-object v2, p1, v10

    aget v2, v2, v12

    xor-int/2addr v1, v2

    iput v1, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C2:I

    .line 515
    sget-object v1, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    and-int/lit16 v0, v0, 0xff

    aget-byte v0, v1, v0

    and-int/lit16 v0, v0, 0xff

    sget-object v1, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    shr-int/lit8 v2, v7, 0x8

    and-int/lit16 v2, v2, 0xff

    aget-byte v1, v1, v2

    and-int/lit16 v1, v1, 0xff

    shl-int/lit8 v1, v1, 0x8

    xor-int/2addr v0, v1

    sget-object v1, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    shr-int/lit8 v2, v6, 0x10

    and-int/lit16 v2, v2, 0xff

    aget-byte v1, v1, v2

    and-int/lit16 v1, v1, 0xff

    shl-int/lit8 v1, v1, 0x10

    xor-int/2addr v0, v1

    sget-object v1, Lorg/spongycastle/crypto/engines/AESLightEngine;->Si:[B

    ushr-int/lit8 v2, v5, 0x18

    aget-byte v1, v1, v2

    shl-int/lit8 v1, v1, 0x18

    xor-int/2addr v0, v1

    aget-object v1, p1, v10

    aget v1, v1, v13

    xor-int/2addr v0, v1

    iput v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C3:I

    .line 516
    return-void
.end method

.method private encryptBlock([[I)V
    .registers 16

    .prologue
    const/4 v13, 0x3

    const/4 v12, 0x2

    const/4 v2, 0x1

    const/4 v11, 0x0

    .line 456
    iget v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C0:I

    aget-object v1, p1, v11

    aget v1, v1, v11

    xor-int v4, v0, v1

    .line 457
    iget v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C1:I

    aget-object v1, p1, v11

    aget v1, v1, v2

    xor-int v3, v0, v1

    .line 458
    iget v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C2:I

    aget-object v1, p1, v11

    aget v1, v1, v12

    xor-int/2addr v1, v0

    .line 460
    iget v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C3:I

    aget-object v5, p1, v11

    aget v5, v5, v13

    xor-int/2addr v0, v5

    move v5, v4

    move v4, v3

    move v3, v1

    move v1, v2

    .line 461
    :goto_26
    iget v6, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->ROUNDS:I

    add-int/lit8 v6, v6, -0x1

    if-ge v1, v6, :cond_1d4

    .line 463
    sget-object v6, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    and-int/lit16 v7, v5, 0xff

    aget-byte v6, v6, v7

    and-int/lit16 v6, v6, 0xff

    sget-object v7, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    shr-int/lit8 v8, v4, 0x8

    and-int/lit16 v8, v8, 0xff

    aget-byte v7, v7, v8

    and-int/lit16 v7, v7, 0xff

    shl-int/lit8 v7, v7, 0x8

    xor-int/2addr v6, v7

    sget-object v7, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    shr-int/lit8 v8, v3, 0x10

    and-int/lit16 v8, v8, 0xff

    aget-byte v7, v7, v8

    and-int/lit16 v7, v7, 0xff

    shl-int/lit8 v7, v7, 0x10

    xor-int/2addr v6, v7

    sget-object v7, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    ushr-int/lit8 v8, v0, 0x18

    aget-byte v7, v7, v8

    shl-int/lit8 v7, v7, 0x18

    xor-int/2addr v6, v7

    invoke-static {v6}, Lorg/spongycastle/crypto/engines/AESLightEngine;->mcol(I)I

    move-result v6

    aget-object v7, p1, v1

    aget v7, v7, v11

    xor-int/2addr v6, v7

    .line 464
    sget-object v7, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    and-int/lit16 v8, v4, 0xff

    aget-byte v7, v7, v8

    and-int/lit16 v7, v7, 0xff

    sget-object v8, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    shr-int/lit8 v9, v3, 0x8

    and-int/lit16 v9, v9, 0xff

    aget-byte v8, v8, v9

    and-int/lit16 v8, v8, 0xff

    shl-int/lit8 v8, v8, 0x8

    xor-int/2addr v7, v8

    sget-object v8, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    shr-int/lit8 v9, v0, 0x10

    and-int/lit16 v9, v9, 0xff

    aget-byte v8, v8, v9

    and-int/lit16 v8, v8, 0xff

    shl-int/lit8 v8, v8, 0x10

    xor-int/2addr v7, v8

    sget-object v8, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    ushr-int/lit8 v9, v5, 0x18

    aget-byte v8, v8, v9

    shl-int/lit8 v8, v8, 0x18

    xor-int/2addr v7, v8

    invoke-static {v7}, Lorg/spongycastle/crypto/engines/AESLightEngine;->mcol(I)I

    move-result v7

    aget-object v8, p1, v1

    aget v8, v8, v2

    xor-int/2addr v7, v8

    .line 465
    sget-object v8, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    and-int/lit16 v9, v3, 0xff

    aget-byte v8, v8, v9

    and-int/lit16 v8, v8, 0xff

    sget-object v9, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    shr-int/lit8 v10, v0, 0x8

    and-int/lit16 v10, v10, 0xff

    aget-byte v9, v9, v10

    and-int/lit16 v9, v9, 0xff

    shl-int/lit8 v9, v9, 0x8

    xor-int/2addr v8, v9

    sget-object v9, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    shr-int/lit8 v10, v5, 0x10

    and-int/lit16 v10, v10, 0xff

    aget-byte v9, v9, v10

    and-int/lit16 v9, v9, 0xff

    shl-int/lit8 v9, v9, 0x10

    xor-int/2addr v8, v9

    sget-object v9, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    ushr-int/lit8 v10, v4, 0x18

    aget-byte v9, v9, v10

    shl-int/lit8 v9, v9, 0x18

    xor-int/2addr v8, v9

    invoke-static {v8}, Lorg/spongycastle/crypto/engines/AESLightEngine;->mcol(I)I

    move-result v8

    aget-object v9, p1, v1

    aget v9, v9, v12

    xor-int/2addr v8, v9

    .line 466
    sget-object v9, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    and-int/lit16 v0, v0, 0xff

    aget-byte v0, v9, v0

    and-int/lit16 v0, v0, 0xff

    sget-object v9, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    shr-int/lit8 v5, v5, 0x8

    and-int/lit16 v5, v5, 0xff

    aget-byte v5, v9, v5

    and-int/lit16 v5, v5, 0xff

    shl-int/lit8 v5, v5, 0x8

    xor-int/2addr v0, v5

    sget-object v5, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    shr-int/lit8 v4, v4, 0x10

    and-int/lit16 v4, v4, 0xff

    aget-byte v4, v5, v4

    and-int/lit16 v4, v4, 0xff

    shl-int/lit8 v4, v4, 0x10

    xor-int/2addr v0, v4

    sget-object v4, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    ushr-int/lit8 v3, v3, 0x18

    aget-byte v3, v4, v3

    shl-int/lit8 v3, v3, 0x18

    xor-int/2addr v0, v3

    invoke-static {v0}, Lorg/spongycastle/crypto/engines/AESLightEngine;->mcol(I)I

    move-result v0

    add-int/lit8 v9, v1, 0x1

    aget-object v1, p1, v1

    aget v1, v1, v13

    xor-int/2addr v0, v1

    .line 467
    sget-object v1, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    and-int/lit16 v3, v6, 0xff

    aget-byte v1, v1, v3

    and-int/lit16 v1, v1, 0xff

    sget-object v3, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    shr-int/lit8 v4, v7, 0x8

    and-int/lit16 v4, v4, 0xff

    aget-byte v3, v3, v4

    and-int/lit16 v3, v3, 0xff

    shl-int/lit8 v3, v3, 0x8

    xor-int/2addr v1, v3

    sget-object v3, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    shr-int/lit8 v4, v8, 0x10

    and-int/lit16 v4, v4, 0xff

    aget-byte v3, v3, v4

    and-int/lit16 v3, v3, 0xff

    shl-int/lit8 v3, v3, 0x10

    xor-int/2addr v1, v3

    sget-object v3, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    ushr-int/lit8 v4, v0, 0x18

    aget-byte v3, v3, v4

    shl-int/lit8 v3, v3, 0x18

    xor-int/2addr v1, v3

    invoke-static {v1}, Lorg/spongycastle/crypto/engines/AESLightEngine;->mcol(I)I

    move-result v1

    aget-object v3, p1, v9

    aget v3, v3, v11

    xor-int v5, v1, v3

    .line 468
    sget-object v1, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    and-int/lit16 v3, v7, 0xff

    aget-byte v1, v1, v3

    and-int/lit16 v1, v1, 0xff

    sget-object v3, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    shr-int/lit8 v4, v8, 0x8

    and-int/lit16 v4, v4, 0xff

    aget-byte v3, v3, v4

    and-int/lit16 v3, v3, 0xff

    shl-int/lit8 v3, v3, 0x8

    xor-int/2addr v1, v3

    sget-object v3, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    shr-int/lit8 v4, v0, 0x10

    and-int/lit16 v4, v4, 0xff

    aget-byte v3, v3, v4

    and-int/lit16 v3, v3, 0xff

    shl-int/lit8 v3, v3, 0x10

    xor-int/2addr v1, v3

    sget-object v3, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    ushr-int/lit8 v4, v6, 0x18

    aget-byte v3, v3, v4

    shl-int/lit8 v3, v3, 0x18

    xor-int/2addr v1, v3

    invoke-static {v1}, Lorg/spongycastle/crypto/engines/AESLightEngine;->mcol(I)I

    move-result v1

    aget-object v3, p1, v9

    aget v3, v3, v2

    xor-int v4, v1, v3

    .line 469
    sget-object v1, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    and-int/lit16 v3, v8, 0xff

    aget-byte v1, v1, v3

    and-int/lit16 v1, v1, 0xff

    sget-object v3, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    shr-int/lit8 v10, v0, 0x8

    and-int/lit16 v10, v10, 0xff

    aget-byte v3, v3, v10

    and-int/lit16 v3, v3, 0xff

    shl-int/lit8 v3, v3, 0x8

    xor-int/2addr v1, v3

    sget-object v3, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    shr-int/lit8 v10, v6, 0x10

    and-int/lit16 v10, v10, 0xff

    aget-byte v3, v3, v10

    and-int/lit16 v3, v3, 0xff

    shl-int/lit8 v3, v3, 0x10

    xor-int/2addr v1, v3

    sget-object v3, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    ushr-int/lit8 v10, v7, 0x18

    aget-byte v3, v3, v10

    shl-int/lit8 v3, v3, 0x18

    xor-int/2addr v1, v3

    invoke-static {v1}, Lorg/spongycastle/crypto/engines/AESLightEngine;->mcol(I)I

    move-result v1

    aget-object v3, p1, v9

    aget v3, v3, v12

    xor-int/2addr v3, v1

    .line 470
    sget-object v1, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    and-int/lit16 v0, v0, 0xff

    aget-byte v0, v1, v0

    and-int/lit16 v0, v0, 0xff

    sget-object v1, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    shr-int/lit8 v6, v6, 0x8

    and-int/lit16 v6, v6, 0xff

    aget-byte v1, v1, v6

    and-int/lit16 v1, v1, 0xff

    shl-int/lit8 v1, v1, 0x8

    xor-int/2addr v0, v1

    sget-object v1, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    shr-int/lit8 v6, v7, 0x10

    and-int/lit16 v6, v6, 0xff

    aget-byte v1, v1, v6

    and-int/lit16 v1, v1, 0xff

    shl-int/lit8 v1, v1, 0x10

    xor-int/2addr v0, v1

    sget-object v1, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    ushr-int/lit8 v6, v8, 0x18

    aget-byte v1, v1, v6

    shl-int/lit8 v1, v1, 0x18

    xor-int/2addr v0, v1

    invoke-static {v0}, Lorg/spongycastle/crypto/engines/AESLightEngine;->mcol(I)I

    move-result v0

    add-int/lit8 v1, v9, 0x1

    aget-object v6, p1, v9

    aget v6, v6, v13

    xor-int/2addr v0, v6

    goto/16 :goto_26

    .line 473
    :cond_1d4
    sget-object v6, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    and-int/lit16 v7, v5, 0xff

    aget-byte v6, v6, v7

    and-int/lit16 v6, v6, 0xff

    sget-object v7, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    shr-int/lit8 v8, v4, 0x8

    and-int/lit16 v8, v8, 0xff

    aget-byte v7, v7, v8

    and-int/lit16 v7, v7, 0xff

    shl-int/lit8 v7, v7, 0x8

    xor-int/2addr v6, v7

    sget-object v7, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    shr-int/lit8 v8, v3, 0x10

    and-int/lit16 v8, v8, 0xff

    aget-byte v7, v7, v8

    and-int/lit16 v7, v7, 0xff

    shl-int/lit8 v7, v7, 0x10

    xor-int/2addr v6, v7

    sget-object v7, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    ushr-int/lit8 v8, v0, 0x18

    aget-byte v7, v7, v8

    shl-int/lit8 v7, v7, 0x18

    xor-int/2addr v6, v7

    invoke-static {v6}, Lorg/spongycastle/crypto/engines/AESLightEngine;->mcol(I)I

    move-result v6

    aget-object v7, p1, v1

    aget v7, v7, v11

    xor-int/2addr v6, v7

    .line 474
    sget-object v7, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    and-int/lit16 v8, v4, 0xff

    aget-byte v7, v7, v8

    and-int/lit16 v7, v7, 0xff

    sget-object v8, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    shr-int/lit8 v9, v3, 0x8

    and-int/lit16 v9, v9, 0xff

    aget-byte v8, v8, v9

    and-int/lit16 v8, v8, 0xff

    shl-int/lit8 v8, v8, 0x8

    xor-int/2addr v7, v8

    sget-object v8, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    shr-int/lit8 v9, v0, 0x10

    and-int/lit16 v9, v9, 0xff

    aget-byte v8, v8, v9

    and-int/lit16 v8, v8, 0xff

    shl-int/lit8 v8, v8, 0x10

    xor-int/2addr v7, v8

    sget-object v8, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    ushr-int/lit8 v9, v5, 0x18

    aget-byte v8, v8, v9

    shl-int/lit8 v8, v8, 0x18

    xor-int/2addr v7, v8

    invoke-static {v7}, Lorg/spongycastle/crypto/engines/AESLightEngine;->mcol(I)I

    move-result v7

    aget-object v8, p1, v1

    aget v8, v8, v2

    xor-int/2addr v7, v8

    .line 475
    sget-object v8, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    and-int/lit16 v9, v3, 0xff

    aget-byte v8, v8, v9

    and-int/lit16 v8, v8, 0xff

    sget-object v9, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    shr-int/lit8 v10, v0, 0x8

    and-int/lit16 v10, v10, 0xff

    aget-byte v9, v9, v10

    and-int/lit16 v9, v9, 0xff

    shl-int/lit8 v9, v9, 0x8

    xor-int/2addr v8, v9

    sget-object v9, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    shr-int/lit8 v10, v5, 0x10

    and-int/lit16 v10, v10, 0xff

    aget-byte v9, v9, v10

    and-int/lit16 v9, v9, 0xff

    shl-int/lit8 v9, v9, 0x10

    xor-int/2addr v8, v9

    sget-object v9, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    ushr-int/lit8 v10, v4, 0x18

    aget-byte v9, v9, v10

    shl-int/lit8 v9, v9, 0x18

    xor-int/2addr v8, v9

    invoke-static {v8}, Lorg/spongycastle/crypto/engines/AESLightEngine;->mcol(I)I

    move-result v8

    aget-object v9, p1, v1

    aget v9, v9, v12

    xor-int/2addr v8, v9

    .line 476
    sget-object v9, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    and-int/lit16 v0, v0, 0xff

    aget-byte v0, v9, v0

    and-int/lit16 v0, v0, 0xff

    sget-object v9, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    shr-int/lit8 v5, v5, 0x8

    and-int/lit16 v5, v5, 0xff

    aget-byte v5, v9, v5

    and-int/lit16 v5, v5, 0xff

    shl-int/lit8 v5, v5, 0x8

    xor-int/2addr v0, v5

    sget-object v5, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    shr-int/lit8 v4, v4, 0x10

    and-int/lit16 v4, v4, 0xff

    aget-byte v4, v5, v4

    and-int/lit16 v4, v4, 0xff

    shl-int/lit8 v4, v4, 0x10

    xor-int/2addr v0, v4

    sget-object v4, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    ushr-int/lit8 v3, v3, 0x18

    aget-byte v3, v4, v3

    shl-int/lit8 v3, v3, 0x18

    xor-int/2addr v0, v3

    invoke-static {v0}, Lorg/spongycastle/crypto/engines/AESLightEngine;->mcol(I)I

    move-result v0

    add-int/lit8 v3, v1, 0x1

    aget-object v1, p1, v1

    aget v1, v1, v13

    xor-int/2addr v0, v1

    .line 480
    sget-object v1, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    and-int/lit16 v4, v6, 0xff

    aget-byte v1, v1, v4

    and-int/lit16 v1, v1, 0xff

    sget-object v4, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    shr-int/lit8 v5, v7, 0x8

    and-int/lit16 v5, v5, 0xff

    aget-byte v4, v4, v5

    and-int/lit16 v4, v4, 0xff

    shl-int/lit8 v4, v4, 0x8

    xor-int/2addr v1, v4

    sget-object v4, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    shr-int/lit8 v5, v8, 0x10

    and-int/lit16 v5, v5, 0xff

    aget-byte v4, v4, v5

    and-int/lit16 v4, v4, 0xff

    shl-int/lit8 v4, v4, 0x10

    xor-int/2addr v1, v4

    sget-object v4, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    ushr-int/lit8 v5, v0, 0x18

    aget-byte v4, v4, v5

    shl-int/lit8 v4, v4, 0x18

    xor-int/2addr v1, v4

    aget-object v4, p1, v3

    aget v4, v4, v11

    xor-int/2addr v1, v4

    iput v1, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C0:I

    .line 481
    sget-object v1, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    and-int/lit16 v4, v7, 0xff

    aget-byte v1, v1, v4

    and-int/lit16 v1, v1, 0xff

    sget-object v4, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    shr-int/lit8 v5, v8, 0x8

    and-int/lit16 v5, v5, 0xff

    aget-byte v4, v4, v5

    and-int/lit16 v4, v4, 0xff

    shl-int/lit8 v4, v4, 0x8

    xor-int/2addr v1, v4

    sget-object v4, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    shr-int/lit8 v5, v0, 0x10

    and-int/lit16 v5, v5, 0xff

    aget-byte v4, v4, v5

    and-int/lit16 v4, v4, 0xff

    shl-int/lit8 v4, v4, 0x10

    xor-int/2addr v1, v4

    sget-object v4, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    ushr-int/lit8 v5, v6, 0x18

    aget-byte v4, v4, v5

    shl-int/lit8 v4, v4, 0x18

    xor-int/2addr v1, v4

    aget-object v4, p1, v3

    aget v2, v4, v2

    xor-int/2addr v1, v2

    iput v1, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C1:I

    .line 482
    sget-object v1, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    and-int/lit16 v2, v8, 0xff

    aget-byte v1, v1, v2

    and-int/lit16 v1, v1, 0xff

    sget-object v2, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    shr-int/lit8 v4, v0, 0x8

    and-int/lit16 v4, v4, 0xff

    aget-byte v2, v2, v4

    and-int/lit16 v2, v2, 0xff

    shl-int/lit8 v2, v2, 0x8

    xor-int/2addr v1, v2

    sget-object v2, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    shr-int/lit8 v4, v6, 0x10

    and-int/lit16 v4, v4, 0xff

    aget-byte v2, v2, v4

    and-int/lit16 v2, v2, 0xff

    shl-int/lit8 v2, v2, 0x10

    xor-int/2addr v1, v2

    sget-object v2, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    ushr-int/lit8 v4, v7, 0x18

    aget-byte v2, v2, v4

    shl-int/lit8 v2, v2, 0x18

    xor-int/2addr v1, v2

    aget-object v2, p1, v3

    aget v2, v2, v12

    xor-int/2addr v1, v2

    iput v1, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C2:I

    .line 483
    sget-object v1, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    and-int/lit16 v0, v0, 0xff

    aget-byte v0, v1, v0

    and-int/lit16 v0, v0, 0xff

    sget-object v1, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    shr-int/lit8 v2, v6, 0x8

    and-int/lit16 v2, v2, 0xff

    aget-byte v1, v1, v2

    and-int/lit16 v1, v1, 0xff

    shl-int/lit8 v1, v1, 0x8

    xor-int/2addr v0, v1

    sget-object v1, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    shr-int/lit8 v2, v7, 0x10

    and-int/lit16 v2, v2, 0xff

    aget-byte v1, v1, v2

    and-int/lit16 v1, v1, 0xff

    shl-int/lit8 v1, v1, 0x10

    xor-int/2addr v0, v1

    sget-object v1, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    ushr-int/lit8 v2, v8, 0x18

    aget-byte v1, v1, v2

    shl-int/lit8 v1, v1, 0x18

    xor-int/2addr v0, v1

    aget-object v1, p1, v3

    aget v1, v1, v13

    xor-int/2addr v0, v1

    iput v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C3:I

    .line 484
    return-void
.end method

.method private generateWorkingKey([BZ)[[I
    .registers 16

    .prologue
    .line 184
    array-length v0, p1

    .line 185
    const/16 v1, 0x10

    if-lt v0, v1, :cond_d

    const/16 v1, 0x20

    if-gt v0, v1, :cond_d

    and-int/lit8 v1, v0, 0x7

    if-eqz v1, :cond_15

    .line 187
    :cond_d
    new-instance v0, Ljava/lang/IllegalArgumentException;

    const-string v1, "Key length not 128/192/256 bits."

    invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 190
    :cond_15
    shr-int/lit8 v1, v0, 0x2

    .line 191
    add-int/lit8 v0, v1, 0x6

    iput v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->ROUNDS:I

    .line 192
    iget v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->ROUNDS:I

    add-int/lit8 v0, v0, 0x1

    const/4 v2, 0x4

    filled-new-array {v0, v2}, [I

    move-result-object v0

    sget-object v2, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;

    invoke-static {v2, v0}, Ljava/lang/reflect/Array;->newInstance(Ljava/lang/Class;[I)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [[I

    .line 194
    packed-switch v1, :pswitch_data_2ba

    .line 295
    :pswitch_2f
    new-instance v0, Ljava/lang/IllegalStateException;

    const-string v1, "Should never get here"

    invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 198
    :pswitch_37
    const/4 v1, 0x0

    invoke-static {p1, v1}, Lorg/spongycastle/util/Pack;->littleEndianToInt([BI)I

    move-result v5

    const/4 v1, 0x0

    aget-object v1, v0, v1

    const/4 v2, 0x0

    aput v5, v1, v2

    .line 199
    const/4 v1, 0x4

    invoke-static {p1, v1}, Lorg/spongycastle/util/Pack;->littleEndianToInt([BI)I

    move-result v4

    const/4 v1, 0x0

    aget-object v1, v0, v1

    const/4 v2, 0x1

    aput v4, v1, v2

    .line 200
    const/16 v1, 0x8

    invoke-static {p1, v1}, Lorg/spongycastle/util/Pack;->littleEndianToInt([BI)I

    move-result v3

    const/4 v1, 0x0

    aget-object v1, v0, v1

    const/4 v2, 0x2

    aput v3, v1, v2

    .line 201
    const/16 v1, 0xc

    invoke-static {p1, v1}, Lorg/spongycastle/util/Pack;->littleEndianToInt([BI)I

    move-result v2

    const/4 v1, 0x0

    aget-object v1, v0, v1

    const/4 v6, 0x3

    aput v2, v1, v6

    .line 203
    const/4 v1, 0x1

    :goto_66
    const/16 v6, 0xa

    if-gt v1, v6, :cond_1be

    .line 205
    const/16 v6, 0x8

    invoke-static {v2, v6}, Lorg/spongycastle/crypto/engines/AESLightEngine;->shift(II)I

    move-result v6

    invoke-static {v6}, Lorg/spongycastle/crypto/engines/AESLightEngine;->subWord(I)I

    move-result v6

    sget-object v7, Lorg/spongycastle/crypto/engines/AESLightEngine;->rcon:[I

    add-int/lit8 v8, v1, -0x1

    aget v7, v7, v8

    xor-int/2addr v6, v7

    .line 206
    xor-int/2addr v5, v6

    aget-object v6, v0, v1

    const/4 v7, 0x0

    aput v5, v6, v7

    .line 207
    xor-int/2addr v4, v5

    aget-object v6, v0, v1

    const/4 v7, 0x1

    aput v4, v6, v7

    .line 208
    xor-int/2addr v3, v4

    aget-object v6, v0, v1

    const/4 v7, 0x2

    aput v3, v6, v7

    .line 209
    xor-int/2addr v2, v3

    aget-object v6, v0, v1

    const/4 v7, 0x3

    aput v2, v6, v7

    .line 203
    add-int/lit8 v1, v1, 0x1

    goto :goto_66

    .line 216
    :pswitch_96
    const/4 v1, 0x0

    invoke-static {p1, v1}, Lorg/spongycastle/util/Pack;->littleEndianToInt([BI)I

    move-result v1

    const/4 v2, 0x0

    aget-object v2, v0, v2

    const/4 v3, 0x0

    aput v1, v2, v3

    .line 217
    const/4 v2, 0x4

    invoke-static {p1, v2}, Lorg/spongycastle/util/Pack;->littleEndianToInt([BI)I

    move-result v3

    const/4 v2, 0x0

    aget-object v2, v0, v2

    const/4 v4, 0x1

    aput v3, v2, v4

    .line 218
    const/16 v2, 0x8

    invoke-static {p1, v2}, Lorg/spongycastle/util/Pack;->littleEndianToInt([BI)I

    move-result v4

    const/4 v2, 0x0

    aget-object v2, v0, v2

    const/4 v5, 0x2

    aput v4, v2, v5

    .line 219
    const/16 v2, 0xc

    invoke-static {p1, v2}, Lorg/spongycastle/util/Pack;->littleEndianToInt([BI)I

    move-result v5

    const/4 v2, 0x0

    aget-object v2, v0, v2

    const/4 v6, 0x3

    aput v5, v2, v6

    .line 220
    const/16 v2, 0x10

    invoke-static {p1, v2}, Lorg/spongycastle/util/Pack;->littleEndianToInt([BI)I

    move-result v9

    const/4 v2, 0x1

    aget-object v2, v0, v2

    const/4 v6, 0x0

    aput v9, v2, v6

    .line 221
    const/16 v2, 0x14

    invoke-static {p1, v2}, Lorg/spongycastle/util/Pack;->littleEndianToInt([BI)I

    move-result v10

    const/4 v2, 0x1

    aget-object v2, v0, v2

    const/4 v6, 0x1

    aput v10, v2, v6

    .line 224
    const/16 v2, 0x8

    invoke-static {v10, v2}, Lorg/spongycastle/crypto/engines/AESLightEngine;->shift(II)I

    move-result v2

    invoke-static {v2}, Lorg/spongycastle/crypto/engines/AESLightEngine;->subWord(I)I

    move-result v2

    xor-int/lit8 v6, v2, 0x1

    const/4 v2, 0x2

    .line 225
    xor-int v8, v1, v6

    const/4 v1, 0x1

    aget-object v1, v0, v1

    const/4 v6, 0x2

    aput v8, v1, v6

    .line 226
    xor-int v7, v3, v8

    const/4 v1, 0x1

    aget-object v1, v0, v1

    const/4 v3, 0x3

    aput v7, v1, v3

    .line 227
    xor-int v6, v4, v7

    const/4 v1, 0x2

    aget-object v1, v0, v1

    const/4 v3, 0x0

    aput v6, v1, v3

    .line 228
    xor-int/2addr v5, v6

    const/4 v1, 0x2

    aget-object v1, v0, v1

    const/4 v3, 0x1

    aput v5, v1, v3

    .line 229
    xor-int v4, v9, v5

    const/4 v1, 0x2

    aget-object v1, v0, v1

    const/4 v3, 0x2

    aput v4, v1, v3

    .line 230
    xor-int v3, v10, v4

    const/4 v1, 0x2

    aget-object v1, v0, v1

    const/4 v9, 0x3

    aput v3, v1, v9

    .line 232
    const/4 v1, 0x3

    :goto_119
    const/16 v9, 0xc

    if-ge v1, v9, :cond_192

    .line 234
    const/16 v9, 0x8

    invoke-static {v3, v9}, Lorg/spongycastle/crypto/engines/AESLightEngine;->shift(II)I

    move-result v9

    invoke-static {v9}, Lorg/spongycastle/crypto/engines/AESLightEngine;->subWord(I)I

    move-result v9

    xor-int/2addr v9, v2

    shl-int/lit8 v2, v2, 0x1

    .line 235
    xor-int/2addr v8, v9

    aget-object v9, v0, v1

    const/4 v10, 0x0

    aput v8, v9, v10

    .line 236
    xor-int/2addr v7, v8

    aget-object v9, v0, v1

    const/4 v10, 0x1

    aput v7, v9, v10

    .line 237
    xor-int/2addr v6, v7

    aget-object v9, v0, v1

    const/4 v10, 0x2

    aput v6, v9, v10

    .line 238
    xor-int/2addr v5, v6

    aget-object v9, v0, v1

    const/4 v10, 0x3

    aput v5, v9, v10

    .line 239
    xor-int/2addr v4, v5

    add-int/lit8 v9, v1, 0x1

    aget-object v9, v0, v9

    const/4 v10, 0x0

    aput v4, v9, v10

    .line 240
    xor-int/2addr v3, v4

    add-int/lit8 v9, v1, 0x1

    aget-object v9, v0, v9

    const/4 v10, 0x1

    aput v3, v9, v10

    .line 241
    const/16 v9, 0x8

    invoke-static {v3, v9}, Lorg/spongycastle/crypto/engines/AESLightEngine;->shift(II)I

    move-result v9

    invoke-static {v9}, Lorg/spongycastle/crypto/engines/AESLightEngine;->subWord(I)I

    move-result v9

    xor-int/2addr v9, v2

    shl-int/lit8 v2, v2, 0x1

    .line 242
    xor-int/2addr v8, v9

    add-int/lit8 v9, v1, 0x1

    aget-object v9, v0, v9

    const/4 v10, 0x2

    aput v8, v9, v10

    .line 243
    xor-int/2addr v7, v8

    add-int/lit8 v9, v1, 0x1

    aget-object v9, v0, v9

    const/4 v10, 0x3

    aput v7, v9, v10

    .line 244
    xor-int/2addr v6, v7

    add-int/lit8 v9, v1, 0x2

    aget-object v9, v0, v9

    const/4 v10, 0x0

    aput v6, v9, v10

    .line 245
    xor-int/2addr v5, v6

    add-int/lit8 v9, v1, 0x2

    aget-object v9, v0, v9

    const/4 v10, 0x1

    aput v5, v9, v10

    .line 246
    xor-int/2addr v4, v5

    add-int/lit8 v9, v1, 0x2

    aget-object v9, v0, v9

    const/4 v10, 0x2

    aput v4, v9, v10

    .line 247
    xor-int/2addr v3, v4

    add-int/lit8 v9, v1, 0x2

    aget-object v9, v0, v9

    const/4 v10, 0x3

    aput v3, v9, v10

    .line 232
    add-int/lit8 v1, v1, 0x3

    goto :goto_119

    .line 250
    :cond_192
    const/16 v1, 0x8

    invoke-static {v3, v1}, Lorg/spongycastle/crypto/engines/AESLightEngine;->shift(II)I

    move-result v1

    invoke-static {v1}, Lorg/spongycastle/crypto/engines/AESLightEngine;->subWord(I)I

    move-result v1

    xor-int/lit16 v1, v1, 0x80

    .line 251
    xor-int/2addr v1, v8

    const/16 v2, 0xc

    aget-object v2, v0, v2

    const/4 v3, 0x0

    aput v1, v2, v3

    .line 252
    xor-int/2addr v1, v7

    const/16 v2, 0xc

    aget-object v2, v0, v2

    const/4 v3, 0x1

    aput v1, v2, v3

    .line 253
    xor-int/2addr v1, v6

    const/16 v2, 0xc

    aget-object v2, v0, v2

    const/4 v3, 0x2

    aput v1, v2, v3

    .line 254
    xor-int/2addr v1, v5

    const/16 v2, 0xc

    aget-object v2, v0, v2

    const/4 v3, 0x3

    aput v1, v2, v3

    .line 299
    :cond_1be
    :goto_1be
    if-nez p2, :cond_2b9

    .line 301
    const/4 v1, 0x1

    :goto_1c1
    iget v2, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->ROUNDS:I

    if-ge v1, v2, :cond_2b9

    .line 303
    const/4 v2, 0x0

    :goto_1c6
    const/4 v3, 0x4

    if-ge v2, v3, :cond_2b5

    .line 305
    aget-object v3, v0, v1

    aget-object v4, v0, v1

    aget v4, v4, v2

    invoke-static {v4}, Lorg/spongycastle/crypto/engines/AESLightEngine;->inv_mcol(I)I

    move-result v4

    aput v4, v3, v2

    .line 303
    add-int/lit8 v2, v2, 0x1

    goto :goto_1c6

    .line 260
    :pswitch_1d8
    const/4 v1, 0x0

    invoke-static {p1, v1}, Lorg/spongycastle/util/Pack;->littleEndianToInt([BI)I

    move-result v9

    const/4 v1, 0x0

    aget-object v1, v0, v1

    const/4 v2, 0x0

    aput v9, v1, v2

    .line 261
    const/4 v1, 0x4

    invoke-static {p1, v1}, Lorg/spongycastle/util/Pack;->littleEndianToInt([BI)I

    move-result v8

    const/4 v1, 0x0

    aget-object v1, v0, v1

    const/4 v2, 0x1

    aput v8, v1, v2

    .line 262
    const/16 v1, 0x8

    invoke-static {p1, v1}, Lorg/spongycastle/util/Pack;->littleEndianToInt([BI)I

    move-result v7

    const/4 v1, 0x0

    aget-object v1, v0, v1

    const/4 v2, 0x2

    aput v7, v1, v2

    .line 263
    const/16 v1, 0xc

    invoke-static {p1, v1}, Lorg/spongycastle/util/Pack;->littleEndianToInt([BI)I

    move-result v6

    const/4 v1, 0x0

    aget-object v1, v0, v1

    const/4 v2, 0x3

    aput v6, v1, v2

    .line 264
    const/16 v1, 0x10

    invoke-static {p1, v1}, Lorg/spongycastle/util/Pack;->littleEndianToInt([BI)I

    move-result v5

    const/4 v1, 0x1

    aget-object v1, v0, v1

    const/4 v2, 0x0

    aput v5, v1, v2

    .line 265
    const/16 v1, 0x14

    invoke-static {p1, v1}, Lorg/spongycastle/util/Pack;->littleEndianToInt([BI)I

    move-result v4

    const/4 v1, 0x1

    aget-object v1, v0, v1

    const/4 v2, 0x1

    aput v4, v1, v2

    .line 266
    const/16 v1, 0x18

    invoke-static {p1, v1}, Lorg/spongycastle/util/Pack;->littleEndianToInt([BI)I

    move-result v3

    const/4 v1, 0x1

    aget-object v1, v0, v1

    const/4 v2, 0x2

    aput v3, v1, v2

    .line 267
    const/16 v1, 0x1c

    invoke-static {p1, v1}, Lorg/spongycastle/util/Pack;->littleEndianToInt([BI)I

    move-result v10

    const/4 v1, 0x1

    aget-object v1, v0, v1

    const/4 v2, 0x3

    aput v10, v1, v2

    .line 269
    const/4 v2, 0x1

    .line 271
    const/4 v1, 0x2

    :goto_238
    const/16 v11, 0xe

    if-ge v1, v11, :cond_288

    .line 273
    const/16 v11, 0x8

    invoke-static {v10, v11}, Lorg/spongycastle/crypto/engines/AESLightEngine;->shift(II)I

    move-result v11

    invoke-static {v11}, Lorg/spongycastle/crypto/engines/AESLightEngine;->subWord(I)I

    move-result v11

    xor-int/2addr v11, v2

    shl-int/lit8 v2, v2, 0x1

    .line 274
    xor-int/2addr v9, v11

    aget-object v11, v0, v1

    const/4 v12, 0x0

    aput v9, v11, v12

    .line 275
    xor-int/2addr v8, v9

    aget-object v11, v0, v1

    const/4 v12, 0x1

    aput v8, v11, v12

    .line 276
    xor-int/2addr v7, v8

    aget-object v11, v0, v1

    const/4 v12, 0x2

    aput v7, v11, v12

    .line 277
    xor-int/2addr v6, v7

    aget-object v11, v0, v1

    const/4 v12, 0x3

    aput v6, v11, v12

    .line 278
    invoke-static {v6}, Lorg/spongycastle/crypto/engines/AESLightEngine;->subWord(I)I

    move-result v11

    .line 279
    xor-int/2addr v5, v11

    add-int/lit8 v11, v1, 0x1

    aget-object v11, v0, v11

    const/4 v12, 0x0

    aput v5, v11, v12

    .line 280
    xor-int/2addr v4, v5

    add-int/lit8 v11, v1, 0x1

    aget-object v11, v0, v11

    const/4 v12, 0x1

    aput v4, v11, v12

    .line 281
    xor-int/2addr v3, v4

    add-int/lit8 v11, v1, 0x1

    aget-object v11, v0, v11

    const/4 v12, 0x2

    aput v3, v11, v12

    .line 282
    xor-int/2addr v10, v3

    add-int/lit8 v11, v1, 0x1

    aget-object v11, v0, v11

    const/4 v12, 0x3

    aput v10, v11, v12

    .line 271
    add-int/lit8 v1, v1, 0x2

    goto :goto_238

    .line 285
    :cond_288
    const/16 v1, 0x8

    invoke-static {v10, v1}, Lorg/spongycastle/crypto/engines/AESLightEngine;->shift(II)I

    move-result v1

    invoke-static {v1}, Lorg/spongycastle/crypto/engines/AESLightEngine;->subWord(I)I

    move-result v1

    xor-int/2addr v1, v2

    .line 286
    xor-int/2addr v1, v9

    const/16 v2, 0xe

    aget-object v2, v0, v2

    const/4 v3, 0x0

    aput v1, v2, v3

    .line 287
    xor-int/2addr v1, v8

    const/16 v2, 0xe

    aget-object v2, v0, v2

    const/4 v3, 0x1

    aput v1, v2, v3

    .line 288
    xor-int/2addr v1, v7

    const/16 v2, 0xe

    aget-object v2, v0, v2

    const/4 v3, 0x2

    aput v1, v2, v3

    .line 289
    xor-int/2addr v1, v6

    const/16 v2, 0xe

    aget-object v2, v0, v2

    const/4 v3, 0x3

    aput v1, v2, v3

    goto/16 :goto_1be

    .line 301
    :cond_2b5
    add-int/lit8 v1, v1, 0x1

    goto/16 :goto_1c1

    .line 310
    :cond_2b9
    return-object v0

    .line 194
    :pswitch_data_2ba
    .packed-switch 0x4
        :pswitch_37
        :pswitch_2f
        :pswitch_96
        :pswitch_2f
        :pswitch_1d8
    .end packed-switch
.end method

.method private static inv_mcol(I)I
    .registers 4

    .prologue
    .line 163
    const/16 v0, 0x8

    invoke-static {p0, v0}, Lorg/spongycastle/crypto/engines/AESLightEngine;->shift(II)I

    move-result v0

    xor-int/2addr v0, p0

    .line 164
    invoke-static {v0}, Lorg/spongycastle/crypto/engines/AESLightEngine;->FFmulX(I)I

    move-result v1

    xor-int/2addr v1, p0

    .line 165
    invoke-static {v1}, Lorg/spongycastle/crypto/engines/AESLightEngine;->FFmulX2(I)I

    move-result v2

    xor-int/2addr v0, v2

    .line 166
    const/16 v2, 0x10

    invoke-static {v0, v2}, Lorg/spongycastle/crypto/engines/AESLightEngine;->shift(II)I

    move-result v2

    xor-int/2addr v0, v2

    xor-int/2addr v0, v1

    .line 167
    return v0
.end method

.method private static mcol(I)I
    .registers 4

    .prologue
    .line 154
    const/16 v0, 0x8

    invoke-static {p0, v0}, Lorg/spongycastle/crypto/engines/AESLightEngine;->shift(II)I

    move-result v0

    .line 155
    xor-int v1, p0, v0

    .line 156
    const/16 v2, 0x10

    invoke-static {v1, v2}, Lorg/spongycastle/crypto/engines/AESLightEngine;->shift(II)I

    move-result v2

    xor-int/2addr v0, v2

    invoke-static {v1}, Lorg/spongycastle/crypto/engines/AESLightEngine;->FFmulX(I)I

    move-result v1

    xor-int/2addr v0, v1

    return v0
.end method

.method private packBlock([BI)V
    .registers 6

    .prologue
    .line 431
    .line 433
    add-int/lit8 v0, p2, 0x1

    iget v1, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C0:I

    int-to-byte v1, v1

    aput-byte v1, p1, p2

    .line 434
    add-int/lit8 v1, v0, 0x1

    iget v2, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C0:I

    shr-int/lit8 v2, v2, 0x8

    int-to-byte v2, v2

    aput-byte v2, p1, v0

    .line 435
    add-int/lit8 v0, v1, 0x1

    iget v2, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C0:I

    shr-int/lit8 v2, v2, 0x10

    int-to-byte v2, v2

    aput-byte v2, p1, v1

    .line 436
    add-int/lit8 v1, v0, 0x1

    iget v2, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C0:I

    shr-int/lit8 v2, v2, 0x18

    aput-byte v2, p1, v0

    .line 438
    add-int/lit8 v0, v1, 0x1

    iget v2, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C1:I

    int-to-byte v2, v2

    aput-byte v2, p1, v1

    .line 439
    add-int/lit8 v1, v0, 0x1

    iget v2, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C1:I

    shr-int/lit8 v2, v2, 0x8

    int-to-byte v2, v2

    aput-byte v2, p1, v0

    .line 440
    add-int/lit8 v0, v1, 0x1

    iget v2, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C1:I

    shr-int/lit8 v2, v2, 0x10

    int-to-byte v2, v2

    aput-byte v2, p1, v1

    .line 441
    add-int/lit8 v1, v0, 0x1

    iget v2, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C1:I

    shr-int/lit8 v2, v2, 0x18

    aput-byte v2, p1, v0

    .line 443
    add-int/lit8 v0, v1, 0x1

    iget v2, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C2:I

    int-to-byte v2, v2

    aput-byte v2, p1, v1

    .line 444
    add-int/lit8 v1, v0, 0x1

    iget v2, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C2:I

    shr-int/lit8 v2, v2, 0x8

    int-to-byte v2, v2

    aput-byte v2, p1, v0

    .line 445
    add-int/lit8 v0, v1, 0x1

    iget v2, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C2:I

    shr-int/lit8 v2, v2, 0x10

    int-to-byte v2, v2

    aput-byte v2, p1, v1

    .line 446
    add-int/lit8 v1, v0, 0x1

    iget v2, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C2:I

    shr-int/lit8 v2, v2, 0x18

    aput-byte v2, p1, v0

    .line 448
    add-int/lit8 v0, v1, 0x1

    iget v2, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C3:I

    int-to-byte v2, v2

    aput-byte v2, p1, v1

    .line 449
    add-int/lit8 v1, v0, 0x1

    iget v2, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C3:I

    shr-int/lit8 v2, v2, 0x8

    int-to-byte v2, v2

    aput-byte v2, p1, v0

    .line 450
    add-int/lit8 v0, v1, 0x1

    iget v2, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C3:I

    shr-int/lit8 v2, v2, 0x10

    int-to-byte v2, v2

    aput-byte v2, p1, v1

    .line 451
    iget v1, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C3:I

    shr-int/lit8 v1, v1, 0x18

    aput-byte v1, p1, v0

    .line 452
    return-void
.end method

.method private static shift(II)I
    .registers 4

    .prologue
    .line 117
    ushr-int v0, p0, p1

    neg-int v1, p1

    shl-int v1, p0, v1

    or-int/2addr v0, v1

    return v0
.end method

.method private static subWord(I)I
    .registers 4

    .prologue
    .line 173
    sget-object v0, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    and-int/lit16 v1, p0, 0xff

    aget-byte v0, v0, v1

    and-int/lit16 v0, v0, 0xff

    sget-object v1, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    shr-int/lit8 v2, p0, 0x8

    and-int/lit16 v2, v2, 0xff

    aget-byte v1, v1, v2

    and-int/lit16 v1, v1, 0xff

    shl-int/lit8 v1, v1, 0x8

    or-int/2addr v0, v1

    sget-object v1, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    shr-int/lit8 v2, p0, 0x10

    and-int/lit16 v2, v2, 0xff

    aget-byte v1, v1, v2

    and-int/lit16 v1, v1, 0xff

    shl-int/lit8 v1, v1, 0x10

    or-int/2addr v0, v1

    sget-object v1, Lorg/spongycastle/crypto/engines/AESLightEngine;->S:[B

    ushr-int/lit8 v2, p0, 0x18

    aget-byte v1, v1, v2

    shl-int/lit8 v1, v1, 0x18

    or-int/2addr v0, v1

    return v0
.end method

.method private unpackBlock([BI)V
    .registers 6

    .prologue
    .line 404
    .line 406
    add-int/lit8 v0, p2, 0x1

    aget-byte v1, p1, p2

    and-int/lit16 v1, v1, 0xff

    iput v1, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C0:I

    .line 407
    iget v1, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C0:I

    add-int/lit8 v2, v0, 0x1

    aget-byte v0, p1, v0

    and-int/lit16 v0, v0, 0xff

    shl-int/lit8 v0, v0, 0x8

    or-int/2addr v0, v1

    iput v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C0:I

    .line 408
    iget v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C0:I

    add-int/lit8 v1, v2, 0x1

    aget-byte v2, p1, v2

    and-int/lit16 v2, v2, 0xff

    shl-int/lit8 v2, v2, 0x10

    or-int/2addr v0, v2

    iput v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C0:I

    .line 409
    iget v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C0:I

    add-int/lit8 v2, v1, 0x1

    aget-byte v1, p1, v1

    shl-int/lit8 v1, v1, 0x18

    or-int/2addr v0, v1

    iput v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C0:I

    .line 411
    add-int/lit8 v0, v2, 0x1

    aget-byte v1, p1, v2

    and-int/lit16 v1, v1, 0xff

    iput v1, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C1:I

    .line 412
    iget v1, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C1:I

    add-int/lit8 v2, v0, 0x1

    aget-byte v0, p1, v0

    and-int/lit16 v0, v0, 0xff

    shl-int/lit8 v0, v0, 0x8

    or-int/2addr v0, v1

    iput v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C1:I

    .line 413
    iget v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C1:I

    add-int/lit8 v1, v2, 0x1

    aget-byte v2, p1, v2

    and-int/lit16 v2, v2, 0xff

    shl-int/lit8 v2, v2, 0x10

    or-int/2addr v0, v2

    iput v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C1:I

    .line 414
    iget v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C1:I

    add-int/lit8 v2, v1, 0x1

    aget-byte v1, p1, v1

    shl-int/lit8 v1, v1, 0x18

    or-int/2addr v0, v1

    iput v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C1:I

    .line 416
    add-int/lit8 v0, v2, 0x1

    aget-byte v1, p1, v2

    and-int/lit16 v1, v1, 0xff

    iput v1, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C2:I

    .line 417
    iget v1, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C2:I

    add-int/lit8 v2, v0, 0x1

    aget-byte v0, p1, v0

    and-int/lit16 v0, v0, 0xff

    shl-int/lit8 v0, v0, 0x8

    or-int/2addr v0, v1

    iput v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C2:I

    .line 418
    iget v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C2:I

    add-int/lit8 v1, v2, 0x1

    aget-byte v2, p1, v2

    and-int/lit16 v2, v2, 0xff

    shl-int/lit8 v2, v2, 0x10

    or-int/2addr v0, v2

    iput v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C2:I

    .line 419
    iget v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C2:I

    add-int/lit8 v2, v1, 0x1

    aget-byte v1, p1, v1

    shl-int/lit8 v1, v1, 0x18

    or-int/2addr v0, v1

    iput v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C2:I

    .line 421
    add-int/lit8 v0, v2, 0x1

    aget-byte v1, p1, v2

    and-int/lit16 v1, v1, 0xff

    iput v1, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C3:I

    .line 422
    iget v1, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C3:I

    add-int/lit8 v2, v0, 0x1

    aget-byte v0, p1, v0

    and-int/lit16 v0, v0, 0xff

    shl-int/lit8 v0, v0, 0x8

    or-int/2addr v0, v1

    iput v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C3:I

    .line 423
    iget v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C3:I

    add-int/lit8 v1, v2, 0x1

    aget-byte v2, p1, v2

    and-int/lit16 v2, v2, 0xff

    shl-int/lit8 v2, v2, 0x10

    or-int/2addr v0, v2

    iput v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C3:I

    .line 424
    iget v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C3:I

    aget-byte v1, p1, v1

    shl-int/lit8 v1, v1, 0x18

    or-int/2addr v0, v1

    iput v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->C3:I

    .line 425
    return-void
.end method


# virtual methods
.method public getAlgorithmName()Ljava/lang/String;
    .registers 2

    .prologue
    .line 351
    const-string v0, "AES"

    return-object v0
.end method

.method public getBlockSize()I
    .registers 2

    .prologue
    .line 356
    const/16 v0, 0x10

    return v0
.end method

.method public init(ZLorg/spongycastle/crypto/CipherParameters;)V
    .registers 6

    .prologue
    .line 339
    instance-of v0, p2, Lorg/spongycastle/crypto/params/KeyParameter;

    if-eqz v0, :cond_13

    .line 341
    check-cast p2, Lorg/spongycastle/crypto/params/KeyParameter;

    invoke-virtual {p2}, Lorg/spongycastle/crypto/params/KeyParameter;->getKey()[B

    move-result-object v0

    invoke-direct {p0, v0, p1}, Lorg/spongycastle/crypto/engines/AESLightEngine;->generateWorkingKey([BZ)[[I

    move-result-object v0

    iput-object v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->WorkingKey:[[I

    .line 342
    iput-boolean p1, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->forEncryption:Z

    .line 343
    return-void

    .line 346
    :cond_13
    new-instance v0, Ljava/lang/IllegalArgumentException;

    new-instance v1, Ljava/lang/StringBuilder;

    const-string v2, "invalid parameter passed to AES init - "

    invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {p2}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/Class;->getName()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V

    throw v0
.end method

.method public processBlock([BI[BI)I
    .registers 7

    .prologue
    .line 365
    iget-object v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->WorkingKey:[[I

    if-nez v0, :cond_c

    .line 367
    new-instance v0, Ljava/lang/IllegalStateException;

    const-string v1, "AES engine not initialised"

    invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 370
    :cond_c
    add-int/lit8 v0, p2, 0x10

    array-length v1, p1

    if-le v0, v1, :cond_19

    .line 372
    new-instance v0, Lorg/spongycastle/crypto/DataLengthException;

    const-string v1, "input buffer too short"

    invoke-direct {v0, v1}, Lorg/spongycastle/crypto/DataLengthException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 375
    :cond_19
    add-int/lit8 v0, p4, 0x10

    array-length v1, p3

    if-le v0, v1, :cond_26

    .line 377
    new-instance v0, Lorg/spongycastle/crypto/OutputLengthException;

    const-string v1, "output buffer too short"

    invoke-direct {v0, v1}, Lorg/spongycastle/crypto/OutputLengthException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 380
    :cond_26
    iget-boolean v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->forEncryption:Z

    if-eqz v0, :cond_38

    .line 382
    invoke-direct {p0, p1, p2}, Lorg/spongycastle/crypto/engines/AESLightEngine;->unpackBlock([BI)V

    .line 383
    iget-object v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->WorkingKey:[[I

    invoke-direct {p0, v0}, Lorg/spongycastle/crypto/engines/AESLightEngine;->encryptBlock([[I)V

    .line 384
    invoke-direct {p0, p3, p4}, Lorg/spongycastle/crypto/engines/AESLightEngine;->packBlock([BI)V

    .line 393
    :goto_35
    const/16 v0, 0x10

    return v0

    .line 388
    :cond_38
    invoke-direct {p0, p1, p2}, Lorg/spongycastle/crypto/engines/AESLightEngine;->unpackBlock([BI)V

    .line 389
    iget-object v0, p0, Lorg/spongycastle/crypto/engines/AESLightEngine;->WorkingKey:[[I

    invoke-direct {p0, v0}, Lorg/spongycastle/crypto/engines/AESLightEngine;->decryptBlock([[I)V

    .line 390
    invoke-direct {p0, p3, p4}, Lorg/spongycastle/crypto/engines/AESLightEngine;->packBlock([BI)V

    goto :goto_35
.end method

.method public reset()V
    .registers 1

    .prologue
    .line 398
    return-void
.end method