public class org.bouncycastle.crypto.digests.SHA256Digest extends org.bouncycastle.crypto.digests.GeneralDigest
  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 284
            bipush 64
            newarray 10
            dup
            iconst_0
         1: .line 285
            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 286
            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 287
            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 288
            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 289
            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 290
            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 291
            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 292
            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 284
            putstatic org.bouncycastle.crypto.digests.SHA256Digest.K:[I
        10: .line 293
            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 32
            aload 0 /* this */
            invokespecial org.bouncycastle.crypto.digests.GeneralDigest.<init>:()V
         1: .line 26
            aload 0 /* this */
            bipush 64
            newarray 10
            putfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
         2: .line 34
            aload 0 /* this */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.reset:()V
         3: .line 35
            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=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 43
            aload 0 /* this */
            aload 1 /* t */
            invokespecial org.bouncycastle.crypto.digests.GeneralDigest.<init>:(Lorg/bouncycastle/crypto/digests/GeneralDigest;)V
         1: .line 26
            aload 0 /* this */
            bipush 64
            newarray 10
            putfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
         2: .line 45
            aload 0 /* this */
            aload 1 /* t */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H1:I
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H1:I
         3: .line 46
            aload 0 /* this */
            aload 1 /* t */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H2:I
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H2:I
         4: .line 47
            aload 0 /* this */
            aload 1 /* t */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H3:I
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H3:I
         5: .line 48
            aload 0 /* this */
            aload 1 /* t */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H4:I
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H4:I
         6: .line 49
            aload 0 /* this */
            aload 1 /* t */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H5:I
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H5:I
         7: .line 50
            aload 0 /* this */
            aload 1 /* t */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H6:I
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H6:I
         8: .line 51
            aload 0 /* this */
            aload 1 /* t */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H7:I
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H7:I
         9: .line 52
            aload 0 /* this */
            aload 1 /* t */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H8:I
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H8:I
        10: .line 54
            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
        11: .line 55
            aload 0 /* this */
            aload 1 /* t */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.xOff:I
            putfield org.bouncycastle.crypto.digests.SHA256Digest.xOff:I
        12: .line 56
            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   13     0  this  Lorg/bouncycastle/crypto/digests/SHA256Digest;
            0   13     1     t  Lorg/bouncycastle/crypto/digests/SHA256Digest;
    MethodParameters:
      Name  Flags
      t     

  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 60
            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 65
            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 74
            aload 1 /* in */
            iload 2 /* inOff */
            baload
            bipush 24
            ishl
            istore 3 /* n */
        start local 3 // int n
         1: .line 75
            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 76
            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 77
            iload 3 /* n */
            aload 1 /* in */
            iinc 2 /* inOff */ 1
            iload 2 /* inOff */
            baload
            sipush 255
            iand
            ior
            istore 3 /* n */
         4: .line 78
            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 80
            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 82
            aload 0 /* this */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.processBlock:()V
         7: .line 84
      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 89
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.xOff:I
            bipush 14
            if_icmple 2
         1: .line 91
            aload 0 /* this */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.processBlock:()V
         2: .line 94
      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 95
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
            bipush 15
            lload 1 /* bitLength */
            ldc -1
            land
            l2i
            iastore
         4: .line 96
            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 102
            aload 0 /* this */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.finish:()V
         1: .line 104
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H1:I
            aload 1 /* out */
            iload 2 /* outOff */
            invokestatic org.bouncycastle.crypto.util.Pack.intToBigEndian:(I[BI)V
         2: .line 105
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H2:I
            aload 1 /* out */
            iload 2 /* outOff */
            iconst_4
            iadd
            invokestatic org.bouncycastle.crypto.util.Pack.intToBigEndian:(I[BI)V
         3: .line 106
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H3:I
            aload 1 /* out */
            iload 2 /* outOff */
            bipush 8
            iadd
            invokestatic org.bouncycastle.crypto.util.Pack.intToBigEndian:(I[BI)V
         4: .line 107
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H4:I
            aload 1 /* out */
            iload 2 /* outOff */
            bipush 12
            iadd
            invokestatic org.bouncycastle.crypto.util.Pack.intToBigEndian:(I[BI)V
         5: .line 108
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H5:I
            aload 1 /* out */
            iload 2 /* outOff */
            bipush 16
            iadd
            invokestatic org.bouncycastle.crypto.util.Pack.intToBigEndian:(I[BI)V
         6: .line 109
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H6:I
            aload 1 /* out */
            iload 2 /* outOff */
            bipush 20
            iadd
            invokestatic org.bouncycastle.crypto.util.Pack.intToBigEndian:(I[BI)V
         7: .line 110
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H7:I
            aload 1 /* out */
            iload 2 /* outOff */
            bipush 24
            iadd
            invokestatic org.bouncycastle.crypto.util.Pack.intToBigEndian:(I[BI)V
         8: .line 111
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H8:I
            aload 1 /* out */
            iload 2 /* outOff */
            bipush 28
            iadd
            invokestatic org.bouncycastle.crypto.util.Pack.intToBigEndian:(I[BI)V
         9: .line 113
            aload 0 /* this */
            invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.reset:()V
        10: .line 115
            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 123
            aload 0 /* this */
            invokespecial org.bouncycastle.crypto.digests.GeneralDigest.reset:()V
         1: .line 130
            aload 0 /* this */
            ldc 1779033703
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H1:I
         2: .line 131
            aload 0 /* this */
            ldc -1150833019
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H2:I
         3: .line 132
            aload 0 /* this */
            ldc 1013904242
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H3:I
         4: .line 133
            aload 0 /* this */
            ldc -1521486534
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H4:I
         5: .line 134
            aload 0 /* this */
            ldc 1359893119
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H5:I
         6: .line 135
            aload 0 /* this */
            ldc -1694144372
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H6:I
         7: .line 136
            aload 0 /* this */
            ldc 528734635
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H7:I
         8: .line 137
            aload 0 /* this */
            ldc 1541459225
            putfield org.bouncycastle.crypto.digests.SHA256Digest.H8:I
         9: .line 139
            aload 0 /* this */
            iconst_0
            putfield org.bouncycastle.crypto.digests.SHA256Digest.xOff:I
        10: .line 140
            iconst_0
            istore 1 /* i */
        start local 1 // int i
        11: goto 14
        12: .line 142
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
            iload 1 /* i */
            iconst_0
            iastore
        13: .line 140
            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 144
            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 151
            bipush 16
            istore 1 /* t */
        start local 1 // int t
         1: goto 4
         2: .line 153
      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 151
            iinc 1 /* t */ 1
      StackMap locals:
      StackMap stack:
         4: iload 1 /* t */
            bipush 63
            if_icmple 2
        end local 1 // int t
         5: .line 159
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H1:I
            istore 1 /* a */
        start local 1 // int a
         6: .line 160
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H2:I
            istore 2 /* b */
        start local 2 // int b
         7: .line 161
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H3:I
            istore 3 /* c */
        start local 3 // int c
         8: .line 162
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H4:I
            istore 4 /* d */
        start local 4 // int d
         9: .line 163
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H5:I
            istore 5 /* e */
        start local 5 // int e
        10: .line 164
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H6:I
            istore 6 /* f */
        start local 6 // int f
        11: .line 165
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H7:I
            istore 7 /* g */
        start local 7 // int g
        12: .line 166
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.H8:I
            istore 8 /* h */
        start local 8 // int h
        13: .line 168
            iconst_0
            istore 9 /* t */
        start local 9 // int t
        14: .line 169
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        15: goto 49
        16: .line 172
      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 173
            iload 4 /* d */
            iload 8 /* h */
            iadd
            istore 4 /* d */
        18: .line 174
            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 175
            iinc 9 /* t */ 1
        20: .line 178
            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 179
            iload 3 /* c */
            iload 7 /* g */
            iadd
            istore 3 /* c */
        22: .line 180
            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 181
            iinc 9 /* t */ 1
        24: .line 184
            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 185
            iload 2 /* b */
            iload 6 /* f */
            iadd
            istore 2 /* b */
        26: .line 186
            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 187
            iinc 9 /* t */ 1
        28: .line 190
            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 191
            iload 1 /* a */
            iload 5 /* e */
            iadd
            istore 1 /* a */
        30: .line 192
            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 193
            iinc 9 /* t */ 1
        32: .line 196
            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 197
            iload 8 /* h */
            iload 4 /* d */
            iadd
            istore 8 /* h */
        34: .line 198
            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 199
            iinc 9 /* t */ 1
        36: .line 202
            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 203
            iload 7 /* g */
            iload 3 /* c */
            iadd
            istore 7 /* g */
        38: .line 204
            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 205
            iinc 9 /* t */ 1
        40: .line 208
            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 209
            iload 6 /* f */
            iload 2 /* b */
            iadd
            istore 6 /* f */
        42: .line 210
            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 211
            iinc 9 /* t */ 1
        44: .line 214
            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 215
            iload 5 /* e */
            iload 1 /* a */
            iadd
            istore 5 /* e */
        46: .line 216
            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 217
            iinc 9 /* t */ 1
        48: .line 169
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        49: iload 10 /* i */
            bipush 8
            if_icmplt 16
        end local 10 // int i
        50: .line 220
            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 221
            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 222
            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 223
            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 224
            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 225
            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 226
            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 227
            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 232
            aload 0 /* this */
            iconst_0
            putfield org.bouncycastle.crypto.digests.SHA256Digest.xOff:I
        59: .line 233
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        60: goto 63
        61: .line 235
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
            iload 10 /* i */
            iconst_0
            iastore
        62: .line 233
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        63: iload 10 /* i */
            bipush 16
            if_icmplt 61
        end local 10 // int i
        64: .line 237
            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 245
            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 253
            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 259
            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 265
            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 271
            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 277
            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     
}
SourceFile: "SHA256Digest.java"