class java.util.prefs.WindowsPreferences extends java.util.prefs.AbstractPreferences
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: java.util.prefs.WindowsPreferences
  super_class: java.util.prefs.AbstractPreferences
{
  private static sun.util.logging.PlatformLogger logger;
    descriptor: Lsun/util/logging/PlatformLogger;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

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

  private static final int HKEY_CURRENT_USER;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -2147483647

  private static final int HKEY_LOCAL_MACHINE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -2147483646

  private static final int USER_ROOT_NATIVE_HANDLE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -2147483647

  private static final int SYSTEM_ROOT_NATIVE_HANDLE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -2147483646

  private static final int MAX_WINDOWS_PATH_LENGTH;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 256

  private static volatile java.util.prefs.Preferences userRoot;
    descriptor: Ljava/util/prefs/Preferences;
    flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE

  private static volatile java.util.prefs.Preferences systemRoot;
    descriptor: Ljava/util/prefs/Preferences;
    flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE

  private static final int ERROR_SUCCESS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final int ERROR_FILE_NOT_FOUND;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final int ERROR_ACCESS_DENIED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  private static final int NATIVE_HANDLE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final int ERROR_CODE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int SUBKEYS_NUMBER;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final int VALUES_NUMBER;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final int MAX_KEY_LENGTH;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  private static final int MAX_VALUE_NAME_LENGTH;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private static final int DISPOSITION;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final int REG_CREATED_NEW_KEY;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int REG_OPENED_EXISTING_KEY;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final int NULL_NATIVE_HANDLE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final int DELETE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 65536

  private static final int KEY_QUERY_VALUE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int KEY_SET_VALUE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final int KEY_CREATE_SUB_KEY;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private static final int KEY_ENUMERATE_SUB_KEYS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final int KEY_READ;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 131097

  private static final int KEY_WRITE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 131078

  private static final int KEY_ALL_ACCESS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 983103

  private static int INIT_SLEEP_TIME;
    descriptor: I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static int MAX_ATTEMPTS;
    descriptor: I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private boolean isBackingStoreAvailable;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=0
         0: .line 50
            invokedynamic run()Ljava/security/PrivilegedAction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  java/util/prefs/WindowsPreferences.lambda$0()Ljava/lang/Void; (6)
                  ()Ljava/lang/Void;
            astore 0 /* load */
        start local 0 // java.security.PrivilegedAction load
         1: .line 54
            aload 0 /* load */
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
        end local 0 // java.security.PrivilegedAction load
         2: .line 66
            ldc "Software\\JavaSoft\\Prefs"
            invokestatic java.util.prefs.WindowsPreferences.stringToByteArray:(Ljava/lang/String;)[B
         3: .line 65
            putstatic java.util.prefs.WindowsPreferences.WINDOWS_ROOT_PATH:[B
         4: .line 160
            bipush 50
            putstatic java.util.prefs.WindowsPreferences.INIT_SLEEP_TIME:I
         5: .line 165
            iconst_5
            putstatic java.util.prefs.WindowsPreferences.MAX_ATTEMPTS:I
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    2     0  load  Ljava/security/PrivilegedAction<Ljava/lang/Void;>;

  static java.util.prefs.Preferences getUserRoot();
    descriptor: ()Ljava/util/prefs/Preferences;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=2, args_size=0
         0: .line 97
            getstatic java.util.prefs.WindowsPreferences.userRoot:Ljava/util/prefs/Preferences;
            astore 0 /* root */
        start local 0 // java.util.prefs.Preferences root
         1: .line 98
            aload 0 /* root */
            ifnonnull 11
         2: .line 99
            ldc Ljava/util/prefs/WindowsPreferences;
            dup
            astore 1
            monitorenter
         3: .line 100
            getstatic java.util.prefs.WindowsPreferences.userRoot:Ljava/util/prefs/Preferences;
            astore 0 /* root */
         4: .line 101
            aload 0 /* root */
            ifnonnull 7
         5: .line 102
            new java.util.prefs.WindowsPreferences
            dup
            ldc -2147483647
            getstatic java.util.prefs.WindowsPreferences.WINDOWS_ROOT_PATH:[B
            invokespecial java.util.prefs.WindowsPreferences.<init>:(J[B)V
            astore 0 /* root */
         6: .line 103
            aload 0 /* root */
            putstatic java.util.prefs.WindowsPreferences.userRoot:Ljava/util/prefs/Preferences;
         7: .line 99
      StackMap locals: java.util.prefs.Preferences java.lang.Class
      StackMap stack:
            aload 1
            monitorexit
         8: goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 1
            monitorexit
        10: athrow
        11: .line 107
      StackMap locals:
      StackMap stack:
            aload 0 /* root */
            areturn
        end local 0 // java.util.prefs.Preferences root
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1   12     0  root  Ljava/util/prefs/Preferences;
      Exception table:
        from    to  target  type
           3     8       9  any
           9    10       9  any

  static java.util.prefs.Preferences getSystemRoot();
    descriptor: ()Ljava/util/prefs/Preferences;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=2, args_size=0
         0: .line 116
            getstatic java.util.prefs.WindowsPreferences.systemRoot:Ljava/util/prefs/Preferences;
            astore 0 /* root */
        start local 0 // java.util.prefs.Preferences root
         1: .line 117
            aload 0 /* root */
            ifnonnull 11
         2: .line 118
            ldc Ljava/util/prefs/WindowsPreferences;
            dup
            astore 1
            monitorenter
         3: .line 119
            getstatic java.util.prefs.WindowsPreferences.systemRoot:Ljava/util/prefs/Preferences;
            astore 0 /* root */
         4: .line 120
            aload 0 /* root */
            ifnonnull 7
         5: .line 121
            new java.util.prefs.WindowsPreferences
            dup
            ldc -2147483646
            getstatic java.util.prefs.WindowsPreferences.WINDOWS_ROOT_PATH:[B
            invokespecial java.util.prefs.WindowsPreferences.<init>:(J[B)V
            astore 0 /* root */
         6: .line 122
            aload 0 /* root */
            putstatic java.util.prefs.WindowsPreferences.systemRoot:Ljava/util/prefs/Preferences;
         7: .line 118
      StackMap locals: java.util.prefs.Preferences java.lang.Class
      StackMap stack:
            aload 1
            monitorexit
         8: goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 1
            monitorexit
        10: athrow
        11: .line 126
      StackMap locals:
      StackMap stack:
            aload 0 /* root */
            areturn
        end local 0 // java.util.prefs.Preferences root
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1   12     0  root  Ljava/util/prefs/Preferences;
      Exception table:
        from    to  target  type
           3     8       9  any
           9    10       9  any

  private static native long[] WindowsRegOpenKey(long, byte[], int);
    descriptor: (J[BI)[J
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
              Name  Flags
      hKey          
      subKey        
      securityMask  

  private static long[] WindowsRegOpenKey1(long, byte[], int);
    descriptor: (J[BI)[J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // long hKey
        start local 2 // byte[] subKey
        start local 3 // int securityMask
         0: .line 182
            lload 0 /* hKey */
            aload 2 /* subKey */
            iload 3 /* securityMask */
            invokestatic java.util.prefs.WindowsPreferences.WindowsRegOpenKey:(J[BI)[J
            astore 4 /* result */
        start local 4 // long[] result
         1: .line 183
            aload 4 /* result */
            iconst_1
            laload
            lconst_0
            lcmp
            ifne 3
         2: .line 184
            aload 4 /* result */
            areturn
         3: .line 185
      StackMap locals: long[]
      StackMap stack:
            aload 4 /* result */
            iconst_1
            laload
            ldc 2
            lcmp
            ifne 11
         4: .line 186
            invokestatic java.util.prefs.WindowsPreferences.logger:()Lsun/util/logging/PlatformLogger;
            new java.lang.StringBuilder
            dup
            ldc "Trying to recreate Windows registry node "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         5: .line 187
            aload 2 /* subKey */
            invokestatic java.util.prefs.WindowsPreferences.byteArrayToString:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " at root 0x"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 188
            lload 0 /* hKey */
            invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 186
            invokevirtual sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
         8: .line 190
            lload 0 /* hKey */
            aload 2 /* subKey */
            invokestatic java.util.prefs.WindowsPreferences.WindowsRegCreateKeyEx:(J[B)[J
            iconst_0
            laload
            lstore 5 /* handle */
        start local 5 // long handle
         9: .line 191
            lload 5 /* handle */
            invokestatic java.util.prefs.WindowsPreferences.WindowsRegCloseKey:(J)I
            pop
        10: .line 192
            lload 0 /* hKey */
            aload 2 /* subKey */
            iload 3 /* securityMask */
            invokestatic java.util.prefs.WindowsPreferences.WindowsRegOpenKey:(J[BI)[J
            areturn
        end local 5 // long handle
        11: .line 193
      StackMap locals:
      StackMap stack:
            aload 4 /* result */
            iconst_1
            laload
            ldc 5
            lcmp
            ifeq 25
        12: .line 194
            getstatic java.util.prefs.WindowsPreferences.INIT_SLEEP_TIME:I
            i2l
            lstore 5 /* sleepTime */
        start local 5 // long sleepTime
        13: .line 195
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        14: goto 24
        15: .line 197
      StackMap locals: long int
      StackMap stack:
            lload 5 /* sleepTime */
            invokestatic java.lang.Thread.sleep:(J)V
        16: .line 198
            goto 19
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        17: pop
        18: .line 199
            aload 4 /* result */
            areturn
        19: .line 201
      StackMap locals:
      StackMap stack:
            lload 5 /* sleepTime */
            ldc 2
            lmul
            lstore 5 /* sleepTime */
        20: .line 202
            lload 0 /* hKey */
            aload 2 /* subKey */
            iload 3 /* securityMask */
            invokestatic java.util.prefs.WindowsPreferences.WindowsRegOpenKey:(J[BI)[J
            astore 4 /* result */
        21: .line 203
            aload 4 /* result */
            iconst_1
            laload
            lconst_0
            lcmp
            ifne 23
        22: .line 204
            aload 4 /* result */
            areturn
        23: .line 195
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 7 /* i */
            getstatic java.util.prefs.WindowsPreferences.MAX_ATTEMPTS:I
            if_icmplt 15
        end local 7 // int i
        end local 5 // long sleepTime
        25: .line 208
      StackMap locals:
      StackMap stack:
            aload 4 /* result */
            areturn
        end local 4 // long[] result
        end local 3 // int securityMask
        end local 2 // byte[] subKey
        end local 0 // long hKey
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   26     0          hKey  J
            0   26     2        subKey  [B
            0   26     3  securityMask  I
            1   26     4        result  [J
            9   11     5        handle  J
           13   25     5     sleepTime  J
           14   25     7             i  I
      Exception table:
        from    to  target  type
          15    16      17  Class java.lang.InterruptedException
    MethodParameters:
              Name  Flags
      hKey          
      subKey        
      securityMask  

  private static native int WindowsRegCloseKey(long);
    descriptor: (J)I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      hKey  

  private static native long[] WindowsRegCreateKeyEx(long, byte[]);
    descriptor: (J[B)[J
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
        Name  Flags
      hKey    
      subKey  

  private static long[] WindowsRegCreateKeyEx1(long, byte[]);
    descriptor: (J[B)[J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // long hKey
        start local 2 // byte[] subKey
         0: .line 225
            lload 0 /* hKey */
            aload 2 /* subKey */
            invokestatic java.util.prefs.WindowsPreferences.WindowsRegCreateKeyEx:(J[B)[J
            astore 3 /* result */
        start local 3 // long[] result
         1: .line 226
            aload 3 /* result */
            iconst_1
            laload
            lconst_0
            lcmp
            ifne 3
         2: .line 227
            aload 3 /* result */
            areturn
         3: .line 229
      StackMap locals: long[]
      StackMap stack:
            getstatic java.util.prefs.WindowsPreferences.INIT_SLEEP_TIME:I
            i2l
            lstore 4 /* sleepTime */
        start local 4 // long sleepTime
         4: .line 230
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 15
         6: .line 232
      StackMap locals: long int
      StackMap stack:
            lload 4 /* sleepTime */
            invokestatic java.lang.Thread.sleep:(J)V
         7: .line 233
            goto 10
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
         8: pop
         9: .line 234
            aload 3 /* result */
            areturn
        10: .line 236
      StackMap locals:
      StackMap stack:
            lload 4 /* sleepTime */
            ldc 2
            lmul
            lstore 4 /* sleepTime */
        11: .line 237
            lload 0 /* hKey */
            aload 2 /* subKey */
            invokestatic java.util.prefs.WindowsPreferences.WindowsRegCreateKeyEx:(J[B)[J
            astore 3 /* result */
        12: .line 238
            aload 3 /* result */
            iconst_1
            laload
            lconst_0
            lcmp
            ifne 14
        13: .line 239
            aload 3 /* result */
            areturn
        14: .line 230
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 6 /* i */
            getstatic java.util.prefs.WindowsPreferences.MAX_ATTEMPTS:I
            if_icmplt 6
        end local 6 // int i
        end local 4 // long sleepTime
        16: .line 243
            aload 3 /* result */
            areturn
        end local 3 // long[] result
        end local 2 // byte[] subKey
        end local 0 // long hKey
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       hKey  J
            0   17     2     subKey  [B
            1   17     3     result  [J
            4   16     4  sleepTime  J
            5   16     6          i  I
      Exception table:
        from    to  target  type
           6     7       8  Class java.lang.InterruptedException
    MethodParameters:
        Name  Flags
      hKey    
      subKey  

  private static native int WindowsRegDeleteKey(long, byte[]);
    descriptor: (J[B)I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
        Name  Flags
      hKey    
      subKey  

  private static native int WindowsRegFlushKey(long);
    descriptor: (J)I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      hKey  

  private static int WindowsRegFlushKey1(long);
    descriptor: (J)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // long hKey
         0: .line 259
            lload 0 /* hKey */
            invokestatic java.util.prefs.WindowsPreferences.WindowsRegFlushKey:(J)I
            istore 2 /* result */
        start local 2 // int result
         1: .line 260
            iload 2 /* result */
            ifne 3
         2: .line 261
            iload 2 /* result */
            ireturn
         3: .line 263
      StackMap locals: int
      StackMap stack:
            getstatic java.util.prefs.WindowsPreferences.INIT_SLEEP_TIME:I
            i2l
            lstore 3 /* sleepTime */
        start local 3 // long sleepTime
         4: .line 264
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 15
         6: .line 266
      StackMap locals: long int
      StackMap stack:
            lload 3 /* sleepTime */
            invokestatic java.lang.Thread.sleep:(J)V
         7: .line 267
            goto 10
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
         8: pop
         9: .line 268
            iload 2 /* result */
            ireturn
        10: .line 270
      StackMap locals:
      StackMap stack:
            lload 3 /* sleepTime */
            ldc 2
            lmul
            lstore 3 /* sleepTime */
        11: .line 271
            lload 0 /* hKey */
            invokestatic java.util.prefs.WindowsPreferences.WindowsRegFlushKey:(J)I
            istore 2 /* result */
        12: .line 272
            iload 2 /* result */
            ifne 14
        13: .line 273
            iload 2 /* result */
            ireturn
        14: .line 264
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 5 /* i */
            getstatic java.util.prefs.WindowsPreferences.MAX_ATTEMPTS:I
            if_icmplt 6
        end local 5 // int i
        end local 3 // long sleepTime
        16: .line 277
            iload 2 /* result */
            ireturn
        end local 2 // int result
        end local 0 // long hKey
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       hKey  J
            1   17     2     result  I
            4   16     3  sleepTime  J
            5   16     5          i  I
      Exception table:
        from    to  target  type
           6     7       8  Class java.lang.InterruptedException
    MethodParameters:
      Name  Flags
      hKey  

  private static native byte[] WindowsRegQueryValueEx(long, byte[]);
    descriptor: (J[B)[B
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
           Name  Flags
      hKey       
      valueName  

  private static native int WindowsRegSetValueEx(long, byte[], byte[]);
    descriptor: (J[B[B)I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
           Name  Flags
      hKey       
      valueName  
      value      

  private static int WindowsRegSetValueEx1(long, byte[], byte[]);
    descriptor: (J[B[B)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // long hKey
        start local 2 // byte[] valueName
        start local 3 // byte[] value
         0: .line 295
            lload 0 /* hKey */
            aload 2 /* valueName */
            aload 3 /* value */
            invokestatic java.util.prefs.WindowsPreferences.WindowsRegSetValueEx:(J[B[B)I
            istore 4 /* result */
        start local 4 // int result
         1: .line 296
            iload 4 /* result */
            ifne 3
         2: .line 297
            iload 4 /* result */
            ireturn
         3: .line 299
      StackMap locals: int
      StackMap stack:
            getstatic java.util.prefs.WindowsPreferences.INIT_SLEEP_TIME:I
            i2l
            lstore 5 /* sleepTime */
        start local 5 // long sleepTime
         4: .line 300
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         5: goto 15
         6: .line 302
      StackMap locals: long int
      StackMap stack:
            lload 5 /* sleepTime */
            invokestatic java.lang.Thread.sleep:(J)V
         7: .line 303
            goto 10
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
         8: pop
         9: .line 304
            iload 4 /* result */
            ireturn
        10: .line 306
      StackMap locals:
      StackMap stack:
            lload 5 /* sleepTime */
            ldc 2
            lmul
            lstore 5 /* sleepTime */
        11: .line 307
            lload 0 /* hKey */
            aload 2 /* valueName */
            aload 3 /* value */
            invokestatic java.util.prefs.WindowsPreferences.WindowsRegSetValueEx:(J[B[B)I
            istore 4 /* result */
        12: .line 308
            iload 4 /* result */
            ifne 14
        13: .line 309
            iload 4 /* result */
            ireturn
        14: .line 300
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 7 /* i */
            getstatic java.util.prefs.WindowsPreferences.MAX_ATTEMPTS:I
            if_icmplt 6
        end local 7 // int i
        end local 5 // long sleepTime
        16: .line 313
            iload 4 /* result */
            ireturn
        end local 4 // int result
        end local 3 // byte[] value
        end local 2 // byte[] valueName
        end local 0 // long hKey
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       hKey  J
            0   17     2  valueName  [B
            0   17     3      value  [B
            1   17     4     result  I
            4   16     5  sleepTime  J
            5   16     7          i  I
      Exception table:
        from    to  target  type
           6     7       8  Class java.lang.InterruptedException
    MethodParameters:
           Name  Flags
      hKey       
      valueName  
      value      

  private static native int WindowsRegDeleteValue(long, byte[]);
    descriptor: (J[B)I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
           Name  Flags
      hKey       
      valueName  

  private static native long[] WindowsRegQueryInfoKey(long);
    descriptor: (J)[J
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      hKey  

  private static long[] WindowsRegQueryInfoKey1(long);
    descriptor: (J)[J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // long hKey
         0: .line 330
            lload 0 /* hKey */
            invokestatic java.util.prefs.WindowsPreferences.WindowsRegQueryInfoKey:(J)[J
            astore 2 /* result */
        start local 2 // long[] result
         1: .line 331
            aload 2 /* result */
            iconst_1
            laload
            lconst_0
            lcmp
            ifne 3
         2: .line 332
            aload 2 /* result */
            areturn
         3: .line 334
      StackMap locals: long[]
      StackMap stack:
            getstatic java.util.prefs.WindowsPreferences.INIT_SLEEP_TIME:I
            i2l
            lstore 3 /* sleepTime */
        start local 3 // long sleepTime
         4: .line 335
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 15
         6: .line 337
      StackMap locals: long int
      StackMap stack:
            lload 3 /* sleepTime */
            invokestatic java.lang.Thread.sleep:(J)V
         7: .line 338
            goto 10
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
         8: pop
         9: .line 339
            aload 2 /* result */
            areturn
        10: .line 341
      StackMap locals:
      StackMap stack:
            lload 3 /* sleepTime */
            ldc 2
            lmul
            lstore 3 /* sleepTime */
        11: .line 342
            lload 0 /* hKey */
            invokestatic java.util.prefs.WindowsPreferences.WindowsRegQueryInfoKey:(J)[J
            astore 2 /* result */
        12: .line 343
            aload 2 /* result */
            iconst_1
            laload
            lconst_0
            lcmp
            ifne 14
        13: .line 344
            aload 2 /* result */
            areturn
        14: .line 335
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 5 /* i */
            getstatic java.util.prefs.WindowsPreferences.MAX_ATTEMPTS:I
            if_icmplt 6
        end local 5 // int i
        end local 3 // long sleepTime
        16: .line 348
            aload 2 /* result */
            areturn
        end local 2 // long[] result
        end local 0 // long hKey
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       hKey  J
            1   17     2     result  [J
            4   16     3  sleepTime  J
            5   16     5          i  I
      Exception table:
        from    to  target  type
           6     7       8  Class java.lang.InterruptedException
    MethodParameters:
      Name  Flags
      hKey  

  private static native byte[] WindowsRegEnumKeyEx(long, int, int);
    descriptor: (JII)[B
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
              Name  Flags
      hKey          
      subKeyIndex   
      maxKeyLength  

  private static byte[] WindowsRegEnumKeyEx1(long, int, int);
    descriptor: (JII)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // long hKey
        start local 2 // int subKeyIndex
        start local 3 // int maxKeyLength
         0: .line 362
            lload 0 /* hKey */
            iload 2 /* subKeyIndex */
            iload 3 /* maxKeyLength */
            invokestatic java.util.prefs.WindowsPreferences.WindowsRegEnumKeyEx:(JII)[B
            astore 4 /* result */
        start local 4 // byte[] result
         1: .line 363
            aload 4 /* result */
            ifnull 3
         2: .line 364
            aload 4 /* result */
            areturn
         3: .line 366
      StackMap locals: byte[]
      StackMap stack:
            getstatic java.util.prefs.WindowsPreferences.INIT_SLEEP_TIME:I
            i2l
            lstore 5 /* sleepTime */
        start local 5 // long sleepTime
         4: .line 367
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         5: goto 15
         6: .line 369
      StackMap locals: long int
      StackMap stack:
            lload 5 /* sleepTime */
            invokestatic java.lang.Thread.sleep:(J)V
         7: .line 370
            goto 10
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
         8: pop
         9: .line 371
            aload 4 /* result */
            areturn
        10: .line 373
      StackMap locals:
      StackMap stack:
            lload 5 /* sleepTime */
            ldc 2
            lmul
            lstore 5 /* sleepTime */
        11: .line 374
            lload 0 /* hKey */
            iload 2 /* subKeyIndex */
            iload 3 /* maxKeyLength */
            invokestatic java.util.prefs.WindowsPreferences.WindowsRegEnumKeyEx:(JII)[B
            astore 4 /* result */
        12: .line 375
            aload 4 /* result */
            ifnull 14
        13: .line 376
            aload 4 /* result */
            areturn
        14: .line 367
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 7 /* i */
            getstatic java.util.prefs.WindowsPreferences.MAX_ATTEMPTS:I
            if_icmplt 6
        end local 7 // int i
        end local 5 // long sleepTime
        16: .line 380
            aload 4 /* result */
            areturn
        end local 4 // byte[] result
        end local 3 // int maxKeyLength
        end local 2 // int subKeyIndex
        end local 0 // long hKey
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          hKey  J
            0   17     2   subKeyIndex  I
            0   17     3  maxKeyLength  I
            1   17     4        result  [B
            4   16     5     sleepTime  J
            5   16     7             i  I
      Exception table:
        from    to  target  type
           6     7       8  Class java.lang.InterruptedException
    MethodParameters:
              Name  Flags
      hKey          
      subKeyIndex   
      maxKeyLength  

  private static native byte[] WindowsRegEnumValue(long, int, int);
    descriptor: (JII)[B
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
                    Name  Flags
      hKey                
      valueIndex          
      maxValueNameLength  

  private static byte[] WindowsRegEnumValue1(long, int, int);
    descriptor: (JII)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // long hKey
        start local 2 // int valueIndex
        start local 3 // int maxValueNameLength
         0: .line 393
            lload 0 /* hKey */
            iload 2 /* valueIndex */
         1: .line 394
            iload 3 /* maxValueNameLength */
         2: .line 393
            invokestatic java.util.prefs.WindowsPreferences.WindowsRegEnumValue:(JII)[B
            astore 4 /* result */
        start local 4 // byte[] result
         3: .line 395
            aload 4 /* result */
            ifnull 5
         4: .line 396
            aload 4 /* result */
            areturn
         5: .line 398
      StackMap locals: byte[]
      StackMap stack:
            getstatic java.util.prefs.WindowsPreferences.INIT_SLEEP_TIME:I
            i2l
            lstore 5 /* sleepTime */
        start local 5 // long sleepTime
         6: .line 399
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         7: goto 19
         8: .line 401
      StackMap locals: long int
      StackMap stack:
            lload 5 /* sleepTime */
            invokestatic java.lang.Thread.sleep:(J)V
         9: .line 402
            goto 12
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        10: pop
        11: .line 403
            aload 4 /* result */
            areturn
        12: .line 405
      StackMap locals:
      StackMap stack:
            lload 5 /* sleepTime */
            ldc 2
            lmul
            lstore 5 /* sleepTime */
        13: .line 406
            lload 0 /* hKey */
            iload 2 /* valueIndex */
        14: .line 407
            iload 3 /* maxValueNameLength */
        15: .line 406
            invokestatic java.util.prefs.WindowsPreferences.WindowsRegEnumValue:(JII)[B
            astore 4 /* result */
        16: .line 408
            aload 4 /* result */
            ifnull 18
        17: .line 409
            aload 4 /* result */
            areturn
        18: .line 399
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 7 /* i */
            getstatic java.util.prefs.WindowsPreferences.MAX_ATTEMPTS:I
            if_icmplt 8
        end local 7 // int i
        end local 5 // long sleepTime
        20: .line 413
            aload 4 /* result */
            areturn
        end local 4 // byte[] result
        end local 3 // int maxValueNameLength
        end local 2 // int valueIndex
        end local 0 // long hKey
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   21     0                hKey  J
            0   21     2          valueIndex  I
            0   21     3  maxValueNameLength  I
            3   21     4              result  [B
            6   20     5           sleepTime  J
            7   20     7                   i  I
      Exception table:
        from    to  target  type
           8     9      10  Class java.lang.InterruptedException
    MethodParameters:
                    Name  Flags
      hKey                
      valueIndex          
      maxValueNameLength  

  private void <init>(java.util.prefs.WindowsPreferences, java.lang.String);
    descriptor: (Ljava/util/prefs/WindowsPreferences;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // java.util.prefs.WindowsPreferences this
        start local 1 // java.util.prefs.WindowsPreferences parent
        start local 2 // java.lang.String name
         0: .line 423
            aload 0 /* this */
            aload 1 /* parent */
            aload 2 /* name */
            invokespecial java.util.prefs.AbstractPreferences.<init>:(Ljava/util/prefs/AbstractPreferences;Ljava/lang/String;)V
         1: .line 170
            aload 0 /* this */
            iconst_1
            putfield java.util.prefs.WindowsPreferences.isBackingStoreAvailable:Z
         2: .line 424
            aload 1 /* parent */
            iconst_4
            ldc 131097
            invokevirtual java.util.prefs.WindowsPreferences.openKey:(II)J
            lstore 3 /* parentNativeHandle */
        start local 3 // long parentNativeHandle
         3: .line 425
            lload 3 /* parentNativeHandle */
            lconst_0
            lcmp
            ifne 6
         4: .line 427
            aload 0 /* this */
            iconst_0
            putfield java.util.prefs.WindowsPreferences.isBackingStoreAvailable:Z
         5: .line 428
            return
         6: .line 431
      StackMap locals: java.util.prefs.WindowsPreferences java.util.prefs.WindowsPreferences java.lang.String long
      StackMap stack:
            lload 3 /* parentNativeHandle */
            aload 2 /* name */
            invokestatic java.util.prefs.WindowsPreferences.toWindowsName:(Ljava/lang/String;)[B
            invokestatic java.util.prefs.WindowsPreferences.WindowsRegCreateKeyEx1:(J[B)[J
         7: .line 430
            astore 5 /* result */
        start local 5 // long[] result
         8: .line 432
            aload 5 /* result */
            iconst_1
            laload
            lconst_0
            lcmp
            ifeq 17
         9: .line 433
            invokestatic java.util.prefs.WindowsPreferences.logger:()Lsun/util/logging/PlatformLogger;
            new java.lang.StringBuilder
            dup
            ldc "Could not create windows registry node "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        10: .line 434
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.windowsAbsolutePath:()[B
            invokestatic java.util.prefs.WindowsPreferences.byteArrayToString:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 435
            ldc " at root 0x"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.rootNativeHandle:()J
            invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 436
            ldc ". Windows RegCreateKeyEx(...) returned error code "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 437
            aload 5 /* result */
            iconst_1
            laload
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 433
            invokevirtual sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
        15: .line 438
            aload 0 /* this */
            iconst_0
            putfield java.util.prefs.WindowsPreferences.isBackingStoreAvailable:Z
        16: .line 439
            return
        17: .line 441
      StackMap locals: long[]
      StackMap stack:
            aload 0 /* this */
            aload 5 /* result */
            iconst_2
            laload
            lconst_1
            lcmp
            ifne 18
            iconst_1
            goto 19
      StackMap locals:
      StackMap stack: java.util.prefs.WindowsPreferences
        18: iconst_0
      StackMap locals: java.util.prefs.WindowsPreferences java.util.prefs.WindowsPreferences java.lang.String long long[]
      StackMap stack: java.util.prefs.WindowsPreferences int
        19: putfield java.util.prefs.WindowsPreferences.newNode:Z
        20: .line 442
            aload 0 /* this */
            lload 3 /* parentNativeHandle */
            invokevirtual java.util.prefs.WindowsPreferences.closeKey:(J)V
        21: .line 443
            aload 0 /* this */
            aload 5 /* result */
            iconst_0
            laload
            invokevirtual java.util.prefs.WindowsPreferences.closeKey:(J)V
        22: .line 444
            return
        end local 5 // long[] result
        end local 3 // long parentNativeHandle
        end local 2 // java.lang.String name
        end local 1 // java.util.prefs.WindowsPreferences parent
        end local 0 // java.util.prefs.WindowsPreferences this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   23     0                this  Ljava/util/prefs/WindowsPreferences;
            0   23     1              parent  Ljava/util/prefs/WindowsPreferences;
            0   23     2                name  Ljava/lang/String;
            3   23     3  parentNativeHandle  J
            8   23     5              result  [J
    MethodParameters:
        Name  Flags
      parent  
      name    

  private void <init>(long, byte[]);
    descriptor: (J[B)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // java.util.prefs.WindowsPreferences this
        start local 1 // long rootNativeHandle
        start local 3 // byte[] rootDirectory
         0: .line 455
            aload 0 /* this */
            aconst_null
            ldc ""
            invokespecial java.util.prefs.AbstractPreferences.<init>:(Ljava/util/prefs/AbstractPreferences;Ljava/lang/String;)V
         1: .line 170
            aload 0 /* this */
            iconst_1
            putfield java.util.prefs.WindowsPreferences.isBackingStoreAvailable:Z
         2: .line 457
            lload 1 /* rootNativeHandle */
            aload 3 /* rootDirectory */
            invokestatic java.util.prefs.WindowsPreferences.WindowsRegCreateKeyEx1:(J[B)[J
         3: .line 456
            astore 4 /* result */
        start local 4 // long[] result
         4: .line 458
            aload 4 /* result */
            iconst_1
            laload
            lconst_0
            lcmp
            ifeq 13
         5: .line 459
            invokestatic java.util.prefs.WindowsPreferences.logger:()Lsun/util/logging/PlatformLogger;
            new java.lang.StringBuilder
            dup
            ldc "Could not open/create prefs root node "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 460
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.windowsAbsolutePath:()[B
            invokestatic java.util.prefs.WindowsPreferences.byteArrayToString:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 461
            ldc " at root 0x"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.rootNativeHandle:()J
            invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 462
            ldc ". Windows RegCreateKeyEx(...) returned error code "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 463
            aload 4 /* result */
            iconst_1
            laload
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 459
            invokevirtual sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
        11: .line 464
            aload 0 /* this */
            iconst_0
            putfield java.util.prefs.WindowsPreferences.isBackingStoreAvailable:Z
        12: .line 465
            return
        13: .line 468
      StackMap locals: java.util.prefs.WindowsPreferences long byte[] long[]
      StackMap stack:
            aload 0 /* this */
            aload 4 /* result */
            iconst_2
            laload
            lconst_1
            lcmp
            ifne 14
            iconst_1
            goto 15
      StackMap locals:
      StackMap stack: java.util.prefs.WindowsPreferences
        14: iconst_0
      StackMap locals: java.util.prefs.WindowsPreferences long byte[] long[]
      StackMap stack: java.util.prefs.WindowsPreferences int
        15: putfield java.util.prefs.WindowsPreferences.newNode:Z
        16: .line 469
            aload 0 /* this */
            aload 4 /* result */
            iconst_0
            laload
            invokevirtual java.util.prefs.WindowsPreferences.closeKey:(J)V
        17: .line 470
            return
        end local 4 // long[] result
        end local 3 // byte[] rootDirectory
        end local 1 // long rootNativeHandle
        end local 0 // java.util.prefs.WindowsPreferences this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   18     0              this  Ljava/util/prefs/WindowsPreferences;
            0   18     1  rootNativeHandle  J
            0   18     3     rootDirectory  [B
            4   18     4            result  [J
    MethodParameters:
                  Name  Flags
      rootNativeHandle  
      rootDirectory     

  private byte[] windowsAbsolutePath();
    descriptor: ()[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // java.util.prefs.WindowsPreferences this
         0: .line 478
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 1 /* bstream */
        start local 1 // java.io.ByteArrayOutputStream bstream
         1: .line 479
            aload 1 /* bstream */
            getstatic java.util.prefs.WindowsPreferences.WINDOWS_ROOT_PATH:[B
            iconst_0
            getstatic java.util.prefs.WindowsPreferences.WINDOWS_ROOT_PATH:[B
            arraylength
            iconst_1
            isub
            invokevirtual java.io.ByteArrayOutputStream.write:([BII)V
         2: .line 480
            new java.util.StringTokenizer
            dup
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.absolutePath:()Ljava/lang/String;
            ldc "/"
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 2 /* tokenizer */
        start local 2 // java.util.StringTokenizer tokenizer
         3: .line 481
            goto 8
         4: .line 482
      StackMap locals: java.io.ByteArrayOutputStream java.util.StringTokenizer
      StackMap stack:
            aload 1 /* bstream */
            bipush 92
            invokevirtual java.io.ByteArrayOutputStream.write:(I)V
         5: .line 483
            aload 2 /* tokenizer */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            astore 3 /* nextName */
        start local 3 // java.lang.String nextName
         6: .line 484
            aload 3 /* nextName */
            invokestatic java.util.prefs.WindowsPreferences.toWindowsName:(Ljava/lang/String;)[B
            astore 4 /* windowsNextName */
        start local 4 // byte[] windowsNextName
         7: .line 485
            aload 1 /* bstream */
            aload 4 /* windowsNextName */
            iconst_0
            aload 4 /* windowsNextName */
            arraylength
            iconst_1
            isub
            invokevirtual java.io.ByteArrayOutputStream.write:([BII)V
        end local 4 // byte[] windowsNextName
        end local 3 // java.lang.String nextName
         8: .line 481
      StackMap locals:
      StackMap stack:
            aload 2 /* tokenizer */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 4
         9: .line 487
            aload 1 /* bstream */
            iconst_0
            invokevirtual java.io.ByteArrayOutputStream.write:(I)V
        10: .line 488
            aload 1 /* bstream */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            areturn
        end local 2 // java.util.StringTokenizer tokenizer
        end local 1 // java.io.ByteArrayOutputStream bstream
        end local 0 // java.util.prefs.WindowsPreferences this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0             this  Ljava/util/prefs/WindowsPreferences;
            1   11     1          bstream  Ljava/io/ByteArrayOutputStream;
            3   11     2        tokenizer  Ljava/util/StringTokenizer;
            6    8     3         nextName  Ljava/lang/String;
            7    8     4  windowsNextName  [B

  private long openKey(int);
    descriptor: (I)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.prefs.WindowsPreferences this
        start local 1 // int securityMask
         0: .line 501
            aload 0 /* this */
            iload 1 /* securityMask */
            iload 1 /* securityMask */
            invokevirtual java.util.prefs.WindowsPreferences.openKey:(II)J
            lreturn
        end local 1 // int securityMask
        end local 0 // java.util.prefs.WindowsPreferences this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Ljava/util/prefs/WindowsPreferences;
            0    1     1  securityMask  I
    MethodParameters:
              Name  Flags
      securityMask  

  private long openKey(int, int);
    descriptor: (II)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.util.prefs.WindowsPreferences this
        start local 1 // int mask1
        start local 2 // int mask2
         0: .line 515
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.windowsAbsolutePath:()[B
            iload 1 /* mask1 */
            iload 2 /* mask2 */
            invokevirtual java.util.prefs.WindowsPreferences.openKey:([BII)J
            lreturn
        end local 2 // int mask2
        end local 1 // int mask1
        end local 0 // java.util.prefs.WindowsPreferences this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljava/util/prefs/WindowsPreferences;
            0    1     1  mask1  I
            0    1     2  mask2  I
    MethodParameters:
       Name  Flags
      mask1  
      mask2  

  private long openKey(byte[], int, int);
    descriptor: ([BII)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // java.util.prefs.WindowsPreferences this
        start local 1 // byte[] windowsAbsolutePath
        start local 2 // int mask1
        start local 3 // int mask2
         0: .line 533
            aload 1 /* windowsAbsolutePath */
            arraylength
            sipush 257
            if_icmpgt 27
         1: .line 534
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.rootNativeHandle:()J
         2: .line 535
            aload 1 /* windowsAbsolutePath */
            iload 2 /* mask1 */
         3: .line 534
            invokestatic java.util.prefs.WindowsPreferences.WindowsRegOpenKey1:(J[BI)[J
            astore 4 /* result */
        start local 4 // long[] result
         4: .line 536
            aload 4 /* result */
            iconst_1
            laload
            ldc 5
            lcmp
            ifne 8
            iload 3 /* mask2 */
            iload 2 /* mask1 */
            if_icmpeq 8
         5: .line 537
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.rootNativeHandle:()J
         6: .line 538
            aload 1 /* windowsAbsolutePath */
            iload 3 /* mask2 */
         7: .line 537
            invokestatic java.util.prefs.WindowsPreferences.WindowsRegOpenKey1:(J[BI)[J
            astore 4 /* result */
         8: .line 540
      StackMap locals: long[]
      StackMap stack:
            aload 4 /* result */
            iconst_1
            laload
            lconst_0
            lcmp
            ifeq 26
         9: .line 541
            invokestatic java.util.prefs.WindowsPreferences.logger:()Lsun/util/logging/PlatformLogger;
            new java.lang.StringBuilder
            dup
            ldc "Could not open windows registry node "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        10: .line 542
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.windowsAbsolutePath:()[B
            invokestatic java.util.prefs.WindowsPreferences.byteArrayToString:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 543
            ldc " at root 0x"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 544
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.rootNativeHandle:()J
            invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 545
            ldc ". Windows RegOpenKey(...) returned error code "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 546
            aload 4 /* result */
            iconst_1
            laload
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        15: .line 541
            invokevirtual sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
        16: .line 547
            aload 4 /* result */
            iconst_0
            lconst_0
            lastore
        17: .line 548
            aload 4 /* result */
            iconst_1
            laload
            ldc 5
            lcmp
            ifne 26
        18: .line 549
            new java.lang.SecurityException
            dup
        19: .line 550
            new java.lang.StringBuilder
            dup
            ldc "Could not open windows registry node "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        20: .line 551
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.windowsAbsolutePath:()[B
            invokestatic java.util.prefs.WindowsPreferences.byteArrayToString:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        21: .line 552
            ldc " at root 0x"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        22: .line 553
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.rootNativeHandle:()J
            invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        23: .line 554
            ldc ": Access denied"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        24: .line 550
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        25: .line 549
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        26: .line 557
      StackMap locals:
      StackMap stack:
            aload 4 /* result */
            iconst_0
            laload
            lreturn
        end local 4 // long[] result
        27: .line 559
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.rootNativeHandle:()J
            aload 1 /* windowsAbsolutePath */
            iload 2 /* mask1 */
            iload 3 /* mask2 */
            invokevirtual java.util.prefs.WindowsPreferences.openKey:(J[BII)J
            lreturn
        end local 3 // int mask2
        end local 2 // int mask1
        end local 1 // byte[] windowsAbsolutePath
        end local 0 // java.util.prefs.WindowsPreferences this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   28     0                 this  Ljava/util/prefs/WindowsPreferences;
            0   28     1  windowsAbsolutePath  [B
            0   28     2                mask1  I
            0   28     3                mask2  I
            4   27     4               result  [J
    MethodParameters:
                     Name  Flags
      windowsAbsolutePath  
      mask1                
      mask2                

  private long openKey(long, byte[], int, int);
    descriptor: (J[BII)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=13, args_size=5
        start local 0 // java.util.prefs.WindowsPreferences this
        start local 1 // long nativeHandle
        start local 3 // byte[] windowsRelativePath
        start local 4 // int mask1
        start local 5 // int mask2
         0: .line 579
            aload 3 /* windowsRelativePath */
            arraylength
            sipush 257
            if_icmpgt 17
         1: .line 580
            lload 1 /* nativeHandle */
         2: .line 581
            aload 3 /* windowsRelativePath */
            iload 4 /* mask1 */
         3: .line 580
            invokestatic java.util.prefs.WindowsPreferences.WindowsRegOpenKey1:(J[BI)[J
            astore 6 /* result */
        start local 6 // long[] result
         4: .line 582
            aload 6 /* result */
            iconst_1
            laload
            ldc 5
            lcmp
            ifne 8
            iload 5 /* mask2 */
            iload 4 /* mask1 */
            if_icmpeq 8
         5: .line 583
            lload 1 /* nativeHandle */
         6: .line 584
            aload 3 /* windowsRelativePath */
            iload 5 /* mask2 */
         7: .line 583
            invokestatic java.util.prefs.WindowsPreferences.WindowsRegOpenKey1:(J[BI)[J
            astore 6 /* result */
         8: .line 586
      StackMap locals: long[]
      StackMap stack:
            aload 6 /* result */
            iconst_1
            laload
            lconst_0
            lcmp
            ifeq 16
         9: .line 587
            invokestatic java.util.prefs.WindowsPreferences.logger:()Lsun/util/logging/PlatformLogger;
            new java.lang.StringBuilder
            dup
            ldc "Could not open windows registry node "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        10: .line 588
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.windowsAbsolutePath:()[B
            invokestatic java.util.prefs.WindowsPreferences.byteArrayToString:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 589
            ldc " at root 0x"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 1 /* nativeHandle */
            invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 590
            ldc ". Windows RegOpenKey(...) returned error code "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 591
            aload 6 /* result */
            iconst_1
            laload
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 587
            invokevirtual sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
        15: .line 592
            aload 6 /* result */
            iconst_0
            lconst_0
            lastore
        16: .line 594
      StackMap locals:
      StackMap stack:
            aload 6 /* result */
            iconst_0
            laload
            lreturn
        end local 6 // long[] result
        17: .line 596
      StackMap locals:
      StackMap stack:
            iconst_m1
            istore 6 /* separatorPosition */
        start local 6 // int separatorPosition
        18: .line 598
            sipush 256
            istore 7 /* i */
        start local 7 // int i
        19: goto 24
        20: .line 599
      StackMap locals: int int
      StackMap stack:
            aload 3 /* windowsRelativePath */
            iload 7 /* i */
            baload
            bipush 92
            if_icmpne 23
        21: .line 600
            iload 7 /* i */
            istore 6 /* separatorPosition */
        22: .line 601
            goto 25
        23: .line 598
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ -1
      StackMap locals:
      StackMap stack:
        24: iload 7 /* i */
            ifgt 20
        end local 7 // int i
        25: .line 605
      StackMap locals:
      StackMap stack:
            iload 6 /* separatorPosition */
            iconst_1
            iadd
            newarray 8
            astore 7 /* nextRelativeRoot */
        start local 7 // byte[] nextRelativeRoot
        26: .line 606
            aload 3 /* windowsRelativePath */
            iconst_0
            aload 7 /* nextRelativeRoot */
            iconst_0
        27: .line 607
            iload 6 /* separatorPosition */
        28: .line 606
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        29: .line 608
            aload 7 /* nextRelativeRoot */
            iload 6 /* separatorPosition */
            iconst_0
            bastore
        30: .line 609
            aload 3 /* windowsRelativePath */
            arraylength
        31: .line 610
            iload 6 /* separatorPosition */
        32: .line 609
            isub
        33: .line 610
            iconst_1
        34: .line 609
            isub
            newarray 8
            astore 8 /* nextRelativePath */
        start local 8 // byte[] nextRelativePath
        35: .line 611
            aload 3 /* windowsRelativePath */
            iload 6 /* separatorPosition */
            iconst_1
            iadd
        36: .line 612
            aload 8 /* nextRelativePath */
            iconst_0
            aload 8 /* nextRelativePath */
            arraylength
        37: .line 611
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        38: .line 613
            aload 0 /* this */
            lload 1 /* nativeHandle */
            aload 7 /* nextRelativeRoot */
        39: .line 614
            iload 4 /* mask1 */
            iload 5 /* mask2 */
        40: .line 613
            invokevirtual java.util.prefs.WindowsPreferences.openKey:(J[BII)J
            lstore 9 /* nextNativeHandle */
        start local 9 // long nextNativeHandle
        41: .line 615
            lload 9 /* nextNativeHandle */
            lconst_0
            lcmp
            ifne 43
        42: .line 616
            lconst_0
            lreturn
        43: .line 618
      StackMap locals: byte[] byte[] long
      StackMap stack:
            aload 0 /* this */
            lload 9 /* nextNativeHandle */
            aload 8 /* nextRelativePath */
        44: .line 619
            iload 4 /* mask1 */
            iload 5 /* mask2 */
        45: .line 618
            invokevirtual java.util.prefs.WindowsPreferences.openKey:(J[BII)J
            lstore 11 /* result */
        start local 11 // long result
        46: .line 620
            aload 0 /* this */
            lload 9 /* nextNativeHandle */
            invokevirtual java.util.prefs.WindowsPreferences.closeKey:(J)V
        47: .line 621
            lload 11 /* result */
            lreturn
        end local 11 // long result
        end local 9 // long nextNativeHandle
        end local 8 // byte[] nextRelativePath
        end local 7 // byte[] nextRelativeRoot
        end local 6 // int separatorPosition
        end local 5 // int mask2
        end local 4 // int mask1
        end local 3 // byte[] windowsRelativePath
        end local 1 // long nativeHandle
        end local 0 // java.util.prefs.WindowsPreferences this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   48     0                 this  Ljava/util/prefs/WindowsPreferences;
            0   48     1         nativeHandle  J
            0   48     3  windowsRelativePath  [B
            0   48     4                mask1  I
            0   48     5                mask2  I
            4   17     6               result  [J
           18   48     6    separatorPosition  I
           19   25     7                    i  I
           26   48     7     nextRelativeRoot  [B
           35   48     8     nextRelativePath  [B
           41   48     9     nextNativeHandle  J
           46   48    11               result  J
    MethodParameters:
                     Name  Flags
      nativeHandle         
      windowsRelativePath  
      mask1                
      mask2                

  private void closeKey(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.util.prefs.WindowsPreferences this
        start local 1 // long nativeHandle
         0: .line 634
            lload 1 /* nativeHandle */
            invokestatic java.util.prefs.WindowsPreferences.WindowsRegCloseKey:(J)I
            istore 3 /* result */
        start local 3 // int result
         1: .line 635
            iload 3 /* result */
            ifeq 9
         2: .line 636
            invokestatic java.util.prefs.WindowsPreferences.logger:()Lsun/util/logging/PlatformLogger;
            new java.lang.StringBuilder
            dup
            ldc "Could not close windows registry node "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         3: .line 637
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.windowsAbsolutePath:()[B
            invokestatic java.util.prefs.WindowsPreferences.byteArrayToString:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 638
            ldc " at root 0x"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 639
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.rootNativeHandle:()J
            invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 640
            ldc ". Windows RegCloseKey(...) returned error code "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 641
            iload 3 /* result */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 636
            invokevirtual sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
         9: .line 643
      StackMap locals: int
      StackMap stack:
            return
        end local 3 // int result
        end local 1 // long nativeHandle
        end local 0 // java.util.prefs.WindowsPreferences this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Ljava/util/prefs/WindowsPreferences;
            0   10     1  nativeHandle  J
            1   10     3        result  I
    MethodParameters:
              Name  Flags
      nativeHandle  

  protected void putSpi(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // java.util.prefs.WindowsPreferences this
        start local 1 // java.lang.String javaName
        start local 2 // java.lang.String value
         0: .line 652
            aload 0 /* this */
            iconst_2
            invokevirtual java.util.prefs.WindowsPreferences.openKey:(I)J
            lstore 3 /* nativeHandle */
        start local 3 // long nativeHandle
         1: .line 653
            lload 3 /* nativeHandle */
            lconst_0
            lcmp
            ifne 4
         2: .line 654
            aload 0 /* this */
            iconst_0
            putfield java.util.prefs.WindowsPreferences.isBackingStoreAvailable:Z
         3: .line 655
            return
         4: .line 657
      StackMap locals: long
      StackMap stack:
            lload 3 /* nativeHandle */
         5: .line 658
            aload 1 /* javaName */
            invokestatic java.util.prefs.WindowsPreferences.toWindowsName:(Ljava/lang/String;)[B
            aload 2 /* value */
            invokestatic java.util.prefs.WindowsPreferences.toWindowsValueString:(Ljava/lang/String;)[B
         6: .line 657
            invokestatic java.util.prefs.WindowsPreferences.WindowsRegSetValueEx1:(J[B[B)I
            istore 5 /* result */
        start local 5 // int result
         7: .line 659
            iload 5 /* result */
            ifeq 18
         8: .line 660
            invokestatic java.util.prefs.WindowsPreferences.logger:()Lsun/util/logging/PlatformLogger;
            new java.lang.StringBuilder
            dup
            ldc "Could not assign value to key "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         9: .line 661
            aload 1 /* javaName */
            invokestatic java.util.prefs.WindowsPreferences.toWindowsName:(Ljava/lang/String;)[B
            invokestatic java.util.prefs.WindowsPreferences.byteArrayToString:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 662
            ldc " at Windows registry node "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 663
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.windowsAbsolutePath:()[B
            invokestatic java.util.prefs.WindowsPreferences.byteArrayToString:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 664
            ldc " at root 0x"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 665
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.rootNativeHandle:()J
            invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 666
            ldc ". Windows RegSetValueEx(...) returned error code "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        15: .line 667
            iload 5 /* result */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        16: .line 660
            invokevirtual sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
        17: .line 668
            aload 0 /* this */
            iconst_0
            putfield java.util.prefs.WindowsPreferences.isBackingStoreAvailable:Z
        18: .line 670
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            lload 3 /* nativeHandle */
            invokevirtual java.util.prefs.WindowsPreferences.closeKey:(J)V
        19: .line 671
            return
        end local 5 // int result
        end local 3 // long nativeHandle
        end local 2 // java.lang.String value
        end local 1 // java.lang.String javaName
        end local 0 // java.util.prefs.WindowsPreferences this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   20     0          this  Ljava/util/prefs/WindowsPreferences;
            0   20     1      javaName  Ljava/lang/String;
            0   20     2         value  Ljava/lang/String;
            1   20     3  nativeHandle  J
            7   20     5        result  I
    MethodParameters:
          Name  Flags
      javaName  
      value     

  protected java.lang.String getSpi(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // java.util.prefs.WindowsPreferences this
        start local 1 // java.lang.String javaName
         0: .line 680
            aload 0 /* this */
            iconst_1
            invokevirtual java.util.prefs.WindowsPreferences.openKey:(I)J
            lstore 2 /* nativeHandle */
        start local 2 // long nativeHandle
         1: .line 681
            lload 2 /* nativeHandle */
            lconst_0
            lcmp
            ifne 3
         2: .line 682
            aconst_null
            areturn
         3: .line 684
      StackMap locals: long
      StackMap stack:
            lload 2 /* nativeHandle */
         4: .line 685
            aload 1 /* javaName */
            invokestatic java.util.prefs.WindowsPreferences.toWindowsName:(Ljava/lang/String;)[B
         5: .line 684
            invokestatic java.util.prefs.WindowsPreferences.WindowsRegQueryValueEx:(J[B)[B
            astore 4 /* resultObject */
        start local 4 // java.lang.Object resultObject
         6: .line 686
            aload 4 /* resultObject */
            ifnonnull 9
         7: .line 687
            aload 0 /* this */
            lload 2 /* nativeHandle */
            invokevirtual java.util.prefs.WindowsPreferences.closeKey:(J)V
         8: .line 688
            aconst_null
            areturn
         9: .line 690
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            lload 2 /* nativeHandle */
            invokevirtual java.util.prefs.WindowsPreferences.closeKey:(J)V
        10: .line 691
            aload 4 /* resultObject */
            checkcast byte[]
            invokestatic java.util.prefs.WindowsPreferences.toJavaValueString:([B)Ljava/lang/String;
            areturn
        end local 4 // java.lang.Object resultObject
        end local 2 // long nativeHandle
        end local 1 // java.lang.String javaName
        end local 0 // java.util.prefs.WindowsPreferences this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Ljava/util/prefs/WindowsPreferences;
            0   11     1      javaName  Ljava/lang/String;
            1   11     2  nativeHandle  J
            6   11     4  resultObject  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      javaName  

  protected void removeSpi(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // java.util.prefs.WindowsPreferences this
        start local 1 // java.lang.String key
         0: .line 702
            aload 0 /* this */
            iconst_2
            invokevirtual java.util.prefs.WindowsPreferences.openKey:(I)J
            lstore 2 /* nativeHandle */
        start local 2 // long nativeHandle
         1: .line 703
            lload 2 /* nativeHandle */
            lconst_0
            lcmp
            ifne 3
         2: .line 704
            return
         3: .line 707
      StackMap locals: long
      StackMap stack:
            lload 2 /* nativeHandle */
            aload 1 /* key */
            invokestatic java.util.prefs.WindowsPreferences.toWindowsName:(Ljava/lang/String;)[B
            invokestatic java.util.prefs.WindowsPreferences.WindowsRegDeleteValue:(J[B)I
         4: .line 706
            istore 4 /* result */
        start local 4 // int result
         5: .line 708
            iload 4 /* result */
            ifeq 14
            iload 4 /* result */
            iconst_2
            if_icmpeq 14
         6: .line 709
            invokestatic java.util.prefs.WindowsPreferences.logger:()Lsun/util/logging/PlatformLogger;
            new java.lang.StringBuilder
            dup
            ldc "Could not delete windows registry value "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         7: .line 710
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.windowsAbsolutePath:()[B
            invokestatic java.util.prefs.WindowsPreferences.byteArrayToString:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\\"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 711
            aload 1 /* key */
            invokestatic java.util.prefs.WindowsPreferences.toWindowsName:(Ljava/lang/String;)[B
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " at root 0x"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 712
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.rootNativeHandle:()J
            invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 713
            ldc ". Windows RegDeleteValue(...) returned error code "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 714
            iload 4 /* result */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 709
            invokevirtual sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
        13: .line 715
            aload 0 /* this */
            iconst_0
            putfield java.util.prefs.WindowsPreferences.isBackingStoreAvailable:Z
        14: .line 717
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            lload 2 /* nativeHandle */
            invokevirtual java.util.prefs.WindowsPreferences.closeKey:(J)V
        15: .line 718
            return
        end local 4 // int result
        end local 2 // long nativeHandle
        end local 1 // java.lang.String key
        end local 0 // java.util.prefs.WindowsPreferences this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   16     0          this  Ljava/util/prefs/WindowsPreferences;
            0   16     1           key  Ljava/lang/String;
            1   16     2  nativeHandle  J
            5   16     4        result  I
    MethodParameters:
      Name  Flags
      key   

  protected java.lang.String[] keysSpi();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=10, args_size=1
        start local 0 // java.util.prefs.WindowsPreferences this
         0: .line 728
            aload 0 /* this */
            iconst_1
            invokevirtual java.util.prefs.WindowsPreferences.openKey:(I)J
            lstore 1 /* nativeHandle */
        start local 1 // long nativeHandle
         1: .line 729
            lload 1 /* nativeHandle */
            lconst_0
            lcmp
            ifne 9
         2: .line 730
            new java.util.prefs.BackingStoreException
            dup
         3: .line 731
            new java.lang.StringBuilder
            dup
            ldc "Could not open windows registry node "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 732
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.windowsAbsolutePath:()[B
            invokestatic java.util.prefs.WindowsPreferences.byteArrayToString:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 733
            ldc " at root 0x"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 734
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.rootNativeHandle:()J
            invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 731
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 730
            invokespecial java.util.prefs.BackingStoreException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 736
      StackMap locals: long
      StackMap stack:
            lload 1 /* nativeHandle */
            invokestatic java.util.prefs.WindowsPreferences.WindowsRegQueryInfoKey1:(J)[J
            astore 3 /* result */
        start local 3 // long[] result
        10: .line 737
            aload 3 /* result */
            iconst_1
            laload
            lconst_0
            lcmp
            ifeq 20
        11: .line 738
            new java.lang.StringBuilder
            dup
            ldc "Could not query windows registry node "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        12: .line 739
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.windowsAbsolutePath:()[B
            invokestatic java.util.prefs.WindowsPreferences.byteArrayToString:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 740
            ldc " at root 0x"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 741
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.rootNativeHandle:()J
            invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        15: .line 742
            ldc ". Windows RegQueryInfoKeyEx(...) returned error code "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        16: .line 743
            aload 3 /* result */
            iconst_1
            laload
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 738
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* info */
        start local 4 // java.lang.String info
        18: .line 744
            invokestatic java.util.prefs.WindowsPreferences.logger:()Lsun/util/logging/PlatformLogger;
            aload 4 /* info */
            invokevirtual sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
        19: .line 745
            new java.util.prefs.BackingStoreException
            dup
            aload 4 /* info */
            invokespecial java.util.prefs.BackingStoreException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.String info
        20: .line 747
      StackMap locals: long[]
      StackMap stack:
            aload 3 /* result */
            iconst_4
            laload
            l2i
            istore 4 /* maxValueNameLength */
        start local 4 // int maxValueNameLength
        21: .line 748
            aload 3 /* result */
            iconst_2
            laload
            l2i
            istore 5 /* valuesNumber */
        start local 5 // int valuesNumber
        22: .line 749
            iload 5 /* valuesNumber */
            ifne 25
        23: .line 750
            aload 0 /* this */
            lload 1 /* nativeHandle */
            invokevirtual java.util.prefs.WindowsPreferences.closeKey:(J)V
        24: .line 751
            iconst_0
            anewarray java.lang.String
            areturn
        25: .line 754
      StackMap locals: int int
      StackMap stack:
            iload 5 /* valuesNumber */
            anewarray java.lang.String
            astore 6 /* valueNames */
        start local 6 // java.lang.String[] valueNames
        26: .line 755
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        27: goto 41
        28: .line 756
      StackMap locals: java.lang.String[] int
      StackMap stack:
            lload 1 /* nativeHandle */
            iload 7 /* i */
        29: .line 757
            iload 4 /* maxValueNameLength */
            iconst_1
            iadd
        30: .line 756
            invokestatic java.util.prefs.WindowsPreferences.WindowsRegEnumValue1:(JII)[B
            astore 8 /* windowsName */
        start local 8 // byte[] windowsName
        31: .line 758
            aload 8 /* windowsName */
            ifnonnull 39
        32: .line 760
            new java.lang.StringBuilder
            dup
            ldc "Could not enumerate value #"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 7 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "  of windows node "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        33: .line 761
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.windowsAbsolutePath:()[B
            invokestatic java.util.prefs.WindowsPreferences.byteArrayToString:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " at root 0x"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        34: .line 762
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.rootNativeHandle:()J
            invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        35: .line 760
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        36: .line 759
            astore 9 /* info */
        start local 9 // java.lang.String info
        37: .line 763
            invokestatic java.util.prefs.WindowsPreferences.logger:()Lsun/util/logging/PlatformLogger;
            aload 9 /* info */
            invokevirtual sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
        38: .line 764
            new java.util.prefs.BackingStoreException
            dup
            aload 9 /* info */
            invokespecial java.util.prefs.BackingStoreException.<init>:(Ljava/lang/String;)V
            athrow
        end local 9 // java.lang.String info
        39: .line 766
      StackMap locals: byte[]
      StackMap stack:
            aload 6 /* valueNames */
            iload 7 /* i */
            aload 8 /* windowsName */
            invokestatic java.util.prefs.WindowsPreferences.toJavaName:([B)Ljava/lang/String;
            aastore
        end local 8 // byte[] windowsName
        40: .line 755
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        41: iload 7 /* i */
            iload 5 /* valuesNumber */
            if_icmplt 28
        end local 7 // int i
        42: .line 768
            aload 0 /* this */
            lload 1 /* nativeHandle */
            invokevirtual java.util.prefs.WindowsPreferences.closeKey:(J)V
        43: .line 769
            aload 6 /* valueNames */
            areturn
        end local 6 // java.lang.String[] valueNames
        end local 5 // int valuesNumber
        end local 4 // int maxValueNameLength
        end local 3 // long[] result
        end local 1 // long nativeHandle
        end local 0 // java.util.prefs.WindowsPreferences this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   44     0                this  Ljava/util/prefs/WindowsPreferences;
            1   44     1        nativeHandle  J
           10   44     3              result  [J
           18   20     4                info  Ljava/lang/String;
           21   44     4  maxValueNameLength  I
           22   44     5        valuesNumber  I
           26   44     6          valueNames  [Ljava/lang/String;
           27   42     7                   i  I
           31   40     8         windowsName  [B
           37   39     9                info  Ljava/lang/String;
    Exceptions:
      throws java.util.prefs.BackingStoreException

  protected java.lang.String[] childrenNamesSpi();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=10, args_size=1
        start local 0 // java.util.prefs.WindowsPreferences this
         0: .line 780
            aload 0 /* this */
            bipush 9
            invokevirtual java.util.prefs.WindowsPreferences.openKey:(I)J
            lstore 1 /* nativeHandle */
        start local 1 // long nativeHandle
         1: .line 781
            lload 1 /* nativeHandle */
            lconst_0
            lcmp
            ifne 9
         2: .line 782
            new java.util.prefs.BackingStoreException
            dup
         3: .line 783
            new java.lang.StringBuilder
            dup
            ldc "Could not open windows registry node "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 784
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.windowsAbsolutePath:()[B
            invokestatic java.util.prefs.WindowsPreferences.byteArrayToString:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 785
            ldc " at root 0x"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 786
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.rootNativeHandle:()J
            invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 783
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 782
            invokespecial java.util.prefs.BackingStoreException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 789
      StackMap locals: long
      StackMap stack:
            lload 1 /* nativeHandle */
            invokestatic java.util.prefs.WindowsPreferences.WindowsRegQueryInfoKey1:(J)[J
            astore 3 /* result */
        start local 3 // long[] result
        10: .line 790
            aload 3 /* result */
            iconst_1
            laload
            lconst_0
            lcmp
            ifeq 19
        11: .line 791
            new java.lang.StringBuilder
            dup
            ldc "Could not query windows registry node "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        12: .line 792
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.windowsAbsolutePath:()[B
            invokestatic java.util.prefs.WindowsPreferences.byteArrayToString:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 793
            ldc " at root 0x"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.rootNativeHandle:()J
            invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 794
            ldc ". Windows RegQueryInfoKeyEx(...) returned error code "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        15: .line 795
            aload 3 /* result */
            iconst_1
            laload
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        16: .line 791
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* info */
        start local 4 // java.lang.String info
        17: .line 796
            invokestatic java.util.prefs.WindowsPreferences.logger:()Lsun/util/logging/PlatformLogger;
            aload 4 /* info */
            invokevirtual sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
        18: .line 797
            new java.util.prefs.BackingStoreException
            dup
            aload 4 /* info */
            invokespecial java.util.prefs.BackingStoreException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.String info
        19: .line 799
      StackMap locals: long[]
      StackMap stack:
            aload 3 /* result */
            iconst_3
            laload
            l2i
            istore 4 /* maxKeyLength */
        start local 4 // int maxKeyLength
        20: .line 800
            aload 3 /* result */
            iconst_0
            laload
            l2i
            istore 5 /* subKeysNumber */
        start local 5 // int subKeysNumber
        21: .line 801
            iload 5 /* subKeysNumber */
            ifne 24
        22: .line 802
            aload 0 /* this */
            lload 1 /* nativeHandle */
            invokevirtual java.util.prefs.WindowsPreferences.closeKey:(J)V
        23: .line 803
            iconst_0
            anewarray java.lang.String
            areturn
        24: .line 805
      StackMap locals: int int
      StackMap stack:
            iload 5 /* subKeysNumber */
            anewarray java.lang.String
            pop
        25: .line 806
            iload 5 /* subKeysNumber */
            anewarray java.lang.String
            astore 6 /* children */
        start local 6 // java.lang.String[] children
        26: .line 808
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        27: goto 42
        28: .line 809
      StackMap locals: java.lang.String[] int
      StackMap stack:
            lload 1 /* nativeHandle */
            iload 7 /* i */
        29: .line 810
            iload 4 /* maxKeyLength */
            iconst_1
            iadd
        30: .line 809
            invokestatic java.util.prefs.WindowsPreferences.WindowsRegEnumKeyEx1:(JII)[B
            astore 8 /* windowsName */
        start local 8 // byte[] windowsName
        31: .line 811
            aload 8 /* windowsName */
            ifnonnull 39
        32: .line 813
            new java.lang.StringBuilder
            dup
            ldc "Could not enumerate key #"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 7 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "  of windows node "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        33: .line 814
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.windowsAbsolutePath:()[B
            invokestatic java.util.prefs.WindowsPreferences.byteArrayToString:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " at root 0x"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        34: .line 815
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.rootNativeHandle:()J
            invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ". "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        35: .line 813
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        36: .line 812
            astore 9 /* info */
        start local 9 // java.lang.String info
        37: .line 816
            invokestatic java.util.prefs.WindowsPreferences.logger:()Lsun/util/logging/PlatformLogger;
            aload 9 /* info */
            invokevirtual sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
        38: .line 817
            new java.util.prefs.BackingStoreException
            dup
            aload 9 /* info */
            invokespecial java.util.prefs.BackingStoreException.<init>:(Ljava/lang/String;)V
            athrow
        end local 9 // java.lang.String info
        39: .line 819
      StackMap locals: byte[]
      StackMap stack:
            aload 8 /* windowsName */
            invokestatic java.util.prefs.WindowsPreferences.toJavaName:([B)Ljava/lang/String;
            astore 9 /* javaName */
        start local 9 // java.lang.String javaName
        40: .line 820
            aload 6 /* children */
            iload 7 /* i */
            aload 9 /* javaName */
            aastore
        end local 9 // java.lang.String javaName
        end local 8 // byte[] windowsName
        41: .line 808
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        42: iload 7 /* i */
            iload 5 /* subKeysNumber */
            if_icmplt 28
        end local 7 // int i
        43: .line 822
            aload 0 /* this */
            lload 1 /* nativeHandle */
            invokevirtual java.util.prefs.WindowsPreferences.closeKey:(J)V
        44: .line 823
            aload 6 /* children */
            areturn
        end local 6 // java.lang.String[] children
        end local 5 // int subKeysNumber
        end local 4 // int maxKeyLength
        end local 3 // long[] result
        end local 1 // long nativeHandle
        end local 0 // java.util.prefs.WindowsPreferences this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   45     0           this  Ljava/util/prefs/WindowsPreferences;
            1   45     1   nativeHandle  J
           10   45     3         result  [J
           17   19     4           info  Ljava/lang/String;
           20   45     4   maxKeyLength  I
           21   45     5  subKeysNumber  I
           26   45     6       children  [Ljava/lang/String;
           27   43     7              i  I
           31   41     8    windowsName  [B
           37   39     9           info  Ljava/lang/String;
           40   41     9       javaName  Ljava/lang/String;
    Exceptions:
      throws java.util.prefs.BackingStoreException

  public void flush();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // java.util.prefs.WindowsPreferences this
         0: .line 834
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.isRemoved:()Z
            ifeq 3
         1: .line 835
            aload 0 /* this */
            getfield java.util.prefs.WindowsPreferences.parent:Ljava/util/prefs/AbstractPreferences;
            invokevirtual java.util.prefs.AbstractPreferences.flush:()V
         2: .line 836
            return
         3: .line 838
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.prefs.WindowsPreferences.isBackingStoreAvailable:Z
            ifne 7
         4: .line 839
            new java.util.prefs.BackingStoreException
            dup
         5: .line 840
            ldc "flush(): Backing store not available."
         6: .line 839
            invokespecial java.util.prefs.BackingStoreException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 842
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc 131097
            invokevirtual java.util.prefs.WindowsPreferences.openKey:(I)J
            lstore 1 /* nativeHandle */
        start local 1 // long nativeHandle
         8: .line 843
            lload 1 /* nativeHandle */
            lconst_0
            lcmp
            ifne 16
         9: .line 844
            new java.util.prefs.BackingStoreException
            dup
        10: .line 845
            new java.lang.StringBuilder
            dup
            ldc "Could not open windows registry node "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        11: .line 846
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.windowsAbsolutePath:()[B
            invokestatic java.util.prefs.WindowsPreferences.byteArrayToString:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 847
            ldc " at root 0x"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 848
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.rootNativeHandle:()J
            invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 845
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        15: .line 844
            invokespecial java.util.prefs.BackingStoreException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 850
      StackMap locals: long
      StackMap stack:
            lload 1 /* nativeHandle */
            invokestatic java.util.prefs.WindowsPreferences.WindowsRegFlushKey1:(J)I
            istore 3 /* result */
        start local 3 // int result
        17: .line 851
            iload 3 /* result */
            ifeq 27
        18: .line 852
            new java.lang.StringBuilder
            dup
            ldc "Could not flush windows registry node "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        19: .line 853
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.windowsAbsolutePath:()[B
            invokestatic java.util.prefs.WindowsPreferences.byteArrayToString:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        20: .line 854
            ldc " at root 0x"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        21: .line 855
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.rootNativeHandle:()J
            invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        22: .line 856
            ldc ". Windows RegFlushKey(...) returned error code "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        23: .line 857
            iload 3 /* result */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        24: .line 852
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* info */
        start local 4 // java.lang.String info
        25: .line 858
            invokestatic java.util.prefs.WindowsPreferences.logger:()Lsun/util/logging/PlatformLogger;
            aload 4 /* info */
            invokevirtual sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
        26: .line 859
            new java.util.prefs.BackingStoreException
            dup
            aload 4 /* info */
            invokespecial java.util.prefs.BackingStoreException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.String info
        27: .line 861
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            lload 1 /* nativeHandle */
            invokevirtual java.util.prefs.WindowsPreferences.closeKey:(J)V
        28: .line 862
            return
        end local 3 // int result
        end local 1 // long nativeHandle
        end local 0 // java.util.prefs.WindowsPreferences this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   29     0          this  Ljava/util/prefs/WindowsPreferences;
            8   29     1  nativeHandle  J
           17   29     3        result  I
           25   27     4          info  Ljava/lang/String;
    Exceptions:
      throws java.util.prefs.BackingStoreException

  public void sync();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.prefs.WindowsPreferences this
         0: .line 871
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.isRemoved:()Z
            ifeq 2
         1: .line 872
            new java.lang.IllegalStateException
            dup
            ldc "Node has been removed"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 873
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.flush:()V
         3: .line 874
            return
        end local 0 // java.util.prefs.WindowsPreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/util/prefs/WindowsPreferences;
    Exceptions:
      throws java.util.prefs.BackingStoreException

  protected java.util.prefs.AbstractPreferences childSpi(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/prefs/AbstractPreferences;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.prefs.WindowsPreferences this
        start local 1 // java.lang.String name
         0: .line 884
            new java.util.prefs.WindowsPreferences
            dup
            aload 0 /* this */
            aload 1 /* name */
            invokespecial java.util.prefs.WindowsPreferences.<init>:(Ljava/util/prefs/WindowsPreferences;Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String name
        end local 0 // java.util.prefs.WindowsPreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/prefs/WindowsPreferences;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public void removeNodeSpi();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // java.util.prefs.WindowsPreferences this
         0: .line 895
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.parent:()Ljava/util/prefs/Preferences;
            checkcast java.util.prefs.WindowsPreferences
            ldc 65536
            invokevirtual java.util.prefs.WindowsPreferences.openKey:(I)J
         1: .line 894
            lstore 1 /* parentNativeHandle */
        start local 1 // long parentNativeHandle
         2: .line 896
            lload 1 /* parentNativeHandle */
            lconst_0
            lcmp
            ifne 10
         3: .line 897
            new java.util.prefs.BackingStoreException
            dup
         4: .line 898
            new java.lang.StringBuilder
            dup
            ldc "Could not open parent windows registry node of "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         5: .line 899
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.windowsAbsolutePath:()[B
            invokestatic java.util.prefs.WindowsPreferences.byteArrayToString:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 900
            ldc " at root 0x"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 901
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.rootNativeHandle:()J
            invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 898
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 897
            invokespecial java.util.prefs.BackingStoreException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 904
      StackMap locals: long
      StackMap stack:
            lload 1 /* parentNativeHandle */
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.name:()Ljava/lang/String;
            invokestatic java.util.prefs.WindowsPreferences.toWindowsName:(Ljava/lang/String;)[B
            invokestatic java.util.prefs.WindowsPreferences.WindowsRegDeleteKey:(J[B)I
        11: .line 903
            istore 3 /* result */
        start local 3 // int result
        12: .line 905
            iload 3 /* result */
            ifeq 21
        13: .line 906
            new java.lang.StringBuilder
            dup
            ldc "Could not delete windows registry node "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        14: .line 907
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.windowsAbsolutePath:()[B
            invokestatic java.util.prefs.WindowsPreferences.byteArrayToString:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        15: .line 908
            ldc " at root 0x"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.rootNativeHandle:()J
            invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        16: .line 909
            ldc ". Windows RegDeleteKeyEx(...) returned error code "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 910
            iload 3 /* result */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        18: .line 906
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* info */
        start local 4 // java.lang.String info
        19: .line 911
            invokestatic java.util.prefs.WindowsPreferences.logger:()Lsun/util/logging/PlatformLogger;
            aload 4 /* info */
            invokevirtual sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
        20: .line 912
            new java.util.prefs.BackingStoreException
            dup
            aload 4 /* info */
            invokespecial java.util.prefs.BackingStoreException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.String info
        21: .line 914
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            lload 1 /* parentNativeHandle */
            invokevirtual java.util.prefs.WindowsPreferences.closeKey:(J)V
        22: .line 915
            return
        end local 3 // int result
        end local 1 // long parentNativeHandle
        end local 0 // java.util.prefs.WindowsPreferences this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   23     0                this  Ljava/util/prefs/WindowsPreferences;
            2   23     1  parentNativeHandle  J
           12   23     3              result  I
           19   21     4                info  Ljava/lang/String;
    Exceptions:
      throws java.util.prefs.BackingStoreException

  private static java.lang.String toJavaName(byte[]);
    descriptor: ([B)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // byte[] windowsNameArray
         0: .line 925
            aload 0 /* windowsNameArray */
            invokestatic java.util.prefs.WindowsPreferences.byteArrayToString:([B)Ljava/lang/String;
            astore 1 /* windowsName */
        start local 1 // java.lang.String windowsName
         1: .line 927
            aload 1 /* windowsName */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmple 4
         2: .line 928
            aload 1 /* windowsName */
            iconst_0
            iconst_2
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            ldc "/!"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 929
            aload 1 /* windowsName */
            invokestatic java.util.prefs.WindowsPreferences.toJavaAlt64Name:(Ljava/lang/String;)Ljava/lang/String;
            areturn
         4: .line 931
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* javaName */
        start local 2 // java.lang.StringBuilder javaName
         5: .line 934
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: goto 25
         7: .line 935
      StackMap locals: byte[] java.lang.String java.lang.StringBuilder top int
      StackMap stack:
            aload 1 /* windowsName */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            dup
            istore 3 /* ch */
        start local 3 // char ch
         8: bipush 47
            if_icmpne 21
         9: .line 936
            bipush 32
            istore 5 /* next */
        start local 5 // char next
        10: .line 937
            aload 1 /* windowsName */
            invokevirtual java.lang.String.length:()I
            iload 4 /* i */
            iconst_1
            iadd
            if_icmple 16
        11: .line 938
            aload 1 /* windowsName */
            iload 4 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            dup
            istore 5 /* next */
            bipush 65
            if_icmplt 16
        12: .line 939
            iload 5 /* next */
            bipush 90
            if_icmpgt 16
        13: .line 940
            iload 5 /* next */
            istore 3 /* ch */
        14: .line 941
            iinc 4 /* i */ 1
        15: .line 942
            goto 23
      StackMap locals: byte[] java.lang.String java.lang.StringBuilder int int int
      StackMap stack:
        16: aload 1 /* windowsName */
            invokevirtual java.lang.String.length:()I
            iload 4 /* i */
            iconst_1
            iadd
            if_icmple 23
        17: .line 943
            iload 5 /* next */
            bipush 47
            if_icmpne 23
        18: .line 944
            bipush 92
            istore 3 /* ch */
        19: .line 945
            iinc 4 /* i */ 1
        end local 5 // char next
        20: .line 947
            goto 23
      StackMap locals:
      StackMap stack:
        21: iload 3 /* ch */
            bipush 92
            if_icmpne 23
        22: .line 948
            bipush 47
            istore 3 /* ch */
        23: .line 950
      StackMap locals:
      StackMap stack:
            aload 2 /* javaName */
            iload 3 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        24: .line 934
            iinc 4 /* i */ 1
        end local 3 // char ch
      StackMap locals: byte[] java.lang.String java.lang.StringBuilder top int
      StackMap stack:
        25: iload 4 /* i */
            aload 1 /* windowsName */
            invokevirtual java.lang.String.length:()I
            if_icmplt 7
        end local 4 // int i
        26: .line 952
            aload 2 /* javaName */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder javaName
        end local 1 // java.lang.String windowsName
        end local 0 // byte[] windowsNameArray
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   27     0  windowsNameArray  [B
            1   27     1       windowsName  Ljava/lang/String;
            5   27     2          javaName  Ljava/lang/StringBuilder;
            8   25     3                ch  C
            6   26     4                 i  I
           10   20     5              next  C
    MethodParameters:
                  Name  Flags
      windowsNameArray  

  private static java.lang.String toJavaAlt64Name(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // java.lang.String windowsName
         0: .line 964
            aload 0 /* windowsName */
            iconst_2
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic java.util.prefs.Base64.altBase64ToByteArray:(Ljava/lang/String;)[B
         1: .line 963
            astore 1 /* byteBuffer */
        start local 1 // byte[] byteBuffer
         2: .line 965
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* result */
        start local 2 // java.lang.StringBuilder result
         3: .line 966
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 9
         5: .line 967
      StackMap locals: byte[] java.lang.StringBuilder int
      StackMap stack:
            aload 1 /* byteBuffer */
            iload 3 /* i */
            iinc 3 /* i */ 1
            baload
            sipush 255
            iand
            istore 4 /* firstbyte */
        start local 4 // int firstbyte
         6: .line 968
            aload 1 /* byteBuffer */
            iload 3 /* i */
            baload
            sipush 255
            iand
            istore 5 /* secondbyte */
        start local 5 // int secondbyte
         7: .line 969
            aload 2 /* result */
            iload 4 /* firstbyte */
            bipush 8
            ishl
            iload 5 /* secondbyte */
            iadd
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 5 // int secondbyte
        end local 4 // int firstbyte
         8: .line 966
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            aload 1 /* byteBuffer */
            arraylength
            if_icmplt 5
        end local 3 // int i
        10: .line 971
            aload 2 /* result */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder result
        end local 1 // byte[] byteBuffer
        end local 0 // java.lang.String windowsName
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0  windowsName  Ljava/lang/String;
            2   11     1   byteBuffer  [B
            3   11     2       result  Ljava/lang/StringBuilder;
            4   10     3            i  I
            6    8     4    firstbyte  I
            7    8     5   secondbyte  I
    MethodParameters:
             Name  Flags
      windowsName  

  private static byte[] toWindowsName(java.lang.String);
    descriptor: (Ljava/lang/String;)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // java.lang.String javaName
         0: .line 995
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* windowsName */
        start local 1 // java.lang.StringBuilder windowsName
         1: .line 996
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 17
         3: .line 997
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 0 /* javaName */
            iload 2 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* ch */
        start local 3 // char ch
         4: .line 998
            iload 3 /* ch */
            bipush 32
            if_icmplt 5
            iload 3 /* ch */
            bipush 127
            if_icmple 6
         5: .line 1000
      StackMap locals: int
      StackMap stack:
            aload 0 /* javaName */
            invokestatic java.util.prefs.WindowsPreferences.toWindowsAlt64Name:(Ljava/lang/String;)[B
            areturn
         6: .line 1002
      StackMap locals:
      StackMap stack:
            iload 3 /* ch */
            bipush 92
            if_icmpne 9
         7: .line 1003
            aload 1 /* windowsName */
            ldc "//"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 1004
            goto 16
      StackMap locals:
      StackMap stack:
         9: iload 3 /* ch */
            bipush 47
            if_icmpne 12
        10: .line 1005
            aload 1 /* windowsName */
            bipush 92
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        11: .line 1006
            goto 16
      StackMap locals:
      StackMap stack:
        12: iload 3 /* ch */
            bipush 65
            if_icmplt 15
            iload 3 /* ch */
            bipush 90
            if_icmpgt 15
        13: .line 1007
            aload 1 /* windowsName */
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            iload 3 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        14: .line 1008
            goto 16
        15: .line 1009
      StackMap locals:
      StackMap stack:
            aload 1 /* windowsName */
            iload 3 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 3 // char ch
        16: .line 996
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 2 /* i */
            aload 0 /* javaName */
            invokevirtual java.lang.String.length:()I
            if_icmplt 3
        end local 2 // int i
        18: .line 1012
            aload 1 /* windowsName */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic java.util.prefs.WindowsPreferences.stringToByteArray:(Ljava/lang/String;)[B
            areturn
        end local 1 // java.lang.StringBuilder windowsName
        end local 0 // java.lang.String javaName
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   19     0     javaName  Ljava/lang/String;
            1   19     1  windowsName  Ljava/lang/StringBuilder;
            2   18     2            i  I
            4   16     3           ch  C
    MethodParameters:
          Name  Flags
      javaName  

  private static byte[] toWindowsAlt64Name(java.lang.String);
    descriptor: (Ljava/lang/String;)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // java.lang.String javaName
         0: .line 1022
            iconst_2
            aload 0 /* javaName */
            invokevirtual java.lang.String.length:()I
            imul
            newarray 8
            astore 1 /* javaNameArray */
        start local 1 // byte[] javaNameArray
         1: .line 1024
            iconst_0
            istore 2 /* counter */
        start local 2 // int counter
         2: .line 1025
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 8
         4: .line 1026
      StackMap locals: byte[] int int
      StackMap stack:
            aload 0 /* javaName */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* ch */
        start local 4 // int ch
         5: .line 1027
            aload 1 /* javaNameArray */
            iload 2 /* counter */
            iinc 2 /* counter */ 1
            iload 4 /* ch */
            bipush 8
            iushr
            i2b
            bastore
         6: .line 1028
            aload 1 /* javaNameArray */
            iload 2 /* counter */
            iinc 2 /* counter */ 1
            iload 4 /* ch */
            i2b
            bastore
        end local 4 // int ch
         7: .line 1025
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 0 /* javaName */
            invokevirtual java.lang.String.length:()I
            if_icmplt 4
        end local 3 // int i
         9: .line 1031
            new java.lang.StringBuilder
            dup
            ldc "/!"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        10: .line 1032
            aload 1 /* javaNameArray */
            invokestatic java.util.prefs.Base64.byteArrayToAltBase64:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 1031
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic java.util.prefs.WindowsPreferences.stringToByteArray:(Ljava/lang/String;)[B
            areturn
        end local 2 // int counter
        end local 1 // byte[] javaNameArray
        end local 0 // java.lang.String javaName
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   12     0       javaName  Ljava/lang/String;
            1   12     1  javaNameArray  [B
            2   12     2        counter  I
            3    9     3              i  I
            5    7     4             ch  I
    MethodParameters:
          Name  Flags
      javaName  

  private static java.lang.String toJavaValueString(byte[]);
    descriptor: ([B)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // byte[] windowsNameArray
         0: .line 1042
            aload 0 /* windowsNameArray */
            invokestatic java.util.prefs.WindowsPreferences.byteArrayToString:([B)Ljava/lang/String;
            astore 1 /* windowsName */
        start local 1 // java.lang.String windowsName
         1: .line 1043
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* javaName */
        start local 2 // java.lang.StringBuilder javaName
         2: .line 1045
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 30
         4: .line 1046
      StackMap locals: byte[] java.lang.String java.lang.StringBuilder top int
      StackMap stack:
            aload 1 /* windowsName */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            dup
            istore 3 /* ch */
        start local 3 // char ch
         5: bipush 47
            if_icmpne 26
         6: .line 1047
            bipush 32
            istore 5 /* next */
        start local 5 // char next
         7: .line 1049
            aload 1 /* windowsName */
            invokevirtual java.lang.String.length:()I
            iload 4 /* i */
            iconst_1
            iadd
            if_icmple 15
         8: .line 1050
            aload 1 /* windowsName */
            iload 4 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            dup
            istore 5 /* next */
            bipush 117
            if_icmpne 15
         9: .line 1051
            aload 1 /* windowsName */
            invokevirtual java.lang.String.length:()I
            iload 4 /* i */
            bipush 6
            iadd
            if_icmpge 11
        10: .line 1052
            goto 31
        11: .line 1055
      StackMap locals: byte[] java.lang.String java.lang.StringBuilder int int int
      StackMap stack:
            aload 1 /* windowsName */
            iload 4 /* i */
            iconst_2
            iadd
            iload 4 /* i */
            bipush 6
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            bipush 16
        12: .line 1054
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;I)I
            i2c
            istore 3 /* ch */
        13: .line 1056
            iinc 4 /* i */ 5
        14: .line 1058
            goto 28
        15: .line 1059
      StackMap locals:
      StackMap stack:
            aload 1 /* windowsName */
            invokevirtual java.lang.String.length:()I
            iload 4 /* i */
            iconst_1
            iadd
            if_icmple 21
        16: .line 1060
            aload 1 /* windowsName */
            iload 4 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            bipush 65
            if_icmplt 21
        17: .line 1061
            iload 5 /* next */
            bipush 90
            if_icmpgt 21
        18: .line 1062
            iload 5 /* next */
            istore 3 /* ch */
        19: .line 1063
            iinc 4 /* i */ 1
        20: .line 1064
            goto 28
      StackMap locals:
      StackMap stack:
        21: aload 1 /* windowsName */
            invokevirtual java.lang.String.length:()I
            iload 4 /* i */
            iconst_1
            iadd
            if_icmple 28
        22: .line 1065
            iload 5 /* next */
            bipush 47
            if_icmpne 28
        23: .line 1066
            bipush 92
            istore 3 /* ch */
        24: .line 1067
            iinc 4 /* i */ 1
        end local 5 // char next
        25: .line 1069
            goto 28
      StackMap locals:
      StackMap stack:
        26: iload 3 /* ch */
            bipush 92
            if_icmpne 28
        27: .line 1070
            bipush 47
            istore 3 /* ch */
        28: .line 1072
      StackMap locals:
      StackMap stack:
            aload 2 /* javaName */
            iload 3 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        29: .line 1045
            iinc 4 /* i */ 1
        end local 3 // char ch
      StackMap locals: byte[] java.lang.String java.lang.StringBuilder top int
      StackMap stack:
        30: iload 4 /* i */
            aload 1 /* windowsName */
            invokevirtual java.lang.String.length:()I
            if_icmplt 4
        end local 4 // int i
        31: .line 1074
      StackMap locals: byte[] java.lang.String java.lang.StringBuilder
      StackMap stack:
            aload 2 /* javaName */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder javaName
        end local 1 // java.lang.String windowsName
        end local 0 // byte[] windowsNameArray
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   32     0  windowsNameArray  [B
            1   32     1       windowsName  Ljava/lang/String;
            2   32     2          javaName  Ljava/lang/StringBuilder;
            5   30     3                ch  C
            3   31     4                 i  I
            7   25     5              next  C
    MethodParameters:
                  Name  Flags
      windowsNameArray  

  private static byte[] toWindowsValueString(java.lang.String);
    descriptor: (Ljava/lang/String;)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=1
        start local 0 // java.lang.String javaName
         0: .line 1086
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* windowsName */
        start local 1 // java.lang.StringBuilder windowsName
         1: .line 1087
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 32
         3: .line 1088
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 0 /* javaName */
            iload 2 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* ch */
        start local 3 // char ch
         4: .line 1089
            iload 3 /* ch */
            bipush 32
            if_icmplt 5
            iload 3 /* ch */
            bipush 127
            if_icmple 21
         5: .line 1091
      StackMap locals: int
      StackMap stack:
            aload 1 /* windowsName */
            ldc "/u"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 1092
            aload 0 /* javaName */
            iload 2 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            i2l
            invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
            astore 4 /* hex */
        start local 4 // java.lang.String hex
         7: .line 1093
            new java.lang.StringBuilder
            dup
            aload 4 /* hex */
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 5 /* hex4 */
        start local 5 // java.lang.StringBuilder hex4
         8: .line 1094
            aload 5 /* hex4 */
            invokevirtual java.lang.StringBuilder.reverse:()Ljava/lang/StringBuilder;
            pop
         9: .line 1095
            iconst_4
            aload 5 /* hex4 */
            invokevirtual java.lang.StringBuilder.length:()I
            isub
            istore 6 /* len */
        start local 6 // int len
        10: .line 1096
            iconst_0
            istore 7 /* j */
        start local 7 // int j
        11: goto 14
        12: .line 1097
      StackMap locals: java.lang.String java.lang.StringBuilder int int java.lang.String java.lang.StringBuilder int int
      StackMap stack:
            aload 5 /* hex4 */
            bipush 48
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        13: .line 1096
            iinc 7 /* j */ 1
      StackMap locals:
      StackMap stack:
        14: iload 7 /* j */
            iload 6 /* len */
            if_icmplt 12
        end local 7 // int j
        15: .line 1099
            iconst_0
            istore 7 /* j */
        start local 7 // int j
        16: goto 19
        17: .line 1100
      StackMap locals:
      StackMap stack:
            aload 1 /* windowsName */
            aload 5 /* hex4 */
            iconst_3
            iload 7 /* j */
            isub
            invokevirtual java.lang.StringBuilder.charAt:(I)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        18: .line 1099
            iinc 7 /* j */ 1
      StackMap locals:
      StackMap stack:
        19: iload 7 /* j */
            iconst_4
            if_icmplt 17
        end local 7 // int j
        end local 6 // int len
        end local 5 // java.lang.StringBuilder hex4
        end local 4 // java.lang.String hex
        20: .line 1102
            goto 31
      StackMap locals: java.lang.String java.lang.StringBuilder int int
      StackMap stack:
        21: iload 3 /* ch */
            bipush 92
            if_icmpne 24
        22: .line 1103
            aload 1 /* windowsName */
            ldc "//"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        23: .line 1104
            goto 31
      StackMap locals:
      StackMap stack:
        24: iload 3 /* ch */
            bipush 47
            if_icmpne 27
        25: .line 1105
            aload 1 /* windowsName */
            bipush 92
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        26: .line 1106
            goto 31
      StackMap locals:
      StackMap stack:
        27: iload 3 /* ch */
            bipush 65
            if_icmplt 30
            iload 3 /* ch */
            bipush 90
            if_icmpgt 30
        28: .line 1107
            aload 1 /* windowsName */
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            iload 3 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        29: .line 1108
            goto 31
        30: .line 1109
      StackMap locals:
      StackMap stack:
            aload 1 /* windowsName */
            iload 3 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 3 // char ch
        31: .line 1087
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        32: iload 2 /* i */
            aload 0 /* javaName */
            invokevirtual java.lang.String.length:()I
            if_icmplt 3
        end local 2 // int i
        33: .line 1112
            aload 1 /* windowsName */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic java.util.prefs.WindowsPreferences.stringToByteArray:(Ljava/lang/String;)[B
            areturn
        end local 1 // java.lang.StringBuilder windowsName
        end local 0 // java.lang.String javaName
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   34     0     javaName  Ljava/lang/String;
            1   34     1  windowsName  Ljava/lang/StringBuilder;
            2   33     2            i  I
            4   31     3           ch  C
            7   20     4          hex  Ljava/lang/String;
            8   20     5         hex4  Ljava/lang/StringBuilder;
           10   20     6          len  I
           11   15     7            j  I
           16   20     7            j  I
    MethodParameters:
          Name  Flags
      javaName  

  private long rootNativeHandle();
    descriptor: ()J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.prefs.WindowsPreferences this
         0: .line 1119
            aload 0 /* this */
            invokevirtual java.util.prefs.WindowsPreferences.isUserNode:()Z
            ifeq 2
         1: .line 1120
            ldc -2147483647
            goto 3
         2: .line 1121
      StackMap locals:
      StackMap stack:
            ldc -2147483646
         3: .line 1119
      StackMap locals:
      StackMap stack: int
            i2l
            lreturn
        end local 0 // java.util.prefs.WindowsPreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/util/prefs/WindowsPreferences;

  private static byte[] stringToByteArray(java.lang.String);
    descriptor: (Ljava/lang/String;)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.lang.String str
         0: .line 1128
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            iconst_1
            iadd
            newarray 8
            astore 1 /* result */
        start local 1 // byte[] result
         1: .line 1129
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 1130
      StackMap locals: byte[] int
      StackMap stack:
            aload 1 /* result */
            iload 2 /* i */
            aload 0 /* str */
            iload 2 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            i2b
            bastore
         4: .line 1129
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            if_icmplt 3
        end local 2 // int i
         6: .line 1132
            aload 1 /* result */
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            iconst_0
            bastore
         7: .line 1133
            aload 1 /* result */
            areturn
        end local 1 // byte[] result
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0     str  Ljava/lang/String;
            1    8     1  result  [B
            2    6     2       i  I
    MethodParameters:
      Name  Flags
      str   

  private static java.lang.String byteArrayToString(byte[]);
    descriptor: ([B)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // byte[] array
         0: .line 1140
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* result */
        start local 1 // java.lang.StringBuilder result
         1: .line 1141
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 1142
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 1 /* result */
            aload 0 /* array */
            iload 2 /* i */
            baload
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         4: .line 1141
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* array */
            arraylength
            iconst_1
            isub
            if_icmplt 3
        end local 2 // int i
         6: .line 1144
            aload 1 /* result */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder result
        end local 0 // byte[] array
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0   array  [B
            1    7     1  result  Ljava/lang/StringBuilder;
            2    6     2       i  I
    MethodParameters:
       Name  Flags
      array  

  protected void flushSpi();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // java.util.prefs.WindowsPreferences this
         0: .line 1152
            return
        end local 0 // java.util.prefs.WindowsPreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/prefs/WindowsPreferences;
    Exceptions:
      throws java.util.prefs.BackingStoreException

  protected void syncSpi();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // java.util.prefs.WindowsPreferences this
         0: .line 1159
            return
        end local 0 // java.util.prefs.WindowsPreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/prefs/WindowsPreferences;
    Exceptions:
      throws java.util.prefs.BackingStoreException

  private static synchronized sun.util.logging.PlatformLogger logger();
    descriptor: ()Lsun/util/logging/PlatformLogger;
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=0, args_size=0
         0: .line 1162
            getstatic java.util.prefs.WindowsPreferences.logger:Lsun/util/logging/PlatformLogger;
            ifnonnull 2
         1: .line 1163
            ldc "java.util.prefs"
            invokestatic sun.util.logging.PlatformLogger.getLogger:(Ljava/lang/String;)Lsun/util/logging/PlatformLogger;
            putstatic java.util.prefs.WindowsPreferences.logger:Lsun/util/logging/PlatformLogger;
         2: .line 1165
      StackMap locals:
      StackMap stack:
            getstatic java.util.prefs.WindowsPreferences.logger:Lsun/util/logging/PlatformLogger;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Void lambda$0();
    descriptor: ()Ljava/lang/Void;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 51
            ldc "prefs"
            invokestatic java.lang.System.loadLibrary:(Ljava/lang/String;)V
         1: .line 52
            aconst_null
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "WindowsPreferences.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles