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