public abstract class org.bouncycastle.crypto.util.Pack
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.bouncycastle.crypto.util.Pack
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.crypto.util.Pack this
         0: .line 3
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.bouncycastle.crypto.util.Pack this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/crypto/util/Pack;

  public static int bigEndianToInt(byte[], int);
    descriptor: ([BI)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // byte[] bs
        start local 1 // int off
         0: .line 7
            aload 0 /* bs */
            iload 1 /* off */
            baload
            bipush 24
            ishl
            istore 2 /* n */
        start local 2 // int n
         1: .line 8
            iload 2 /* n */
            aload 0 /* bs */
            iinc 1 /* off */ 1
            iload 1 /* off */
            baload
            sipush 255
            iand
            bipush 16
            ishl
            ior
            istore 2 /* n */
         2: .line 9
            iload 2 /* n */
            aload 0 /* bs */
            iinc 1 /* off */ 1
            iload 1 /* off */
            baload
            sipush 255
            iand
            bipush 8
            ishl
            ior
            istore 2 /* n */
         3: .line 10
            iload 2 /* n */
            aload 0 /* bs */
            iinc 1 /* off */ 1
            iload 1 /* off */
            baload
            sipush 255
            iand
            ior
            istore 2 /* n */
         4: .line 11
            iload 2 /* n */
            ireturn
        end local 2 // int n
        end local 1 // int off
        end local 0 // byte[] bs
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0    bs  [B
            0    5     1   off  I
            1    5     2     n  I
    MethodParameters:
      Name  Flags
      bs    
      off   

  public static void intToBigEndian(int, byte[], int);
    descriptor: (I[BI)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // int n
        start local 1 // byte[] bs
        start local 2 // int off
         0: .line 16
            aload 1 /* bs */
            iload 2 /* off */
            iload 0 /* n */
            bipush 24
            iushr
            i2b
            bastore
         1: .line 17
            aload 1 /* bs */
            iinc 2 /* off */ 1
            iload 2 /* off */
            iload 0 /* n */
            bipush 16
            iushr
            i2b
            bastore
         2: .line 18
            aload 1 /* bs */
            iinc 2 /* off */ 1
            iload 2 /* off */
            iload 0 /* n */
            bipush 8
            iushr
            i2b
            bastore
         3: .line 19
            aload 1 /* bs */
            iinc 2 /* off */ 1
            iload 2 /* off */
            iload 0 /* n */
            i2b
            bastore
         4: .line 20
            return
        end local 2 // int off
        end local 1 // byte[] bs
        end local 0 // int n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     n  I
            0    5     1    bs  [B
            0    5     2   off  I
    MethodParameters:
      Name  Flags
      n     
      bs    
      off   

  public static long bigEndianToLong(byte[], int);
    descriptor: ([BI)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // byte[] bs
        start local 1 // int off
         0: .line 24
            aload 0 /* bs */
            iload 1 /* off */
            invokestatic org.bouncycastle.crypto.util.Pack.bigEndianToInt:([BI)I
            istore 2 /* hi */
        start local 2 // int hi
         1: .line 25
            aload 0 /* bs */
            iload 1 /* off */
            iconst_4
            iadd
            invokestatic org.bouncycastle.crypto.util.Pack.bigEndianToInt:([BI)I
            istore 3 /* lo */
        start local 3 // int lo
         2: .line 26
            iload 2 /* hi */
            i2l
            ldc 4294967295
            land
            bipush 32
            lshl
            iload 3 /* lo */
            i2l
            ldc 4294967295
            land
            lor
            lreturn
        end local 3 // int lo
        end local 2 // int hi
        end local 1 // int off
        end local 0 // byte[] bs
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0    bs  [B
            0    3     1   off  I
            1    3     2    hi  I
            2    3     3    lo  I
    MethodParameters:
      Name  Flags
      bs    
      off   

  public static void longToBigEndian(long, byte[], int);
    descriptor: (J[BI)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // long n
        start local 2 // byte[] bs
        start local 3 // int off
         0: .line 31
            lload 0 /* n */
            bipush 32
            lushr
            l2i
            aload 2 /* bs */
            iload 3 /* off */
            invokestatic org.bouncycastle.crypto.util.Pack.intToBigEndian:(I[BI)V
         1: .line 32
            lload 0 /* n */
            ldc 4294967295
            land
            l2i
            aload 2 /* bs */
            iload 3 /* off */
            iconst_4
            iadd
            invokestatic org.bouncycastle.crypto.util.Pack.intToBigEndian:(I[BI)V
         2: .line 33
            return
        end local 3 // int off
        end local 2 // byte[] bs
        end local 0 // long n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     n  J
            0    3     2    bs  [B
            0    3     3   off  I
    MethodParameters:
      Name  Flags
      n     
      bs    
      off   

  public static int littleEndianToInt(byte[], int);
    descriptor: ([BI)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // byte[] bs
        start local 1 // int off
         0: .line 37
            aload 0 /* bs */
            iload 1 /* off */
            baload
            istore 2 /* n */
        start local 2 // int n
         1: .line 38
            iload 2 /* n */
            aload 0 /* bs */
            iinc 1 /* off */ 1
            iload 1 /* off */
            baload
            sipush 255
            iand
            bipush 8
            ishl
            ior
            istore 2 /* n */
         2: .line 39
            iload 2 /* n */
            aload 0 /* bs */
            iinc 1 /* off */ 1
            iload 1 /* off */
            baload
            sipush 255
            iand
            bipush 16
            ishl
            ior
            istore 2 /* n */
         3: .line 40
            iload 2 /* n */
            aload 0 /* bs */
            iinc 1 /* off */ 1
            iload 1 /* off */
            baload
            sipush 255
            iand
            bipush 24
            ishl
            ior
            istore 2 /* n */
         4: .line 41
            iload 2 /* n */
            ireturn
        end local 2 // int n
        end local 1 // int off
        end local 0 // byte[] bs
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0    bs  [B
            0    5     1   off  I
            1    5     2     n  I
    MethodParameters:
      Name  Flags
      bs    
      off   

  public static void intToLittleEndian(int, byte[], int);
    descriptor: (I[BI)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // int n
        start local 1 // byte[] bs
        start local 2 // int off
         0: .line 46
            aload 1 /* bs */
            iload 2 /* off */
            iload 0 /* n */
            i2b
            bastore
         1: .line 47
            aload 1 /* bs */
            iinc 2 /* off */ 1
            iload 2 /* off */
            iload 0 /* n */
            bipush 8
            iushr
            i2b
            bastore
         2: .line 48
            aload 1 /* bs */
            iinc 2 /* off */ 1
            iload 2 /* off */
            iload 0 /* n */
            bipush 16
            iushr
            i2b
            bastore
         3: .line 49
            aload 1 /* bs */
            iinc 2 /* off */ 1
            iload 2 /* off */
            iload 0 /* n */
            bipush 24
            iushr
            i2b
            bastore
         4: .line 50
            return
        end local 2 // int off
        end local 1 // byte[] bs
        end local 0 // int n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     n  I
            0    5     1    bs  [B
            0    5     2   off  I
    MethodParameters:
      Name  Flags
      n     
      bs    
      off   

  public static long littleEndianToLong(byte[], int);
    descriptor: ([BI)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // byte[] bs
        start local 1 // int off
         0: .line 54
            aload 0 /* bs */
            iload 1 /* off */
            invokestatic org.bouncycastle.crypto.util.Pack.littleEndianToInt:([BI)I
            istore 2 /* lo */
        start local 2 // int lo
         1: .line 55
            aload 0 /* bs */
            iload 1 /* off */
            iconst_4
            iadd
            invokestatic org.bouncycastle.crypto.util.Pack.littleEndianToInt:([BI)I
            istore 3 /* hi */
        start local 3 // int hi
         2: .line 56
            iload 3 /* hi */
            i2l
            ldc 4294967295
            land
            bipush 32
            lshl
            iload 2 /* lo */
            i2l
            ldc 4294967295
            land
            lor
            lreturn
        end local 3 // int hi
        end local 2 // int lo
        end local 1 // int off
        end local 0 // byte[] bs
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0    bs  [B
            0    3     1   off  I
            1    3     2    lo  I
            2    3     3    hi  I
    MethodParameters:
      Name  Flags
      bs    
      off   

  public static void longToLittleEndian(long, byte[], int);
    descriptor: (J[BI)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // long n
        start local 2 // byte[] bs
        start local 3 // int off
         0: .line 61
            lload 0 /* n */
            ldc 4294967295
            land
            l2i
            aload 2 /* bs */
            iload 3 /* off */
            invokestatic org.bouncycastle.crypto.util.Pack.intToLittleEndian:(I[BI)V
         1: .line 62
            lload 0 /* n */
            bipush 32
            lushr
            l2i
            aload 2 /* bs */
            iload 3 /* off */
            iconst_4
            iadd
            invokestatic org.bouncycastle.crypto.util.Pack.intToLittleEndian:(I[BI)V
         2: .line 63
            return
        end local 3 // int off
        end local 2 // byte[] bs
        end local 0 // long n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     n  J
            0    3     2    bs  [B
            0    3     3   off  I
    MethodParameters:
      Name  Flags
      n     
      bs    
      off   
}
SourceFile: "Pack.java"