ExpTimeRefreshDpcRoutine

VOID __stdcall ExpTimeRefreshDpcRoutine(
        _KDPC *Dpc,
        VOID *DeferredContext,
        VOID *SystemArgument1,
        VOID *SystemArgument2,
        INT64 a5){
  _QWORD v9[58]; 

  v9[55] = v9;
  memset(&v9[42], 0i64, 0x60u);
  if( (__int64)DeferredContext >> 47 != -1 && (__int64)DeferredContext >> 47 != 0 )
  {
    LODWORD(v9[7]) = 0;
    Dpc->Type = 0;
    Dpc->DeferredContext = (void *)((unsigned __int64)SystemArgument2 >> 8);
    v9[53] = SystemArgument1;
    v9[50] = __ROL8__(DeferredContext, (char)SystemArgument1);
    v9[45] = __ROR8__(Dpc, (char)SystemArgument1);
    Dpc->SystemArgument1 = (void *)((unsigned __int64)Dpc->SystemArgument1 ^ (unsigned __int64)SystemArgument2);
    Dpc->SystemArgument2 = (void *)((unsigned __int64)Dpc->SystemArgument2 ^ (unsigned __int64)SystemArgument1);
    KiCustomAccessRoutine7((UINT64 *)DeferredContext);
  }
  if( _InterlockedIncrement((volatile signed __int32 *)DeferredContext) == 1 )
    ExQueueWorkItem((PWORK_QUEUE_ITEM)&ExBootDevicesRemovedEvent + 11, DelayedWorkQueue);
}

Referenced by:

No references.