ExpCenturyDpcRoutine

VOID __stdcall ExpCenturyDpcRoutine(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2){
  _EJOB *v8; 
  __int64 v9; 
  _DWORD v10[40]; 
  _BYTE v11[82]; 
  __int64 v12; 
  PVOID v13; 
  _DWORD *v14; 
  v14 = v10;
  memset((INT64)v11, 0i64);
  if( (__int64)DeferredContext >> 47 != -1 && (__int64)DeferredContext >> 47 != 0 )
  {
    v10[12] = 0;
    Dpc->Type = 0;
    Dpc->DeferredContext = (void *)((unsigned __int64)SystemArgument2 >> 8);
    v13 = SystemArgument1;
    v12 = __ROL8__(DeferredContext, (char)SystemArgument1);
    *(_QWORD *)&v11[10] = __ROR8__(Dpc, (char)SystemArgument1);
    Dpc->SystemArgument1 = (void *)((unsigned __int64)Dpc->SystemArgument1 ^ (unsigned __int64)SystemArgument2);
    Dpc->SystemArgument2 = (void *)((unsigned __int64)Dpc->SystemArgument2 ^ (unsigned __int64)SystemArgument1);
    KiCustomAccessRoutine9((UINT64 *)DeferredContext);
  }
  v9 = PsGetServerSiloGlobals((__int64)DeferredContext)[133];
  if( _InterlockedIncrement((volatile signed __int32 *)(v9 + 928)) == 1 )
  {
    if( !PsIsHostSilo(v8) )
      ObfReferenceObjectWithTag(DeferredContext, 0x53707845u);
    ExQueueWorkItem((WORK_QUEUE_ITEM *)(v9 + 736), DelayedWorkQueue);
  }
}

Referenced by:

No references.