def METHOD_NAME():
    parser = argparse.ArgumentParser(usage='%(prog)s [options] DEX files')
    parser.add_argument('-a', '--all',
            action='store_true', dest='show_all',
            help='Show all information')
    parser.add_argument('-H', '--header',
            action='store_true', dest='show_header',
            help='Display header')
    parser.add_argument('-c', '--classes',
            action='store_true', dest='show_classes',
            help='Display classes')
    parser.add_argument('-f', '--fields',
            action='store_true', dest='show_fields',
            help='Display Fields')
    parser.add_argument('-m', '--methods',
            action='store_true', dest='show_methods',
            help='Display Methods')
    parser.add_argument('-s', '--strings',
            action='store_true', dest='show_strings',
            help='Display Strings')
    parser.add_argument('-t', '--types',
            action='store_true', dest='show_types',
            help='Display Types')
    parser.add_argument('-p', '--prototypes',
            action='store_true', dest='show_prototypes',
            help='Display Prototypes')
    parser.add_argument('-M', '--map',
            action='store_true', dest='show_map',
            help='Display Map')
    parser.add_argument("file",
            metavar="<dex-file>",
            help='Target DEX File')
    logger_group = parser.add_argument_group('Logger')
    verbosity = logger_group.add_mutually_exclusive_group()
    verbosity.add_argument('--debug',
            dest='main_verbosity',
            action='store_const',
            const=lief.logging.LOGGING_LEVEL.DEBUG)
    verbosity.add_argument('--trace',
            dest='main_verbosity',
            action='store_const',
            const=lief.logging.LOGGING_LEVEL.TRACE)
    verbosity.add_argument('--info',
            dest='main_verbosity',
            action='store_const',
            const=lief.logging.LOGGING_LEVEL.INFO)
    verbosity.add_argument('--warn',
            dest='main_verbosity',
            action='store_const',
            const=lief.logging.LOGGING_LEVEL.WARNING)
    verbosity.add_argument('--err',
            dest='main_verbosity',
            action='store_const',
            const=lief.logging.LOGGING_LEVEL.ERROR)
    verbosity.add_argument('--critical',
            dest='main_verbosity',
            action='store_const',
            const=lief.logging.LOGGING_LEVEL.CRITICAL)
    parser.set_defaults(main_verbosity=lief.logging.LOGGING_LEVEL.WARNING)
    args = parser.parse_args()
    lief.logging.set_level(args.main_verbosity)
    binary = None
    try:
        dexfile = DEX.parse(args.file)
    except lief.exception as e:
        print(e)
        sys.exit(1)
    print_information(dexfile)
    if args.show_header or args.show_all:
        print_header(dexfile)
    if (args.show_classes or args.show_all) and len(dexfile.classes) > 0:
        print_classes(dexfile)
    if (args.show_fields or args.show_all) and len(dexfile.fields) > 0:
        print_fields(dexfile)
    if (args.show_methods or args.show_all) and len(dexfile.methods) > 0:
        print_methods(dexfile)
    if (args.show_strings or args.show_all) and len(dexfile.strings) > 0:
        print_strings(dexfile)
    if (args.show_types or args.show_all) and len(dexfile.types) > 0:
        print_types(dexfile)
    if (args.show_prototypes or args.show_all) and len(dexfile.prototypes) > 0:
        print_prototypes(dexfile)
    if args.show_map or args.show_all:
        print_map(dexfile)
    sys.exit(EXIT_STATUS)