NOALIGN struct _BinTreeItem_ : public _Struct_ // size = 28 { _ptr_* v_table; // + 0 _char_ name[12]; // + 4 _dword_ name_end; // + 16 _dword_ type; // + 20 _int_ ref_count; // + 24 void DerefOrDestruct() { CALL_1(void, __thiscall, this->v_table[1], this); } }; NOALIGN struct _Def_ : public _BinTreeItem_ { _DefGroup_** groups; // + 28 _Palette16_* palette16; _Palette24_* palette24; _dword_ groups_count; _ptr_ active_groups; _dword_ width; _dword_ height; }; NOALIGN struct _DefGroup_ { _dword_ frames_count; _dword_ frames_size; _DefFrame_** frames; }; NOALIGN struct _DefFrame_ : public _BinTreeItem_ { _dword_ frm_size; // + 28 _dword_ buf_size; _dword_ compression_type; _dword_ def_width; _dword_ def_height; _dword_ frame_width; _dword_ frame_height; _dword_ frame_left; _dword_ frame_top; _dword_ unknown_40; _ptr_ buffer; };