public final class com.microsoft.sqlserver.jdbc.SQLServerXAResource implements javax.transaction.xa.XAResource
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.microsoft.sqlserver.jdbc.SQLServerXAResource
  super_class: java.lang.Object
{
  private int timeoutSeconds;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  static final int XA_START;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  static final int XA_END;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static final int XA_PREPARE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  static final int XA_COMMIT;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  static final int XA_ROLLBACK;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  static final int XA_FORGET;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  static final int XA_RECOVER;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  static final int XA_PREPARE_EX;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  static final int XA_ROLLBACK_EX;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  static final int XA_FORGET_EX;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 9

  static final int XA_INIT;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  private com.microsoft.sqlserver.jdbc.SQLServerConnection controlConnection;
    descriptor: Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
    flags: (0x0002) ACC_PRIVATE

  private com.microsoft.sqlserver.jdbc.SQLServerConnection con;
    descriptor: Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

  private static boolean xaInitDone;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final java.lang.Object xaInitLock;
    descriptor: Ljava/lang/Object;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

  private final java.util.logging.Logger xaLogger;
    descriptor: Ljava/util/logging/Logger;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final java.util.concurrent.atomic.AtomicInteger baseResourceID;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

  public static final int SSTRANSTIGHTLYCPLD;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 32768

  private com.microsoft.sqlserver.jdbc.SQLServerCallableStatement[] xaStatements;
    descriptor: [Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
    flags: (0x0002) ACC_PRIVATE

  private final java.lang.String traceID;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 115
            ldc Lcom/microsoft/sqlserver/jdbc/SQLServerXAResource;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.microsoft.sqlserver.jdbc.SQLServerXAResource.$assertionsDisabled:Z
         3: .line 162
            new java.util.concurrent.atomic.AtomicInteger
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
            putstatic com.microsoft.sqlserver.jdbc.SQLServerXAResource.baseResourceID:Ljava/util/concurrent/atomic/AtomicInteger;
         4: .line 175
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaInitLock:Ljava/lang/Object;
         5: .line 176
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
         0: .line 180
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.traceID:Ljava/lang/String;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerXAResource;

  void <init>(com.microsoft.sqlserver.jdbc.SQLServerConnection, com.microsoft.sqlserver.jdbc.SQLServerConnection, java.lang.String);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
        start local 1 // com.microsoft.sqlserver.jdbc.SQLServerConnection original
        start local 2 // com.microsoft.sqlserver.jdbc.SQLServerConnection control
        start local 3 // java.lang.String loginfo
         0: .line 183
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 164
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.tightlyCoupled:I
         2: .line 165
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.isTransacrionTimeoutSet:I
         3: .line 168
            aload 0 /* this */
            bipush 10
            anewarray com.microsoft.sqlserver.jdbc.SQLServerCallableStatement
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaStatements:[Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
         4: .line 173
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.recoveryAttempt:I
         5: .line 184
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc " XAResourceID:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerXAResource.nextResourceID:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.traceID:Ljava/lang/String;
         6: .line 186
            aload 0 /* this */
            getstatic com.microsoft.sqlserver.jdbc.SQLServerXADataSource.xaLogger:Ljava/util/logging/Logger;
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
         7: .line 187
            aload 0 /* this */
            aload 2 /* control */
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.controlConnection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
         8: .line 188
            aload 0 /* this */
            aload 1 /* original */
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
         9: .line 189
            aload 1 /* original */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
            astore 4 /* p */
        start local 4 // java.util.Properties p
        10: .line 190
            aload 4 /* p */
            ifnonnull 12
        11: .line 191
            aload 0 /* this */
            ldc ""
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.sResourceManagerId:Ljava/lang/String;
            goto 16
        12: .line 193
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerXAResource com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.String java.util.Properties
      StackMap stack:
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 4 /* p */
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.SERVER_NAME:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 194
            aload 4 /* p */
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.DATABASE_NAME:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)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 195
            aload 4 /* p */
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.PORT_NUMBER:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverIntProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        15: .line 193
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.sResourceManagerId:Ljava/lang/String;
        16: .line 197
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 18
        17: .line 198
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " created by ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* loginfo */
            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;
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
        18: .line 201
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.serverInfoRetrieved:Z
        19: .line 202
            aload 0 /* this */
            ldc "0"
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.version:Ljava/lang/String;
        20: .line 203
            aload 0 /* this */
            ldc ""
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.instanceName:Ljava/lang/String;
        21: .line 204
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.architectureMSSQL:I
        22: .line 205
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.architectureOS:I
        23: .line 207
            return
        end local 4 // java.util.Properties p
        end local 3 // java.lang.String loginfo
        end local 2 // com.microsoft.sqlserver.jdbc.SQLServerConnection control
        end local 1 // com.microsoft.sqlserver.jdbc.SQLServerConnection original
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   24     0      this  Lcom/microsoft/sqlserver/jdbc/SQLServerXAResource;
            0   24     1  original  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   24     2   control  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   24     3   loginfo  Ljava/lang/String;
           10   24     4         p  Ljava/util/Properties;
    MethodParameters:
          Name  Flags
      original  
      control   
      loginfo   

  private synchronized com.microsoft.sqlserver.jdbc.SQLServerCallableStatement getXACallableStatementHandle(int);
    descriptor: (I)Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
        start local 1 // int number
         0: .line 210
            getstatic com.microsoft.sqlserver.jdbc.SQLServerXAResource.$assertionsDisabled:Z
            ifne 2
            iload 1 /* number */
            iflt 1
            iload 1 /* number */
            bipush 9
            if_icmple 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 211
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerXAResource.$assertionsDisabled:Z
            ifne 3
            iload 1 /* number */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaStatements:[Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            arraylength
            if_icmplt 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 212
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaStatements:[Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            iload 1 /* number */
            aaload
            ifnull 5
         4: .line 213
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaStatements:[Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            iload 1 /* number */
            aaload
            areturn
         5: .line 215
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* CS */
        start local 2 // java.sql.CallableStatement CS
         6: .line 217
            iload 1 /* number */
            tableswitch { // 0 - 9
                    0: 7
                    1: 11
                    2: 13
                    3: 15
                    4: 17
                    5: 19
                    6: 21
                    7: 23
                    8: 25
                    9: 27
              default: 29
          }
         7: .line 219
      StackMap locals: java.sql.CallableStatement
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.controlConnection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
         8: .line 220
            ldc "{call master..xp_sqljdbc_xa_start(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)}"
         9: .line 219
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareCall:(Ljava/lang/String;)Ljava/sql/CallableStatement;
            astore 2 /* CS */
        10: .line 221
            goto 30
        11: .line 223
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.controlConnection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            ldc "{call master..xp_sqljdbc_xa_end(?, ?, ?, ?, ?, ?, ?)}"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareCall:(Ljava/lang/String;)Ljava/sql/CallableStatement;
            astore 2 /* CS */
        12: .line 224
            goto 30
        13: .line 226
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.controlConnection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            ldc "{call master..xp_sqljdbc_xa_prepare(?, ?, ?, ?, ?)}"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareCall:(Ljava/lang/String;)Ljava/sql/CallableStatement;
            astore 2 /* CS */
        14: .line 227
            goto 30
        15: .line 229
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.controlConnection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            ldc "{call master..xp_sqljdbc_xa_commit(?, ?, ?, ?, ?, ?)}"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareCall:(Ljava/lang/String;)Ljava/sql/CallableStatement;
            astore 2 /* CS */
        16: .line 230
            goto 30
        17: .line 232
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.controlConnection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            ldc "{call master..xp_sqljdbc_xa_rollback(?, ?, ?, ?, ?)}"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareCall:(Ljava/lang/String;)Ljava/sql/CallableStatement;
            astore 2 /* CS */
        18: .line 233
            goto 30
        19: .line 235
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.controlConnection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            ldc "{call master..xp_sqljdbc_xa_forget(?, ?, ?, ?, ?)}"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareCall:(Ljava/lang/String;)Ljava/sql/CallableStatement;
            astore 2 /* CS */
        20: .line 236
            goto 30
        21: .line 238
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.controlConnection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            ldc "{call master..xp_sqljdbc_xa_recover(?, ?, ?, ?)}"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareCall:(Ljava/lang/String;)Ljava/sql/CallableStatement;
            astore 2 /* CS */
        22: .line 239
            goto 30
        23: .line 241
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.controlConnection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            ldc "{call master..xp_sqljdbc_xa_prepare_ex(?, ?, ?, ?, ?, ?)}"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareCall:(Ljava/lang/String;)Ljava/sql/CallableStatement;
            astore 2 /* CS */
        24: .line 242
            goto 30
        25: .line 244
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.controlConnection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            ldc "{call master..xp_sqljdbc_xa_rollback_ex(?, ?, ?, ?, ?, ?)}"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareCall:(Ljava/lang/String;)Ljava/sql/CallableStatement;
            astore 2 /* CS */
        26: .line 245
            goto 30
        27: .line 247
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.controlConnection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            ldc "{call master..xp_sqljdbc_xa_forget_ex(?, ?, ?, ?, ?, ?)}"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareCall:(Ljava/lang/String;)Ljava/sql/CallableStatement;
            astore 2 /* CS */
        28: .line 248
            goto 30
        29: .line 250
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerXAResource.$assertionsDisabled:Z
            ifne 30
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Bad handle request:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* number */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        30: .line 254
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaStatements:[Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            iload 1 /* number */
            aload 2 /* CS */
            checkcast com.microsoft.sqlserver.jdbc.SQLServerCallableStatement
            aastore
        31: .line 255
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaStatements:[Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            iload 1 /* number */
            aaload
            areturn
        end local 2 // java.sql.CallableStatement CS
        end local 1 // int number
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   32     0    this  Lcom/microsoft/sqlserver/jdbc/SQLServerXAResource;
            0   32     1  number  I
            6   32     2      CS  Ljava/sql/CallableStatement;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
        Name  Flags
      number  

  private synchronized void closeXAStatements();
    descriptor: ()V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
         0: .line 259
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: goto 6
         2: .line 260
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaStatements:[Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            iload 1 /* i */
            aaload
            ifnull 5
         3: .line 261
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaStatements:[Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            iload 1 /* i */
            aaload
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.close:()V
         4: .line 262
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaStatements:[Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            iload 1 /* i */
            aconst_null
            aastore
         5: .line 259
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 1 /* i */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaStatements:[Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            arraylength
            if_icmplt 2
        end local 1 // int i
         7: .line 264
            return
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerXAResource;
            1    7     1     i  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  final synchronized void close();
    descriptor: ()V
    flags: (0x0030) ACC_FINAL, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
         0: .line 268
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.closeXAStatements:()V
         1: .line 269
            goto 5
      StackMap locals:
      StackMap stack: java.lang.Exception
         2: astore 1 /* e */
        start local 1 // java.lang.Exception e
         3: .line 270
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 5
         4: .line 271
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "Closing exception ignored: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.warning:(Ljava/lang/String;)V
        end local 1 // java.lang.Exception e
         5: .line 274
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.controlConnection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            ifnull 7
         6: .line 275
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.controlConnection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.close:()V
         7: .line 276
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerXAResource;
            3    5     1     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  private java.lang.String flagsDisplay(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
        start local 1 // int flags
         0: .line 282
            iload 1 /* flags */
            ifne 2
         1: .line 283
            ldc "TMNOFLAGS"
            areturn
         2: .line 286
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            bipush 100
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 2 /* sb */
        start local 2 // java.lang.StringBuilder sb
         3: .line 288
            ldc 8388608
            iload 1 /* flags */
            iand
            ifeq 5
         4: .line 289
            aload 2 /* sb */
            ldc "TMENDRSCAN"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 291
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            ldc 536870912
            iload 1 /* flags */
            iand
            ifeq 9
         6: .line 292
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 8
         7: .line 293
            aload 2 /* sb */
            ldc "|"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 294
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            ldc "TMFAIL"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 296
      StackMap locals:
      StackMap stack:
            ldc 2097152
            iload 1 /* flags */
            iand
            ifeq 13
        10: .line 297
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 12
        11: .line 298
            aload 2 /* sb */
            ldc "|"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 299
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            ldc "TMJOIN"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 301
      StackMap locals:
      StackMap stack:
            ldc 1073741824
            iload 1 /* flags */
            iand
            ifeq 17
        14: .line 302
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 16
        15: .line 303
            aload 2 /* sb */
            ldc "|"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        16: .line 304
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            ldc "TMONEPHASE"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        17: .line 306
      StackMap locals:
      StackMap stack:
            ldc 134217728
            iload 1 /* flags */
            iand
            ifeq 21
        18: .line 307
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 20
        19: .line 308
            aload 2 /* sb */
            ldc "|"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        20: .line 309
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            ldc "TMRESUME"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 311
      StackMap locals:
      StackMap stack:
            ldc 16777216
            iload 1 /* flags */
            iand
            ifeq 25
        22: .line 312
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 24
        23: .line 313
            aload 2 /* sb */
            ldc "|"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        24: .line 314
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            ldc "TMSTARTRSCAN"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        25: .line 316
      StackMap locals:
      StackMap stack:
            ldc 67108864
            iload 1 /* flags */
            iand
            ifeq 29
        26: .line 317
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 28
        27: .line 318
            aload 2 /* sb */
            ldc "|"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        28: .line 319
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            ldc "TMSUCCESS"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        29: .line 321
      StackMap locals:
      StackMap stack:
            ldc 33554432
            iload 1 /* flags */
            iand
            ifeq 33
        30: .line 322
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 32
        31: .line 323
            aload 2 /* sb */
            ldc "|"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        32: .line 324
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            ldc "TMSUSPEND"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        33: .line 327
      StackMap locals:
      StackMap stack:
            ldc 32768
            iload 1 /* flags */
            iand
            ifeq 37
        34: .line 328
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 36
        35: .line 329
            aload 2 /* sb */
            ldc "|"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        36: .line 330
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            ldc "SSTRANSTIGHTLYCPLD"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        37: .line 332
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder sb
        end local 1 // int flags
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   38     0   this  Lcom/microsoft/sqlserver/jdbc/SQLServerXAResource;
            0   38     1  flags  I
            3   38     2     sb  Ljava/lang/StringBuilder;
    MethodParameters:
       Name  Flags
      flags  

  private java.lang.String cookieDisplay(byte[]);
    descriptor: ([B)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
        start local 1 // byte[] cookie
         0: .line 337
            aload 1 /* cookie */
            invokestatic com.microsoft.sqlserver.jdbc.Util.byteToHexDisplayString:([B)Ljava/lang/String;
            areturn
        end local 1 // byte[] cookie
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/microsoft/sqlserver/jdbc/SQLServerXAResource;
            0    1     1  cookie  [B
    MethodParameters:
        Name  Flags
      cookie  

  private java.lang.String typeDisplay(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
        start local 1 // int type
         0: .line 342
            iload 1 /* type */
            tableswitch { // 0 - 6
                    0: 1
                    1: 2
                    2: 3
                    3: 4
                    4: 5
                    5: 6
                    6: 7
              default: 8
          }
         1: .line 344
      StackMap locals:
      StackMap stack:
            ldc "XA_START"
            areturn
         2: .line 346
      StackMap locals:
      StackMap stack:
            ldc "XA_END"
            areturn
         3: .line 348
      StackMap locals:
      StackMap stack:
            ldc "XA_PREPARE"
            areturn
         4: .line 350
      StackMap locals:
      StackMap stack:
            ldc "XA_COMMIT"
            areturn
         5: .line 352
      StackMap locals:
      StackMap stack:
            ldc "XA_ROLLBACK"
            areturn
         6: .line 354
      StackMap locals:
      StackMap stack:
            ldc "XA_FORGET"
            areturn
         7: .line 356
      StackMap locals:
      StackMap stack:
            ldc "XA_RECOVER"
            areturn
         8: .line 358
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "UNKNOWN"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* type */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // int type
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerXAResource;
            0    9     1  type  I
    MethodParameters:
      Name  Flags
      type  

  private com.microsoft.sqlserver.jdbc.XAReturnValue DTC_XA_Interface(int, javax.transaction.xa.Xid, int);
    descriptor: (ILjavax/transaction/xa/Xid;I)Lcom/microsoft/sqlserver/jdbc/XAReturnValue;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=21, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
        start local 1 // int nType
        start local 2 // javax.transaction.xa.Xid xid
        start local 3 // int xaFlags
         0: .line 365
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 4
         1: .line 366
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " Calling XA function for type:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            iload 1 /* nType */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.typeDisplay:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " flags:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 367
            aload 0 /* this */
            iload 3 /* xaFlags */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.flagsDisplay:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " xid:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* xid */
            invokestatic com.microsoft.sqlserver.jdbc.XidImpl.xidDisplay:(Ljavax/transaction/xa/Xid;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 366
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
         4: .line 369
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* formatId */
        start local 4 // int formatId
         5: .line 370
            aconst_null
            astore 5 /* gid */
        start local 5 // byte[] gid
         6: .line 371
            aconst_null
            astore 6 /* bid */
        start local 6 // byte[] bid
         7: .line 372
            aload 2 /* xid */
            ifnull 11
         8: .line 373
            aload 2 /* xid */
            invokeinterface javax.transaction.xa.Xid.getFormatId:()I
            istore 4 /* formatId */
         9: .line 374
            aload 2 /* xid */
            invokeinterface javax.transaction.xa.Xid.getGlobalTransactionId:()[B
            astore 5 /* gid */
        10: .line 375
            aload 2 /* xid */
            invokeinterface javax.transaction.xa.Xid.getBranchQualifier:()[B
            astore 6 /* bid */
        11: .line 378
      StackMap locals: int byte[] byte[]
      StackMap stack:
            ldc "DTC_XA_"
            astore 7 /* sContext */
        start local 7 // java.lang.String sContext
        12: .line 379
            iconst_1
            istore 8 /* n */
        start local 8 // int n
        13: .line 380
            iconst_0
            istore 9 /* nStatus */
        start local 9 // int nStatus
        14: .line 381
            new com.microsoft.sqlserver.jdbc.XAReturnValue
            dup
            invokespecial com.microsoft.sqlserver.jdbc.XAReturnValue.<init>:()V
            astore 10 /* returnStatus */
        start local 10 // com.microsoft.sqlserver.jdbc.XAReturnValue returnStatus
        15: .line 383
            aconst_null
            astore 11 /* cs */
        start local 11 // com.microsoft.sqlserver.jdbc.SQLServerCallableStatement cs
        16: .line 385
            aload 0 /* this */
            dup
            astore 12
            monitorenter
        17: .line 386
            getstatic com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaInitDone:Z
            ifne 78
        18: .line 388
            getstatic com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaInitLock:Ljava/lang/Object;
            dup
            astore 13
            monitorenter
        19: .line 389
            aconst_null
            astore 14 /* initCS */
        start local 14 // com.microsoft.sqlserver.jdbc.SQLServerCallableStatement initCS
        20: .line 391
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.controlConnection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
        21: .line 392
            ldc "{call master..xp_sqljdbc_xa_init_ex(?, ?,?)}"
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareCall:(Ljava/lang/String;)Ljava/sql/CallableStatement;
        22: .line 391
            checkcast com.microsoft.sqlserver.jdbc.SQLServerCallableStatement
            astore 14 /* initCS */
        23: .line 393
            aload 14 /* initCS */
            iconst_1
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
        24: .line 394
            aload 14 /* initCS */
            iconst_2
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
        25: .line 395
            aload 14 /* initCS */
            iconst_3
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
        26: .line 397
            aload 14 /* initCS */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.execute:()Z
            pop
        27: .line 398
            goto 46
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerXAResource int javax.transaction.xa.Xid int int byte[] byte[] java.lang.String int int com.microsoft.sqlserver.jdbc.XAReturnValue com.microsoft.sqlserver.jdbc.SQLServerCallableStatement com.microsoft.sqlserver.jdbc.SQLServerXAResource java.lang.Object com.microsoft.sqlserver.jdbc.SQLServerCallableStatement
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerException
        28: astore 15 /* eX */
        start local 15 // com.microsoft.sqlserver.jdbc.SQLServerException eX
        29: .line 400
            aload 14 /* initCS */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.close:()V
        30: .line 402
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.controlConnection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.close:()V
        31: .line 403
            goto 37
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerXAResource int javax.transaction.xa.Xid int int byte[] byte[] java.lang.String int int com.microsoft.sqlserver.jdbc.XAReturnValue com.microsoft.sqlserver.jdbc.SQLServerCallableStatement com.microsoft.sqlserver.jdbc.SQLServerXAResource java.lang.Object com.microsoft.sqlserver.jdbc.SQLServerCallableStatement com.microsoft.sqlserver.jdbc.SQLServerException
      StackMap stack: java.sql.SQLException
        32: astore 16 /* e3 */
        start local 16 // java.sql.SQLException e3
        33: .line 405
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 37
        34: .line 406
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        35: .line 407
            ldc " Ignoring exception when closing failed execution. exception:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 16 /* e3 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        36: .line 406
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
        end local 16 // java.sql.SQLException e3
        37: .line 409
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 39
        38: .line 410
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " exception:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 15 /* eX */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
        39: .line 411
      StackMap locals:
      StackMap stack:
            aload 15 /* eX */
            athrow
        end local 15 // com.microsoft.sqlserver.jdbc.SQLServerException eX
        40: .line 412
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerXAResource int javax.transaction.xa.Xid int int byte[] byte[] java.lang.String int int com.microsoft.sqlserver.jdbc.XAReturnValue com.microsoft.sqlserver.jdbc.SQLServerCallableStatement com.microsoft.sqlserver.jdbc.SQLServerXAResource java.lang.Object com.microsoft.sqlserver.jdbc.SQLServerCallableStatement
      StackMap stack: java.sql.SQLTimeoutException
            astore 15 /* e4 */
        start local 15 // java.sql.SQLTimeoutException e4
        41: .line 413
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 43
        42: .line 414
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " exception:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 15 /* e4 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
        43: .line 415
      StackMap locals: java.sql.SQLTimeoutException
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 15 /* e4 */
            invokevirtual java.sql.SQLTimeoutException.getMessage:()Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.SQLState.STATEMENT_CANCELED:Lcom/microsoft/sqlserver/jdbc/SQLState;
        44: .line 416
            getstatic com.microsoft.sqlserver.jdbc.DriverError.NOT_SET:Lcom/microsoft/sqlserver/jdbc/DriverError;
            aconst_null
        45: .line 415
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLState;Lcom/microsoft/sqlserver/jdbc/DriverError;Ljava/lang/Throwable;)V
            athrow
        end local 15 // java.sql.SQLTimeoutException e4
        46: .line 420
      StackMap locals:
      StackMap stack:
            aload 14 /* initCS */
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.getInt:(I)I
            istore 15 /* initStatus */
        start local 15 // int initStatus
        47: .line 421
            aload 14 /* initCS */
            iconst_2
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.getString:(I)Ljava/lang/String;
            astore 16 /* initErr */
        start local 16 // java.lang.String initErr
        48: .line 422
            aload 14 /* initCS */
            iconst_3
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.getString:(I)Ljava/lang/String;
            astore 17 /* versionNumberXADLL */
        start local 17 // java.lang.String versionNumberXADLL
        49: .line 423
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 51
        50: .line 424
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " Server XA DLL version:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 17 /* versionNumberXADLL */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
        51: .line 425
      StackMap locals: int java.lang.String java.lang.String
      StackMap stack:
            aload 14 /* initCS */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.close:()V
        52: .line 426
            iload 15 /* initStatus */
            ifeq 65
        53: .line 427
            getstatic com.microsoft.sqlserver.jdbc.SQLServerXAResource.$assertionsDisabled:Z
            ifne 55
            aload 16 /* initErr */
            ifnull 54
            aload 16 /* initErr */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpgt 55
      StackMap locals:
      StackMap stack:
        54: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        55: .line 428
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.controlConnection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.close:()V
        56: .line 430
            new java.text.MessageFormat
            dup
        57: .line 431
            ldc "R_failedToInitializeXA"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        58: .line 430
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 18 /* form */
        start local 18 // java.text.MessageFormat form
        59: .line 432
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            iload 15 /* initStatus */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 16 /* initErr */
            aastore
            astore 19 /* msgArgs */
        start local 19 // java.lang.Object[] msgArgs
        60: .line 433
            new javax.transaction.xa.XAException
            dup
            aload 18 /* form */
            aload 19 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial javax.transaction.xa.XAException.<init>:(Ljava/lang/String;)V
            astore 20 /* xex */
        start local 20 // javax.transaction.xa.XAException xex
        61: .line 434
            aload 20 /* xex */
            iload 15 /* initStatus */
            putfield javax.transaction.xa.XAException.errorCode:I
        62: .line 435
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 64
        63: .line 436
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " exception:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 20 /* xex */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
        64: .line 437
      StackMap locals: java.text.MessageFormat java.lang.Object[] javax.transaction.xa.XAException
      StackMap stack:
            aload 20 /* xex */
            athrow
        end local 20 // javax.transaction.xa.XAException xex
        end local 19 // java.lang.Object[] msgArgs
        end local 18 // java.text.MessageFormat form
        end local 17 // java.lang.String versionNumberXADLL
        end local 16 // java.lang.String initErr
        end local 15 // int initStatus
        end local 14 // com.microsoft.sqlserver.jdbc.SQLServerCallableStatement initCS
        65: .line 388
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerXAResource int javax.transaction.xa.Xid int int byte[] byte[] java.lang.String int int com.microsoft.sqlserver.jdbc.XAReturnValue com.microsoft.sqlserver.jdbc.SQLServerCallableStatement com.microsoft.sqlserver.jdbc.SQLServerXAResource java.lang.Object
      StackMap stack:
            aload 13
            monitorexit
        66: goto 77
      StackMap locals:
      StackMap stack: java.lang.Throwable
        67: aload 13
            monitorexit
        68: athrow
        69: .line 440
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerXAResource int javax.transaction.xa.Xid int int byte[] byte[] java.lang.String int int com.microsoft.sqlserver.jdbc.XAReturnValue com.microsoft.sqlserver.jdbc.SQLServerCallableStatement com.microsoft.sqlserver.jdbc.SQLServerXAResource
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerException
            astore 13 /* e1 */
        start local 13 // com.microsoft.sqlserver.jdbc.SQLServerException e1
        70: .line 441
            new java.text.MessageFormat
            dup
        71: .line 442
            ldc "R_failedToCreateXAConnection"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        72: .line 441
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 14 /* form */
        start local 14 // java.text.MessageFormat form
        73: .line 443
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 13 /* e1 */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerException.getMessage:()Ljava/lang/String;
            aastore
            astore 15 /* msgArgs */
        start local 15 // java.lang.Object[] msgArgs
        74: .line 444
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 76
        75: .line 445
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " exception:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 14 /* form */
            aload 15 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
        76: .line 446
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerException java.text.MessageFormat java.lang.Object[]
      StackMap stack:
            aconst_null
            aconst_null
            aload 14 /* form */
            aload 15 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_1
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
        end local 15 // java.lang.Object[] msgArgs
        end local 14 // java.text.MessageFormat form
        end local 13 // com.microsoft.sqlserver.jdbc.SQLServerException e1
        77: .line 448
      StackMap locals:
      StackMap stack:
            iconst_1
            putstatic com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaInitDone:Z
        78: .line 385
      StackMap locals:
      StackMap stack:
            aload 12
            monitorexit
        79: goto 82
      StackMap locals:
      StackMap stack: java.lang.Throwable
        80: aload 12
            monitorexit
        81: athrow
        82: .line 452
      StackMap locals:
      StackMap stack:
            iload 1 /* nType */
            tableswitch { // 0 - 6
                    0: 83
                    1: 146
                    2: 156
                    3: 168
                    4: 177
                    5: 189
                    6: 201
              default: 208
          }
        83: .line 455
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.serverInfoRetrieved:Z
            ifne 127
        84: .line 456
            ldc "select convert(varchar(100), SERVERPROPERTY('Edition'))as edition,  convert(varchar(100), SERVERPROPERTY('InstanceName'))as instance, convert(varchar(100), SERVERPROPERTY('ProductVersion')) as version, @@VERSION;"
            astore 12 /* query */
        start local 12 // java.lang.String query
        85: .line 459
            aconst_null
            astore 13
            aconst_null
            astore 14
        86: aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.controlConnection:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.createStatement:()Ljava/sql/Statement;
            astore 15 /* stmt */
        start local 15 // java.sql.Statement stmt
        87: .line 460
            aload 15 /* stmt */
            aload 12 /* query */
            invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
            astore 16 /* rs */
        start local 16 // java.sql.ResultSet rs
        88: .line 461
            aload 0 /* this */
            iconst_1
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.serverInfoRetrieved:Z
        89: .line 462
            aload 16 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            pop
        90: .line 464
            aload 16 /* rs */
            iconst_1
            invokeinterface java.sql.ResultSet.getString:(I)Ljava/lang/String;
            astore 17 /* edition */
        start local 17 // java.lang.String edition
        91: .line 465
            aload 0 /* this */
            aload 17 /* edition */
            ifnull 92
            aload 17 /* edition */
            ldc "(64-bit)"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 92
            bipush 64
            goto 93
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerXAResource int javax.transaction.xa.Xid int int byte[] byte[] java.lang.String int int com.microsoft.sqlserver.jdbc.XAReturnValue com.microsoft.sqlserver.jdbc.SQLServerCallableStatement java.lang.String java.lang.Throwable java.lang.Throwable java.sql.Statement java.sql.ResultSet java.lang.String
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerXAResource
        92: bipush 32
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerXAResource int javax.transaction.xa.Xid int int byte[] byte[] java.lang.String int int com.microsoft.sqlserver.jdbc.XAReturnValue com.microsoft.sqlserver.jdbc.SQLServerCallableStatement java.lang.String java.lang.Throwable java.lang.Throwable java.sql.Statement java.sql.ResultSet java.lang.String
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerXAResource int
        93: putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.architectureMSSQL:I
        94: .line 468
            aload 0 /* this */
            aload 16 /* rs */
            iconst_2
            invokeinterface java.sql.ResultSet.getString:(I)Ljava/lang/String;
            ifnonnull 95
            ldc "MSSQLSERVER"
            goto 96
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerXAResource
        95: aload 16 /* rs */
            iconst_2
            invokeinterface java.sql.ResultSet.getString:(I)Ljava/lang/String;
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerXAResource int javax.transaction.xa.Xid int int byte[] byte[] java.lang.String int int com.microsoft.sqlserver.jdbc.XAReturnValue com.microsoft.sqlserver.jdbc.SQLServerCallableStatement java.lang.String java.lang.Throwable java.lang.Throwable java.sql.Statement java.sql.ResultSet java.lang.String
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerXAResource java.lang.String
        96: putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.instanceName:Ljava/lang/String;
        97: .line 469
            aload 0 /* this */
            aload 16 /* rs */
            iconst_3
            invokeinterface java.sql.ResultSet.getString:(I)Ljava/lang/String;
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.version:Ljava/lang/String;
        98: .line 470
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.version:Ljava/lang/String;
            ifnonnull 101
        99: .line 471
            aload 0 /* this */
            ldc "0"
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.version:Ljava/lang/String;
       100: .line 472
            goto 103
      StackMap locals:
      StackMap stack:
       101: iconst_m1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.version:Ljava/lang/String;
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            if_icmpeq 103
       102: .line 473
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.version:Ljava/lang/String;
            iconst_0
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.version:Ljava/lang/String;
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.version:Ljava/lang/String;
       103: .line 480
      StackMap locals:
      StackMap stack:
            aload 16 /* rs */
            iconst_4
            invokeinterface java.sql.ResultSet.getString:(I)Ljava/lang/String;
            astore 18 /* buildInfo */
        start local 18 // java.lang.String buildInfo
       104: .line 482
            aload 18 /* buildInfo */
            ifnull 107
            aload 18 /* buildInfo */
            ldc "Linux"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 107
       105: .line 483
            aload 0 /* this */
            bipush 64
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.architectureOS:I
       106: .line 484
            goto 111
      StackMap locals: java.lang.String
      StackMap stack:
       107: aload 18 /* buildInfo */
            ifnull 111
       108: .line 485
            aload 0 /* this */
            aload 18 /* buildInfo */
            aload 18 /* buildInfo */
            bipush 60
            invokevirtual java.lang.String.lastIndexOf:(I)I
            iconst_2
            iadd
       109: .line 486
            aload 18 /* buildInfo */
            bipush 62
            invokevirtual java.lang.String.lastIndexOf:(I)I
       110: .line 485
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.architectureOS:I
        end local 18 // java.lang.String buildInfo
        end local 17 // java.lang.String edition
       111: .line 488
      StackMap locals:
      StackMap stack:
            aload 16 /* rs */
            ifnull 114
            aload 16 /* rs */
            invokeinterface java.sql.ResultSet.close:()V
            goto 114
      StackMap locals:
      StackMap stack: java.lang.Throwable
       112: astore 13
            aload 16 /* rs */
            ifnull 113
            aload 16 /* rs */
            invokeinterface java.sql.ResultSet.close:()V
        end local 16 // java.sql.ResultSet rs
      StackMap locals:
      StackMap stack:
       113: aload 13
            athrow
      StackMap locals:
      StackMap stack:
       114: aload 15 /* stmt */
            ifnull 127
            aload 15 /* stmt */
            invokeinterface java.sql.Statement.close:()V
            goto 127
      StackMap locals:
      StackMap stack: java.lang.Throwable
       115: astore 14
            aload 13
            ifnonnull 116
            aload 14
            astore 13
            goto 117
      StackMap locals:
      StackMap stack:
       116: aload 13
            aload 14
            if_acmpeq 117
            aload 13
            aload 14
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       117: aload 15 /* stmt */
            ifnull 118
            aload 15 /* stmt */
            invokeinterface java.sql.Statement.close:()V
        end local 15 // java.sql.Statement stmt
      StackMap locals:
      StackMap stack:
       118: aload 13
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       119: astore 14
            aload 13
            ifnonnull 120
            aload 14
            astore 13
            goto 121
      StackMap locals:
      StackMap stack:
       120: aload 13
            aload 14
            if_acmpeq 121
            aload 13
            aload 14
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       121: aload 13
            athrow
       122: .line 490
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerXAResource int javax.transaction.xa.Xid int int byte[] byte[] java.lang.String int int com.microsoft.sqlserver.jdbc.XAReturnValue com.microsoft.sqlserver.jdbc.SQLServerCallableStatement java.lang.String
      StackMap stack: java.lang.Exception
            astore 13 /* e */
        start local 13 // java.lang.Exception e
       123: .line 491
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 127
       124: .line 492
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
       125: .line 493
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " Cannot retrieve server information: :"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 13 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       126: .line 492
            invokevirtual java.util.logging.Logger.warning:(Ljava/lang/String;)V
        end local 13 // java.lang.Exception e
        end local 12 // java.lang.String query
       127: .line 497
      StackMap locals:
      StackMap stack:
            ldc "START:"
            astore 7 /* sContext */
       128: .line 498
            aload 0 /* this */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.getXACallableStatementHandle:(I)Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            astore 11 /* cs */
       129: .line 499
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       130: .line 500
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       131: .line 501
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 5 /* gid */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setBytes:(I[B)V
       132: .line 502
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 6 /* bid */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setBytes:(I[B)V
       133: .line 503
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iload 3 /* xaFlags */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       134: .line 504
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            bipush -2
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       135: .line 505
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.timeoutSeconds:I
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       136: .line 506
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iload 4 /* formatId */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       137: .line 507
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       138: .line 508
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.version:Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       139: .line 509
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.instanceName:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       140: .line 510
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.instanceName:Ljava/lang/String;
            invokevirtual java.lang.String.getBytes:()[B
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setBytes:(I[B)V
       141: .line 511
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.architectureMSSQL:I
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       142: .line 512
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.architectureOS:I
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       143: .line 513
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.isTransacrionTimeoutSet:I
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       144: .line 514
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            bipush -2
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       145: .line 516
            goto 209
       146: .line 519
      StackMap locals:
      StackMap stack:
            ldc "END:"
            astore 7 /* sContext */
       147: .line 520
            aload 0 /* this */
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.getXACallableStatementHandle:(I)Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            astore 11 /* cs */
       148: .line 521
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       149: .line 522
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       150: .line 523
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 5 /* gid */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setBytes:(I[B)V
       151: .line 524
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 6 /* bid */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setBytes:(I[B)V
       152: .line 525
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iload 3 /* xaFlags */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       153: .line 526
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iload 4 /* formatId */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       154: .line 527
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            bipush -2
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       155: .line 528
            goto 209
       156: .line 531
      StackMap locals:
      StackMap stack:
            ldc "PREPARE:"
            astore 7 /* sContext */
       157: .line 532
            ldc 32768
            iload 3 /* xaFlags */
            iand
            ldc 32768
            if_icmpne 159
       158: .line 533
            aload 0 /* this */
            bipush 7
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.getXACallableStatementHandle:(I)Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            astore 11 /* cs */
            goto 160
       159: .line 535
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.getXACallableStatementHandle:(I)Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            astore 11 /* cs */
       160: .line 537
      StackMap locals:
      StackMap stack:
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       161: .line 538
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       162: .line 539
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 5 /* gid */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setBytes:(I[B)V
       163: .line 540
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 6 /* bid */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setBytes:(I[B)V
       164: .line 541
            ldc 32768
            iload 3 /* xaFlags */
            iand
            ldc 32768
            if_icmpne 166
       165: .line 542
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iload 3 /* xaFlags */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       166: .line 543
      StackMap locals:
      StackMap stack:
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iload 4 /* formatId */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       167: .line 544
            goto 209
       168: .line 547
      StackMap locals:
      StackMap stack:
            ldc "COMMIT:"
            astore 7 /* sContext */
       169: .line 548
            aload 0 /* this */
            iconst_3
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.getXACallableStatementHandle:(I)Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            astore 11 /* cs */
       170: .line 549
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       171: .line 550
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       172: .line 551
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 5 /* gid */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setBytes:(I[B)V
       173: .line 552
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 6 /* bid */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setBytes:(I[B)V
       174: .line 553
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iload 3 /* xaFlags */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       175: .line 554
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iload 4 /* formatId */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       176: .line 555
            goto 209
       177: .line 558
      StackMap locals:
      StackMap stack:
            ldc "ROLLBACK:"
            astore 7 /* sContext */
       178: .line 559
            ldc 32768
            iload 3 /* xaFlags */
            iand
            ldc 32768
            if_icmpne 180
       179: .line 560
            aload 0 /* this */
            bipush 8
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.getXACallableStatementHandle:(I)Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            astore 11 /* cs */
            goto 181
       180: .line 562
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.getXACallableStatementHandle:(I)Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            astore 11 /* cs */
       181: .line 564
      StackMap locals:
      StackMap stack:
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       182: .line 565
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       183: .line 566
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 5 /* gid */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setBytes:(I[B)V
       184: .line 567
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 6 /* bid */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setBytes:(I[B)V
       185: .line 568
            ldc 32768
            iload 3 /* xaFlags */
            iand
            ldc 32768
            if_icmpne 187
       186: .line 569
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iload 3 /* xaFlags */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       187: .line 570
      StackMap locals:
      StackMap stack:
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iload 4 /* formatId */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       188: .line 571
            goto 209
       189: .line 574
      StackMap locals:
      StackMap stack:
            ldc "FORGET:"
            astore 7 /* sContext */
       190: .line 575
            ldc 32768
            iload 3 /* xaFlags */
            iand
            ldc 32768
            if_icmpne 192
       191: .line 576
            aload 0 /* this */
            bipush 9
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.getXACallableStatementHandle:(I)Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            astore 11 /* cs */
            goto 193
       192: .line 578
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_5
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.getXACallableStatementHandle:(I)Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            astore 11 /* cs */
       193: .line 579
      StackMap locals:
      StackMap stack:
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       194: .line 580
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       195: .line 581
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 5 /* gid */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setBytes:(I[B)V
       196: .line 582
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            aload 6 /* bid */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setBytes:(I[B)V
       197: .line 583
            ldc 32768
            iload 3 /* xaFlags */
            iand
            ldc 32768
            if_icmpne 199
       198: .line 584
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iload 3 /* xaFlags */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       199: .line 585
      StackMap locals:
      StackMap stack:
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iload 4 /* formatId */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       200: .line 586
            goto 209
       201: .line 589
      StackMap locals:
      StackMap stack:
            ldc "RECOVER:"
            astore 7 /* sContext */
       202: .line 590
            aload 0 /* this */
            bipush 6
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.getXACallableStatementHandle:(I)Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
            astore 11 /* cs */
       203: .line 591
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       204: .line 592
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       205: .line 593
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            iload 3 /* xaFlags */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.setInt:(II)V
       206: .line 594
            aload 11 /* cs */
            iload 8 /* n */
            iinc 8 /* n */ 1
            bipush -2
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.registerOutParameter:(II)V
       207: .line 596
            goto 209
       208: .line 598
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerXAResource.$assertionsDisabled:Z
            ifne 209
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown execution type:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* nType */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
       209: .line 605
      StackMap locals:
      StackMap stack:
            aload 11 /* cs */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.execute:()Z
            pop
       210: .line 606
            aload 11 /* cs */
            iconst_1
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.getInt:(I)I
            istore 9 /* nStatus */
       211: .line 607
            aload 11 /* cs */
            iconst_2
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.getString:(I)Ljava/lang/String;
            astore 12 /* sErr */
        start local 12 // java.lang.String sErr
       212: .line 608
            iload 1 /* nType */
            ifne 225
       213: .line 609
            aload 11 /* cs */
            bipush 9
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.getString:(I)Ljava/lang/String;
            astore 13 /* versionNumberXADLL */
        start local 13 // java.lang.String versionNumberXADLL
       214: .line 610
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 225
       215: .line 611
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " Server XA DLL version:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 13 /* versionNumberXADLL */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
       216: .line 612
            aload 11 /* cs */
            bipush 16
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.getString:(I)Ljava/lang/String;
            ifnull 225
       217: .line 613
            new java.lang.StringBuffer
            dup
            aload 11 /* cs */
            bipush 16
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.getString:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
            astore 14 /* strBuf */
        start local 14 // java.lang.StringBuffer strBuf
       218: .line 614
            aload 14 /* strBuf */
            bipush 20
            bipush 45
            invokevirtual java.lang.StringBuffer.insert:(IC)Ljava/lang/StringBuffer;
            pop
       219: .line 615
            aload 14 /* strBuf */
            bipush 16
            bipush 45
            invokevirtual java.lang.StringBuffer.insert:(IC)Ljava/lang/StringBuffer;
            pop
       220: .line 616
            aload 14 /* strBuf */
            bipush 12
            bipush 45
            invokevirtual java.lang.StringBuffer.insert:(IC)Ljava/lang/StringBuffer;
            pop
       221: .line 617
            aload 14 /* strBuf */
            bipush 8
            bipush 45
            invokevirtual java.lang.StringBuffer.insert:(IC)Ljava/lang/StringBuffer;
            pop
       222: .line 618
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " XID to UoW mapping for XA type:XA_START XID: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       223: .line 619
            aload 2 /* xid */
            invokestatic com.microsoft.sqlserver.jdbc.XidImpl.xidDisplay:(Ljavax/transaction/xa/Xid;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " UoW: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 14 /* strBuf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       224: .line 618
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
        end local 14 // java.lang.StringBuffer strBuf
        end local 13 // java.lang.String versionNumberXADLL
       225: .line 623
      StackMap locals: java.lang.String
      StackMap stack:
            iload 1 /* nType */
            iconst_1
            if_icmpne 236
       226: .line 624
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 236
       227: .line 625
            aload 11 /* cs */
            bipush 7
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.getString:(I)Ljava/lang/String;
            ifnull 236
       228: .line 626
            new java.lang.StringBuffer
            dup
            aload 11 /* cs */
            bipush 7
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.getString:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
            astore 13 /* strBuf */
        start local 13 // java.lang.StringBuffer strBuf
       229: .line 627
            aload 13 /* strBuf */
            bipush 20
            bipush 45
            invokevirtual java.lang.StringBuffer.insert:(IC)Ljava/lang/StringBuffer;
            pop
       230: .line 628
            aload 13 /* strBuf */
            bipush 16
            bipush 45
            invokevirtual java.lang.StringBuffer.insert:(IC)Ljava/lang/StringBuffer;
            pop
       231: .line 629
            aload 13 /* strBuf */
            bipush 12
            bipush 45
            invokevirtual java.lang.StringBuffer.insert:(IC)Ljava/lang/StringBuffer;
            pop
       232: .line 630
            aload 13 /* strBuf */
            bipush 8
            bipush 45
            invokevirtual java.lang.StringBuffer.insert:(IC)Ljava/lang/StringBuffer;
            pop
       233: .line 631
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " XID to UoW mapping for XA type:XA_END XID: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       234: .line 632
            aload 2 /* xid */
            invokestatic com.microsoft.sqlserver.jdbc.XidImpl.xidDisplay:(Ljavax/transaction/xa/Xid;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " UoW: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 13 /* strBuf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       235: .line 631
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
        end local 13 // java.lang.StringBuffer strBuf
       236: .line 636
      StackMap locals:
      StackMap stack:
            bipush 6
            iload 1 /* nType */
            if_icmpne 241
            iload 9 /* nStatus */
            ifeq 241
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.recoveryAttempt:I
            iconst_1
            if_icmpge 241
       237: .line 642
            aload 0 /* this */
            dup
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.recoveryAttempt:I
            iconst_1
            iadd
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.recoveryAttempt:I
       238: .line 643
            aload 0 /* this */
            iconst_0
            aload 2 /* xid */
            iconst_0
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.DTC_XA_Interface:(ILjavax/transaction/xa/Xid;I)Lcom/microsoft/sqlserver/jdbc/XAReturnValue;
            pop
       239: .line 644
            aload 0 /* this */
            bipush 6
            aload 2 /* xid */
            iload 3 /* xaFlags */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.DTC_XA_Interface:(ILjavax/transaction/xa/Xid;I)Lcom/microsoft/sqlserver/jdbc/XAReturnValue;
       240: areturn
       241: .line 648
      StackMap locals:
      StackMap stack:
            iconst_3
            iload 9 /* nStatus */
            if_icmpne 242
            iconst_1
            iload 1 /* nType */
            if_icmpeq 242
            iconst_2
            iload 1 /* nType */
            if_icmpne 243
       242: .line 649
      StackMap locals:
      StackMap stack:
            iload 9 /* nStatus */
            ifeq 261
            iconst_3
            iload 9 /* nStatus */
            if_icmpeq 261
       243: .line 650
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerXAResource.$assertionsDisabled:Z
            ifne 245
            aload 12 /* sErr */
            ifnull 244
            aload 12 /* sErr */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpgt 245
      StackMap locals:
      StackMap stack:
       244: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
       245: .line 651
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_failedFunctionXA"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 13 /* form */
        start local 13 // java.text.MessageFormat form
       246: .line 652
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* sContext */
            aastore
            dup
            iconst_1
            iload 9 /* nStatus */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 12 /* sErr */
            aastore
            astore 14 /* msgArgs */
        start local 14 // java.lang.Object[] msgArgs
       247: .line 653
            new javax.transaction.xa.XAException
            dup
            aload 13 /* form */
            aload 14 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial javax.transaction.xa.XAException.<init>:(Ljava/lang/String;)V
            astore 15 /* e */
        start local 15 // javax.transaction.xa.XAException e
       248: .line 654
            aload 15 /* e */
            iload 9 /* nStatus */
            putfield javax.transaction.xa.XAException.errorCode:I
       249: .line 656
            iload 1 /* nType */
            iconst_1
            if_icmpne 260
            bipush -7
            iload 9 /* nStatus */
            if_icmpne 260
       250: .line 658
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 252
       251: .line 659
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " Begin un-enlist, enlisted count:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.enlistedTransactionCount:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
       252: .line 660
      StackMap locals: java.text.MessageFormat java.lang.Object[] javax.transaction.xa.XAException
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.JTAUnenlistConnection:()V
       253: .line 661
            aload 0 /* this */
            dup
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.enlistedTransactionCount:I
            iconst_1
            isub
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.enlistedTransactionCount:I
       254: .line 662
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 260
       255: .line 663
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " End un-enlist, enlisted count:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.enlistedTransactionCount:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
       256: .line 664
            goto 260
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerException
       257: astore 16 /* e1 */
        start local 16 // com.microsoft.sqlserver.jdbc.SQLServerException e1
       258: .line 666
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 260
       259: .line 667
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " Ignoring exception:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 16 /* e1 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
        end local 16 // com.microsoft.sqlserver.jdbc.SQLServerException e1
       260: .line 670
      StackMap locals:
      StackMap stack:
            aload 15 /* e */
            athrow
        end local 15 // javax.transaction.xa.XAException e
        end local 14 // java.lang.Object[] msgArgs
        end local 13 // java.text.MessageFormat form
       261: .line 672
      StackMap locals:
      StackMap stack:
            iload 1 /* nType */
            ifne 287
       262: .line 674
            aload 11 /* cs */
            bipush 6
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.getBytes:(I)[B
            astore 13 /* transactionCookie */
        start local 13 // byte[] transactionCookie
       263: .line 675
            aload 13 /* transactionCookie */
            ifnonnull 270
       264: .line 676
            new java.text.MessageFormat
            dup
       265: .line 677
            ldc "R_noTransactionCookie"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
       266: .line 676
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 14 /* form */
        start local 14 // java.text.MessageFormat form
       267: .line 678
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* sContext */
            aastore
            astore 15 /* msgArgs */
        start local 15 // java.lang.Object[] msgArgs
       268: .line 679
            aconst_null
            aconst_null
            aload 14 /* form */
            aload 15 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_1
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
        end local 15 // java.lang.Object[] msgArgs
        end local 14 // java.text.MessageFormat form
       269: .line 681
            goto 287
       270: .line 683
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 276
       271: .line 684
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
       272: .line 685
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " Begin enlisting, cookie:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            aload 13 /* transactionCookie */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.cookieDisplay:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       273: .line 686
            ldc " enlisted count:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.enlistedTransactionCount:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
       274: .line 685
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       275: .line 684
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
       276: .line 687
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            aload 13 /* transactionCookie */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.JTAEnlistConnection:([B)V
       277: .line 688
            aload 0 /* this */
            dup
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.enlistedTransactionCount:I
            iconst_1
            iadd
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.enlistedTransactionCount:I
       278: .line 689
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 287
       279: .line 690
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " End enlisting, cookie:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            aload 13 /* transactionCookie */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.cookieDisplay:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       280: .line 691
            ldc " enlisted count:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.enlistedTransactionCount:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       281: .line 690
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
       282: .line 692
            goto 287
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerException
       283: astore 14 /* e1 */
        start local 14 // com.microsoft.sqlserver.jdbc.SQLServerException e1
       284: .line 693
            new java.text.MessageFormat
            dup
            ldc "R_failedToEnlist"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 15 /* form */
        start local 15 // java.text.MessageFormat form
       285: .line 694
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 14 /* e1 */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerException.getMessage:()Ljava/lang/String;
            aastore
            astore 16 /* msgArgs */
        start local 16 // java.lang.Object[] msgArgs
       286: .line 695
            aconst_null
            aconst_null
            aload 15 /* form */
            aload 16 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_1
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
        end local 16 // java.lang.Object[] msgArgs
        end local 15 // java.text.MessageFormat form
        end local 14 // com.microsoft.sqlserver.jdbc.SQLServerException e1
        end local 13 // byte[] transactionCookie
       287: .line 699
      StackMap locals:
      StackMap stack:
            iload 1 /* nType */
            iconst_1
            if_icmpne 299
       288: .line 701
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 290
       289: .line 702
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " Begin un-enlist, enlisted count:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.enlistedTransactionCount:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
       290: .line 703
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.con:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.JTAUnenlistConnection:()V
       291: .line 704
            aload 0 /* this */
            dup
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.enlistedTransactionCount:I
            iconst_1
            isub
            putfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.enlistedTransactionCount:I
       292: .line 705
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 299
       293: .line 706
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " End un-enlist, enlisted count:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.enlistedTransactionCount:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
       294: .line 707
            goto 299
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerException
       295: astore 13 /* e1 */
        start local 13 // com.microsoft.sqlserver.jdbc.SQLServerException e1
       296: .line 708
            new java.text.MessageFormat
            dup
            ldc "R_failedToUnEnlist"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 14 /* form */
        start local 14 // java.text.MessageFormat form
       297: .line 709
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 13 /* e1 */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerException.getMessage:()Ljava/lang/String;
            aastore
            astore 15 /* msgArgs */
        start local 15 // java.lang.Object[] msgArgs
       298: .line 710
            aconst_null
            aconst_null
            aload 14 /* form */
            aload 15 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_1
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
        end local 15 // java.lang.Object[] msgArgs
        end local 14 // java.text.MessageFormat form
        end local 13 // com.microsoft.sqlserver.jdbc.SQLServerException e1
       299: .line 713
      StackMap locals:
      StackMap stack:
            iload 1 /* nType */
            bipush 6
            if_icmpne 315
       300: .line 717
            aload 10 /* returnStatus */
            aload 11 /* cs */
            iconst_4
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerCallableStatement.getBytes:(I)[B
            putfield com.microsoft.sqlserver.jdbc.XAReturnValue.bData:[B
       301: .line 718
            goto 315
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerException
       302: astore 13 /* e1 */
        start local 13 // com.microsoft.sqlserver.jdbc.SQLServerException e1
       303: .line 719
            new java.text.MessageFormat
            dup
       304: .line 720
            ldc "R_failedToReadRecoveryXIDs"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
       305: .line 719
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 14 /* form */
        start local 14 // java.text.MessageFormat form
       306: .line 721
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 13 /* e1 */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerException.getMessage:()Ljava/lang/String;
            aastore
            astore 15 /* msgArgs */
        start local 15 // java.lang.Object[] msgArgs
       307: .line 722
            aconst_null
            aconst_null
            aload 14 /* form */
            aload 15 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_1
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
        end local 15 // java.lang.Object[] msgArgs
        end local 14 // java.text.MessageFormat form
        end local 13 // com.microsoft.sqlserver.jdbc.SQLServerException e1
        end local 12 // java.lang.String sErr
       308: .line 726
            goto 315
      StackMap locals: com.microsoft.sqlserver.jdbc.SQLServerXAResource int javax.transaction.xa.Xid int int byte[] byte[] java.lang.String int int com.microsoft.sqlserver.jdbc.XAReturnValue com.microsoft.sqlserver.jdbc.SQLServerCallableStatement
      StackMap stack: java.sql.SQLException
       309: astore 12 /* ex */
        start local 12 // java.sql.SQLException ex
       310: .line 727
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 312
       311: .line 728
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " exception:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 12 /* ex */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
       312: .line 729
      StackMap locals: java.sql.SQLException
      StackMap stack:
            new javax.transaction.xa.XAException
            dup
            aload 12 /* ex */
            invokevirtual java.sql.SQLException.toString:()Ljava/lang/String;
            invokespecial javax.transaction.xa.XAException.<init>:(Ljava/lang/String;)V
            astore 13 /* e */
        start local 13 // javax.transaction.xa.XAException e
       313: .line 730
            aload 13 /* e */
            bipush -3
            putfield javax.transaction.xa.XAException.errorCode:I
       314: .line 731
            aload 13 /* e */
            athrow
        end local 13 // javax.transaction.xa.XAException e
        end local 12 // java.sql.SQLException ex
       315: .line 734
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 317
       316: .line 735
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerXAResource.xaLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerXAResource.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " Status:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 9 /* nStatus */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.finer:(Ljava/lang/String;)V
       317: .line 737
      StackMap locals:
      StackMap stack:
            aload 10 /* returnStatus */
            iload 9 /* nStatus */
            putfield com.microsoft.sqlserver.jdbc.XAReturnValue.nStatus:I
       318: .line 738
            aload 10 /* returnStatus */
            areturn
        end local 11 // com.microsoft.sqlserver.jdbc.SQLServerCallableStatement cs
        end local 10 // com.microsoft.sqlserver.jdbc.XAReturnValue returnStatus
        end local 9 // int nStatus
        end local 8 // int n
        end local 7 // java.lang.String sContext
        end local 6 // byte[] bid
        end local 5 // byte[] gid
        end local 4 // int formatId
        end local 3 // int xaFlags
        end local 2 // javax.transaction.xa.Xid xid
        end local 1 // int nType
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerXAResource this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0  319     0                this  Lcom/microsoft/sqlserver/jdbc/SQLServerXAResource;
            0  319     1               nType  I
            0  319     2                 xid  Ljavax/transaction/xa/Xid;
            0  319     3             xaFlags  I
            5  319     4            formatId  I
            6  319     5                 gid  [B
            7  319     6                 bid  [B
           12  319     7            sContext  Ljava/lang/String;
           13  319     8                   n  I
           14  319     9             nStatus  I
           15  319    10        returnStatus  Lcom/microsoft/sqlserver/jdbc/XAReturnValue;
           16  319    11                  cs  Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
           20   65    14              initCS  Lcom/microsoft/sqlserver/jdbc/SQLServerCallableStatement;
           29   40    15                  eX  Lcom/microsoft/sqlserver/jdbc/SQLServerException;
           33   37    16                  e3  Ljava/sql/SQLException;
           41   46    15                  e4  Ljava/sql/SQLTimeoutException;
           47   65    15          initStatus  I
           48   65    16             initErr  Ljava/lang/String;
           49   65    17  versionNumberXADLL  Ljava/lang/String;
           59   65    18                form  Ljava/text/MessageFormat;
           60   65    19             msgArgs  [Ljava/lang/Object;
           61   65    20                 xex  Ljavax/transaction/xa/XAException;
           70   77    13                  e1  Lcom/microsoft/sqlserver/jdbc/SQLServerException;
           73   77    14                form  Ljava/text/MessageFormat;
           74   77    15             msgArgs  [Ljava/lang/Object;
           85  127    12               query  Ljava/lang/String;
           87  118    15                stmt  Ljava/sql/Statement;
           88  113    16                  rs  Ljava/sql/ResultSet;
           91  111    17             edition  Ljava/lang/String;
          104  111    18           buildInfo  Ljava/lang/String;
          123  127    13                   e  Ljava/lang/Exception;
          212  308    12                sErr  Ljava/lang/String;
          214  225    13  versionNumberXADLL