ExpTimeZoneDpcRoutine

VOID __stdcall ExpTimeZoneDpcRoutine(
        _KDPC *Dpc,
        VOID *DeferredContext,
        VOID *SystemArgument1,
        VOID *SystemArgument2,
        INT64 a5){
  _EJOB *v9; 
  _EX_TIMEZONE_STATE *ExTimeZoneState; 
  _DWORD v11[90]; 
  _DWORD *v12; 

  v12 = v11;
  memset(&v11[44], 0i64, 0x61u);
  if( (__int64)DeferredContext >> 47 != -1 && (__int64)DeferredContext >> 47 != 0 )
  {
    v11[12] = 0;
    Dpc->Type = 0;
    Dpc->DeferredContext = (void *)((unsigned __int64)SystemArgument2 >> 8);
    *(_QWORD *)((char *)&v11[66] + 1) = SystemArgument1;
    *(_QWORD *)((char *)&v11[62] + 1) = __ROL8__(DeferredContext, (char)SystemArgument1);
    *(_QWORD *)((char *)&v11[48] + 1) = __ROR8__(Dpc, (char)SystemArgument1);
    Dpc->SystemArgument1 = (void *)((unsigned __int64)Dpc->SystemArgument1 ^ (unsigned __int64)SystemArgument2);
    Dpc->SystemArgument2 = (void *)((unsigned __int64)Dpc->SystemArgument2 ^ (unsigned __int64)SystemArgument1);
    KiCustomAccessRoutine8((UINT64 *)DeferredContext);
  }
  ExTimeZoneState = PsGetServerSiloGlobals((_EJOB *)DeferredContext)->ExTimeZoneState;
  if( _InterlockedIncrement(&ExTimeZoneState->OkToTimeZoneRefresh) == 1 )
  {
    if( !PsIsHostSilo(v9) )
      ObfReferenceObjectWithTag(DeferredContext, 0x53707845ui64);
    ExQueueWorkItem(&ExTimeZoneState->TimeZone.WorkItem, DelayedWorkQueue);
  }
}

Referenced by:

No references.