HalpTimerSetTimerBackedProfileInterval

UINT64 __stdcall HalpTimerSetTimerBackedProfileInterval(UINT64 a1){
  unsigned int Number; 
  CHAR v3; 
  INT64 v4; 
  NTSTATUS v5; 
  INT64 a5; 

  a5 = 0i64;
  if( !HalpProfileTimer )
    return 0i64;
  Number = KeGetPcr()->Prcb.Number;
  if( HalpProfilingActive )
  {
    v3 = 1;
    if( (*((_DWORD *)HalpProfileTimer + 56) & 1) == 0 && Number )
    {
      v4 = *(unsigned int *)(qword_140C4A3C8 + 24);
LABEL_9:
      *(_DWORD *)(32i64 * Number + qword_140C4A3C8 + 24) = v4;
      return v4;
    }
  }
  else
  {
    v3 = 0;
  }
  v5 = HalpSetTimer((_KDPC *)HalpProfileTimer, 2ui64, (unsigned int)a1, v3, (INT64)&a5);
  v4 = a5;
  if( v5 >= 0 )
    goto LABEL_9;
  return v4;
}

Referenced by:

DefaultSetInterval