PopWriteBsdPoInfo
VOID __fastcall PopWriteBsdPoInfo(UINT64 a1, INT64 a2){
unsigned int v2;
LARGE_INTEGER PerformanceCounter;
INT64 v5;
NTSTATUS v6;
unsigned int v7;
_LARGE_INTEGER EndTime;
_LARGE_INTEGER StartTime;
v2 = a1;
PerformanceCounter = KeQueryPerformanceCounter(0i64);
v5 = 7i64;
StartTime = PerformanceCounter;
if( v2 == 7 )
goto LABEL_9;
if( v2 != 14 )
{
v5 = 16i64;
if( v2 != 16 )
{
v6 = -1073741811;
goto LABEL_10;
}
LABEL_9:
v6 = RtlSetSystemBootStatus(v5, a2, 32i64, 0i64);
goto LABEL_10;
}
v6 = RtlSetSystemBootStatus(14i64, a2, 48i64, 0i64);
if( v6 < 0 )
{
PopAcquireRwLockExclusive(&PopBsdUpdateLock);
if( HIWORD(xmmword_140C502A8) != 0xFFFF )
++HIWORD(xmmword_140C502A8);
PopReleaseRwLock((UINT64)&PopBsdUpdateLock);
}
LABEL_10:
EndTime = KeQueryPerformanceCounter(0i64);
v7 = PopQpcTimeInMs(&StartTime, &EndTime);
PopDiagTraceBsdWriteTime(v2, v7, (unsigned int)v6);
}Referenced by:
PopBsdUpdateWorker