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