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