KiInitDynamicTraceSupport

_QWORD *KiInitDynamicTraceSupport(){
  int v0; 
  int v1; 
  _QWORD *result; 
  UINT64 *v3; 
  unsigned __int64 ImageBase; 
  _QWORD *v5; 
  v5 = 0i64;
  ImageBase = 0i64;
  v0 = 1;
  KiDynamicTraceCallouts[0] = 9i64;
  if( !(_BYTE)KdDebuggerNotPresent )
    v0 = 5;
  v1 = v0 | 2;
  result = (_QWORD *)TraceInitSystem(&v5, KiDynamicTraceCallouts, ControlPc);
  if( (int)result >= 0 )
  {
    v3 = RtlLookupFunctionEntry(ControlPc, &ImageBase, 0i64);
    if( v3 )
    {
      *(_QWORD *)ControlPc = ImageBase + *(unsigned int *)v3;
      qword_140CFBBE0 = ImageBase + *((unsigned int *)v3 + 1);
    }
    result = v5;
    *v5 = KiDynamicTraceContext;
    KiDynamicTraceEnabled = v1;
  }
  return result;
}

Referenced by:

KeInitSystem