docs: def _get_exec_binary(binary, kw):
      """
      On win32, the subprocess module can only reliably resolve the
      target binary if it's actually a binary; as for a Node.js script
      it seems to only work iff shell=True was specified, presenting
      a security risk.  Resolve the target manually through which will
      account for that.
  
      The kw argument is the keyword arguments that will be passed into
      whatever respective subprocess.Popen family of methods.  The PATH
      environment variable will be used if available.
      """
  
      binary = which(binary, path=kw.get('env', {}).get('PATH'))
      if binary is None:
          raise_os_error(errno.ENOENT)
      return binary