public class com.google.crypto.tink.subtle.Kwp implements com.google.crypto.tink.KeyWrap
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.google.crypto.tink.subtle.Kwp
  super_class: java.lang.Object
{
  private final javax.crypto.SecretKey aesKey;
    descriptor: Ljavax/crypto/SecretKey;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static final int MIN_WRAP_KEY_SIZE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  static final int MAX_WRAP_KEY_SIZE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 4096

  static final int ROUNDS;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  static final byte[] PREFIX;
    descriptor: [B
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 48
            ldc Lcom/google/crypto/tink/subtle/Kwp;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.google.crypto.tink.subtle.Kwp.$assertionsDisabled:Z
         3: .line 54
            iconst_4
            newarray 8
            dup
            iconst_0
            bipush -90
            bastore
            dup
            iconst_1
            bipush 89
            bastore
            dup
            iconst_2
            bipush 89
            bastore
            dup
            iconst_3
            bipush -90
            bastore
            putstatic com.google.crypto.tink.subtle.Kwp.PREFIX:[B
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.google.crypto.tink.subtle.Kwp this
        start local 1 // byte[] key
         0: .line 61
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 62
            aload 1 /* key */
            arraylength
            bipush 16
            if_icmpeq 3
            aload 1 /* key */
            arraylength
            bipush 32
            if_icmpeq 3
         2: .line 63
            new java.security.GeneralSecurityException
            dup
            ldc "Unsupported key length"
            invokespecial java.security.GeneralSecurityException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 65
      StackMap locals: com.google.crypto.tink.subtle.Kwp byte[]
      StackMap stack:
            aload 0 /* this */
            new javax.crypto.spec.SecretKeySpec
            dup
            aload 1 /* key */
            ldc "AES"
            invokespecial javax.crypto.spec.SecretKeySpec.<init>:([BLjava/lang/String;)V
            putfield com.google.crypto.tink.subtle.Kwp.aesKey:Ljavax/crypto/SecretKey;
         4: .line 66
            return
        end local 1 // byte[] key
        end local 0 // com.google.crypto.tink.subtle.Kwp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/google/crypto/tink/subtle/Kwp;
            0    5     1   key  [B
    Exceptions:
      throws java.security.GeneralSecurityException
    MethodParameters:
      Name  Flags
      key   final

  private int wrappingSize(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.google.crypto.tink.subtle.Kwp this
        start local 1 // int inputSize
         0: .line 73
            bipush 7
            iload 1 /* inputSize */
            bipush 7
            iadd
            bipush 8
            irem
            isub
            istore 2 /* paddingSize */
        start local 2 // int paddingSize
         1: .line 74
            iload 1 /* inputSize */
            iload 2 /* paddingSize */
            iadd
            bipush 8
            iadd
            ireturn
        end local 2 // int paddingSize
        end local 1 // int inputSize
        end local 0 // com.google.crypto.tink.subtle.Kwp this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lcom/google/crypto/tink/subtle/Kwp;
            0    2     1    inputSize  I
            1    2     2  paddingSize  I
    MethodParameters:
           Name  Flags
      inputSize  

  private byte[] computeW(byte[], byte[]);
    descriptor: ([B[B)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=12, args_size=3
        start local 0 // com.google.crypto.tink.subtle.Kwp this
        start local 1 // byte[] iv
        start local 2 // byte[] key
         0: .line 91
            aload 2 /* key */
            arraylength
            bipush 8
            if_icmple 1
            aload 2 /* key */
            arraylength
            ldc 2147483631
            if_icmpgt 1
            aload 1 /* iv */
            arraylength
            bipush 8
            if_icmpeq 2
         1: .line 92
      StackMap locals:
      StackMap stack:
            new java.security.GeneralSecurityException
            dup
            ldc "computeW called with invalid parameters"
            invokespecial java.security.GeneralSecurityException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 94
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* key */
            arraylength
            invokevirtual com.google.crypto.tink.subtle.Kwp.wrappingSize:(I)I
            newarray 8
            astore 3 /* data */
        start local 3 // byte[] data
         3: .line 95
            aload 1 /* iv */
            iconst_0
            aload 3 /* data */
            iconst_0
            aload 1 /* iv */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 96
            aload 2 /* key */
            iconst_0
            aload 3 /* data */
            bipush 8
            aload 2 /* key */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         5: .line 97
            aload 3 /* data */
            arraylength
            bipush 8
            idiv
            iconst_1
            isub
            istore 4 /* blocks */
        start local 4 // int blocks
         6: .line 98
            getstatic com.google.crypto.tink.subtle.EngineFactory.CIPHER:Lcom/google/crypto/tink/subtle/EngineFactory;
            ldc "AES/ECB/NoPadding"
            invokevirtual com.google.crypto.tink.subtle.EngineFactory.getInstance:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast javax.crypto.Cipher
            astore 5 /* aes */
        start local 5 // javax.crypto.Cipher aes
         7: .line 99
            aload 5 /* aes */
            iconst_1
            aload 0 /* this */
            getfield com.google.crypto.tink.subtle.Kwp.aesKey:Ljavax/crypto/SecretKey;
            invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;)V
         8: .line 100
            bipush 16
            newarray 8
            astore 6 /* block */
        start local 6 // byte[] block
         9: .line 101
            aload 3 /* data */
            iconst_0
            aload 6 /* block */
            iconst_0
            bipush 8
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        10: .line 102
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        11: goto 28
        12: .line 103
      StackMap locals: com.google.crypto.tink.subtle.Kwp byte[] byte[] byte[] int javax.crypto.Cipher byte[] int
      StackMap stack:
            iconst_0
            istore 8 /* j */
        start local 8 // int j
        13: goto 26
        14: .line 104
      StackMap locals: int
      StackMap stack:
            aload 3 /* data */
            bipush 8
            iload 8 /* j */
            iconst_1
            iadd
            imul
            aload 6 /* block */
            bipush 8
            bipush 8
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        15: .line 105
            aload 5 /* aes */
            aload 6 /* block */
            iconst_0
            bipush 16
            aload 6 /* block */
            invokevirtual javax.crypto.Cipher.doFinal:([BII[B)I
            istore 9 /* length */
        start local 9 // int length
        16: .line 106
            getstatic com.google.crypto.tink.subtle.Kwp.$assertionsDisabled:Z
            ifne 17
            iload 9 /* length */
            bipush 16
            if_icmpeq 17
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        17: .line 108
      StackMap locals: int
      StackMap stack:
            iload 7 /* i */
            iload 4 /* blocks */
            imul
            iload 8 /* j */
            iadd
            iconst_1
            iadd
            istore 10 /* roundConst */
        start local 10 // int roundConst
        18: .line 109
            iconst_0
            istore 11 /* b */
        start local 11 // int b
        19: goto 23
        20: .line 110
      StackMap locals: int int
      StackMap stack:
            aload 6 /* block */
            bipush 7
            iload 11 /* b */
            isub
            dup2
            baload
            iload 10 /* roundConst */
            sipush 255
            iand
            i2b
            ixor
            i2b
            bastore
        21: .line 111
            iload 10 /* roundConst */
            bipush 8
            iushr
            istore 10 /* roundConst */
        22: .line 109
            iinc 11 /* b */ 1
      StackMap locals:
      StackMap stack:
        23: iload 11 /* b */
            iconst_4
            if_icmplt 20
        end local 11 // int b
        24: .line 113
            aload 6 /* block */
            bipush 8
            aload 3 /* data */
            bipush 8
            iload 8 /* j */
            iconst_1
            iadd
            imul
            bipush 8
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        end local 10 // int roundConst
        end local 9 // int length
        25: .line 103
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        26: iload 8 /* j */
            iload 4 /* blocks */
            if_icmplt 14
        end local 8 // int j
        27: .line 102
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        28: iload 7 /* i */
            bipush 6
            if_icmplt 12
        end local 7 // int i
        29: .line 116
            aload 6 /* block */
            iconst_0
            aload 3 /* data */
            iconst_0
            bipush 8
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        30: .line 117
            aload 3 /* data */
            areturn
        end local 6 // byte[] block
        end local 5 // javax.crypto.Cipher aes
        end local 4 // int blocks
        end local 3 // byte[] data
        end local 2 // byte[] key
        end local 1 // byte[] iv
        end local 0 // com.google.crypto.tink.subtle.Kwp this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   31     0        this  Lcom/google/crypto/tink/subtle/Kwp;
            0   31     1          iv  [B
            0   31     2         key  [B
            3   31     3        data  [B
            6   31     4      blocks  I
            7   31     5         aes  Ljavax/crypto/Cipher;
            9   31     6       block  [B
           11   29     7           i  I
           13   27     8           j  I
           16   25     9      length  I
           18   25    10  roundConst  I
           19   24    11           b  I
    Exceptions:
      throws java.security.GeneralSecurityException
    MethodParameters:
      Name  Flags
      iv    final
      key   final

  private byte[] invertW(byte[]);
    descriptor: ([B)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=10, args_size=2
        start local 0 // com.google.crypto.tink.subtle.Kwp this
        start local 1 // byte[] wrapped
         0: .line 130
            aload 1 /* wrapped */
            arraylength
            bipush 24
            if_icmplt 1
            aload 1 /* wrapped */
            arraylength
            bipush 8
            irem
            ifeq 2
         1: .line 131
      StackMap locals:
      StackMap stack:
            new java.security.GeneralSecurityException
            dup
            ldc "Incorrect data size"
            invokespecial java.security.GeneralSecurityException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 133
      StackMap locals:
      StackMap stack:
            aload 1 /* wrapped */
            aload 1 /* wrapped */
            arraylength
            invokestatic java.util.Arrays.copyOf:([BI)[B
            astore 2 /* data */
        start local 2 // byte[] data
         3: .line 134
            aload 2 /* data */
            arraylength
            bipush 8
            idiv
            iconst_1
            isub
            istore 3 /* blocks */
        start local 3 // int blocks
         4: .line 135
            getstatic com.google.crypto.tink.subtle.EngineFactory.CIPHER:Lcom/google/crypto/tink/subtle/EngineFactory;
            ldc "AES/ECB/NoPadding"
            invokevirtual com.google.crypto.tink.subtle.EngineFactory.getInstance:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast javax.crypto.Cipher
            astore 4 /* aes */
        start local 4 // javax.crypto.Cipher aes
         5: .line 136
            aload 4 /* aes */
            iconst_2
            aload 0 /* this */
            getfield com.google.crypto.tink.subtle.Kwp.aesKey:Ljavax/crypto/SecretKey;
            invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;)V
         6: .line 137
            bipush 16
            newarray 8
            astore 5 /* block */
        start local 5 // byte[] block
         7: .line 138
            aload 2 /* data */
            iconst_0
            aload 5 /* block */
            iconst_0
            bipush 8
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         8: .line 139
            iconst_5
            istore 6 /* i */
        start local 6 // int i
         9: goto 26
        10: .line 140
      StackMap locals: com.google.crypto.tink.subtle.Kwp byte[] byte[] int javax.crypto.Cipher byte[] int
      StackMap stack:
            iload 3 /* blocks */
            iconst_1
            isub
            istore 7 /* j */
        start local 7 // int j
        11: goto 24
        12: .line 141
      StackMap locals: int
      StackMap stack:
            aload 2 /* data */
            bipush 8
            iload 7 /* j */
            iconst_1
            iadd
            imul
            aload 5 /* block */
            bipush 8
            bipush 8
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        13: .line 143
            iload 6 /* i */
            iload 3 /* blocks */
            imul
            iload 7 /* j */
            iadd
            iconst_1
            iadd
            istore 8 /* roundConst */
        start local 8 // int roundConst
        14: .line 144
            iconst_0
            istore 9 /* b */
        start local 9 // int b
        15: goto 19
        16: .line 145
      StackMap locals: int int
      StackMap stack:
            aload 5 /* block */
            bipush 7
            iload 9 /* b */
            isub
            dup2
            baload
            iload 8 /* roundConst */
            sipush 255
            iand
            i2b
            ixor
            i2b
            bastore
        17: .line 146
            iload 8 /* roundConst */
            bipush 8
            iushr
            istore 8 /* roundConst */
        18: .line 144
            iinc 9 /* b */ 1
      StackMap locals:
      StackMap stack:
        19: iload 9 /* b */
            iconst_4
            if_icmplt 16
        end local 9 // int b
        20: .line 149
            aload 4 /* aes */
            aload 5 /* block */
            iconst_0
            bipush 16
            aload 5 /* block */
            invokevirtual javax.crypto.Cipher.doFinal:([BII[B)I
            istore 9 /* length */
        start local 9 // int length
        21: .line 150
            getstatic com.google.crypto.tink.subtle.Kwp.$assertionsDisabled:Z
            ifne 22
            iload 9 /* length */
            bipush 16
            if_icmpeq 22
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        22: .line 151
      StackMap locals:
      StackMap stack:
            aload 5 /* block */
            bipush 8
            aload 2 /* data */
            bipush 8
            iload 7 /* j */
            iconst_1
            iadd
            imul
            bipush 8
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        end local 9 // int length
        end local 8 // int roundConst
        23: .line 140
            iinc 7 /* j */ -1
      StackMap locals:
      StackMap stack:
        24: iload 7 /* j */
            ifge 12
        end local 7 // int j
        25: .line 139
            iinc 6 /* i */ -1
      StackMap locals:
      StackMap stack:
        26: iload 6 /* i */
            ifge 10
        end local 6 // int i
        27: .line 154
            aload 5 /* block */
            iconst_0
            aload 2 /* data */
            iconst_0
            bipush 8
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        28: .line 155
            aload 2 /* data */
            areturn
        end local 5 // byte[] block
        end local 4 // javax.crypto.Cipher aes
        end local 3 // int blocks
        end local 2 // byte[] data
        end local 1 // byte[] wrapped
        end local 0 // com.google.crypto.tink.subtle.Kwp this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   29     0        this  Lcom/google/crypto/tink/subtle/Kwp;
            0   29     1     wrapped  [B
            3   29     2        data  [B
            4   29     3      blocks  I
            5   29     4         aes  Ljavax/crypto/Cipher;
            7   29     5       block  [B
            9   27     6           i  I
           11   25     7           j  I
           14   23     8  roundConst  I
           15   20     9           b  I
           21   23     9      length  I
    Exceptions:
      throws java.security.GeneralSecurityException
    MethodParameters:
         Name  Flags
      wrapped  final

  public byte[] wrap(byte[]);
    descriptor: ([B)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // com.google.crypto.tink.subtle.Kwp this
        start local 1 // byte[] data
         0: .line 166
            aload 1 /* data */
            arraylength
            bipush 16
            if_icmpge 2
         1: .line 167
            new java.security.GeneralSecurityException
            dup
            ldc "Key size of key to wrap too small"
            invokespecial java.security.GeneralSecurityException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 169
      StackMap locals:
      StackMap stack:
            aload 1 /* data */
            arraylength
            sipush 4096
            if_icmple 4
         3: .line 170
            new java.security.GeneralSecurityException
            dup
            ldc "Key size of key to wrap too large"
            invokespecial java.security.GeneralSecurityException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 172
      StackMap locals:
      StackMap stack:
            bipush 8
            newarray 8
            astore 2 /* iv */
        start local 2 // byte[] iv
         5: .line 173
            getstatic com.google.crypto.tink.subtle.Kwp.PREFIX:[B
            iconst_0
            aload 2 /* iv */
            iconst_0
            getstatic com.google.crypto.tink.subtle.Kwp.PREFIX:[B
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 174
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         7: goto 10
         8: .line 175
      StackMap locals: byte[] int
      StackMap stack:
            aload 2 /* iv */
            iconst_4
            iload 3 /* i */
            iadd
            aload 1 /* data */
            arraylength
            bipush 8
            iconst_3
            iload 3 /* i */
            isub
            imul
            ishr
            sipush 255
            iand
            i2b
            bastore
         9: .line 174
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* i */
            iconst_4
            if_icmplt 8
        end local 3 // int i
        11: .line 177
            aload 0 /* this */
            aload 2 /* iv */
            aload 1 /* data */
            invokevirtual com.google.crypto.tink.subtle.Kwp.computeW:([B[B)[B
            areturn
        end local 2 // byte[] iv
        end local 1 // byte[] data
        end local 0 // com.google.crypto.tink.subtle.Kwp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lcom/google/crypto/tink/subtle/Kwp;
            0   12     1  data  [B
            5   12     2    iv  [B
            7   11     3     i  I
    Exceptions:
      throws java.security.GeneralSecurityException
    MethodParameters:
      Name  Flags
      data  final

  public byte[] unwrap(byte[]);
    descriptor: ([B)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // com.google.crypto.tink.subtle.Kwp this
        start local 1 // byte[] data
         0: .line 187
            aload 1 /* data */
            arraylength
            aload 0 /* this */
            bipush 16
            invokevirtual com.google.crypto.tink.subtle.Kwp.wrappingSize:(I)I
            if_icmpge 2
         1: .line 188
            new java.security.GeneralSecurityException
            dup
            ldc "Wrapped key size is too small"
            invokespecial java.security.GeneralSecurityException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 190
      StackMap locals:
      StackMap stack:
            aload 1 /* data */
            arraylength
            aload 0 /* this */
            sipush 4096
            invokevirtual com.google.crypto.tink.subtle.Kwp.wrappingSize:(I)I
            if_icmple 4
         3: .line 191
            new java.security.GeneralSecurityException
            dup
            ldc "Wrapped key size is too large"
            invokespecial java.security.GeneralSecurityException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 193
      StackMap locals:
      StackMap stack:
            aload 1 /* data */
            arraylength
            bipush 8
            irem
            ifeq 8
         5: .line 194
            new java.security.GeneralSecurityException
            dup
         6: .line 195
            ldc "Wrapped key size must be a multiple of 8 bytes"
         7: .line 194
            invokespecial java.security.GeneralSecurityException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 197
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* data */
            invokevirtual com.google.crypto.tink.subtle.Kwp.invertW:([B)[B
            astore 2 /* unwrapped */
        start local 2 // byte[] unwrapped
         9: .line 203
            iconst_1
            istore 3 /* ok */
        start local 3 // boolean ok
        10: .line 204
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        11: goto 15
        12: .line 205
      StackMap locals: byte[] int int
      StackMap stack:
            getstatic com.google.crypto.tink.subtle.Kwp.PREFIX:[B
            iload 4 /* i */
            baload
            aload 2 /* unwrapped */
            iload 4 /* i */
            baload
            if_icmpeq 14
        13: .line 206
            iconst_0
            istore 3 /* ok */
        14: .line 204
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 4 /* i */
            iconst_4
            if_icmplt 12
        end local 4 // int i
        16: .line 209
            iconst_0
            istore 4 /* encodedSize */
        start local 4 // int encodedSize
        17: .line 210
            iconst_4
            istore 5 /* i */
        start local 5 // int i
        18: goto 21
        19: .line 211
      StackMap locals: int
      StackMap stack:
            iload 4 /* encodedSize */
            bipush 8
            ishl
            aload 2 /* unwrapped */
            iload 5 /* i */
            baload
            sipush 255
            iand
            iadd
            istore 4 /* encodedSize */
        20: .line 210
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 5 /* i */
            bipush 8
            if_icmplt 19
        end local 5 // int i
        22: .line 213
            aload 0 /* this */
            iload 4 /* encodedSize */
            invokevirtual com.google.crypto.tink.subtle.Kwp.wrappingSize:(I)I
            aload 2 /* unwrapped */
            arraylength
            if_icmpeq 25
        23: .line 214
            iconst_0
            istore 3 /* ok */
        24: .line 215
            goto 31
        25: .line 216
      StackMap locals:
      StackMap stack:
            bipush 8
            iload 4 /* encodedSize */
            iadd
            istore 5 /* j */
        start local 5 // int j
        26: goto 30
        27: .line 217
      StackMap locals: int
      StackMap stack:
            aload 2 /* unwrapped */
            iload 5 /* j */
            baload
            ifeq 29
        28: .line 218
            iconst_0
            istore 3 /* ok */
        29: .line 216
      StackMap locals:
      StackMap stack:
            iinc 5 /* j */ 1
      StackMap locals:
      StackMap stack:
        30: iload 5 /* j */
            aload 2 /* unwrapped */
            arraylength
            if_icmplt 27
        end local 5 // int j
        31: .line 222
      StackMap locals:
      StackMap stack:
            iload 3 /* ok */
            ifeq 33
        32: .line 223
            aload 2 /* unwrapped */
            bipush 8
            bipush 8
            iload 4 /* encodedSize */
            iadd
            invokestatic java.util.Arrays.copyOfRange:([BII)[B
            areturn
        33: .line 225
      StackMap locals:
      StackMap stack:
            new javax.crypto.BadPaddingException
            dup
            ldc "Invalid padding"
            invokespecial javax.crypto.BadPaddingException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // int encodedSize
        end local 3 // boolean ok
        end local 2 // byte[] unwrapped
        end local 1 // byte[] data
        end local 0 // com.google.crypto.tink.subtle.Kwp this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   34     0         this  Lcom/google/crypto/tink/subtle/Kwp;
            0   34     1         data  [B
            9   34     2    unwrapped  [B
           10   34     3           ok  Z
           11   16     4            i  I
           17   34     4  encodedSize  I
           18   22     5            i  I
           26   31     5            j  I
    Exceptions:
      throws java.security.GeneralSecurityException
    MethodParameters:
      Name  Flags
      data  final
}
SourceFile: "Kwp.java"