def RunDecompiler(d, dx, decompiler, session=None):
 if (decompiler != None):
  androconf.debug('Decompiler ...')
  decompiler = decompiler.lower()
  if (decompiler == 'dex2jad'):
   d.set_decompiler(DecompilerDex2Jad(d, androconf.CONF['PATH_DEX2JAR'], androconf.CONF['BIN_DEX2JAR'], androconf.CONF['PATH_JAD'], androconf.CONF['BIN_JAD'], androconf.CONF['TMP_DIRECTORY']))
  elif (decompiler == 'dex2fernflower'):
   d.set_decompiler(DecompilerDex2Fernflower(d, androconf.CONF['PATH_DEX2JAR'], androconf.CONF['BIN_DEX2JAR'], androconf.CONF['PATH_FERNFLOWER'], androconf.CONF['BIN_FERNFLOWER'], androconf.CONF['OPTIONS_FERNFLOWER'], androconf.CONF['TMP_DIRECTORY']))
  elif (decompiler == 'ded'):
   d.set_decompiler(DecompilerDed(d, androconf.CONF['PATH_DED'], androconf.CONF['BIN_DED'], androconf.CONF['TMP_DIRECTORY']))
  else:
   d.set_decompiler(DecompilerDAD(d, dx))

def RunDecompiler ( d , dx , decompiler , session = None ) : if ( decompiler != None ) : androconf . debug ( 'Decompiler ...' ) decompiler = decompiler . lower ( ) if ( decompiler == 'dex2jad' ) : d . set_decompiler ( DecompilerDex2Jad ( d , androconf . CONF [ 'PATH_DEX2JAR' ] , androconf . CONF [ 'BIN_DEX2JAR' ] , androconf . CONF [ 'PATH_JAD' ] , androconf . CONF [ 'BIN_JAD' ] , androconf . CONF [ 'TMP_DIRECTORY' ] ) ) elif ( decompiler == 'dex2fernflower' ) : d . set_decompiler ( DecompilerDex2Fernflower ( d , androconf . CONF [ 'PATH_DEX2JAR' ] , androconf . CONF [ 'BIN_DEX2JAR' ] , androconf . CONF [ 'PATH_FERNFLOWER' ] , androconf . CONF [ 'BIN_FERNFLOWER' ] , androconf . CONF [ 'OPTIONS_FERNFLOWER' ] , androconf . CONF [ 'TMP_DIRECTORY' ] ) ) elif ( decompiler == 'ded' ) : d . set_decompiler ( DecompilerDed ( d , androconf . CONF [ 'PATH_DED' ] , androconf . CONF [ 'BIN_DED' ] , androconf . CONF [ 'TMP_DIRECTORY' ] ) ) else : d . set_decompiler ( DecompilerDAD ( d , dx ) )
run the decompiler on a specific analysis .