HalpTimerGetClockRates

unsigned __int64 __fastcall HalpTimerGetClockRates(__int64 a1, unsigned __int64 *a2, _DWORD *a3){
  unsigned __int64 v3; 
  unsigned int v5; 
  unsigned __int64 v7; 
  unsigned __int64 v8; 
  unsigned __int64 result; 
  unsigned __int64 v10; 

  v3 = *(_QWORD *)(a1 + 192);
  v5 = *(_DWORD *)(a1 + 220);
  if( v5 > 0x28 )
    v7 = 0x9896800000000000ui64;
  else
    v7 = 10000000 * (1i64 << v5) - 10000000;
  v8 = v7 / v3;
  result = *(unsigned int *)(a1 + 224);
  if( (result & 0x80u) != 0i64 )
  {
    LODWORD(v10) = v8;
    v8 = (unsigned int)v8 * (unsigned __int64)*(unsigned int *)(a1 + 216);
  }
  else
  {
    result = 0x989680 / v3;
    v10 = 0x989680 / v3;
  }
  *a2 = v8;
  *a3 = v10;
  return result;
}

Referenced by:

HalpTimerFindIdealWatchdog
HalpTimerGetClockConfiguration
HalpTimerInitializeSystemWatchdog
HalpTimerWatchdogTriggerSystemReset