TtmpShouldEscapeProximity

UINT8 __fastcall TtmpShouldEscapeProximity(INT64 a1){
  UINT8 v1; 
  UINT64 v2; 
  __int64 v4; 
  __int64 v5; 
  UINT64 EscapeCount; 
  ++*(_DWORD *)(a1 + 264);
  v1 = 0;
  v2 = -1i64;
  v4 = *(_QWORD *)&KUSER_SHARED_DATA.InterruptTime.LowPart;
  v5 = *(_QWORD *)(a1 + 256);
  if( v5 != -1 )
  {
    v2 = *(_QWORD *)&KUSER_SHARED_DATA.InterruptTime.LowPart - v5;
    if( *(_QWORD *)&KUSER_SHARED_DATA.InterruptTime.LowPart - v5 < (unsigned __int64)(unsigned int)(10000 * TtmpProximityEscapeMsec) )
    {
      ++*(_DWORD *)(a1 + 272);
      v1 = 1;
    }
  }
  LODWORD(EscapeCount) = *(_DWORD *)(a1 + 272);
  TtmiLogProximityPowerPress(v1, v2, *(unsigned int *)(a1 + 264), *(unsigned int *)(a1 + 268), EscapeCount);
  *(_QWORD *)(a1 + 256) = v4;
  return v1;
}

Referenced by:

TtmiSetPendingOnOffRequest