public class com.android.proxyhandler.SocketConnect extends java.lang.Thread
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.android.proxyhandler.SocketConnect
  super_class: java.lang.Thread
{
  private java.io.InputStream from;
    descriptor: Ljava/io/InputStream;
    flags: (0x0002) ACC_PRIVATE

  private java.io.OutputStream to;
    descriptor: Ljava/io/OutputStream;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(java.net.Socket, java.net.Socket);
    descriptor: (Ljava/net/Socket;Ljava/net/Socket;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.android.proxyhandler.SocketConnect this
        start local 1 // java.net.Socket from
        start local 2 // java.net.Socket to
         0: .line 16
            aload 0 /* this */
            invokespecial java.lang.Thread.<init>:()V
         1: .line 17
            aload 0 /* this */
            aload 1 /* from */
            invokevirtual java.net.Socket.getInputStream:()Ljava/io/InputStream;
            putfield com.android.proxyhandler.SocketConnect.from:Ljava/io/InputStream;
         2: .line 18
            aload 0 /* this */
            aload 2 /* to */
            invokevirtual java.net.Socket.getOutputStream:()Ljava/io/OutputStream;
            putfield com.android.proxyhandler.SocketConnect.to:Ljava/io/OutputStream;
         3: .line 19
            aload 0 /* this */
            invokevirtual com.android.proxyhandler.SocketConnect.start:()V
         4: .line 20
            return
        end local 2 // java.net.Socket to
        end local 1 // java.net.Socket from
        end local 0 // com.android.proxyhandler.SocketConnect this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/android/proxyhandler/SocketConnect;
            0    5     1  from  Ljava/net/Socket;
            0    5     2    to  Ljava/net/Socket;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      from  
      to    

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.android.proxyhandler.SocketConnect this
         0: .line 24
            sipush 512
            newarray 8
            astore 1 /* buffer */
        start local 1 // byte[] buffer
         1: .line 28
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            getfield com.android.proxyhandler.SocketConnect.from:Ljava/io/InputStream;
            aload 1 /* buffer */
            invokevirtual java.io.InputStream.read:([B)I
            istore 2 /* r */
        start local 2 // int r
         2: .line 29
            iload 2 /* r */
            ifge 4
         3: .line 30
            goto 6
         4: .line 32
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.android.proxyhandler.SocketConnect.to:Ljava/io/OutputStream;
            aload 1 /* buffer */
            iconst_0
            iload 2 /* r */
            invokevirtual java.io.OutputStream.write:([BII)V
        end local 2 // int r
         5: .line 27
            goto 1
         6: .line 34
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.android.proxyhandler.SocketConnect.from:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.close:()V
         7: .line 35
            aload 0 /* this */
            getfield com.android.proxyhandler.SocketConnect.to:Ljava/io/OutputStream;
            invokevirtual java.io.OutputStream.close:()V
         8: .line 36
            goto 10
      StackMap locals:
      StackMap stack: java.io.IOException
         9: pop
        10: .line 39
      StackMap locals:
      StackMap stack:
            return
        end local 1 // byte[] buffer
        end local 0 // com.android.proxyhandler.SocketConnect this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lcom/android/proxyhandler/SocketConnect;
            1   11     1  buffer  [B
            2    5     2       r  I
      Exception table:
        from    to  target  type
           1     8       9  Class java.io.IOException

  public static void connect(java.net.Socket, java.net.Socket);
    descriptor: (Ljava/net/Socket;Ljava/net/Socket;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.net.Socket first
        start local 1 // java.net.Socket second
         0: .line 43
            new com.android.proxyhandler.SocketConnect
            dup
            aload 0 /* first */
            aload 1 /* second */
            invokespecial com.android.proxyhandler.SocketConnect.<init>:(Ljava/net/Socket;Ljava/net/Socket;)V
            astore 2 /* sc1 */
        start local 2 // com.android.proxyhandler.SocketConnect sc1
         1: .line 44
            new com.android.proxyhandler.SocketConnect
            dup
            aload 1 /* second */
            aload 0 /* first */
            invokespecial com.android.proxyhandler.SocketConnect.<init>:(Ljava/net/Socket;Ljava/net/Socket;)V
            astore 3 /* sc2 */
        start local 3 // com.android.proxyhandler.SocketConnect sc2
         2: .line 46
            aload 2 /* sc1 */
            invokevirtual com.android.proxyhandler.SocketConnect.join:()V
         3: .line 47
            goto 5
      StackMap locals: java.net.Socket java.net.Socket com.android.proxyhandler.SocketConnect com.android.proxyhandler.SocketConnect
      StackMap stack: java.lang.InterruptedException
         4: pop
         5: .line 50
      StackMap locals:
      StackMap stack:
            aload 3 /* sc2 */
            invokevirtual com.android.proxyhandler.SocketConnect.join:()V
         6: .line 51
            goto 11
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
         7: pop
        end local 3 // com.android.proxyhandler.SocketConnect sc2
        end local 2 // com.android.proxyhandler.SocketConnect sc1
         8: .line 53
            goto 11
      StackMap locals: java.net.Socket java.net.Socket
      StackMap stack: java.io.IOException
         9: astore 2 /* e */
        start local 2 // java.io.IOException e
        10: .line 54
            aload 2 /* e */
            invokevirtual java.io.IOException.printStackTrace:()V
        end local 2 // java.io.IOException e
        11: .line 56
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.net.Socket second
        end local 0 // java.net.Socket first
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0   first  Ljava/net/Socket;
            0   12     1  second  Ljava/net/Socket;
            1    8     2     sc1  Lcom/android/proxyhandler/SocketConnect;
            2    8     3     sc2  Lcom/android/proxyhandler/SocketConnect;
           10   11     2       e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.InterruptedException
           5     6       7  Class java.lang.InterruptedException
           0     8       9  Class java.io.IOException
    MethodParameters:
        Name  Flags
      first   
      second  
}
SourceFile: "SocketConnect.java"