HalpTimerStartProfileInterrupt

INT64 __stdcall HalpTimerStartProfileInterrupt(){
  int v0; 
  unsigned int v2; 
  unsigned __int64 v3; 
  v0 = 0;
  if( !HalpProfileTimer )
    return 3221225659i64;
  if( (*((_DWORD *)HalpProfileTimer + 46) & 0x80u) != 0 )
    return 3221225865i64;
  v2 = *((_DWORD *)KeGetPcr() + 105);
  if( (*((_DWORD *)HalpProfileTimer + 56) & 1) == 0 && v2
    || (v0 = HalpSetTimer(
               (__int64)HalpProfileTimer,
               2u,
               *(unsigned int *)(32i64 * v2 + HalpProfileData + 24) + 1i64,
               1,
               &v3),
        v0 >= 0) )
  {
    HalpProfilingActive = 1;
  }
  return(unsigned int)v0;
}

Referenced by:

DefaultEnableMonitoring