HalpTimerSetTimerBackedProfileInterval

UINT64 __fastcall HalpTimerSetTimerBackedProfileInterval(UINT64 a1){
  unsigned int v2; 
  char v3; 
  UINT64 v4; 
  int v5; 
  UINT64 v6; 
  v6 = 0i64;
  if( !HalpProfileTimer )
    return 0i64;
  v2 = *((_DWORD *)KeGetPcr() + 105);
  if( HalpProfilingActive )
  {
    v3 = 1;
    if( (*((_DWORD *)HalpProfileTimer + 56) & 1) == 0 && v2 )
    {
      v4 = *(unsigned int *)(HalpProfileData + 24);
LABEL_9:
      *(_DWORD *)(32i64 * v2 + HalpProfileData + 24) = v4;
      return v4;
    }
  }
  else
  {
    v3 = 0;
  }
  v5 = HalpSetTimer((__int64)HalpProfileTimer, 2u, (unsigned int)a1, v3, &v6);
  v4 = v6;
  if( v5 >= 0 )
    goto LABEL_9;
  return v4;
}

Referenced by:

DefaultSetInterval