SMKM_STORE::SmStOutSwapPrepareStore
__int64 __fastcall SMKM_STORE::SmStOutSwapPrepareStore(__int64 a1){
VOID **PoolWithTag;
signed __int64 v3;
if( _InterlockedCompareExchange64((volatile signed __int64 *)(a1 + 6568), -1i64, 0i64) )
return 3221226614i64;
PoolWithTag = ExAllocatePoolWithTag(
0x200ui64,
4 * (((unsigned __int64)*(unsigned int *)(a1 + 6212) + 31) >> 5) + 24,
2001956211i64);
v3 = (signed __int64)PoolWithTag;
if( PoolWithTag )
{
*(_OWORD *)PoolWithTag = 0i64;
PoolWithTag[2] = 0i64;
*((_DWORD *)PoolWithTag + 2) = *(_DWORD *)(a1 + 6212);
PoolWithTag[2] = PoolWithTag + 3;
RtlSetAllBits((PRTL_BITMAP)(PoolWithTag + 1));
_InterlockedCompareExchange64((volatile signed __int64 *)(a1 + 6568), v3, -1i64);
return 0i64;
}
else
{
_InterlockedExchange64((volatile __int64 *)(a1 + 6568), 0i64);
return 3221225626i64;
}
}
Referenced by:
No references.