def METHOD_NAME():
    cases = {}
    meta_cases = {}
    meta_meta_cases = {}
    if len(sys.argv) != 2:
        print("Usage: %s <path to binary file>" % sys.argv[0])
        return 0
    if not os.path.exists(sys.argv[1]):
        print("No such file %s" % sys.argv[1])
        return 1
    fsize = os.stat(sys.argv[1]).st_size
    if fsize < MAX_OPLEN:
        print("muy pequeño:  %s" % sys.argv[1])
        return 1
    with open(sys.argv[1], "rb") as f:
        input_data = f.read()
    with ProcessPoolExecutor(CONCURRENCY) as pool:
        for offset in range(0, fsize - 20, CONCURRENCY):
            inputs = [
                hexlify(input_data[o : o + MAX_OPLEN])
                for o in range(offset, offset + CONCURRENCY)
            ]
            tasks = pool.map(check_hexpairs, inputs)
            for res in tasks:
                if not res:
                    continue
                inskey = res["case"]
                insmkey = res["metacase"]
                insmmkey = res["metametacase"]
                meta_meta_cases[insmmkey] = meta_meta_cases.get(insmmkey, 0) + 1
                meta_cases[insmkey] = meta_cases.get(insmkey, 0) + 1
                if (
                    meta_cases[insmkey] > MAX_METACASE_EXAMPLES
                    or meta_meta_cases[insmmkey] > MAX_META_META_CASE_EXAMPLES
                ):
                    pass
                elif inskey not in cases:
                    cases[inskey] = cases.get(inskey, 0) + 1
                    print("%s\n" % json.dumps(res, indent=4))
        return 0