MUIInitializeResourceLock

NTSTATUS __stdcall MUIInitializeResourceLock(_ERESOURCE **ResourceLock){
  VOID **PoolWithTag; 
  VOID **v3; 
  NTSTATUS v4; 

  if( !ResourceLock )
    return -1073741811;
  if( *ResourceLock )
    return 0;
  PoolWithTag = ExAllocatePoolWithTag(0x200ui64, 0x68ui64, 1836411216i64);
  v3 = PoolWithTag;
  if( !PoolWithTag )
    return -1073741801;
  v4 = ExInitializeResourceLite((INT64)PoolWithTag);
  if( (v4 & 0xC0000000) != -1073741824 )
  {
    if( _InterlockedCompareExchange64((volatile signed __int64 *)ResourceLock, (signed __int64)v3, 0i64) )
      ExDeleteResourceLite((UINT64)v3);
    else
      v3 = 0i64;
    v4 = 0;
  }
  if( v3 )
    ExFreePoolWithTag(v3, 0);
  return v4;
}

Referenced by:

NtFlushInstallUILanguage
NtGetMUIRegistryInfo
NtMapCMFModule