code: def patch_for_msvc_specialized_compiler():
      """
      Patch functions in distutils to use standalone Microsoft Visual C++
      compilers.
      """
      # import late to avoid circular imports on Python < 3.5
      msvc = import_module("setuptools.msvc")
  
      if platform.system() != "Windows":
          # Compilers only availables on Microsoft Windows
          return
  
      def patch_params(mod_name, func_name):
          """
          Prepare the parameters for patch_func to patch indicated function.
          """
          repl_prefix = "msvc9_" if "msvc9" in mod_name else "msvc14_"
          repl_name = repl_prefix + func_name.lstrip("_")
          repl = getattr(msvc, repl_name)
          mod = import_module(mod_name)
          if not hasattr(mod, func_name):
              raise ImportError(func_name)
          return repl, mod, func_name
  
      # Python 2.7 to 3.4
      msvc9 = functools.partial(patch_params, "distutils.msvc9compiler")
  
      # Python 3.5+
      msvc14 = functools.partial(
          patch_params, "distutils._msvccompiler"
      )
  
      try:
          # Patch distutils.msvc9compiler
          patch_func(*msvc9("find_vcvarsall"))
          patch_func(*msvc9("query_vcvarsall"))
      except ImportError:
          pass
  
      try:
          # Patch distutils._msvccompiler._get_vc_env
          patch_func(*msvc14("_get_vc_env"))
      except ImportError:
          pass
  
      try:
          # Patch distutils._msvccompiler.gen_lib_options for Numpy
          patch_func(*msvc14("gen_lib_options"))
      except ImportError:
          pass
  
file_path: catboost/contrib/python/setuptools/py2/setuptools/monkey.py
imports: import sys
  import distutils.filelist
  import platform
  import types
  import functools
  from importlib import import_module
  import inspect
  from setuptools.extern import six
  import setuptools
label_desc: Use image node_id 8 for calling a global function with example usage: patch_for_msvc_specialized_compiler() and returns: repl,  mod,  func_name