RtlpHpConvertFlagsToSegmentFlags

INT64 __fastcall RtlpHpConvertFlagsToSegmentFlags(INT64 a1){
  __int16 v1; 
  INT64 result; 
  int v3; 
  int v4; 
  unsigned int v5; 
  int v6; 
  int v7; 
  unsigned int v8; 
  v1 = a1;
  if( !(_DWORD)a1 )
    return 0i64;
  if( (_DWORD)a1 == 8 )
    return 2i64;
  v3 = a1 & 1;
  v4 = v3 | 2;
  if( (v1 & 8) == 0 )
    v4 = v3;
  v5 = v4 | 0x80000000;
  if( (v1 & 4) == 0 )
    v5 = v4;
  v6 = v5 | 0x100;
  if( (v1 & 0x100) == 0 )
    v6 = v5;
  v7 = v1 & 0xE00 | v6;
  if( (v1 & 0xE00) == 0 )
    v7 = v6;
  v8 = v7 | 0x2000000;
  if( (v1 & 0x10) == 0 )
    v8 = v7;
  result = v8;
  LODWORD(result) = v8 | 0x1000000;
  if( (v1 & 2) == 0 )
    return v8;
  return result;
}

Referenced by:

RtlpAllocateHeapInternal
RtlpFreeHeapInternal