IopLiveDumpTraceMarkRequiredDumpDataDuration

CHAR __stdcall IopLiveDumpTraceMarkRequiredDumpDataDuration(_GUID *a1, INT64 a2){
  int v3; 
  _DWORD *v4; 
  const _EVENT_DESCRIPTOR *v5; 
  INT64 v7; 
  _EVENT_DATA_DESCRIPTOR UserData; 
  _EVENT_DATA_DESCRIPTOR v9; 
  INT64 *v10; 
  int v11; 
  int v12; 
  INT64 v13; 

  v13 = a2;
  LOBYTE(v3) = IopLiveDumpIsTracingEnabled();
  if( (_BYTE)v3 )
  {
    if( !v4[104] )
    {
      v3 = v4[78];
      if( (v3 & 1) != 0 )
      {
        UserData.Reserved = 0;
        UserData.Ptr = (unsigned __int64)&v13;
        v5 = (const _EVENT_DESCRIPTOR *)LIVEDUMP_EVENT_SIZING_WORKFLOW_SYSTEM_QUISCED_MARK_REQUIRED_DUMP_DATA;
        if( (v4[20] & 1) == 0 )
          v5 = &LIVEDUMP_EVENT_CAPTURE_PAGES_WORKFLOW_SYSTEM_QUISCED_MARK_REQUIRED_DUMP_DATA;
        UserData.Size = 8;
        LOBYTE(v3) = EtwWriteEx(*(&stru_140CF2E80 + 602), v5, 0i64, 0, 0, 0, 1u, &UserData);
        if( (unsigned int)dword_140C04498 > 5 )
        {
          LOBYTE(v3) = tlgKeywordOn((__int64)&dword_140C04498, 0x200000000000i64);
          if( (_BYTE)v3 )
          {
            v12 = 0;
            v7 = v13;
            v11 = 8;
            v10 = &v7;
            LOBYTE(v3) = tlgWriteTransfer_EtwWriteTransfer(
                           (__int64)&dword_140C04498,
                           (unsigned __int8 *)byte_140023BB0,
                           a1 + 54,
                           a1 + 53,
                           3u,
                           &v9);
          }
        }
      }
    }
  }
  return v3;
}

Referenced by:

IopLiveDumpMarkRequiredDumpData