public class org.jf.baksmali.DisassembleCommand extends org.jf.baksmali.DexInputCommand
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jf.baksmali.DisassembleCommand
  super_class: org.jf.baksmali.DexInputCommand
{
  private boolean help;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.beust.jcommander.Parameter(names = {"-h", "-?", "--help"}, help = true, description = "Show usage information for this command.")

  protected org.jf.baksmali.AnalysisArguments analysisArguments;
    descriptor: Lorg/jf/baksmali/AnalysisArguments;
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      com.beust.jcommander.ParametersDelegate()

  private boolean debugInfo;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.beust.jcommander.Parameter(names = {"--debug-info", "--di"}, arity = 1, description = "Whether to include debug information in the output (.local, .param, .line, etc.). True by default, use --debug-info=false to disable.")
      org.jf.util.jcommander.ExtendedParameter(argumentNames = {"boolean"})

  private boolean codeOffsets;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.beust.jcommander.Parameter(names = {"--code-offsets", "--offsets", "--off"}, description = "Add a comment before each instruction with it's code offset within the method.")

  private java.util.List<java.lang.String> resourceIdFiles;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/lang/String;>;
    RuntimeVisibleAnnotations: 
      com.beust.jcommander.Parameter(names = {"--resolve-resources", "--rr"}, arity = 2, description = "This will attempt to find any resource id references within the bytecode and add a comment with the name of the resource being referenced. The parameter accepts 2 values:an arbitrary resource prefix and the path to a public.xml file. For example: --resolve-resources android.R framework/res/values/public.xml. This option can be specified multiple times to provide resources from multiple packages.")
      org.jf.util.jcommander.ExtendedParameter(argumentNames = {"resource prefix", "public.xml file"})

  private int jobs;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.beust.jcommander.Parameter(names = {"-j", "--jobs"}, description = "The number of threads to use. Defaults to the number of cores available.", validateWith = Lcom/beust/jcommander/validators/PositiveInteger;)
      org.jf.util.jcommander.ExtendedParameter(argumentNames = {"n"})

  private boolean localsDirective;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.beust.jcommander.Parameter(names = {"-l", "--use-locals"}, description = "When disassembling, output the .locals directive with the number of non-parameter registers instead of the .registers directive with the total number of registers.")

  private boolean accessorComments;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.beust.jcommander.Parameter(names = {"--accessor-comments", "--ac"}, arity = 1, description = "Generate helper comments for synthetic accessors. True by default, use --accessor-comments=false to disable.")
      org.jf.util.jcommander.ExtendedParameter(argumentNames = {"boolean"})

  private boolean normalizeVirtualMethods;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.beust.jcommander.Parameter(names = {"--normalize-virtual-methods", "--norm", "--nvm"}, description = "Normalize virtual method references to use the base class where the method is originally declared.")

  private java.lang.String outputDir;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.beust.jcommander.Parameter(names = {"-o", "--output"}, description = "The directory to write the disassembled files to.")
      org.jf.util.jcommander.ExtendedParameter(argumentNames = {"dir"})

  private boolean parameterRegisters;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.beust.jcommander.Parameter(names = {"--parameter-registers", "--preg", "--pr"}, arity = 1, description = "Use the pNN syntax for registers that refer to a method parameter on method entry. True by default, use --parameter-registers=false to disable.")
      org.jf.util.jcommander.ExtendedParameter(argumentNames = {"boolean"})

  private java.util.List<java.lang.String> registerInfoTypes;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/lang/String;>;
    RuntimeVisibleAnnotations: 
      com.beust.jcommander.Parameter(names = {"-r", "--register-info"}, description = "Add comments before/after each instruction with information about register types. The value is a comma-separated list of any of ALL, ALLPRE, ALLPOST, ARGS, DEST, MERGE and FULLMERGE. See \"baksmali help register-info\" for more information.")
      org.jf.util.jcommander.ExtendedParameter(argumentNames = {"register info specifier"})

  private boolean sequentialLabels;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.beust.jcommander.Parameter(names = {"--sequential-labels", "--seq", "--sl"}, description = "Create label names using a sequential numbering scheme per label type, rather than using the bytecode address.")

  private boolean implicitReferences;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.beust.jcommander.Parameter(names = {"--implicit-references", "--implicit", "--ir"}, description = "Use implicit method and field references (without the class name) for methods and fields from the current class.")

  private boolean allowOdex;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.beust.jcommander.Parameter(names = {"--allow-odex-opcodes"}, description = "Allows odex opcodes to be disassembled, even if the result won't be able to be reassembled.")

  private java.util.List<java.lang.String> classes;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/lang/String;>;
    RuntimeVisibleAnnotations: 
      com.beust.jcommander.Parameter(names = {"--classes"}, description = "A comma separated list of classes. Only disassemble these classes")
      org.jf.util.jcommander.ExtendedParameter(argumentNames = {"classes"})

  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=1, locals=0, args_size=0
         0: .line 58
            ldc Lorg/jf/baksmali/DisassembleCommand;
            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 org.jf.baksmali.DisassembleCommand.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.util.List<com.beust.jcommander.JCommander>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jf.baksmali.DisassembleCommand this
        start local 1 // java.util.List commandAncestors
         0: .line 146
            aload 0 /* this */
            aload 1 /* commandAncestors */
            invokespecial org.jf.baksmali.DexInputCommand.<init>:(Ljava/util/List;)V
         1: .line 65
            aload 0 /* this */
            new org.jf.baksmali.AnalysisArguments
            dup
            invokespecial org.jf.baksmali.AnalysisArguments.<init>:()V
            putfield org.jf.baksmali.DisassembleCommand.analysisArguments:Lorg/jf/baksmali/AnalysisArguments;
         2: .line 71
            aload 0 /* this */
            iconst_1
            putfield org.jf.baksmali.DisassembleCommand.debugInfo:Z
         3: .line 75
            aload 0 /* this */
            iconst_0
            putfield org.jf.baksmali.DisassembleCommand.codeOffsets:Z
         4: .line 84
            aload 0 /* this */
            invokestatic com.google.common.collect.Lists.newArrayList:()Ljava/util/ArrayList;
            putfield org.jf.baksmali.DisassembleCommand.resourceIdFiles:Ljava/util/List;
         5: .line 90
            aload 0 /* this */
            invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
            invokevirtual java.lang.Runtime.availableProcessors:()I
            putfield org.jf.baksmali.DisassembleCommand.jobs:I
         6: .line 95
            aload 0 /* this */
            iconst_0
            putfield org.jf.baksmali.DisassembleCommand.localsDirective:Z
         7: .line 101
            aload 0 /* this */
            iconst_1
            putfield org.jf.baksmali.DisassembleCommand.accessorComments:Z
         8: .line 106
            aload 0 /* this */
            iconst_0
            putfield org.jf.baksmali.DisassembleCommand.normalizeVirtualMethods:Z
         9: .line 111
            aload 0 /* this */
            ldc "out"
            putfield org.jf.baksmali.DisassembleCommand.outputDir:Ljava/lang/String;
        10: .line 117
            aload 0 /* this */
            iconst_1
            putfield org.jf.baksmali.DisassembleCommand.parameterRegisters:Z
        11: .line 124
            aload 0 /* this */
            invokestatic com.google.common.collect.Lists.newArrayList:()Ljava/util/ArrayList;
            putfield org.jf.baksmali.DisassembleCommand.registerInfoTypes:Ljava/util/List;
        12: .line 129
            aload 0 /* this */
            iconst_0
            putfield org.jf.baksmali.DisassembleCommand.sequentialLabels:Z
        13: .line 134
            aload 0 /* this */
            iconst_0
            putfield org.jf.baksmali.DisassembleCommand.implicitReferences:Z
        14: .line 138
            aload 0 /* this */
            iconst_0
            putfield org.jf.baksmali.DisassembleCommand.allowOdex:Z
        15: .line 143
            aload 0 /* this */
            aconst_null
            putfield org.jf.baksmali.DisassembleCommand.classes:Ljava/util/List;
        16: .line 147
            return
        end local 1 // java.util.List commandAncestors
        end local 0 // org.jf.baksmali.DisassembleCommand this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   17     0              this  Lorg/jf/baksmali/DisassembleCommand;
            0   17     1  commandAncestors  Ljava/util/List<Lcom/beust/jcommander/JCommander;>;
    Signature: (Ljava/util/List<Lcom/beust/jcommander/JCommander;>;)V
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        javax.annotation.Nonnull()
    RuntimeVisibleParameterAnnotations: 
      0:
        javax.annotation.Nonnull()
    MethodParameters:
                  Name  Flags
      commandAncestors  

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.jf.baksmali.DisassembleCommand this
         0: .line 150
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.help:Z
            ifne 1
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.inputList:Ljava/util/List;
            ifnull 1
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.inputList:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 3
         1: .line 151
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jf.baksmali.DisassembleCommand.usage:()V
         2: .line 152
            return
         3: .line 155
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.inputList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmple 7
         4: .line 156
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "Too many files specified"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         5: .line 157
            aload 0 /* this */
            invokevirtual org.jf.baksmali.DisassembleCommand.usage:()V
         6: .line 158
            return
         7: .line 161
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.inputList:Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* input */
        start local 1 // java.lang.String input
         8: .line 162
            aload 0 /* this */
            aload 1 /* input */
            invokevirtual org.jf.baksmali.DisassembleCommand.loadDexFile:(Ljava/lang/String;)V
         9: .line 164
            aload 0 /* this */
            invokevirtual org.jf.baksmali.DisassembleCommand.showDeodexWarning:()Z
            ifeq 14
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.dexFile:Lorg/jf/dexlib2/dexbacked/DexBackedDexFile;
            invokevirtual org.jf.dexlib2.dexbacked.DexBackedDexFile.supportsOptimizedOpcodes:()Z
            ifeq 14
        10: .line 165
            getstatic java.lang.System.err:Ljava/io/PrintStream;
        11: .line 166
            ldc "Warning: You are disassembling an odex/oat file without deodexing it. You won't be able to re-assemble the results unless you deodex it. See \"baksmali help deodex\""
        12: .line 168
            invokestatic org.jf.util.ConsoleUtil.getConsoleWidth:()I
        13: .line 165
            invokestatic org.jf.util.StringWrapper.printWrappedString:(Ljava/io/PrintStream;Ljava/lang/String;I)V
        14: .line 171
      StackMap locals: java.lang.String
      StackMap stack:
            new java.io.File
            dup
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.outputDir:Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 2 /* outputDirectoryFile */
        start local 2 // java.io.File outputDirectoryFile
        15: .line 172
            aload 2 /* outputDirectoryFile */
            invokevirtual java.io.File.exists:()Z
            ifne 19
        16: .line 173
            aload 2 /* outputDirectoryFile */
            invokevirtual java.io.File.mkdirs:()Z
            ifne 19
        17: .line 174
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Can't create the output directory "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.outputDir:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        18: .line 175
            iconst_m1
            invokestatic java.lang.System.exit:(I)V
        19: .line 179
      StackMap locals: java.io.File
      StackMap stack:
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.analysisArguments:Lorg/jf/baksmali/AnalysisArguments;
            getfield org.jf.baksmali.AnalysisArguments.classPathDirectories:Ljava/util/List;
            ifnull 20
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.analysisArguments:Lorg/jf/baksmali/AnalysisArguments;
            getfield org.jf.baksmali.AnalysisArguments.classPathDirectories:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 21
        20: .line 180
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.analysisArguments:Lorg/jf/baksmali/AnalysisArguments;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.inputFile:Ljava/io/File;
            invokevirtual java.io.File.getAbsoluteFile:()Ljava/io/File;
            invokevirtual java.io.File.getParent:()Ljava/lang/String;
            aastore
            invokestatic com.google.common.collect.Lists.newArrayList:([Ljava/lang/Object;)Ljava/util/ArrayList;
            putfield org.jf.baksmali.AnalysisArguments.classPathDirectories:Ljava/util/List;
        21: .line 183
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.dexFile:Lorg/jf/dexlib2/dexbacked/DexBackedDexFile;
            aload 2 /* outputDirectoryFile */
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.jobs:I
            aload 0 /* this */
            invokevirtual org.jf.baksmali.DisassembleCommand.getOptions:()Lorg/jf/baksmali/BaksmaliOptions;
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.classes:Ljava/util/List;
            invokestatic org.jf.baksmali.Baksmali.disassembleDexFile:(Lorg/jf/dexlib2/iface/DexFile;Ljava/io/File;ILorg/jf/baksmali/BaksmaliOptions;Ljava/util/List;)Z
            ifne 23
        22: .line 184
            iconst_m1
            invokestatic java.lang.System.exit:(I)V
        23: .line 186
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.io.File outputDirectoryFile
        end local 1 // java.lang.String input
        end local 0 // org.jf.baksmali.DisassembleCommand this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   24     0                 this  Lorg/jf/baksmali/DisassembleCommand;
            8   24     1                input  Ljava/lang/String;
           15   24     2  outputDirectoryFile  Ljava/io/File;

  protected boolean needsClassPath();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jf.baksmali.DisassembleCommand this
         0: .line 189
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.registerInfoTypes:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 1
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.normalizeVirtualMethods:Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // org.jf.baksmali.DisassembleCommand this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jf/baksmali/DisassembleCommand;

  protected boolean shouldCheckPackagePrivateAccess();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jf.baksmali.DisassembleCommand this
         0: .line 193
            iconst_0
            ireturn
        end local 0 // org.jf.baksmali.DisassembleCommand this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jf/baksmali/DisassembleCommand;

  protected boolean showDeodexWarning();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jf.baksmali.DisassembleCommand this
         0: .line 197
            iconst_1
            ireturn
        end local 0 // org.jf.baksmali.DisassembleCommand this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jf/baksmali/DisassembleCommand;

  protected org.jf.baksmali.BaksmaliOptions getOptions();
    descriptor: ()Lorg/jf/baksmali/BaksmaliOptions;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=7, args_size=1
        start local 0 // org.jf.baksmali.DisassembleCommand this
         0: .line 201
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.dexFile:Lorg/jf/dexlib2/dexbacked/DexBackedDexFile;
            ifnonnull 2
         1: .line 202
            new java.lang.IllegalStateException
            dup
            ldc "You must call loadDexFile first"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 205
      StackMap locals:
      StackMap stack:
            new org.jf.baksmali.BaksmaliOptions
            dup
            invokespecial org.jf.baksmali.BaksmaliOptions.<init>:()V
            astore 1 /* options */
        start local 1 // org.jf.baksmali.BaksmaliOptions options
         3: .line 207
            aload 0 /* this */
            invokevirtual org.jf.baksmali.DisassembleCommand.needsClassPath:()Z
            ifeq 12
         4: .line 209
            aload 1 /* options */
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.analysisArguments:Lorg/jf/baksmali/AnalysisArguments;
         5: .line 210
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.inputFile:Ljava/io/File;
            invokevirtual java.io.File.getAbsoluteFile:()Ljava/io/File;
            invokevirtual java.io.File.getParentFile:()Ljava/io/File;
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.dexEntry:Lorg/jf/dexlib2/iface/MultiDexContainer$DexEntry;
            aload 0 /* this */
            invokevirtual org.jf.baksmali.DisassembleCommand.shouldCheckPackagePrivateAccess:()Z
         6: .line 209
            invokevirtual org.jf.baksmali.AnalysisArguments.loadClassPathForDexFile:(Ljava/io/File;Lorg/jf/dexlib2/iface/MultiDexContainer$DexEntry;Z)Lorg/jf/dexlib2/analysis/ClassPath;
            putfield org.jf.baksmali.BaksmaliOptions.classPath:Lorg/jf/dexlib2/analysis/ClassPath;
         7: .line 211
            goto 12
      StackMap locals: org.jf.baksmali.DisassembleCommand org.jf.baksmali.BaksmaliOptions
      StackMap stack: java.lang.Exception
         8: astore 2 /* ex */
        start local 2 // java.lang.Exception ex
         9: .line 212
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "\n\nError occurred while loading class path files. Aborting."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        10: .line 213
            aload 2 /* ex */
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.lang.Exception.printStackTrace:(Ljava/io/PrintStream;)V
        11: .line 214
            iconst_m1
            invokestatic java.lang.System.exit:(I)V
        end local 2 // java.lang.Exception ex
        12: .line 218
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.resourceIdFiles:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 37
        13: .line 219
            invokestatic com.google.common.collect.Maps.newHashMap:()Ljava/util/HashMap;
            astore 2 /* resourceFiles */
        start local 2 // java.util.Map resourceFiles
        14: .line 221
            getstatic org.jf.baksmali.DisassembleCommand.$assertionsDisabled:Z
            ifne 15
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.resourceIdFiles:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_2
            irem
            ifeq 15
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        15: .line 222
      StackMap locals: java.util.Map
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        16: goto 25
        17: .line 223
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.resourceIdFiles:Ljava/util/List;
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* resourcePrefix */
        start local 4 // java.lang.String resourcePrefix
        18: .line 224
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.resourceIdFiles:Ljava/util/List;
            iload 3 /* i */
            iconst_1
            iadd
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* publicXml */
        start local 5 // java.lang.String publicXml
        19: .line 226
            new java.io.File
            dup
            aload 5 /* publicXml */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 6 /* publicXmlFile */
        start local 6 // java.io.File publicXmlFile
        20: .line 228
            aload 6 /* publicXmlFile */
            invokevirtual java.io.File.exists:()Z
            ifne 23
        21: .line 229
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "Can't find file: %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 6 /* publicXmlFile */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        22: .line 230
            iconst_m1
            invokestatic java.lang.System.exit:(I)V
        23: .line 233
      StackMap locals: java.lang.String java.lang.String java.io.File
      StackMap stack:
            aload 2 /* resourceFiles */
            aload 4 /* resourcePrefix */
            aload 6 /* publicXmlFile */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // java.io.File publicXmlFile
        end local 5 // java.lang.String publicXml
        end local 4 // java.lang.String resourcePrefix
        24: .line 222
            iinc 3 /* i */ 2
      StackMap locals:
      StackMap stack:
        25: iload 3 /* i */
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.resourceIdFiles:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 17
        end local 3 // int i
        26: .line 237
            aload 1 /* options */
            aload 2 /* resourceFiles */
            invokevirtual org.jf.baksmali.BaksmaliOptions.loadResourceIds:(Ljava/util/Map;)V
        27: .line 238
            goto 37
      StackMap locals: org.jf.baksmali.DisassembleCommand org.jf.baksmali.BaksmaliOptions java.util.Map
      StackMap stack: java.io.IOException
        28: astore 3 /* ex */
        start local 3 // java.io.IOException ex
        29: .line 239
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "Error while loading resource files:"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        30: .line 240
            aload 3 /* ex */
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.IOException.printStackTrace:(Ljava/io/PrintStream;)V
        31: .line 241
            iconst_m1
            invokestatic java.lang.System.exit:(I)V
        end local 3 // java.io.IOException ex
        32: goto 37
        33: .line 242
      StackMap locals:
      StackMap stack: org.xml.sax.SAXException
            astore 3 /* ex */
        start local 3 // org.xml.sax.SAXException ex
        34: .line 243
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "Error while loading resource files:"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        35: .line 244
            aload 3 /* ex */
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual org.xml.sax.SAXException.printStackTrace:(Ljava/io/PrintStream;)V
        36: .line 245
            iconst_m1
            invokestatic java.lang.System.exit:(I)V
        end local 3 // org.xml.sax.SAXException ex
        end local 2 // java.util.Map resourceFiles
        37: .line 249
      StackMap locals:
      StackMap stack:
            aload 1 /* options */
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.parameterRegisters:Z
            putfield org.jf.baksmali.BaksmaliOptions.parameterRegisters:Z
        38: .line 250
            aload 1 /* options */
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.localsDirective:Z
            putfield org.jf.baksmali.BaksmaliOptions.localsDirective:Z
        39: .line 251
            aload 1 /* options */
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.sequentialLabels:Z
            putfield org.jf.baksmali.BaksmaliOptions.sequentialLabels:Z
        40: .line 252
            aload 1 /* options */
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.debugInfo:Z
            putfield org.jf.baksmali.BaksmaliOptions.debugInfo:Z
        41: .line 253
            aload 1 /* options */
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.codeOffsets:Z
            putfield org.jf.baksmali.BaksmaliOptions.codeOffsets:Z
        42: .line 254
            aload 1 /* options */
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.accessorComments:Z
            putfield org.jf.baksmali.BaksmaliOptions.accessorComments:Z
        43: .line 255
            aload 1 /* options */
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.implicitReferences:Z
            putfield org.jf.baksmali.BaksmaliOptions.implicitReferences:Z
        44: .line 256
            aload 1 /* options */
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.normalizeVirtualMethods:Z
            putfield org.jf.baksmali.BaksmaliOptions.normalizeVirtualMethods:Z
        45: .line 258
            aload 1 /* options */
            iconst_0
            putfield org.jf.baksmali.BaksmaliOptions.registerInfo:I
        46: .line 260
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.registerInfoTypes:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 74
      StackMap locals: org.jf.baksmali.DisassembleCommand org.jf.baksmali.BaksmaliOptions top java.util.Iterator
      StackMap stack:
        47: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* registerInfoType */
        start local 2 // java.lang.String registerInfoType
        48: .line 261
            aload 2 /* registerInfoType */
            ldc "ALL"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 51
        49: .line 262
            aload 1 /* options */
            dup
            getfield org.jf.baksmali.BaksmaliOptions.registerInfo:I
            iconst_1
            ior
            putfield org.jf.baksmali.BaksmaliOptions.registerInfo:I
        50: .line 263
            goto 72
      StackMap locals: org.jf.baksmali.DisassembleCommand org.jf.baksmali.BaksmaliOptions java.lang.String java.util.Iterator
      StackMap stack:
        51: aload 2 /* registerInfoType */
            ldc "ALLPRE"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 54
        52: .line 264
            aload 1 /* options */
            dup
            getfield org.jf.baksmali.BaksmaliOptions.registerInfo:I
            iconst_2
            ior
            putfield org.jf.baksmali.BaksmaliOptions.registerInfo:I
        53: .line 265
            goto 72
      StackMap locals:
      StackMap stack:
        54: aload 2 /* registerInfoType */
            ldc "ALLPOST"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 57
        55: .line 266
            aload 1 /* options */
            dup
            getfield org.jf.baksmali.BaksmaliOptions.registerInfo:I
            iconst_4
            ior
            putfield org.jf.baksmali.BaksmaliOptions.registerInfo:I
        56: .line 267
            goto 72
      StackMap locals:
      StackMap stack:
        57: aload 2 /* registerInfoType */
            ldc "ARGS"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 60
        58: .line 268
            aload 1 /* options */
            dup
            getfield org.jf.baksmali.BaksmaliOptions.registerInfo:I
            bipush 8
            ior
            putfield org.jf.baksmali.BaksmaliOptions.registerInfo:I
        59: .line 269
            goto 72
      StackMap locals:
      StackMap stack:
        60: aload 2 /* registerInfoType */
            ldc "DEST"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 63
        61: .line 270
            aload 1 /* options */
            dup
            getfield org.jf.baksmali.BaksmaliOptions.registerInfo:I
            bipush 16
            ior
            putfield org.jf.baksmali.BaksmaliOptions.registerInfo:I
        62: .line 271
            goto 72
      StackMap locals:
      StackMap stack:
        63: aload 2 /* registerInfoType */
            ldc "MERGE"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 66
        64: .line 272
            aload 1 /* options */
            dup
            getfield org.jf.baksmali.BaksmaliOptions.registerInfo:I
            bipush 32
            ior
            putfield org.jf.baksmali.BaksmaliOptions.registerInfo:I
        65: .line 273
            goto 72
      StackMap locals:
      StackMap stack:
        66: aload 2 /* registerInfoType */
            ldc "FULLMERGE"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 69
        67: .line 274
            aload 1 /* options */
            dup
            getfield org.jf.baksmali.BaksmaliOptions.registerInfo:I
            bipush 64
            ior
            putfield org.jf.baksmali.BaksmaliOptions.registerInfo:I
        68: .line 275
            goto 72
        69: .line 276
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "Invalid register info type: %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* registerInfoType */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        70: .line 277
            aload 0 /* this */
            invokevirtual org.jf.baksmali.DisassembleCommand.usage:()V
        71: .line 278
            iconst_m1
            invokestatic java.lang.System.exit:(I)V
        72: .line 281
      StackMap locals:
      StackMap stack:
            aload 1 /* options */
            getfield org.jf.baksmali.BaksmaliOptions.registerInfo:I
            bipush 64
            iand
            ifeq 74
        73: .line 282
            aload 1 /* options */
            dup
            getfield org.jf.baksmali.BaksmaliOptions.registerInfo:I
            bipush -33
            iand
            putfield org.jf.baksmali.BaksmaliOptions.registerInfo:I
        end local 2 // java.lang.String registerInfoType
        74: .line 260
      StackMap locals: org.jf.baksmali.DisassembleCommand org.jf.baksmali.BaksmaliOptions top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 47
        75: .line 286
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.accessorComments:Z
            ifeq 79
        76: .line 287
            aload 1 /* options */
            new org.jf.dexlib2.util.SyntheticAccessorResolver
            dup
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.dexFile:Lorg/jf/dexlib2/dexbacked/DexBackedDexFile;
            invokevirtual org.jf.dexlib2.dexbacked.DexBackedDexFile.getOpcodes:()Lorg/jf/dexlib2/Opcodes;
        77: .line 288
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.dexFile:Lorg/jf/dexlib2/dexbacked/DexBackedDexFile;
            invokevirtual org.jf.dexlib2.dexbacked.DexBackedDexFile.getClasses:()Ljava/util/Set;
            invokespecial org.jf.dexlib2.util.SyntheticAccessorResolver.<init>:(Lorg/jf/dexlib2/Opcodes;Ljava/lang/Iterable;)V
        78: .line 287
            putfield org.jf.baksmali.BaksmaliOptions.syntheticAccessorResolver:Lorg/jf/dexlib2/util/SyntheticAccessorResolver;
        79: .line 291
      StackMap locals: org.jf.baksmali.DisassembleCommand org.jf.baksmali.BaksmaliOptions
      StackMap stack:
            aload 0 /* this */
            getfield org.jf.baksmali.DisassembleCommand.allowOdex:Z
            ifeq 81
        80: .line 292
            aload 1 /* options */
            iconst_1
            putfield org.jf.baksmali.BaksmaliOptions.allowOdex:Z
        81: .line 295
      StackMap locals:
      StackMap stack:
            aload 1 /* options */
            areturn
        end local 1 // org.jf.baksmali.BaksmaliOptions options
        end local 0 // org.jf.baksmali.DisassembleCommand this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   82     0              this  Lorg/jf/baksmali/DisassembleCommand;
            3   82     1           options  Lorg/jf/baksmali/BaksmaliOptions;
            9   12     2                ex  Ljava/lang/Exception;
           14   37     2     resourceFiles  Ljava/util/Map<Ljava/lang/String;Ljava/io/File;>;
           16   26     3                 i  I
           18   24     4    resourcePrefix  Ljava/lang/String;
           19   24     5         publicXml  Ljava/lang/String;
           20   24     6     publicXmlFile  Ljava/io/File;
           29   32     3                ex  Ljava/io/IOException;
           34   37     3                ex  Lorg/xml/sax/SAXException;
           48   74     2  registerInfoType  Ljava/lang/String;
      Exception table:
        from    to  target  type
           4     7       8  Class java.lang.Exception
          26    27      28  Class java.io.IOException
          26    27      33  Class org.xml.sax.SAXException
}
SourceFile: "DisassembleCommand.java"
InnerClasses:
  public abstract DexEntry = org.jf.dexlib2.iface.MultiDexContainer$DexEntry of org.jf.dexlib2.iface.MultiDexContainer
    RuntimeVisibleAnnotations: 
      com.beust.jcommander.Parameters(commandDescription = "Disassembles a dex file.")
      org.jf.util.jcommander.ExtendedParameters(commandName = "disassemble", commandAliases = {"dis", "d"})