class org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1 implements org.bouncycastle.operator.InputDecryptorProvider
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1
  super_class: java.lang.Object
{
  private javax.crypto.Cipher cipher;
    descriptor: Ljavax/crypto/Cipher;
    flags: (0x0002) ACC_PRIVATE

  private org.bouncycastle.asn1.x509.AlgorithmIdentifier encryptionAlg;
    descriptor: Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
    flags: (0x0002) ACC_PRIVATE

  final org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder this$0;
    descriptor: Lorg/bouncycastle/pkcs/jcajce/JcePKCSPBEInputDecryptorProviderBuilder;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private final char[] val$password;
    descriptor: [C
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder, char[]);
    descriptor: (Lorg/bouncycastle/pkcs/jcajce/JcePKCSPBEInputDecryptorProviderBuilder;[C)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1 this
         0: .line 90
            aload 0 /* this */
            aload 1
            putfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.this$0:Lorg/bouncycastle/pkcs/jcajce/JcePKCSPBEInputDecryptorProviderBuilder;
            aload 0 /* this */
            aload 2
            putfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.val$password:[C
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/pkcs/jcajce/JcePKCSPBEInputDecryptorProviderBuilder$1;
    MethodParameters:
              Name  Flags
      this$0        final
      val$password  final

  public org.bouncycastle.operator.InputDecryptor get(org.bouncycastle.asn1.x509.AlgorithmIdentifier);
    descriptor: (Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)Lorg/bouncycastle/operator/InputDecryptor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=8, args_size=2
        start local 0 // org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1 this
        start local 1 // org.bouncycastle.asn1.x509.AlgorithmIdentifier algorithmIdentifier
         0: .line 99
            aload 1 /* algorithmIdentifier */
            invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getAlgorithm:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            astore 3 /* algorithm */
        start local 3 // org.bouncycastle.asn1.ASN1ObjectIdentifier algorithm
         1: .line 103
            aload 3 /* algorithm */
            getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pkcs_12PbeIds:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.on:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Z
            ifeq 7
         2: .line 105
            aload 1 /* algorithmIdentifier */
            invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/ASN1Encodable;
            invokestatic org.bouncycastle.asn1.pkcs.PKCS12PBEParams.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/pkcs/PKCS12PBEParams;
            astore 4 /* pbeParams */
        start local 4 // org.bouncycastle.asn1.pkcs.PKCS12PBEParams pbeParams
         3: .line 107
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.this$0:Lorg/bouncycastle/pkcs/jcajce/JcePKCSPBEInputDecryptorProviderBuilder;
            getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder.helper:Lorg/bouncycastle/jcajce/util/JcaJceHelper;
            aload 3 /* algorithm */
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            invokeinterface org.bouncycastle.jcajce.util.JcaJceHelper.createCipher:(Ljava/lang/String;)Ljavax/crypto/Cipher;
            putfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.cipher:Ljavax/crypto/Cipher;
         4: .line 109
            aload 0 /* this */
            getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.cipher:Ljavax/crypto/Cipher;
            iconst_2
            new org.bouncycastle.jcajce.PKCS12KeyWithParameters
            dup
            aload 0 /* this */
            getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.val$password:[C
            aload 0 /* this */
            getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.this$0:Lorg/bouncycastle/pkcs/jcajce/JcePKCSPBEInputDecryptorProviderBuilder;
            getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder.wrongPKCS12Zero:Z
            aload 4 /* pbeParams */
            invokevirtual org.bouncycastle.asn1.pkcs.PKCS12PBEParams.getIV:()[B
            aload 4 /* pbeParams */
            invokevirtual org.bouncycastle.asn1.pkcs.PKCS12PBEParams.getIterations:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.intValue:()I
            invokespecial org.bouncycastle.jcajce.PKCS12KeyWithParameters.<init>:([CZ[BI)V
            invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;)V
         5: .line 111
            aload 0 /* this */
            aload 1 /* algorithmIdentifier */
            putfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.encryptionAlg:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
        end local 4 // org.bouncycastle.asn1.pkcs.PKCS12PBEParams pbeParams
         6: .line 112
            goto 45
         7: .line 113
      StackMap locals: org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1 org.bouncycastle.asn1.x509.AlgorithmIdentifier top org.bouncycastle.asn1.ASN1ObjectIdentifier
      StackMap stack:
            aload 3 /* algorithm */
            getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.id_PBES2:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.equals:(Ljava/lang/Object;)Z
            ifeq 34
         8: .line 115
            aload 1 /* algorithmIdentifier */
            invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/ASN1Encodable;
            invokestatic org.bouncycastle.asn1.pkcs.PBES2Parameters.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/pkcs/PBES2Parameters;
            astore 4 /* alg */
        start local 4 // org.bouncycastle.asn1.pkcs.PBES2Parameters alg
         9: .line 117
            getstatic org.bouncycastle.asn1.misc.MiscObjectIdentifiers.id_scrypt:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            aload 4 /* alg */
            invokevirtual org.bouncycastle.asn1.pkcs.PBES2Parameters.getKeyDerivationFunc:()Lorg/bouncycastle/asn1/pkcs/KeyDerivationFunc;
            invokevirtual org.bouncycastle.asn1.pkcs.KeyDerivationFunc.getAlgorithm:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.equals:(Ljava/lang/Object;)Z
            ifeq 18
        10: .line 119
            aload 4 /* alg */
            invokevirtual org.bouncycastle.asn1.pkcs.PBES2Parameters.getKeyDerivationFunc:()Lorg/bouncycastle/asn1/pkcs/KeyDerivationFunc;
            invokevirtual org.bouncycastle.asn1.pkcs.KeyDerivationFunc.getParameters:()Lorg/bouncycastle/asn1/ASN1Encodable;
            invokestatic org.bouncycastle.asn1.misc.ScryptParams.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/misc/ScryptParams;
            astore 5 /* params */
        start local 5 // org.bouncycastle.asn1.misc.ScryptParams params
        11: .line 120
            aload 4 /* alg */
            invokevirtual org.bouncycastle.asn1.pkcs.PBES2Parameters.getEncryptionScheme:()Lorg/bouncycastle/asn1/pkcs/EncryptionScheme;
            invokestatic org.bouncycastle.asn1.x509.AlgorithmIdentifier.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            astore 6 /* encScheme */
        start local 6 // org.bouncycastle.asn1.x509.AlgorithmIdentifier encScheme
        12: .line 122
            aload 0 /* this */
            getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.this$0:Lorg/bouncycastle/pkcs/jcajce/JcePKCSPBEInputDecryptorProviderBuilder;
            getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder.helper:Lorg/bouncycastle/jcajce/util/JcaJceHelper;
            ldc "SCRYPT"
            invokeinterface org.bouncycastle.jcajce.util.JcaJceHelper.createSecretKeyFactory:(Ljava/lang/String;)Ljavax/crypto/SecretKeyFactory;
            astore 7 /* keyFact */
        start local 7 // javax.crypto.SecretKeyFactory keyFact
        13: .line 124
            aload 7 /* keyFact */
            new org.bouncycastle.jcajce.spec.ScryptKeySpec
            dup
            aload 0 /* this */
            getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.val$password:[C
        14: .line 125
            aload 5 /* params */
            invokevirtual org.bouncycastle.asn1.misc.ScryptParams.getSalt:()[B
            aload 5 /* params */
            invokevirtual org.bouncycastle.asn1.misc.ScryptParams.getCostParameter:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.intValue:()I
            aload 5 /* params */
            invokevirtual org.bouncycastle.asn1.misc.ScryptParams.getBlockSize:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.intValue:()I
        15: .line 126
            aload 5 /* params */
            invokevirtual org.bouncycastle.asn1.misc.ScryptParams.getParallelizationParameter:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.intValue:()I
            aload 0 /* this */
            getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.this$0:Lorg/bouncycastle/pkcs/jcajce/JcePKCSPBEInputDecryptorProviderBuilder;
            getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder.keySizeProvider:Lorg/bouncycastle/operator/SecretKeySizeProvider;
            aload 6 /* encScheme */
            invokeinterface org.bouncycastle.operator.SecretKeySizeProvider.getKeySize:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)I
            invokespecial org.bouncycastle.jcajce.spec.ScryptKeySpec.<init>:([C[BIIII)V
        16: .line 124
            invokevirtual javax.crypto.SecretKeyFactory.generateSecret:(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;
            astore 2 /* key */
        end local 7 // javax.crypto.SecretKeyFactory keyFact
        end local 6 // org.bouncycastle.asn1.x509.AlgorithmIdentifier encScheme
        end local 5 // org.bouncycastle.asn1.misc.ScryptParams params
        start local 2 // javax.crypto.SecretKey key
        17: .line 127
            goto 25
        end local 2 // javax.crypto.SecretKey key
        18: .line 130
      StackMap locals: org.bouncycastle.asn1.pkcs.PBES2Parameters
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.this$0:Lorg/bouncycastle/pkcs/jcajce/JcePKCSPBEInputDecryptorProviderBuilder;
            getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder.helper:Lorg/bouncycastle/jcajce/util/JcaJceHelper;
            aload 4 /* alg */
            invokevirtual org.bouncycastle.asn1.pkcs.PBES2Parameters.getKeyDerivationFunc:()Lorg/bouncycastle/asn1/pkcs/KeyDerivationFunc;
            invokevirtual org.bouncycastle.asn1.pkcs.KeyDerivationFunc.getAlgorithm:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            invokeinterface org.bouncycastle.jcajce.util.JcaJceHelper.createSecretKeyFactory:(Ljava/lang/String;)Ljavax/crypto/SecretKeyFactory;
            astore 5 /* keyFact */
        start local 5 // javax.crypto.SecretKeyFactory keyFact
        19: .line 131
            aload 4 /* alg */
            invokevirtual org.bouncycastle.asn1.pkcs.PBES2Parameters.getKeyDerivationFunc:()Lorg/bouncycastle/asn1/pkcs/KeyDerivationFunc;
            invokevirtual org.bouncycastle.asn1.pkcs.KeyDerivationFunc.getParameters:()Lorg/bouncycastle/asn1/ASN1Encodable;
            invokestatic org.bouncycastle.asn1.pkcs.PBKDF2Params.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/pkcs/PBKDF2Params;
            astore 6 /* func */
        start local 6 // org.bouncycastle.asn1.pkcs.PBKDF2Params func
        20: .line 132
            aload 4 /* alg */
            invokevirtual org.bouncycastle.asn1.pkcs.PBES2Parameters.getEncryptionScheme:()Lorg/bouncycastle/asn1/pkcs/EncryptionScheme;
            invokestatic org.bouncycastle.asn1.x509.AlgorithmIdentifier.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            astore 7 /* encScheme */
        start local 7 // org.bouncycastle.asn1.x509.AlgorithmIdentifier encScheme
        21: .line 134
            aload 6 /* func */
            invokevirtual org.bouncycastle.asn1.pkcs.PBKDF2Params.isDefaultPrf:()Z
            ifeq 24
        22: .line 136
            aload 5 /* keyFact */
            new javax.crypto.spec.PBEKeySpec
            dup
            aload 0 /* this */
            getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.val$password:[C
            aload 6 /* func */
            invokevirtual org.bouncycastle.asn1.pkcs.PBKDF2Params.getSalt:()[B
            aload 6 /* func */
            invokevirtual org.bouncycastle.asn1.pkcs.PBKDF2Params.getIterationCount:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.intValue:()I
            aload 0 /* this */
            getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.this$0:Lorg/bouncycastle/pkcs/jcajce/JcePKCSPBEInputDecryptorProviderBuilder;
            getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder.keySizeProvider:Lorg/bouncycastle/operator/SecretKeySizeProvider;
            aload 7 /* encScheme */
            invokeinterface org.bouncycastle.operator.SecretKeySizeProvider.getKeySize:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)I
            invokespecial javax.crypto.spec.PBEKeySpec.<init>:([C[BII)V
            invokevirtual javax.crypto.SecretKeyFactory.generateSecret:(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;
            astore 2 /* key */
        start local 2 // javax.crypto.SecretKey key
        23: .line 137
            goto 25
        end local 2 // javax.crypto.SecretKey key
        24: .line 140
      StackMap locals: javax.crypto.SecretKeyFactory org.bouncycastle.asn1.pkcs.PBKDF2Params org.bouncycastle.asn1.x509.AlgorithmIdentifier
      StackMap stack:
            aload 5 /* keyFact */
            new org.bouncycastle.jcajce.spec.PBKDF2KeySpec
            dup
            aload 0 /* this */
            getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.val$password:[C
            aload 6 /* func */
            invokevirtual org.bouncycastle.asn1.pkcs.PBKDF2Params.getSalt:()[B
            aload 6 /* func */
            invokevirtual org.bouncycastle.asn1.pkcs.PBKDF2Params.getIterationCount:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.intValue:()I
            aload 0 /* this */
            getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.this$0:Lorg/bouncycastle/pkcs/jcajce/JcePKCSPBEInputDecryptorProviderBuilder;
            getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder.keySizeProvider:Lorg/bouncycastle/operator/SecretKeySizeProvider;
            aload 7 /* encScheme */
            invokeinterface org.bouncycastle.operator.SecretKeySizeProvider.getKeySize:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)I
            aload 6 /* func */
            invokevirtual org.bouncycastle.asn1.pkcs.PBKDF2Params.getPrf:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            invokespecial org.bouncycastle.jcajce.spec.PBKDF2KeySpec.<init>:([C[BIILorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)V
            invokevirtual javax.crypto.SecretKeyFactory.generateSecret:(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;
            astore 2 /* key */
        end local 7 // org.bouncycastle.asn1.x509.AlgorithmIdentifier encScheme
        end local 6 // org.bouncycastle.asn1.pkcs.PBKDF2Params func
        end local 5 // javax.crypto.SecretKeyFactory keyFact
        start local 2 // javax.crypto.SecretKey key
        25: .line 144
      StackMap locals: org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1 org.bouncycastle.asn1.x509.AlgorithmIdentifier javax.crypto.SecretKey org.bouncycastle.asn1.ASN1ObjectIdentifier org.bouncycastle.asn1.pkcs.PBES2Parameters
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.this$0:Lorg/bouncycastle/pkcs/jcajce/JcePKCSPBEInputDecryptorProviderBuilder;
            getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder.helper:Lorg/bouncycastle/jcajce/util/JcaJceHelper;
            aload 4 /* alg */
            invokevirtual org.bouncycastle.asn1.pkcs.PBES2Parameters.getEncryptionScheme:()Lorg/bouncycastle/asn1/pkcs/EncryptionScheme;
            invokevirtual org.bouncycastle.asn1.pkcs.EncryptionScheme.getAlgorithm:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            invokeinterface org.bouncycastle.jcajce.util.JcaJceHelper.createCipher:(Ljava/lang/String;)Ljavax/crypto/Cipher;
            putfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.cipher:Ljavax/crypto/Cipher;
        26: .line 146
            aload 0 /* this */
            aload 4 /* alg */
            invokevirtual org.bouncycastle.asn1.pkcs.PBES2Parameters.getEncryptionScheme:()Lorg/bouncycastle/asn1/pkcs/EncryptionScheme;
            invokestatic org.bouncycastle.asn1.x509.AlgorithmIdentifier.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            putfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.encryptionAlg:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
        27: .line 148
            aload 4 /* alg */
            invokevirtual org.bouncycastle.asn1.pkcs.PBES2Parameters.getEncryptionScheme:()Lorg/bouncycastle/asn1/pkcs/EncryptionScheme;
            invokevirtual org.bouncycastle.asn1.pkcs.EncryptionScheme.getParameters:()Lorg/bouncycastle/asn1/ASN1Encodable;
            astore 5 /* encParams */
        start local 5 // org.bouncycastle.asn1.ASN1Encodable encParams
        28: .line 149
            aload 5 /* encParams */
            instanceof org.bouncycastle.asn1.ASN1OctetString
            ifeq 31
        29: .line 151
            aload 0 /* this */
            getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.cipher:Ljavax/crypto/Cipher;
            iconst_2
            aload 2 /* key */
            new javax.crypto.spec.IvParameterSpec
            dup
            aload 5 /* encParams */
            invokestatic org.bouncycastle.asn1.ASN1OctetString.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1OctetString;
            invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
            invokespecial javax.crypto.spec.IvParameterSpec.<init>:([B)V
            invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
        30: .line 152
            goto 45
        31: .line 156
      StackMap locals: org.bouncycastle.asn1.ASN1Encodable
      StackMap stack:
            aload 5 /* encParams */
            invokestatic org.bouncycastle.asn1.cryptopro.GOST28147Parameters.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cryptopro/GOST28147Parameters;
            astore 6 /* gParams */
        start local 6 // org.bouncycastle.asn1.cryptopro.GOST28147Parameters gParams
        32: .line 158
            aload 0 /* this */
            getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.cipher:Ljavax/crypto/Cipher;
            iconst_2
            aload 2 /* key */
            new org.bouncycastle.jcajce.spec.GOST28147ParameterSpec
            dup
            aload 6 /* gParams */
            invokevirtual org.bouncycastle.asn1.cryptopro.GOST28147Parameters.getEncryptionParamSet:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            aload 6 /* gParams */
            invokevirtual org.bouncycastle.asn1.cryptopro.GOST28147Parameters.getIV:()[B
            invokespecial org.bouncycastle.jcajce.spec.GOST28147ParameterSpec.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;[B)V
            invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
        end local 6 // org.bouncycastle.asn1.cryptopro.GOST28147Parameters gParams
        end local 5 // org.bouncycastle.asn1.ASN1Encodable encParams
        end local 4 // org.bouncycastle.asn1.pkcs.PBES2Parameters alg
        33: .line 160
            goto 45
        end local 2 // javax.crypto.SecretKey key
        34: .line 161
      StackMap locals: org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1 org.bouncycastle.asn1.x509.AlgorithmIdentifier top org.bouncycastle.asn1.ASN1ObjectIdentifier
      StackMap stack:
            aload 3 /* algorithm */
            getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pbeWithMD5AndDES_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.equals:(Ljava/lang/Object;)Z
            ifne 36
        35: .line 162
            aload 3 /* algorithm */
            getstatic org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers.pbeWithSHA1AndDES_CBC:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.equals:(Ljava/lang/Object;)Z
            ifeq 42
        36: .line 164
      StackMap locals:
      StackMap stack:
            aload 1 /* algorithmIdentifier */
            invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/ASN1Encodable;
            invokestatic org.bouncycastle.asn1.pkcs.PBEParameter.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/pkcs/PBEParameter;
            astore 4 /* pbeParams */
        start local 4 // org.bouncycastle.asn1.pkcs.PBEParameter pbeParams
        37: .line 166
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.this$0:Lorg/bouncycastle/pkcs/jcajce/JcePKCSPBEInputDecryptorProviderBuilder;
            getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder.helper:Lorg/bouncycastle/jcajce/util/JcaJceHelper;
            aload 3 /* algorithm */
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            invokeinterface org.bouncycastle.jcajce.util.JcaJceHelper.createCipher:(Ljava/lang/String;)Ljavax/crypto/Cipher;
            putfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.cipher:Ljavax/crypto/Cipher;
        38: .line 168
            aload 0 /* this */
            getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.cipher:Ljavax/crypto/Cipher;
            iconst_2
            new org.bouncycastle.jcajce.PBKDF1Key
            dup
            aload 0 /* this */
            getfield org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1.val$password:[C
            getstatic org.bouncycastle.crypto.PasswordConverter.ASCII:Lorg/bouncycastle/crypto/PasswordConverter;
            invokespecial org.bouncycastle.jcajce.PBKDF1Key.<init>:([CLorg/bouncycastle/crypto/CharToByteConverter;)V
        39: .line 169
            new javax.crypto.spec.PBEParameterSpec
            dup
            aload 4 /* pbeParams */
            invokevirtual org.bouncycastle.asn1.pkcs.PBEParameter.getSalt:()[B
            aload 4 /* pbeParams */
            invokevirtual org.bouncycastle.asn1.pkcs.PBEParameter.getIterationCount:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.intValue:()I
            invokespecial javax.crypto.spec.PBEParameterSpec.<init>:([BI)V
        40: .line 168
            invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
        end local 4 // org.bouncycastle.asn1.pkcs.PBEParameter pbeParams
        41: .line 170
            goto 45
        42: .line 173
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.operator.OperatorCreationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unable to create InputDecryptor: algorithm "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* algorithm */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " unknown."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.bouncycastle.operator.OperatorCreationException.<init>:(Ljava/lang/String;)V
            athrow
        43: .line 176
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 4 /* e */
        start local 4 // java.lang.Exception e
        44: .line 178
            new org.bouncycastle.operator.OperatorCreationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unable to create InputDecryptor: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* e */
            invokespecial org.bouncycastle.operator.OperatorCreationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.Exception e
        45: .line 181
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1$1
            dup
            aload 0 /* this */
            invokespecial org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1$1.<init>:(Lorg/bouncycastle/pkcs/jcajce/JcePKCSPBEInputDecryptorProviderBuilder$1;)V
            areturn
        end local 3 // org.bouncycastle.asn1.ASN1ObjectIdentifier algorithm
        end local 1 // org.bouncycastle.asn1.x509.AlgorithmIdentifier algorithmIdentifier
        end local 0 // org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1 this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   46     0                 this  Lorg/bouncycastle/pkcs/jcajce/JcePKCSPBEInputDecryptorProviderBuilder$1;
            0   46     1  algorithmIdentifier  Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
           17   18     2                  key  Ljavax/crypto/SecretKey;
           23   24     2                  key  Ljavax/crypto/SecretKey;
           25   34     2                  key  Ljavax/crypto/SecretKey;
            1   46     3            algorithm  Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            3    6     4            pbeParams  Lorg/bouncycastle/asn1/pkcs/PKCS12PBEParams;
            9   33     4                  alg  Lorg/bouncycastle/asn1/pkcs/PBES2Parameters;
           11   17     5               params  Lorg/bouncycastle/asn1/misc/ScryptParams;
           12   17     6            encScheme  Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
           13   17     7              keyFact  Ljavax/crypto/SecretKeyFactory;
           19   25     5              keyFact  Ljavax/crypto/SecretKeyFactory;
           20   25     6                 func  Lorg/bouncycastle/asn1/pkcs/PBKDF2Params;
           21   25     7            encScheme  Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
           28   33     5            encParams  Lorg/bouncycastle/asn1/ASN1Encodable;
           32   33     6              gParams  Lorg/bouncycastle/asn1/cryptopro/GOST28147Parameters;
           37   41     4            pbeParams  Lorg/bouncycastle/asn1/pkcs/PBEParameter;
           44   45     4                    e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1    43      43  Class java.lang.Exception
    Exceptions:
      throws org.bouncycastle.operator.OperatorCreationException
    MethodParameters:
                     Name  Flags
      algorithmIdentifier  final
}
SourceFile: "JcePKCSPBEInputDecryptorProviderBuilder.java"
EnclosingMethod: org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder.build:([C)Lorg/bouncycastle/operator/InputDecryptorProvider;
NestHost: org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder
InnerClasses:
  org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1
  org.bouncycastle.pkcs.jcajce.JcePKCSPBEInputDecryptorProviderBuilder$1$1