def METHOD_NAME(self, node):
    if len(self.current_scope) == 0:
        scope = "global"
    else:
        scope = self.current_scope[-1]
    print("call instruction: %s" % (ast.dump(node)))
    print("Inside of call instruction -- %s" % (scope))
    if isinstance(node.func, ast.Name):
        print("- [N] %s" % (node.func.id))
    if isinstance(node.func, ast.Attribute):
        print("%s" % (node.func))
        lhs = ""
        lhs_obj = node.func
        while isinstance(lhs_obj, ast.Attribute):
            tmp = lhs_obj.value
            lhs = "." + lhs_obj.attr + lhs
            lhs_obj = tmp
            if isinstance(tmp, ast.Name):
                break
            if isinstance(lhs_obj, ast.Call):
                self.METHOD_NAME(lhs_obj)
                lhs_obj = None
        if lhs_obj is not None:
            try:
                lhs = lhs_obj.id + lhs
            except AttributeError:
                lhs = ""
        print(" [C] %s" % (lhs))
        # Check if we have atheris.Setup
        if lhs == "atheris.Setup":
            print("We have the set up function")
            # Identify the second argument to the function
            # Target function is the second argument
            arg = node.args[1]
            if isinstance(arg, ast.Name):
                self.fuzzer_entrypoint = arg.id
            for arg in node.args:
                print("- arg: %s" % (arg))