RtlpHpSegSetExtraPresent

INT64 __fastcall RtlpHpSegSetExtraPresent(INT64 a1, UINT64 a2){
  INT64 result; 
  INT64 v3; 
  __int64 v4; 
  unsigned __int8 v5; 
  INT64 v6; 
  unsigned __int64 v7; 
  result = RtlpHpSegDescriptorValidate(a1, a2);
  v5 = *(_BYTE *)(result + 24) & 0xC;
  if( v5 < 8u )
  {
    *(_WORD *)(result + 8) |= 1u;
  }
  else if( v5 == 8 )
  {
    v6 = ((result - (result & *(_QWORD *)v4)) >> 5 << *(_BYTE *)(v4 + 8)) + (result & *(_QWORD *)v4);
    v7 = WORD4(RtlpHpHeapGlobals) ^ *(unsigned __int16 *)(v6 + 40) ^ (unsigned __int64)(unsigned __int16)((unsigned int)v6 >> 12);
    result = 0x4000i64;
    *(_WORD *)(v7 + v3 - 2) |= 0x4000u;
  }
  else
  {
    return RtlpHpVsChunkSetExtraPresent(*(_QWORD *)(v4 + 32), v3);
  }
  return result;
}

Referenced by:

RtlpHpExtrasSetPresent