SepRmVerifyLsaProtectionLevel

VOID __fastcall SepRmVerifyLsaProtectionLevel(_SEP_RM_LSA_CONNECTION_STATE *RmLsaState){
  WCHAR v1; 
  void *LsaProcessHandle; 
  NTSTATUS v4; 
  char v5; 
  int Value; 
  ULONG ReturnLength; 
  PVOID Object; 
  struct _UNICODE_STRING DestinationString; 
  GUID VendorGuid; 
  Value = 0;
  ReturnLength = 4;
  VendorGuid.Data1 = 2012912317;
  *(_DWORD *)&VendorGuid.Data2 = 1295123289;
  DestinationString = 0i64;
  *(_DWORD *)VendorGuid.Data4 = -198680387;
  *(_DWORD *)&VendorGuid.Data4[4] = 1266192359;
  RtlInitUnicodeString(&DestinationString, L"Kernel_Lsa_Ppl_Config", v1);
  ZwQuerySystemEnvironmentValueEx(&DestinationString, &VendorGuid, &Value, &ReturnLength, 0i64);
  if( Value == 4 )
  {
    LsaProcessHandle = RmLsaState->LsaProcessHandle;
    Object = 0i64;
    v4 = ObReferenceObjectByHandle(LsaProcessHandle, 0x2000000u, 0i64, 0, &Object, 0i64);
    if( v4 >= 0 )
    {
      v5 = *((_BYTE *)Object + 2170);
      HalPutDmaAdapter((PADAPTER_OBJECT)Object);
      if( v5 == 65 )
        return;
      v4 = -1073741790;
    }
    KeBugCheckEx(0x29u, v4, (ULONG_PTR)"minkernel\\ntos\\se\\rmmain.c", 0x295ui64, 0i64);
  }
}

Referenced by:

SepRmLsaConnectRequest