PerfDiagpSaveActiveDCLLogFileName

VOID __stdcall PerfDiagpSaveActiveDCLLogFileName(){
  _WORD *PoolWithTag; 
  WCHAR v1; 
  unsigned __int16 v2; 
  PVOID ValueData; 
  UINT64 ValueLength; 
  UINT64 ReturnLength; 
  LODWORD(ReturnLength) = 0;
  PoolWithTag = ExAllocatePoolWithTag(PagedPool, 0x20Aui64, 0x64465250ui64);
  if( PoolWithTag )
  {
    memset((INT64)&OutBuffer, 0i64);
    *(_OWORD *)&LoggerName = *(_OWORD *)L"WdiContextLog";
    dword_140C1A09C = 0x20000;
    *(_QWORD *)&xmmword_140C1A05C = *(_QWORD *)L"xtLog";
    DWORD2(xmmword_140C1A05C) = *(_DWORD *)L"g";
    RtlInitUnicodeString(&stru_140C1A100, &LoggerName, v1);
    qword_140C1A0F8 = (__int64)PoolWithTag;
    word_140C1A0F2 = 520;
    LODWORD(OutBuffer) = 176;
    LODWORD(ValueData) = 176;
    if( (int)NtTraceControl(3ui64, &OutBuffer, 0xB0ui64, &OutBuffer, (UINT64)ValueData, &ReturnLength) < 0
      || (unsigned __int16)word_140C1A0F0 < 2u )
    {
      RtlDeleteRegistryValue(2ui64, L"Diagnostics\\Performance", L"ActiveShutdownDCL");
    }
    else
    {
      v2 = (unsigned __int16)word_140C1A0F0 >> 1;
      PoolWithTag[v2] = 0;
      LODWORD(ValueLength) = 2 * (unsigned __int16)(v2 + 1);
      RtlWriteRegistryValue(2ui64, L"Diagnostics\\Performance", L"ActiveShutdownDCL", 1ui64, PoolWithTag, ValueLength);
    }
    ExFreePoolWithTag(PoolWithTag, 0);
  }
  else
  {
    RtlDeleteRegistryValue(2ui64, L"Diagnostics\\Performance", L"ActiveShutdownDCL");
  }
}

Referenced by:

PerfDiagpProxyWorker