VOID __fastcall SmcCacheInitialize(INT64 a1){
EX_RUNDOWN_REF *v2;
EX_RUNDOWN_REF *v3;
EX_RUNDOWN_REF *v4;
memset(a1, 0i64);
StEtaInitialize(a1 + 104);
*(_QWORD *)(a1 + 160) = 0i64;
v2 = (EX_RUNDOWN_REF *)(a1 + 168);
v3 = v2 + 48;
if( v2 < &v2[48] )
{
v4 = v2 + 2;
do
{
LODWORD(v2->Count) = -1;
ExInitializePushLock(v4);
ExWaitForRundownProtectionRelease(v4);
v2 += 3;
v4 += 3;
}
while( v2 < v3 );
}
}