final class sun.security.ssl.HelloCookieManager$T13HelloCookieManager extends sun.security.ssl.HelloCookieManager
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: sun.security.ssl.HelloCookieManager$T13HelloCookieManager
  super_class: sun.security.ssl.HelloCookieManager
{
  final java.security.SecureRandom secureRandom;
    descriptor: Ljava/security/SecureRandom;
    flags: (0x0010) ACC_FINAL

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

  private final byte[] cookieSecret;
    descriptor: [B
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final byte[] legacySecret;
    descriptor: [B
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.concurrent.locks.ReentrantLock t13ManagerLock;
    descriptor: Ljava/util/concurrent/locks/ReentrantLock;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  void <init>(java.security.SecureRandom);
    descriptor: (Ljava/security/SecureRandom;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // sun.security.ssl.HelloCookieManager$T13HelloCookieManager this
        start local 1 // java.security.SecureRandom secureRandom
         0: .line 243
            aload 0 /* this */
            invokespecial sun.security.ssl.HelloCookieManager.<init>:()V
         1: .line 241
            aload 0 /* this */
            new java.util.concurrent.locks.ReentrantLock
            dup
            invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
            putfield sun.security.ssl.HelloCookieManager$T13HelloCookieManager.t13ManagerLock:Ljava/util/concurrent/locks/ReentrantLock;
         2: .line 244
            aload 0 /* this */
            aload 1 /* secureRandom */
            putfield sun.security.ssl.HelloCookieManager$T13HelloCookieManager.secureRandom:Ljava/security/SecureRandom;
         3: .line 245
            aload 0 /* this */
            aload 1 /* secureRandom */
            invokevirtual java.security.SecureRandom.nextInt:()I
            putfield sun.security.ssl.HelloCookieManager$T13HelloCookieManager.cookieVersion:I
         4: .line 246
            aload 0 /* this */
            bipush 64
            newarray 8
            putfield sun.security.ssl.HelloCookieManager$T13HelloCookieManager.cookieSecret:[B
         5: .line 247
            aload 0 /* this */
            bipush 64
            newarray 8
            putfield sun.security.ssl.HelloCookieManager$T13HelloCookieManager.legacySecret:[B
         6: .line 249
            aload 1 /* secureRandom */
            aload 0 /* this */
            getfield sun.security.ssl.HelloCookieManager$T13HelloCookieManager.cookieSecret:[B
            invokevirtual java.security.SecureRandom.nextBytes:([B)V
         7: .line 250
            aload 0 /* this */
            getfield sun.security.ssl.HelloCookieManager$T13HelloCookieManager.cookieSecret:[B
            iconst_0
            aload 0 /* this */
            getfield sun.security.ssl.HelloCookieManager$T13HelloCookieManager.legacySecret:[B
            iconst_0
            bipush 64
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         8: .line 251
            return
        end local 1 // java.security.SecureRandom secureRandom
        end local 0 // sun.security.ssl.HelloCookieManager$T13HelloCookieManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lsun/security/ssl/HelloCookieManager$T13HelloCookieManager;
            0    9     1  secureRandom  Ljava/security/SecureRandom;
    MethodParameters:
              Name  Flags
      secureRandom  

  byte[] createCookie(sun.security.ssl.ServerHandshakeContext, sun.security.ssl.ClientHello$ClientHelloMessage);
    descriptor: (Lsun/security/ssl/ServerHandshakeContext;Lsun/security/ssl/ClientHello$ClientHelloMessage;)[B
    flags: (0x0000) 
    Code:
      stack=5, locals=11, args_size=3
        start local 0 // sun.security.ssl.HelloCookieManager$T13HelloCookieManager this
        start local 1 // sun.security.ssl.ServerHandshakeContext context
        start local 2 // sun.security.ssl.ClientHello$ClientHelloMessage clientHello
         0: .line 259
            aload 0 /* this */
            getfield sun.security.ssl.HelloCookieManager$T13HelloCookieManager.t13ManagerLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
         1: .line 261
            aload 0 /* this */
            getfield sun.security.ssl.HelloCookieManager$T13HelloCookieManager.cookieVersion:I
            istore 3 /* version */
        start local 3 // int version
         2: .line 262
            aload 0 /* this */
            getfield sun.security.ssl.HelloCookieManager$T13HelloCookieManager.cookieSecret:[B
            astore 4 /* secret */
        start local 4 // byte[] secret
         3: .line 265
            aload 0 /* this */
            getfield sun.security.ssl.HelloCookieManager$T13HelloCookieManager.cookieVersion:I
            ldc 16777215
            iand
            ifne 6
         4: .line 266
            aload 0 /* this */
            getfield sun.security.ssl.HelloCookieManager$T13HelloCookieManager.cookieSecret:[B
            iconst_0
            aload 0 /* this */
            getfield sun.security.ssl.HelloCookieManager$T13HelloCookieManager.legacySecret:[B
            iconst_0
            bipush 64
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         5: .line 267
            aload 0 /* this */
            getfield sun.security.ssl.HelloCookieManager$T13HelloCookieManager.secureRandom:Ljava/security/SecureRandom;
            aload 0 /* this */
            getfield sun.security.ssl.HelloCookieManager$T13HelloCookieManager.cookieSecret:[B
            invokevirtual java.security.SecureRandom.nextBytes:([B)V
         6: .line 270
      StackMap locals: int byte[]
      StackMap stack:
            aload 0 /* this */
            dup
            getfield sun.security.ssl.HelloCookieManager$T13HelloCookieManager.cookieVersion:I
            iconst_1
            iadd
            putfield sun.security.ssl.HelloCookieManager$T13HelloCookieManager.cookieVersion:I
         7: .line 271
            goto 11
        end local 4 // byte[] secret
        end local 3 // int version
      StackMap locals: sun.security.ssl.HelloCookieManager$T13HelloCookieManager sun.security.ssl.ServerHandshakeContext sun.security.ssl.ClientHello$ClientHelloMessage
      StackMap stack: java.lang.Throwable
         8: astore 5
         9: .line 272
            aload 0 /* this */
            getfield sun.security.ssl.HelloCookieManager$T13HelloCookieManager.t13ManagerLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
        10: .line 273
            aload 5
            athrow
        start local 3 // int version
        start local 4 // byte[] secret
        11: .line 272
      StackMap locals: int byte[]
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.HelloCookieManager$T13HelloCookieManager.t13ManagerLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
        12: .line 278
            aload 1 /* context */
            getfield sun.security.ssl.ServerHandshakeContext.negotiatedCipherSuite:Lsun/security/ssl/CipherSuite;
            getfield sun.security.ssl.CipherSuite.hashAlg:Lsun/security/ssl/CipherSuite$HashAlg;
            getfield sun.security.ssl.CipherSuite$HashAlg.name:Ljava/lang/String;
        13: .line 277
            invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
            astore 5 /* md */
        start local 5 // java.security.MessageDigest md
        14: .line 279
            goto 23
        end local 5 // java.security.MessageDigest md
      StackMap locals:
      StackMap stack: java.security.NoSuchAlgorithmException
        15: astore 6 /* nsae */
        start local 6 // java.security.NoSuchAlgorithmException nsae
        16: .line 280
            new java.lang.RuntimeException
            dup
        17: .line 281
            new java.lang.StringBuilder
            dup
            ldc "MessageDigest algorithm "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        18: .line 282
            aload 1 /* context */
            getfield sun.security.ssl.ServerHandshakeContext.negotiatedCipherSuite:Lsun/security/ssl/CipherSuite;
            getfield sun.security.ssl.CipherSuite.hashAlg:Lsun/security/ssl/CipherSuite$HashAlg;
            getfield sun.security.ssl.CipherSuite$HashAlg.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        19: .line 283
            ldc " is not available"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        20: .line 281
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        21: .line 283
            aload 6 /* nsae */
        22: .line 280
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.security.NoSuchAlgorithmException nsae
        start local 5 // java.security.MessageDigest md
        23: .line 285
      StackMap locals: java.security.MessageDigest
      StackMap stack:
            aload 2 /* clientHello */
            invokevirtual sun.security.ssl.ClientHello$ClientHelloMessage.getHeaderBytes:()[B
            astore 6 /* headerBytes */
        start local 6 // byte[] headerBytes
        24: .line 286
            aload 5 /* md */
            aload 6 /* headerBytes */
            invokevirtual java.security.MessageDigest.update:([B)V
        25: .line 287
            aload 5 /* md */
            aload 4 /* secret */
            invokevirtual java.security.MessageDigest.digest:([B)[B
            astore 7 /* headerCookie */
        start local 7 // byte[] headerCookie
        26: .line 290
            aload 1 /* context */
            getfield sun.security.ssl.ServerHandshakeContext.handshakeHash:Lsun/security/ssl/HandshakeHash;
            invokevirtual sun.security.ssl.HandshakeHash.update:()V
        27: .line 291
            aload 1 /* context */
            getfield sun.security.ssl.ServerHandshakeContext.handshakeHash:Lsun/security/ssl/HandshakeHash;
            invokevirtual sun.security.ssl.HandshakeHash.digest:()[B
            astore 8 /* clientHelloHash */
        start local 8 // byte[] clientHelloHash
        28: .line 300
            iconst_3
            newarray 8
            dup
            iconst_0
        29: .line 301
            aload 1 /* context */
            getfield sun.security.ssl.ServerHandshakeContext.negotiatedCipherSuite:Lsun/security/ssl/CipherSuite;
            getfield sun.security.ssl.CipherSuite.id:I
            bipush 8
            ishr
            sipush 255
            iand
            i2b
            bastore
            dup
            iconst_1
        30: .line 302
            aload 1 /* context */
            getfield sun.security.ssl.ServerHandshakeContext.negotiatedCipherSuite:Lsun/security/ssl/CipherSuite;
            getfield sun.security.ssl.CipherSuite.id:I
            sipush 255
            iand
            i2b
            bastore
            dup
            iconst_2
        31: .line 303
            iload 3 /* version */
            bipush 24
            ishr
            sipush 255
            iand
            i2b
            bastore
        32: .line 300
            astore 9 /* prefix */
        start local 9 // byte[] prefix
        33: .line 306
            aload 9 /* prefix */
        34: .line 307
            aload 9 /* prefix */
            arraylength
            aload 7 /* headerCookie */
            arraylength
            iadd
            aload 8 /* clientHelloHash */
            arraylength
            iadd
        35: .line 306
            invokestatic java.util.Arrays.copyOf:([BI)[B
            astore 10 /* cookie */
        start local 10 // byte[] cookie
        36: .line 308
            aload 7 /* headerCookie */
            iconst_0
            aload 10 /* cookie */
        37: .line 309
            aload 9 /* prefix */
            arraylength
            aload 7 /* headerCookie */
            arraylength
        38: .line 308
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        39: .line 310
            aload 8 /* clientHelloHash */
            iconst_0
            aload 10 /* cookie */
        40: .line 311
            aload 9 /* prefix */
            arraylength
            aload 7 /* headerCookie */
            arraylength
            iadd
            aload 8 /* clientHelloHash */
            arraylength
        41: .line 310
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        42: .line 313
            aload 10 /* cookie */
            areturn
        end local 10 // byte[] cookie
        end local 9 // byte[] prefix
        end local 8 // byte[] clientHelloHash
        end local 7 // byte[] headerCookie
        end local 6 // byte[] headerBytes
        end local 5 // java.security.MessageDigest md
        end local 4 // byte[] secret
        end local 3 // int version
        end local 2 // sun.security.ssl.ClientHello$ClientHelloMessage clientHello
        end local 1 // sun.security.ssl.ServerHandshakeContext context
        end local 0 // sun.security.ssl.HelloCookieManager$T13HelloCookieManager this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   43     0             this  Lsun/security/ssl/HelloCookieManager$T13HelloCookieManager;
            0   43     1          context  Lsun/security/ssl/ServerHandshakeContext;
            0   43     2      clientHello  Lsun/security/ssl/ClientHello$ClientHelloMessage;
            2    8     3          version  I
           11   43     3          version  I
            3    8     4           secret  [B
           11   43     4           secret  [B
           14   15     5               md  Ljava/security/MessageDigest;
           23   43     5               md  Ljava/security/MessageDigest;
           16   23     6             nsae  Ljava/security/NoSuchAlgorithmException;
           24   43     6      headerBytes  [B
           26   43     7     headerCookie  [B
           28   43     8  clientHelloHash  [B
           33   43     9           prefix  [B
           36   43    10           cookie  [B
      Exception table:
        from    to  target  type
           1     8       8  any
          12    14      15  Class java.security.NoSuchAlgorithmException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      context      
      clientHello  

  boolean isCookieValid(sun.security.ssl.ServerHandshakeContext, sun.security.ssl.ClientHello$ClientHelloMessage, byte[]);
    descriptor: (Lsun/security/ssl/ServerHandshakeContext;Lsun/security/ssl/ClientHello$ClientHelloMessage;[B)Z
    flags: (0x0000) 
    Code:
      stack=5, locals=15, args_size=4
        start local 0 // sun.security.ssl.HelloCookieManager$T13HelloCookieManager this
        start local 1 // sun.security.ssl.ServerHandshakeContext context
        start local 2 // sun.security.ssl.ClientHello$ClientHelloMessage clientHello
        start local 3 // byte[] cookie
         0: .line 320
            aload 3 /* cookie */
            ifnull 1
            aload 3 /* cookie */
            arraylength
            bipush 32
            if_icmpgt 2
         1: .line 321
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 324
      StackMap locals:
      StackMap stack:
            aload 3 /* cookie */
            iconst_0
            baload
            sipush 255
            iand
            bipush 8
            ishl
            aload 3 /* cookie */
            iconst_1
            baload
            sipush 255
            iand
            ior
            istore 4 /* csId */
        start local 4 // int csId
         3: .line 325
            iload 4 /* csId */
            invokestatic sun.security.ssl.CipherSuite.valueOf:(I)Lsun/security/ssl/CipherSuite;
            astore 5 /* cs */
        start local 5 // sun.security.ssl.CipherSuite cs
         4: .line 326
            aload 5 /* cs */
            ifnull 5
            aload 5 /* cs */
            getfield sun.security.ssl.CipherSuite.hashAlg:Lsun/security/ssl/CipherSuite$HashAlg;
            ifnull 5
            aload 5 /* cs */
            getfield sun.security.ssl.CipherSuite.hashAlg:Lsun/security/ssl/CipherSuite$HashAlg;
            getfield sun.security.ssl.CipherSuite$HashAlg.hashLength:I
            ifne 6
         5: .line 327
      StackMap locals: int sun.security.ssl.CipherSuite
      StackMap stack:
            iconst_0
            ireturn
         6: .line 330
      StackMap locals:
      StackMap stack:
            aload 5 /* cs */
            getfield sun.security.ssl.CipherSuite.hashAlg:Lsun/security/ssl/CipherSuite$HashAlg;
            getfield sun.security.ssl.CipherSuite$HashAlg.hashLength:I
            istore 6 /* hashLen */
        start local 6 // int hashLen
         7: .line 331
            aload 3 /* cookie */
            arraylength
            iconst_3
            iload 6 /* hashLen */
            iconst_2
            imul
            iadd
            if_icmpeq 9
         8: .line 332
            iconst_0
            ireturn
         9: .line 336
      StackMap locals: int
      StackMap stack:
            aload 3 /* cookie */
            iconst_3
            iconst_3
            iload 6 /* hashLen */
            iadd
            invokestatic java.util.Arrays.copyOfRange:([BII)[B
        10: .line 335
            astore 7 /* prevHeadCookie */
        start local 7 // byte[] prevHeadCookie
        11: .line 338
            aload 3 /* cookie */
            iconst_3
            iload 6 /* hashLen */
            iadd
            aload 3 /* cookie */
            arraylength
            invokestatic java.util.Arrays.copyOfRange:([BII)[B
        12: .line 337
            astore 8 /* prevClientHelloHash */
        start local 8 // byte[] prevClientHelloHash
        13: .line 341
            aload 0 /* this */
            getfield sun.security.ssl.HelloCookieManager$T13HelloCookieManager.t13ManagerLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
        14: .line 343
            aload 0 /* this */
            getfield sun.security.ssl.HelloCookieManager$T13HelloCookieManager.cookieVersion:I
            bipush 24
            ishr
            sipush 255
            iand
            i2b
            aload 3 /* cookie */
            iconst_2
            baload
            if_icmpne 17
        15: .line 344
            aload 0 /* this */
            getfield sun.security.ssl.HelloCookieManager$T13HelloCookieManager.cookieSecret:[B
            astore 9 /* secret */
        start local 9 // byte[] secret
        16: .line 345
            goto 22
        end local 9 // byte[] secret
        17: .line 346
      StackMap locals: byte[] byte[]
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.HelloCookieManager$T13HelloCookieManager.legacySecret:[B
            astore 9 /* secret */
        start local 9 // byte[] secret
        18: .line 348
            goto 22
        end local 9 // byte[] secret
      StackMap locals:
      StackMap stack: java.lang.Throwable
        19: astore 10
        20: .line 349
            aload 0 /* this */
            getfield sun.security.ssl.HelloCookieManager$T13HelloCookieManager.t13ManagerLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
        21: .line 350
            aload 10
            athrow
        start local 9 // byte[] secret
        22: .line 349
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.HelloCookieManager$T13HelloCookieManager.t13ManagerLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
        23: .line 354
            aload 5 /* cs */
            getfield sun.security.ssl.CipherSuite.hashAlg:Lsun/security/ssl/CipherSuite$HashAlg;
            getfield sun.security.ssl.CipherSuite$HashAlg.name:Ljava/lang/String;
            invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
            astore 10 /* md */
        start local 10 // java.security.MessageDigest md
        24: .line 355
            goto 32
        end local 10 // java.security.MessageDigest md
      StackMap locals:
      StackMap stack: java.security.NoSuchAlgorithmException
        25: astore 11 /* nsae */
        start local 11 // java.security.NoSuchAlgorithmException nsae
        26: .line 356
            new java.lang.RuntimeException
            dup
        27: .line 357
            new java.lang.StringBuilder
            dup
            ldc "MessageDigest algorithm "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        28: .line 358
            aload 5 /* cs */
            getfield sun.security.ssl.CipherSuite.hashAlg:Lsun/security/ssl/CipherSuite$HashAlg;
            getfield sun.security.ssl.CipherSuite$HashAlg.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " is not available"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        29: .line 357
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        30: .line 358
            aload 11 /* nsae */
        31: .line 356
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 11 // java.security.NoSuchAlgorithmException nsae
        start local 10 // java.security.MessageDigest md
        32: .line 360
      StackMap locals: java.security.MessageDigest
      StackMap stack:
            aload 2 /* clientHello */
            invokevirtual sun.security.ssl.ClientHello$ClientHelloMessage.getHeaderBytes:()[B
            astore 11 /* headerBytes */
        start local 11 // byte[] headerBytes
        33: .line 361
            aload 10 /* md */
            aload 11 /* headerBytes */
            invokevirtual java.security.MessageDigest.update:([B)V
        34: .line 362
            aload 10 /* md */
            aload 9 /* secret */
            invokevirtual java.security.MessageDigest.digest:([B)[B
            astore 12 /* headerCookie */
        start local 12 // byte[] headerCookie
        35: .line 364
            aload 12 /* headerCookie */
            aload 7 /* prevHeadCookie */
            invokestatic java.util.Arrays.equals:([B[B)Z
            ifne 37
        36: .line 365
            iconst_0
            ireturn
        37: .line 379
      StackMap locals: byte[] byte[]
      StackMap stack:
            getstatic sun.security.ssl.ServerHello.hrrReproducer:Lsun/security/ssl/HandshakeProducer;
            aload 1 /* context */
            aload 2 /* clientHello */
            invokeinterface sun.security.ssl.HandshakeProducer.produce:(Lsun/security/ssl/ConnectionContext;Lsun/security/ssl/SSLHandshake$HandshakeMessage;)[B
        38: .line 378
            astore 13 /* hrrMessage */
        start local 13 // byte[] hrrMessage
        39: .line 380
            aload 1 /* context */
            getfield sun.security.ssl.ServerHandshakeContext.handshakeHash:Lsun/security/ssl/HandshakeHash;
            aload 13 /* hrrMessage */
            invokevirtual sun.security.ssl.HandshakeHash.push:([B)V
        40: .line 383
            iconst_4
            iload 6 /* hashLen */
            iadd
            newarray 8
            astore 14 /* hashedClientHello */
        start local 14 // byte[] hashedClientHello
        41: .line 384
            aload 14 /* hashedClientHello */
            iconst_0
            getstatic sun.security.ssl.SSLHandshake.MESSAGE_HASH:Lsun/security/ssl/SSLHandshake;
            getfield sun.security.ssl.SSLHandshake.id:B
            bastore
        42: .line 385
            aload 14 /* hashedClientHello */
            iconst_1
            iconst_0
            bastore
        43: .line 386
            aload 14 /* hashedClientHello */
            iconst_2
            iconst_0
            bastore
        44: .line 387
            aload 14 /* hashedClientHello */
            iconst_3
            iload 6 /* hashLen */
            sipush 255
            iand
            i2b
            bastore
        45: .line 388
            aload 8 /* prevClientHelloHash */
            iconst_0
        46: .line 389
            aload 14 /* hashedClientHello */
            iconst_4
            iload 6 /* hashLen */
        47: .line 388
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        48: .line 391
            aload 1 /* context */
            getfield sun.security.ssl.ServerHandshakeContext.handshakeHash:Lsun/security/ssl/HandshakeHash;
            aload 14 /* hashedClientHello */
            invokevirtual sun.security.ssl.HandshakeHash.push:([B)V
        49: .line 393
            iconst_1
            ireturn
        end local 14 // byte[] hashedClientHello
        end local 13 // byte[] hrrMessage
        end local 12 // byte[] headerCookie
        end local 11 // byte[] headerBytes
        end local 10 // java.security.MessageDigest md
        end local 9 // byte[] secret
        end local 8 // byte[] prevClientHelloHash
        end local 7 // byte[] prevHeadCookie
        end local 6 // int hashLen
        end local 5 // sun.security.ssl.CipherSuite cs
        end local 4 // int csId
        end local 3 // byte[] cookie
        end local 2 // sun.security.ssl.ClientHello$ClientHelloMessage clientHello
        end local 1 // sun.security.ssl.ServerHandshakeContext context
        end local 0 // sun.security.ssl.HelloCookieManager$T13HelloCookieManager this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   50     0                 this  Lsun/security/ssl/HelloCookieManager$T13HelloCookieManager;
            0   50     1              context  Lsun/security/ssl/ServerHandshakeContext;
            0   50     2          clientHello  Lsun/security/ssl/ClientHello$ClientHelloMessage;
            0   50     3               cookie  [B
            3   50     4                 csId  I
            4   50     5                   cs  Lsun/security/ssl/CipherSuite;
            7   50     6              hashLen  I
           11   50     7       prevHeadCookie  [B
           13   50     8  prevClientHelloHash  [B
           16   17     9               secret  [B
           18   19     9               secret  [B
           22   50     9               secret  [B
           24   25    10                   md  Ljava/security/MessageDigest;
           32   50    10                   md  Ljava/security/MessageDigest;
           26   32    11                 nsae  Ljava/security/NoSuchAlgorithmException;
           33   50    11          headerBytes  [B
           35   50    12         headerCookie  [B
           39   50    13           hrrMessage  [B
           41   50    14    hashedClientHello  [B
      Exception table:
        from    to  target  type
          14    19      19  any
          23    24      25  Class java.security.NoSuchAlgorithmException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      context      
      clientHello  
      cookie       
}
SourceFile: "HelloCookieManager.java"
NestHost: sun.security.ssl.HelloCookieManager
InnerClasses:
  final HashAlg = sun.security.ssl.CipherSuite$HashAlg of sun.security.ssl.CipherSuite
  final ClientHelloMessage = sun.security.ssl.ClientHello$ClientHelloMessage of sun.security.ssl.ClientHello
  private final T13HelloCookieManager = sun.security.ssl.HelloCookieManager$T13HelloCookieManager of sun.security.ssl.HelloCookieManager
  abstract HandshakeMessage = sun.security.ssl.SSLHandshake$HandshakeMessage of sun.security.ssl.SSLHandshake