typedef struct _HEAP_ENTRY
{
    union
    {
        struct
        {
            void *PreviousBlockPrivateData;
            union
            {
                struct
                {
                    unsigned short Size;
                    unsigned char Flags;
                    unsigned char SmallTagIndex;
                    unsigned short PreviousSize;
                    union
                    {
                        unsigned char SegmentOffset;
                        unsigned char LFHFlags;
                    };
                    unsigned char UnusedBytes;
                };
                unsigned __int64 CompactHeader;
            };
        };
        struct
        {
            void *Reserved;
            union
            {
                struct
                {
                    unsigned short FunctionIndex;
                    unsigned short ContextValue;
                };
                unsigned long InterceptorValue;
            };
            unsigned short UnusedBytesLength;
            unsigned char EntryOffset;
            unsigned char ExtendedBlockSignature;
        };
        struct
        {
            void *ReservedForAlignment;
            union
            {
                struct
                {
                    unsigned long Code1;
                    unsigned short Code2;
                    unsigned char Code3;
                    unsigned char Code4;
                };
                unsigned __int64 AgregateCode;
            };
        };
    };
} HEAP_ENTRY, *PHEAP_ENTRY;