//0x40 bytes (sizeof)
struct _SEGMENT
{
struct _CONTROL_AREA* ControlArea; //0x0
ULONG TotalNumberOfPtes; //0x4
ULONG NonExtendedPtes; //0x8
ULONG Spare0; //0xc
ULONGLONG SizeOfSegment; //0x10
struct _MMPTE SegmentPteTemplate; //0x18
ULONG NumberOfCommittedPages; //0x1c
struct _MMEXTEND_INFO* ExtendInfo; //0x20
struct _SEGMENT_FLAGS SegmentFlags; //0x24
VOID* BasedAddress; //0x28
union
{
ULONG ImageCommitment; //0x2c
struct _EPROCESS* CreatingProcess; //0x2c
} u1; //0x2c
union
{
struct _SECTION_IMAGE_INFORMATION* ImageInformation; //0x30
VOID* FirstMappedVa; //0x30
} u2; //0x30
struct _MMPTE* PrototypePte; //0x34
struct _MMPTE ThePtes[1]; //0x38
};