public final class sun.security.krb5.internal.crypto.Des
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: sun.security.krb5.internal.crypto.Des
  super_class: java.lang.Object
{
  private static final java.lang.String CHARSET;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long[] bad_keys;
    descriptor: [J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final byte[] good_parity;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 57
            ldc "sun.security.krb5.msinterop.des.s2kcharset"
            invokestatic sun.security.action.GetPropertyAction.privilegedGetProperty:(Ljava/lang/String;)Ljava/lang/String;
         1: .line 56
            putstatic sun.security.krb5.internal.crypto.Des.CHARSET:Ljava/lang/String;
         2: .line 59
            bipush 16
            newarray 11
            dup
            iconst_0
         3: .line 60
            ldc 72340172838076673
            lastore
            dup
            iconst_1
            ldc -72340172838076674
            lastore
            dup
            iconst_2
         4: .line 61
            ldc 2242545357980376863
            lastore
            dup
            iconst_3
            ldc -2242545357980376864
            lastore
            dup
            iconst_4
         5: .line 62
            ldc 143554428589179390
            lastore
            dup
            iconst_5
            ldc -143554428589179391
            lastore
            dup
            bipush 6
         6: .line 63
            ldc 2296870857142767345
            lastore
            dup
            bipush 7
            ldc -2296870857142767346
            lastore
            dup
            bipush 8
         7: .line 64
            ldc 135110050437988849
            lastore
            dup
            bipush 9
            ldc -2305315235293957887
            lastore
            dup
            bipush 10
         8: .line 65
            ldc 2305315235293957886
            lastore
            dup
            bipush 11
            ldc -135110050437988850
            lastore
            dup
            bipush 12
         9: .line 66
            ldc 80784550989267214
            lastore
            dup
            bipush 13
            ldc 2234100979542855169
            lastore
            dup
            bipush 14
        10: .line 67
            ldc -2234100979542855170
            lastore
            dup
            bipush 15
            ldc -80784550989267215
            lastore
        11: .line 59
            putstatic sun.security.krb5.internal.crypto.Des.bad_keys:[J
        12: .line 70
            sipush 256
            newarray 8
            dup
            iconst_0
        13: .line 71
            iconst_1
            bastore
            dup
            iconst_1
            iconst_1
            bastore
            dup
            iconst_2
            iconst_2
            bastore
            dup
            iconst_3
            iconst_2
            bastore
            dup
            iconst_4
            iconst_4
            bastore
            dup
            iconst_5
            iconst_4
            bastore
            dup
            bipush 6
            bipush 7
            bastore
            dup
            bipush 7
            bipush 7
            bastore
            dup
            bipush 8
        14: .line 72
            bipush 8
            bastore
            dup
            bipush 9
            bipush 8
            bastore
            dup
            bipush 10
            bipush 11
            bastore
            dup
            bipush 11
            bipush 11
            bastore
            dup
            bipush 12
            bipush 13
            bastore
            dup
            bipush 13
            bipush 13
            bastore
            dup
            bipush 14
            bipush 14
            bastore
            dup
            bipush 15
            bipush 14
            bastore
            dup
            bipush 16
        15: .line 73
            bipush 16
            bastore
            dup
            bipush 17
            bipush 16
            bastore
            dup
            bipush 18
            bipush 19
            bastore
            dup
            bipush 19
            bipush 19
            bastore
            dup
            bipush 20
            bipush 21
            bastore
            dup
            bipush 21
            bipush 21
            bastore
            dup
            bipush 22
            bipush 22
            bastore
            dup
            bipush 23
            bipush 22
            bastore
            dup
            bipush 24
        16: .line 74
            bipush 25
            bastore
            dup
            bipush 25
            bipush 25
            bastore
            dup
            bipush 26
            bipush 26
            bastore
            dup
            bipush 27
            bipush 26
            bastore
            dup
            bipush 28
            bipush 28
            bastore
            dup
            bipush 29
            bipush 28
            bastore
            dup
            bipush 30
            bipush 31
            bastore
            dup
            bipush 31
            bipush 31
            bastore
            dup
            bipush 32
        17: .line 75
            bipush 32
            bastore
            dup
            bipush 33
            bipush 32
            bastore
            dup
            bipush 34
            bipush 35
            bastore
            dup
            bipush 35
            bipush 35
            bastore
            dup
            bipush 36
            bipush 37
            bastore
            dup
            bipush 37
            bipush 37
            bastore
            dup
            bipush 38
            bipush 38
            bastore
            dup
            bipush 39
            bipush 38
            bastore
            dup
            bipush 40
        18: .line 76
            bipush 41
            bastore
            dup
            bipush 41
            bipush 41
            bastore
            dup
            bipush 42
            bipush 42
            bastore
            dup
            bipush 43
            bipush 42
            bastore
            dup
            bipush 44
            bipush 44
            bastore
            dup
            bipush 45
            bipush 44
            bastore
            dup
            bipush 46
            bipush 47
            bastore
            dup
            bipush 47
            bipush 47
            bastore
            dup
            bipush 48
        19: .line 77
            bipush 49
            bastore
            dup
            bipush 49
            bipush 49
            bastore
            dup
            bipush 50
            bipush 50
            bastore
            dup
            bipush 51
            bipush 50
            bastore
            dup
            bipush 52
            bipush 52
            bastore
            dup
            bipush 53
            bipush 52
            bastore
            dup
            bipush 54
            bipush 55
            bastore
            dup
            bipush 55
            bipush 55
            bastore
            dup
            bipush 56
        20: .line 78
            bipush 56
            bastore
            dup
            bipush 57
            bipush 56
            bastore
            dup
            bipush 58
            bipush 59
            bastore
            dup
            bipush 59
            bipush 59
            bastore
            dup
            bipush 60
            bipush 61
            bastore
            dup
            bipush 61
            bipush 61
            bastore
            dup
            bipush 62
            bipush 62
            bastore
            dup
            bipush 63
            bipush 62
            bastore
            dup
            bipush 64
        21: .line 79
            bipush 64
            bastore
            dup
            bipush 65
            bipush 64
            bastore
            dup
            bipush 66
            bipush 67
            bastore
            dup
            bipush 67
            bipush 67
            bastore
            dup
            bipush 68
            bipush 69
            bastore
            dup
            bipush 69
            bipush 69
            bastore
            dup
            bipush 70
            bipush 70
            bastore
            dup
            bipush 71
            bipush 70
            bastore
            dup
            bipush 72
        22: .line 80
            bipush 73
            bastore
            dup
            bipush 73
            bipush 73
            bastore
            dup
            bipush 74
            bipush 74
            bastore
            dup
            bipush 75
            bipush 74
            bastore
            dup
            bipush 76
            bipush 76
            bastore
            dup
            bipush 77
            bipush 76
            bastore
            dup
            bipush 78
            bipush 79
            bastore
            dup
            bipush 79
            bipush 79
            bastore
            dup
            bipush 80
        23: .line 81
            bipush 81
            bastore
            dup
            bipush 81
            bipush 81
            bastore
            dup
            bipush 82
            bipush 82
            bastore
            dup
            bipush 83
            bipush 82
            bastore
            dup
            bipush 84
            bipush 84
            bastore
            dup
            bipush 85
            bipush 84
            bastore
            dup
            bipush 86
            bipush 87
            bastore
            dup
            bipush 87
            bipush 87
            bastore
            dup
            bipush 88
        24: .line 82
            bipush 88
            bastore
            dup
            bipush 89
            bipush 88
            bastore
            dup
            bipush 90
            bipush 91
            bastore
            dup
            bipush 91
            bipush 91
            bastore
            dup
            bipush 92
            bipush 93
            bastore
            dup
            bipush 93
            bipush 93
            bastore
            dup
            bipush 94
            bipush 94
            bastore
            dup
            bipush 95
            bipush 94
            bastore
            dup
            bipush 96
        25: .line 83
            bipush 97
            bastore
            dup
            bipush 97
            bipush 97
            bastore
            dup
            bipush 98
            bipush 98
            bastore
            dup
            bipush 99
            bipush 98
            bastore
            dup
            bipush 100
            bipush 100
            bastore
            dup
            bipush 101
            bipush 100
            bastore
            dup
            bipush 102
            bipush 103
            bastore
            dup
            bipush 103
            bipush 103
            bastore
            dup
            bipush 104
        26: .line 84
            bipush 104
            bastore
            dup
            bipush 105
            bipush 104
            bastore
            dup
            bipush 106
            bipush 107
            bastore
            dup
            bipush 107
            bipush 107
            bastore
            dup
            bipush 108
            bipush 109
            bastore
            dup
            bipush 109
            bipush 109
            bastore
            dup
            bipush 110
            bipush 110
            bastore
            dup
            bipush 111
            bipush 110
            bastore
            dup
            bipush 112
        27: .line 85
            bipush 112
            bastore
            dup
            bipush 113
            bipush 112
            bastore
            dup
            bipush 114
            bipush 115
            bastore
            dup
            bipush 115
            bipush 115
            bastore
            dup
            bipush 116
            bipush 117
            bastore
            dup
            bipush 117
            bipush 117
            bastore
            dup
            bipush 118
            bipush 118
            bastore
            dup
            bipush 119
            bipush 118
            bastore
            dup
            bipush 120
        28: .line 86
            bipush 121
            bastore
            dup
            bipush 121
            bipush 121
            bastore
            dup
            bipush 122
            bipush 122
            bastore
            dup
            bipush 123
            bipush 122
            bastore
            dup
            bipush 124
            bipush 124
            bastore
            dup
            bipush 125
            bipush 124
            bastore
            dup
            bipush 126
            bipush 127
            bastore
            dup
            bipush 127
            bipush 127
            bastore
            dup
            sipush 128
        29: .line 87
            bipush -128
            bastore
            dup
            sipush 129
            bipush -128
            bastore
            dup
            sipush 130
            bipush -125
            bastore
            dup
            sipush 131
            bipush -125
            bastore
            dup
            sipush 132
        30: .line 88
            bipush -123
            bastore
            dup
            sipush 133
            bipush -123
            bastore
            dup
            sipush 134
            bipush -122
            bastore
            dup
            sipush 135
            bipush -122
            bastore
            dup
            sipush 136
        31: .line 89
            bipush -119
            bastore
            dup
            sipush 137
            bipush -119
            bastore
            dup
            sipush 138
            bipush -118
            bastore
            dup
            sipush 139
            bipush -118
            bastore
            dup
            sipush 140
        32: .line 90
            bipush -116
            bastore
            dup
            sipush 141
            bipush -116
            bastore
            dup
            sipush 142
            bipush -113
            bastore
            dup
            sipush 143
            bipush -113
            bastore
            dup
            sipush 144
        33: .line 91
            bipush -111
            bastore
            dup
            sipush 145
            bipush -111
            bastore
            dup
            sipush 146
            bipush -110
            bastore
            dup
            sipush 147
            bipush -110
            bastore
            dup
            sipush 148
        34: .line 92
            bipush -108
            bastore
            dup
            sipush 149
            bipush -108
            bastore
            dup
            sipush 150
            bipush -105
            bastore
            dup
            sipush 151
            bipush -105
            bastore
            dup
            sipush 152
        35: .line 93
            bipush -104
            bastore
            dup
            sipush 153
            bipush -104
            bastore
            dup
            sipush 154
            bipush -101
            bastore
            dup
            sipush 155
            bipush -101
            bastore
            dup
            sipush 156
        36: .line 94
            bipush -99
            bastore
            dup
            sipush 157
            bipush -99
            bastore
            dup
            sipush 158
            bipush -98
            bastore
            dup
            sipush 159
            bipush -98
            bastore
            dup
            sipush 160
        37: .line 95
            bipush -95
            bastore
            dup
            sipush 161
            bipush -95
            bastore
            dup
            sipush 162
            bipush -94
            bastore
            dup
            sipush 163
            bipush -94
            bastore
            dup
            sipush 164
        38: .line 96
            bipush -92
            bastore
            dup
            sipush 165
            bipush -92
            bastore
            dup
            sipush 166
            bipush -89
            bastore
            dup
            sipush 167
            bipush -89
            bastore
            dup
            sipush 168
        39: .line 97
            bipush -88
            bastore
            dup
            sipush 169
            bipush -88
            bastore
            dup
            sipush 170
            bipush -85
            bastore
            dup
            sipush 171
            bipush -85
            bastore
            dup
            sipush 172
        40: .line 98
            bipush -83
            bastore
            dup
            sipush 173
            bipush -83
            bastore
            dup
            sipush 174
            bipush -82
            bastore
            dup
            sipush 175
            bipush -82
            bastore
            dup
            sipush 176
        41: .line 99
            bipush -80
            bastore
            dup
            sipush 177
            bipush -80
            bastore
            dup
            sipush 178
            bipush -77
            bastore
            dup
            sipush 179
            bipush -77
            bastore
            dup
            sipush 180
        42: .line 100
            bipush -75
            bastore
            dup
            sipush 181
            bipush -75
            bastore
            dup
            sipush 182
            bipush -74
            bastore
            dup
            sipush 183
            bipush -74
            bastore
            dup
            sipush 184
        43: .line 101
            bipush -71
            bastore
            dup
            sipush 185
            bipush -71
            bastore
            dup
            sipush 186
            bipush -70
            bastore
            dup
            sipush 187
            bipush -70
            bastore
            dup
            sipush 188
        44: .line 102
            bipush -68
            bastore
            dup
            sipush 189
            bipush -68
            bastore
            dup
            sipush 190
            bipush -65
            bastore
            dup
            sipush 191
            bipush -65
            bastore
            dup
            sipush 192
        45: .line 103
            bipush -63
            bastore
            dup
            sipush 193
            bipush -63
            bastore
            dup
            sipush 194
            bipush -62
            bastore
            dup
            sipush 195
            bipush -62
            bastore
            dup
            sipush 196
        46: .line 104
            bipush -60
            bastore
            dup
            sipush 197
            bipush -60
            bastore
            dup
            sipush 198
            bipush -57
            bastore
            dup
            sipush 199
            bipush -57
            bastore
            dup
            sipush 200
        47: .line 105
            bipush -56
            bastore
            dup
            sipush 201
            bipush -56
            bastore
            dup
            sipush 202
            bipush -53
            bastore
            dup
            sipush 203
            bipush -53
            bastore
            dup
            sipush 204
        48: .line 106
            bipush -51
            bastore
            dup
            sipush 205
            bipush -51
            bastore
            dup
            sipush 206
            bipush -50
            bastore
            dup
            sipush 207
            bipush -50
            bastore
            dup
            sipush 208
        49: .line 107
            bipush -48
            bastore
            dup
            sipush 209
            bipush -48
            bastore
            dup
            sipush 210
            bipush -45
            bastore
            dup
            sipush 211
            bipush -45
            bastore
            dup
            sipush 212
        50: .line 108
            bipush -43
            bastore
            dup
            sipush 213
            bipush -43
            bastore
            dup
            sipush 214
            bipush -42
            bastore
            dup
            sipush 215
            bipush -42
            bastore
            dup
            sipush 216
        51: .line 109
            bipush -39
            bastore
            dup
            sipush 217
            bipush -39
            bastore
            dup
            sipush 218
            bipush -38
            bastore
            dup
            sipush 219
            bipush -38
            bastore
            dup
            sipush 220
        52: .line 110
            bipush -36
            bastore
            dup
            sipush 221
            bipush -36
            bastore
            dup
            sipush 222
            bipush -33
            bastore
            dup
            sipush 223
            bipush -33
            bastore
            dup
            sipush 224
        53: .line 111
            bipush -32
            bastore
            dup
            sipush 225
            bipush -32
            bastore
            dup
            sipush 226
            bipush -29
            bastore
            dup
            sipush 227
            bipush -29
            bastore
            dup
            sipush 228
        54: .line 112
            bipush -27
            bastore
            dup
            sipush 229
            bipush -27
            bastore
            dup
            sipush 230
            bipush -26
            bastore
            dup
            sipush 231
            bipush -26
            bastore
            dup
            sipush 232
        55: .line 113
            bipush -23
            bastore
            dup
            sipush 233
            bipush -23
            bastore
            dup
            sipush 234
            bipush -22
            bastore
            dup
            sipush 235
            bipush -22
            bastore
            dup
            sipush 236
        56: .line 114
            bipush -20
            bastore
            dup
            sipush 237
            bipush -20
            bastore
            dup
            sipush 238
            bipush -17
            bastore
            dup
            sipush 239
            bipush -17
            bastore
            dup
            sipush 240
        57: .line 115
            bipush -15
            bastore
            dup
            sipush 241
            bipush -15
            bastore
            dup
            sipush 242
            bipush -14
            bastore
            dup
            sipush 243
            bipush -14
            bastore
            dup
            sipush 244
        58: .line 116
            bipush -12
            bastore
            dup
            sipush 245
            bipush -12
            bastore
            dup
            sipush 246
            bipush -9
            bastore
            dup
            sipush 247
            bipush -9
            bastore
            dup
            sipush 248
        59: .line 117
            bipush -8
            bastore
            dup
            sipush 249
            bipush -8
            bastore
            dup
            sipush 250
            bipush -5
            bastore
            dup
            sipush 251
            bipush -5
            bastore
            dup
            sipush 252
        60: .line 118
            bipush -3
            bastore
            dup
            sipush 253
            bipush -3
            bastore
            dup
            sipush 254
            bipush -2
            bastore
            dup
            sipush 255
            bipush -2
            bastore
        61: .line 70
            putstatic sun.security.krb5.internal.crypto.Des.good_parity:[B
        62: .line 119
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.krb5.internal.crypto.Des this
         0: .line 43
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.security.krb5.internal.crypto.Des this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/krb5/internal/crypto/Des;

  public static final byte[] set_parity(byte[]);
    descriptor: ([B)[B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // byte[] key
         0: .line 122
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: goto 4
         2: .line 123
      StackMap locals: int
      StackMap stack:
            aload 0 /* key */
            iload 1 /* i */
            getstatic sun.security.krb5.internal.crypto.Des.good_parity:[B
            aload 0 /* key */
            iload 1 /* i */
            baload
            sipush 255
            iand
            baload
            bastore
         3: .line 122
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 1 /* i */
            bipush 8
            if_icmplt 2
        end local 1 // int i
         5: .line 125
            aload 0 /* key */
            areturn
        end local 0 // byte[] key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0   key  [B
            1    5     1     i  I
    MethodParameters:
      Name  Flags
      key   

  public static final long set_parity(long);
    descriptor: (J)J
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // long key
         0: .line 129
            lload 0 /* key */
            invokestatic sun.security.krb5.internal.crypto.Des.long2octet:(J)[B
            invokestatic sun.security.krb5.internal.crypto.Des.set_parity:([B)[B
            invokestatic sun.security.krb5.internal.crypto.Des.octet2long:([B)J
            lreturn
        end local 0 // long key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   key  J
    MethodParameters:
      Name  Flags
      key   

  public static final boolean bad_key(long);
    descriptor: (J)Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // long key
         0: .line 133
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 134
      StackMap locals: int
      StackMap stack:
            getstatic sun.security.krb5.internal.crypto.Des.bad_keys:[J
            iload 2 /* i */
            laload
            lload 0 /* key */
            lcmp
            ifne 4
         3: .line 135
            iconst_1
            ireturn
         4: .line 133
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            getstatic sun.security.krb5.internal.crypto.Des.bad_keys:[J
            arraylength
            if_icmplt 2
        end local 2 // int i
         6: .line 138
            iconst_0
            ireturn
        end local 0 // long key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0   key  J
            1    6     2     i  I
    MethodParameters:
      Name  Flags
      key   

  public static final boolean bad_key(byte[]);
    descriptor: ([B)Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // byte[] key
         0: .line 142
            aload 0 /* key */
            invokestatic sun.security.krb5.internal.crypto.Des.octet2long:([B)J
            invokestatic sun.security.krb5.internal.crypto.Des.bad_key:(J)Z
            ireturn
        end local 0 // byte[] key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   key  [B
    MethodParameters:
      Name  Flags
      key   

  public static long octet2long(byte[]);
    descriptor: ([B)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // byte[] input
         0: .line 146
            aload 0 /* input */
            iconst_0
            invokestatic sun.security.krb5.internal.crypto.Des.octet2long:([BI)J
            lreturn
        end local 0 // byte[] input
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  input  [B
    MethodParameters:
       Name  Flags
      input  

  public static long octet2long(byte[], int);
    descriptor: ([BI)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // byte[] input
        start local 1 // int offset
         0: .line 150
            lconst_0
            lstore 2 /* result */
        start local 2 // long result
         1: .line 151
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 6
         3: .line 152
      StackMap locals: long int
      StackMap stack:
            iload 4 /* i */
            iload 1 /* offset */
            iadd
            aload 0 /* input */
            arraylength
            if_icmpge 5
         4: .line 153
            lload 2 /* result */
            aload 0 /* input */
            iload 4 /* i */
            iload 1 /* offset */
            iadd
            baload
            i2l
            ldc 255
            land
            bipush 7
            iload 4 /* i */
            isub
            bipush 8
            imul
            lshl
            lor
            lstore 2 /* result */
         5: .line 151
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 4 /* i */
            bipush 8
            if_icmplt 3
        end local 4 // int i
         7: .line 156
            lload 2 /* result */
            lreturn
        end local 2 // long result
        end local 1 // int offset
        end local 0 // byte[] input
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0   input  [B
            0    8     1  offset  I
            1    8     2  result  J
            2    7     4       i  I
    MethodParameters:
        Name  Flags
      input   
      offset  

  public static byte[] long2octet(long);
    descriptor: (J)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // long input
         0: .line 160
            bipush 8
            newarray 8
            astore 2 /* output */
        start local 2 // byte[] output
         1: .line 161
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 162
      StackMap locals: byte[] int
      StackMap stack:
            aload 2 /* output */
            iload 3 /* i */
            lload 0 /* input */
            bipush 7
            iload 3 /* i */
            isub
            bipush 8
            imul
            lushr
            ldc 255
            land
            l2i
            i2b
            bastore
         4: .line 161
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            bipush 8
            if_icmplt 3
        end local 3 // int i
         6: .line 164
            aload 2 /* output */
            areturn
        end local 2 // byte[] output
        end local 0 // long input
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0   input  J
            1    7     2  output  [B
            2    6     3       i  I
    MethodParameters:
       Name  Flags
      input  

  public static void long2octet(long, byte[]);
    descriptor: (J[B)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // long input
        start local 2 // byte[] output
         0: .line 168
            lload 0 /* input */
            aload 2 /* output */
            iconst_0
            invokestatic sun.security.krb5.internal.crypto.Des.long2octet:(J[BI)V
         1: .line 169
            return
        end local 2 // byte[] output
        end local 0 // long input
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0   input  J
            0    2     2  output  [B
    MethodParameters:
        Name  Flags
      input   
      output  

  public static void long2octet(long, byte[], int);
    descriptor: (J[BI)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // long input
        start local 2 // byte[] output
        start local 3 // int offset
         0: .line 172
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         1: goto 7
         2: .line 173
      StackMap locals: int
      StackMap stack:
            iload 4 /* i */
            iload 3 /* offset */
            iadd
            aload 2 /* output */
            arraylength
            if_icmpge 6
         3: .line 174
            aload 2 /* output */
            iload 4 /* i */
            iload 3 /* offset */
            iadd
         4: .line 175
            lload 0 /* input */
            bipush 7
            iload 4 /* i */
            isub
            bipush 8
            imul
            lushr
            ldc 255
            land
            l2i
            i2b
         5: .line 174
            bastore
         6: .line 172
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            bipush 8
            if_icmplt 2
        end local 4 // int i
         8: .line 178
            return
        end local 3 // int offset
        end local 2 // byte[] output
        end local 0 // long input
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0   input  J
            0    9     2  output  [B
            0    9     3  offset  I
            1    8     4       i  I
    MethodParameters:
        Name  Flags
      input   
      output  
      offset  

  public static void cbc_encrypt(byte[], byte[], byte[], byte[], boolean);
    descriptor: ([B[B[B[BZ)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=5
        start local 0 // byte[] input
        start local 1 // byte[] output
        start local 2 // byte[] key
        start local 3 // byte[] ivec
        start local 4 // boolean encrypt
         0: .line 196
            aconst_null
            astore 5 /* cipher */
        start local 5 // javax.crypto.Cipher cipher
         1: .line 199
            ldc "DES/CBC/NoPadding"
            invokestatic javax.crypto.Cipher.getInstance:(Ljava/lang/String;)Ljavax/crypto/Cipher;
            astore 5 /* cipher */
         2: .line 200
            goto 9
      StackMap locals: byte[] byte[] byte[] byte[] int javax.crypto.Cipher
      StackMap stack: java.security.GeneralSecurityException
         3: astore 6 /* e */
        start local 6 // java.security.GeneralSecurityException e
         4: .line 201
            new sun.security.krb5.KrbCryptoException
            dup
            new java.lang.StringBuilder
            dup
            ldc "JCE provider may not be installed. "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         5: .line 202
            aload 6 /* e */
            invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 201
            invokespecial sun.security.krb5.KrbCryptoException.<init>:(Ljava/lang/String;)V
            astore 7 /* ke */
        start local 7 // sun.security.krb5.KrbCryptoException ke
         7: .line 203
            aload 7 /* ke */
            aload 6 /* e */
            invokevirtual sun.security.krb5.KrbCryptoException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
         8: .line 204
            aload 7 /* ke */
            athrow
        end local 7 // sun.security.krb5.KrbCryptoException ke
        end local 6 // java.security.GeneralSecurityException e
         9: .line 206
      StackMap locals:
      StackMap stack:
            new javax.crypto.spec.IvParameterSpec
            dup
            aload 3 /* ivec */
            invokespecial javax.crypto.spec.IvParameterSpec.<init>:([B)V
            astore 6 /* params */
        start local 6 // javax.crypto.spec.IvParameterSpec params
        10: .line 207
            new javax.crypto.spec.SecretKeySpec
            dup
            aload 2 /* key */
            ldc "DES"
            invokespecial javax.crypto.spec.SecretKeySpec.<init>:([BLjava/lang/String;)V
            astore 7 /* skSpec */
        start local 7 // javax.crypto.spec.SecretKeySpec skSpec
        11: .line 209
            ldc "DES"
            invokestatic javax.crypto.SecretKeyFactory.getInstance:(Ljava/lang/String;)Ljavax/crypto/SecretKeyFactory;
            pop
        12: .line 211
            aload 7 /* skSpec */
            astore 8 /* sk */
        start local 8 // javax.crypto.SecretKey sk
        13: .line 212
            iload 4 /* encrypt */
            ifeq 15
        14: .line 213
            aload 5 /* cipher */
            iconst_1
            aload 8 /* sk */
            aload 6 /* params */
            invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
            goto 16
        15: .line 215
      StackMap locals: javax.crypto.spec.IvParameterSpec javax.crypto.spec.SecretKeySpec javax.crypto.SecretKey
      StackMap stack:
            aload 5 /* cipher */
            iconst_2
            aload 8 /* sk */
            aload 6 /* params */
            invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
        16: .line 217
      StackMap locals:
      StackMap stack:
            aload 5 /* cipher */
            aload 0 /* input */
            invokevirtual javax.crypto.Cipher.doFinal:([B)[B
            astore 9 /* result */
        start local 9 // byte[] result
        17: .line 218
            aload 9 /* result */
            iconst_0
            aload 1 /* output */
            iconst_0
            aload 9 /* result */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        end local 9 // byte[] result
        end local 8 // javax.crypto.SecretKey sk
        18: .line 219
            goto 23
      StackMap locals: byte[] byte[] byte[] byte[] int javax.crypto.Cipher javax.crypto.spec.IvParameterSpec javax.crypto.spec.SecretKeySpec
      StackMap stack: java.security.GeneralSecurityException
        19: astore 8 /* e */
        start local 8 // java.security.GeneralSecurityException e
        20: .line 220
            new sun.security.krb5.KrbCryptoException
            dup
            aload 8 /* e */
            invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
            invokespecial sun.security.krb5.KrbCryptoException.<init>:(Ljava/lang/String;)V
            astore 9 /* ke */
        start local 9 // sun.security.krb5.KrbCryptoException ke
        21: .line 221
            aload 9 /* ke */
            aload 8 /* e */
            invokevirtual sun.security.krb5.KrbCryptoException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        22: .line 222
            aload 9 /* ke */
            athrow
        end local 9 // sun.security.krb5.KrbCryptoException ke
        end local 8 // java.security.GeneralSecurityException e
        23: .line 224
      StackMap locals:
      StackMap stack:
            return
        end local 7 // javax.crypto.spec.SecretKeySpec skSpec
        end local 6 // javax.crypto.spec.IvParameterSpec params
        end local 5 // javax.crypto.Cipher cipher
        end local 4 // boolean encrypt
        end local 3 // byte[] ivec
        end local 2 // byte[] key
        end local 1 // byte[] output
        end local 0 // byte[] input
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   24     0    input  [B
            0   24     1   output  [B
            0   24     2      key  [B
            0   24     3     ivec  [B
            0   24     4  encrypt  Z
            1   24     5   cipher  Ljavax/crypto/Cipher;
            4    9     6        e  Ljava/security/GeneralSecurityException;
            7    9     7       ke  Lsun/security/krb5/KrbCryptoException;
           10   24     6   params  Ljavax/crypto/spec/IvParameterSpec;
           11   24     7   skSpec  Ljavax/crypto/spec/SecretKeySpec;
           13   18     8       sk  Ljavax/crypto/SecretKey;
           17   18     9   result  [B
           20   23     8        e  Ljava/security/GeneralSecurityException;
           21   23     9       ke  Lsun/security/krb5/KrbCryptoException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.security.GeneralSecurityException
          11    18      19  Class java.security.GeneralSecurityException
    Exceptions:
      throws sun.security.krb5.KrbCryptoException
    MethodParameters:
         Name  Flags
      input    
      output   
      key      
      ivec     
      encrypt  

  public static long char_to_key(char[]);
    descriptor: ([C)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=13, args_size=1
        start local 0 // char[] passwdChars
         0: .line 234
            lconst_0
            lstore 1 /* key */
        start local 1 // long key
         1: .line 236
            aconst_null
            astore 7 /* cbytes */
        start local 7 // byte[] cbytes
         2: .line 240
            getstatic sun.security.krb5.internal.crypto.Des.CHARSET:Ljava/lang/String;
            ifnonnull 5
         3: .line 241
            new java.lang.String
            dup
            aload 0 /* passwdChars */
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual java.lang.String.getBytes:()[B
            astore 7 /* cbytes */
         4: .line 242
            goto 14
         5: .line 243
      StackMap locals: char[] long top top top top byte[]
      StackMap stack:
            new java.lang.String
            dup
            aload 0 /* passwdChars */
            invokespecial java.lang.String.<init>:([C)V
            getstatic sun.security.krb5.internal.crypto.Des.CHARSET:Ljava/lang/String;
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            astore 7 /* cbytes */
         6: .line 245
            goto 14
      StackMap locals:
      StackMap stack: java.lang.Exception
         7: astore 8 /* e */
        start local 8 // java.lang.Exception e
         8: .line 247
            aload 7 /* cbytes */
            ifnull 10
         9: .line 248
            aload 7 /* cbytes */
            iconst_0
            aload 7 /* cbytes */
            arraylength
            iconst_0
            invokestatic java.util.Arrays.fill:([BIIB)V
        10: .line 251
      StackMap locals: java.lang.Exception
      StackMap stack:
            new sun.security.krb5.KrbCryptoException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable to convert passwd, "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial sun.security.krb5.KrbCryptoException.<init>:(Ljava/lang/String;)V
        11: .line 250
            astore 9 /* ce */
        start local 9 // sun.security.krb5.KrbCryptoException ce
        12: .line 252
            aload 9 /* ce */
            aload 8 /* e */
            invokevirtual sun.security.krb5.KrbCryptoException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        13: .line 253
            aload 9 /* ce */
            athrow
        end local 9 // sun.security.krb5.KrbCryptoException ce
        end local 8 // java.lang.Exception e
        14: .line 257
      StackMap locals:
      StackMap stack:
            aload 7 /* cbytes */
            invokestatic sun.security.krb5.internal.crypto.Des.pad:([B)[B
            astore 8 /* passwdBytes */
        start local 8 // byte[] passwdBytes
        15: .line 259
            bipush 8
            newarray 8
            astore 9 /* newkey */
        start local 9 // byte[] newkey
        16: .line 260
            aload 8 /* passwdBytes */
            arraylength
            bipush 8
            idiv
            aload 8 /* passwdBytes */
            arraylength
            bipush 8
            irem
            ifne 17
            iconst_0
            goto 18
      StackMap locals: char[] long top top top top byte[] byte[] byte[]
      StackMap stack: int
        17: iconst_1
      StackMap locals: char[] long top top top top byte[] byte[] byte[]
      StackMap stack: int int
        18: iadd
            istore 10 /* length */
        start local 10 // int length
        19: .line 261
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        20: goto 32
        21: .line 262
      StackMap locals: int int
      StackMap stack:
            aload 8 /* passwdBytes */
            iload 11 /* i */
            bipush 8
            imul
            invokestatic sun.security.krb5.internal.crypto.Des.octet2long:([BI)J
            ldc 9187201950435737471
            land
            lstore 3 /* octet */
        start local 3 // long octet
        22: .line 263
            iload 11 /* i */
            iconst_2
            irem
            iconst_1
            if_icmpne 30
        23: .line 264
            lconst_0
            lstore 5 /* octet1 */
        start local 5 // long octet1
        24: .line 265
            iconst_0
            istore 12 /* j */
        start local 12 // int j
        25: goto 28
        26: .line 266
      StackMap locals: char[] long long long byte[] byte[] byte[] int int int
      StackMap stack:
            lload 5 /* octet1 */
            lload 3 /* octet */
            lconst_1
            iload 12 /* j */
            lshl
            land
            iload 12 /* j */
            lushr
            bipush 63
            iload 12 /* j */
            isub
            lshl
            lor
            lstore 5 /* octet1 */
        27: .line 265
            iinc 12 /* j */ 1
      StackMap locals:
      StackMap stack:
        28: iload 12 /* j */
            bipush 64
            if_icmplt 26
        end local 12 // int j
        29: .line 268
            lload 5 /* octet1 */
            iconst_1
            lushr
            lstore 3 /* octet */
        end local 5 // long octet1
        30: .line 270
      StackMap locals: char[] long long top top byte[] byte[] byte[] int int
      StackMap stack:
            lload 1 /* key */
            lload 3 /* octet */
            iconst_1
            lshl
            lxor
            lstore 1 /* key */
        31: .line 261
            iinc 11 /* i */ 1
        end local 3 // long octet
      StackMap locals: char[] long top top top top byte[] byte[] byte[] int int
      StackMap stack:
        32: iload 11 /* i */
            iload 10 /* length */
            if_icmplt 21
        end local 11 // int i
        33: .line 272
            lload 1 /* key */
            invokestatic sun.security.krb5.internal.crypto.Des.set_parity:(J)J
            lstore 1 /* key */
        34: .line 273
            lload 1 /* key */
            invokestatic sun.security.krb5.internal.crypto.Des.bad_key:(J)Z
            ifeq 38
        35: .line 274
            lload 1 /* key */
            invokestatic sun.security.krb5.internal.crypto.Des.long2octet:(J)[B
            astore 11 /* temp */
        start local 11 // byte[] temp
        36: .line 275
            aload 11 /* temp */
            bipush 7
            dup2
            baload
            sipush 240
            ixor
            i2b
            bastore
        37: .line 276
            aload 11 /* temp */
            invokestatic sun.security.krb5.internal.crypto.Des.octet2long:([B)J
            lstore 1 /* key */
        end local 11 // byte[] temp
        38: .line 279
      StackMap locals:
      StackMap stack:
            lload 1 /* key */
            invokestatic sun.security.krb5.internal.crypto.Des.long2octet:(J)[B
            aload 8 /* passwdBytes */
            lload 1 /* key */
            invokestatic sun.security.krb5.internal.crypto.Des.long2octet:(J)[B
            invokestatic sun.security.krb5.internal.crypto.Des.des_cksum:([B[B[B)[B
            astore 9 /* newkey */
        39: .line 280
            aload 9 /* newkey */
            invokestatic sun.security.krb5.internal.crypto.Des.set_parity:([B)[B
            invokestatic sun.security.krb5.internal.crypto.Des.octet2long:([B)J
            lstore 1 /* key */
        40: .line 281
            lload 1 /* key */
            invokestatic sun.security.krb5.internal.crypto.Des.bad_key:(J)Z
            ifeq 44
        41: .line 282
            lload 1 /* key */
            invokestatic sun.security.krb5.internal.crypto.Des.long2octet:(J)[B
            astore 11 /* temp */
        start local 11 // byte[] temp
        42: .line 283
            aload 11 /* temp */
            bipush 7
            dup2
            baload
            sipush 240
            ixor
            i2b
            bastore
        43: .line 284
            aload 11 /* temp */
            invokestatic sun.security.krb5.internal.crypto.Des.octet2long:([B)J
            lstore 1 /* key */
        end local 11 // byte[] temp
        44: .line 288
      StackMap locals:
      StackMap stack:
            aload 7 /* cbytes */
            ifnull 46
        45: .line 289
            aload 7 /* cbytes */
            iconst_0
            aload 7 /* cbytes */
            arraylength
            iconst_0
            invokestatic java.util.Arrays.fill:([BIIB)V
        46: .line 291
      StackMap locals:
      StackMap stack:
            aload 8 /* passwdBytes */
            ifnull 48
        47: .line 292
            aload 8 /* passwdBytes */
            iconst_0
            aload 8 /* passwdBytes */
            arraylength
            iconst_0
            invokestatic java.util.Arrays.fill:([BIIB)V
        48: .line 295
      StackMap locals:
      StackMap stack:
            lload 1 /* key */
            lreturn
        end local 10 // int length
        end local 9 // byte[] newkey
        end local 8 // byte[] passwdBytes
        end local 7 // byte[] cbytes
        end local 1 // long key
        end local 0 // char[] passwdChars
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   49     0  passwdChars  [C
            1   49     1          key  J
           22   32     3        octet  J
           24   30     5       octet1  J
            2   49     7       cbytes  [B
            8   14     8            e  Ljava/lang/Exception;
           12   14     9           ce  Lsun/security/krb5/KrbCryptoException;
           15   49     8  passwdBytes  [B
           16   49     9       newkey  [B
           19   49    10       length  I
           20   33    11            i  I
           25   29    12            j  I
           36   38    11         temp  [B
           42   44    11         temp  [B
      Exception table:
        from    to  target  type
           2     6       7  Class java.lang.Exception
    Exceptions:
      throws sun.security.krb5.KrbCryptoException
    MethodParameters:
             Name  Flags
      passwdChars  

  public static byte[] des_cksum(byte[], byte[], byte[]);
    descriptor: ([B[B[B)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=9, args_size=3
        start local 0 // byte[] ivec
        start local 1 // byte[] msg
        start local 2 // byte[] key
         0: .line 309
            aconst_null
            astore 3 /* cipher */
        start local 3 // javax.crypto.Cipher cipher
         1: .line 311
            bipush 8
            newarray 8
            astore 4 /* result */
        start local 4 // byte[] result
         2: .line 313
            ldc "DES/CBC/NoPadding"
            invokestatic javax.crypto.Cipher.getInstance:(Ljava/lang/String;)Ljavax/crypto/Cipher;
            astore 3 /* cipher */
         3: .line 314
            goto 10
      StackMap locals: byte[] byte[] byte[] javax.crypto.Cipher byte[]
      StackMap stack: java.lang.Exception
         4: astore 5 /* e */
        start local 5 // java.lang.Exception e
         5: .line 315
            new sun.security.krb5.KrbCryptoException
            dup
            new java.lang.StringBuilder
            dup
            ldc "JCE provider may not be installed. "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 316
            aload 5 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 315
            invokespecial sun.security.krb5.KrbCryptoException.<init>:(Ljava/lang/String;)V
            astore 6 /* ke */
        start local 6 // sun.security.krb5.KrbCryptoException ke
         8: .line 317
            aload 6 /* ke */
            aload 5 /* e */
            invokevirtual sun.security.krb5.KrbCryptoException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
         9: .line 318
            aload 6 /* ke */
            athrow
        end local 6 // sun.security.krb5.KrbCryptoException ke
        end local 5 // java.lang.Exception e
        10: .line 320
      StackMap locals:
      StackMap stack:
            new javax.crypto.spec.IvParameterSpec
            dup
            aload 0 /* ivec */
            invokespecial javax.crypto.spec.IvParameterSpec.<init>:([B)V
            astore 5 /* params */
        start local 5 // javax.crypto.spec.IvParameterSpec params
        11: .line 321
            new javax.crypto.spec.SecretKeySpec
            dup
            aload 2 /* key */
            ldc "DES"
            invokespecial javax.crypto.spec.SecretKeySpec.<init>:([BLjava/lang/String;)V
            astore 6 /* skSpec */
        start local 6 // javax.crypto.spec.SecretKeySpec skSpec
        12: .line 323
            ldc "DES"
            invokestatic javax.crypto.SecretKeyFactory.getInstance:(Ljava/lang/String;)Ljavax/crypto/SecretKeyFactory;
            pop
        13: .line 325
            aload 6 /* skSpec */
            astore 7 /* sk */
        start local 7 // javax.crypto.SecretKey sk
        14: .line 326
            aload 3 /* cipher */
            iconst_1
            aload 7 /* sk */
            aload 5 /* params */
            invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
        15: .line 327
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        16: goto 20
        17: .line 328
      StackMap locals: byte[] byte[] byte[] javax.crypto.Cipher byte[] javax.crypto.spec.IvParameterSpec javax.crypto.spec.SecretKeySpec javax.crypto.SecretKey int
      StackMap stack:
            aload 3 /* cipher */
            aload 1 /* msg */
            iload 8 /* i */
            bipush 8
            imul
            bipush 8
            invokevirtual javax.crypto.Cipher.doFinal:([BII)[B
            astore 4 /* result */
        18: .line 329
            aload 3 /* cipher */
            iconst_1
            aload 7 /* sk */
            new javax.crypto.spec.IvParameterSpec
            dup
            aload 4 /* result */
            invokespecial javax.crypto.spec.IvParameterSpec.<init>:([B)V
            invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
        19: .line 327
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 8 /* i */
            aload 1 /* msg */
            arraylength
            bipush 8
            idiv
            if_icmplt 17
        end local 8 // int i
        end local 7 // javax.crypto.SecretKey sk
        21: .line 331
            goto 26
        22: .line 332
      StackMap locals: byte[] byte[] byte[] javax.crypto.Cipher byte[] javax.crypto.spec.IvParameterSpec javax.crypto.spec.SecretKeySpec
      StackMap stack: java.security.GeneralSecurityException
            astore 7 /* e */
        start local 7 // java.security.GeneralSecurityException e
        23: .line 333
            new sun.security.krb5.KrbCryptoException
            dup
            aload 7 /* e */
            invokevirtual java.security.GeneralSecurityException.getMessage:()Ljava/lang/String;
            invokespecial sun.security.krb5.KrbCryptoException.<init>:(Ljava/lang/String;)V
            astore 8 /* ke */
        start local 8 // sun.security.krb5.KrbCryptoException ke
        24: .line 334
            aload 8 /* ke */
            aload 7 /* e */
            invokevirtual sun.security.krb5.KrbCryptoException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        25: .line 335
            aload 8 /* ke */
            athrow
        end local 8 // sun.security.krb5.KrbCryptoException ke
        end local 7 // java.security.GeneralSecurityException e
        26: .line 337
      StackMap locals:
      StackMap stack:
            aload 4 /* result */
            areturn
        end local 6 // javax.crypto.spec.SecretKeySpec skSpec
        end local 5 // javax.crypto.spec.IvParameterSpec params
        end local 4 // byte[] result
        end local 3 // javax.crypto.Cipher cipher
        end local 2 // byte[] key
        end local 1 // byte[] msg
        end local 0 // byte[] ivec
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   27     0    ivec  [B
            0   27     1     msg  [B
            0   27     2     key  [B
            1   27     3  cipher  Ljavax/crypto/Cipher;
            2   27     4  result  [B
            5   10     5       e  Ljava/lang/Exception;
            8   10     6      ke  Lsun/security/krb5/KrbCryptoException;
           11   27     5  params  Ljavax/crypto/spec/IvParameterSpec;
           12   27     6  skSpec  Ljavax/crypto/spec/SecretKeySpec;
           14   21     7      sk  Ljavax/crypto/SecretKey;
           16   21     8       i  I
           23   26     7       e  Ljava/security/GeneralSecurityException;
           24   26     8      ke  Lsun/security/krb5/KrbCryptoException;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.Exception
          12    21      22  Class java.security.GeneralSecurityException
    Exceptions:
      throws sun.security.krb5.KrbCryptoException
    MethodParameters:
      Name  Flags
      ivec  
      msg   
      key   

  static byte[] pad(byte[]);
    descriptor: ([B)[B
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // byte[] data
         0: .line 349
            aload 0 /* data */
            arraylength
            bipush 8
            if_icmpge 2
            aload 0 /* data */
            arraylength
            istore 1 /* len */
        start local 1 // int len
         1: goto 3
        end local 1 // int len
         2: .line 350
      StackMap locals:
      StackMap stack:
            aload 0 /* data */
            arraylength
            bipush 8
            irem
            istore 1 /* len */
        start local 1 // int len
         3: .line 351
      StackMap locals: int
      StackMap stack:
            iload 1 /* len */
            ifne 4
            aload 0 /* data */
            areturn
         4: .line 353
      StackMap locals:
      StackMap stack:
            bipush 8
            iload 1 /* len */
            isub
            aload 0 /* data */
            arraylength
            iadd
            newarray 8
            astore 2 /* padding */
        start local 2 // byte[] padding
         5: .line 354
            aload 2 /* padding */
            arraylength
            iconst_1
            isub
            istore 3 /* i */
        start local 3 // int i
         6: goto 9
         7: .line 355
      StackMap locals: byte[] int
      StackMap stack:
            aload 2 /* padding */
            iload 3 /* i */
            iconst_0
            bastore
         8: .line 354
            iinc 3 /* i */ -1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            aload 0 /* data */
            arraylength
            iconst_1
            isub
            if_icmpgt 7
        end local 3 // int i
        10: .line 357
            aload 0 /* data */
            iconst_0
            aload 2 /* padding */
            iconst_0
            aload 0 /* data */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        11: .line 358
            aload 2 /* padding */
            areturn
        end local 2 // byte[] padding
        end local 1 // int len
        end local 0 // byte[] data
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     data  [B
            1    2     1      len  I
            3   12     1      len  I
            5   12     2  padding  [B
            6   10     3        i  I
    MethodParameters:
      Name  Flags
      data  

  public static byte[] string_to_key_bytes(char[]);
    descriptor: ([C)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // char[] passwdChars
         0: .line 365
            aload 0 /* passwdChars */
            invokestatic sun.security.krb5.internal.crypto.Des.char_to_key:([C)J
            invokestatic sun.security.krb5.internal.crypto.Des.long2octet:(J)[B
            areturn
        end local 0 // char[] passwdChars
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0  passwdChars  [C
    Exceptions:
      throws sun.security.krb5.KrbCryptoException
    MethodParameters:
             Name  Flags
      passwdChars  
}
SourceFile: "Des.java"