RtlpOpenBaseImageFileOptionsKey

NTSTATUS __stdcall RtlpOpenBaseImageFileOptionsKey(VOID **KeyHandle){
  _ESERVERSILO_GLOBALS *CurrentServerSiloGlobals; 
  __int64 v3; 
  INT64 v4; 
  VOID *ImgFileExecOptions; 
  NTSTATUS result; 
  VOID *Handle; 

  CurrentServerSiloGlobals = PsGetCurrentServerSiloGlobals((_KSPIN_LOCK *)KeyHandle);
  ImgFileExecOptions = CurrentServerSiloGlobals->ImgFileExecOptions;
  Handle = ImgFileExecOptions;
  if( !ImgFileExecOptions )
  {
    result = RtlpOpenBaseImageFileOptionsKeyEx(&Handle, 0i64, v3, v4);
    if( result < 0 )
      return result;
    if( *(&stru_140CF2E80 + 1818)
      || !_InterlockedCompareExchange64(
            (volatile signed __int64 *)&CurrentServerSiloGlobals->ImgFileExecOptions,
            (signed __int64)Handle,
            0i64) )
    {
      ImgFileExecOptions = Handle;
    }
    else
    {
      ZwClose((_HANDLE)Handle);
      ImgFileExecOptions = CurrentServerSiloGlobals->ImgFileExecOptions;
    }
  }
  *KeyHandle = ImgFileExecOptions;
  return 0;
}

Referenced by:

RtlQueryImageFileExecutionOptions
RtlpOpenImageFileOptionsKeyEx