public class sun.io.CharToByteCp949C extends sun.io.CharToByteConverter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.io.CharToByteCp949C
  super_class: sun.io.CharToByteConverter
{
  private static final char SBase;
    descriptor: C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 44032

  private static final char LBase;
    descriptor: C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4352

  private static final char VBase;
    descriptor: C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4449

  private static final char TBase;
    descriptor: C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4519

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

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

  private static final byte G0;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final byte G1;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final byte G2;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final byte G3;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  private byte charState;
    descriptor: B
    flags: (0x0002) ACC_PRIVATE

  private char l;
    descriptor: C
    flags: (0x0002) ACC_PRIVATE

  private char v;
    descriptor: C
    flags: (0x0002) ACC_PRIVATE

  private char t;
    descriptor: C
    flags: (0x0002) ACC_PRIVATE

  private byte[] outputByte;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private char highHalfZoneCode;
    descriptor: C
    flags: (0x0002) ACC_PRIVATE

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

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

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

  private short[] index1;
    descriptor: [S
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String index2;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String index2a;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private static final sun.nio.cs.ext.IBM949C nioCoder;
    descriptor: Lsun/nio/cs/ext/IBM949C;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 64
            new sun.nio.cs.ext.IBM949C
            dup
            invokespecial sun.nio.cs.ext.IBM949C.<init>:()V
            putstatic sun.io.CharToByteCp949C.nioCoder:Lsun/nio/cs/ext/IBM949C;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.io.CharToByteCp949C this
         0: .line 67
            aload 0 /* this */
            invokespecial sun.io.CharToByteConverter.<init>:()V
         1: .line 51
            aload 0 /* this */
            iconst_0
            putfield sun.io.CharToByteCp949C.charState:B
         2: .line 68
            aload 0 /* this */
            getstatic sun.io.CharToByteCp949C.nioCoder:Lsun/nio/cs/ext/IBM949C;
            invokevirtual sun.nio.cs.ext.IBM949C.getEncoderIndex1:()[S
            putfield sun.io.CharToByteCp949C.index1:[S
         3: .line 69
            aload 0 /* this */
            getstatic sun.io.CharToByteCp949C.nioCoder:Lsun/nio/cs/ext/IBM949C;
            invokevirtual sun.nio.cs.ext.IBM949C.getEncoderIndex2:()Ljava/lang/String;
            putfield sun.io.CharToByteCp949C.index2:Ljava/lang/String;
         4: .line 70
            aload 0 /* this */
            getstatic sun.io.CharToByteCp949C.nioCoder:Lsun/nio/cs/ext/IBM949C;
            invokevirtual sun.nio.cs.ext.IBM949C.getEncoderIndex2a:()Ljava/lang/String;
            putfield sun.io.CharToByteCp949C.index2a:Ljava/lang/String;
         5: .line 71
            aload 0 /* this */
            iconst_0
            putfield sun.io.CharToByteCp949C.highHalfZoneCode:C
         6: .line 72
            aload 0 /* this */
            iconst_2
            newarray 8
            putfield sun.io.CharToByteCp949C.outputByte:[B
         7: .line 73
            aload 0 /* this */
            ldc 65528
            putfield sun.io.CharToByteCp949C.mask1:I
         8: .line 74
            aload 0 /* this */
            bipush 7
            putfield sun.io.CharToByteCp949C.mask2:I
         9: .line 75
            aload 0 /* this */
            iconst_3
            putfield sun.io.CharToByteCp949C.shift:I
        10: .line 76
            return
        end local 0 // sun.io.CharToByteCp949C this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lsun/io/CharToByteCp949C;

  public int flush(byte[], int, int);
    descriptor: ([BII)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // sun.io.CharToByteCp949C this
        start local 1 // byte[] output
        start local 2 // int outStart
        start local 3 // int outEnd
         0: .line 87
            aload 0 /* this */
            iload 2 /* outStart */
            putfield sun.io.CharToByteCp949C.byteOff:I
         1: .line 89
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.highHalfZoneCode:C
            ifeq 5
         2: .line 90
            aload 0 /* this */
            invokevirtual sun.io.CharToByteCp949C.reset:()V
         3: .line 91
            aload 0 /* this */
            iconst_0
            putfield sun.io.CharToByteCp949C.badInputLength:I
         4: .line 92
            new sun.io.MalformedInputException
            dup
            invokespecial sun.io.MalformedInputException.<init>:()V
            athrow
         5: .line 95
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.charState:B
            ifeq 13
         6: .line 97
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.io.CharToByteCp949C.composeHangul:()C
            aload 1 /* output */
            iload 3 /* outEnd */
            invokevirtual sun.io.CharToByteCp949C.unicodeToBuffer:(C[BI)V
         7: .line 98
            goto 12
         8: .line 99
      StackMap locals:
      StackMap stack: sun.io.UnknownCharacterException
            pop
         9: .line 100
            aload 0 /* this */
            invokevirtual sun.io.CharToByteCp949C.reset:()V
        10: .line 101
            aload 0 /* this */
            iconst_0
            putfield sun.io.CharToByteCp949C.badInputLength:I
        11: .line 102
            new sun.io.MalformedInputException
            dup
            invokespecial sun.io.MalformedInputException.<init>:()V
            athrow
        12: .line 104
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield sun.io.CharToByteCp949C.charState:B
        13: .line 107
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.byteOff:I
            iload 2 /* outStart */
            isub
            istore 4 /* bytesOut */
        start local 4 // int bytesOut
        14: .line 109
            aload 0 /* this */
            invokevirtual sun.io.CharToByteCp949C.reset:()V
        15: .line 110
            iload 4 /* bytesOut */
            ireturn
        end local 4 // int bytesOut
        end local 3 // int outEnd
        end local 2 // int outStart
        end local 1 // byte[] output
        end local 0 // sun.io.CharToByteCp949C this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Lsun/io/CharToByteCp949C;
            0   16     1    output  [B
            0   16     2  outStart  I
            0   16     3    outEnd  I
           14   16     4  bytesOut  I
      Exception table:
        from    to  target  type
           6     7       8  Class sun.io.UnknownCharacterException
    Exceptions:
      throws sun.io.MalformedInputException, sun.io.ConversionBufferFullException
    MethodParameters:
          Name  Flags
      output    
      outStart  
      outEnd    

  public void reset();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.io.CharToByteCp949C this
         0: .line 117
            aload 0 /* this */
            iconst_0
            putfield sun.io.CharToByteCp949C.highHalfZoneCode:C
         1: .line 118
            aload 0 /* this */
            iconst_0
            putfield sun.io.CharToByteCp949C.charState:B
         2: .line 119
            aload 0 /* this */
            aload 0 /* this */
            iconst_0
            dup_x1
            putfield sun.io.CharToByteCp949C.byteOff:I
            putfield sun.io.CharToByteCp949C.charOff:I
         3: .line 120
            return
        end local 0 // sun.io.CharToByteCp949C this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/io/CharToByteCp949C;

  public boolean canConvert(char);
    descriptor: (C)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // sun.io.CharToByteCp949C this
        start local 1 // char ch
         0: .line 130
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.index1:[S
            iload 1 /* ch */
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.mask1:I
            iand
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.shift:I
            ishr
            saload
            iload 1 /* ch */
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.mask2:I
            iand
            iadd
            istore 2 /* index */
        start local 2 // int index
         1: .line 131
            iload 2 /* index */
            sipush 15000
            if_icmpge 4
         2: .line 132
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.index2:Ljava/lang/String;
            iload 2 /* index */
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* theBytes */
        start local 3 // int theBytes
         3: goto 5
        end local 3 // int theBytes
         4: .line 134
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.index2a:Ljava/lang/String;
            iload 2 /* index */
            sipush 15000
            isub
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* theBytes */
        start local 3 // int theBytes
         5: .line 136
      StackMap locals: int
      StackMap stack:
            iload 3 /* theBytes */
            ifeq 7
         6: .line 137
            iconst_1
            ireturn
         7: .line 141
      StackMap locals:
      StackMap stack:
            iload 1 /* ch */
            ifne 8
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         8: iconst_0
            ireturn
        end local 3 // int theBytes
        end local 2 // int index
        end local 1 // char ch
        end local 0 // sun.io.CharToByteCp949C this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lsun/io/CharToByteCp949C;
            0    9     1        ch  C
            1    9     2     index  I
            3    4     3  theBytes  I
            5    9     3  theBytes  I
    MethodParameters:
      Name  Flags
      ch    

  public int convert(char[], int, int, byte[], int, int);
    descriptor: ([CII[BII)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=7
        start local 0 // sun.io.CharToByteCp949C this
        start local 1 // char[] input
        start local 2 // int inOff
        start local 3 // int inEnd
        start local 4 // byte[] output
        start local 5 // int outOff
        start local 6 // int outEnd
         0: .line 156
            aload 0 /* this */
            iload 2 /* inOff */
            putfield sun.io.CharToByteCp949C.charOff:I
         1: .line 157
            aload 0 /* this */
            iload 5 /* outOff */
            putfield sun.io.CharToByteCp949C.byteOff:I
         2: .line 159
            goto 92
         3: .line 161
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.highHalfZoneCode:C
            ifne 7
         4: .line 162
            aload 1 /* input */
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.charOff:I
            caload
            istore 7 /* inputChar */
        start local 7 // char inputChar
         5: .line 163
            iconst_1
            istore 8 /* inputSize */
        start local 8 // int inputSize
         6: .line 164
            goto 10
        end local 8 // int inputSize
        end local 7 // char inputChar
         7: .line 165
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.highHalfZoneCode:C
            istore 7 /* inputChar */
        start local 7 // char inputChar
         8: .line 166
            iconst_0
            istore 8 /* inputSize */
        start local 8 // int inputSize
         9: .line 167
            aload 0 /* this */
            iconst_0
            putfield sun.io.CharToByteCp949C.highHalfZoneCode:C
        10: .line 170
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.charState:B
            tableswitch { // 0 - 3
                    0: 11
                    1: 26
                    2: 40
                    3: 58
              default: 64
          }
        11: .line 173
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            sipush 4352
            putfield sun.io.CharToByteCp949C.l:C
        12: .line 174
            aload 0 /* this */
            sipush 4449
            putfield sun.io.CharToByteCp949C.v:C
        13: .line 175
            aload 0 /* this */
            sipush 4519
            putfield sun.io.CharToByteCp949C.t:C
        14: .line 177
            aload 0 /* this */
            iload 7 /* inputChar */
            invokevirtual sun.io.CharToByteCp949C.isLeadingC:(C)Z
            ifeq 18
        15: .line 178
            aload 0 /* this */
            iload 7 /* inputChar */
            putfield sun.io.CharToByteCp949C.l:C
        16: .line 179
            aload 0 /* this */
            iconst_1
            putfield sun.io.CharToByteCp949C.charState:B
        17: .line 180
            goto 64
        18: .line 183
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 7 /* inputChar */
            invokevirtual sun.io.CharToByteCp949C.isVowel:(C)Z
            ifeq 22
        19: .line 184
            aload 0 /* this */
            iload 7 /* inputChar */
            putfield sun.io.CharToByteCp949C.v:C
        20: .line 185
            aload 0 /* this */
            iconst_2
            putfield sun.io.CharToByteCp949C.charState:B
        21: .line 186
            goto 64
        22: .line 189
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 7 /* inputChar */
            invokevirtual sun.io.CharToByteCp949C.isTrailingC:(C)Z
            ifeq 64
        23: .line 190
            aload 0 /* this */
            iload 7 /* inputChar */
            putfield sun.io.CharToByteCp949C.t:C
        24: .line 191
            aload 0 /* this */
            iconst_3
            putfield sun.io.CharToByteCp949C.charState:B
        25: .line 192
            goto 64
        26: .line 198
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 7 /* inputChar */
            invokevirtual sun.io.CharToByteCp949C.isLeadingC:(C)Z
            ifeq 29
        27: .line 199
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.l:C
            iload 7 /* inputChar */
            invokevirtual sun.io.CharToByteCp949C.composeLL:(CC)C
            putfield sun.io.CharToByteCp949C.l:C
        28: .line 200
            goto 64
        29: .line 203
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 7 /* inputChar */
            invokevirtual sun.io.CharToByteCp949C.isVowel:(C)Z
            ifeq 33
        30: .line 204
            aload 0 /* this */
            iload 7 /* inputChar */
            putfield sun.io.CharToByteCp949C.v:C
        31: .line 205
            aload 0 /* this */
            iconst_2
            putfield sun.io.CharToByteCp949C.charState:B
        32: .line 206
            goto 64
        33: .line 209
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 7 /* inputChar */
            invokevirtual sun.io.CharToByteCp949C.isTrailingC:(C)Z
            ifeq 37
        34: .line 210
            aload 0 /* this */
            iload 7 /* inputChar */
            putfield sun.io.CharToByteCp949C.t:C
        35: .line 211
            aload 0 /* this */
            iconst_3
            putfield sun.io.CharToByteCp949C.charState:B
        36: .line 212
            goto 64
        37: .line 215
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.io.CharToByteCp949C.composeHangul:()C
            aload 4 /* output */
            iload 6 /* outEnd */
            invokevirtual sun.io.CharToByteCp949C.unicodeToBuffer:(C[BI)V
        38: .line 217
            aload 0 /* this */
            iconst_0
            putfield sun.io.CharToByteCp949C.charState:B
        39: .line 218
            goto 64
        40: .line 221
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 7 /* inputChar */
            invokevirtual sun.io.CharToByteCp949C.isLeadingC:(C)Z
            ifeq 47
        41: .line 223
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.io.CharToByteCp949C.composeHangul:()C
            aload 4 /* output */
            iload 6 /* outEnd */
            invokevirtual sun.io.CharToByteCp949C.unicodeToBuffer:(C[BI)V
        42: .line 225
            aload 0 /* this */
            iload 7 /* inputChar */
            putfield sun.io.CharToByteCp949C.l:C
        43: .line 226
            aload 0 /* this */
            sipush 4449
            putfield sun.io.CharToByteCp949C.v:C
        44: .line 227
            aload 0 /* this */
            sipush 4519
            putfield sun.io.CharToByteCp949C.t:C
        45: .line 228
            aload 0 /* this */
            iconst_1
            putfield sun.io.CharToByteCp949C.charState:B
        46: .line 229
            goto 64
        47: .line 232
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 7 /* inputChar */
            invokevirtual sun.io.CharToByteCp949C.isVowel:(C)Z
            ifeq 51
        48: .line 233
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.l:C
            iload 7 /* inputChar */
            invokevirtual sun.io.CharToByteCp949C.composeVV:(CC)C
            putfield sun.io.CharToByteCp949C.v:C
        49: .line 234
            aload 0 /* this */
            iconst_2
            putfield sun.io.CharToByteCp949C.charState:B
        50: .line 235
            goto 64
        51: .line 238
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 7 /* inputChar */
            invokevirtual sun.io.CharToByteCp949C.isTrailingC:(C)Z
            ifeq 55
        52: .line 239
            aload 0 /* this */
            iload 7 /* inputChar */
            putfield sun.io.CharToByteCp949C.t:C
        53: .line 240
            aload 0 /* this */
            iconst_3
            putfield sun.io.CharToByteCp949C.charState:B
        54: .line 241
            goto 64
        55: .line 244
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.io.CharToByteCp949C.composeHangul:()C
            aload 4 /* output */
            iload 6 /* outEnd */
            invokevirtual sun.io.CharToByteCp949C.unicodeToBuffer:(C[BI)V
        56: .line 246
            aload 0 /* this */
            iconst_0
            putfield sun.io.CharToByteCp949C.charState:B
        57: .line 248
            goto 64
        58: .line 251
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 7 /* inputChar */
            invokevirtual sun.io.CharToByteCp949C.isTrailingC:(C)Z
            ifeq 62
        59: .line 252
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.t:C
            iload 7 /* inputChar */
            invokevirtual sun.io.CharToByteCp949C.composeTT:(CC)C
            putfield sun.io.CharToByteCp949C.t:C
        60: .line 253
            aload 0 /* this */
            iconst_3
            putfield sun.io.CharToByteCp949C.charState:B
        61: .line 254
            goto 64
        62: .line 257
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.io.CharToByteCp949C.composeHangul:()C
            aload 4 /* output */
            iload 6 /* outEnd */
            invokevirtual sun.io.CharToByteCp949C.unicodeToBuffer:(C[BI)V
        63: .line 259
            aload 0 /* this */
            iconst_0
            putfield sun.io.CharToByteCp949C.charState:B
        64: .line 264
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.charState:B
            ifeq 66
        65: .line 265
            aload 0 /* this */
            dup
            getfield sun.io.CharToByteCp949C.charOff:I
            iconst_1
            iadd
            putfield sun.io.CharToByteCp949C.charOff:I
            goto 92
        66: .line 269
      StackMap locals:
      StackMap stack:
            iload 7 /* inputChar */
            ldc 55296
            if_icmplt 87
            iload 7 /* inputChar */
            ldc 56319
            if_icmpgt 87
        67: .line 271
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.charOff:I
            iload 8 /* inputSize */
            iadd
            iload 3 /* inEnd */
            if_icmplt 71
        68: .line 272
            aload 0 /* this */
            iload 7 /* inputChar */
            putfield sun.io.CharToByteCp949C.highHalfZoneCode:C
        69: .line 273
            aload 0 /* this */
            dup
            getfield sun.io.CharToByteCp949C.charOff:I
            iload 8 /* inputSize */
            iadd
            putfield sun.io.CharToByteCp949C.charOff:I
        70: .line 274
            goto 93
        71: .line 278
      StackMap locals:
      StackMap stack:
            aload 1 /* input */
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.charOff:I
            iload 8 /* inputSize */
            iadd
            caload
            istore 7 /* inputChar */
        72: .line 279
            iload 7 /* inputChar */
            ldc 56320
            if_icmplt 85
            iload 7 /* inputChar */
            ldc 57343
            if_icmpgt 85
        73: .line 282
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.subMode:Z
            ifeq 83
        74: .line 283
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.subBytes:[B
            arraylength
            iconst_1
            if_icmpne 78
        75: .line 284
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.outputByte:[B
            iconst_0
            iconst_0
            bastore
        76: .line 285
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.outputByte:[B
            iconst_1
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.subBytes:[B
            iconst_0
            baload
            bastore
        77: .line 286
            goto 80
        78: .line 287
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.outputByte:[B
            iconst_0
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.subBytes:[B
            iconst_0
            baload
            bastore
        79: .line 288
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.outputByte:[B
            iconst_1
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.subBytes:[B
            iconst_1
            baload
            bastore
        80: .line 291
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.outputByte:[B
            aload 4 /* output */
            iload 6 /* outEnd */
            invokevirtual sun.io.CharToByteCp949C.bytesToBuffer:([B[BI)V
        81: .line 292
            iinc 8 /* inputSize */ 1
        82: .line 293
            goto 91
        83: .line 294
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            putfield sun.io.CharToByteCp949C.badInputLength:I
        84: .line 295
            new sun.io.UnknownCharacterException
            dup
            invokespecial sun.io.UnknownCharacterException.<init>:()V
            athrow
        85: .line 299
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.io.CharToByteCp949C.badInputLength:I
        86: .line 300
            new sun.io.MalformedInputException
            dup
            invokespecial sun.io.MalformedInputException.<init>:()V
            athrow
        87: .line 306
      StackMap locals:
      StackMap stack:
            iload 7 /* inputChar */
            ldc 56320
            if_icmplt 90
            iload 7 /* inputChar */
            ldc 57343
            if_icmpgt 90
        88: .line 307
            aload 0 /* this */
            iconst_1
            putfield sun.io.CharToByteCp949C.badInputLength:I
        89: .line 308
            new sun.io.MalformedInputException
            dup
            invokespecial sun.io.MalformedInputException.<init>:()V
            athrow
        90: .line 310
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 7 /* inputChar */
            aload 4 /* output */
            iload 6 /* outEnd */
            invokevirtual sun.io.CharToByteCp949C.unicodeToBuffer:(C[BI)V
        91: .line 313
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield sun.io.CharToByteCp949C.charOff:I
            iload 8 /* inputSize */
            iadd
            putfield sun.io.CharToByteCp949C.charOff:I
        end local 8 // int inputSize
        end local 7 // char inputChar
        92: .line 159
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.charOff:I
            iload 3 /* inEnd */
            if_icmplt 3
        93: .line 319
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.byteOff:I
            iload 5 /* outOff */
            isub
            ireturn
        end local 6 // int outEnd
        end local 5 // int outOff
        end local 4 // byte[] output
        end local 3 // int inEnd
        end local 2 // int inOff
        end local 1 // char[] input
        end local 0 // sun.io.CharToByteCp949C this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   94     0       this  Lsun/io/CharToByteCp949C;
            0   94     1      input  [C
            0   94     2      inOff  I
            0   94     3      inEnd  I
            0   94     4     output  [B
            0   94     5     outOff  I
            0   94     6     outEnd  I
            5    7     7  inputChar  C
            8   92     7  inputChar  C
            6    7     8  inputSize  I
            9   92     8  inputSize  I
    Exceptions:
      throws sun.io.UnknownCharacterException, sun.io.MalformedInputException, sun.io.ConversionBufferFullException
    MethodParameters:
        Name  Flags
      input   
      inOff   
      inEnd   
      output  
      outOff  
      outEnd  

  private char composeHangul();
    descriptor: ()C
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // sun.io.CharToByteCp949C this
         0: .line 326
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.l:C
            sipush 4352
            isub
            istore 1 /* lIndex */
        start local 1 // int lIndex
         1: .line 327
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.v:C
            sipush 4449
            isub
            istore 2 /* vIndex */
        start local 2 // int vIndex
         2: .line 328
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.t:C
            sipush 4519
            isub
            istore 3 /* tIndex */
        start local 3 // int tIndex
         3: .line 330
            iload 1 /* lIndex */
            bipush 21
            imul
            iload 2 /* vIndex */
            iadd
            bipush 28
            imul
            iload 3 /* tIndex */
            iadd
            ldc 44032
            iadd
            i2c
            ireturn
        end local 3 // int tIndex
        end local 2 // int vIndex
        end local 1 // int lIndex
        end local 0 // sun.io.CharToByteCp949C this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lsun/io/CharToByteCp949C;
            1    4     1  lIndex  I
            2    4     2  vIndex  I
            3    4     3  tIndex  I

  private char composeLL(char, char);
    descriptor: (CC)C
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // sun.io.CharToByteCp949C this
        start local 1 // char l1
        start local 2 // char l2
         0: .line 334
            iload 2 /* l2 */
            ireturn
        end local 2 // char l2
        end local 1 // char l1
        end local 0 // sun.io.CharToByteCp949C this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/io/CharToByteCp949C;
            0    1     1    l1  C
            0    1     2    l2  C
    MethodParameters:
      Name  Flags
      l1    
      l2    

  private char composeVV(char, char);
    descriptor: (CC)C
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // sun.io.CharToByteCp949C this
        start local 1 // char v1
        start local 2 // char v2
         0: .line 338
            iload 2 /* v2 */
            ireturn
        end local 2 // char v2
        end local 1 // char v1
        end local 0 // sun.io.CharToByteCp949C this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/io/CharToByteCp949C;
            0    1     1    v1  C
            0    1     2    v2  C
    MethodParameters:
      Name  Flags
      v1    
      v2    

  private char composeTT(char, char);
    descriptor: (CC)C
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // sun.io.CharToByteCp949C this
        start local 1 // char t1
        start local 2 // char t2
         0: .line 342
            iload 2 /* t2 */
            ireturn
        end local 2 // char t2
        end local 1 // char t1
        end local 0 // sun.io.CharToByteCp949C this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/io/CharToByteCp949C;
            0    1     1    t1  C
            0    1     2    t2  C
    MethodParameters:
      Name  Flags
      t1    
      t2    

  private boolean isLeadingC(char);
    descriptor: (C)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.io.CharToByteCp949C this
        start local 1 // char c
         0: .line 346
            iload 1 /* c */
            sipush 4352
            if_icmplt 1
            iload 1 /* c */
            sipush 4441
            if_icmpgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // char c
        end local 0 // sun.io.CharToByteCp949C this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/io/CharToByteCp949C;
            0    2     1     c  C
    MethodParameters:
      Name  Flags
      c     

  private boolean isVowel(char);
    descriptor: (C)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.io.CharToByteCp949C this
        start local 1 // char c
         0: .line 350
            iload 1 /* c */
            sipush 4449
            if_icmplt 1
            iload 1 /* c */
            sipush 4514
            if_icmpgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // char c
        end local 0 // sun.io.CharToByteCp949C this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/io/CharToByteCp949C;
            0    2     1     c  C
    MethodParameters:
      Name  Flags
      c     

  private boolean isTrailingC(char);
    descriptor: (C)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.io.CharToByteCp949C this
        start local 1 // char c
         0: .line 354
            iload 1 /* c */
            sipush 4519
            if_icmplt 1
            iload 1 /* c */
            sipush 4601
            if_icmpgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // char c
        end local 0 // sun.io.CharToByteCp949C this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/io/CharToByteCp949C;
            0    2     1     c  C
    MethodParameters:
      Name  Flags
      c     

  public int getMaxBytesPerChar();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.io.CharToByteCp949C this
         0: .line 361
            iconst_2
            ireturn
        end local 0 // sun.io.CharToByteCp949C this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/io/CharToByteCp949C;

  public java.lang.String getCharacterEncoding();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.io.CharToByteCp949C this
         0: .line 369
            ldc "Cp949C"
            areturn
        end local 0 // sun.io.CharToByteCp949C this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/io/CharToByteCp949C;

  private void bytesToBuffer(byte[], byte[], int);
    descriptor: ([B[BI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // sun.io.CharToByteCp949C this
        start local 1 // byte[] theBytes
        start local 2 // byte[] output
        start local 3 // int outEnd
         0: .line 383
            aload 1 /* theBytes */
            iconst_0
            baload
            ifne 3
         1: .line 384
            iconst_1
            istore 4 /* spaceNeeded */
        start local 4 // int spaceNeeded
         2: goto 4
        end local 4 // int spaceNeeded
         3: .line 386
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 4 /* spaceNeeded */
        start local 4 // int spaceNeeded
         4: .line 388
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.byteOff:I
            iload 4 /* spaceNeeded */
            iadd
            iload 3 /* outEnd */
            if_icmple 6
         5: .line 389
            new sun.io.ConversionBufferFullException
            dup
            invokespecial sun.io.ConversionBufferFullException.<init>:()V
            athrow
         6: .line 393
      StackMap locals:
      StackMap stack:
            iload 4 /* spaceNeeded */
            iconst_1
            if_icmpne 8
         7: .line 394
            aload 2 /* output */
            aload 0 /* this */
            dup
            getfield sun.io.CharToByteCp949C.byteOff:I
            dup_x1
            iconst_1
            iadd
            putfield sun.io.CharToByteCp949C.byteOff:I
            aload 1 /* theBytes */
            iconst_1
            baload
            bastore
            goto 10
         8: .line 396
      StackMap locals:
      StackMap stack:
            aload 2 /* output */
            aload 0 /* this */
            dup
            getfield sun.io.CharToByteCp949C.byteOff:I
            dup_x1
            iconst_1
            iadd
            putfield sun.io.CharToByteCp949C.byteOff:I
            aload 1 /* theBytes */
            iconst_0
            baload
            bastore
         9: .line 397
            aload 2 /* output */
            aload 0 /* this */
            dup
            getfield sun.io.CharToByteCp949C.byteOff:I
            dup_x1
            iconst_1
            iadd
            putfield sun.io.CharToByteCp949C.byteOff:I
            aload 1 /* theBytes */
            iconst_1
            baload
            bastore
        10: .line 400
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int spaceNeeded
        end local 3 // int outEnd
        end local 2 // byte[] output
        end local 1 // byte[] theBytes
        end local 0 // sun.io.CharToByteCp949C this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Lsun/io/CharToByteCp949C;
            0   11     1     theBytes  [B
            0   11     2       output  [B
            0   11     3       outEnd  I
            2    3     4  spaceNeeded  I
            4   11     4  spaceNeeded  I
    Exceptions:
      throws sun.io.ConversionBufferFullException, sun.io.UnknownCharacterException
    MethodParameters:
          Name  Flags
      theBytes  
      output    
      outEnd    

  private void unicodeToBuffer(char, byte[], int);
    descriptor: (C[BI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // sun.io.CharToByteCp949C this
        start local 1 // char unicode
        start local 2 // byte[] output
        start local 3 // int outEnd
         0: .line 414
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.index1:[S
            iload 1 /* unicode */
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.mask1:I
            iand
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.shift:I
            ishr
            saload
            iload 1 /* unicode */
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.mask2:I
            iand
            iadd
            istore 4 /* index */
        start local 4 // int index
         1: .line 415
            iload 4 /* index */
            sipush 15000
            if_icmpge 4
         2: .line 416
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.index2:Ljava/lang/String;
            iload 4 /* index */
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* theBytes */
        start local 5 // int theBytes
         3: goto 5
        end local 5 // int theBytes
         4: .line 418
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.index2a:Ljava/lang/String;
            iload 4 /* index */
            sipush 15000
            isub
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* theBytes */
        start local 5 // int theBytes
         5: .line 419
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.outputByte:[B
            iconst_0
            iload 5 /* theBytes */
            ldc 65280
            iand
            bipush 8
            ishr
            i2b
            bastore
         6: .line 420
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.outputByte:[B
            iconst_1
            iload 5 /* theBytes */
            sipush 255
            iand
            i2b
            bastore
         7: .line 424
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.outputByte:[B
            iconst_0
            baload
            ifne 19
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.outputByte:[B
            iconst_1
            baload
            ifne 19
         8: .line 425
            iload 1 /* unicode */
            ifeq 19
         9: .line 426
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.subMode:Z
            ifeq 17
        10: .line 427
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.subBytes:[B
            arraylength
            iconst_1
            if_icmpne 14
        11: .line 428
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.outputByte:[B
            iconst_0
            iconst_0
            bastore
        12: .line 429
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.outputByte:[B
            iconst_1
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.subBytes:[B
            iconst_0
            baload
            bastore
        13: .line 430
            goto 19
        14: .line 431
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.outputByte:[B
            iconst_0
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.subBytes:[B
            iconst_0
            baload
            bastore
        15: .line 432
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.outputByte:[B
            iconst_1
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.subBytes:[B
            iconst_1
            baload
            bastore
        16: .line 434
            goto 19
        17: .line 435
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.io.CharToByteCp949C.badInputLength:I
        18: .line 436
            new sun.io.UnknownCharacterException
            dup
            invokespecial sun.io.UnknownCharacterException.<init>:()V
            athrow
        19: .line 442
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.io.CharToByteCp949C.outputByte:[B
            aload 2 /* output */
            iload 3 /* outEnd */
            invokevirtual sun.io.CharToByteCp949C.bytesToBuffer:([B[BI)V
        20: .line 444
            return
        end local 5 // int theBytes
        end local 4 // int index
        end local 3 // int outEnd
        end local 2 // byte[] output
        end local 1 // char unicode
        end local 0 // sun.io.CharToByteCp949C this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   21     0      this  Lsun/io/CharToByteCp949C;
            0   21     1   unicode  C
            0   21     2    output  [B
            0   21     3    outEnd  I
            1   21     4     index  I
            3    4     5  theBytes  I
            5   21     5  theBytes  I
    Exceptions:
      throws sun.io.ConversionBufferFullException, sun.io.UnknownCharacterException
    MethodParameters:
         Name  Flags
      unicode  
      output   
      outEnd   
}
SourceFile: "CharToByteCp949C.java"