public final class org.bouncycastle.crypto.engines.CAST6Engine extends org.bouncycastle.crypto.engines.CAST5Engine
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.bouncycastle.crypto.engines.CAST6Engine
  super_class: org.bouncycastle.crypto.engines.CAST5Engine
{
  protected static final int ROUNDS;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 12

  protected static final int BLOCK_SIZE;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  protected int[] _Kr;
    descriptor: [I
    flags: (0x0004) ACC_PROTECTED

  protected int[] _Km;
    descriptor: [I
    flags: (0x0004) ACC_PROTECTED

  protected int[] _Tr;
    descriptor: [I
    flags: (0x0004) ACC_PROTECTED

  protected int[] _Tm;
    descriptor: [I
    flags: (0x0004) ACC_PROTECTED

  private int[] _workingKey;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bouncycastle.crypto.engines.CAST6Engine this
         0: .line 39
            aload 0 /* this */
            invokespecial org.bouncycastle.crypto.engines.CAST5Engine.<init>:()V
         1: .line 28
            aload 0 /* this */
            bipush 48
            newarray 10
            putfield org.bouncycastle.crypto.engines.CAST6Engine._Kr:[I
         2: .line 29
            aload 0 /* this */
            bipush 48
            newarray 10
            putfield org.bouncycastle.crypto.engines.CAST6Engine._Km:[I
         3: .line 34
            aload 0 /* this */
            sipush 192
            newarray 10
            putfield org.bouncycastle.crypto.engines.CAST6Engine._Tr:[I
         4: .line 35
            aload 0 /* this */
            sipush 192
            newarray 10
            putfield org.bouncycastle.crypto.engines.CAST6Engine._Tm:[I
         5: .line 37
            aload 0 /* this */
            bipush 8
            newarray 10
            putfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
         6: .line 41
            return
        end local 0 // org.bouncycastle.crypto.engines.CAST6Engine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/bouncycastle/crypto/engines/CAST6Engine;

  public java.lang.String getAlgorithmName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.crypto.engines.CAST6Engine this
         0: .line 45
            ldc "CAST6"
            areturn
        end local 0 // org.bouncycastle.crypto.engines.CAST6Engine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/crypto/engines/CAST6Engine;

  public void reset();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.bouncycastle.crypto.engines.CAST6Engine this
         0: .line 50
            return
        end local 0 // org.bouncycastle.crypto.engines.CAST6Engine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/crypto/engines/CAST6Engine;

  public int getBlockSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.crypto.engines.CAST6Engine this
         0: .line 54
            bipush 16
            ireturn
        end local 0 // org.bouncycastle.crypto.engines.CAST6Engine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/crypto/engines/CAST6Engine;

  protected void setKey(byte[]);
    descriptor: ([B)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=9, locals=10, args_size=2
        start local 0 // org.bouncycastle.crypto.engines.CAST6Engine this
        start local 1 // byte[] key
         0: .line 69
            ldc 1518500249
            istore 2 /* Cm */
        start local 2 // int Cm
         1: .line 70
            ldc 1859775393
            istore 3 /* Mm */
        start local 3 // int Mm
         2: .line 71
            bipush 19
            istore 4 /* Cr */
        start local 4 // int Cr
         3: .line 72
            bipush 17
            istore 5 /* Mr */
        start local 5 // int Mr
         4: .line 81
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 15
         6: .line 83
      StackMap locals: org.bouncycastle.crypto.engines.CAST6Engine byte[] int int int int int
      StackMap stack:
            iconst_0
            istore 7 /* j */
        start local 7 // int j
         7: goto 13
         8: .line 85
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Tm:[I
            iload 6 /* i */
            bipush 8
            imul
            iload 7 /* j */
            iadd
            iload 2 /* Cm */
            iastore
         9: .line 86
            iload 2 /* Cm */
            iload 3 /* Mm */
            iadd
            istore 2 /* Cm */
        10: .line 88
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Tr:[I
            iload 6 /* i */
            bipush 8
            imul
            iload 7 /* j */
            iadd
            iload 4 /* Cr */
            iastore
        11: .line 89
            iload 4 /* Cr */
            iload 5 /* Mr */
            iadd
            bipush 31
            iand
            istore 4 /* Cr */
        12: .line 83
            iinc 7 /* j */ 1
      StackMap locals:
      StackMap stack:
        13: iload 7 /* j */
            bipush 8
            if_icmplt 8
        end local 7 // int j
        14: .line 81
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 6 /* i */
            bipush 24
            if_icmplt 6
        end local 6 // int i
        16: .line 93
            bipush 64
            newarray 8
            astore 6 /* tmpKey */
        start local 6 // byte[] tmpKey
        17: .line 94
            aload 1 /* key */
            arraylength
            istore 7 /* length */
        start local 7 // int length
        18: .line 95
            aload 1 /* key */
            iconst_0
            aload 6 /* tmpKey */
            iconst_0
            iload 7 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        19: .line 98
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        20: goto 23
        21: .line 100
      StackMap locals: org.bouncycastle.crypto.engines.CAST6Engine byte[] int int int int byte[] int int
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            iload 8 /* i */
            aload 0 /* this */
            aload 6 /* tmpKey */
            iload 8 /* i */
            iconst_4
            imul
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.BytesTo32bits:([BI)I
            iastore
        22: .line 98
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 8 /* i */
            bipush 8
            if_icmplt 21
        end local 8 // int i
        24: .line 104
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        25: goto 53
        26: .line 107
      StackMap locals:
      StackMap stack:
            iload 8 /* i */
            iconst_2
            imul
            bipush 8
            imul
            istore 9 /* i2 */
        start local 9 // int i2
        27: .line 108
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            bipush 6
            dup2
            iaload
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            bipush 7
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Tm:[I
            iload 9 /* i2 */
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Tr:[I
            iload 9 /* i2 */
            iaload
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.F1:(III)I
            ixor
            iastore
        28: .line 109
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            iconst_5
            dup2
            iaload
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            bipush 6
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Tm:[I
            iload 9 /* i2 */
            iconst_1
            iadd
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Tr:[I
            iload 9 /* i2 */
            iconst_1
            iadd
            iaload
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.F2:(III)I
            ixor
            iastore
        29: .line 110
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            iconst_4
            dup2
            iaload
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            iconst_5
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Tm:[I
            iload 9 /* i2 */
            iconst_2
            iadd
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Tr:[I
            iload 9 /* i2 */
            iconst_2
            iadd
            iaload
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.F3:(III)I
            ixor
            iastore
        30: .line 111
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            iconst_3
            dup2
            iaload
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            iconst_4
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Tm:[I
            iload 9 /* i2 */
            iconst_3
            iadd
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Tr:[I
            iload 9 /* i2 */
            iconst_3
            iadd
            iaload
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.F1:(III)I
            ixor
            iastore
        31: .line 112
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            iconst_2
            dup2
            iaload
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            iconst_3
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Tm:[I
            iload 9 /* i2 */
            iconst_4
            iadd
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Tr:[I
            iload 9 /* i2 */
            iconst_4
            iadd
            iaload
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.F2:(III)I
            ixor
            iastore
        32: .line 113
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            iconst_1
            dup2
            iaload
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            iconst_2
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Tm:[I
            iload 9 /* i2 */
            iconst_5
            iadd
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Tr:[I
            iload 9 /* i2 */
            iconst_5
            iadd
            iaload
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.F3:(III)I
            ixor
            iastore
        33: .line 114
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            iconst_0
            dup2
            iaload
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            iconst_1
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Tm:[I
            iload 9 /* i2 */
            bipush 6
            iadd
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Tr:[I
            iload 9 /* i2 */
            bipush 6
            iadd
            iaload
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.F1:(III)I
            ixor
            iastore
        34: .line 115
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            bipush 7
            dup2
            iaload
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            iconst_0
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Tm:[I
            iload 9 /* i2 */
            bipush 7
            iadd
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Tr:[I
            iload 9 /* i2 */
            bipush 7
            iadd
            iaload
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.F2:(III)I
            ixor
            iastore
        35: .line 118
            iload 8 /* i */
            iconst_2
            imul
            iconst_1
            iadd
            bipush 8
            imul
            istore 9 /* i2 */
        36: .line 119
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            bipush 6
            dup2
            iaload
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            bipush 7
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Tm:[I
            iload 9 /* i2 */
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Tr:[I
            iload 9 /* i2 */
            iaload
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.F1:(III)I
            ixor
            iastore
        37: .line 120
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            iconst_5
            dup2
            iaload
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            bipush 6
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Tm:[I
            iload 9 /* i2 */
            iconst_1
            iadd
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Tr:[I
            iload 9 /* i2 */
            iconst_1
            iadd
            iaload
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.F2:(III)I
            ixor
            iastore
        38: .line 121
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            iconst_4
            dup2
            iaload
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            iconst_5
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Tm:[I
            iload 9 /* i2 */
            iconst_2
            iadd
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Tr:[I
            iload 9 /* i2 */
            iconst_2
            iadd
            iaload
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.F3:(III)I
            ixor
            iastore
        39: .line 122
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            iconst_3
            dup2
            iaload
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            iconst_4
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Tm:[I
            iload 9 /* i2 */
            iconst_3
            iadd
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Tr:[I
            iload 9 /* i2 */
            iconst_3
            iadd
            iaload
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.F1:(III)I
            ixor
            iastore
        40: .line 123
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            iconst_2
            dup2
            iaload
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            iconst_3
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Tm:[I
            iload 9 /* i2 */
            iconst_4
            iadd
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Tr:[I
            iload 9 /* i2 */
            iconst_4
            iadd
            iaload
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.F2:(III)I
            ixor
            iastore
        41: .line 124
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            iconst_1
            dup2
            iaload
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            iconst_2
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Tm:[I
            iload 9 /* i2 */
            iconst_5
            iadd
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Tr:[I
            iload 9 /* i2 */
            iconst_5
            iadd
            iaload
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.F3:(III)I
            ixor
            iastore
        42: .line 125
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            iconst_0
            dup2
            iaload
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            iconst_1
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Tm:[I
            iload 9 /* i2 */
            bipush 6
            iadd
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Tr:[I
            iload 9 /* i2 */
            bipush 6
            iadd
            iaload
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.F1:(III)I
            ixor
            iastore
        43: .line 126
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            bipush 7
            dup2
            iaload
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            iconst_0
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Tm:[I
            iload 9 /* i2 */
            bipush 7
            iadd
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Tr:[I
            iload 9 /* i2 */
            bipush 7
            iadd
            iaload
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.F2:(III)I
            ixor
            iastore
        44: .line 129
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Kr:[I
            iload 8 /* i */
            iconst_4
            imul
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            iconst_0
            iaload
            bipush 31
            iand
            iastore
        45: .line 130
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Kr:[I
            iload 8 /* i */
            iconst_4
            imul
            iconst_1
            iadd
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            iconst_2
            iaload
            bipush 31
            iand
            iastore
        46: .line 131
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Kr:[I
            iload 8 /* i */
            iconst_4
            imul
            iconst_2
            iadd
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            iconst_4
            iaload
            bipush 31
            iand
            iastore
        47: .line 132
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Kr:[I
            iload 8 /* i */
            iconst_4
            imul
            iconst_3
            iadd
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            bipush 6
            iaload
            bipush 31
            iand
            iastore
        48: .line 136
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Km:[I
            iload 8 /* i */
            iconst_4
            imul
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            bipush 7
            iaload
            iastore
        49: .line 137
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Km:[I
            iload 8 /* i */
            iconst_4
            imul
            iconst_1
            iadd
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            iconst_5
            iaload
            iastore
        50: .line 138
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Km:[I
            iload 8 /* i */
            iconst_4
            imul
            iconst_2
            iadd
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            iconst_3
            iaload
            iastore
        51: .line 139
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Km:[I
            iload 8 /* i */
            iconst_4
            imul
            iconst_3
            iadd
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._workingKey:[I
            iconst_1
            iaload
            iastore
        end local 9 // int i2
        52: .line 104
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        53: iload 8 /* i */
            bipush 12
            if_icmplt 26
        end local 8 // int i
        54: .line 142
            return
        end local 7 // int length
        end local 6 // byte[] tmpKey
        end local 5 // int Mr
        end local 4 // int Cr
        end local 3 // int Mm
        end local 2 // int Cm
        end local 1 // byte[] key
        end local 0 // org.bouncycastle.crypto.engines.CAST6Engine this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   55     0    this  Lorg/bouncycastle/crypto/engines/CAST6Engine;
            0   55     1     key  [B
            1   55     2      Cm  I
            2   55     3      Mm  I
            3   55     4      Cr  I
            4   55     5      Mr  I
            5   16     6       i  I
            7   14     7       j  I
           17   55     6  tmpKey  [B
           18   55     7  length  I
           20   24     8       i  I
           25   54     8       i  I
           27   52     9      i2  I
    MethodParameters:
      Name  Flags
      key   

  protected int encryptBlock(byte[], int, byte[], int);
    descriptor: ([BI[BI)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=10, args_size=5
        start local 0 // org.bouncycastle.crypto.engines.CAST6Engine this
        start local 1 // byte[] src
        start local 2 // int srcIndex
        start local 3 // byte[] dst
        start local 4 // int dstIndex
         0: .line 160
            iconst_4
            newarray 10
            astore 5 /* result */
        start local 5 // int[] result
         1: .line 165
            aload 0 /* this */
            aload 1 /* src */
            iload 2 /* srcIndex */
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.BytesTo32bits:([BI)I
            istore 6 /* A */
        start local 6 // int A
         2: .line 166
            aload 0 /* this */
            aload 1 /* src */
            iload 2 /* srcIndex */
            iconst_4
            iadd
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.BytesTo32bits:([BI)I
            istore 7 /* B */
        start local 7 // int B
         3: .line 167
            aload 0 /* this */
            aload 1 /* src */
            iload 2 /* srcIndex */
            bipush 8
            iadd
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.BytesTo32bits:([BI)I
            istore 8 /* C */
        start local 8 // int C
         4: .line 168
            aload 0 /* this */
            aload 1 /* src */
            iload 2 /* srcIndex */
            bipush 12
            iadd
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.BytesTo32bits:([BI)I
            istore 9 /* D */
        start local 9 // int D
         5: .line 170
            aload 0 /* this */
            iload 6 /* A */
            iload 7 /* B */
            iload 8 /* C */
            iload 9 /* D */
            aload 5 /* result */
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.CAST_Encipher:(IIII[I)V
         6: .line 173
            aload 0 /* this */
            aload 5 /* result */
            iconst_0
            iaload
            aload 3 /* dst */
            iload 4 /* dstIndex */
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.Bits32ToBytes:(I[BI)V
         7: .line 174
            aload 0 /* this */
            aload 5 /* result */
            iconst_1
            iaload
            aload 3 /* dst */
            iload 4 /* dstIndex */
            iconst_4
            iadd
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.Bits32ToBytes:(I[BI)V
         8: .line 175
            aload 0 /* this */
            aload 5 /* result */
            iconst_2
            iaload
            aload 3 /* dst */
            iload 4 /* dstIndex */
            bipush 8
            iadd
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.Bits32ToBytes:(I[BI)V
         9: .line 176
            aload 0 /* this */
            aload 5 /* result */
            iconst_3
            iaload
            aload 3 /* dst */
            iload 4 /* dstIndex */
            bipush 12
            iadd
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.Bits32ToBytes:(I[BI)V
        10: .line 178
            bipush 16
            ireturn
        end local 9 // int D
        end local 8 // int C
        end local 7 // int B
        end local 6 // int A
        end local 5 // int[] result
        end local 4 // int dstIndex
        end local 3 // byte[] dst
        end local 2 // int srcIndex
        end local 1 // byte[] src
        end local 0 // org.bouncycastle.crypto.engines.CAST6Engine this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/bouncycastle/crypto/engines/CAST6Engine;
            0   11     1       src  [B
            0   11     2  srcIndex  I
            0   11     3       dst  [B
            0   11     4  dstIndex  I
            1   11     5    result  [I
            2   11     6         A  I
            3   11     7         B  I
            4   11     8         C  I
            5   11     9         D  I
    MethodParameters:
          Name  Flags
      src       
      srcIndex  
      dst       
      dstIndex  

  protected int decryptBlock(byte[], int, byte[], int);
    descriptor: ([BI[BI)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=10, args_size=5
        start local 0 // org.bouncycastle.crypto.engines.CAST6Engine this
        start local 1 // byte[] src
        start local 2 // int srcIndex
        start local 3 // byte[] dst
        start local 4 // int dstIndex
         0: .line 196
            iconst_4
            newarray 10
            astore 5 /* result */
        start local 5 // int[] result
         1: .line 200
            aload 0 /* this */
            aload 1 /* src */
            iload 2 /* srcIndex */
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.BytesTo32bits:([BI)I
            istore 6 /* A */
        start local 6 // int A
         2: .line 201
            aload 0 /* this */
            aload 1 /* src */
            iload 2 /* srcIndex */
            iconst_4
            iadd
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.BytesTo32bits:([BI)I
            istore 7 /* B */
        start local 7 // int B
         3: .line 202
            aload 0 /* this */
            aload 1 /* src */
            iload 2 /* srcIndex */
            bipush 8
            iadd
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.BytesTo32bits:([BI)I
            istore 8 /* C */
        start local 8 // int C
         4: .line 203
            aload 0 /* this */
            aload 1 /* src */
            iload 2 /* srcIndex */
            bipush 12
            iadd
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.BytesTo32bits:([BI)I
            istore 9 /* D */
        start local 9 // int D
         5: .line 205
            aload 0 /* this */
            iload 6 /* A */
            iload 7 /* B */
            iload 8 /* C */
            iload 9 /* D */
            aload 5 /* result */
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.CAST_Decipher:(IIII[I)V
         6: .line 208
            aload 0 /* this */
            aload 5 /* result */
            iconst_0
            iaload
            aload 3 /* dst */
            iload 4 /* dstIndex */
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.Bits32ToBytes:(I[BI)V
         7: .line 209
            aload 0 /* this */
            aload 5 /* result */
            iconst_1
            iaload
            aload 3 /* dst */
            iload 4 /* dstIndex */
            iconst_4
            iadd
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.Bits32ToBytes:(I[BI)V
         8: .line 210
            aload 0 /* this */
            aload 5 /* result */
            iconst_2
            iaload
            aload 3 /* dst */
            iload 4 /* dstIndex */
            bipush 8
            iadd
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.Bits32ToBytes:(I[BI)V
         9: .line 211
            aload 0 /* this */
            aload 5 /* result */
            iconst_3
            iaload
            aload 3 /* dst */
            iload 4 /* dstIndex */
            bipush 12
            iadd
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.Bits32ToBytes:(I[BI)V
        10: .line 213
            bipush 16
            ireturn
        end local 9 // int D
        end local 8 // int C
        end local 7 // int B
        end local 6 // int A
        end local 5 // int[] result
        end local 4 // int dstIndex
        end local 3 // byte[] dst
        end local 2 // int srcIndex
        end local 1 // byte[] src
        end local 0 // org.bouncycastle.crypto.engines.CAST6Engine this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/bouncycastle/crypto/engines/CAST6Engine;
            0   11     1       src  [B
            0   11     2  srcIndex  I
            0   11     3       dst  [B
            0   11     4  dstIndex  I
            1   11     5    result  [I
            2   11     6         A  I
            3   11     7         B  I
            4   11     8         C  I
            5   11     9         D  I
    MethodParameters:
          Name  Flags
      src       
      srcIndex  
      dst       
      dstIndex  

  protected final void CAST_Encipher(int, int, int, int, int[]);
    descriptor: (IIII[I)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=7, locals=8, args_size=6
        start local 0 // org.bouncycastle.crypto.engines.CAST6Engine this
        start local 1 // int A
        start local 2 // int B
        start local 3 // int C
        start local 4 // int D
        start local 5 // int[] result
         0: .line 228
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         1: goto 8
         2: .line 230
      StackMap locals: org.bouncycastle.crypto.engines.CAST6Engine int int int int int[] top int
      StackMap stack:
            iload 7 /* i */
            iconst_4
            imul
            istore 6 /* x */
        start local 6 // int x
         3: .line 232
            iload 3 /* C */
            aload 0 /* this */
            iload 4 /* D */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Km:[I
            iload 6 /* x */
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Kr:[I
            iload 6 /* x */
            iaload
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.F1:(III)I
            ixor
            istore 3 /* C */
         4: .line 233
            iload 2 /* B */
            aload 0 /* this */
            iload 3 /* C */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Km:[I
            iload 6 /* x */
            iconst_1
            iadd
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Kr:[I
            iload 6 /* x */
            iconst_1
            iadd
            iaload
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.F2:(III)I
            ixor
            istore 2 /* B */
         5: .line 234
            iload 1 /* A */
            aload 0 /* this */
            iload 2 /* B */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Km:[I
            iload 6 /* x */
            iconst_2
            iadd
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Kr:[I
            iload 6 /* x */
            iconst_2
            iadd
            iaload
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.F3:(III)I
            ixor
            istore 1 /* A */
         6: .line 235
            iload 4 /* D */
            aload 0 /* this */
            iload 1 /* A */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Km:[I
            iload 6 /* x */
            iconst_3
            iadd
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Kr:[I
            iload 6 /* x */
            iconst_3
            iadd
            iaload
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.F1:(III)I
            ixor
            istore 4 /* D */
         7: .line 228
            iinc 7 /* i */ 1
        end local 6 // int x
      StackMap locals:
      StackMap stack:
         8: iload 7 /* i */
            bipush 6
            if_icmplt 2
        end local 7 // int i
         9: .line 239
            bipush 6
            istore 7 /* i */
        start local 7 // int i
        10: goto 17
        11: .line 241
      StackMap locals:
      StackMap stack:
            iload 7 /* i */
            iconst_4
            imul
            istore 6 /* x */
        start local 6 // int x
        12: .line 243
            iload 4 /* D */
            aload 0 /* this */
            iload 1 /* A */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Km:[I
            iload 6 /* x */
            iconst_3
            iadd
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Kr:[I
            iload 6 /* x */
            iconst_3
            iadd
            iaload
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.F1:(III)I
            ixor
            istore 4 /* D */
        13: .line 244
            iload 1 /* A */
            aload 0 /* this */
            iload 2 /* B */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Km:[I
            iload 6 /* x */
            iconst_2
            iadd
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Kr:[I
            iload 6 /* x */
            iconst_2
            iadd
            iaload
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.F3:(III)I
            ixor
            istore 1 /* A */
        14: .line 245
            iload 2 /* B */
            aload 0 /* this */
            iload 3 /* C */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Km:[I
            iload 6 /* x */
            iconst_1
            iadd
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Kr:[I
            iload 6 /* x */
            iconst_1
            iadd
            iaload
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.F2:(III)I
            ixor
            istore 2 /* B */
        15: .line 246
            iload 3 /* C */
            aload 0 /* this */
            iload 4 /* D */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Km:[I
            iload 6 /* x */
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Kr:[I
            iload 6 /* x */
            iaload
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.F1:(III)I
            ixor
            istore 3 /* C */
        16: .line 239
            iinc 7 /* i */ 1
        end local 6 // int x
      StackMap locals:
      StackMap stack:
        17: iload 7 /* i */
            bipush 12
            if_icmplt 11
        end local 7 // int i
        18: .line 250
            aload 5 /* result */
            iconst_0
            iload 1 /* A */
            iastore
        19: .line 251
            aload 5 /* result */
            iconst_1
            iload 2 /* B */
            iastore
        20: .line 252
            aload 5 /* result */
            iconst_2
            iload 3 /* C */
            iastore
        21: .line 253
            aload 5 /* result */
            iconst_3
            iload 4 /* D */
            iastore
        22: .line 254
            return
        end local 5 // int[] result
        end local 4 // int D
        end local 3 // int C
        end local 2 // int B
        end local 1 // int A
        end local 0 // org.bouncycastle.crypto.engines.CAST6Engine this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   23     0    this  Lorg/bouncycastle/crypto/engines/CAST6Engine;
            0   23     1       A  I
            0   23     2       B  I
            0   23     3       C  I
            0   23     4       D  I
            0   23     5  result  [I
            3    8     6       x  I
           12   17     6       x  I
            1    9     7       i  I
           10   18     7       i  I
    MethodParameters:
        Name  Flags
      A       
      B       
      C       
      D       
      result  

  protected final void CAST_Decipher(int, int, int, int, int[]);
    descriptor: (IIII[I)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=7, locals=8, args_size=6
        start local 0 // org.bouncycastle.crypto.engines.CAST6Engine this
        start local 1 // int A
        start local 2 // int B
        start local 3 // int C
        start local 4 // int D
        start local 5 // int[] result
         0: .line 268
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         1: goto 8
         2: .line 270
      StackMap locals: org.bouncycastle.crypto.engines.CAST6Engine int int int int int[] top int
      StackMap stack:
            bipush 11
            iload 7 /* i */
            isub
            iconst_4
            imul
            istore 6 /* x */
        start local 6 // int x
         3: .line 272
            iload 3 /* C */
            aload 0 /* this */
            iload 4 /* D */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Km:[I
            iload 6 /* x */
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Kr:[I
            iload 6 /* x */
            iaload
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.F1:(III)I
            ixor
            istore 3 /* C */
         4: .line 273
            iload 2 /* B */
            aload 0 /* this */
            iload 3 /* C */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Km:[I
            iload 6 /* x */
            iconst_1
            iadd
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Kr:[I
            iload 6 /* x */
            iconst_1
            iadd
            iaload
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.F2:(III)I
            ixor
            istore 2 /* B */
         5: .line 274
            iload 1 /* A */
            aload 0 /* this */
            iload 2 /* B */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Km:[I
            iload 6 /* x */
            iconst_2
            iadd
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Kr:[I
            iload 6 /* x */
            iconst_2
            iadd
            iaload
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.F3:(III)I
            ixor
            istore 1 /* A */
         6: .line 275
            iload 4 /* D */
            aload 0 /* this */
            iload 1 /* A */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Km:[I
            iload 6 /* x */
            iconst_3
            iadd
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Kr:[I
            iload 6 /* x */
            iconst_3
            iadd
            iaload
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.F1:(III)I
            ixor
            istore 4 /* D */
         7: .line 268
            iinc 7 /* i */ 1
        end local 6 // int x
      StackMap locals:
      StackMap stack:
         8: iload 7 /* i */
            bipush 6
            if_icmplt 2
        end local 7 // int i
         9: .line 279
            bipush 6
            istore 7 /* i */
        start local 7 // int i
        10: goto 17
        11: .line 281
      StackMap locals:
      StackMap stack:
            bipush 11
            iload 7 /* i */
            isub
            iconst_4
            imul
            istore 6 /* x */
        start local 6 // int x
        12: .line 283
            iload 4 /* D */
            aload 0 /* this */
            iload 1 /* A */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Km:[I
            iload 6 /* x */
            iconst_3
            iadd
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Kr:[I
            iload 6 /* x */
            iconst_3
            iadd
            iaload
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.F1:(III)I
            ixor
            istore 4 /* D */
        13: .line 284
            iload 1 /* A */
            aload 0 /* this */
            iload 2 /* B */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Km:[I
            iload 6 /* x */
            iconst_2
            iadd
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Kr:[I
            iload 6 /* x */
            iconst_2
            iadd
            iaload
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.F3:(III)I
            ixor
            istore 1 /* A */
        14: .line 285
            iload 2 /* B */
            aload 0 /* this */
            iload 3 /* C */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Km:[I
            iload 6 /* x */
            iconst_1
            iadd
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Kr:[I
            iload 6 /* x */
            iconst_1
            iadd
            iaload
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.F2:(III)I
            ixor
            istore 2 /* B */
        15: .line 286
            iload 3 /* C */
            aload 0 /* this */
            iload 4 /* D */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Km:[I
            iload 6 /* x */
            iaload
            aload 0 /* this */
            getfield org.bouncycastle.crypto.engines.CAST6Engine._Kr:[I
            iload 6 /* x */
            iaload
            invokevirtual org.bouncycastle.crypto.engines.CAST6Engine.F1:(III)I
            ixor
            istore 3 /* C */
        16: .line 279
            iinc 7 /* i */ 1
        end local 6 // int x
      StackMap locals:
      StackMap stack:
        17: iload 7 /* i */
            bipush 12
            if_icmplt 11
        end local 7 // int i
        18: .line 290
            aload 5 /* result */
            iconst_0
            iload 1 /* A */
            iastore
        19: .line 291
            aload 5 /* result */
            iconst_1
            iload 2 /* B */
            iastore
        20: .line 292
            aload 5 /* result */
            iconst_2
            iload 3 /* C */
            iastore
        21: .line 293
            aload 5 /* result */
            iconst_3
            iload 4 /* D */
            iastore
        22: .line 294
            return
        end local 5 // int[] result
        end local 4 // int D
        end local 3 // int C
        end local 2 // int B
        end local 1 // int A
        end local 0 // org.bouncycastle.crypto.engines.CAST6Engine this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   23     0    this  Lorg/bouncycastle/crypto/engines/CAST6Engine;
            0   23     1       A  I
            0   23     2       B  I
            0   23     3       C  I
            0   23     4       D  I
            0   23     5  result  [I
            3    8     6       x  I
           12   17     6       x  I
            1    9     7       i  I
           10   18     7       i  I
    MethodParameters:
        Name  Flags
      A       
      B       
      C       
      D       
      result  
}
SourceFile: "CAST6Engine.java"