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.