HalpLbrStartRecording

NTSTATUS __stdcall HalpLbrStartRecording(INT64 a1, INT64 *a2){
  bool v4; 
  int v5; 

  if( !*(&CmpDummyThreadEvent + 958) )
    return -1073741637;
  if( (a1 & 0xFFFFFC00) != 0 || (a1 & 3) == 3 || (a1 & 0xFFFFFDFC) != 0 && (a1 & 0x200) != 0 )
    return -1073741811;
  if( _InterlockedCompareExchange((_DWORD *)&CmpDummyThreadEvent + 956, 1, 0) )
    return -1073740024;
  _interlockedbittestandset(&KiCpuTracingFlags, 1u);
  HalpLbrConfigurationWorker((unsigned int)a1, 1u);
  v4 = *(&CmpDummyThreadEvent + 957) == -1;
  v5 = ++*(&CmpDummyThreadEvent + 957);
  if( v4 )
  {
    v5 = 1;
    *(&CmpDummyThreadEvent + 957) = 1;
  }
  *(&CmpDummyThreadEvent + 960) = 1;
  *(_DWORD *)a2 = v5;
  return 0;
}

Referenced by:

No references.