KiBalanceSetManagerDeferredRoutine

VOID __stdcall KiBalanceSetManagerDeferredRoutine(
        _KDPC *Dpc,
        VOID *DeferredContext,
        VOID *SystemArgument1,
        VOID *SystemArgument2,
        INT64 a5){
  _DWORD v9[86]; 
  _DWORD *v10; 

  v10 = v9;
  memset(&v9[44], 0i64, 0x5Fu);
  if( (__int64)DeferredContext >> 47 != -1 && (__int64)DeferredContext >> 47 != 0 )
  {
    v9[12] = 0;
    Dpc->Type = 0;
    Dpc->DeferredContext = (void *)((unsigned __int64)SystemArgument2 >> 8);
    *(_QWORD *)((char *)&v9[65] + 3) = SystemArgument1;
    *(_QWORD *)((char *)&v9[57] + 3) = __ROL8__(DeferredContext, (char)SystemArgument1);
    *(_QWORD *)((char *)&v9[51] + 3) = __ROR8__(Dpc, (char)SystemArgument1);
    Dpc->SystemArgument1 = (void *)((unsigned __int64)Dpc->SystemArgument1 ^ (unsigned __int64)SystemArgument2);
    Dpc->SystemArgument2 = (void *)((unsigned __int64)Dpc->SystemArgument2 ^ (unsigned __int64)SystemArgument1);
    KiCustomAccessRoutine6((UINT64 *)DeferredContext);
  }
  KeSetEvent((PRKEVENT)DeferredContext, 10, 0);
}

Referenced by:

No references.