PpmCheckRun

VOID __stdcall PpmCheckRun(_KDPC *Dpc, VOID *Context, VOID *Arg1, VOID *Arg2){
  int v4; 
  unsigned __int8(__fastcall *v5)(__int64, VOID *, _QWORD, VOID *); 
  __int64 v6; 
  REGHANDLE v7; 
  _EVENT_DATA_DESCRIPTOR UserData; 

  v4 = *(&PopIrpWorkerControlEvent + 268);
  v5 = *(unsigned __int8(__fastcall **)(__int64, VOID *, _QWORD, VOID *))(*(&PopIrpWorkerControlEvent + 133)
                                                                         + 8i64 * *(&PopIrpWorkerControlEvent + 268));
  if( v5 )
  {
    while( 1 )
    {
      v6 = (unsigned int)(v4 + 1);
      *(&PopIrpWorkerControlEvent + 268) = v6;
      if( !v5(v6, Context, v5, Arg2) )
        break;
      v4 = *(&PopIrpWorkerControlEvent + 268);
      v5 = *(unsigned __int8(__fastcall **)(__int64, VOID *, _QWORD, VOID *))(*(&PopIrpWorkerControlEvent + 133)
                                                                             + 8i64 * *(&PopIrpWorkerControlEvent + 268));
      if( !v5 )
        goto LABEL_4;
    }
  }
  else
  {
LABEL_4:
    PpmReleaseLock((INT64 *)&stru_140C23628 + 131);
    if( PpmEtwRegistered )
    {
      v7 = PpmEtwHandle;
      if( EtwEventEnabled(PpmEtwHandle, &PPM_ETW_PERF_CHECK_STOP) )
      {
        *(_QWORD *)&UserData.Size = 8i64;
        UserData.Ptr = (unsigned __int64)&PopIrpWorkerControlEvent + 1216;
        EtwWriteEx(v7, &PPM_ETW_PERF_CHECK_STOP, 0i64, 0, 0, 0, 1u, &UserData);
      }
    }
  }
}

Referenced by:

PpmCheckStart