public class org.bouncycastle.crypto.digests.SHA512tDigest extends org.bouncycastle.crypto.digests.LongDigest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.bouncycastle.crypto.digests.SHA512tDigest
  super_class: org.bouncycastle.crypto.digests.LongDigest
{
  private int digestLength;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private long H1t;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long H2t;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long H3t;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long H4t;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long H5t;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long H6t;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long H7t;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long H8t;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.bouncycastle.crypto.digests.SHA512tDigest this
        start local 1 // int bitLength
         0: .line 20
            aload 0 /* this */
            invokespecial org.bouncycastle.crypto.digests.LongDigest.<init>:()V
         1: .line 22
            iload 1 /* bitLength */
            sipush 512
            if_icmplt 3
         2: .line 24
            new java.lang.IllegalArgumentException
            dup
            ldc "bitLength cannot be >= 512"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 27
      StackMap locals: org.bouncycastle.crypto.digests.SHA512tDigest int
      StackMap stack:
            iload 1 /* bitLength */
            bipush 8
            irem
            ifeq 5
         4: .line 29
            new java.lang.IllegalArgumentException
            dup
            ldc "bitLength needs to be a multiple of 8"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 32
      StackMap locals:
      StackMap stack:
            iload 1 /* bitLength */
            sipush 384
            if_icmpne 7
         6: .line 34
            new java.lang.IllegalArgumentException
            dup
            ldc "bitLength cannot be 384 use SHA384 instead"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 37
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* bitLength */
            bipush 8
            idiv
            putfield org.bouncycastle.crypto.digests.SHA512tDigest.digestLength:I
         8: .line 39
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.digestLength:I
            bipush 8
            imul
            invokevirtual org.bouncycastle.crypto.digests.SHA512tDigest.tIvGenerate:(I)V
         9: .line 41
            aload 0 /* this */
            invokevirtual org.bouncycastle.crypto.digests.SHA512tDigest.reset:()V
        10: .line 42
            return
        end local 1 // int bitLength
        end local 0 // org.bouncycastle.crypto.digests.SHA512tDigest this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lorg/bouncycastle/crypto/digests/SHA512tDigest;
            0   11     1  bitLength  I
    MethodParameters:
           Name  Flags
      bitLength  

  public void <init>(org.bouncycastle.crypto.digests.SHA512tDigest);
    descriptor: (Lorg/bouncycastle/crypto/digests/SHA512tDigest;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bouncycastle.crypto.digests.SHA512tDigest this
        start local 1 // org.bouncycastle.crypto.digests.SHA512tDigest t
         0: .line 50
            aload 0 /* this */
            aload 1 /* t */
            invokespecial org.bouncycastle.crypto.digests.LongDigest.<init>:(Lorg/bouncycastle/crypto/digests/LongDigest;)V
         1: .line 52
            aload 0 /* this */
            aload 1 /* t */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.digestLength:I
            putfield org.bouncycastle.crypto.digests.SHA512tDigest.digestLength:I
         2: .line 54
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual org.bouncycastle.crypto.digests.SHA512tDigest.reset:(Lorg/bouncycastle/util/Memoable;)V
         3: .line 55
            return
        end local 1 // org.bouncycastle.crypto.digests.SHA512tDigest t
        end local 0 // org.bouncycastle.crypto.digests.SHA512tDigest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/bouncycastle/crypto/digests/SHA512tDigest;
            0    4     1     t  Lorg/bouncycastle/crypto/digests/SHA512tDigest;
    MethodParameters:
      Name  Flags
      t     

  public void <init>(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bouncycastle.crypto.digests.SHA512tDigest this
        start local 1 // byte[] encodedState
         0: .line 59
            aload 0 /* this */
            aload 1 /* encodedState */
            invokestatic org.bouncycastle.crypto.digests.SHA512tDigest.readDigestLength:([B)I
            invokespecial org.bouncycastle.crypto.digests.SHA512tDigest.<init>:(I)V
         1: .line 60
            aload 0 /* this */
            aload 1 /* encodedState */
            invokevirtual org.bouncycastle.crypto.digests.SHA512tDigest.restoreState:([B)V
         2: .line 61
            return
        end local 1 // byte[] encodedState
        end local 0 // org.bouncycastle.crypto.digests.SHA512tDigest this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/bouncycastle/crypto/digests/SHA512tDigest;
            0    3     1  encodedState  [B
    MethodParameters:
              Name  Flags
      encodedState  

  private static int readDigestLength(byte[]);
    descriptor: ([B)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // byte[] encodedState
         0: .line 65
            aload 0 /* encodedState */
            aload 0 /* encodedState */
            arraylength
            iconst_4
            isub
            invokestatic org.bouncycastle.util.Pack.bigEndianToInt:([BI)I
            ireturn
        end local 0 // byte[] encodedState
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  encodedState  [B
    MethodParameters:
              Name  Flags
      encodedState  

  public java.lang.String getAlgorithmName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.bouncycastle.crypto.digests.SHA512tDigest this
         0: .line 70
            new java.lang.StringBuilder
            dup
            ldc "SHA-512/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.digestLength:I
            bipush 8
            imul
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.bouncycastle.crypto.digests.SHA512tDigest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/crypto/digests/SHA512tDigest;

  public int getDigestSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.crypto.digests.SHA512tDigest this
         0: .line 75
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.digestLength:I
            ireturn
        end local 0 // org.bouncycastle.crypto.digests.SHA512tDigest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/crypto/digests/SHA512tDigest;

  public int doFinal(byte[], int);
    descriptor: ([BI)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.bouncycastle.crypto.digests.SHA512tDigest this
        start local 1 // byte[] out
        start local 2 // int outOff
         0: .line 82
            aload 0 /* this */
            invokevirtual org.bouncycastle.crypto.digests.SHA512tDigest.finish:()V
         1: .line 84
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.H1:J
            aload 1 /* out */
            iload 2 /* outOff */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.digestLength:I
            invokestatic org.bouncycastle.crypto.digests.SHA512tDigest.longToBigEndian:(J[BII)V
         2: .line 85
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.H2:J
            aload 1 /* out */
            iload 2 /* outOff */
            bipush 8
            iadd
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.digestLength:I
            bipush 8
            isub
            invokestatic org.bouncycastle.crypto.digests.SHA512tDigest.longToBigEndian:(J[BII)V
         3: .line 86
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.H3:J
            aload 1 /* out */
            iload 2 /* outOff */
            bipush 16
            iadd
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.digestLength:I
            bipush 16
            isub
            invokestatic org.bouncycastle.crypto.digests.SHA512tDigest.longToBigEndian:(J[BII)V
         4: .line 87
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.H4:J
            aload 1 /* out */
            iload 2 /* outOff */
            bipush 24
            iadd
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.digestLength:I
            bipush 24
            isub
            invokestatic org.bouncycastle.crypto.digests.SHA512tDigest.longToBigEndian:(J[BII)V
         5: .line 88
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.H5:J
            aload 1 /* out */
            iload 2 /* outOff */
            bipush 32
            iadd
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.digestLength:I
            bipush 32
            isub
            invokestatic org.bouncycastle.crypto.digests.SHA512tDigest.longToBigEndian:(J[BII)V
         6: .line 89
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.H6:J
            aload 1 /* out */
            iload 2 /* outOff */
            bipush 40
            iadd
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.digestLength:I
            bipush 40
            isub
            invokestatic org.bouncycastle.crypto.digests.SHA512tDigest.longToBigEndian:(J[BII)V
         7: .line 90
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.H7:J
            aload 1 /* out */
            iload 2 /* outOff */
            bipush 48
            iadd
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.digestLength:I
            bipush 48
            isub
            invokestatic org.bouncycastle.crypto.digests.SHA512tDigest.longToBigEndian:(J[BII)V
         8: .line 91
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.H8:J
            aload 1 /* out */
            iload 2 /* outOff */
            bipush 56
            iadd
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.digestLength:I
            bipush 56
            isub
            invokestatic org.bouncycastle.crypto.digests.SHA512tDigest.longToBigEndian:(J[BII)V
         9: .line 93
            aload 0 /* this */
            invokevirtual org.bouncycastle.crypto.digests.SHA512tDigest.reset:()V
        10: .line 95
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.digestLength:I
            ireturn
        end local 2 // int outOff
        end local 1 // byte[] out
        end local 0 // org.bouncycastle.crypto.digests.SHA512tDigest this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lorg/bouncycastle/crypto/digests/SHA512tDigest;
            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=1, args_size=1
        start local 0 // org.bouncycastle.crypto.digests.SHA512tDigest this
         0: .line 103
            aload 0 /* this */
            invokespecial org.bouncycastle.crypto.digests.LongDigest.reset:()V
         1: .line 108
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.H1t:J
            putfield org.bouncycastle.crypto.digests.SHA512tDigest.H1:J
         2: .line 109
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.H2t:J
            putfield org.bouncycastle.crypto.digests.SHA512tDigest.H2:J
         3: .line 110
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.H3t:J
            putfield org.bouncycastle.crypto.digests.SHA512tDigest.H3:J
         4: .line 111
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.H4t:J
            putfield org.bouncycastle.crypto.digests.SHA512tDigest.H4:J
         5: .line 112
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.H5t:J
            putfield org.bouncycastle.crypto.digests.SHA512tDigest.H5:J
         6: .line 113
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.H6t:J
            putfield org.bouncycastle.crypto.digests.SHA512tDigest.H6:J
         7: .line 114
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.H7t:J
            putfield org.bouncycastle.crypto.digests.SHA512tDigest.H7:J
         8: .line 115
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.H8t:J
            putfield org.bouncycastle.crypto.digests.SHA512tDigest.H8:J
         9: .line 116
            return
        end local 0 // org.bouncycastle.crypto.digests.SHA512tDigest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/bouncycastle/crypto/digests/SHA512tDigest;

  private void tIvGenerate(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.bouncycastle.crypto.digests.SHA512tDigest this
        start local 1 // int bitLength
         0: .line 120
            aload 0 /* this */
            ldc -3482333909917012819
            putfield org.bouncycastle.crypto.digests.SHA512tDigest.H1:J
         1: .line 121
            aload 0 /* this */
            ldc 2216346199247487646
            putfield org.bouncycastle.crypto.digests.SHA512tDigest.H2:J
         2: .line 122
            aload 0 /* this */
            ldc -7364697282686394994
            putfield org.bouncycastle.crypto.digests.SHA512tDigest.H3:J
         3: .line 123
            aload 0 /* this */
            ldc 65953792586715988
            putfield org.bouncycastle.crypto.digests.SHA512tDigest.H4:J
         4: .line 124
            aload 0 /* this */
            ldc -816286391624063116
            putfield org.bouncycastle.crypto.digests.SHA512tDigest.H5:J
         5: .line 125
            aload 0 /* this */
            ldc 4512832404995164602
            putfield org.bouncycastle.crypto.digests.SHA512tDigest.H6:J
         6: .line 126
            aload 0 /* this */
            ldc -5033199132376557362
            putfield org.bouncycastle.crypto.digests.SHA512tDigest.H7:J
         7: .line 127
            aload 0 /* this */
            ldc -124578254951840548
            putfield org.bouncycastle.crypto.digests.SHA512tDigest.H8:J
         8: .line 129
            aload 0 /* this */
            bipush 83
            invokevirtual org.bouncycastle.crypto.digests.SHA512tDigest.update:(B)V
         9: .line 130
            aload 0 /* this */
            bipush 72
            invokevirtual org.bouncycastle.crypto.digests.SHA512tDigest.update:(B)V
        10: .line 131
            aload 0 /* this */
            bipush 65
            invokevirtual org.bouncycastle.crypto.digests.SHA512tDigest.update:(B)V
        11: .line 132
            aload 0 /* this */
            bipush 45
            invokevirtual org.bouncycastle.crypto.digests.SHA512tDigest.update:(B)V
        12: .line 133
            aload 0 /* this */
            bipush 53
            invokevirtual org.bouncycastle.crypto.digests.SHA512tDigest.update:(B)V
        13: .line 134
            aload 0 /* this */
            bipush 49
            invokevirtual org.bouncycastle.crypto.digests.SHA512tDigest.update:(B)V
        14: .line 135
            aload 0 /* this */
            bipush 50
            invokevirtual org.bouncycastle.crypto.digests.SHA512tDigest.update:(B)V
        15: .line 136
            aload 0 /* this */
            bipush 47
            invokevirtual org.bouncycastle.crypto.digests.SHA512tDigest.update:(B)V
        16: .line 138
            iload 1 /* bitLength */
            bipush 100
            if_icmple 23
        17: .line 140
            aload 0 /* this */
            iload 1 /* bitLength */
            bipush 100
            idiv
            bipush 48
            iadd
            i2b
            invokevirtual org.bouncycastle.crypto.digests.SHA512tDigest.update:(B)V
        18: .line 141
            iload 1 /* bitLength */
            bipush 100
            irem
            istore 1 /* bitLength */
        19: .line 142
            aload 0 /* this */
            iload 1 /* bitLength */
            bipush 10
            idiv
            bipush 48
            iadd
            i2b
            invokevirtual org.bouncycastle.crypto.digests.SHA512tDigest.update:(B)V
        20: .line 143
            iload 1 /* bitLength */
            bipush 10
            irem
            istore 1 /* bitLength */
        21: .line 144
            aload 0 /* this */
            iload 1 /* bitLength */
            bipush 48
            iadd
            i2b
            invokevirtual org.bouncycastle.crypto.digests.SHA512tDigest.update:(B)V
        22: .line 145
            goto 29
        23: .line 146
      StackMap locals:
      StackMap stack:
            iload 1 /* bitLength */
            bipush 10
            if_icmple 28
        24: .line 148
            aload 0 /* this */
            iload 1 /* bitLength */
            bipush 10
            idiv
            bipush 48
            iadd
            i2b
            invokevirtual org.bouncycastle.crypto.digests.SHA512tDigest.update:(B)V
        25: .line 149
            iload 1 /* bitLength */
            bipush 10
            irem
            istore 1 /* bitLength */
        26: .line 150
            aload 0 /* this */
            iload 1 /* bitLength */
            bipush 48
            iadd
            i2b
            invokevirtual org.bouncycastle.crypto.digests.SHA512tDigest.update:(B)V
        27: .line 151
            goto 29
        28: .line 154
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* bitLength */
            bipush 48
            iadd
            i2b
            invokevirtual org.bouncycastle.crypto.digests.SHA512tDigest.update:(B)V
        29: .line 157
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.bouncycastle.crypto.digests.SHA512tDigest.finish:()V
        30: .line 159
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.H1:J
            putfield org.bouncycastle.crypto.digests.SHA512tDigest.H1t:J
        31: .line 160
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.H2:J
            putfield org.bouncycastle.crypto.digests.SHA512tDigest.H2t:J
        32: .line 161
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.H3:J
            putfield org.bouncycastle.crypto.digests.SHA512tDigest.H3t:J
        33: .line 162
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.H4:J
            putfield org.bouncycastle.crypto.digests.SHA512tDigest.H4t:J
        34: .line 163
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.H5:J
            putfield org.bouncycastle.crypto.digests.SHA512tDigest.H5t:J
        35: .line 164
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.H6:J
            putfield org.bouncycastle.crypto.digests.SHA512tDigest.H6t:J
        36: .line 165
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.H7:J
            putfield org.bouncycastle.crypto.digests.SHA512tDigest.H7t:J
        37: .line 166
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.H8:J
            putfield org.bouncycastle.crypto.digests.SHA512tDigest.H8t:J
        38: .line 167
            return
        end local 1 // int bitLength
        end local 0 // org.bouncycastle.crypto.digests.SHA512tDigest this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   39     0       this  Lorg/bouncycastle/crypto/digests/SHA512tDigest;
            0   39     1  bitLength  I
    MethodParameters:
           Name  Flags
      bitLength  

  private static void longToBigEndian(long, byte[], int, int);
    descriptor: (J[BII)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // long n
        start local 2 // byte[] bs
        start local 3 // int off
        start local 4 // int max
         0: .line 171
            iload 4 /* max */
            ifle 4
         1: .line 173
            lload 0 /* n */
            bipush 32
            lushr
            l2i
            aload 2 /* bs */
            iload 3 /* off */
            iload 4 /* max */
            invokestatic org.bouncycastle.crypto.digests.SHA512tDigest.intToBigEndian:(I[BII)V
         2: .line 175
            iload 4 /* max */
            iconst_4
            if_icmple 4
         3: .line 177
            lload 0 /* n */
            ldc 4294967295
            land
            l2i
            aload 2 /* bs */
            iload 3 /* off */
            iconst_4
            iadd
            iload 4 /* max */
            iconst_4
            isub
            invokestatic org.bouncycastle.crypto.digests.SHA512tDigest.intToBigEndian:(I[BII)V
         4: .line 180
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int max
        end local 3 // int off
        end local 2 // byte[] bs
        end local 0 // long n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     n  J
            0    5     2    bs  [B
            0    5     3   off  I
            0    5     4   max  I
    MethodParameters:
      Name  Flags
      n     
      bs    
      off   
      max   

  private static void intToBigEndian(int, byte[], int, int);
    descriptor: (I[BII)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // int n
        start local 1 // byte[] bs
        start local 2 // int off
        start local 3 // int max
         0: .line 184
            iconst_4
            iload 3 /* max */
            invokestatic java.lang.Math.min:(II)I
            istore 4 /* num */
        start local 4 // int num
         1: .line 185
            goto 4
         2: .line 187
      StackMap locals: int
      StackMap stack:
            bipush 8
            iconst_3
            iload 4 /* num */
            isub
            imul
            istore 5 /* shift */
        start local 5 // int shift
         3: .line 188
            aload 1 /* bs */
            iload 2 /* off */
            iload 4 /* num */
            iadd
            iload 0 /* n */
            iload 5 /* shift */
            iushr
            i2b
            bastore
        end local 5 // int shift
         4: .line 185
      StackMap locals:
      StackMap stack:
            iinc 4 /* num */ -1
            iload 4 /* num */
            ifge 2
         5: .line 190
            return
        end local 4 // int num
        end local 3 // int max
        end local 2 // int off
        end local 1 // byte[] bs
        end local 0 // int n
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0      n  I
            0    6     1     bs  [B
            0    6     2    off  I
            0    6     3    max  I
            1    6     4    num  I
            3    4     5  shift  I
    MethodParameters:
      Name  Flags
      n     
      bs    
      off   
      max   

  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.SHA512tDigest this
         0: .line 194
            new org.bouncycastle.crypto.digests.SHA512tDigest
            dup
            aload 0 /* this */
            invokespecial org.bouncycastle.crypto.digests.SHA512tDigest.<init>:(Lorg/bouncycastle/crypto/digests/SHA512tDigest;)V
            areturn
        end local 0 // org.bouncycastle.crypto.digests.SHA512tDigest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/crypto/digests/SHA512tDigest;

  public void reset(org.bouncycastle.util.Memoable);
    descriptor: (Lorg/bouncycastle/util/Memoable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.bouncycastle.crypto.digests.SHA512tDigest this
        start local 1 // org.bouncycastle.util.Memoable other
         0: .line 199
            aload 1 /* other */
            checkcast org.bouncycastle.crypto.digests.SHA512tDigest
            astore 2 /* t */
        start local 2 // org.bouncycastle.crypto.digests.SHA512tDigest t
         1: .line 201
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.digestLength:I
            aload 2 /* t */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.digestLength:I
            if_icmpeq 3
         2: .line 203
            new org.bouncycastle.util.MemoableResetException
            dup
            ldc "digestLength inappropriate in other"
            invokespecial org.bouncycastle.util.MemoableResetException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 206
      StackMap locals: org.bouncycastle.crypto.digests.SHA512tDigest
      StackMap stack:
            aload 0 /* this */
            aload 2 /* t */
            invokespecial org.bouncycastle.crypto.digests.LongDigest.copyIn:(Lorg/bouncycastle/crypto/digests/LongDigest;)V
         4: .line 208
            aload 0 /* this */
            aload 2 /* t */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.H1t:J
            putfield org.bouncycastle.crypto.digests.SHA512tDigest.H1t:J
         5: .line 209
            aload 0 /* this */
            aload 2 /* t */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.H2t:J
            putfield org.bouncycastle.crypto.digests.SHA512tDigest.H2t:J
         6: .line 210
            aload 0 /* this */
            aload 2 /* t */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.H3t:J
            putfield org.bouncycastle.crypto.digests.SHA512tDigest.H3t:J
         7: .line 211
            aload 0 /* this */
            aload 2 /* t */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.H4t:J
            putfield org.bouncycastle.crypto.digests.SHA512tDigest.H4t:J
         8: .line 212
            aload 0 /* this */
            aload 2 /* t */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.H5t:J
            putfield org.bouncycastle.crypto.digests.SHA512tDigest.H5t:J
         9: .line 213
            aload 0 /* this */
            aload 2 /* t */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.H6t:J
            putfield org.bouncycastle.crypto.digests.SHA512tDigest.H6t:J
        10: .line 214
            aload 0 /* this */
            aload 2 /* t */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.H7t:J
            putfield org.bouncycastle.crypto.digests.SHA512tDigest.H7t:J
        11: .line 215
            aload 0 /* this */
            aload 2 /* t */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.H8t:J
            putfield org.bouncycastle.crypto.digests.SHA512tDigest.H8t:J
        12: .line 216
            return
        end local 2 // org.bouncycastle.crypto.digests.SHA512tDigest t
        end local 1 // org.bouncycastle.util.Memoable other
        end local 0 // org.bouncycastle.crypto.digests.SHA512tDigest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   this  Lorg/bouncycastle/crypto/digests/SHA512tDigest;
            0   13     1  other  Lorg/bouncycastle/util/Memoable;
            1   13     2      t  Lorg/bouncycastle/crypto/digests/SHA512tDigest;
    MethodParameters:
       Name  Flags
      other  

  public byte[] getEncodedState();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.bouncycastle.crypto.digests.SHA512tDigest this
         0: .line 220
            aload 0 /* this */
            invokevirtual org.bouncycastle.crypto.digests.SHA512tDigest.getEncodedStateSize:()I
            istore 1 /* baseSize */
        start local 1 // int baseSize
         1: .line 221
            iload 1 /* baseSize */
            iconst_4
            iadd
            newarray 8
            astore 2 /* encoded */
        start local 2 // byte[] encoded
         2: .line 222
            aload 0 /* this */
            aload 2 /* encoded */
            invokevirtual org.bouncycastle.crypto.digests.SHA512tDigest.populateState:([B)V
         3: .line 223
            aload 0 /* this */
            getfield org.bouncycastle.crypto.digests.SHA512tDigest.digestLength:I
            bipush 8
            imul
            aload 2 /* encoded */
            iload 1 /* baseSize */
            invokestatic org.bouncycastle.util.Pack.intToBigEndian:(I[BI)V
         4: .line 224
            aload 2 /* encoded */
            areturn
        end local 2 // byte[] encoded
        end local 1 // int baseSize
        end local 0 // org.bouncycastle.crypto.digests.SHA512tDigest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/bouncycastle/crypto/digests/SHA512tDigest;
            1    5     1  baseSize  I
            2    5     2   encoded  [B
}
SourceFile: "SHA512tDigest.java"