SmcCacheManagerInitialize

struct EX_RUNDOWN_REF *__fastcall SmcCacheManagerInitialize(struct EX_RUNDOWN_REF *a1){
  struct EX_RUNDOWN_REF *v2; 
  __int64 v3; 
  struct EX_RUNDOWN_REF *result; 
  memset((INT64)a1, 0i64);
  v2 = a1 + 1;
  v3 = 16i64;
  do
  {
    ExInitializePushLock(v2);
    ExWaitForRundownProtectionRelease(v2);
    v2[1].Count = 0i64;
    v2 += 4;
    --v3;
  }
  while( v3 );
  a1[65].Count = 0i64;
  result = a1 + 65;
  a1[66].Count = 0i64;
  a1[67].Count = 0i64;
  a1[68].Count = 0i64;
  a1[64].Count = 0i64;
  a1[66].Count = (unsigned __int64)&a1[65];
  a1[65].Count = (unsigned __int64)&a1[65];
  return result;
}

Referenced by:

SmGlobalsInitialize