public class org.bouncycastle.crypto.digests.SHA256Digest extends org.bouncycastle.crypto.digests.GeneralDigest implements org.bouncycastle.crypto.digests.EncodableDigest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.bouncycastle.crypto.digests.SHA256Digest
  super_class: org.bouncycastle.crypto.digests.GeneralDigest
{
  private static final int DIGEST_LENGTH;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 32

  private int H1;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int H2;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int H3;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int H4;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int H5;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int H6;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int H7;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int H8;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

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

  private int xOff;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  static final int[] K;
    descriptor: [I
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 318
            bipush 64
            newarray 10
            dup
            iconst_0
         1: .line 319
            ldc 1116352408
            iastore
            dup
            iconst_1
            ldc 1899447441
            iastore
            dup
            iconst_2
            ldc -1245643825
            iastore
            dup
            iconst_3
            ldc -373957723
            iastore
            dup
            iconst_4
            ldc 961987163
            iastore
            dup
            iconst_5
            ldc 1508970993
            iastore
            dup
            bipush 6
            ldc -1841331548
            iastore
            dup
            bipush 7
            ldc -1424204075
            iastore
            dup
            bipush 8
         2: .line 320
            ldc -670586216
            iastore
            dup
            bipush 9
            ldc 310598401
            iastore
            dup
            bipush 10
            ldc 607225278
            iastore
            dup
            bipush 11
            ldc 1426881987
            iastore
            dup
            bipush 12
            ldc 1925078388
            iastore
            dup
            bipush 13
            ldc -2132889090
            iastore
            dup
            bipush 14
            ldc -1680079193
            iastore
            dup
            bipush 15
            ldc -1046744716
            iastore
            dup
            bipush 16
         3: .line 321
            ldc -459576895
            iastore
            dup
            bipush 17
            ldc -272742522
            iastore
            dup
            bipush 18
            ldc 264347078
            iastore
            dup
            bipush 19
            ldc 604807628
            iastore
            dup
            bipush 20
            ldc 770255983
            iastore
            dup
            bipush 21
            ldc 1249150122
            iastore
            dup
            bipush 22
            ldc 1555081692
            iastore
            dup
            bipush 23
            ldc 1996064986
            iastore
            dup
            bipush 24
         4: .line 322
            ldc -1740746414
            iastore
            dup
            bipush 25
            ldc -1473132947
            iastore
            dup
            bipush 26
            ldc -1341970488
            iastore
            dup
            bipush 27
            ldc -1084653625
            iastore
            dup
            bipush 28
            ldc -958395405
            iastore
            dup
            bipush 29
            ldc -710438585
            iastore
            dup
            bipush 30
            ldc 113926993
            iastore
            dup
            bipush 31
            ldc 338241895
            iastore
            dup
            bipush 32
         5: .line 323
            ldc 666307205
            iastore
            dup
            bipush 33
            ldc 773529912
            iastore
            dup
            bipush 34
            ldc 1294757372
            iastore
            dup
            bipush 35
            ldc 1396182291
            iastore
            dup
            bipush 36
            ldc 1695183700
            iastore
            dup
            bipush 37
            ldc 1986661051
            iastore
            dup
            bipush 38
            ldc -2117940946
            iastore
            dup
            bipush 39
            ldc -1838011259
            iastore
            dup
            bipush 40
         6: .line 324
            ldc -1564481375
            iastore
            dup
            bipush 41
            ldc -1474664885
            iastore
            dup
            bipush 42
            ldc -1035236496
            iastore
            dup
            bipush 43
            ldc -949202525
            iastore
            dup
            bipush 44
            ldc -778901479
            iastore
            dup
            bipush 45
            ldc -694614492
            iastore
            dup
            bipush 46
            ldc -200395387
            iastore
            dup
            bipush 47
            ldc 275423344
            iastore
            dup
            bipush 48
         7: .line 325
            ldc 430227734
            iastore
            dup
            bipush 49
            ldc 506948616
            iastore
            dup
            bipush 50
            ldc 659060556
            iastore
            dup
            bipush 51
            ldc 883997877
            iastore
            dup
            bipush 52
            ldc 958139571
            iastore
            dup
            bipush 53
            ldc 1322822218
            iastore
            dup
            bipush 54
            ldc 1537002063
            iastore
            dup
            bipush 55
            ldc 1747873779
            iastore
            dup
            bipush 56
         8: .line 326
            ldc 1955562222
            iastore
            dup
            bipush 57
            ldc 2024104815
            iastore
            dup
            bipush 58
            ldc -2067236844
            iastore
            dup
            bipush 59
            ldc -1933114872
            iastore
            dup
            bipush 60
            ldc -1866530822
            iastore
            dup
            bipush 61
            ldc -1538233109
            iastore
            dup
            bipush 62
            ldc -1090935817
            iastore
            dup
            bipush 63
            ldc -965641998
            iastore
         9: .line 318
            putstatic org.bouncycastle.crypto.digests.SHA256Digest.K:[I
        10: .line 327
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
         0: .line 33
            aload 0 /* this */
            invokespecial org.bouncycastle.crypto.digests.GeneralDigest.<init>:()V
         1: .line 27
            aload 0 /* this */
            bipush 64
            newarray 10
            putfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
         2: .line 35
            aload 0 /* this */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.reset:()V
         3: .line 36
            return
        end local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/bouncycastle/crypto/digests/SHA256Digest;

  public void <init>(org.bouncycastle.crypto.digests.SHA256Digest);
    descriptor: (Lorg/bouncycastle/crypto/digests/SHA256Digest;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
        start local 1 // org.bouncycastle.crypto.digests.SHA256Digest t
         0: .line 44
            aload 0 /* this */
            aload 1 /* t */
            invokespecial org.bouncycastle.crypto.digests.GeneralDigest.<init>:(Lorg/bouncycastle/crypto/digests/GeneralDigest;)V
         1: .line 27
            aload 0 /* this */
            bipush 64
            newarray 10
            putfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
         2: .line 46
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.copyIn:(Lorg/bouncycastle/crypto/digests/SHA256Digest;)V
         3: .line 47
            return
        end local 1 // org.bouncycastle.crypto.digests.SHA256Digest t
        end local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/bouncycastle/crypto/digests/SHA256Digest;
            0    4     1     t  Lorg/bouncycastle/crypto/digests/SHA256Digest;
    MethodParameters:
      Name  Flags
      t     

  private void copyIn(org.bouncycastle.crypto.digests.SHA256Digest);
    descriptor: (Lorg/bouncycastle/crypto/digests/SHA256Digest;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
        start local 1 // org.bouncycastle.crypto.digests.SHA256Digest t
         0: .line 51
            aload 0 /* this */
            aload 1 /* t */
            invokespecial org.bouncycastle.crypto.digests.GeneralDigest.copyIn:(Lorg/bouncycastle/crypto/digests/GeneralDigest;)V
         1: .line 53
            aload 0 /* this */
            aload 1 /* t */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H1:I
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H1:I
         2: .line 54
            aload 0 /* this */
            aload 1 /* t */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H2:I
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H2:I
         3: .line 55
            aload 0 /* this */
            aload 1 /* t */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H3:I
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H3:I
         4: .line 56
            aload 0 /* this */
            aload 1 /* t */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H4:I
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H4:I
         5: .line 57
            aload 0 /* this */
            aload 1 /* t */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H5:I
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H5:I
         6: .line 58
            aload 0 /* this */
            aload 1 /* t */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H6:I
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H6:I
         7: .line 59
            aload 0 /* this */
            aload 1 /* t */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H7:I
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H7:I
         8: .line 60
            aload 0 /* this */
            aload 1 /* t */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H8:I
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H8:I
         9: .line 62
            aload 1 /* t */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
            iconst_0
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
            iconst_0
            aload 1 /* t */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        10: .line 63
            aload 0 /* this */
            aload 1 /* t */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.xOff:I
            putfield org.bouncycastle.crypto.digests.SHA256Digest.xOff:I
        11: .line 64
            return
        end local 1 // org.bouncycastle.crypto.digests.SHA256Digest t
        end local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/bouncycastle/crypto/digests/SHA256Digest;
            0   12     1     t  Lorg/bouncycastle/crypto/digests/SHA256Digest;
    MethodParameters:
      Name  Flags
      t     

  public void <init>(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
        start local 1 // byte[] encodedState
         0: .line 73
            aload 0 /* this */
            aload 1 /* encodedState */
            invokespecial org.bouncycastle.crypto.digests.GeneralDigest.<init>:([B)V
         1: .line 27
            aload 0 /* this */
            bipush 64
            newarray 10
            putfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
         2: .line 75
            aload 0 /* this */
            aload 1 /* encodedState */
            bipush 16
            invokestatic org.bouncycastle.util.Pack.bigEndianToInt:([BI)I
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H1:I
         3: .line 76
            aload 0 /* this */
            aload 1 /* encodedState */
            bipush 20
            invokestatic org.bouncycastle.util.Pack.bigEndianToInt:([BI)I
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H2:I
         4: .line 77
            aload 0 /* this */
            aload 1 /* encodedState */
            bipush 24
            invokestatic org.bouncycastle.util.Pack.bigEndianToInt:([BI)I
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H3:I
         5: .line 78
            aload 0 /* this */
            aload 1 /* encodedState */
            bipush 28
            invokestatic org.bouncycastle.util.Pack.bigEndianToInt:([BI)I
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H4:I
         6: .line 79
            aload 0 /* this */
            aload 1 /* encodedState */
            bipush 32
            invokestatic org.bouncycastle.util.Pack.bigEndianToInt:([BI)I
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H5:I
         7: .line 80
            aload 0 /* this */
            aload 1 /* encodedState */
            bipush 36
            invokestatic org.bouncycastle.util.Pack.bigEndianToInt:([BI)I
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H6:I
         8: .line 81
            aload 0 /* this */
            aload 1 /* encodedState */
            bipush 40
            invokestatic org.bouncycastle.util.Pack.bigEndianToInt:([BI)I
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H7:I
         9: .line 82
            aload 0 /* this */
            aload 1 /* encodedState */
            bipush 44
            invokestatic org.bouncycastle.util.Pack.bigEndianToInt:([BI)I
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H8:I
        10: .line 84
            aload 0 /* this */
            aload 1 /* encodedState */
            bipush 48
            invokestatic org.bouncycastle.util.Pack.bigEndianToInt:([BI)I
            putfield org.bouncycastle.crypto.digests.SHA256Digest.xOff:I
        11: .line 85
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        12: goto 15
        13: .line 87
      StackMap locals: org.bouncycastle.crypto.digests.SHA256Digest byte[] int
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
            iload 2 /* i */
            aload 1 /* encodedState */
            bipush 52
            iload 2 /* i */
            iconst_4
            imul
            iadd
            invokestatic org.bouncycastle.util.Pack.bigEndianToInt:([BI)I
            iastore
        14: .line 85
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 2 /* i */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.xOff:I
            if_icmpne 13
        end local 2 // int i
        16: .line 89
            return
        end local 1 // byte[] encodedState
        end local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Lorg/bouncycastle/crypto/digests/SHA256Digest;
            0   17     1  encodedState  [B
           12   16     2             i  I
    MethodParameters:
              Name  Flags
      encodedState  

  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.digests.SHA256Digest this
         0: .line 94
            ldc "SHA-256"
            areturn
        end local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/crypto/digests/SHA256Digest;

  public int getDigestSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
         0: .line 99
            bipush 32
            ireturn
        end local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/crypto/digests/SHA256Digest;

  protected void processWord(byte[], int);
    descriptor: ([BI)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
        start local 1 // byte[] in
        start local 2 // int inOff
         0: .line 108
            aload 1 /* in */
            iload 2 /* inOff */
            baload
            bipush 24
            ishl
            istore 3 /* n */
        start local 3 // int n
         1: .line 109
            iload 3 /* n */
            aload 1 /* in */
            iinc 2 /* inOff */ 1
            iload 2 /* inOff */
            baload
            sipush 255
            iand
            bipush 16
            ishl
            ior
            istore 3 /* n */
         2: .line 110
            iload 3 /* n */
            aload 1 /* in */
            iinc 2 /* inOff */ 1
            iload 2 /* inOff */
            baload
            sipush 255
            iand
            bipush 8
            ishl
            ior
            istore 3 /* n */
         3: .line 111
            iload 3 /* n */
            aload 1 /* in */
            iinc 2 /* inOff */ 1
            iload 2 /* inOff */
            baload
            sipush 255
            iand
            ior
            istore 3 /* n */
         4: .line 112
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.xOff:I
            iload 3 /* n */
            iastore
         5: .line 114
            aload 0 /* this */
            dup
            getfield org.bouncycastle.crypto.digests.SHA256Digest.xOff:I
            iconst_1
            iadd
            dup_x1
            putfield org.bouncycastle.crypto.digests.SHA256Digest.xOff:I
            bipush 16
            if_icmpne 7
         6: .line 116
            aload 0 /* this */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.processBlock:()V
         7: .line 118
      StackMap locals: int
      StackMap stack:
            return
        end local 3 // int n
        end local 2 // int inOff
        end local 1 // byte[] in
        end local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lorg/bouncycastle/crypto/digests/SHA256Digest;
            0    8     1     in  [B
            0    8     2  inOff  I
            1    8     3      n  I
    MethodParameters:
       Name  Flags
      in     
      inOff  

  protected void processLength(long);
    descriptor: (J)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
        start local 1 // long bitLength
         0: .line 123
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.xOff:I
            bipush 14
            if_icmple 2
         1: .line 125
            aload 0 /* this */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.processBlock:()V
         2: .line 128
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
            bipush 14
            lload 1 /* bitLength */
            bipush 32
            lushr
            l2i
            iastore
         3: .line 129
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
            bipush 15
            lload 1 /* bitLength */
            ldc -1
            land
            l2i
            iastore
         4: .line 130
            return
        end local 1 // long bitLength
        end local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/bouncycastle/crypto/digests/SHA256Digest;
            0    5     1  bitLength  J
    MethodParameters:
           Name  Flags
      bitLength  

  public int doFinal(byte[], int);
    descriptor: ([BI)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
        start local 1 // byte[] out
        start local 2 // int outOff
         0: .line 136
            aload 0 /* this */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.finish:()V
         1: .line 138
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H1:I
            aload 1 /* out */
            iload 2 /* outOff */
            invokestatic org.bouncycastle.util.Pack.intToBigEndian:(I[BI)V
         2: .line 139
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H2:I
            aload 1 /* out */
            iload 2 /* outOff */
            iconst_4
            iadd
            invokestatic org.bouncycastle.util.Pack.intToBigEndian:(I[BI)V
         3: .line 140
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H3:I
            aload 1 /* out */
            iload 2 /* outOff */
            bipush 8
            iadd
            invokestatic org.bouncycastle.util.Pack.intToBigEndian:(I[BI)V
         4: .line 141
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H4:I
            aload 1 /* out */
            iload 2 /* outOff */
            bipush 12
            iadd
            invokestatic org.bouncycastle.util.Pack.intToBigEndian:(I[BI)V
         5: .line 142
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H5:I
            aload 1 /* out */
            iload 2 /* outOff */
            bipush 16
            iadd
            invokestatic org.bouncycastle.util.Pack.intToBigEndian:(I[BI)V
         6: .line 143
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H6:I
            aload 1 /* out */
            iload 2 /* outOff */
            bipush 20
            iadd
            invokestatic org.bouncycastle.util.Pack.intToBigEndian:(I[BI)V
         7: .line 144
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H7:I
            aload 1 /* out */
            iload 2 /* outOff */
            bipush 24
            iadd
            invokestatic org.bouncycastle.util.Pack.intToBigEndian:(I[BI)V
         8: .line 145
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H8:I
            aload 1 /* out */
            iload 2 /* outOff */
            bipush 28
            iadd
            invokestatic org.bouncycastle.util.Pack.intToBigEndian:(I[BI)V
         9: .line 147
            aload 0 /* this */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.reset:()V
        10: .line 149
            bipush 32
            ireturn
        end local 2 // int outOff
        end local 1 // byte[] out
        end local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lorg/bouncycastle/crypto/digests/SHA256Digest;
            0   11     1     out  [B
            0   11     2  outOff  I
    MethodParameters:
        Name  Flags
      out     
      outOff  

  public void reset();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
         0: .line 157
            aload 0 /* this */
            invokespecial org.bouncycastle.crypto.digests.GeneralDigest.reset:()V
         1: .line 164
            aload 0 /* this */
            ldc 1779033703
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H1:I
         2: .line 165
            aload 0 /* this */
            ldc -1150833019
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H2:I
         3: .line 166
            aload 0 /* this */
            ldc 1013904242
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H3:I
         4: .line 167
            aload 0 /* this */
            ldc -1521486534
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H4:I
         5: .line 168
            aload 0 /* this */
            ldc 1359893119
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H5:I
         6: .line 169
            aload 0 /* this */
            ldc -1694144372
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H6:I
         7: .line 170
            aload 0 /* this */
            ldc 528734635
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H7:I
         8: .line 171
            aload 0 /* this */
            ldc 1541459225
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H8:I
         9: .line 173
            aload 0 /* this */
            iconst_0
            putfield org.bouncycastle.crypto.digests.SHA256Digest.xOff:I
        10: .line 174
            iconst_0
            istore 1 /* i */
        start local 1 // int i
        11: goto 14
        12: .line 176
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
            iload 1 /* i */
            iconst_0
            iastore
        13: .line 174
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 1 /* i */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
            arraylength
            if_icmpne 12
        end local 1 // int i
        15: .line 178
            return
        end local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Lorg/bouncycastle/crypto/digests/SHA256Digest;
           11   15     1     i  I

  protected void processBlock();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=11, args_size=1
        start local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
         0: .line 185
            bipush 16
            istore 1 /* t */
        start local 1 // int t
         1: goto 4
         2: .line 187
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
            iload 1 /* t */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
            iload 1 /* t */
            iconst_2
            isub
            iaload
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Theta1:(I)I
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
            iload 1 /* t */
            bipush 7
            isub
            iaload
            iadd
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
            iload 1 /* t */
            bipush 15
            isub
            iaload
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Theta0:(I)I
            iadd
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
            iload 1 /* t */
            bipush 16
            isub
            iaload
            iadd
            iastore
         3: .line 185
            iinc 1 /* t */ 1
      StackMap locals:
      StackMap stack:
         4: iload 1 /* t */
            bipush 63
            if_icmple 2
        end local 1 // int t
         5: .line 193
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H1:I
            istore 1 /* a */
        start local 1 // int a
         6: .line 194
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H2:I
            istore 2 /* b */
        start local 2 // int b
         7: .line 195
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H3:I
            istore 3 /* c */
        start local 3 // int c
         8: .line 196
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H4:I
            istore 4 /* d */
        start local 4 // int d
         9: .line 197
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H5:I
            istore 5 /* e */
        start local 5 // int e
        10: .line 198
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H6:I
            istore 6 /* f */
        start local 6 // int f
        11: .line 199
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H7:I
            istore 7 /* g */
        start local 7 // int g
        12: .line 200
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H8:I
            istore 8 /* h */
        start local 8 // int h
        13: .line 202
            iconst_0
            istore 9 /* t */
        start local 9 // int t
        14: .line 203
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        15: goto 49
        16: .line 206
      StackMap locals: org.bouncycastle.crypto.digests.SHA256Digest int int int int int int int int int int
      StackMap stack:
            iload 8 /* h */
            aload 0 /* this */
            iload 5 /* e */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Sum1:(I)I
            aload 0 /* this */
            iload 5 /* e */
            iload 6 /* f */
            iload 7 /* g */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Ch:(III)I
            iadd
            getstatic org.bouncycastle.crypto.digests.SHA256Digest.K:[I
            iload 9 /* t */
            iaload
            iadd
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
            iload 9 /* t */
            iaload
            iadd
            iadd
            istore 8 /* h */
        17: .line 207
            iload 4 /* d */
            iload 8 /* h */
            iadd
            istore 4 /* d */
        18: .line 208
            iload 8 /* h */
            aload 0 /* this */
            iload 1 /* a */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Sum0:(I)I
            aload 0 /* this */
            iload 1 /* a */
            iload 2 /* b */
            iload 3 /* c */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Maj:(III)I
            iadd
            iadd
            istore 8 /* h */
        19: .line 209
            iinc 9 /* t */ 1
        20: .line 212
            iload 7 /* g */
            aload 0 /* this */
            iload 4 /* d */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Sum1:(I)I
            aload 0 /* this */
            iload 4 /* d */
            iload 5 /* e */
            iload 6 /* f */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Ch:(III)I
            iadd
            getstatic org.bouncycastle.crypto.digests.SHA256Digest.K:[I
            iload 9 /* t */
            iaload
            iadd
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
            iload 9 /* t */
            iaload
            iadd
            iadd
            istore 7 /* g */
        21: .line 213
            iload 3 /* c */
            iload 7 /* g */
            iadd
            istore 3 /* c */
        22: .line 214
            iload 7 /* g */
            aload 0 /* this */
            iload 8 /* h */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Sum0:(I)I
            aload 0 /* this */
            iload 8 /* h */
            iload 1 /* a */
            iload 2 /* b */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Maj:(III)I
            iadd
            iadd
            istore 7 /* g */
        23: .line 215
            iinc 9 /* t */ 1
        24: .line 218
            iload 6 /* f */
            aload 0 /* this */
            iload 3 /* c */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Sum1:(I)I
            aload 0 /* this */
            iload 3 /* c */
            iload 4 /* d */
            iload 5 /* e */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Ch:(III)I
            iadd
            getstatic org.bouncycastle.crypto.digests.SHA256Digest.K:[I
            iload 9 /* t */
            iaload
            iadd
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
            iload 9 /* t */
            iaload
            iadd
            iadd
            istore 6 /* f */
        25: .line 219
            iload 2 /* b */
            iload 6 /* f */
            iadd
            istore 2 /* b */
        26: .line 220
            iload 6 /* f */
            aload 0 /* this */
            iload 7 /* g */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Sum0:(I)I
            aload 0 /* this */
            iload 7 /* g */
            iload 8 /* h */
            iload 1 /* a */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Maj:(III)I
            iadd
            iadd
            istore 6 /* f */
        27: .line 221
            iinc 9 /* t */ 1
        28: .line 224
            iload 5 /* e */
            aload 0 /* this */
            iload 2 /* b */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Sum1:(I)I
            aload 0 /* this */
            iload 2 /* b */
            iload 3 /* c */
            iload 4 /* d */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Ch:(III)I
            iadd
            getstatic org.bouncycastle.crypto.digests.SHA256Digest.K:[I
            iload 9 /* t */
            iaload
            iadd
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
            iload 9 /* t */
            iaload
            iadd
            iadd
            istore 5 /* e */
        29: .line 225
            iload 1 /* a */
            iload 5 /* e */
            iadd
            istore 1 /* a */
        30: .line 226
            iload 5 /* e */
            aload 0 /* this */
            iload 6 /* f */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Sum0:(I)I
            aload 0 /* this */
            iload 6 /* f */
            iload 7 /* g */
            iload 8 /* h */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Maj:(III)I
            iadd
            iadd
            istore 5 /* e */
        31: .line 227
            iinc 9 /* t */ 1
        32: .line 230
            iload 4 /* d */
            aload 0 /* this */
            iload 1 /* a */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Sum1:(I)I
            aload 0 /* this */
            iload 1 /* a */
            iload 2 /* b */
            iload 3 /* c */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Ch:(III)I
            iadd
            getstatic org.bouncycastle.crypto.digests.SHA256Digest.K:[I
            iload 9 /* t */
            iaload
            iadd
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
            iload 9 /* t */
            iaload
            iadd
            iadd
            istore 4 /* d */
        33: .line 231
            iload 8 /* h */
            iload 4 /* d */
            iadd
            istore 8 /* h */
        34: .line 232
            iload 4 /* d */
            aload 0 /* this */
            iload 5 /* e */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Sum0:(I)I
            aload 0 /* this */
            iload 5 /* e */
            iload 6 /* f */
            iload 7 /* g */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Maj:(III)I
            iadd
            iadd
            istore 4 /* d */
        35: .line 233
            iinc 9 /* t */ 1
        36: .line 236
            iload 3 /* c */
            aload 0 /* this */
            iload 8 /* h */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Sum1:(I)I
            aload 0 /* this */
            iload 8 /* h */
            iload 1 /* a */
            iload 2 /* b */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Ch:(III)I
            iadd
            getstatic org.bouncycastle.crypto.digests.SHA256Digest.K:[I
            iload 9 /* t */
            iaload
            iadd
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
            iload 9 /* t */
            iaload
            iadd
            iadd
            istore 3 /* c */
        37: .line 237
            iload 7 /* g */
            iload 3 /* c */
            iadd
            istore 7 /* g */
        38: .line 238
            iload 3 /* c */
            aload 0 /* this */
            iload 4 /* d */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Sum0:(I)I
            aload 0 /* this */
            iload 4 /* d */
            iload 5 /* e */
            iload 6 /* f */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Maj:(III)I
            iadd
            iadd
            istore 3 /* c */
        39: .line 239
            iinc 9 /* t */ 1
        40: .line 242
            iload 2 /* b */
            aload 0 /* this */
            iload 7 /* g */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Sum1:(I)I
            aload 0 /* this */
            iload 7 /* g */
            iload 8 /* h */
            iload 1 /* a */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Ch:(III)I
            iadd
            getstatic org.bouncycastle.crypto.digests.SHA256Digest.K:[I
            iload 9 /* t */
            iaload
            iadd
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
            iload 9 /* t */
            iaload
            iadd
            iadd
            istore 2 /* b */
        41: .line 243
            iload 6 /* f */
            iload 2 /* b */
            iadd
            istore 6 /* f */
        42: .line 244
            iload 2 /* b */
            aload 0 /* this */
            iload 3 /* c */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Sum0:(I)I
            aload 0 /* this */
            iload 3 /* c */
            iload 4 /* d */
            iload 5 /* e */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Maj:(III)I
            iadd
            iadd
            istore 2 /* b */
        43: .line 245
            iinc 9 /* t */ 1
        44: .line 248
            iload 1 /* a */
            aload 0 /* this */
            iload 6 /* f */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Sum1:(I)I
            aload 0 /* this */
            iload 6 /* f */
            iload 7 /* g */
            iload 8 /* h */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Ch:(III)I
            iadd
            getstatic org.bouncycastle.crypto.digests.SHA256Digest.K:[I
            iload 9 /* t */
            iaload
            iadd
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
            iload 9 /* t */
            iaload
            iadd
            iadd
            istore 1 /* a */
        45: .line 249
            iload 5 /* e */
            iload 1 /* a */
            iadd
            istore 5 /* e */
        46: .line 250
            iload 1 /* a */
            aload 0 /* this */
            iload 2 /* b */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Sum0:(I)I
            aload 0 /* this */
            iload 2 /* b */
            iload 3 /* c */
            iload 4 /* d */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Maj:(III)I
            iadd
            iadd
            istore 1 /* a */
        47: .line 251
            iinc 9 /* t */ 1
        48: .line 203
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        49: iload 10 /* i */
            bipush 8
            if_icmplt 16
        end local 10 // int i
        50: .line 254
            aload 0 /* this */
            dup
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H1:I
            iload 1 /* a */
            iadd
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H1:I
        51: .line 255
            aload 0 /* this */
            dup
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H2:I
            iload 2 /* b */
            iadd
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H2:I
        52: .line 256
            aload 0 /* this */
            dup
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H3:I
            iload 3 /* c */
            iadd
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H3:I
        53: .line 257
            aload 0 /* this */
            dup
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H4:I
            iload 4 /* d */
            iadd
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H4:I
        54: .line 258
            aload 0 /* this */
            dup
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H5:I
            iload 5 /* e */
            iadd
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H5:I
        55: .line 259
            aload 0 /* this */
            dup
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H6:I
            iload 6 /* f */
            iadd
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H6:I
        56: .line 260
            aload 0 /* this */
            dup
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H7:I
            iload 7 /* g */
            iadd
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H7:I
        57: .line 261
            aload 0 /* this */
            dup
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H8:I
            iload 8 /* h */
            iadd
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H8:I
        58: .line 266
            aload 0 /* this */
            iconst_0
            putfield org.bouncycastle.crypto.digests.SHA256Digest.xOff:I
        59: .line 267
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        60: goto 63
        61: .line 269
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
            iload 10 /* i */
            iconst_0
            iastore
        62: .line 267
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        63: iload 10 /* i */
            bipush 16
            if_icmplt 61
        end local 10 // int i
        64: .line 271
            return
        end local 9 // int t
        end local 8 // int h
        end local 7 // int g
        end local 6 // int f
        end local 5 // int e
        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.digests.SHA256Digest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   65     0  this  Lorg/bouncycastle/crypto/digests/SHA256Digest;
            1    5     1     t  I
            6   65     1     a  I
            7   65     2     b  I
            8   65     3     c  I
            9   65     4     d  I
           10   65     5     e  I
           11   65     6     f  I
           12   65     7     g  I
           13   65     8     h  I
           14   65     9     t  I
           15   50    10     i  I
           60   64    10     i  I

  private int Ch(int, int, int);
    descriptor: (III)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
        start local 1 // int x
        start local 2 // int y
        start local 3 // int z
         0: .line 279
            iload 1 /* x */
            iload 2 /* y */
            iand
            iload 1 /* x */
            iconst_m1
            ixor
            iload 3 /* z */
            iand
            ixor
            ireturn
        end local 3 // int z
        end local 2 // int y
        end local 1 // int x
        end local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/crypto/digests/SHA256Digest;
            0    1     1     x  I
            0    1     2     y  I
            0    1     3     z  I
    MethodParameters:
      Name  Flags
      x     
      y     
      z     

  private int Maj(int, int, int);
    descriptor: (III)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
        start local 1 // int x
        start local 2 // int y
        start local 3 // int z
         0: .line 287
            iload 1 /* x */
            iload 2 /* y */
            iand
            iload 1 /* x */
            iload 3 /* z */
            iand
            ixor
            iload 2 /* y */
            iload 3 /* z */
            iand
            ixor
            ireturn
        end local 3 // int z
        end local 2 // int y
        end local 1 // int x
        end local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/crypto/digests/SHA256Digest;
            0    1     1     x  I
            0    1     2     y  I
            0    1     3     z  I
    MethodParameters:
      Name  Flags
      x     
      y     
      z     

  private int Sum0(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
        start local 1 // int x
         0: .line 293
            iload 1 /* x */
            iconst_2
            iushr
            iload 1 /* x */
            bipush 30
            ishl
            ior
            iload 1 /* x */
            bipush 13
            iushr
            iload 1 /* x */
            bipush 19
            ishl
            ior
            ixor
            iload 1 /* x */
            bipush 22
            iushr
            iload 1 /* x */
            bipush 10
            ishl
            ior
            ixor
            ireturn
        end local 1 // int x
        end local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/crypto/digests/SHA256Digest;
            0    1     1     x  I
    MethodParameters:
      Name  Flags
      x     

  private int Sum1(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
        start local 1 // int x
         0: .line 299
            iload 1 /* x */
            bipush 6
            iushr
            iload 1 /* x */
            bipush 26
            ishl
            ior
            iload 1 /* x */
            bipush 11
            iushr
            iload 1 /* x */
            bipush 21
            ishl
            ior
            ixor
            iload 1 /* x */
            bipush 25
            iushr
            iload 1 /* x */
            bipush 7
            ishl
            ior
            ixor
            ireturn
        end local 1 // int x
        end local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/crypto/digests/SHA256Digest;
            0    1     1     x  I
    MethodParameters:
      Name  Flags
      x     

  private int Theta0(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
        start local 1 // int x
         0: .line 305
            iload 1 /* x */
            bipush 7
            iushr
            iload 1 /* x */
            bipush 25
            ishl
            ior
            iload 1 /* x */
            bipush 18
            iushr
            iload 1 /* x */
            bipush 14
            ishl
            ior
            ixor
            iload 1 /* x */
            iconst_3
            iushr
            ixor
            ireturn
        end local 1 // int x
        end local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/crypto/digests/SHA256Digest;
            0    1     1     x  I
    MethodParameters:
      Name  Flags
      x     

  private int Theta1(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
        start local 1 // int x
         0: .line 311
            iload 1 /* x */
            bipush 17
            iushr
            iload 1 /* x */
            bipush 15
            ishl
            ior
            iload 1 /* x */
            bipush 19
            iushr
            iload 1 /* x */
            bipush 13
            ishl
            ior
            ixor
            iload 1 /* x */
            bipush 10
            iushr
            ixor
            ireturn
        end local 1 // int x
        end local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/crypto/digests/SHA256Digest;
            0    1     1     x  I
    MethodParameters:
      Name  Flags
      x     

  public org.bouncycastle.util.Memoable copy();
    descriptor: ()Lorg/bouncycastle/util/Memoable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
         0: .line 331
            new org.bouncycastle.crypto.digests.SHA256Digest
            dup
            aload 0 /* this */
            invokespecial org.bouncycastle.crypto.digests.SHA256Digest.<init>:(Lorg/bouncycastle/crypto/digests/SHA256Digest;)V
            areturn
        end local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/crypto/digests/SHA256Digest;

  public void reset(org.bouncycastle.util.Memoable);
    descriptor: (Lorg/bouncycastle/util/Memoable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
        start local 1 // org.bouncycastle.util.Memoable other
         0: .line 336
            aload 1 /* other */
            checkcast org.bouncycastle.crypto.digests.SHA256Digest
            astore 2 /* d */
        start local 2 // org.bouncycastle.crypto.digests.SHA256Digest d
         1: .line 338
            aload 0 /* this */
            aload 2 /* d */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.copyIn:(Lorg/bouncycastle/crypto/digests/SHA256Digest;)V
         2: .line 339
            return
        end local 2 // org.bouncycastle.crypto.digests.SHA256Digest d
        end local 1 // org.bouncycastle.util.Memoable other
        end local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/bouncycastle/crypto/digests/SHA256Digest;
            0    3     1  other  Lorg/bouncycastle/util/Memoable;
            1    3     2      d  Lorg/bouncycastle/crypto/digests/SHA256Digest;
    MethodParameters:
       Name  Flags
      other  

  public byte[] getEncodedState();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
         0: .line 343
            bipush 52
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.xOff:I
            iconst_4
            imul
            iadd
            newarray 8
            astore 1 /* state */
        start local 1 // byte[] state
         1: .line 345
            aload 0 /* this */
            aload 1 /* state */
            invokespecial org.bouncycastle.crypto.digests.GeneralDigest.populateState:([B)V
         2: .line 347
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H1:I
            aload 1 /* state */
            bipush 16
            invokestatic org.bouncycastle.util.Pack.intToBigEndian:(I[BI)V
         3: .line 348
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H2:I
            aload 1 /* state */
            bipush 20
            invokestatic org.bouncycastle.util.Pack.intToBigEndian:(I[BI)V
         4: .line 349
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H3:I
            aload 1 /* state */
            bipush 24
            invokestatic org.bouncycastle.util.Pack.intToBigEndian:(I[BI)V
         5: .line 350
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H4:I
            aload 1 /* state */
            bipush 28
            invokestatic org.bouncycastle.util.Pack.intToBigEndian:(I[BI)V
         6: .line 351
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H5:I
            aload 1 /* state */
            bipush 32
            invokestatic org.bouncycastle.util.Pack.intToBigEndian:(I[BI)V
         7: .line 352
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H6:I
            aload 1 /* state */
            bipush 36
            invokestatic org.bouncycastle.util.Pack.intToBigEndian:(I[BI)V
         8: .line 353
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H7:I
            aload 1 /* state */
            bipush 40
            invokestatic org.bouncycastle.util.Pack.intToBigEndian:(I[BI)V
         9: .line 354
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H8:I
            aload 1 /* state */
            bipush 44
            invokestatic org.bouncycastle.util.Pack.intToBigEndian:(I[BI)V
        10: .line 355
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.xOff:I
            aload 1 /* state */
            bipush 48
            invokestatic org.bouncycastle.util.Pack.intToBigEndian:(I[BI)V
        11: .line 357
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        12: goto 15
        13: .line 359
      StackMap locals: byte[] int
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
            iload 2 /* i */
            iaload
            aload 1 /* state */
            bipush 52
            iload 2 /* i */
            iconst_4
            imul
            iadd
            invokestatic org.bouncycastle.util.Pack.intToBigEndian:(I[BI)V
        14: .line 357
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 2 /* i */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.xOff:I
            if_icmpne 13
        end local 2 // int i
        16: .line 362
            aload 1 /* state */
            areturn
        end local 1 // byte[] state
        end local 0 // org.bouncycastle.crypto.digests.SHA256Digest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   17     0   this  Lorg/bouncycastle/crypto/digests/SHA256Digest;
            1   17     1  state  [B
           12   16     2      i  I
}
SourceFile: "SHA256Digest.java"