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