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