HalpUpdateCapsule

NTSTATUS __stdcall HalpUpdateCapsule(PVOID CapsuleHeaderArray, INT64 CapsuleCount, _LARGE_INTEGER ScatterGatherList){
  char v4; 
  unsigned int v5; 
  NTSTATUS updated; 
  _GROUP_AFFINITY Affinity; 
  _GROUP_AFFINITY PreviousAffinity; 

  Affinity = 0i64;
  PreviousAffinity = 0i64;
  if( !byte_140C49D08 )
    return -1073741822;
  if( KeGetCurrentIrql() >= 2u )
  {
    v4 = 0;
  }
  else
  {
    v4 = 1;
    v5 = KiProcessorIndexToNumberMappingTable[KeGetPcr()->Prcb.Number];
    Affinity.Reserved[1] = 0;
    Affinity.Reserved[2] = 0;
    *(_DWORD *)&Affinity.Group = (unsigned __int16)(v5 >> 6);
    Affinity.Mask = 1i64 << (v5 & 0x3F);
    KeSetSystemGroupAffinityThread(&Affinity, &PreviousAffinity);
  }
  updated = HalEfiUpdateCapsule();
  if( v4 )
    KeRevertToUserGroupAffinityThread(&PreviousAffinity);
  return updated;
}

Referenced by:

No references.