PopDiagTraceDirtyTransition

VOID __stdcall PopDiagTraceDirtyTransition(
        _LOADER_PARAMETER_BLOCK *LoaderBlock,
        _SYSTEM_POWER_STATE SleepInProgress,
        UINT64 SystemSleepTransitionsToOn,
        UINT8 ConnectedStandbyInProgress,
        UINT8 CsEntryScenarioInstanceId,
        INT64 PowerButtonTimestamp,
        _POP_SLEEP_CHECKPOINT SleepCheckpoint){
  _LOADER_PARAMETER_EXTENSION *Extension; 
  _DWORD *DumpHeader; 
  __int128 v12; 
  __int128 v13; 
  __int128 v14; 
  __int128 v15; 
  __int128 v16; 
  __int128 v17; 
  __int64 v18; 
  __int128 *v19; 
  char *v20; 
  __int64 v21; 
  char v22; 
  UINT8 v23; 
  char v24; 
  int v25; 
  int v26; 
  _SYSTEM_POWER_STATE v27; 
  int v28; 
  _BOOL4 v29; 
  _BOOL4 v30; 
  __int128 a5; 
  __int128 v32; 
  __int128 v33; 
  __int128 v34; 
  __int128 v35; 
  _EVENT_DATA_DESCRIPTOR UserData; 
  char v37; 
  _SYSTEM_POWER_STATE *v38; 
  __int64 v39; 
  INT64 *p_PowerButtonTimestamp; 
  __int64 v41; 
  int *v42; 
  __int64 v43; 
  char *v44; 
  __int64 v45; 
  _BOOL4 *v46; 
  __int64 v47; 
  int *v48; 
  __int64 v49; 
  UINT8 *v50; 
  __int64 v51; 
  int *v52; 
  __int64 v53; 
  char *v54; 
  __int64 v55; 
  UINT8 *p_CsEntryScenarioInstanceId; 
  __int64 v57; 
  _BOOL4 *v58; 
  __int64 v59; 
  __int128 SourceString[9]; 
  __int64 v61; 
  int v62; 
  int v63; 
  char v64; 
  char v65; 
  char v66; 

  v63 = SystemSleepTransitionsToOn;
  v28 = ExBootAppFailureStatus;
  if( PopDiagHandleRegistered && EtwEventEnabled(PopDiagHandle, &POP_ETW_EVENT_DIRTY_TRANSITION) )
  {
    Extension = LoaderBlock->Extension;
    v25 = 0;
    v26 = 0;
    v29 = ConnectedStandbyInProgress != 0;
    v30 = v66 != 0;
    v22 = v64;
    v24 = v65;
    v34 = 0i64;
    v35 = 0i64;
    if( !Extension
      || (DumpHeader = Extension->DumpHeader) == 0i64
      || (v25 = DumpHeader[14], v34 = *((_OWORD *)DumpHeader + 4), v35 = *((_OWORD *)DumpHeader + 5), !v25) )
    {
      v12 = *(_OWORD *)L"y\\Machine\\System\\CurrentControlSet\\Control\\CrashControl\\LastCrashdump";
      a5 = 0i64;
      v32 = 0i64;
      v33 = 0i64;
      SourceString[0] = *(_OWORD *)L"\\Registry\\Machine\\System\\CurrentControlSet\\Control\\CrashControl\\LastCrashdump";
      v13 = *(_OWORD *)L"e\\System\\CurrentControlSet\\Control\\CrashControl\\LastCrashdump";
      SourceString[1] = v12;
      v14 = *(_OWORD *)L"\\CurrentControlSet\\Control\\CrashControl\\LastCrashdump";
      SourceString[2] = v13;
      v15 = *(_OWORD *)L"ControlSet\\Control\\CrashControl\\LastCrashdump";
      SourceString[3] = v14;
      v16 = *(_OWORD *)L"et\\Control\\CrashControl\\LastCrashdump";
      SourceString[4] = v15;
      v17 = *(_OWORD *)L"ol\\CrashControl\\LastCrashdump";
      SourceString[5] = v16;
      SourceString[6] = v17;
      SourceString[7] = *(_OWORD *)L"Control\\LastCrashdump";
      v18 = *(_QWORD *)L"hdump";
      SourceString[8] = *(_OWORD *)L"LastCrashdump";
      v61 = v18;
      v62 = *(_DWORD *)L"p";
      if( PopReadRegKeyValue((WCHAR *)SourceString, (WCHAR *)L"Info", 48i64, 0i64, &a5) >= 0 )
      {
        v25 = DWORD2(a5);
        *(_QWORD *)&v34 = v32;
        v26 = 1;
      }
    }
    v27 = SleepInProgress;
    *(_QWORD *)&UserData.Size = 4i64;
    UserData.Ptr = (unsigned __int64)&v25;
    v19 = &v34;
    v20 = &v37;
    v21 = 4i64;
    do
    {
      *(_QWORD *)(v20 - 12) = v19;
      v19 = (__int128 *)((char *)v19 + 8);
      *(_QWORD *)(v20 - 4) = 8i64;
      v20 += 16;
      --v21;
    }
    while( v21 );
    v38 = &v27;
    v39 = 4i64;
    p_PowerButtonTimestamp = &PowerButtonTimestamp;
    v42 = &v28;
    v44 = &v22;
    v46 = &v29;
    v48 = &v63;
    v23 = CsEntryScenarioInstanceId;
    v50 = &v23;
    v52 = &v26;
    v54 = &v24;
    p_CsEntryScenarioInstanceId = &CsEntryScenarioInstanceId;
    v58 = &v30;
    v41 = 8i64;
    v43 = 4i64;
    v47 = 4i64;
    v49 = 4i64;
    v53 = 4i64;
    v57 = 8i64;
    v59 = 4i64;
    v45 = 1i64;
    v51 = 1i64;
    v55 = 1i64;
    EtwWriteEx(PopDiagHandle, &POP_ETW_EVENT_DIRTY_TRANSITION, 0i64, 0, 0, 0, 0x10u, &UserData);
  }
}

Referenced by:

PopCheckShutdownMarker