ExpTimerDpcRoutine

VOID __stdcall ExpTimerDpcRoutine(
        _KDPC *Dpc,
        VOID *DeferredContext,
        VOID *SystemArgument1,
        VOID *SystemArgument2,
        INT64 a5){
  int v9; 
  __int64 v10; 
  int v11; 
  _BYTE v12[89]; 
  __int64 *v13; 

  v13 = &v10;
  memset(v12, 0i64, sizeof(v12));
  if( (unsigned __int64)(((__int64)DeferredContext >> 47) + 1) > 1 )
  {
    v11 = 0;
    Dpc->Type = 0;
    Dpc->DeferredContext = (void *)((unsigned __int64)SystemArgument2 >> 8);
    *(_QWORD *)&v12[81] = SystemArgument1;
    *(_QWORD *)&v12[1] = __ROL8__(DeferredContext, (char)SystemArgument1);
    *(_QWORD *)&v12[73] = __ROR8__(Dpc, (char)SystemArgument1);
    Dpc->SystemArgument1 = (void *)((unsigned __int64)Dpc->SystemArgument1 ^ (unsigned __int64)SystemArgument2);
    Dpc->SystemArgument2 = (void *)((unsigned __int64)Dpc->SystemArgument2 ^ (unsigned __int64)SystemArgument1);
    KiCustomAccessRoutine0((UINT64 *)DeferredContext);
  }
  v9 = 0;
  KxAcquireSpinLock((UINT64 *)DeferredContext + 8);
  if( (*((_BYTE *)DeferredContext + 304) & 1) != 0 )
  {
    if( !KeInsertQueueApc(
            (INT64)DeferredContext + 72,
            KUSER_SHARED_DATA.SystemTime.LowPart,
            HIDWORD(*(_QWORD *)&KUSER_SHARED_DATA.SystemTime.LowPart),
            0i64) )
      v9 = 1;
    if( *((_DWORD *)DeferredContext + 60) )
    {
      if( --v9 < 0 )
      {
        ObfReferenceObjectWithTag(DeferredContext, 0x746C6644ui64);
        v9 = 0;
      }
      if( (*((_BYTE *)DeferredContext + 304) & 2) == 0
        && (unsigned __int8)KeSetCoalescableTimer(
                              (INT64)DeferredContext,
                              -10000i64 * *((int *)DeferredContext + 60),
                              0i64,
                              *((unsigned int *)DeferredContext + 80),
                              (INT64)Dpc) )
      {
        ++v9;
      }
    }
  }
  KxReleaseSpinLock((UINT64 *)DeferredContext + 8);
  if( v9 )
    ObfDereferenceObjectWithTag(DeferredContext, 0x746C6644ui64);
}

Referenced by:

No references.