; Listing generated by Microsoft (R) Optimizing Compiler Version 15.00.21022.08 

	TITLE	c:\Develop\DScaler423a\DScaler\Pattern.cpp
	.686P
	.XMM
	include listing.inc
	.model	flat

INCLUDELIB OLDNAMES

PUBLIC	?SaveSnapshot@CPatternHelper@@UAEXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HHPAEJ0@Z ; CPatternHelper::SaveSnapshot
PUBLIC	?OpenMediaFile@CPatternHelper@@UAEHABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z ; CPatternHelper::OpenMediaFile
PUBLIC	??_R4CPatternHelper@@6B@			; CPatternHelper::`RTTI Complete Object Locator'
PUBLIC	??_R3CPatternHelper@@8				; CPatternHelper::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2CPatternHelper@@8				; CPatternHelper::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@CPatternHelper@@8			; CPatternHelper::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVCPatternHelper@@@8			; CPatternHelper `RTTI Type Descriptor'
PUBLIC	?RightCropping@@3JA				; RightCropping
PUBLIC	?LeftCropping@@3JA				; LeftCropping
PUBLIC	??0?$allocator@PAVCColorBar@@@std@@QAE@XZ	; std::allocator<CColorBar *>::allocator<CColorBar *>
PUBLIC	??$?0PAVCColorBar@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@PAVCColorBar@@@1@@Z ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><CColorBar *>
PUBLIC	??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@V?$allocator@PAVCColorBar@@@1@@Z ; std::_Container_base_aux_alloc_real<std::allocator<CColorBar *> >::_Container_base_aux_alloc_real<std::allocator<CColorBar *> >
PUBLIC	??0?$allocator@PAVCColorBar@@@std@@QAE@ABV01@@Z	; std::allocator<CColorBar *>::allocator<CColorBar *>
PUBLIC	??0?$_Vector_val@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@V?$allocator@PAVCColorBar@@@1@@Z ; std::_Vector_val<CColorBar *,std::allocator<CColorBar *> >::_Vector_val<CColorBar *,std::allocator<CColorBar *> >
PUBLIC	?_Buy@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAE_NI@Z ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_Buy
PUBLIC	??0?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::vector<CColorBar *,std::allocator<CColorBar *> >
PUBLIC	??A?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAEAAPAVCColorBar@@I@Z ; std::vector<CColorBar *,std::allocator<CColorBar *> >::operator[]
PUBLIC	??0?$allocator@PAVCSubPattern@@@std@@QAE@XZ	; std::allocator<CSubPattern *>::allocator<CSubPattern *>
PUBLIC	??$?0PAVCSubPattern@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@PAVCSubPattern@@@1@@Z ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><CSubPattern *>
PUBLIC	??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@V?$allocator@PAVCSubPattern@@@1@@Z ; std::_Container_base_aux_alloc_real<std::allocator<CSubPattern *> >::_Container_base_aux_alloc_real<std::allocator<CSubPattern *> >
PUBLIC	??0?$allocator@PAVCSubPattern@@@std@@QAE@ABV01@@Z ; std::allocator<CSubPattern *>::allocator<CSubPattern *>
PUBLIC	??0?$_Vector_val@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@V?$allocator@PAVCSubPattern@@@1@@Z ; std::_Vector_val<CSubPattern *,std::allocator<CSubPattern *> >::_Vector_val<CSubPattern *,std::allocator<CSubPattern *> >
PUBLIC	?_Buy@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE_NI@Z ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Buy
PUBLIC	??0?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::vector<CSubPattern *,std::allocator<CSubPattern *> >
PUBLIC	??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<CColorBar *> >::~_Container_base_aux_alloc_real<std::allocator<CColorBar *> >
PUBLIC	??1?$_Vector_val@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ ; std::_Vector_val<CColorBar *,std::allocator<CColorBar *> >::~_Vector_val<CColorBar *,std::allocator<CColorBar *> >
PUBLIC	?_Tidy@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXXZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_Tidy
PUBLIC	??1?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::~vector<CColorBar *,std::allocator<CColorBar *> >
PUBLIC	?_Make_iter@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBE?AV?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@V?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@@Z ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_Make_iter
PUBLIC	??$_Copy_opt@PAPAVCColorBar@@PAPAV1@Urandom_access_iterator_tag@std@@@std@@YAPAPAVCColorBar@@PAPAV1@00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_opt<CColorBar * *,CColorBar * *,std::random_access_iterator_tag>
PUBLIC	??$unchecked_copy@PAPAVCColorBar@@PAPAV1@@stdext@@YAPAPAVCColorBar@@PAPAV1@00@Z ; stdext::unchecked_copy<CColorBar * *,CColorBar * *>
PUBLIC	?erase@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@V?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@0@Z ; std::vector<CColorBar *,std::allocator<CColorBar *> >::erase
PUBLIC	?clear@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAEXXZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::clear
PUBLIC	??_GCSubPattern@@QAEPAXI@Z			; CSubPattern::`scalar deleting destructor'
PUBLIC	??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<CSubPattern *> >::~_Container_base_aux_alloc_real<std::allocator<CSubPattern *> >
PUBLIC	??1?$_Vector_val@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ ; std::_Vector_val<CSubPattern *,std::allocator<CSubPattern *> >::~_Vector_val<CSubPattern *,std::allocator<CSubPattern *> >
PUBLIC	?_Tidy@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXXZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Tidy
PUBLIC	??1?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::~vector<CSubPattern *,std::allocator<CSubPattern *> >
PUBLIC	?_Make_iter@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBE?AV?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@V?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@@Z ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Make_iter
PUBLIC	??$_Copy_opt@PAPAVCSubPattern@@PAPAV1@Urandom_access_iterator_tag@std@@@std@@YAPAPAVCSubPattern@@PAPAV1@00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_opt<CSubPattern * *,CSubPattern * *,std::random_access_iterator_tag>
PUBLIC	??$unchecked_copy@PAPAVCSubPattern@@PAPAV1@@stdext@@YAPAPAVCSubPattern@@PAPAV1@00@Z ; stdext::unchecked_copy<CSubPattern * *,CSubPattern * *>
PUBLIC	?erase@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@V?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@0@Z ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::erase
PUBLIC	?clear@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAEXXZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::clear
PUBLIC	?deallocate@?$allocator@PAVCSubPattern@@@std@@QAEXPAPAVCSubPattern@@I@Z ; std::allocator<CSubPattern *>::deallocate
PUBLIC	??$_Allocate@PAVCSubPattern@@@std@@YAPAPAVCSubPattern@@IPAPAV1@@Z ; std::_Allocate<CSubPattern *>
PUBLIC	?allocate@?$allocator@PAVCSubPattern@@@std@@QAEPAPAVCSubPattern@@I@Z ; std::allocator<CSubPattern *>::allocate
PUBLIC	?capacity@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEIXZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::capacity
PUBLIC	?size@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEIXZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::size
PUBLIC	?max_size@?$allocator@PAVCSubPattern@@@std@@QBEIXZ ; std::allocator<CSubPattern *>::max_size
PUBLIC	?max_size@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEIXZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::max_size
PUBLIC	??$_Destroy_range@V?$allocator@PAVCSubPattern@@@std@@@std@@YAXPAPAVCSubPattern@@0AAV?$allocator@PAVCSubPattern@@@0@U_Scalar_ptr_iterator_tag@0@@Z ; std::_Destroy_range<std::allocator<CSubPattern *> >
PUBLIC	??$_Destroy_range@V?$allocator@PAVCSubPattern@@@std@@@std@@YAXPAPAVCSubPattern@@0AAV?$allocator@PAVCSubPattern@@@0@@Z ; std::_Destroy_range<std::allocator<CSubPattern *> >
PUBLIC	?_Destroy@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXPAPAVCSubPattern@@0@Z ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Destroy
PUBLIC	?_Xlen@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@KAXXZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Xlen
PUBLIC	??$_Uninit_copy@PAPAVCSubPattern@@PAPAV1@V?$allocator@PAVCSubPattern@@@std@@@std@@YAPAPAVCSubPattern@@PAPAV1@00AAV?$allocator@PAVCSubPattern@@@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_copy<CSubPattern * *,CSubPattern * *,std::allocator<CSubPattern *> >
PUBLIC	??$unchecked_uninitialized_copy@PAPAVCSubPattern@@PAPAV1@V?$allocator@PAVCSubPattern@@@std@@@stdext@@YAPAPAVCSubPattern@@PAPAV1@00AAV?$allocator@PAVCSubPattern@@@std@@@Z ; stdext::unchecked_uninitialized_copy<CSubPattern * *,CSubPattern * *,std::allocator<CSubPattern *> >
PUBLIC	??$_Uninit_move@PAPAVCSubPattern@@PAPAV1@V?$allocator@PAVCSubPattern@@@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCSubPattern@@PAPAV1@00AAV?$allocator@PAVCSubPattern@@@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_move<CSubPattern * *,CSubPattern * *,std::allocator<CSubPattern *>,std::_Undefined_move_tag>
PUBLIC	??$_Unchecked_uninitialized_move@PAPAVCSubPattern@@PAPAV1@V?$allocator@PAVCSubPattern@@@std@@@stdext@@YAPAPAVCSubPattern@@PAPAV1@00AAV?$allocator@PAVCSubPattern@@@std@@@Z ; stdext::_Unchecked_uninitialized_move<CSubPattern * *,CSubPattern * *,std::allocator<CSubPattern *> >
PUBLIC	??$_Umove@PAPAVCSubPattern@@@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEPAPAVCSubPattern@@PAPAV2@00@Z ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Umove<CSubPattern * *>
PUBLIC	??$_Fill@PAPAVCSubPattern@@PAV1@@std@@YAXPAPAVCSubPattern@@0ABQAV1@@Z ; std::_Fill<CSubPattern * *,CSubPattern *>
PUBLIC	??$fill@PAPAVCSubPattern@@PAV1@@std@@YAXPAPAVCSubPattern@@0ABQAV1@@Z ; std::fill<CSubPattern * *,CSubPattern *>
PUBLIC	??$_Iter_random@PAPAVCSubPattern@@PAPAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCSubPattern@@0@Z ; std::_Iter_random<CSubPattern * *,CSubPattern * *>
PUBLIC	??$_Move_cat@PAPAVCSubPattern@@@std@@YA?AU_Undefined_move_tag@0@ABQAPAVCSubPattern@@@Z ; std::_Move_cat<CSubPattern * *>
PUBLIC	??$_Copy_backward_opt@PAPAVCSubPattern@@PAPAV1@Urandom_access_iterator_tag@std@@@std@@YAPAPAVCSubPattern@@PAPAV1@00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_backward_opt<CSubPattern * *,CSubPattern * *,std::random_access_iterator_tag>
PUBLIC	??$_Move_backward_opt@PAPAVCSubPattern@@PAPAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCSubPattern@@PAPAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Move_backward_opt<CSubPattern * *,CSubPattern * *,std::random_access_iterator_tag,std::_Undefined_move_tag>
PUBLIC	??$_Unchecked_move_backward@PAPAVCSubPattern@@PAPAV1@@stdext@@YAPAPAVCSubPattern@@PAPAV1@00@Z ; stdext::_Unchecked_move_backward<CSubPattern * *,CSubPattern * *>
PUBLIC	?_Insert_n@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@IABQAVCSubPattern@@@Z ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Insert_n
PUBLIC	??G?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEHABV01@@Z ; std::_Vector_const_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator-
PUBLIC	??Y?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_const_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator+=
PUBLIC	??Y?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator+=
PUBLIC	??H?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBE?AV01@H@Z ; std::_Vector_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator+
PUBLIC	?insert@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@V?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@ABQAVCSubPattern@@@Z ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::insert
PUBLIC	??$_Ptr_cat@PAPAVCSubPattern@@PAPAV1@@std@@YA?AU_Scalar_ptr_iterator_tag@0@AAPAPAVCSubPattern@@0@Z ; std::_Ptr_cat<CSubPattern * *,CSubPattern * *>
PUBLIC	??$_Iter_cat@PAPAVCSubPattern@@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCSubPattern@@@Z ; std::_Iter_cat<CSubPattern * *>
PUBLIC	??$_Checked_base@PAPAVCSubPattern@@@std@@YAPAPAVCSubPattern@@AAPAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z ; std::_Checked_base<CSubPattern * *>
PUBLIC	??$_Checked_base@PAPAVCSubPattern@@@std@@YAPAPAVCSubPattern@@AAPAPAV1@@Z ; std::_Checked_base<CSubPattern * *>
PUBLIC	??$_Fill_n@PAPAVCSubPattern@@IPAV1@@std@@YAXPAPAVCSubPattern@@IABQAV1@U_Range_checked_iterator_tag@0@@Z ; std::_Fill_n<CSubPattern * *,unsigned int,CSubPattern *>
PUBLIC	??$_Fill_n@PAPAVCSubPattern@@IPAV1@@std@@YAXPAPAVCSubPattern@@IABQAV1@Urandom_access_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Fill_n<CSubPattern * *,unsigned int,CSubPattern *>
PUBLIC	??$unchecked_fill_n@PAPAVCSubPattern@@IPAV1@@stdext@@YAXPAPAVCSubPattern@@IABQAV1@@Z ; stdext::unchecked_fill_n<CSubPattern * *,unsigned int,CSubPattern *>
PUBLIC	??$_Uninit_fill_n@PAPAVCSubPattern@@IPAV1@V?$allocator@PAVCSubPattern@@@std@@@std@@YAXPAPAVCSubPattern@@IABQAV1@AAV?$allocator@PAVCSubPattern@@@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_fill_n<CSubPattern * *,unsigned int,CSubPattern *,std::allocator<CSubPattern *> >
PUBLIC	??$unchecked_uninitialized_fill_n@PAPAVCSubPattern@@IPAV1@V?$allocator@PAVCSubPattern@@@std@@@stdext@@YAXPAPAVCSubPattern@@IABQAV1@AAV?$allocator@PAVCSubPattern@@@std@@@Z ; stdext::unchecked_uninitialized_fill_n<CSubPattern * *,unsigned int,CSubPattern *,std::allocator<CSubPattern *> >
PUBLIC	?_Ufill@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEPAPAVCSubPattern@@PAPAV3@IABQAV3@@Z ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Ufill
PUBLIC	?push_back@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAEXABQAVCSubPattern@@@Z ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::push_back
PUBLIC	?begin@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@XZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::begin
PUBLIC	??0?$_Iterator_with_base@Urandom_access_iterator_tag@std@@PAVCSubPattern@@HPBQAV3@ABQAV3@V_Iterator_base_aux@2@@std@@QAE@XZ ; std::_Iterator_with_base<std::random_access_iterator_tag,CSubPattern *,int,CSubPattern * const *,CSubPattern * const &,std::_Iterator_base_aux>::_Iterator_with_base<std::random_access_iterator_tag,CSubPattern *,int,CSubPattern * const *,CSubPattern * const &,std::_Iterator_base_aux>
PUBLIC	??0?$_Ranit@PAVCSubPattern@@HPBQAV1@ABQAV1@@std@@QAE@XZ ; std::_Ranit<CSubPattern *,int,CSubPattern * const *,CSubPattern * const &>::_Ranit<CSubPattern *,int,CSubPattern * const *,CSubPattern * const &>
PUBLIC	??0?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@PAPAVCSubPattern@@PBV_Container_base_aux@1@@Z ; std::_Vector_const_iterator<CSubPattern *,std::allocator<CSubPattern *> >::_Vector_const_iterator<CSubPattern *,std::allocator<CSubPattern *> >
PUBLIC	??0?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@PAPAVCSubPattern@@PBV_Container_base_aux@1@@Z ; std::_Vector_iterator<CSubPattern *,std::allocator<CSubPattern *> >::_Vector_iterator<CSubPattern *,std::allocator<CSubPattern *> >
PUBLIC	?end@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@XZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::end
PUBLIC	??8?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator==
PUBLIC	??9?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator!=
PUBLIC	??D?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEABQAVCSubPattern@@XZ ; std::_Vector_const_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator*
PUBLIC	??D?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEAAPAVCSubPattern@@XZ ; std::_Vector_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator*
PUBLIC	??E?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAEAAV01@XZ ; std::_Vector_const_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator++
PUBLIC	??E?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAEAAV01@XZ ; std::_Vector_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator++
PUBLIC	??_C@_1DM@JJOHFOIO@?$AAC?$AAa?$AAl?$AAc?$AAA?$AAv?$AAg?$AAC?$AAo?$AAl?$AAo?$AAr?$AA?5?$AAZ?$AAo?$AAn?$AAe?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?$AA@ ; `string'
PUBLIC	??_C@_1EA@NJDADGE@?$AAC?$AAa?$AAl?$AAc?$AAA?$AAv?$AAg?$AAC?$AAo?$AAl?$AAo?$AAr?$AA?5?$AAM?$AAi?$AAn?$AA?5?$AAY?$AA?5?$AA?$CF?$AAd?$AA?5?$AAU?$AA?5?$AA?$CF?$AAd?$AA?5?$AAV?$AA?5?$AA?$CF?$AAd?$AA?$AA@ ; `string'
PUBLIC	??_C@_1EA@IDIIENFN@?$AAC?$AAa?$AAl?$AAc?$AAA?$AAv?$AAg?$AAC?$AAo?$AAl?$AAo?$AAr?$AA?5?$AAM?$AAa?$AAx?$AA?5?$AAY?$AA?5?$AA?$CF?$AAd?$AA?5?$AAU?$AA?5?$AA?$CF?$AAd?$AA?5?$AAV?$AA?5?$AA?$CF?$AAd?$AA?$AA@ ; `string'
PUBLIC	??_C@_1FI@FMMHOMOO@?$AAC?$AAa?$AAl?$AAc?$AAA?$AAv?$AAg?$AAC?$AAo?$AAl?$AAo?$AAr?$AA?5?$AAY?$AAU?$AAV?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5@ ; `string'
PUBLIC	??_C@_1O@MFOLGJKJ@?$AAP?$AAA?$AAT?$AA?5?$AA?$CF?$AAs?$AA?$AA@ ; `string'
PUBLIC	??_C@_1BG@JNHGODJN@?$AAS?$AAI?$AAZ?$AAE?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?$AA@ ; `string'
PUBLIC	??_C@_1FO@NBPOEHLB@?$AAR?$AAE?$AAC?$AAT?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAs?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5@ ; `string'
PUBLIC	??_C@_17KOJOHOEP@?$AAR?$AAG?$AAB?$AA?$AA@	; `string'
PUBLIC	??_C@_17GCJBABEB@?$AAY?$AAU?$AAV?$AA?$AA@	; `string'
PUBLIC	??_C@_1O@OCMDFLHB@?$AAB?$AAO?$AAR?$AAD?$AAE?$AAR?$AA?$AA@ ; `string'
PUBLIC	??_C@_1M@OOMONEFJ@?$AAL?$AAI?$AAN?$AAE?$AAH?$AA?$AA@ ; `string'
PUBLIC	??_C@_1M@FOAIPEPF@?$AAL?$AAI?$AAN?$AAE?$AAV?$AA?$AA@ ; `string'
PUBLIC	??_C@_1M@LONHIDMG@?$AAL?$AAI?$AAN?$AAE?$AAX?$AA?$AA@ ; `string'
PUBLIC	??_C@_1FM@BAMFJAM@?$AAR?$AAE?$AAC?$AAT?$AA?5?$AA?$CF?$AAs?$AA?5?$AA?$CI?$AA?$CF?$AAd?$AA?$CJ?$AA?5?$AA?$CF?$AAs?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF@ ; `string'
PUBLIC	??_C@_1EM@KNCPJLJD@?$AAR?$AAE?$AAC?$AAT?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAs?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAs?$AA?5@ ; `string'
PUBLIC	??_C@_1O@ILKCNDCH@?$AAF?$AAI?$AAL?$AAL?$AAE?$AAD?$AA?$AA@ ; `string'
PUBLIC	??_C@_1M@FCGOMLEB@?$AAG?$AAR?$AAA?$AAD?$AAH?$AA?$AA@ ; `string'
PUBLIC	??_C@_1M@OCKIOLON@?$AAG?$AAR?$AAA?$AAD?$AAV?$AA?$AA@ ; `string'
PUBLIC	??_C@_1EK@EMELFLLO@?$AAR?$AAE?$AAC?$AAT?$AA?5?$AA?$CF?$AAs?$AA?5?$AA?$CI?$AA?$CF?$AAd?$AA?$CJ?$AA?5?$AA?$CF?$AAs?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF@ ; `string'
PUBLIC	??_C@_1GO@KBFLKBHO@?$AAG?$AAR?$AAP?$AA?5?$AA?$CF?$AAs?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF@ ; `string'
PUBLIC	??_C@_1O@LEPJGAHD@?$AAG?$AAR?$AAP?$AA?5?$AA?$CF?$AAs?$AA?$AA@ ; `string'
PUBLIC	??_C@_1CI@MFDFDOCK@?$AAB?$AAR?$AAI?$AAG?$AAH?$AAT?$AAN?$AAE?$AAS?$AAS?$AA_?$AAC?$AAO?$AAN?$AAT?$AAR?$AAA?$AAS?$AAT?$AA?$AA@ ; `string'
PUBLIC	??_C@_1BG@MCAABGNO@?$AAB?$AAR?$AAI?$AAG?$AAH?$AAT?$AAN?$AAE?$AAS?$AAS?$AA?$AA@ ; `string'
PUBLIC	??_C@_1BC@ELIHLJNI@?$AAC?$AAO?$AAN?$AAT?$AAR?$AAA?$AAS?$AAT?$AA?$AA@ ; `string'
PUBLIC	??_C@_1M@ENFOKIIP@?$AAC?$AAO?$AAL?$AAO?$AAR?$AA?$AA@ ; `string'
PUBLIC	??_C@_1BK@HKLFAOGB@?$AAS?$AAA?$AAT?$AAU?$AAR?$AAA?$AAT?$AAI?$AAO?$AAN?$AA_?$AAU?$AA?$AA@ ; `string'
PUBLIC	??_C@_1BK@GIAAKBIP@?$AAS?$AAA?$AAT?$AAU?$AAR?$AAA?$AAT?$AAI?$AAO?$AAN?$AA_?$AAV?$AA?$AA@ ; `string'
PUBLIC	??_C@_17JACMMIIF@?$AAH?$AAU?$AAE?$AA?$AA@	; `string'
PUBLIC	??_C@_1O@HJDHAPFF@?$AAG?$AAR?$AAP?$AA?5?$AA?$CF?$AAd?$AA?$AA@ ; `string'
PUBLIC	??_C@_1CC@KAOIGNFG@?$AAP?$AAa?$AAt?$AAt?$AAe?$AAr?$AAn?$AA?5?$AA?$CF?$AAs?$AA?5?$AA?$CF?$AAd?$AAx?$AA?$CF?$AAd?$AA?$AA@ ; `string'
PUBLIC	??_C@_1HK@GEDHACLA@?$AA?5?$AA?5?$AA?5?$AAT?$AA?5?$AA?$CF?$AA4?$AAd?$AA?5?$AAB?$AA?5?$AA?$CF?$AA4?$AAd?$AA?5?$AAL?$AA?5?$AA?$CF?$AA4?$AAd?$AA?5?$AAR?$AA?5?$AA?$CF?$AA4?$AAd?$AA?5?$AA?9?$AA?5?$AAR?$AAG?$AAB@ ; `string'
PUBLIC	??_C@_1CE@HBAIMHKJ@?$AA?5?$AA?5?$AA?5?$AAS?$AAu?$AAb?$AA?9?$AAp?$AAa?$AAt?$AAt?$AAe?$AAr?$AAn?$AA?5?$AA?$CF?$AAd?$AA?$AA@ ; `string'
PUBLIC	??_C@_1DM@MBEBJLMP@?$AA?5?$AA?5?$AA?5?$AA?5?$AA?5?$AA?5?$AAT?$AA?5?$AA?$CF?$AA4?$AAd?$AA?5?$AAB?$AA?5?$AA?$CF?$AA4?$AAd?$AA?5?$AAL?$AA?5?$AA?$CF?$AA4?$AAd?$AA?5?$AAR?$AA?5?$AA?$CF?$AA4?$AAd?$AA?$AA@ ; `string'
PUBLIC	??_7CPatternHelper@@6B@				; CPatternHelper::`vftable'
;	COMDAT ??_7CPatternHelper@@6B@
CONST	SEGMENT
??_7CPatternHelper@@6B@ DD FLAT:??_R4CPatternHelper@@6B@ ; CPatternHelper::`vftable'
	DD	FLAT:?OpenMediaFile@CPatternHelper@@UAEHABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z
	DD	FLAT:?SaveSnapshot@CPatternHelper@@UAEXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HHPAEJ0@Z
CONST	ENDS
;	COMDAT ??_R4CPatternHelper@@6B@
rdata$r	SEGMENT
??_R4CPatternHelper@@6B@ DD 00H				; CPatternHelper::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVCPatternHelper@@@8
	DD	FLAT:??_R3CPatternHelper@@8
rdata$r	ENDS
;	COMDAT ??_R3CPatternHelper@@8
rdata$r	SEGMENT
??_R3CPatternHelper@@8 DD 00H				; CPatternHelper::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2CPatternHelper@@8
rdata$r	ENDS
;	COMDAT ??_R2CPatternHelper@@8
rdata$r	SEGMENT
??_R2CPatternHelper@@8 DD FLAT:??_R1A@?0A@EA@CPatternHelper@@8 ; CPatternHelper::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@CStillSourceHelper@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@CPatternHelper@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@CPatternHelper@@8 DD FLAT:??_R0?AVCPatternHelper@@@8 ; CPatternHelper::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3CPatternHelper@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVCPatternHelper@@@8
_DATA	SEGMENT
??_R0?AVCPatternHelper@@@8 DD FLAT:??_7type_info@@6B@	; CPatternHelper `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVCPatternHelper@@', 00H
_DATA	ENDS
;	COMDAT ??_C@_1DM@MBEBJLMP@?$AA?5?$AA?5?$AA?5?$AA?5?$AA?5?$AA?5?$AAT?$AA?5?$AA?$CF?$AA4?$AAd?$AA?5?$AAB?$AA?5?$AA?$CF?$AA4?$AAd?$AA?5?$AAL?$AA?5?$AA?$CF?$AA4?$AAd?$AA?5?$AAR?$AA?5?$AA?$CF?$AA4?$AAd?$AA?$AA@
CONST	SEGMENT
??_C@_1DM@MBEBJLMP@?$AA?5?$AA?5?$AA?5?$AA?5?$AA?5?$AA?5?$AAT?$AA?5?$AA?$CF?$AA4?$AAd?$AA?5?$AAB?$AA?5?$AA?$CF?$AA4?$AAd?$AA?5?$AAL?$AA?5?$AA?$CF?$AA4?$AAd?$AA?5?$AAR?$AA?5?$AA?$CF?$AA4?$AAd?$AA?$AA@ DB ' '
	DB	00H, ' ', 00H, ' ', 00H, ' ', 00H, ' ', 00H, ' ', 00H, 'T', 00H
	DB	' ', 00H, '%', 00H, '4', 00H, 'd', 00H, ' ', 00H, 'B', 00H, ' '
	DB	00H, '%', 00H, '4', 00H, 'd', 00H, ' ', 00H, 'L', 00H, ' ', 00H
	DB	'%', 00H, '4', 00H, 'd', 00H, ' ', 00H, 'R', 00H, ' ', 00H, '%'
	DB	00H, '4', 00H, 'd', 00H, 00H, 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_1CE@HBAIMHKJ@?$AA?5?$AA?5?$AA?5?$AAS?$AAu?$AAb?$AA?9?$AAp?$AAa?$AAt?$AAt?$AAe?$AAr?$AAn?$AA?5?$AA?$CF?$AAd?$AA?$AA@
CONST	SEGMENT
??_C@_1CE@HBAIMHKJ@?$AA?5?$AA?5?$AA?5?$AAS?$AAu?$AAb?$AA?9?$AAp?$AAa?$AAt?$AAt?$AAe?$AAr?$AAn?$AA?5?$AA?$CF?$AAd?$AA?$AA@ DB ' '
	DB	00H, ' ', 00H, ' ', 00H, 'S', 00H, 'u', 00H, 'b', 00H, '-', 00H
	DB	'p', 00H, 'a', 00H, 't', 00H, 't', 00H, 'e', 00H, 'r', 00H, 'n'
	DB	00H, ' ', 00H, '%', 00H, 'd', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_1HK@GEDHACLA@?$AA?5?$AA?5?$AA?5?$AAT?$AA?5?$AA?$CF?$AA4?$AAd?$AA?5?$AAB?$AA?5?$AA?$CF?$AA4?$AAd?$AA?5?$AAL?$AA?5?$AA?$CF?$AA4?$AAd?$AA?5?$AAR?$AA?5?$AA?$CF?$AA4?$AAd?$AA?5?$AA?9?$AA?5?$AAR?$AAG?$AAB@
CONST	SEGMENT
??_C@_1HK@GEDHACLA@?$AA?5?$AA?5?$AA?5?$AAT?$AA?5?$AA?$CF?$AA4?$AAd?$AA?5?$AAB?$AA?5?$AA?$CF?$AA4?$AAd?$AA?5?$AAL?$AA?5?$AA?$CF?$AA4?$AAd?$AA?5?$AAR?$AA?5?$AA?$CF?$AA4?$AAd?$AA?5?$AA?9?$AA?5?$AAR?$AAG?$AAB@ DB ' '
	DB	00H, ' ', 00H, ' ', 00H, 'T', 00H, ' ', 00H, '%', 00H, '4', 00H
	DB	'd', 00H, ' ', 00H, 'B', 00H, ' ', 00H, '%', 00H, '4', 00H, 'd'
	DB	00H, ' ', 00H, 'L', 00H, ' ', 00H, '%', 00H, '4', 00H, 'd', 00H
	DB	' ', 00H, 'R', 00H, ' ', 00H, '%', 00H, '4', 00H, 'd', 00H, ' '
	DB	00H, '-', 00H, ' ', 00H, 'R', 00H, 'G', 00H, 'B', 00H, ' ', 00H
	DB	'%', 00H, '3', 00H, 'd', 00H, ' ', 00H, '%', 00H, '3', 00H, 'd'
	DB	00H, ' ', 00H, '%', 00H, '3', 00H, 'd', 00H, ' ', 00H, 'Y', 00H
	DB	'U', 00H, 'V', 00H, ' ', 00H, '%', 00H, '3', 00H, 'd', 00H, ' '
	DB	00H, '%', 00H, '3', 00H, 'd', 00H, ' ', 00H, '%', 00H, '3', 00H
	DB	'd', 00H, 00H, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_1CC@KAOIGNFG@?$AAP?$AAa?$AAt?$AAt?$AAe?$AAr?$AAn?$AA?5?$AA?$CF?$AAs?$AA?5?$AA?$CF?$AAd?$AAx?$AA?$CF?$AAd?$AA?$AA@
CONST	SEGMENT
??_C@_1CC@KAOIGNFG@?$AAP?$AAa?$AAt?$AAt?$AAe?$AAr?$AAn?$AA?5?$AA?$CF?$AAs?$AA?5?$AA?$CF?$AAd?$AAx?$AA?$CF?$AAd?$AA?$AA@ DB 'P'
	DB	00H, 'a', 00H, 't', 00H, 't', 00H, 'e', 00H, 'r', 00H, 'n', 00H
	DB	' ', 00H, '%', 00H, 's', 00H, ' ', 00H, '%', 00H, 'd', 00H, 'x'
	DB	00H, '%', 00H, 'd', 00H, 00H, 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_1O@HJDHAPFF@?$AAG?$AAR?$AAP?$AA?5?$AA?$CF?$AAd?$AA?$AA@
CONST	SEGMENT
??_C@_1O@HJDHAPFF@?$AAG?$AAR?$AAP?$AA?5?$AA?$CF?$AAd?$AA?$AA@ DB 'G', 00H
	DB	'R', 00H, 'P', 00H, ' ', 00H, '%', 00H, 'd', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_17JACMMIIF@?$AAH?$AAU?$AAE?$AA?$AA@
CONST	SEGMENT
??_C@_17JACMMIIF@?$AAH?$AAU?$AAE?$AA?$AA@ DB 'H', 00H, 'U', 00H, 'E', 00H
	DB	00H, 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_1BK@GIAAKBIP@?$AAS?$AAA?$AAT?$AAU?$AAR?$AAA?$AAT?$AAI?$AAO?$AAN?$AA_?$AAV?$AA?$AA@
CONST	SEGMENT
??_C@_1BK@GIAAKBIP@?$AAS?$AAA?$AAT?$AAU?$AAR?$AAA?$AAT?$AAI?$AAO?$AAN?$AA_?$AAV?$AA?$AA@ DB 'S'
	DB	00H, 'A', 00H, 'T', 00H, 'U', 00H, 'R', 00H, 'A', 00H, 'T', 00H
	DB	'I', 00H, 'O', 00H, 'N', 00H, '_', 00H, 'V', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1BK@HKLFAOGB@?$AAS?$AAA?$AAT?$AAU?$AAR?$AAA?$AAT?$AAI?$AAO?$AAN?$AA_?$AAU?$AA?$AA@
CONST	SEGMENT
??_C@_1BK@HKLFAOGB@?$AAS?$AAA?$AAT?$AAU?$AAR?$AAA?$AAT?$AAI?$AAO?$AAN?$AA_?$AAU?$AA?$AA@ DB 'S'
	DB	00H, 'A', 00H, 'T', 00H, 'U', 00H, 'R', 00H, 'A', 00H, 'T', 00H
	DB	'I', 00H, 'O', 00H, 'N', 00H, '_', 00H, 'U', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1M@ENFOKIIP@?$AAC?$AAO?$AAL?$AAO?$AAR?$AA?$AA@
CONST	SEGMENT
??_C@_1M@ENFOKIIP@?$AAC?$AAO?$AAL?$AAO?$AAR?$AA?$AA@ DB 'C', 00H, 'O', 00H
	DB	'L', 00H, 'O', 00H, 'R', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_1BC@ELIHLJNI@?$AAC?$AAO?$AAN?$AAT?$AAR?$AAA?$AAS?$AAT?$AA?$AA@
CONST	SEGMENT
??_C@_1BC@ELIHLJNI@?$AAC?$AAO?$AAN?$AAT?$AAR?$AAA?$AAS?$AAT?$AA?$AA@ DB 'C'
	DB	00H, 'O', 00H, 'N', 00H, 'T', 00H, 'R', 00H, 'A', 00H, 'S', 00H
	DB	'T', 00H, 00H, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_1BG@MCAABGNO@?$AAB?$AAR?$AAI?$AAG?$AAH?$AAT?$AAN?$AAE?$AAS?$AAS?$AA?$AA@
CONST	SEGMENT
??_C@_1BG@MCAABGNO@?$AAB?$AAR?$AAI?$AAG?$AAH?$AAT?$AAN?$AAE?$AAS?$AAS?$AA?$AA@ DB 'B'
	DB	00H, 'R', 00H, 'I', 00H, 'G', 00H, 'H', 00H, 'T', 00H, 'N', 00H
	DB	'E', 00H, 'S', 00H, 'S', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_1CI@MFDFDOCK@?$AAB?$AAR?$AAI?$AAG?$AAH?$AAT?$AAN?$AAE?$AAS?$AAS?$AA_?$AAC?$AAO?$AAN?$AAT?$AAR?$AAA?$AAS?$AAT?$AA?$AA@
CONST	SEGMENT
??_C@_1CI@MFDFDOCK@?$AAB?$AAR?$AAI?$AAG?$AAH?$AAT?$AAN?$AAE?$AAS?$AAS?$AA_?$AAC?$AAO?$AAN?$AAT?$AAR?$AAA?$AAS?$AAT?$AA?$AA@ DB 'B'
	DB	00H, 'R', 00H, 'I', 00H, 'G', 00H, 'H', 00H, 'T', 00H, 'N', 00H
	DB	'E', 00H, 'S', 00H, 'S', 00H, '_', 00H, 'C', 00H, 'O', 00H, 'N'
	DB	00H, 'T', 00H, 'R', 00H, 'A', 00H, 'S', 00H, 'T', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1O@LEPJGAHD@?$AAG?$AAR?$AAP?$AA?5?$AA?$CF?$AAs?$AA?$AA@
CONST	SEGMENT
??_C@_1O@LEPJGAHD@?$AAG?$AAR?$AAP?$AA?5?$AA?$CF?$AAs?$AA?$AA@ DB 'G', 00H
	DB	'R', 00H, 'P', 00H, ' ', 00H, '%', 00H, 's', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1GO@KBFLKBHO@?$AAG?$AAR?$AAP?$AA?5?$AA?$CF?$AAs?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF@
CONST	SEGMENT
??_C@_1GO@KBFLKBHO@?$AAG?$AAR?$AAP?$AA?5?$AA?$CF?$AAs?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF@ DB 'G'
	DB	00H, 'R', 00H, 'P', 00H, ' ', 00H, '%', 00H, 's', 00H, ' ', 00H
	DB	'%', 00H, 'd', 00H, ' ', 00H, '%', 00H, 'd', 00H, ' ', 00H, '%'
	DB	00H, 'd', 00H, ' ', 00H, '%', 00H, 'd', 00H, ' ', 00H, '%', 00H
	DB	'd', 00H, ' ', 00H, '%', 00H, 'd', 00H, ' ', 00H, '%', 00H, 'd'
	DB	00H, ' ', 00H, '%', 00H, 'd', 00H, ' ', 00H, '%', 00H, 'd', 00H
	DB	' ', 00H, '%', 00H, 'd', 00H, ' ', 00H, '%', 00H, 'd', 00H, ' '
	DB	00H, '%', 00H, 'd', 00H, ' ', 00H, '%', 00H, 'd', 00H, ' ', 00H
	DB	'%', 00H, 'd', 00H, ' ', 00H, '%', 00H, 'd', 00H, ' ', 00H, '%'
	DB	00H, 'd', 00H, 00H, 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_1EK@EMELFLLO@?$AAR?$AAE?$AAC?$AAT?$AA?5?$AA?$CF?$AAs?$AA?5?$AA?$CI?$AA?$CF?$AAd?$AA?$CJ?$AA?5?$AA?$CF?$AAs?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF@
CONST	SEGMENT
??_C@_1EK@EMELFLLO@?$AAR?$AAE?$AAC?$AAT?$AA?5?$AA?$CF?$AAs?$AA?5?$AA?$CI?$AA?$CF?$AAd?$AA?$CJ?$AA?5?$AA?$CF?$AAs?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF@ DB 'R'
	DB	00H, 'E', 00H, 'C', 00H, 'T', 00H, ' ', 00H, '%', 00H, 's', 00H
	DB	' ', 00H, '(', 00H, '%', 00H, 'd', 00H, ')', 00H, ' ', 00H, '%'
	DB	00H, 's', 00H, ' ', 00H, '%', 00H, 'd', 00H, ' ', 00H, '%', 00H
	DB	'd', 00H, ' ', 00H, '%', 00H, 'd', 00H, ' ', 00H, '%', 00H, 'd'
	DB	00H, ' ', 00H, '%', 00H, 'd', 00H, ' ', 00H, '%', 00H, 'd', 00H
	DB	' ', 00H, '%', 00H, 'd', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_1M@OCKIOLON@?$AAG?$AAR?$AAA?$AAD?$AAV?$AA?$AA@
CONST	SEGMENT
??_C@_1M@OCKIOLON@?$AAG?$AAR?$AAA?$AAD?$AAV?$AA?$AA@ DB 'G', 00H, 'R', 00H
	DB	'A', 00H, 'D', 00H, 'V', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_1M@FCGOMLEB@?$AAG?$AAR?$AAA?$AAD?$AAH?$AA?$AA@
CONST	SEGMENT
??_C@_1M@FCGOMLEB@?$AAG?$AAR?$AAA?$AAD?$AAH?$AA?$AA@ DB 'G', 00H, 'R', 00H
	DB	'A', 00H, 'D', 00H, 'H', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_1O@ILKCNDCH@?$AAF?$AAI?$AAL?$AAL?$AAE?$AAD?$AA?$AA@
CONST	SEGMENT
??_C@_1O@ILKCNDCH@?$AAF?$AAI?$AAL?$AAL?$AAE?$AAD?$AA?$AA@ DB 'F', 00H, 'I'
	DB	00H, 'L', 00H, 'L', 00H, 'E', 00H, 'D', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1EM@KNCPJLJD@?$AAR?$AAE?$AAC?$AAT?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAs?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAs?$AA?5@
CONST	SEGMENT
??_C@_1EM@KNCPJLJD@?$AAR?$AAE?$AAC?$AAT?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAs?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAs?$AA?5@ DB 'R'
	DB	00H, 'E', 00H, 'C', 00H, 'T', 00H, ' ', 00H, '%', 00H, 'd', 00H
	DB	' ', 00H, '%', 00H, 'd', 00H, ' ', 00H, '%', 00H, 'd', 00H, ' '
	DB	00H, '%', 00H, 'd', 00H, ' ', 00H, '%', 00H, 's', 00H, ' ', 00H
	DB	'%', 00H, 'd', 00H, ' ', 00H, '%', 00H, 'd', 00H, ' ', 00H, '%'
	DB	00H, 'd', 00H, ' ', 00H, '%', 00H, 's', 00H, ' ', 00H, '%', 00H
	DB	'd', 00H, ' ', 00H, '%', 00H, 'd', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1FM@BAMFJAM@?$AAR?$AAE?$AAC?$AAT?$AA?5?$AA?$CF?$AAs?$AA?5?$AA?$CI?$AA?$CF?$AAd?$AA?$CJ?$AA?5?$AA?$CF?$AAs?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF@
CONST	SEGMENT
??_C@_1FM@BAMFJAM@?$AAR?$AAE?$AAC?$AAT?$AA?5?$AA?$CF?$AAs?$AA?5?$AA?$CI?$AA?$CF?$AAd?$AA?$CJ?$AA?5?$AA?$CF?$AAs?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF@ DB 'R'
	DB	00H, 'E', 00H, 'C', 00H, 'T', 00H, ' ', 00H, '%', 00H, 's', 00H
	DB	' ', 00H, '(', 00H, '%', 00H, 'd', 00H, ')', 00H, ' ', 00H, '%'
	DB	00H, 's', 00H, ' ', 00H, '%', 00H, 'd', 00H, ' ', 00H, '%', 00H
	DB	'd', 00H, ' ', 00H, '%', 00H, 'd', 00H, ' ', 00H, '%', 00H, 'd'
	DB	00H, ' ', 00H, '%', 00H, 'd', 00H, ' ', 00H, '%', 00H, 'd', 00H
	DB	' ', 00H, '%', 00H, 'd', 00H, ' ', 00H, '%', 00H, 'd', 00H, ' '
	DB	00H, '%', 00H, 'd', 00H, ' ', 00H, '%', 00H, 'd', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1M@LONHIDMG@?$AAL?$AAI?$AAN?$AAE?$AAX?$AA?$AA@
CONST	SEGMENT
??_C@_1M@LONHIDMG@?$AAL?$AAI?$AAN?$AAE?$AAX?$AA?$AA@ DB 'L', 00H, 'I', 00H
	DB	'N', 00H, 'E', 00H, 'X', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_1M@FOAIPEPF@?$AAL?$AAI?$AAN?$AAE?$AAV?$AA?$AA@
CONST	SEGMENT
??_C@_1M@FOAIPEPF@?$AAL?$AAI?$AAN?$AAE?$AAV?$AA?$AA@ DB 'L', 00H, 'I', 00H
	DB	'N', 00H, 'E', 00H, 'V', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_1M@OOMONEFJ@?$AAL?$AAI?$AAN?$AAE?$AAH?$AA?$AA@
CONST	SEGMENT
??_C@_1M@OOMONEFJ@?$AAL?$AAI?$AAN?$AAE?$AAH?$AA?$AA@ DB 'L', 00H, 'I', 00H
	DB	'N', 00H, 'E', 00H, 'H', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_1O@OCMDFLHB@?$AAB?$AAO?$AAR?$AAD?$AAE?$AAR?$AA?$AA@
CONST	SEGMENT
??_C@_1O@OCMDFLHB@?$AAB?$AAO?$AAR?$AAD?$AAE?$AAR?$AA?$AA@ DB 'B', 00H, 'O'
	DB	00H, 'R', 00H, 'D', 00H, 'E', 00H, 'R', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_17GCJBABEB@?$AAY?$AAU?$AAV?$AA?$AA@
CONST	SEGMENT
??_C@_17GCJBABEB@?$AAY?$AAU?$AAV?$AA?$AA@ DB 'Y', 00H, 'U', 00H, 'V', 00H
	DB	00H, 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_17KOJOHOEP@?$AAR?$AAG?$AAB?$AA?$AA@
CONST	SEGMENT
??_C@_17KOJOHOEP@?$AAR?$AAG?$AAB?$AA?$AA@ DB 'R', 00H, 'G', 00H, 'B', 00H
	DB	00H, 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_1FO@NBPOEHLB@?$AAR?$AAE?$AAC?$AAT?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAs?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5@
CONST	SEGMENT
??_C@_1FO@NBPOEHLB@?$AAR?$AAE?$AAC?$AAT?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAs?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5@ DB 'R'
	DB	00H, 'E', 00H, 'C', 00H, 'T', 00H, ' ', 00H, '%', 00H, 'd', 00H
	DB	' ', 00H, '%', 00H, 'd', 00H, ' ', 00H, '%', 00H, 'd', 00H, ' '
	DB	00H, '%', 00H, 'd', 00H, ' ', 00H, '%', 00H, 's', 00H, ' ', 00H
	DB	'%', 00H, 'd', 00H, ' ', 00H, '%', 00H, 'd', 00H, ' ', 00H, '%'
	DB	00H, 'd', 00H, ' ', 00H, '%', 00H, 'd', 00H, ' ', 00H, '%', 00H
	DB	'd', 00H, ' ', 00H, '%', 00H, 'd', 00H, ' ', 00H, '%', 00H, 's'
	DB	00H, ' ', 00H, '%', 00H, 'd', 00H, ' ', 00H, '%', 00H, 'd', 00H
	DB	00H, 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_1BG@JNHGODJN@?$AAS?$AAI?$AAZ?$AAE?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?$AA@
CONST	SEGMENT
??_C@_1BG@JNHGODJN@?$AAS?$AAI?$AAZ?$AAE?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?$AA@ DB 'S'
	DB	00H, 'I', 00H, 'Z', 00H, 'E', 00H, ' ', 00H, '%', 00H, 'd', 00H
	DB	' ', 00H, '%', 00H, 'd', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_1O@MFOLGJKJ@?$AAP?$AAA?$AAT?$AA?5?$AA?$CF?$AAs?$AA?$AA@
CONST	SEGMENT
??_C@_1O@MFOLGJKJ@?$AAP?$AAA?$AAT?$AA?5?$AA?$CF?$AAs?$AA?$AA@ DB 'P', 00H
	DB	'A', 00H, 'T', 00H, ' ', 00H, '%', 00H, 's', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1FI@FMMHOMOO@?$AAC?$AAa?$AAl?$AAc?$AAA?$AAv?$AAg?$AAC?$AAo?$AAl?$AAo?$AAr?$AA?5?$AAY?$AAU?$AAV?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5@
CONST	SEGMENT
??_C@_1FI@FMMHOMOO@?$AAC?$AAa?$AAl?$AAc?$AAA?$AAv?$AAg?$AAC?$AAo?$AAl?$AAo?$AAr?$AA?5?$AAY?$AAU?$AAV?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5@ DB 'C'
	DB	00H, 'a', 00H, 'l', 00H, 'c', 00H, 'A', 00H, 'v', 00H, 'g', 00H
	DB	'C', 00H, 'o', 00H, 'l', 00H, 'o', 00H, 'r', 00H, ' ', 00H, 'Y'
	DB	00H, 'U', 00H, 'V', 00H, ' ', 00H, '%', 00H, 'd', 00H, ' ', 00H
	DB	'%', 00H, 'd', 00H, ' ', 00H, '%', 00H, 'd', 00H, ' ', 00H, '%'
	DB	00H, 'd', 00H, ' ', 00H, '%', 00H, 'd', 00H, ' ', 00H, '%', 00H
	DB	'd', 00H, ' ', 00H, '%', 00H, 'd', 00H, ' ', 00H, '%', 00H, 'd'
	DB	00H, ' ', 00H, '%', 00H, 'd', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_1EA@IDIIENFN@?$AAC?$AAa?$AAl?$AAc?$AAA?$AAv?$AAg?$AAC?$AAo?$AAl?$AAo?$AAr?$AA?5?$AAM?$AAa?$AAx?$AA?5?$AAY?$AA?5?$AA?$CF?$AAd?$AA?5?$AAU?$AA?5?$AA?$CF?$AAd?$AA?5?$AAV?$AA?5?$AA?$CF?$AAd?$AA?$AA@
CONST	SEGMENT
??_C@_1EA@IDIIENFN@?$AAC?$AAa?$AAl?$AAc?$AAA?$AAv?$AAg?$AAC?$AAo?$AAl?$AAo?$AAr?$AA?5?$AAM?$AAa?$AAx?$AA?5?$AAY?$AA?5?$AA?$CF?$AAd?$AA?5?$AAU?$AA?5?$AA?$CF?$AAd?$AA?5?$AAV?$AA?5?$AA?$CF?$AAd?$AA?$AA@ DB 'C'
	DB	00H, 'a', 00H, 'l', 00H, 'c', 00H, 'A', 00H, 'v', 00H, 'g', 00H
	DB	'C', 00H, 'o', 00H, 'l', 00H, 'o', 00H, 'r', 00H, ' ', 00H, 'M'
	DB	00H, 'a', 00H, 'x', 00H, ' ', 00H, 'Y', 00H, ' ', 00H, '%', 00H
	DB	'd', 00H, ' ', 00H, 'U', 00H, ' ', 00H, '%', 00H, 'd', 00H, ' '
	DB	00H, 'V', 00H, ' ', 00H, '%', 00H, 'd', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1EA@NJDADGE@?$AAC?$AAa?$AAl?$AAc?$AAA?$AAv?$AAg?$AAC?$AAo?$AAl?$AAo?$AAr?$AA?5?$AAM?$AAi?$AAn?$AA?5?$AAY?$AA?5?$AA?$CF?$AAd?$AA?5?$AAU?$AA?5?$AA?$CF?$AAd?$AA?5?$AAV?$AA?5?$AA?$CF?$AAd?$AA?$AA@
CONST	SEGMENT
??_C@_1EA@NJDADGE@?$AAC?$AAa?$AAl?$AAc?$AAA?$AAv?$AAg?$AAC?$AAo?$AAl?$AAo?$AAr?$AA?5?$AAM?$AAi?$AAn?$AA?5?$AAY?$AA?5?$AA?$CF?$AAd?$AA?5?$AAU?$AA?5?$AA?$CF?$AAd?$AA?5?$AAV?$AA?5?$AA?$CF?$AAd?$AA?$AA@ DB 'C'
	DB	00H, 'a', 00H, 'l', 00H, 'c', 00H, 'A', 00H, 'v', 00H, 'g', 00H
	DB	'C', 00H, 'o', 00H, 'l', 00H, 'o', 00H, 'r', 00H, ' ', 00H, 'M'
	DB	00H, 'i', 00H, 'n', 00H, ' ', 00H, 'Y', 00H, ' ', 00H, '%', 00H
	DB	'd', 00H, ' ', 00H, 'U', 00H, ' ', 00H, '%', 00H, 'd', 00H, ' '
	DB	00H, 'V', 00H, ' ', 00H, '%', 00H, 'd', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1DM@JJOHFOIO@?$AAC?$AAa?$AAl?$AAc?$AAA?$AAv?$AAg?$AAC?$AAo?$AAl?$AAo?$AAr?$AA?5?$AAZ?$AAo?$AAn?$AAe?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?$AA@
CONST	SEGMENT
??_C@_1DM@JJOHFOIO@?$AAC?$AAa?$AAl?$AAc?$AAA?$AAv?$AAg?$AAC?$AAo?$AAl?$AAo?$AAr?$AA?5?$AAZ?$AAo?$AAn?$AAe?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?$AA@ DB 'C'
	DB	00H, 'a', 00H, 'l', 00H, 'c', 00H, 'A', 00H, 'v', 00H, 'g', 00H
	DB	'C', 00H, 'o', 00H, 'l', 00H, 'o', 00H, 'r', 00H, ' ', 00H, 'Z'
	DB	00H, 'o', 00H, 'n', 00H, 'e', 00H, ' ', 00H, '%', 00H, 'd', 00H
	DB	' ', 00H, '%', 00H, 'd', 00H, ' ', 00H, '%', 00H, 'd', 00H, ' '
	DB	00H, '%', 00H, 'd', 00H, 00H, 00H		; `string'
?LeftCropping@@3JA DD 08H				; LeftCropping
?RightCropping@@3JA DD 010H				; RightCropping
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\memory
;	COMDAT ??$_Uninit_copy@PAPAVCSubPattern@@PAPAV1@V?$allocator@PAVCSubPattern@@@std@@@std@@YAPAPAVCSubPattern@@PAPAV1@00AAV?$allocator@PAVCSubPattern@@@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__Result$ = -8						; size = 4
__Count$ = -4						; size = 4
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
___formal$ = 20						; size = 4
___formal$ = 24						; size = 1
___formal$ = 28						; size = 1
??$_Uninit_copy@PAPAVCSubPattern@@PAPAV1@V?$allocator@PAVCSubPattern@@@std@@@std@@YAPAPAVCSubPattern@@PAPAV1@00AAV?$allocator@PAVCSubPattern@@@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Uninit_copy<CSubPattern * *,CSubPattern * *,std::allocator<CSubPattern *> >, COMDAT

; 143  : 	{	// copy [_First, _Last) to raw _Dest, scalar type

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 08	 sub	 esp, 8

; 144  : 	_DEBUG_RANGE(_First, _Last);
; 145  : 	_DEBUG_POINTER(_Dest);
; 146  : 	size_t _Count = (size_t)(_Last - _First);

  00006	8b 45 0c	 mov	 eax, DWORD PTR __Last$[ebp]
  00009	2b 45 08	 sub	 eax, DWORD PTR __First$[ebp]
  0000c	c1 f8 02	 sar	 eax, 2
  0000f	89 45 fc	 mov	 DWORD PTR __Count$[ebp], eax

; 147  : 	_FwdIt _Result = _Dest + _Count;

  00012	8b 4d fc	 mov	 ecx, DWORD PTR __Count$[ebp]
  00015	8b 55 10	 mov	 edx, DWORD PTR __Dest$[ebp]
  00018	8d 04 8a	 lea	 eax, DWORD PTR [edx+ecx*4]
  0001b	89 45 f8	 mov	 DWORD PTR __Result$[ebp], eax

; 148  : 	if (_Count > 0)

  0001e	83 7d fc 00	 cmp	 DWORD PTR __Count$[ebp], 0
  00022	76 1e		 jbe	 SHORT $LN1@Uninit_cop@5

; 149  : 		_CRT_SECURE_MEMMOVE(&*_Dest, _Count * sizeof (*_First), &*_First, _Count * sizeof (*_First));	// NB: non-overlapping move

  00024	8b 4d fc	 mov	 ecx, DWORD PTR __Count$[ebp]
  00027	c1 e1 02	 shl	 ecx, 2
  0002a	51		 push	 ecx
  0002b	8b 55 08	 mov	 edx, DWORD PTR __First$[ebp]
  0002e	52		 push	 edx
  0002f	8b 45 fc	 mov	 eax, DWORD PTR __Count$[ebp]
  00032	c1 e0 02	 shl	 eax, 2
  00035	50		 push	 eax
  00036	8b 4d 10	 mov	 ecx, DWORD PTR __Dest$[ebp]
  00039	51		 push	 ecx
  0003a	e8 00 00 00 00	 call	 _memmove_s
  0003f	83 c4 10	 add	 esp, 16			; 00000010H
$LN1@Uninit_cop@5:

; 150  : 	return _Result;

  00042	8b 45 f8	 mov	 eax, DWORD PTR __Result$[ebp]

; 151  : 	}

  00045	8b e5		 mov	 esp, ebp
  00047	5d		 pop	 ebp
  00048	c3		 ret	 0
??$_Uninit_copy@PAPAVCSubPattern@@PAPAV1@V?$allocator@PAVCSubPattern@@@std@@@std@@YAPAPAVCSubPattern@@PAPAV1@00AAV?$allocator@PAVCSubPattern@@@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Uninit_copy<CSubPattern * *,CSubPattern * *,std::allocator<CSubPattern *> >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
_TEXT	ENDS
;	COMDAT ??$_Fill_n@PAPAVCSubPattern@@IPAV1@@std@@YAXPAPAVCSubPattern@@IABQAV1@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Count$ = 12						; size = 4
__Val$ = 16						; size = 4
___formal$ = 20						; size = 1
??$_Fill_n@PAPAVCSubPattern@@IPAV1@@std@@YAXPAPAVCSubPattern@@IABQAV1@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Fill_n<CSubPattern * *,unsigned int,CSubPattern *>, COMDAT

; 3170 : 	{	// copy _Val _Count times through [_First, ...)

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 3171 : 	for (; 0 < _Count; --_Count, ++_First)

  00003	eb 12		 jmp	 SHORT $LN3@Fill_n@6
$LN2@Fill_n@6:
  00005	8b 45 0c	 mov	 eax, DWORD PTR __Count$[ebp]
  00008	83 e8 01	 sub	 eax, 1
  0000b	89 45 0c	 mov	 DWORD PTR __Count$[ebp], eax
  0000e	8b 4d 08	 mov	 ecx, DWORD PTR __First$[ebp]
  00011	83 c1 04	 add	 ecx, 4
  00014	89 4d 08	 mov	 DWORD PTR __First$[ebp], ecx
$LN3@Fill_n@6:
  00017	83 7d 0c 00	 cmp	 DWORD PTR __Count$[ebp], 0
  0001b	76 0c		 jbe	 SHORT $LN4@Fill_n@6

; 3172 : 		*_First = _Val;

  0001d	8b 55 08	 mov	 edx, DWORD PTR __First$[ebp]
  00020	8b 45 10	 mov	 eax, DWORD PTR __Val$[ebp]
  00023	8b 08		 mov	 ecx, DWORD PTR [eax]
  00025	89 0a		 mov	 DWORD PTR [edx], ecx
  00027	eb dc		 jmp	 SHORT $LN2@Fill_n@6
$LN4@Fill_n@6:

; 3173 : 	}

  00029	5d		 pop	 ebp
  0002a	c3		 ret	 0
??$_Fill_n@PAPAVCSubPattern@@IPAV1@@std@@YAXPAPAVCSubPattern@@IABQAV1@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Fill_n<CSubPattern * *,unsigned int,CSubPattern *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Iter_cat@PAPAVCSubPattern@@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCSubPattern@@@Z
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
___formal$ = 12						; size = 4
??$_Iter_cat@PAPAVCSubPattern@@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCSubPattern@@@Z PROC ; std::_Iter_cat<CSubPattern * *>, COMDAT

; 952  : 	{	// return category from iterator argument

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx

; 953  : 	typename iterator_traits<_Iter>::iterator_category _Cat;
; 954  : 	return (_Cat);

  00004	8b 45 08	 mov	 eax, DWORD PTR ___$ReturnUdt$[ebp]

; 955  : 	}

  00007	8b e5		 mov	 esp, ebp
  00009	5d		 pop	 ebp
  0000a	c3		 ret	 0
??$_Iter_cat@PAPAVCSubPattern@@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCSubPattern@@@Z ENDP ; std::_Iter_cat<CSubPattern * *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Copy_backward_opt@PAPAVCSubPattern@@PAPAV1@Urandom_access_iterator_tag@std@@@std@@YAPAPAVCSubPattern@@PAPAV1@00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__Off$ = -8						; size = 4
__Result$ = -4						; size = 4
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
___formal$ = 20						; size = 1
___formal$ = 24						; size = 1
___formal$ = 28						; size = 1
??$_Copy_backward_opt@PAPAVCSubPattern@@PAPAV1@Urandom_access_iterator_tag@std@@@std@@YAPAPAVCSubPattern@@PAPAV1@00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Copy_backward_opt<CSubPattern * *,CSubPattern * *,std::random_access_iterator_tag>, COMDAT

; 2672 : 	{	// copy [_First, _Last) backwards to [..., _Dest), pointers to scalars

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 08	 sub	 esp, 8

; 2673 : 
; 2674 :  #if _HAS_ITERATOR_DEBUGGING
; 2675 : 	_DEBUG_RANGE(_First, _Last);
; 2676 : 	if (_First != _Last)
; 2677 : 		_DEBUG_POINTER(_Dest);
; 2678 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 2679 : 
; 2680 : 	ptrdiff_t _Off = _Last - _First;	// NB: non-overlapping move

  00006	8b 45 0c	 mov	 eax, DWORD PTR __Last$[ebp]
  00009	2b 45 08	 sub	 eax, DWORD PTR __First$[ebp]
  0000c	c1 f8 02	 sar	 eax, 2
  0000f	89 45 f8	 mov	 DWORD PTR __Off$[ebp], eax

; 2681 : 	/* if _OutIt is range checked, this will make sure there is enough space for 
; 2682 : 	 * the memmove
; 2683 : 	 */
; 2684 : 	_OutIt _Result = _Dest - _Off;

  00012	8b 4d f8	 mov	 ecx, DWORD PTR __Off$[ebp]
  00015	c1 e1 02	 shl	 ecx, 2
  00018	8b 55 10	 mov	 edx, DWORD PTR __Dest$[ebp]
  0001b	2b d1		 sub	 edx, ecx
  0001d	89 55 fc	 mov	 DWORD PTR __Result$[ebp], edx

; 2685 : 	if (_Off > 0)

  00020	83 7d f8 00	 cmp	 DWORD PTR __Off$[ebp], 0
  00024	7e 1e		 jle	 SHORT $LN1@Copy_backw@7

; 2686 : 		_CRT_SECURE_MEMMOVE(&*_Result, _Off * sizeof (*_First), &*_First, _Off * sizeof (*_First));

  00026	8b 45 f8	 mov	 eax, DWORD PTR __Off$[ebp]
  00029	c1 e0 02	 shl	 eax, 2
  0002c	50		 push	 eax
  0002d	8b 4d 08	 mov	 ecx, DWORD PTR __First$[ebp]
  00030	51		 push	 ecx
  00031	8b 55 f8	 mov	 edx, DWORD PTR __Off$[ebp]
  00034	c1 e2 02	 shl	 edx, 2
  00037	52		 push	 edx
  00038	8b 45 fc	 mov	 eax, DWORD PTR __Result$[ebp]
  0003b	50		 push	 eax
  0003c	e8 00 00 00 00	 call	 _memmove_s
  00041	83 c4 10	 add	 esp, 16			; 00000010H
$LN1@Copy_backw@7:

; 2687 : 	return _Result;

  00044	8b 45 fc	 mov	 eax, DWORD PTR __Result$[ebp]

; 2688 : 	}

  00047	8b e5		 mov	 esp, ebp
  00049	5d		 pop	 ebp
  0004a	c3		 ret	 0
??$_Copy_backward_opt@PAPAVCSubPattern@@PAPAV1@Urandom_access_iterator_tag@std@@@std@@YAPAPAVCSubPattern@@PAPAV1@00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Copy_backward_opt<CSubPattern * *,CSubPattern * *,std::random_access_iterator_tag>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Checked_base@PAPAVCSubPattern@@@std@@YAPAPAVCSubPattern@@AAPAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z
_TEXT	SEGMENT
__It$ = 8						; size = 4
___formal$ = 12						; size = 1
??$_Checked_base@PAPAVCSubPattern@@@std@@YAPAPAVCSubPattern@@AAPAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z PROC ; std::_Checked_base<CSubPattern * *>, COMDAT

; 1146 : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 1147 : 		return _It;

  00003	8b 45 08	 mov	 eax, DWORD PTR __It$[ebp]
  00006	8b 00		 mov	 eax, DWORD PTR [eax]

; 1148 : 	}

  00008	5d		 pop	 ebp
  00009	c3		 ret	 0
??$_Checked_base@PAPAVCSubPattern@@@std@@YAPAPAVCSubPattern@@AAPAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z ENDP ; std::_Checked_base<CSubPattern * *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Move_cat@PAPAVCSubPattern@@@std@@YA?AU_Undefined_move_tag@0@ABQAPAVCSubPattern@@@Z
_TEXT	SEGMENT
__Cat$ = -1						; size = 1
___formal$ = 8						; size = 4
??$_Move_cat@PAPAVCSubPattern@@@std@@YA?AU_Undefined_move_tag@0@ABQAPAVCSubPattern@@@Z PROC ; std::_Move_cat<CSubPattern * *>, COMDAT

; 1200 : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx

; 1201 : 		typename _Move_operation_category<typename iterator_traits<_Iter>::value_type>::_Move_cat _Cat;
; 1202 : 		return (_Cat);

  00004	8a 45 ff	 mov	 al, BYTE PTR __Cat$[ebp]

; 1203 : 	}

  00007	8b e5		 mov	 esp, ebp
  00009	5d		 pop	 ebp
  0000a	c3		 ret	 0
??$_Move_cat@PAPAVCSubPattern@@@std@@YA?AU_Undefined_move_tag@0@ABQAPAVCSubPattern@@@Z ENDP ; std::_Move_cat<CSubPattern * *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Fill@PAPAVCSubPattern@@PAV1@@std@@YAXPAPAVCSubPattern@@0ABQAV1@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Val$ = 16						; size = 4
??$_Fill@PAPAVCSubPattern@@PAV1@@std@@YAXPAPAVCSubPattern@@0ABQAV1@@Z PROC ; std::_Fill<CSubPattern * *,CSubPattern *>, COMDAT

; 3130 : 	{	// copy _Val through [_First, _Last)

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 3131 : 	_DEBUG_RANGE(_First, _Last);
; 3132 : 	for (; _First != _Last; ++_First)

  00003	eb 09		 jmp	 SHORT $LN3@Fill@7
$LN2@Fill@7:
  00005	8b 45 08	 mov	 eax, DWORD PTR __First$[ebp]
  00008	83 c0 04	 add	 eax, 4
  0000b	89 45 08	 mov	 DWORD PTR __First$[ebp], eax
$LN3@Fill@7:
  0000e	8b 4d 08	 mov	 ecx, DWORD PTR __First$[ebp]
  00011	3b 4d 0c	 cmp	 ecx, DWORD PTR __Last$[ebp]
  00014	74 0c		 je	 SHORT $LN4@Fill@7

; 3133 : 		*_First = _Val;

  00016	8b 55 08	 mov	 edx, DWORD PTR __First$[ebp]
  00019	8b 45 10	 mov	 eax, DWORD PTR __Val$[ebp]
  0001c	8b 08		 mov	 ecx, DWORD PTR [eax]
  0001e	89 0a		 mov	 DWORD PTR [edx], ecx
  00020	eb e3		 jmp	 SHORT $LN2@Fill@7
$LN4@Fill@7:

; 3134 : 	}

  00022	5d		 pop	 ebp
  00023	c3		 ret	 0
??$_Fill@PAPAVCSubPattern@@PAV1@@std@@YAXPAPAVCSubPattern@@0ABQAV1@@Z ENDP ; std::_Fill<CSubPattern * *,CSubPattern *>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ??$_Destroy_range@V?$allocator@PAVCSubPattern@@@std@@@std@@YAXPAPAVCSubPattern@@0AAV?$allocator@PAVCSubPattern@@@0@U_Scalar_ptr_iterator_tag@0@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Al$ = 16						; size = 4
___formal$ = 20						; size = 1
??$_Destroy_range@V?$allocator@PAVCSubPattern@@@std@@@std@@YAXPAPAVCSubPattern@@0AAV?$allocator@PAVCSubPattern@@@0@U_Scalar_ptr_iterator_tag@0@@Z PROC ; std::_Destroy_range<std::allocator<CSubPattern *> >, COMDAT

; 241  : 	{	// destroy [_First, _Last), scalar type (do nothing)

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 242  : 	}

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
??$_Destroy_range@V?$allocator@PAVCSubPattern@@@std@@@std@@YAXPAPAVCSubPattern@@0AAV?$allocator@PAVCSubPattern@@@0@U_Scalar_ptr_iterator_tag@0@@Z ENDP ; std::_Destroy_range<std::allocator<CSubPattern *> >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
_TEXT	ENDS
;	COMDAT ??$_Copy_opt@PAPAVCSubPattern@@PAPAV1@Urandom_access_iterator_tag@std@@@std@@YAPAPAVCSubPattern@@PAPAV1@00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__Off$ = -8						; size = 4
__Result$ = -4						; size = 4
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
___formal$ = 20						; size = 1
___formal$ = 24						; size = 1
___formal$ = 28						; size = 1
??$_Copy_opt@PAPAVCSubPattern@@PAPAV1@Urandom_access_iterator_tag@std@@@std@@YAPAPAVCSubPattern@@PAPAV1@00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Copy_opt<CSubPattern * *,CSubPattern * *,std::random_access_iterator_tag>, COMDAT

; 2468 : 	{	// copy [_First, _Last) to [_Dest, ...), pointers to scalars

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 08	 sub	 esp, 8

; 2469 : 
; 2470 :  #if _HAS_ITERATOR_DEBUGGING
; 2471 : 	_DEBUG_RANGE(_First, _Last);
; 2472 : 	if (_First != _Last)
; 2473 : 		_DEBUG_POINTER(_Dest);
; 2474 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 2475 : 
; 2476 : 	ptrdiff_t _Off = _Last - _First;	// NB: non-overlapping move

  00006	8b 45 0c	 mov	 eax, DWORD PTR __Last$[ebp]
  00009	2b 45 08	 sub	 eax, DWORD PTR __First$[ebp]
  0000c	c1 f8 02	 sar	 eax, 2
  0000f	89 45 f8	 mov	 DWORD PTR __Off$[ebp], eax

; 2477 : 	// if _OutIt is range checked, this will make sure there is enough space for the memmove
; 2478 : 	_OutIt _Result = _Dest + _Off;

  00012	8b 4d f8	 mov	 ecx, DWORD PTR __Off$[ebp]
  00015	8b 55 10	 mov	 edx, DWORD PTR __Dest$[ebp]
  00018	8d 04 8a	 lea	 eax, DWORD PTR [edx+ecx*4]
  0001b	89 45 fc	 mov	 DWORD PTR __Result$[ebp], eax

; 2479 : 	if (_Off > 0)

  0001e	83 7d f8 00	 cmp	 DWORD PTR __Off$[ebp], 0
  00022	7e 1e		 jle	 SHORT $LN1@Copy_opt@8

; 2480 : 		_CRT_SECURE_MEMMOVE(&*_Dest, _Off * sizeof (*_First), &*_First, _Off * sizeof (*_First));

  00024	8b 4d f8	 mov	 ecx, DWORD PTR __Off$[ebp]
  00027	c1 e1 02	 shl	 ecx, 2
  0002a	51		 push	 ecx
  0002b	8b 55 08	 mov	 edx, DWORD PTR __First$[ebp]
  0002e	52		 push	 edx
  0002f	8b 45 f8	 mov	 eax, DWORD PTR __Off$[ebp]
  00032	c1 e0 02	 shl	 eax, 2
  00035	50		 push	 eax
  00036	8b 4d 10	 mov	 ecx, DWORD PTR __Dest$[ebp]
  00039	51		 push	 ecx
  0003a	e8 00 00 00 00	 call	 _memmove_s
  0003f	83 c4 10	 add	 esp, 16			; 00000010H
$LN1@Copy_opt@8:

; 2481 : 	return _Result;

  00042	8b 45 fc	 mov	 eax, DWORD PTR __Result$[ebp]

; 2482 : 	}

  00045	8b e5		 mov	 esp, ebp
  00047	5d		 pop	 ebp
  00048	c3		 ret	 0
??$_Copy_opt@PAPAVCSubPattern@@PAPAV1@Urandom_access_iterator_tag@std@@@std@@YAPAPAVCSubPattern@@PAPAV1@00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Copy_opt<CSubPattern * *,CSubPattern * *,std::random_access_iterator_tag>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Ptr_cat@PAPAVCSubPattern@@PAPAV1@@std@@YA?AU_Scalar_ptr_iterator_tag@0@AAPAPAVCSubPattern@@0@Z
_TEXT	SEGMENT
__Cat$ = -1						; size = 1
___formal$ = 8						; size = 4
___formal$ = 12						; size = 4
??$_Ptr_cat@PAPAVCSubPattern@@PAPAV1@@std@@YA?AU_Scalar_ptr_iterator_tag@0@AAPAPAVCSubPattern@@0@Z PROC ; std::_Ptr_cat<CSubPattern * *,CSubPattern * *>, COMDAT

; 1483 : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx

; 1484 : 	typename _Ptr_cat_helper<_T1, _T2>::_Ptr_cat _Cat;
; 1485 : 	return (_Cat);

  00004	8a 45 ff	 mov	 al, BYTE PTR __Cat$[ebp]

; 1486 : 	}

  00007	8b e5		 mov	 esp, ebp
  00009	5d		 pop	 ebp
  0000a	c3		 ret	 0
??$_Ptr_cat@PAPAVCSubPattern@@PAPAV1@@std@@YA?AU_Scalar_ptr_iterator_tag@0@AAPAPAVCSubPattern@@0@Z ENDP ; std::_Ptr_cat<CSubPattern * *,CSubPattern * *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Iter_random@PAPAVCSubPattern@@PAPAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCSubPattern@@0@Z
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
___formal$ = 12						; size = 4
___formal$ = 16						; size = 4
??$_Iter_random@PAPAVCSubPattern@@PAPAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCSubPattern@@0@Z PROC ; std::_Iter_random<CSubPattern * *,CSubPattern * *>, COMDAT

; 993  : 	{	// return category from iterator argument

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx

; 994  : 	typename _Iter_random_helper<
; 995  : 		iterator_traits<_Iter1>::iterator_category, 
; 996  : 		iterator_traits<_Iter2>::iterator_category>::_Iter_random_cat _Cat;
; 997  : 	return (_Cat);

  00004	8b 45 08	 mov	 eax, DWORD PTR ___$ReturnUdt$[ebp]

; 998  : 	}

  00007	8b e5		 mov	 esp, ebp
  00009	5d		 pop	 ebp
  0000a	c3		 ret	 0
??$_Iter_random@PAPAVCSubPattern@@PAPAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCSubPattern@@0@Z ENDP ; std::_Iter_random<CSubPattern * *,CSubPattern * *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Checked_base@PAPAVCSubPattern@@@std@@YAPAPAVCSubPattern@@AAPAPAV1@@Z
_TEXT	SEGMENT
__Base_tag$ = -1					; size = 1
__It$ = 8						; size = 4
??$_Checked_base@PAPAVCSubPattern@@@std@@YAPAPAVCSubPattern@@AAPAPAV1@@Z PROC ; std::_Checked_base<CSubPattern * *>, COMDAT

; 1163 : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx

; 1164 : 		typename _Checked_iterator_base_helper<_Iter>::_Checked_iterator_base_type_tag _Base_tag;
; 1165 : 		return _Checked_base(_It, _Base_tag);

  00004	0f b6 45 ff	 movzx	 eax, BYTE PTR __Base_tag$[ebp]
  00008	50		 push	 eax
  00009	8b 4d 08	 mov	 ecx, DWORD PTR __It$[ebp]
  0000c	51		 push	 ecx
  0000d	e8 00 00 00 00	 call	 ??$_Checked_base@PAPAVCSubPattern@@@std@@YAPAPAVCSubPattern@@AAPAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z ; std::_Checked_base<CSubPattern * *>
  00012	83 c4 08	 add	 esp, 8

; 1166 : 	}

  00015	8b e5		 mov	 esp, ebp
  00017	5d		 pop	 ebp
  00018	c3		 ret	 0
??$_Checked_base@PAPAVCSubPattern@@@std@@YAPAPAVCSubPattern@@AAPAPAV1@@Z ENDP ; std::_Checked_base<CSubPattern * *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Copy_opt@PAPAVCColorBar@@PAPAV1@Urandom_access_iterator_tag@std@@@std@@YAPAPAVCColorBar@@PAPAV1@00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__Off$ = -8						; size = 4
__Result$ = -4						; size = 4
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
___formal$ = 20						; size = 1
___formal$ = 24						; size = 1
___formal$ = 28						; size = 1
??$_Copy_opt@PAPAVCColorBar@@PAPAV1@Urandom_access_iterator_tag@std@@@std@@YAPAPAVCColorBar@@PAPAV1@00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Copy_opt<CColorBar * *,CColorBar * *,std::random_access_iterator_tag>, COMDAT

; 2468 : 	{	// copy [_First, _Last) to [_Dest, ...), pointers to scalars

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 08	 sub	 esp, 8

; 2469 : 
; 2470 :  #if _HAS_ITERATOR_DEBUGGING
; 2471 : 	_DEBUG_RANGE(_First, _Last);
; 2472 : 	if (_First != _Last)
; 2473 : 		_DEBUG_POINTER(_Dest);
; 2474 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 2475 : 
; 2476 : 	ptrdiff_t _Off = _Last - _First;	// NB: non-overlapping move

  00006	8b 45 0c	 mov	 eax, DWORD PTR __Last$[ebp]
  00009	2b 45 08	 sub	 eax, DWORD PTR __First$[ebp]
  0000c	c1 f8 02	 sar	 eax, 2
  0000f	89 45 f8	 mov	 DWORD PTR __Off$[ebp], eax

; 2477 : 	// if _OutIt is range checked, this will make sure there is enough space for the memmove
; 2478 : 	_OutIt _Result = _Dest + _Off;

  00012	8b 4d f8	 mov	 ecx, DWORD PTR __Off$[ebp]
  00015	8b 55 10	 mov	 edx, DWORD PTR __Dest$[ebp]
  00018	8d 04 8a	 lea	 eax, DWORD PTR [edx+ecx*4]
  0001b	89 45 fc	 mov	 DWORD PTR __Result$[ebp], eax

; 2479 : 	if (_Off > 0)

  0001e	83 7d f8 00	 cmp	 DWORD PTR __Off$[ebp], 0
  00022	7e 1e		 jle	 SHORT $LN1@Copy_opt@9

; 2480 : 		_CRT_SECURE_MEMMOVE(&*_Dest, _Off * sizeof (*_First), &*_First, _Off * sizeof (*_First));

  00024	8b 4d f8	 mov	 ecx, DWORD PTR __Off$[ebp]
  00027	c1 e1 02	 shl	 ecx, 2
  0002a	51		 push	 ecx
  0002b	8b 55 08	 mov	 edx, DWORD PTR __First$[ebp]
  0002e	52		 push	 edx
  0002f	8b 45 f8	 mov	 eax, DWORD PTR __Off$[ebp]
  00032	c1 e0 02	 shl	 eax, 2
  00035	50		 push	 eax
  00036	8b 4d 10	 mov	 ecx, DWORD PTR __Dest$[ebp]
  00039	51		 push	 ecx
  0003a	e8 00 00 00 00	 call	 _memmove_s
  0003f	83 c4 10	 add	 esp, 16			; 00000010H
$LN1@Copy_opt@9:

; 2481 : 	return _Result;

  00042	8b 45 fc	 mov	 eax, DWORD PTR __Result$[ebp]

; 2482 : 	}

  00045	8b e5		 mov	 esp, ebp
  00047	5d		 pop	 ebp
  00048	c3		 ret	 0
??$_Copy_opt@PAPAVCColorBar@@PAPAV1@Urandom_access_iterator_tag@std@@@std@@YAPAPAVCColorBar@@PAPAV1@00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Copy_opt<CColorBar * *,CColorBar * *,std::random_access_iterator_tag>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ??$?0PAVCSubPattern@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@PAVCSubPattern@@@1@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___formal$ = 8						; size = 4
??$?0PAVCSubPattern@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@PAVCSubPattern@@@1@@Z PROC ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><CSubPattern *>, COMDAT
; _this$ = ecx

; 128  : 		allocator(const allocator<_Other>&) _THROW0()

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 129  : 		{	// construct from a related allocator (do nothing)
; 130  : 		}

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b e5		 mov	 esp, ebp
  0000c	5d		 pop	 ebp
  0000d	c2 04 00	 ret	 4
??$?0PAVCSubPattern@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@PAVCSubPattern@@@1@@Z ENDP ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><CSubPattern *>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
_TEXT	ENDS
;	COMDAT ??$fill@PAPAVCSubPattern@@PAV1@@std@@YAXPAPAVCSubPattern@@0ABQAV1@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Val$ = 16						; size = 4
??$fill@PAPAVCSubPattern@@PAV1@@std@@YAXPAPAVCSubPattern@@0ABQAV1@@Z PROC ; std::fill<CSubPattern * *,CSubPattern *>, COMDAT

; 3160 : 	{	// copy _Val through [_First, _Last)

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 3161 : 	_Fill(_CHECKED_BASE(_First), _CHECKED_BASE(_Last), _Val);

  00003	8b 45 10	 mov	 eax, DWORD PTR __Val$[ebp]
  00006	50		 push	 eax
  00007	8d 4d 0c	 lea	 ecx, DWORD PTR __Last$[ebp]
  0000a	51		 push	 ecx
  0000b	e8 00 00 00 00	 call	 ??$_Checked_base@PAPAVCSubPattern@@@std@@YAPAPAVCSubPattern@@AAPAPAV1@@Z ; std::_Checked_base<CSubPattern * *>
  00010	83 c4 04	 add	 esp, 4
  00013	50		 push	 eax
  00014	8d 55 08	 lea	 edx, DWORD PTR __First$[ebp]
  00017	52		 push	 edx
  00018	e8 00 00 00 00	 call	 ??$_Checked_base@PAPAVCSubPattern@@@std@@YAPAPAVCSubPattern@@AAPAPAV1@@Z ; std::_Checked_base<CSubPattern * *>
  0001d	83 c4 04	 add	 esp, 4
  00020	50		 push	 eax
  00021	e8 00 00 00 00	 call	 ??$_Fill@PAPAVCSubPattern@@PAV1@@std@@YAXPAPAVCSubPattern@@0ABQAV1@@Z ; std::_Fill<CSubPattern * *,CSubPattern *>
  00026	83 c4 0c	 add	 esp, 12			; 0000000cH

; 3162 : 	}

  00029	5d		 pop	 ebp
  0002a	c3		 ret	 0
??$fill@PAPAVCSubPattern@@PAV1@@std@@YAXPAPAVCSubPattern@@0ABQAV1@@Z ENDP ; std::fill<CSubPattern * *,CSubPattern *>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ??$_Destroy_range@V?$allocator@PAVCSubPattern@@@std@@@std@@YAXPAPAVCSubPattern@@0AAV?$allocator@PAVCSubPattern@@@0@@Z
_TEXT	SEGMENT
$T294552 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Al$ = 16						; size = 4
??$_Destroy_range@V?$allocator@PAVCSubPattern@@@std@@@std@@YAXPAPAVCSubPattern@@0AAV?$allocator@PAVCSubPattern@@@0@@Z PROC ; std::_Destroy_range<std::allocator<CSubPattern *> >, COMDAT

; 224  : 	{	// destroy [_First, _Last)

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx

; 225  : 	_Destroy_range(_First, _Last, _Al, _Ptr_cat(_First, _Last));

  00004	8d 45 0c	 lea	 eax, DWORD PTR __Last$[ebp]
  00007	50		 push	 eax
  00008	8d 4d 08	 lea	 ecx, DWORD PTR __First$[ebp]
  0000b	51		 push	 ecx
  0000c	e8 00 00 00 00	 call	 ??$_Ptr_cat@PAPAVCSubPattern@@PAPAV1@@std@@YA?AU_Scalar_ptr_iterator_tag@0@AAPAPAVCSubPattern@@0@Z ; std::_Ptr_cat<CSubPattern * *,CSubPattern * *>
  00011	83 c4 08	 add	 esp, 8
  00014	88 45 ff	 mov	 BYTE PTR $T294552[ebp], al
  00017	0f b6 55 ff	 movzx	 edx, BYTE PTR $T294552[ebp]
  0001b	52		 push	 edx
  0001c	8b 45 10	 mov	 eax, DWORD PTR __Al$[ebp]
  0001f	50		 push	 eax
  00020	8b 4d 0c	 mov	 ecx, DWORD PTR __Last$[ebp]
  00023	51		 push	 ecx
  00024	8b 55 08	 mov	 edx, DWORD PTR __First$[ebp]
  00027	52		 push	 edx
  00028	e8 00 00 00 00	 call	 ??$_Destroy_range@V?$allocator@PAVCSubPattern@@@std@@@std@@YAXPAPAVCSubPattern@@0AAV?$allocator@PAVCSubPattern@@@0@U_Scalar_ptr_iterator_tag@0@@Z ; std::_Destroy_range<std::allocator<CSubPattern *> >
  0002d	83 c4 10	 add	 esp, 16			; 00000010H

; 226  : 	}

  00030	8b e5		 mov	 esp, ebp
  00032	5d		 pop	 ebp
  00033	c3		 ret	 0
??$_Destroy_range@V?$allocator@PAVCSubPattern@@@std@@@std@@YAXPAPAVCSubPattern@@0AAV?$allocator@PAVCSubPattern@@@0@@Z ENDP ; std::_Destroy_range<std::allocator<CSubPattern *> >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$?0PAVCColorBar@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@PAVCColorBar@@@1@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___formal$ = 8						; size = 4
??$?0PAVCColorBar@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@PAVCColorBar@@@1@@Z PROC ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><CColorBar *>, COMDAT
; _this$ = ecx

; 128  : 		allocator(const allocator<_Other>&) _THROW0()

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 129  : 		{	// construct from a related allocator (do nothing)
; 130  : 		}

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b e5		 mov	 esp, ebp
  0000c	5d		 pop	 ebp
  0000d	c2 04 00	 ret	 4
??$?0PAVCColorBar@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@PAVCColorBar@@@1@@Z ENDP ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><CColorBar *>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
_TEXT	ENDS
;	COMDAT ??$unchecked_copy@PAPAVCSubPattern@@PAPAV1@@stdext@@YAPAPAVCSubPattern@@PAPAV1@00@Z
_TEXT	SEGMENT
$T294559 = -3						; size = 1
$T294558 = -2						; size = 1
$T294557 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
??$unchecked_copy@PAPAVCSubPattern@@PAPAV1@@stdext@@YAPAPAVCSubPattern@@PAPAV1@00@Z PROC ; stdext::unchecked_copy<CSubPattern * *,CSubPattern * *>, COMDAT

; 3578 : 	{	// copy [_First, _Last) to [_Dest, ...)

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx

; 3579 : 		return (_STD _Copy_opt(_CHECKED_BASE(_First), _CHECKED_BASE(_Last), _Dest,
; 3580 : 			_STD _Iter_random(_First, _Dest), _STD _Ptr_cat(_First, _Dest), _STD _Range_checked_iterator_tag()));

  00004	33 c0		 xor	 eax, eax
  00006	88 45 ff	 mov	 BYTE PTR $T294557[ebp], al
  00009	8d 4d 10	 lea	 ecx, DWORD PTR __Dest$[ebp]
  0000c	51		 push	 ecx
  0000d	8d 55 08	 lea	 edx, DWORD PTR __First$[ebp]
  00010	52		 push	 edx
  00011	e8 00 00 00 00	 call	 ??$_Ptr_cat@PAPAVCSubPattern@@PAPAV1@@std@@YA?AU_Scalar_ptr_iterator_tag@0@AAPAPAVCSubPattern@@0@Z ; std::_Ptr_cat<CSubPattern * *,CSubPattern * *>
  00016	83 c4 08	 add	 esp, 8
  00019	88 45 fe	 mov	 BYTE PTR $T294558[ebp], al
  0001c	0f b6 45 ff	 movzx	 eax, BYTE PTR $T294557[ebp]
  00020	50		 push	 eax
  00021	0f b6 4d fe	 movzx	 ecx, BYTE PTR $T294558[ebp]
  00025	51		 push	 ecx
  00026	8d 55 10	 lea	 edx, DWORD PTR __Dest$[ebp]
  00029	52		 push	 edx
  0002a	8d 45 08	 lea	 eax, DWORD PTR __First$[ebp]
  0002d	50		 push	 eax
  0002e	8d 4d fd	 lea	 ecx, DWORD PTR $T294559[ebp]
  00031	51		 push	 ecx
  00032	e8 00 00 00 00	 call	 ??$_Iter_random@PAPAVCSubPattern@@PAPAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCSubPattern@@0@Z ; std::_Iter_random<CSubPattern * *,CSubPattern * *>
  00037	83 c4 0c	 add	 esp, 12			; 0000000cH
  0003a	0f b6 10	 movzx	 edx, BYTE PTR [eax]
  0003d	52		 push	 edx
  0003e	8b 45 10	 mov	 eax, DWORD PTR __Dest$[ebp]
  00041	50		 push	 eax
  00042	8d 4d 0c	 lea	 ecx, DWORD PTR __Last$[ebp]
  00045	51		 push	 ecx
  00046	e8 00 00 00 00	 call	 ??$_Checked_base@PAPAVCSubPattern@@@std@@YAPAPAVCSubPattern@@AAPAPAV1@@Z ; std::_Checked_base<CSubPattern * *>
  0004b	83 c4 04	 add	 esp, 4
  0004e	50		 push	 eax
  0004f	8d 55 08	 lea	 edx, DWORD PTR __First$[ebp]
  00052	52		 push	 edx
  00053	e8 00 00 00 00	 call	 ??$_Checked_base@PAPAVCSubPattern@@@std@@YAPAPAVCSubPattern@@AAPAPAV1@@Z ; std::_Checked_base<CSubPattern * *>
  00058	83 c4 04	 add	 esp, 4
  0005b	50		 push	 eax
  0005c	e8 00 00 00 00	 call	 ??$_Copy_opt@PAPAVCSubPattern@@PAPAV1@Urandom_access_iterator_tag@std@@@std@@YAPAPAVCSubPattern@@PAPAV1@00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_opt<CSubPattern * *,CSubPattern * *,std::random_access_iterator_tag>
  00061	83 c4 18	 add	 esp, 24			; 00000018H

; 3581 : 	}

  00064	8b e5		 mov	 esp, ebp
  00066	5d		 pop	 ebp
  00067	c3		 ret	 0
??$unchecked_copy@PAPAVCSubPattern@@PAPAV1@@stdext@@YAPAPAVCSubPattern@@PAPAV1@00@Z ENDP ; stdext::unchecked_copy<CSubPattern * *,CSubPattern * *>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ?max_size@?$allocator@PAVCSubPattern@@@std@@QBEIXZ
_TEXT	SEGMENT
tv65 = -12						; size = 4
_this$ = -8						; size = 4
__Count$ = -4						; size = 4
?max_size@?$allocator@PAVCSubPattern@@@std@@QBEIXZ PROC	; std::allocator<CSubPattern *>::max_size, COMDAT
; _this$ = ecx

; 164  : 		{	// estimate maximum array size

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 0c	 sub	 esp, 12			; 0000000cH
  00006	89 4d f8	 mov	 DWORD PTR _this$[ebp], ecx

; 165  : 		_SIZT _Count = (_SIZT)(-1) / sizeof (_Ty);

  00009	c7 45 fc ff ff
	ff 3f		 mov	 DWORD PTR __Count$[ebp], 1073741823 ; 3fffffffH

; 166  : 		return (0 < _Count ? _Count : 1);

  00010	83 7d fc 00	 cmp	 DWORD PTR __Count$[ebp], 0
  00014	76 08		 jbe	 SHORT $LN3@max_size@16
  00016	8b 45 fc	 mov	 eax, DWORD PTR __Count$[ebp]
  00019	89 45 f4	 mov	 DWORD PTR tv65[ebp], eax
  0001c	eb 07		 jmp	 SHORT $LN4@max_size@16
$LN3@max_size@16:
  0001e	c7 45 f4 01 00
	00 00		 mov	 DWORD PTR tv65[ebp], 1
$LN4@max_size@16:
  00025	8b 45 f4	 mov	 eax, DWORD PTR tv65[ebp]

; 167  : 		}

  00028	8b e5		 mov	 esp, ebp
  0002a	5d		 pop	 ebp
  0002b	c3		 ret	 0
?max_size@?$allocator@PAVCSubPattern@@@std@@QBEIXZ ENDP	; std::allocator<CSubPattern *>::max_size
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?deallocate@?$allocator@PAVCSubPattern@@@std@@QAEXPAPAVCSubPattern@@I@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Ptr$ = 8						; size = 4
___formal$ = 12						; size = 4
?deallocate@?$allocator@PAVCSubPattern@@@std@@QAEXPAPAVCSubPattern@@I@Z PROC ; std::allocator<CSubPattern *>::deallocate, COMDAT
; _this$ = ecx

; 139  : 		{	// deallocate object at _Ptr, ignore size

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 140  : 		::operator delete(_Ptr);

  00007	8b 45 08	 mov	 eax, DWORD PTR __Ptr$[ebp]
  0000a	50		 push	 eax
  0000b	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00010	83 c4 04	 add	 esp, 4

; 141  : 		}

  00013	8b e5		 mov	 esp, ebp
  00015	5d		 pop	 ebp
  00016	c2 08 00	 ret	 8
?deallocate@?$allocator@PAVCSubPattern@@@std@@QAEXPAPAVCSubPattern@@I@Z ENDP ; std::allocator<CSubPattern *>::deallocate
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$allocator@PAVCSubPattern@@@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___formal$ = 8						; size = 4
??0?$allocator@PAVCSubPattern@@@std@@QAE@ABV01@@Z PROC	; std::allocator<CSubPattern *>::allocator<CSubPattern *>, COMDAT
; _this$ = ecx

; 123  : 	allocator(const allocator<_Ty>&) _THROW0()

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 124  : 		{	// construct by copying (do nothing)
; 125  : 		}

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b e5		 mov	 esp, ebp
  0000c	5d		 pop	 ebp
  0000d	c2 04 00	 ret	 4
??0?$allocator@PAVCSubPattern@@@std@@QAE@ABV01@@Z ENDP	; std::allocator<CSubPattern *>::allocator<CSubPattern *>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
_TEXT	ENDS
;	COMDAT ?_Destroy@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXPAPAVCSubPattern@@0@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
?_Destroy@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXPAPAVCSubPattern@@0@Z PROC ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Destroy, COMDAT
; _this$ = ecx

; 1123 : 		{	// destroy [_First, _Last) using allocator

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 1124 : 		_Destroy_range(_First, _Last, this->_Alval);

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	83 c0 08	 add	 eax, 8
  0000d	50		 push	 eax
  0000e	8b 4d 0c	 mov	 ecx, DWORD PTR __Last$[ebp]
  00011	51		 push	 ecx
  00012	8b 55 08	 mov	 edx, DWORD PTR __First$[ebp]
  00015	52		 push	 edx
  00016	e8 00 00 00 00	 call	 ??$_Destroy_range@V?$allocator@PAVCSubPattern@@@std@@@std@@YAXPAPAVCSubPattern@@0AAV?$allocator@PAVCSubPattern@@@0@@Z ; std::_Destroy_range<std::allocator<CSubPattern *> >
  0001b	83 c4 0c	 add	 esp, 12			; 0000000cH

; 1125 : 		}

  0001e	8b e5		 mov	 esp, ebp
  00020	5d		 pop	 ebp
  00021	c2 08 00	 ret	 8
?_Destroy@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXPAPAVCSubPattern@@0@Z ENDP ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Destroy
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?max_size@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEIXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?max_size@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEIXZ PROC ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::max_size, COMDAT
; _this$ = ecx

; 730  : 		{	// return maximum possible length of sequence

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 731  : 		return (this->_Alval.max_size());

  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	83 c1 08	 add	 ecx, 8
  0000d	e8 00 00 00 00	 call	 ?max_size@?$allocator@PAVCSubPattern@@@std@@QBEIXZ ; std::allocator<CSubPattern *>::max_size

; 732  : 		}

  00012	8b e5		 mov	 esp, ebp
  00014	5d		 pop	 ebp
  00015	c3		 ret	 0
?max_size@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEIXZ ENDP ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::max_size
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ??0?$allocator@PAVCColorBar@@@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___formal$ = 8						; size = 4
??0?$allocator@PAVCColorBar@@@std@@QAE@ABV01@@Z PROC	; std::allocator<CColorBar *>::allocator<CColorBar *>, COMDAT
; _this$ = ecx

; 123  : 	allocator(const allocator<_Ty>&) _THROW0()

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 124  : 		{	// construct by copying (do nothing)
; 125  : 		}

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b e5		 mov	 esp, ebp
  0000c	5d		 pop	 ebp
  0000d	c2 04 00	 ret	 4
??0?$allocator@PAVCColorBar@@@std@@QAE@ABV01@@Z ENDP	; std::allocator<CColorBar *>::allocator<CColorBar *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$allocator@PAVCSubPattern@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??0?$allocator@PAVCSubPattern@@@std@@QAE@XZ PROC	; std::allocator<CSubPattern *>::allocator<CSubPattern *>, COMDAT
; _this$ = ecx

; 119  : 	allocator() _THROW0()

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 120  : 		{	// construct default allocator (do nothing)
; 121  : 		}

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b e5		 mov	 esp, ebp
  0000c	5d		 pop	 ebp
  0000d	c3		 ret	 0
??0?$allocator@PAVCSubPattern@@@std@@QAE@XZ ENDP	; std::allocator<CSubPattern *>::allocator<CSubPattern *>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
_TEXT	ENDS
;	COMDAT ?_Tidy@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?_Tidy@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXXZ PROC ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Tidy, COMDAT
; _this$ = ecx

; 1128 : 		{	// free all storage

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 1129 : 		if (_Myfirst != 0)

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	83 78 0c 00	 cmp	 DWORD PTR [eax+12], 0
  0000e	74 38		 je	 SHORT $LN1@Tidy@4

; 1130 : 			{	// something to free, destroy and deallocate it
; 1131 : 
; 1132 :  #if _HAS_ITERATOR_DEBUGGING
; 1133 : 			this->_Orphan_all();
; 1134 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 1135 : 
; 1136 : 			_Destroy(_Myfirst, _Mylast);

  00010	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00013	8b 51 10	 mov	 edx, DWORD PTR [ecx+16]
  00016	52		 push	 edx
  00017	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0001a	8b 48 0c	 mov	 ecx, DWORD PTR [eax+12]
  0001d	51		 push	 ecx
  0001e	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00021	e8 00 00 00 00	 call	 ?_Destroy@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXPAPAVCSubPattern@@0@Z ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Destroy

; 1137 : 			this->_Alval.deallocate(_Myfirst, _Myend - _Myfirst);

  00026	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00029	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0002c	8b 4a 14	 mov	 ecx, DWORD PTR [edx+20]
  0002f	2b 48 0c	 sub	 ecx, DWORD PTR [eax+12]
  00032	c1 f9 02	 sar	 ecx, 2
  00035	51		 push	 ecx
  00036	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00039	8b 42 0c	 mov	 eax, DWORD PTR [edx+12]
  0003c	50		 push	 eax
  0003d	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00040	83 c1 08	 add	 ecx, 8
  00043	e8 00 00 00 00	 call	 ?deallocate@?$allocator@PAVCSubPattern@@@std@@QAEXPAPAVCSubPattern@@I@Z ; std::allocator<CSubPattern *>::deallocate
$LN1@Tidy@4:

; 1138 : 			}
; 1139 : 		_Myfirst = 0, _Mylast = 0, _Myend = 0;

  00048	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0004b	c7 41 0c 00 00
	00 00		 mov	 DWORD PTR [ecx+12], 0
  00052	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00055	c7 42 10 00 00
	00 00		 mov	 DWORD PTR [edx+16], 0
  0005c	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0005f	c7 40 14 00 00
	00 00		 mov	 DWORD PTR [eax+20], 0

; 1140 : 		}

  00066	8b e5		 mov	 esp, ebp
  00068	5d		 pop	 ebp
  00069	c3		 ret	 0
?_Tidy@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXXZ ENDP ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Tidy
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?size@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEIXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?size@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEIXZ PROC ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::size, COMDAT
; _this$ = ecx

; 725  : 		{	// return length of sequence

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 726  : 		return (_Mylast - _Myfirst);

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000d	8b 40 10	 mov	 eax, DWORD PTR [eax+16]
  00010	2b 41 0c	 sub	 eax, DWORD PTR [ecx+12]
  00013	c1 f8 02	 sar	 eax, 2

; 727  : 		}

  00016	8b e5		 mov	 esp, ebp
  00018	5d		 pop	 ebp
  00019	c3		 ret	 0
?size@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEIXZ ENDP ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::size
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?capacity@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEIXZ
_TEXT	SEGMENT
tv70 = -8						; size = 4
_this$ = -4						; size = 4
?capacity@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEIXZ PROC ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::capacity, COMDAT
; _this$ = ecx

; 634  : 		{	// return current length of allocated storage

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 08	 sub	 esp, 8
  00006	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 635  : 		return (_Myfirst == 0 ? 0 : _Myend - _Myfirst);

  00009	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	83 78 0c 00	 cmp	 DWORD PTR [eax+12], 0
  00010	75 09		 jne	 SHORT $LN3@capacity@16
  00012	c7 45 f8 00 00
	00 00		 mov	 DWORD PTR tv70[ebp], 0
  00019	eb 12		 jmp	 SHORT $LN4@capacity@16
$LN3@capacity@16:
  0001b	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0001e	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00021	8b 41 14	 mov	 eax, DWORD PTR [ecx+20]
  00024	2b 42 0c	 sub	 eax, DWORD PTR [edx+12]
  00027	c1 f8 02	 sar	 eax, 2
  0002a	89 45 f8	 mov	 DWORD PTR tv70[ebp], eax
$LN4@capacity@16:
  0002d	8b 45 f8	 mov	 eax, DWORD PTR tv70[ebp]

; 636  : 		}

  00030	8b e5		 mov	 esp, ebp
  00032	5d		 pop	 ebp
  00033	c3		 ret	 0
?capacity@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEIXZ ENDP ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::capacity
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ??0?$allocator@PAVCColorBar@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??0?$allocator@PAVCColorBar@@@std@@QAE@XZ PROC		; std::allocator<CColorBar *>::allocator<CColorBar *>, COMDAT
; _this$ = ecx

; 119  : 	allocator() _THROW0()

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 120  : 		{	// construct default allocator (do nothing)
; 121  : 		}

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b e5		 mov	 esp, ebp
  0000c	5d		 pop	 ebp
  0000d	c3		 ret	 0
??0?$allocator@PAVCColorBar@@@std@@QAE@XZ ENDP		; std::allocator<CColorBar *>::allocator<CColorBar *>
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\pattern.cpp
_TEXT	ENDS
;	COMDAT ?SaveSnapshot@CPatternHelper@@UAEXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HHPAEJ0@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_FilePath$ = 8						; size = 4
_Height$ = 12						; size = 4
_Width$ = 16						; size = 4
_pOverlay$ = 20						; size = 4
_OverlayPitch$ = 24					; size = 4
_Context$ = 28						; size = 4
?SaveSnapshot@CPatternHelper@@UAEXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HHPAEJ0@Z PROC ; CPatternHelper::SaveSnapshot, COMDAT
; _this$ = ecx

; 1192 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 1193 :     return;
; 1194 : }

  00007	8b e5		 mov	 esp, ebp
  00009	5d		 pop	 ebp
  0000a	c2 18 00	 ret	 24			; 00000018H
?SaveSnapshot@CPatternHelper@@UAEXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HHPAEJ0@Z ENDP ; CPatternHelper::SaveSnapshot
_TEXT	ENDS
PUBLIC	??0CPatternHelper@@QAE@PAVCStillSource@@@Z	; CPatternHelper::CPatternHelper
; Function compile flags: /Odtp
;	COMDAT ??0CPatternHelper@@QAE@PAVCStillSource@@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_pParent$ = 8						; size = 4
??0CPatternHelper@@QAE@PAVCStillSource@@@Z PROC		; CPatternHelper::CPatternHelper, COMDAT
; _this$ = ecx

; 1142 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx
  00007	8b 45 08	 mov	 eax, DWORD PTR _pParent$[ebp]
  0000a	50		 push	 eax
  0000b	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000e	e8 00 00 00 00	 call	 ??0CStillSourceHelper@@QAE@PAVCStillSource@@@Z ; CStillSourceHelper::CStillSourceHelper
  00013	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00016	c7 01 00 00 00
	00		 mov	 DWORD PTR [ecx], OFFSET ??_7CPatternHelper@@6B@

; 1143 : }

  0001c	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0001f	8b e5		 mov	 esp, ebp
  00021	5d		 pop	 ebp
  00022	c2 04 00	 ret	 4
??0CPatternHelper@@QAE@PAVCStillSource@@@Z ENDP		; CPatternHelper::CPatternHelper
_TEXT	ENDS
PUBLIC	?SetSize@CTestPattern@@QAEXHH@Z			; CTestPattern::SetSize
; Function compile flags: /Odtp
;	COMDAT ?SetSize@CTestPattern@@QAEXHH@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_width$ = 8						; size = 4
_height$ = 12						; size = 4
?SetSize@CTestPattern@@QAEXHH@Z PROC			; CTestPattern::SetSize, COMDAT
; _this$ = ecx

; 1034 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 1035 :     m_Width = width;

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b 4d 08	 mov	 ecx, DWORD PTR _width$[ebp]
  0000d	89 48 4c	 mov	 DWORD PTR [eax+76], ecx

; 1036 :     m_Height = height;

  00010	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00013	8b 45 0c	 mov	 eax, DWORD PTR _height$[ebp]
  00016	89 42 50	 mov	 DWORD PTR [edx+80], eax

; 1037 : }

  00019	8b e5		 mov	 esp, ebp
  0001b	5d		 pop	 ebp
  0001c	c2 08 00	 ret	 8
?SetSize@CTestPattern@@QAEXHH@Z ENDP			; CTestPattern::SetSize
_TEXT	ENDS
PUBLIC	?GetHeight@CTestPattern@@QAEHXZ			; CTestPattern::GetHeight
; Function compile flags: /Odtp
;	COMDAT ?GetHeight@CTestPattern@@QAEHXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetHeight@CTestPattern@@QAEHXZ PROC			; CTestPattern::GetHeight, COMDAT
; _this$ = ecx

; 1029 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 1030 :     return m_Height;

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b 40 50	 mov	 eax, DWORD PTR [eax+80]

; 1031 : }

  0000d	8b e5		 mov	 esp, ebp
  0000f	5d		 pop	 ebp
  00010	c3		 ret	 0
?GetHeight@CTestPattern@@QAEHXZ ENDP			; CTestPattern::GetHeight
_TEXT	ENDS
PUBLIC	?GetWidth@CTestPattern@@QAEHXZ			; CTestPattern::GetWidth
; Function compile flags: /Odtp
;	COMDAT ?GetWidth@CTestPattern@@QAEHXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetWidth@CTestPattern@@QAEHXZ PROC			; CTestPattern::GetWidth, COMDAT
; _this$ = ecx

; 1023 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 1024 :     return m_Width;

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b 40 4c	 mov	 eax, DWORD PTR [eax+76]

; 1025 : }

  0000d	8b e5		 mov	 esp, ebp
  0000f	5d		 pop	 ebp
  00010	c3		 ret	 0
?GetWidth@CTestPattern@@QAEHXZ ENDP			; CTestPattern::GetWidth
_TEXT	ENDS
PUBLIC	?GetTypeAdjust@CSubPattern@@QAE?AW4eTypeAdjust@@XZ ; CSubPattern::GetTypeAdjust
; Function compile flags: /Odtp
;	COMDAT ?GetTypeAdjust@CSubPattern@@QAE?AW4eTypeAdjust@@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetTypeAdjust@CSubPattern@@QAE?AW4eTypeAdjust@@XZ PROC	; CSubPattern::GetTypeAdjust, COMDAT
; _this$ = ecx

; 710  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 711  :     return m_TypeAdjust;

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b 40 18	 mov	 eax, DWORD PTR [eax+24]

; 712  : }

  0000d	8b e5		 mov	 esp, ebp
  0000f	5d		 pop	 ebp
  00010	c3		 ret	 0
?GetTypeAdjust@CSubPattern@@QAE?AW4eTypeAdjust@@XZ ENDP	; CSubPattern::GetTypeAdjust
_TEXT	ENDS
PUBLIC	?YUV2RGB@CColorBar@@AAEXEEEPAE00@Z		; CColorBar::YUV2RGB
; Function compile flags: /Odtp
;	COMDAT ?YUV2RGB@CColorBar@@AAEXEEEPAE00@Z
_TEXT	SEGMENT
tv131 = -52						; size = 4
tv132 = -48						; size = 4
tv94 = -44						; size = 4
tv95 = -40						; size = 4
tv89 = -36						; size = 4
tv90 = -32						; size = 4
_this$ = -28						; size = 4
_cb$ = -24						; size = 4
_r$ = -20						; size = 4
_g$ = -16						; size = 4
_b$ = -12						; size = 4
_cr$ = -8						; size = 4
_y$ = -4						; size = 4
_Y$ = 8							; size = 1
_U$ = 12						; size = 1
_V$ = 16						; size = 1
_pR$ = 20						; size = 4
_pG$ = 24						; size = 4
_pB$ = 28						; size = 4
?YUV2RGB@CColorBar@@AAEXEEEPAE00@Z PROC			; CColorBar::YUV2RGB, COMDAT
; _this$ = ecx

; 674  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 34	 sub	 esp, 52			; 00000034H
  00006	89 4d e4	 mov	 DWORD PTR _this$[ebp], ecx

; 675  :     int y, cr, cb, r, g, b;
; 676  : 
; 677  :     // R = clip( round( 1.164383 * (Y - 16)                        + 1.596027 * (V - 128) ) )
; 678  :     // G = clip( round( 1.164383 * (Y - 16) - 0.391762 * (U - 128) - 0.812968 * (V - 128) ) )
; 679  :     // B = clip( round( 1.164383 * (Y - 16) + 2.017232 * (U - 128)                        ) )
; 680  : 
; 681  :     y = Y - 16;

  00009	0f b6 45 08	 movzx	 eax, BYTE PTR _Y$[ebp]
  0000d	83 e8 10	 sub	 eax, 16			; 00000010H
  00010	89 45 fc	 mov	 DWORD PTR _y$[ebp], eax

; 682  :     cb = U - 128;

  00013	0f b6 4d 0c	 movzx	 ecx, BYTE PTR _U$[ebp]
  00017	81 e9 80 00 00
	00		 sub	 ecx, 128		; 00000080H
  0001d	89 4d e8	 mov	 DWORD PTR _cb$[ebp], ecx

; 683  :     cr = V - 128;

  00020	0f b6 55 10	 movzx	 edx, BYTE PTR _V$[ebp]
  00024	81 ea 80 00 00
	00		 sub	 edx, 128		; 00000080H
  0002a	89 55 f8	 mov	 DWORD PTR _cr$[ebp], edx

; 684  : 
; 685  :     r = ( 76309*y             + 104597*cr + 32768 ) >> 16;

  0002d	8b 45 fc	 mov	 eax, DWORD PTR _y$[ebp]
  00030	69 c0 15 2a 01
	00		 imul	 eax, 76309		; 00012a15H
  00036	8b 4d f8	 mov	 ecx, DWORD PTR _cr$[ebp]
  00039	69 c9 95 98 01
	00		 imul	 ecx, 104597		; 00019895H
  0003f	8d 94 08 00 80
	00 00		 lea	 edx, DWORD PTR [eax+ecx+32768]
  00046	c1 fa 10	 sar	 edx, 16			; 00000010H
  00049	89 55 ec	 mov	 DWORD PTR _r$[ebp], edx

; 686  :     g = ( 76309*y -  25675*cb -  53279*cr + 32768 ) >> 16;

  0004c	8b 45 fc	 mov	 eax, DWORD PTR _y$[ebp]
  0004f	69 c0 15 2a 01
	00		 imul	 eax, 76309		; 00012a15H
  00055	8b 4d e8	 mov	 ecx, DWORD PTR _cb$[ebp]
  00058	69 c9 4b 64 00
	00		 imul	 ecx, 25675		; 0000644bH
  0005e	2b c1		 sub	 eax, ecx
  00060	8b 55 f8	 mov	 edx, DWORD PTR _cr$[ebp]
  00063	69 d2 1f d0 00
	00		 imul	 edx, 53279		; 0000d01fH
  00069	2b c2		 sub	 eax, edx
  0006b	05 00 80 00 00	 add	 eax, 32768		; 00008000H
  00070	c1 f8 10	 sar	 eax, 16			; 00000010H
  00073	89 45 f0	 mov	 DWORD PTR _g$[ebp], eax

; 687  :     b = ( 76309*y + 132201*cb             + 32768 ) >> 16;

  00076	8b 45 fc	 mov	 eax, DWORD PTR _y$[ebp]
  00079	69 c0 15 2a 01
	00		 imul	 eax, 76309		; 00012a15H
  0007f	8b 4d e8	 mov	 ecx, DWORD PTR _cb$[ebp]
  00082	69 c9 69 04 02
	00		 imul	 ecx, 132201		; 00020469H
  00088	8d 94 08 00 80
	00 00		 lea	 edx, DWORD PTR [eax+ecx+32768]
  0008f	c1 fa 10	 sar	 edx, 16			; 00000010H
  00092	89 55 f4	 mov	 DWORD PTR _b$[ebp], edx

; 688  : 
; 689  :     *pR = LIMIT_RGB(r);

  00095	83 7d ec 00	 cmp	 DWORD PTR _r$[ebp], 0
  00099	7d 09		 jge	 SHORT $LN5@YUV2RGB
  0009b	c7 45 e0 00 00
	00 00		 mov	 DWORD PTR tv90[ebp], 0
  000a2	eb 1e		 jmp	 SHORT $LN6@YUV2RGB
$LN5@YUV2RGB:
  000a4	81 7d ec ff 00
	00 00		 cmp	 DWORD PTR _r$[ebp], 255	; 000000ffH
  000ab	7e 09		 jle	 SHORT $LN3@YUV2RGB
  000ad	c7 45 dc ff 00
	00 00		 mov	 DWORD PTR tv89[ebp], 255 ; 000000ffH
  000b4	eb 06		 jmp	 SHORT $LN4@YUV2RGB
$LN3@YUV2RGB:
  000b6	8b 45 ec	 mov	 eax, DWORD PTR _r$[ebp]
  000b9	89 45 dc	 mov	 DWORD PTR tv89[ebp], eax
$LN4@YUV2RGB:
  000bc	8b 4d dc	 mov	 ecx, DWORD PTR tv89[ebp]
  000bf	89 4d e0	 mov	 DWORD PTR tv90[ebp], ecx
$LN6@YUV2RGB:
  000c2	8b 55 14	 mov	 edx, DWORD PTR _pR$[ebp]
  000c5	8a 45 e0	 mov	 al, BYTE PTR tv90[ebp]
  000c8	88 02		 mov	 BYTE PTR [edx], al

; 690  :     *pG = LIMIT_RGB(g);

  000ca	83 7d f0 00	 cmp	 DWORD PTR _g$[ebp], 0
  000ce	7d 09		 jge	 SHORT $LN9@YUV2RGB
  000d0	c7 45 d8 00 00
	00 00		 mov	 DWORD PTR tv95[ebp], 0
  000d7	eb 1e		 jmp	 SHORT $LN10@YUV2RGB
$LN9@YUV2RGB:
  000d9	81 7d f0 ff 00
	00 00		 cmp	 DWORD PTR _g$[ebp], 255	; 000000ffH
  000e0	7e 09		 jle	 SHORT $LN7@YUV2RGB
  000e2	c7 45 d4 ff 00
	00 00		 mov	 DWORD PTR tv94[ebp], 255 ; 000000ffH
  000e9	eb 06		 jmp	 SHORT $LN8@YUV2RGB
$LN7@YUV2RGB:
  000eb	8b 4d f0	 mov	 ecx, DWORD PTR _g$[ebp]
  000ee	89 4d d4	 mov	 DWORD PTR tv94[ebp], ecx
$LN8@YUV2RGB:
  000f1	8b 55 d4	 mov	 edx, DWORD PTR tv94[ebp]
  000f4	89 55 d8	 mov	 DWORD PTR tv95[ebp], edx
$LN10@YUV2RGB:
  000f7	8b 45 18	 mov	 eax, DWORD PTR _pG$[ebp]
  000fa	8a 4d d8	 mov	 cl, BYTE PTR tv95[ebp]
  000fd	88 08		 mov	 BYTE PTR [eax], cl

; 691  :     *pB = LIMIT_RGB(b);

  000ff	83 7d f4 00	 cmp	 DWORD PTR _b$[ebp], 0
  00103	7d 09		 jge	 SHORT $LN13@YUV2RGB
  00105	c7 45 d0 00 00
	00 00		 mov	 DWORD PTR tv132[ebp], 0
  0010c	eb 1e		 jmp	 SHORT $LN14@YUV2RGB
$LN13@YUV2RGB:
  0010e	81 7d f4 ff 00
	00 00		 cmp	 DWORD PTR _b$[ebp], 255	; 000000ffH
  00115	7e 09		 jle	 SHORT $LN11@YUV2RGB
  00117	c7 45 cc ff 00
	00 00		 mov	 DWORD PTR tv131[ebp], 255 ; 000000ffH
  0011e	eb 06		 jmp	 SHORT $LN12@YUV2RGB
$LN11@YUV2RGB:
  00120	8b 55 f4	 mov	 edx, DWORD PTR _b$[ebp]
  00123	89 55 cc	 mov	 DWORD PTR tv131[ebp], edx
$LN12@YUV2RGB:
  00126	8b 45 cc	 mov	 eax, DWORD PTR tv131[ebp]
  00129	89 45 d0	 mov	 DWORD PTR tv132[ebp], eax
$LN14@YUV2RGB:
  0012c	8b 4d 1c	 mov	 ecx, DWORD PTR _pB$[ebp]
  0012f	8a 55 d0	 mov	 dl, BYTE PTR tv132[ebp]
  00132	88 11		 mov	 BYTE PTR [ecx], dl

; 692  : }

  00134	8b e5		 mov	 esp, ebp
  00136	5d		 pop	 ebp
  00137	c2 18 00	 ret	 24			; 00000018H
?YUV2RGB@CColorBar@@AAEXEEEPAE00@Z ENDP			; CColorBar::YUV2RGB
_TEXT	ENDS
PUBLIC	?RGB2YUV@CColorBar@@AAEXEEEPAE00@Z		; CColorBar::RGB2YUV
; Function compile flags: /Odtp
;	COMDAT ?RGB2YUV@CColorBar@@AAEXEEEPAE00@Z
_TEXT	SEGMENT
tv141 = -40						; size = 4
tv142 = -36						; size = 4
tv136 = -32						; size = 4
tv137 = -28						; size = 4
tv131 = -24						; size = 4
tv132 = -20						; size = 4
_this$ = -16						; size = 4
_cb$ = -12						; size = 4
_cr$ = -8						; size = 4
_y$ = -4						; size = 4
_R$ = 8							; size = 1
_G$ = 12						; size = 1
_B$ = 16						; size = 1
_pY$ = 20						; size = 4
_pU$ = 24						; size = 4
_pV$ = 28						; size = 4
?RGB2YUV@CColorBar@@AAEXEEEPAE00@Z PROC			; CColorBar::RGB2YUV, COMDAT
; _this$ = ecx

; 653  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 28	 sub	 esp, 40			; 00000028H
  00006	89 4d f0	 mov	 DWORD PTR _this$[ebp], ecx

; 654  :     unsigned int y, cr, cb;
; 655  : 
; 656  :     // Kr = 0.299
; 657  :     // Kb = 0.114
; 658  :     // L = Kr * R + Kb * B + (1 – Kr – Kb) * G
; 659  :     // Y  = round(219 *  L / 255) + 16
; 660  :     // Cb = round(224 * 0.5 * (B - L) / ((1 - Kb) * 255)) + 128
; 661  :     // Cr = round(224 * 0.5 * (R - L) / ((1 - Kr) * 255)) + 128
; 662  : 
; 663  :     y  = ( ( 16829*R + 33039*G +  6416*B + 32768 ) >> 16 ) + 16;

  00009	0f b6 45 08	 movzx	 eax, BYTE PTR _R$[ebp]
  0000d	69 c0 bd 41 00
	00		 imul	 eax, 16829		; 000041bdH
  00013	0f b6 4d 0c	 movzx	 ecx, BYTE PTR _G$[ebp]
  00017	69 c9 0f 81 00
	00		 imul	 ecx, 33039		; 0000810fH
  0001d	03 c1		 add	 eax, ecx
  0001f	0f b6 55 10	 movzx	 edx, BYTE PTR _B$[ebp]
  00023	69 d2 10 19 00
	00		 imul	 edx, 6416		; 00001910H
  00029	8d 84 10 00 80
	00 00		 lea	 eax, DWORD PTR [eax+edx+32768]
  00030	c1 f8 10	 sar	 eax, 16			; 00000010H
  00033	83 c0 10	 add	 eax, 16			; 00000010H
  00036	89 45 fc	 mov	 DWORD PTR _y$[ebp], eax

; 664  :     cb = ( ( -9714*R - 19071*G + 28784*B + 32768 ) >> 16 ) + 128;

  00039	0f b6 4d 08	 movzx	 ecx, BYTE PTR _R$[ebp]
  0003d	69 c9 0e da ff
	ff		 imul	 ecx, -9714		; ffffda0eH
  00043	0f b6 55 0c	 movzx	 edx, BYTE PTR _G$[ebp]
  00047	69 d2 7f 4a 00
	00		 imul	 edx, 19071		; 00004a7fH
  0004d	2b ca		 sub	 ecx, edx
  0004f	0f b6 45 10	 movzx	 eax, BYTE PTR _B$[ebp]
  00053	69 c0 70 70 00
	00		 imul	 eax, 28784		; 00007070H
  00059	8d 8c 01 00 80
	00 00		 lea	 ecx, DWORD PTR [ecx+eax+32768]
  00060	c1 f9 10	 sar	 ecx, 16			; 00000010H
  00063	81 c1 80 00 00
	00		 add	 ecx, 128		; 00000080H
  00069	89 4d f4	 mov	 DWORD PTR _cb$[ebp], ecx

; 665  :     cr = ( ( 28784*R - 24103*G -  4681*B + 32768 ) >> 16 ) + 128;

  0006c	0f b6 55 08	 movzx	 edx, BYTE PTR _R$[ebp]
  00070	69 d2 70 70 00
	00		 imul	 edx, 28784		; 00007070H
  00076	0f b6 45 0c	 movzx	 eax, BYTE PTR _G$[ebp]
  0007a	69 c0 27 5e 00
	00		 imul	 eax, 24103		; 00005e27H
  00080	2b d0		 sub	 edx, eax
  00082	0f b6 4d 10	 movzx	 ecx, BYTE PTR _B$[ebp]
  00086	69 c9 49 12 00
	00		 imul	 ecx, 4681		; 00001249H
  0008c	2b d1		 sub	 edx, ecx
  0008e	81 c2 00 80 00
	00		 add	 edx, 32768		; 00008000H
  00094	c1 fa 10	 sar	 edx, 16			; 00000010H
  00097	81 c2 80 00 00
	00		 add	 edx, 128		; 00000080H
  0009d	89 55 f8	 mov	 DWORD PTR _cr$[ebp], edx

; 666  : 
; 667  :     *pY = LIMIT_Y(y);

  000a0	83 7d fc 10	 cmp	 DWORD PTR _y$[ebp], 16	; 00000010H
  000a4	73 09		 jae	 SHORT $LN5@RGB2YUV
  000a6	c7 45 ec 10 00
	00 00		 mov	 DWORD PTR tv132[ebp], 16 ; 00000010H
  000ad	eb 1e		 jmp	 SHORT $LN6@RGB2YUV
$LN5@RGB2YUV:
  000af	81 7d fc eb 00
	00 00		 cmp	 DWORD PTR _y$[ebp], 235	; 000000ebH
  000b6	76 09		 jbe	 SHORT $LN3@RGB2YUV
  000b8	c7 45 e8 eb 00
	00 00		 mov	 DWORD PTR tv131[ebp], 235 ; 000000ebH
  000bf	eb 06		 jmp	 SHORT $LN4@RGB2YUV
$LN3@RGB2YUV:
  000c1	8b 55 fc	 mov	 edx, DWORD PTR _y$[ebp]
  000c4	89 55 e8	 mov	 DWORD PTR tv131[ebp], edx
$LN4@RGB2YUV:
  000c7	8b 45 e8	 mov	 eax, DWORD PTR tv131[ebp]
  000ca	89 45 ec	 mov	 DWORD PTR tv132[ebp], eax
$LN6@RGB2YUV:
  000cd	8b 4d 14	 mov	 ecx, DWORD PTR _pY$[ebp]
  000d0	8a 55 ec	 mov	 dl, BYTE PTR tv132[ebp]
  000d3	88 11		 mov	 BYTE PTR [ecx], dl

; 668  :     *pU = LIMIT_CbCr(cb);

  000d5	83 7d f4 10	 cmp	 DWORD PTR _cb$[ebp], 16	; 00000010H
  000d9	73 09		 jae	 SHORT $LN9@RGB2YUV
  000db	c7 45 e4 10 00
	00 00		 mov	 DWORD PTR tv137[ebp], 16 ; 00000010H
  000e2	eb 1e		 jmp	 SHORT $LN10@RGB2YUV
$LN9@RGB2YUV:
  000e4	81 7d f4 f0 00
	00 00		 cmp	 DWORD PTR _cb$[ebp], 240 ; 000000f0H
  000eb	76 09		 jbe	 SHORT $LN7@RGB2YUV
  000ed	c7 45 e0 f0 00
	00 00		 mov	 DWORD PTR tv136[ebp], 240 ; 000000f0H
  000f4	eb 06		 jmp	 SHORT $LN8@RGB2YUV
$LN7@RGB2YUV:
  000f6	8b 45 f4	 mov	 eax, DWORD PTR _cb$[ebp]
  000f9	89 45 e0	 mov	 DWORD PTR tv136[ebp], eax
$LN8@RGB2YUV:
  000fc	8b 4d e0	 mov	 ecx, DWORD PTR tv136[ebp]
  000ff	89 4d e4	 mov	 DWORD PTR tv137[ebp], ecx
$LN10@RGB2YUV:
  00102	8b 55 18	 mov	 edx, DWORD PTR _pU$[ebp]
  00105	8a 45 e4	 mov	 al, BYTE PTR tv137[ebp]
  00108	88 02		 mov	 BYTE PTR [edx], al

; 669  :     *pV = LIMIT_CbCr(cr);

  0010a	83 7d f8 10	 cmp	 DWORD PTR _cr$[ebp], 16	; 00000010H
  0010e	73 09		 jae	 SHORT $LN13@RGB2YUV
  00110	c7 45 dc 10 00
	00 00		 mov	 DWORD PTR tv142[ebp], 16 ; 00000010H
  00117	eb 1e		 jmp	 SHORT $LN14@RGB2YUV
$LN13@RGB2YUV:
  00119	81 7d f8 f0 00
	00 00		 cmp	 DWORD PTR _cr$[ebp], 240 ; 000000f0H
  00120	76 09		 jbe	 SHORT $LN11@RGB2YUV
  00122	c7 45 d8 f0 00
	00 00		 mov	 DWORD PTR tv141[ebp], 240 ; 000000f0H
  00129	eb 06		 jmp	 SHORT $LN12@RGB2YUV
$LN11@RGB2YUV:
  0012b	8b 4d f8	 mov	 ecx, DWORD PTR _cr$[ebp]
  0012e	89 4d d8	 mov	 DWORD PTR tv141[ebp], ecx
$LN12@RGB2YUV:
  00131	8b 55 d8	 mov	 edx, DWORD PTR tv141[ebp]
  00134	89 55 dc	 mov	 DWORD PTR tv142[ebp], edx
$LN14@RGB2YUV:
  00137	8b 45 1c	 mov	 eax, DWORD PTR _pV$[ebp]
  0013a	8a 4d dc	 mov	 cl, BYTE PTR tv142[ebp]
  0013d	88 08		 mov	 BYTE PTR [eax], cl

; 670  : }

  0013f	8b e5		 mov	 esp, ebp
  00141	5d		 pop	 ebp
  00142	c2 18 00	 ret	 24			; 00000018H
?RGB2YUV@CColorBar@@AAEXEEEPAE00@Z ENDP			; CColorBar::RGB2YUV
_TEXT	ENDS
PUBLIC	?Draw@CColorBar@@QAEXPAEHHHHHH@Z		; CColorBar::Draw
; Function compile flags: /Odtp
;	COMDAT ?Draw@CColorBar@@QAEXPAEHHHHHH@Z
_TEXT	SEGMENT
tv398 = -69						; size = 1
tv372 = -68						; size = 1
tv346 = -67						; size = 1
tv329 = -66						; size = 1
tv318 = -65						; size = 1
tv292 = -64						; size = 1
tv281 = -63						; size = 1
tv259 = -62						; size = 1
tv248 = -61						; size = 1
tv226 = -60						; size = 1
tv208 = -59						; size = 1
tv188 = -58						; size = 1
tv172 = -57						; size = 1
tv152 = -56						; size = 4
_this$ = -52						; size = 4
_j$ = -48						; size = 4
_total_crop$ = -44					; size = 4
_l$ = -40						; size = 4
_top$ = -36						; size = 4
_k$ = -32						; size = 4
_right$ = -28						; size = 4
_buf$ = -24						; size = 4
_left$ = -20						; size = 4
_overscan$ = -16					; size = 4
_i$ = -12						; size = 4
_bottom$ = -8						; size = 4
_left_crop$ = -4					; size = 4
_Buffer$ = 8						; size = 4
_Pitch$ = 12						; size = 4
_Height$ = 16						; size = 4
_Width$ = 20						; size = 4
_Overscan$ = 24						; size = 4
_LCrop$ = 28						; size = 4
_RCrop$ = 32						; size = 4
?Draw@CColorBar@@QAEXPAEHHHHHH@Z PROC			; CColorBar::Draw, COMDAT
; _this$ = ecx

; 460  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 48	 sub	 esp, 72			; 00000048H
  00006	89 4d cc	 mov	 DWORD PTR _this$[ebp], ecx

; 461  :     int left, right, top, bottom;
; 462  :     int overscan, left_crop, total_crop;
; 463  :     BYTE* buf;
; 464  :     int i, j, k, l;
; 465  : 
; 466  :     if (m_TypeDraw == DRAW_NO)

  00009	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	83 78 28 07	 cmp	 DWORD PTR [eax+40], 7
  00010	75 05		 jne	 SHORT $LN83@Draw

; 467  :         return;

  00012	e9 a3 08 00 00	 jmp	 $LN84@Draw
$LN83@Draw:

; 468  : 
; 469  :     overscan = Overscan * Width / (Height * 2);

  00017	8b 45 18	 mov	 eax, DWORD PTR _Overscan$[ebp]
  0001a	0f af 45 14	 imul	 eax, DWORD PTR _Width$[ebp]
  0001e	8b 4d 10	 mov	 ecx, DWORD PTR _Height$[ebp]
  00021	d1 e1		 shl	 ecx, 1
  00023	99		 cdq
  00024	f7 f9		 idiv	 ecx
  00026	89 45 f0	 mov	 DWORD PTR _overscan$[ebp], eax

; 470  :     left_crop = ((LCrop * Width) + 500) / 1000;

  00029	8b 45 1c	 mov	 eax, DWORD PTR _LCrop$[ebp]
  0002c	0f af 45 14	 imul	 eax, DWORD PTR _Width$[ebp]
  00030	05 f4 01 00 00	 add	 eax, 500		; 000001f4H
  00035	99		 cdq
  00036	b9 e8 03 00 00	 mov	 ecx, 1000		; 000003e8H
  0003b	f7 f9		 idiv	 ecx
  0003d	89 45 fc	 mov	 DWORD PTR _left_crop$[ebp], eax

; 471  :     total_crop = (((LCrop + RCrop) * Width) + 500) / 1000;

  00040	8b 45 1c	 mov	 eax, DWORD PTR _LCrop$[ebp]
  00043	03 45 20	 add	 eax, DWORD PTR _RCrop$[ebp]
  00046	0f af 45 14	 imul	 eax, DWORD PTR _Width$[ebp]
  0004a	05 f4 01 00 00	 add	 eax, 500		; 000001f4H
  0004f	99		 cdq
  00050	b9 e8 03 00 00	 mov	 ecx, 1000		; 000003e8H
  00055	f7 f9		 idiv	 ecx
  00057	89 45 d4	 mov	 DWORD PTR _total_crop$[ebp], eax

; 472  : 
; 473  :     // Calculate the exact coordinates of rectangular zone in the buffer
; 474  :     left = (Width + total_crop - 2 * overscan) * m_LeftBorder / 10000 - left_crop + overscan;

  0005a	8b 45 14	 mov	 eax, DWORD PTR _Width$[ebp]
  0005d	03 45 d4	 add	 eax, DWORD PTR _total_crop$[ebp]
  00060	8b 55 f0	 mov	 edx, DWORD PTR _overscan$[ebp]
  00063	d1 e2		 shl	 edx, 1
  00065	2b c2		 sub	 eax, edx
  00067	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  0006a	0f b7 11	 movzx	 edx, WORD PTR [ecx]
  0006d	0f af c2	 imul	 eax, edx
  00070	99		 cdq
  00071	b9 10 27 00 00	 mov	 ecx, 10000		; 00002710H
  00076	f7 f9		 idiv	 ecx
  00078	2b 45 fc	 sub	 eax, DWORD PTR _left_crop$[ebp]
  0007b	03 45 f0	 add	 eax, DWORD PTR _overscan$[ebp]
  0007e	89 45 ec	 mov	 DWORD PTR _left$[ebp], eax

; 475  :     if (left < 0)

  00081	79 09		 jns	 SHORT $LN82@Draw

; 476  :     {
; 477  :         left = 0;

  00083	c7 45 ec 00 00
	00 00		 mov	 DWORD PTR _left$[ebp], 0
  0008a	eb 11		 jmp	 SHORT $LN81@Draw
$LN82@Draw:

; 478  :     }
; 479  :     else if (left >= Width)

  0008c	8b 55 ec	 mov	 edx, DWORD PTR _left$[ebp]
  0008f	3b 55 14	 cmp	 edx, DWORD PTR _Width$[ebp]
  00092	7c 09		 jl	 SHORT $LN81@Draw

; 480  :     {
; 481  :         left = Width - 1;

  00094	8b 45 14	 mov	 eax, DWORD PTR _Width$[ebp]
  00097	83 e8 01	 sub	 eax, 1
  0009a	89 45 ec	 mov	 DWORD PTR _left$[ebp], eax
$LN81@Draw:

; 482  :     }
; 483  :     right = (Width + total_crop - 2 * overscan) * m_RightBorder / 10000 - left_crop + overscan;

  0009d	8b 45 14	 mov	 eax, DWORD PTR _Width$[ebp]
  000a0	03 45 d4	 add	 eax, DWORD PTR _total_crop$[ebp]
  000a3	8b 4d f0	 mov	 ecx, DWORD PTR _overscan$[ebp]
  000a6	d1 e1		 shl	 ecx, 1
  000a8	2b c1		 sub	 eax, ecx
  000aa	8b 55 cc	 mov	 edx, DWORD PTR _this$[ebp]
  000ad	0f b7 4a 02	 movzx	 ecx, WORD PTR [edx+2]
  000b1	0f af c1	 imul	 eax, ecx
  000b4	99		 cdq
  000b5	b9 10 27 00 00	 mov	 ecx, 10000		; 00002710H
  000ba	f7 f9		 idiv	 ecx
  000bc	2b 45 fc	 sub	 eax, DWORD PTR _left_crop$[ebp]
  000bf	03 45 f0	 add	 eax, DWORD PTR _overscan$[ebp]
  000c2	89 45 e4	 mov	 DWORD PTR _right$[ebp], eax

; 484  :     if (right < 0)

  000c5	79 09		 jns	 SHORT $LN79@Draw

; 485  :     {
; 486  :         right = 0;

  000c7	c7 45 e4 00 00
	00 00		 mov	 DWORD PTR _right$[ebp], 0
  000ce	eb 11		 jmp	 SHORT $LN78@Draw
$LN79@Draw:

; 487  :     }
; 488  :     else if (right >= Width)

  000d0	8b 55 e4	 mov	 edx, DWORD PTR _right$[ebp]
  000d3	3b 55 14	 cmp	 edx, DWORD PTR _Width$[ebp]
  000d6	7c 09		 jl	 SHORT $LN78@Draw

; 489  :     {
; 490  :         right = Width - 1;

  000d8	8b 45 14	 mov	 eax, DWORD PTR _Width$[ebp]
  000db	83 e8 01	 sub	 eax, 1
  000de	89 45 e4	 mov	 DWORD PTR _right$[ebp], eax
$LN78@Draw:

; 491  :     }
; 492  :     overscan = Overscan;

  000e1	8b 4d 18	 mov	 ecx, DWORD PTR _Overscan$[ebp]
  000e4	89 4d f0	 mov	 DWORD PTR _overscan$[ebp], ecx

; 493  :     top = (Height - overscan) * m_TopBorder / 10000 + overscan / 2;

  000e7	8b 45 10	 mov	 eax, DWORD PTR _Height$[ebp]
  000ea	2b 45 f0	 sub	 eax, DWORD PTR _overscan$[ebp]
  000ed	8b 55 cc	 mov	 edx, DWORD PTR _this$[ebp]
  000f0	0f b7 4a 04	 movzx	 ecx, WORD PTR [edx+4]
  000f4	0f af c1	 imul	 eax, ecx
  000f7	99		 cdq
  000f8	b9 10 27 00 00	 mov	 ecx, 10000		; 00002710H
  000fd	f7 f9		 idiv	 ecx
  000ff	8b c8		 mov	 ecx, eax
  00101	8b 45 f0	 mov	 eax, DWORD PTR _overscan$[ebp]
  00104	99		 cdq
  00105	2b c2		 sub	 eax, edx
  00107	d1 f8		 sar	 eax, 1
  00109	03 c8		 add	 ecx, eax
  0010b	89 4d dc	 mov	 DWORD PTR _top$[ebp], ecx

; 494  :     if (top < 0)

  0010e	79 09		 jns	 SHORT $LN76@Draw

; 495  :     {
; 496  :         top = 0;

  00110	c7 45 dc 00 00
	00 00		 mov	 DWORD PTR _top$[ebp], 0
  00117	eb 11		 jmp	 SHORT $LN75@Draw
$LN76@Draw:

; 497  :     }
; 498  :     else if (top >= Height)

  00119	8b 55 dc	 mov	 edx, DWORD PTR _top$[ebp]
  0011c	3b 55 10	 cmp	 edx, DWORD PTR _Height$[ebp]
  0011f	7c 09		 jl	 SHORT $LN75@Draw

; 499  :     {
; 500  :         top = Height - 1;

  00121	8b 45 10	 mov	 eax, DWORD PTR _Height$[ebp]
  00124	83 e8 01	 sub	 eax, 1
  00127	89 45 dc	 mov	 DWORD PTR _top$[ebp], eax
$LN75@Draw:

; 501  :     }
; 502  :     bottom = (Height - overscan) * m_BottomBorder / 10000 + overscan / 2;

  0012a	8b 45 10	 mov	 eax, DWORD PTR _Height$[ebp]
  0012d	2b 45 f0	 sub	 eax, DWORD PTR _overscan$[ebp]
  00130	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00133	0f b7 51 06	 movzx	 edx, WORD PTR [ecx+6]
  00137	0f af c2	 imul	 eax, edx
  0013a	99		 cdq
  0013b	b9 10 27 00 00	 mov	 ecx, 10000		; 00002710H
  00140	f7 f9		 idiv	 ecx
  00142	8b c8		 mov	 ecx, eax
  00144	8b 45 f0	 mov	 eax, DWORD PTR _overscan$[ebp]
  00147	99		 cdq
  00148	2b c2		 sub	 eax, edx
  0014a	d1 f8		 sar	 eax, 1
  0014c	03 c8		 add	 ecx, eax
  0014e	89 4d f8	 mov	 DWORD PTR _bottom$[ebp], ecx

; 503  :     if (bottom < 0)

  00151	79 09		 jns	 SHORT $LN73@Draw

; 504  :     {
; 505  :         bottom = 0;

  00153	c7 45 f8 00 00
	00 00		 mov	 DWORD PTR _bottom$[ebp], 0
  0015a	eb 11		 jmp	 SHORT $LN72@Draw
$LN73@Draw:

; 506  :     }
; 507  :     else if (bottom >= Height)

  0015c	8b 55 f8	 mov	 edx, DWORD PTR _bottom$[ebp]
  0015f	3b 55 10	 cmp	 edx, DWORD PTR _Height$[ebp]
  00162	7c 09		 jl	 SHORT $LN72@Draw

; 508  :     {
; 509  :         bottom = Height - 1;

  00164	8b 45 10	 mov	 eax, DWORD PTR _Height$[ebp]
  00167	83 e8 01	 sub	 eax, 1
  0016a	89 45 f8	 mov	 DWORD PTR _bottom$[ebp], eax
$LN72@Draw:

; 510  :     }
; 511  : 
; 512  :     switch (m_TypeDraw)

  0016d	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00170	8b 51 28	 mov	 edx, DWORD PTR [ecx+40]
  00173	89 55 c8	 mov	 DWORD PTR tv152[ebp], edx
  00176	83 7d c8 06	 cmp	 DWORD PTR tv152[ebp], 6
  0017a	0f 87 3a 07 00
	00		 ja	 $LN84@Draw
  00180	8b 45 c8	 mov	 eax, DWORD PTR tv152[ebp]
  00183	ff 24 85 00 00
	00 00		 jmp	 DWORD PTR $LN129@Draw[eax*4]
$LN68@Draw:

; 513  :     {
; 514  :     case DRAW_BORDER:
; 515  :         for (i = top ; i <= bottom ; i++)

  0018a	8b 4d dc	 mov	 ecx, DWORD PTR _top$[ebp]
  0018d	89 4d f4	 mov	 DWORD PTR _i$[ebp], ecx
  00190	eb 09		 jmp	 SHORT $LN67@Draw
$LN66@Draw:
  00192	8b 55 f4	 mov	 edx, DWORD PTR _i$[ebp]
  00195	83 c2 01	 add	 edx, 1
  00198	89 55 f4	 mov	 DWORD PTR _i$[ebp], edx
$LN67@Draw:
  0019b	8b 45 f4	 mov	 eax, DWORD PTR _i$[ebp]
  0019e	3b 45 f8	 cmp	 eax, DWORD PTR _bottom$[ebp]
  001a1	0f 8f ec 00 00
	00		 jg	 $LN65@Draw

; 516  :         {
; 517  :             buf = Buffer + (i * Pitch);

  001a7	8b 4d f4	 mov	 ecx, DWORD PTR _i$[ebp]
  001aa	0f af 4d 0c	 imul	 ecx, DWORD PTR _Pitch$[ebp]
  001ae	03 4d 08	 add	 ecx, DWORD PTR _Buffer$[ebp]
  001b1	89 4d e8	 mov	 DWORD PTR _buf$[ebp], ecx

; 518  :             for (j = left; j <= right && j < (left + m_Param1Draw) ; j++)

  001b4	8b 55 ec	 mov	 edx, DWORD PTR _left$[ebp]
  001b7	89 55 d0	 mov	 DWORD PTR _j$[ebp], edx
  001ba	eb 09		 jmp	 SHORT $LN64@Draw
$LN63@Draw:
  001bc	8b 45 d0	 mov	 eax, DWORD PTR _j$[ebp]
  001bf	83 c0 01	 add	 eax, 1
  001c2	89 45 d0	 mov	 DWORD PTR _j$[ebp], eax
$LN64@Draw:
  001c5	8b 4d d0	 mov	 ecx, DWORD PTR _j$[ebp]
  001c8	3b 4d e4	 cmp	 ecx, DWORD PTR _right$[ebp]
  001cb	7f 54		 jg	 SHORT $LN62@Draw
  001cd	8b 55 cc	 mov	 edx, DWORD PTR _this$[ebp]
  001d0	8b 45 ec	 mov	 eax, DWORD PTR _left$[ebp]
  001d3	03 42 2c	 add	 eax, DWORD PTR [edx+44]
  001d6	39 45 d0	 cmp	 DWORD PTR _j$[ebp], eax
  001d9	7d 46		 jge	 SHORT $LN62@Draw

; 519  :             {
; 520  :                 buf[j*2  ] = ref_Y_val2;

  001db	8b 4d d0	 mov	 ecx, DWORD PTR _j$[ebp]
  001de	8b 55 e8	 mov	 edx, DWORD PTR _buf$[ebp]
  001e1	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  001e4	8a 40 1f	 mov	 al, BYTE PTR [eax+31]
  001e7	88 04 4a	 mov	 BYTE PTR [edx+ecx*2], al

; 521  :                 buf[j*2+1] = (j%2) ? ref_V_val2 : ref_U_val2;

  001ea	8b 4d d0	 mov	 ecx, DWORD PTR _j$[ebp]
  001ed	81 e1 01 00 00
	80		 and	 ecx, -2147483647	; 80000001H
  001f3	79 05		 jns	 SHORT $LN112@Draw
  001f5	49		 dec	 ecx
  001f6	83 c9 fe	 or	 ecx, -2			; fffffffeH
  001f9	41		 inc	 ecx
$LN112@Draw:
  001fa	85 c9		 test	 ecx, ecx
  001fc	74 0b		 je	 SHORT $LN86@Draw
  001fe	8b 55 cc	 mov	 edx, DWORD PTR _this$[ebp]
  00201	8a 42 21	 mov	 al, BYTE PTR [edx+33]
  00204	88 45 c7	 mov	 BYTE PTR tv172[ebp], al
  00207	eb 09		 jmp	 SHORT $LN87@Draw
$LN86@Draw:
  00209	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  0020c	8a 51 20	 mov	 dl, BYTE PTR [ecx+32]
  0020f	88 55 c7	 mov	 BYTE PTR tv172[ebp], dl
$LN87@Draw:
  00212	8b 45 d0	 mov	 eax, DWORD PTR _j$[ebp]
  00215	8b 4d e8	 mov	 ecx, DWORD PTR _buf$[ebp]
  00218	8a 55 c7	 mov	 dl, BYTE PTR tv172[ebp]
  0021b	88 54 41 01	 mov	 BYTE PTR [ecx+eax*2+1], dl

; 522  :             }

  0021f	eb 9b		 jmp	 SHORT $LN63@Draw
$LN62@Draw:

; 523  :             for (j = right; j >= left && j > (right - m_Param1Draw) ; j--)

  00221	8b 45 e4	 mov	 eax, DWORD PTR _right$[ebp]
  00224	89 45 d0	 mov	 DWORD PTR _j$[ebp], eax
  00227	eb 09		 jmp	 SHORT $LN61@Draw
$LN60@Draw:
  00229	8b 4d d0	 mov	 ecx, DWORD PTR _j$[ebp]
  0022c	83 e9 01	 sub	 ecx, 1
  0022f	89 4d d0	 mov	 DWORD PTR _j$[ebp], ecx
$LN61@Draw:
  00232	8b 55 d0	 mov	 edx, DWORD PTR _j$[ebp]
  00235	3b 55 ec	 cmp	 edx, DWORD PTR _left$[ebp]
  00238	7c 54		 jl	 SHORT $LN59@Draw
  0023a	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  0023d	8b 4d e4	 mov	 ecx, DWORD PTR _right$[ebp]
  00240	2b 48 2c	 sub	 ecx, DWORD PTR [eax+44]
  00243	39 4d d0	 cmp	 DWORD PTR _j$[ebp], ecx
  00246	7e 46		 jle	 SHORT $LN59@Draw

; 524  :             {
; 525  :                 buf[j*2  ] = ref_Y_val2;

  00248	8b 55 d0	 mov	 edx, DWORD PTR _j$[ebp]
  0024b	8b 45 e8	 mov	 eax, DWORD PTR _buf$[ebp]
  0024e	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00251	8a 49 1f	 mov	 cl, BYTE PTR [ecx+31]
  00254	88 0c 50	 mov	 BYTE PTR [eax+edx*2], cl

; 526  :                 buf[j*2+1] = (j%2) ? ref_V_val2 : ref_U_val2;

  00257	8b 55 d0	 mov	 edx, DWORD PTR _j$[ebp]
  0025a	81 e2 01 00 00
	80		 and	 edx, -2147483647	; 80000001H
  00260	79 05		 jns	 SHORT $LN113@Draw
  00262	4a		 dec	 edx
  00263	83 ca fe	 or	 edx, -2			; fffffffeH
  00266	42		 inc	 edx
$LN113@Draw:
  00267	85 d2		 test	 edx, edx
  00269	74 0b		 je	 SHORT $LN88@Draw
  0026b	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  0026e	8a 48 21	 mov	 cl, BYTE PTR [eax+33]
  00271	88 4d c6	 mov	 BYTE PTR tv188[ebp], cl
  00274	eb 09		 jmp	 SHORT $LN89@Draw
$LN88@Draw:
  00276	8b 55 cc	 mov	 edx, DWORD PTR _this$[ebp]
  00279	8a 42 20	 mov	 al, BYTE PTR [edx+32]
  0027c	88 45 c6	 mov	 BYTE PTR tv188[ebp], al
$LN89@Draw:
  0027f	8b 4d d0	 mov	 ecx, DWORD PTR _j$[ebp]
  00282	8b 55 e8	 mov	 edx, DWORD PTR _buf$[ebp]
  00285	8a 45 c6	 mov	 al, BYTE PTR tv188[ebp]
  00288	88 44 4a 01	 mov	 BYTE PTR [edx+ecx*2+1], al

; 527  :             }

  0028c	eb 9b		 jmp	 SHORT $LN60@Draw
$LN59@Draw:

; 528  :         }

  0028e	e9 ff fe ff ff	 jmp	 $LN66@Draw
$LN65@Draw:

; 529  :         for (i = left ; i <= right ; i++)

  00293	8b 4d ec	 mov	 ecx, DWORD PTR _left$[ebp]
  00296	89 4d f4	 mov	 DWORD PTR _i$[ebp], ecx
  00299	eb 09		 jmp	 SHORT $LN58@Draw
$LN57@Draw:
  0029b	8b 55 f4	 mov	 edx, DWORD PTR _i$[ebp]
  0029e	83 c2 01	 add	 edx, 1
  002a1	89 55 f4	 mov	 DWORD PTR _i$[ebp], edx
$LN58@Draw:
  002a4	8b 45 f4	 mov	 eax, DWORD PTR _i$[ebp]
  002a7	3b 45 e4	 cmp	 eax, DWORD PTR _right$[ebp]
  002aa	0f 8f f8 00 00
	00		 jg	 $LN56@Draw

; 530  :         {
; 531  :             for (j = top; j <= bottom && j < (top + m_Param1Draw) ; j++)

  002b0	8b 4d dc	 mov	 ecx, DWORD PTR _top$[ebp]
  002b3	89 4d d0	 mov	 DWORD PTR _j$[ebp], ecx
  002b6	eb 09		 jmp	 SHORT $LN55@Draw
$LN54@Draw:
  002b8	8b 55 d0	 mov	 edx, DWORD PTR _j$[ebp]
  002bb	83 c2 01	 add	 edx, 1
  002be	89 55 d0	 mov	 DWORD PTR _j$[ebp], edx
$LN55@Draw:
  002c1	8b 45 d0	 mov	 eax, DWORD PTR _j$[ebp]
  002c4	3b 45 f8	 cmp	 eax, DWORD PTR _bottom$[ebp]
  002c7	7f 61		 jg	 SHORT $LN53@Draw
  002c9	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  002cc	8b 55 dc	 mov	 edx, DWORD PTR _top$[ebp]
  002cf	03 51 2c	 add	 edx, DWORD PTR [ecx+44]
  002d2	39 55 d0	 cmp	 DWORD PTR _j$[ebp], edx
  002d5	7d 53		 jge	 SHORT $LN53@Draw

; 532  :             {
; 533  :                 buf = Buffer + (j * Pitch);

  002d7	8b 45 d0	 mov	 eax, DWORD PTR _j$[ebp]
  002da	0f af 45 0c	 imul	 eax, DWORD PTR _Pitch$[ebp]
  002de	03 45 08	 add	 eax, DWORD PTR _Buffer$[ebp]
  002e1	89 45 e8	 mov	 DWORD PTR _buf$[ebp], eax

; 534  :                 buf[i*2  ] = ref_Y_val2;

  002e4	8b 4d f4	 mov	 ecx, DWORD PTR _i$[ebp]
  002e7	8b 55 e8	 mov	 edx, DWORD PTR _buf$[ebp]
  002ea	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  002ed	8a 40 1f	 mov	 al, BYTE PTR [eax+31]
  002f0	88 04 4a	 mov	 BYTE PTR [edx+ecx*2], al

; 535  :                 buf[i*2+1] = (i%2) ? ref_V_val2 : ref_U_val2;

  002f3	8b 4d f4	 mov	 ecx, DWORD PTR _i$[ebp]
  002f6	81 e1 01 00 00
	80		 and	 ecx, -2147483647	; 80000001H
  002fc	79 05		 jns	 SHORT $LN114@Draw
  002fe	49		 dec	 ecx
  002ff	83 c9 fe	 or	 ecx, -2			; fffffffeH
  00302	41		 inc	 ecx
$LN114@Draw:
  00303	85 c9		 test	 ecx, ecx
  00305	74 0b		 je	 SHORT $LN90@Draw
  00307	8b 55 cc	 mov	 edx, DWORD PTR _this$[ebp]
  0030a	8a 42 21	 mov	 al, BYTE PTR [edx+33]
  0030d	88 45 c5	 mov	 BYTE PTR tv208[ebp], al
  00310	eb 09		 jmp	 SHORT $LN91@Draw
$LN90@Draw:
  00312	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00315	8a 51 20	 mov	 dl, BYTE PTR [ecx+32]
  00318	88 55 c5	 mov	 BYTE PTR tv208[ebp], dl
$LN91@Draw:
  0031b	8b 45 f4	 mov	 eax, DWORD PTR _i$[ebp]
  0031e	8b 4d e8	 mov	 ecx, DWORD PTR _buf$[ebp]
  00321	8a 55 c5	 mov	 dl, BYTE PTR tv208[ebp]
  00324	88 54 41 01	 mov	 BYTE PTR [ecx+eax*2+1], dl

; 536  :             }

  00328	eb 8e		 jmp	 SHORT $LN54@Draw
$LN53@Draw:

; 537  :             for (j = bottom; j >= top && j > (bottom - m_Param1Draw) ; j--)

  0032a	8b 45 f8	 mov	 eax, DWORD PTR _bottom$[ebp]
  0032d	89 45 d0	 mov	 DWORD PTR _j$[ebp], eax
  00330	eb 09		 jmp	 SHORT $LN52@Draw
$LN51@Draw:
  00332	8b 4d d0	 mov	 ecx, DWORD PTR _j$[ebp]
  00335	83 e9 01	 sub	 ecx, 1
  00338	89 4d d0	 mov	 DWORD PTR _j$[ebp], ecx
$LN52@Draw:
  0033b	8b 55 d0	 mov	 edx, DWORD PTR _j$[ebp]
  0033e	3b 55 dc	 cmp	 edx, DWORD PTR _top$[ebp]
  00341	7c 60		 jl	 SHORT $LN50@Draw
  00343	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  00346	8b 4d f8	 mov	 ecx, DWORD PTR _bottom$[ebp]
  00349	2b 48 2c	 sub	 ecx, DWORD PTR [eax+44]
  0034c	39 4d d0	 cmp	 DWORD PTR _j$[ebp], ecx
  0034f	7e 52		 jle	 SHORT $LN50@Draw

; 538  :             {
; 539  :                 buf = Buffer + (j * Pitch);

  00351	8b 55 d0	 mov	 edx, DWORD PTR _j$[ebp]
  00354	0f af 55 0c	 imul	 edx, DWORD PTR _Pitch$[ebp]
  00358	03 55 08	 add	 edx, DWORD PTR _Buffer$[ebp]
  0035b	89 55 e8	 mov	 DWORD PTR _buf$[ebp], edx

; 540  :                 buf[i*2  ] = ref_Y_val2;

  0035e	8b 45 f4	 mov	 eax, DWORD PTR _i$[ebp]
  00361	8b 4d e8	 mov	 ecx, DWORD PTR _buf$[ebp]
  00364	8b 55 cc	 mov	 edx, DWORD PTR _this$[ebp]
  00367	8a 52 1f	 mov	 dl, BYTE PTR [edx+31]
  0036a	88 14 41	 mov	 BYTE PTR [ecx+eax*2], dl

; 541  :                 buf[i*2+1] = (i%2) ? ref_V_val2 : ref_U_val2;

  0036d	8b 45 f4	 mov	 eax, DWORD PTR _i$[ebp]
  00370	25 01 00 00 80	 and	 eax, -2147483647	; 80000001H
  00375	79 05		 jns	 SHORT $LN115@Draw
  00377	48		 dec	 eax
  00378	83 c8 fe	 or	 eax, -2			; fffffffeH
  0037b	40		 inc	 eax
$LN115@Draw:
  0037c	85 c0		 test	 eax, eax
  0037e	74 0b		 je	 SHORT $LN92@Draw
  00380	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00383	8a 51 21	 mov	 dl, BYTE PTR [ecx+33]
  00386	88 55 c4	 mov	 BYTE PTR tv226[ebp], dl
  00389	eb 09		 jmp	 SHORT $LN93@Draw
$LN92@Draw:
  0038b	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  0038e	8a 48 20	 mov	 cl, BYTE PTR [eax+32]
  00391	88 4d c4	 mov	 BYTE PTR tv226[ebp], cl
$LN93@Draw:
  00394	8b 55 f4	 mov	 edx, DWORD PTR _i$[ebp]
  00397	8b 45 e8	 mov	 eax, DWORD PTR _buf$[ebp]
  0039a	8a 4d c4	 mov	 cl, BYTE PTR tv226[ebp]
  0039d	88 4c 50 01	 mov	 BYTE PTR [eax+edx*2+1], cl

; 542  :             }

  003a1	eb 8f		 jmp	 SHORT $LN51@Draw
$LN50@Draw:

; 543  :         }

  003a3	e9 f3 fe ff ff	 jmp	 $LN57@Draw
$LN56@Draw:

; 544  :         break;

  003a8	e9 0d 05 00 00	 jmp	 $LN84@Draw
$LN49@Draw:

; 545  : 
; 546  :     case DRAW_LINEH:
; 547  :         for (i = top ; i <= bottom ; i++)

  003ad	8b 55 dc	 mov	 edx, DWORD PTR _top$[ebp]
  003b0	89 55 f4	 mov	 DWORD PTR _i$[ebp], edx
  003b3	eb 09		 jmp	 SHORT $LN48@Draw
$LN47@Draw:
  003b5	8b 45 f4	 mov	 eax, DWORD PTR _i$[ebp]
  003b8	83 c0 01	 add	 eax, 1
  003bb	89 45 f4	 mov	 DWORD PTR _i$[ebp], eax
$LN48@Draw:
  003be	8b 4d f4	 mov	 ecx, DWORD PTR _i$[ebp]
  003c1	3b 4d f8	 cmp	 ecx, DWORD PTR _bottom$[ebp]
  003c4	0f 8f e0 00 00
	00		 jg	 $LN46@Draw

; 548  :         {
; 549  :             k = (i - top) / m_Param1Draw;

  003ca	8b 45 f4	 mov	 eax, DWORD PTR _i$[ebp]
  003cd	2b 45 dc	 sub	 eax, DWORD PTR _top$[ebp]
  003d0	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  003d3	99		 cdq
  003d4	f7 79 2c	 idiv	 DWORD PTR [ecx+44]
  003d7	89 45 e0	 mov	 DWORD PTR _k$[ebp], eax

; 550  :             buf = Buffer + (i * Pitch);

  003da	8b 55 f4	 mov	 edx, DWORD PTR _i$[ebp]
  003dd	0f af 55 0c	 imul	 edx, DWORD PTR _Pitch$[ebp]
  003e1	03 55 08	 add	 edx, DWORD PTR _Buffer$[ebp]
  003e4	89 55 e8	 mov	 DWORD PTR _buf$[ebp], edx

; 551  :             for (j = left ; j <= right ; j++)

  003e7	8b 45 ec	 mov	 eax, DWORD PTR _left$[ebp]
  003ea	89 45 d0	 mov	 DWORD PTR _j$[ebp], eax
  003ed	eb 09		 jmp	 SHORT $LN45@Draw
$LN44@Draw:
  003ef	8b 4d d0	 mov	 ecx, DWORD PTR _j$[ebp]
  003f2	83 c1 01	 add	 ecx, 1
  003f5	89 4d d0	 mov	 DWORD PTR _j$[ebp], ecx
$LN45@Draw:
  003f8	8b 55 d0	 mov	 edx, DWORD PTR _j$[ebp]
  003fb	3b 55 e4	 cmp	 edx, DWORD PTR _right$[ebp]
  003fe	0f 8f a1 00 00
	00		 jg	 $LN43@Draw

; 552  :             {
; 553  :                 if (k%2)

  00404	8b 45 e0	 mov	 eax, DWORD PTR _k$[ebp]
  00407	25 01 00 00 80	 and	 eax, -2147483647	; 80000001H
  0040c	79 05		 jns	 SHORT $LN116@Draw
  0040e	48		 dec	 eax
  0040f	83 c8 fe	 or	 eax, -2			; fffffffeH
  00412	40		 inc	 eax
$LN116@Draw:
  00413	85 c0		 test	 eax, eax
  00415	74 46		 je	 SHORT $LN42@Draw

; 554  :                 {
; 555  :                     buf[j*2  ] = ref_Y_val2;

  00417	8b 4d d0	 mov	 ecx, DWORD PTR _j$[ebp]
  0041a	8b 55 e8	 mov	 edx, DWORD PTR _buf$[ebp]
  0041d	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  00420	8a 40 1f	 mov	 al, BYTE PTR [eax+31]
  00423	88 04 4a	 mov	 BYTE PTR [edx+ecx*2], al

; 556  :                     buf[j*2+1] = (j%2) ? ref_V_val2 : ref_U_val2;

  00426	8b 4d d0	 mov	 ecx, DWORD PTR _j$[ebp]
  00429	81 e1 01 00 00
	80		 and	 ecx, -2147483647	; 80000001H
  0042f	79 05		 jns	 SHORT $LN117@Draw
  00431	49		 dec	 ecx
  00432	83 c9 fe	 or	 ecx, -2			; fffffffeH
  00435	41		 inc	 ecx
$LN117@Draw:
  00436	85 c9		 test	 ecx, ecx
  00438	74 0b		 je	 SHORT $LN94@Draw
  0043a	8b 55 cc	 mov	 edx, DWORD PTR _this$[ebp]
  0043d	8a 42 21	 mov	 al, BYTE PTR [edx+33]
  00440	88 45 c3	 mov	 BYTE PTR tv248[ebp], al
  00443	eb 09		 jmp	 SHORT $LN95@Draw
$LN94@Draw:
  00445	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00448	8a 51 20	 mov	 dl, BYTE PTR [ecx+32]
  0044b	88 55 c3	 mov	 BYTE PTR tv248[ebp], dl
$LN95@Draw:
  0044e	8b 45 d0	 mov	 eax, DWORD PTR _j$[ebp]
  00451	8b 4d e8	 mov	 ecx, DWORD PTR _buf$[ebp]
  00454	8a 55 c3	 mov	 dl, BYTE PTR tv248[ebp]
  00457	88 54 41 01	 mov	 BYTE PTR [ecx+eax*2+1], dl

; 557  :                 }
; 558  :                 else

  0045b	eb 43		 jmp	 SHORT $LN41@Draw
$LN42@Draw:

; 559  :                 {
; 560  :                     buf[j*2  ] = ref_Y_val;

  0045d	8b 45 d0	 mov	 eax, DWORD PTR _j$[ebp]
  00460	8b 4d e8	 mov	 ecx, DWORD PTR _buf$[ebp]
  00463	8b 55 cc	 mov	 edx, DWORD PTR _this$[ebp]
  00466	8a 52 08	 mov	 dl, BYTE PTR [edx+8]
  00469	88 14 41	 mov	 BYTE PTR [ecx+eax*2], dl

; 561  :                     buf[j*2+1] = (j%2) ? ref_V_val : ref_U_val;

  0046c	8b 45 d0	 mov	 eax, DWORD PTR _j$[ebp]
  0046f	25 01 00 00 80	 and	 eax, -2147483647	; 80000001H
  00474	79 05		 jns	 SHORT $LN118@Draw
  00476	48		 dec	 eax
  00477	83 c8 fe	 or	 eax, -2			; fffffffeH
  0047a	40		 inc	 eax
$LN118@Draw:
  0047b	85 c0		 test	 eax, eax
  0047d	74 0b		 je	 SHORT $LN96@Draw
  0047f	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00482	8a 51 0a	 mov	 dl, BYTE PTR [ecx+10]
  00485	88 55 c2	 mov	 BYTE PTR tv259[ebp], dl
  00488	eb 09		 jmp	 SHORT $LN97@Draw
$LN96@Draw:
  0048a	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  0048d	8a 48 09	 mov	 cl, BYTE PTR [eax+9]
  00490	88 4d c2	 mov	 BYTE PTR tv259[ebp], cl
$LN97@Draw:
  00493	8b 55 d0	 mov	 edx, DWORD PTR _j$[ebp]
  00496	8b 45 e8	 mov	 eax, DWORD PTR _buf$[ebp]
  00499	8a 4d c2	 mov	 cl, BYTE PTR tv259[ebp]
  0049c	88 4c 50 01	 mov	 BYTE PTR [eax+edx*2+1], cl
$LN41@Draw:

; 562  :                 }
; 563  :             }

  004a0	e9 4a ff ff ff	 jmp	 $LN44@Draw
$LN43@Draw:

; 564  :         }

  004a5	e9 0b ff ff ff	 jmp	 $LN47@Draw
$LN46@Draw:

; 565  :         break;

  004aa	e9 0b 04 00 00	 jmp	 $LN84@Draw
$LN40@Draw:

; 566  : 
; 567  :     case DRAW_LINEV:
; 568  :         for (i = top ; i <= bottom ; i++)

  004af	8b 55 dc	 mov	 edx, DWORD PTR _top$[ebp]
  004b2	89 55 f4	 mov	 DWORD PTR _i$[ebp], edx
  004b5	eb 09		 jmp	 SHORT $LN39@Draw
$LN38@Draw:
  004b7	8b 45 f4	 mov	 eax, DWORD PTR _i$[ebp]
  004ba	83 c0 01	 add	 eax, 1
  004bd	89 45 f4	 mov	 DWORD PTR _i$[ebp], eax
$LN39@Draw:
  004c0	8b 4d f4	 mov	 ecx, DWORD PTR _i$[ebp]
  004c3	3b 4d f8	 cmp	 ecx, DWORD PTR _bottom$[ebp]
  004c6	0f 8f e1 00 00
	00		 jg	 $LN37@Draw

; 569  :         {
; 570  :             buf = Buffer + (i * Pitch);

  004cc	8b 55 f4	 mov	 edx, DWORD PTR _i$[ebp]
  004cf	0f af 55 0c	 imul	 edx, DWORD PTR _Pitch$[ebp]
  004d3	03 55 08	 add	 edx, DWORD PTR _Buffer$[ebp]
  004d6	89 55 e8	 mov	 DWORD PTR _buf$[ebp], edx

; 571  :             for (j = left ; j <= right ; j++)

  004d9	8b 45 ec	 mov	 eax, DWORD PTR _left$[ebp]
  004dc	89 45 d0	 mov	 DWORD PTR _j$[ebp], eax
  004df	eb 09		 jmp	 SHORT $LN36@Draw
$LN35@Draw:
  004e1	8b 4d d0	 mov	 ecx, DWORD PTR _j$[ebp]
  004e4	83 c1 01	 add	 ecx, 1
  004e7	89 4d d0	 mov	 DWORD PTR _j$[ebp], ecx
$LN36@Draw:
  004ea	8b 55 d0	 mov	 edx, DWORD PTR _j$[ebp]
  004ed	3b 55 e4	 cmp	 edx, DWORD PTR _right$[ebp]
  004f0	0f 8f b2 00 00
	00		 jg	 $LN34@Draw

; 572  :             {
; 573  :                 k = (j - left) / m_Param1Draw;

  004f6	8b 45 d0	 mov	 eax, DWORD PTR _j$[ebp]
  004f9	2b 45 ec	 sub	 eax, DWORD PTR _left$[ebp]
  004fc	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  004ff	99		 cdq
  00500	f7 79 2c	 idiv	 DWORD PTR [ecx+44]
  00503	89 45 e0	 mov	 DWORD PTR _k$[ebp], eax

; 574  :                 if (k%2)

  00506	8b 55 e0	 mov	 edx, DWORD PTR _k$[ebp]
  00509	81 e2 01 00 00
	80		 and	 edx, -2147483647	; 80000001H
  0050f	79 05		 jns	 SHORT $LN119@Draw
  00511	4a		 dec	 edx
  00512	83 ca fe	 or	 edx, -2			; fffffffeH
  00515	42		 inc	 edx
$LN119@Draw:
  00516	85 d2		 test	 edx, edx
  00518	74 45		 je	 SHORT $LN33@Draw

; 575  :                 {
; 576  :                     buf[j*2  ] = ref_Y_val2;

  0051a	8b 45 d0	 mov	 eax, DWORD PTR _j$[ebp]
  0051d	8b 4d e8	 mov	 ecx, DWORD PTR _buf$[ebp]
  00520	8b 55 cc	 mov	 edx, DWORD PTR _this$[ebp]
  00523	8a 52 1f	 mov	 dl, BYTE PTR [edx+31]
  00526	88 14 41	 mov	 BYTE PTR [ecx+eax*2], dl

; 577  :                     buf[j*2+1] = (j%2) ? ref_V_val2 : ref_U_val2;

  00529	8b 45 d0	 mov	 eax, DWORD PTR _j$[ebp]
  0052c	25 01 00 00 80	 and	 eax, -2147483647	; 80000001H
  00531	79 05		 jns	 SHORT $LN120@Draw
  00533	48		 dec	 eax
  00534	83 c8 fe	 or	 eax, -2			; fffffffeH
  00537	40		 inc	 eax
$LN120@Draw:
  00538	85 c0		 test	 eax, eax
  0053a	74 0b		 je	 SHORT $LN98@Draw
  0053c	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  0053f	8a 51 21	 mov	 dl, BYTE PTR [ecx+33]
  00542	88 55 c1	 mov	 BYTE PTR tv281[ebp], dl
  00545	eb 09		 jmp	 SHORT $LN99@Draw
$LN98@Draw:
  00547	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  0054a	8a 48 20	 mov	 cl, BYTE PTR [eax+32]
  0054d	88 4d c1	 mov	 BYTE PTR tv281[ebp], cl
$LN99@Draw:
  00550	8b 55 d0	 mov	 edx, DWORD PTR _j$[ebp]
  00553	8b 45 e8	 mov	 eax, DWORD PTR _buf$[ebp]
  00556	8a 4d c1	 mov	 cl, BYTE PTR tv281[ebp]
  00559	88 4c 50 01	 mov	 BYTE PTR [eax+edx*2+1], cl

; 578  :                 }
; 579  :                 else

  0055d	eb 44		 jmp	 SHORT $LN32@Draw
$LN33@Draw:

; 580  :                 {
; 581  :                     buf[j*2  ] = ref_Y_val;

  0055f	8b 55 d0	 mov	 edx, DWORD PTR _j$[ebp]
  00562	8b 45 e8	 mov	 eax, DWORD PTR _buf$[ebp]
  00565	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00568	8a 49 08	 mov	 cl, BYTE PTR [ecx+8]
  0056b	88 0c 50	 mov	 BYTE PTR [eax+edx*2], cl

; 582  :                     buf[j*2+1] = (j%2) ? ref_V_val : ref_U_val;

  0056e	8b 55 d0	 mov	 edx, DWORD PTR _j$[ebp]
  00571	81 e2 01 00 00
	80		 and	 edx, -2147483647	; 80000001H
  00577	79 05		 jns	 SHORT $LN121@Draw
  00579	4a		 dec	 edx
  0057a	83 ca fe	 or	 edx, -2			; fffffffeH
  0057d	42		 inc	 edx
$LN121@Draw:
  0057e	85 d2		 test	 edx, edx
  00580	74 0b		 je	 SHORT $LN100@Draw
  00582	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  00585	8a 48 0a	 mov	 cl, BYTE PTR [eax+10]
  00588	88 4d c0	 mov	 BYTE PTR tv292[ebp], cl
  0058b	eb 09		 jmp	 SHORT $LN101@Draw
$LN100@Draw:
  0058d	8b 55 cc	 mov	 edx, DWORD PTR _this$[ebp]
  00590	8a 42 09	 mov	 al, BYTE PTR [edx+9]
  00593	88 45 c0	 mov	 BYTE PTR tv292[ebp], al
$LN101@Draw:
  00596	8b 4d d0	 mov	 ecx, DWORD PTR _j$[ebp]
  00599	8b 55 e8	 mov	 edx, DWORD PTR _buf$[ebp]
  0059c	8a 45 c0	 mov	 al, BYTE PTR tv292[ebp]
  0059f	88 44 4a 01	 mov	 BYTE PTR [edx+ecx*2+1], al
$LN32@Draw:

; 583  :                 }
; 584  :             }

  005a3	e9 39 ff ff ff	 jmp	 $LN35@Draw
$LN34@Draw:

; 585  :         }

  005a8	e9 0a ff ff ff	 jmp	 $LN38@Draw
$LN37@Draw:

; 586  :         break;

  005ad	e9 08 03 00 00	 jmp	 $LN84@Draw
$LN31@Draw:

; 587  : 
; 588  :     case DRAW_LINEX:
; 589  :         for (i = top ; i <= bottom ; i++)

  005b2	8b 4d dc	 mov	 ecx, DWORD PTR _top$[ebp]
  005b5	89 4d f4	 mov	 DWORD PTR _i$[ebp], ecx
  005b8	eb 09		 jmp	 SHORT $LN30@Draw
$LN29@Draw:
  005ba	8b 55 f4	 mov	 edx, DWORD PTR _i$[ebp]
  005bd	83 c2 01	 add	 edx, 1
  005c0	89 55 f4	 mov	 DWORD PTR _i$[ebp], edx
$LN30@Draw:
  005c3	8b 45 f4	 mov	 eax, DWORD PTR _i$[ebp]
  005c6	3b 45 f8	 cmp	 eax, DWORD PTR _bottom$[ebp]
  005c9	0f 8f 00 01 00
	00		 jg	 $LN28@Draw

; 590  :         {
; 591  :             buf = Buffer + (i * Pitch);

  005cf	8b 4d f4	 mov	 ecx, DWORD PTR _i$[ebp]
  005d2	0f af 4d 0c	 imul	 ecx, DWORD PTR _Pitch$[ebp]
  005d6	03 4d 08	 add	 ecx, DWORD PTR _Buffer$[ebp]
  005d9	89 4d e8	 mov	 DWORD PTR _buf$[ebp], ecx

; 592  :             for (j = left ; j <= right ; j++)

  005dc	8b 55 ec	 mov	 edx, DWORD PTR _left$[ebp]
  005df	89 55 d0	 mov	 DWORD PTR _j$[ebp], edx
  005e2	eb 09		 jmp	 SHORT $LN27@Draw
$LN26@Draw:
  005e4	8b 45 d0	 mov	 eax, DWORD PTR _j$[ebp]
  005e7	83 c0 01	 add	 eax, 1
  005ea	89 45 d0	 mov	 DWORD PTR _j$[ebp], eax
$LN27@Draw:
  005ed	8b 4d d0	 mov	 ecx, DWORD PTR _j$[ebp]
  005f0	3b 4d e4	 cmp	 ecx, DWORD PTR _right$[ebp]
  005f3	0f 8f d1 00 00
	00		 jg	 $LN25@Draw

; 593  :             {
; 594  :                 k = (i - top) / m_Param1Draw;

  005f9	8b 45 f4	 mov	 eax, DWORD PTR _i$[ebp]
  005fc	2b 45 dc	 sub	 eax, DWORD PTR _top$[ebp]
  005ff	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00602	99		 cdq
  00603	f7 79 2c	 idiv	 DWORD PTR [ecx+44]
  00606	89 45 e0	 mov	 DWORD PTR _k$[ebp], eax

; 595  :                 l = (j - left) / m_Param1Draw;

  00609	8b 45 d0	 mov	 eax, DWORD PTR _j$[ebp]
  0060c	2b 45 ec	 sub	 eax, DWORD PTR _left$[ebp]
  0060f	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00612	99		 cdq
  00613	f7 79 2c	 idiv	 DWORD PTR [ecx+44]
  00616	89 45 d8	 mov	 DWORD PTR _l$[ebp], eax

; 596  :                 if (k%2 != l%2)

  00619	8b 55 e0	 mov	 edx, DWORD PTR _k$[ebp]
  0061c	81 e2 01 00 00
	80		 and	 edx, -2147483647	; 80000001H
  00622	79 05		 jns	 SHORT $LN122@Draw
  00624	4a		 dec	 edx
  00625	83 ca fe	 or	 edx, -2			; fffffffeH
  00628	42		 inc	 edx
$LN122@Draw:
  00629	8b 45 d8	 mov	 eax, DWORD PTR _l$[ebp]
  0062c	25 01 00 00 80	 and	 eax, -2147483647	; 80000001H
  00631	79 05		 jns	 SHORT $LN123@Draw
  00633	48		 dec	 eax
  00634	83 c8 fe	 or	 eax, -2			; fffffffeH
  00637	40		 inc	 eax
$LN123@Draw:
  00638	3b d0		 cmp	 edx, eax
  0063a	74 46		 je	 SHORT $LN24@Draw

; 597  :                 {
; 598  :                     buf[j*2  ] = ref_Y_val2;

  0063c	8b 4d d0	 mov	 ecx, DWORD PTR _j$[ebp]
  0063f	8b 55 e8	 mov	 edx, DWORD PTR _buf$[ebp]
  00642	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  00645	8a 40 1f	 mov	 al, BYTE PTR [eax+31]
  00648	88 04 4a	 mov	 BYTE PTR [edx+ecx*2], al

; 599  :                     buf[j*2+1] = (j%2) ? ref_V_val2 : ref_U_val2;

  0064b	8b 4d d0	 mov	 ecx, DWORD PTR _j$[ebp]
  0064e	81 e1 01 00 00
	80		 and	 ecx, -2147483647	; 80000001H
  00654	79 05		 jns	 SHORT $LN124@Draw
  00656	49		 dec	 ecx
  00657	83 c9 fe	 or	 ecx, -2			; fffffffeH
  0065a	41		 inc	 ecx
$LN124@Draw:
  0065b	85 c9		 test	 ecx, ecx
  0065d	74 0b		 je	 SHORT $LN102@Draw
  0065f	8b 55 cc	 mov	 edx, DWORD PTR _this$[ebp]
  00662	8a 42 21	 mov	 al, BYTE PTR [edx+33]
  00665	88 45 bf	 mov	 BYTE PTR tv318[ebp], al
  00668	eb 09		 jmp	 SHORT $LN103@Draw
$LN102@Draw:
  0066a	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  0066d	8a 51 20	 mov	 dl, BYTE PTR [ecx+32]
  00670	88 55 bf	 mov	 BYTE PTR tv318[ebp], dl
$LN103@Draw:
  00673	8b 45 d0	 mov	 eax, DWORD PTR _j$[ebp]
  00676	8b 4d e8	 mov	 ecx, DWORD PTR _buf$[ebp]
  00679	8a 55 bf	 mov	 dl, BYTE PTR tv318[ebp]
  0067c	88 54 41 01	 mov	 BYTE PTR [ecx+eax*2+1], dl

; 600  :                 }
; 601  :                 else

  00680	eb 43		 jmp	 SHORT $LN23@Draw
$LN24@Draw:

; 602  :                 {
; 603  :                     buf[j*2  ] = ref_Y_val;

  00682	8b 45 d0	 mov	 eax, DWORD PTR _j$[ebp]
  00685	8b 4d e8	 mov	 ecx, DWORD PTR _buf$[ebp]
  00688	8b 55 cc	 mov	 edx, DWORD PTR _this$[ebp]
  0068b	8a 52 08	 mov	 dl, BYTE PTR [edx+8]
  0068e	88 14 41	 mov	 BYTE PTR [ecx+eax*2], dl

; 604  :                     buf[j*2+1] = (j%2) ? ref_V_val : ref_U_val;

  00691	8b 45 d0	 mov	 eax, DWORD PTR _j$[ebp]
  00694	25 01 00 00 80	 and	 eax, -2147483647	; 80000001H
  00699	79 05		 jns	 SHORT $LN125@Draw
  0069b	48		 dec	 eax
  0069c	83 c8 fe	 or	 eax, -2			; fffffffeH
  0069f	40		 inc	 eax
$LN125@Draw:
  006a0	85 c0		 test	 eax, eax
  006a2	74 0b		 je	 SHORT $LN104@Draw
  006a4	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  006a7	8a 51 0a	 mov	 dl, BYTE PTR [ecx+10]
  006aa	88 55 be	 mov	 BYTE PTR tv329[ebp], dl
  006ad	eb 09		 jmp	 SHORT $LN105@Draw
$LN104@Draw:
  006af	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  006b2	8a 48 09	 mov	 cl, BYTE PTR [eax+9]
  006b5	88 4d be	 mov	 BYTE PTR tv329[ebp], cl
$LN105@Draw:
  006b8	8b 55 d0	 mov	 edx, DWORD PTR _j$[ebp]
  006bb	8b 45 e8	 mov	 eax, DWORD PTR _buf$[ebp]
  006be	8a 4d be	 mov	 cl, BYTE PTR tv329[ebp]
  006c1	88 4c 50 01	 mov	 BYTE PTR [eax+edx*2+1], cl
$LN23@Draw:

; 605  :                 }
; 606  :             }

  006c5	e9 1a ff ff ff	 jmp	 $LN26@Draw
$LN25@Draw:

; 607  :         }

  006ca	e9 eb fe ff ff	 jmp	 $LN29@Draw
$LN28@Draw:

; 608  :         break;

  006cf	e9 e6 01 00 00	 jmp	 $LN84@Draw
$LN22@Draw:

; 609  : 
; 610  :     case DRAW_FILLED:
; 611  :         for (i = top ; i <= bottom ; i++)

  006d4	8b 55 dc	 mov	 edx, DWORD PTR _top$[ebp]
  006d7	89 55 f4	 mov	 DWORD PTR _i$[ebp], edx
  006da	eb 09		 jmp	 SHORT $LN21@Draw
$LN20@Draw:
  006dc	8b 45 f4	 mov	 eax, DWORD PTR _i$[ebp]
  006df	83 c0 01	 add	 eax, 1
  006e2	89 45 f4	 mov	 DWORD PTR _i$[ebp], eax
$LN21@Draw:
  006e5	8b 4d f4	 mov	 ecx, DWORD PTR _i$[ebp]
  006e8	3b 4d f8	 cmp	 ecx, DWORD PTR _bottom$[ebp]
  006eb	7f 6d		 jg	 SHORT $LN19@Draw

; 612  :         {
; 613  :             buf = Buffer + (i * Pitch);

  006ed	8b 55 f4	 mov	 edx, DWORD PTR _i$[ebp]
  006f0	0f af 55 0c	 imul	 edx, DWORD PTR _Pitch$[ebp]
  006f4	03 55 08	 add	 edx, DWORD PTR _Buffer$[ebp]
  006f7	89 55 e8	 mov	 DWORD PTR _buf$[ebp], edx

; 614  :             for (j = left ; j <= right ; j++)

  006fa	8b 45 ec	 mov	 eax, DWORD PTR _left$[ebp]
  006fd	89 45 d0	 mov	 DWORD PTR _j$[ebp], eax
  00700	eb 09		 jmp	 SHORT $LN18@Draw
$LN17@Draw:
  00702	8b 4d d0	 mov	 ecx, DWORD PTR _j$[ebp]
  00705	83 c1 01	 add	 ecx, 1
  00708	89 4d d0	 mov	 DWORD PTR _j$[ebp], ecx
$LN18@Draw:
  0070b	8b 55 d0	 mov	 edx, DWORD PTR _j$[ebp]
  0070e	3b 55 e4	 cmp	 edx, DWORD PTR _right$[ebp]
  00711	7f 45		 jg	 SHORT $LN16@Draw

; 615  :             {
; 616  :                 buf[j*2  ] = ref_Y_val;

  00713	8b 45 d0	 mov	 eax, DWORD PTR _j$[ebp]
  00716	8b 4d e8	 mov	 ecx, DWORD PTR _buf$[ebp]
  00719	8b 55 cc	 mov	 edx, DWORD PTR _this$[ebp]
  0071c	8a 52 08	 mov	 dl, BYTE PTR [edx+8]
  0071f	88 14 41	 mov	 BYTE PTR [ecx+eax*2], dl

; 617  :                 buf[j*2+1] = (j % 2) ? ref_V_val : ref_U_val;

  00722	8b 45 d0	 mov	 eax, DWORD PTR _j$[ebp]
  00725	25 01 00 00 80	 and	 eax, -2147483647	; 80000001H
  0072a	79 05		 jns	 SHORT $LN126@Draw
  0072c	48		 dec	 eax
  0072d	83 c8 fe	 or	 eax, -2			; fffffffeH
  00730	40		 inc	 eax
$LN126@Draw:
  00731	85 c0		 test	 eax, eax
  00733	74 0b		 je	 SHORT $LN106@Draw
  00735	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00738	8a 51 0a	 mov	 dl, BYTE PTR [ecx+10]
  0073b	88 55 bd	 mov	 BYTE PTR tv346[ebp], dl
  0073e	eb 09		 jmp	 SHORT $LN107@Draw
$LN106@Draw:
  00740	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  00743	8a 48 09	 mov	 cl, BYTE PTR [eax+9]
  00746	88 4d bd	 mov	 BYTE PTR tv346[ebp], cl
$LN107@Draw:
  00749	8b 55 d0	 mov	 edx, DWORD PTR _j$[ebp]
  0074c	8b 45 e8	 mov	 eax, DWORD PTR _buf$[ebp]
  0074f	8a 4d bd	 mov	 cl, BYTE PTR tv346[ebp]
  00752	88 4c 50 01	 mov	 BYTE PTR [eax+edx*2+1], cl

; 618  :             }

  00756	eb aa		 jmp	 SHORT $LN17@Draw
$LN16@Draw:

; 619  :         }

  00758	eb 82		 jmp	 SHORT $LN20@Draw
$LN19@Draw:

; 620  :         break;

  0075a	e9 5b 01 00 00	 jmp	 $LN84@Draw
$LN15@Draw:

; 621  : 
; 622  :     case DRAW_GRADATIONH:
; 623  :         for (i = top ; i <= bottom ; i++)

  0075f	8b 55 dc	 mov	 edx, DWORD PTR _top$[ebp]
  00762	89 55 f4	 mov	 DWORD PTR _i$[ebp], edx
  00765	eb 09		 jmp	 SHORT $LN14@Draw
$LN13@Draw:
  00767	8b 45 f4	 mov	 eax, DWORD PTR _i$[ebp]
  0076a	83 c0 01	 add	 eax, 1
  0076d	89 45 f4	 mov	 DWORD PTR _i$[ebp], eax
$LN14@Draw:
  00770	8b 4d f4	 mov	 ecx, DWORD PTR _i$[ebp]
  00773	3b 4d f8	 cmp	 ecx, DWORD PTR _bottom$[ebp]
  00776	0f 8f 8e 00 00
	00		 jg	 $LN12@Draw

; 624  :         {
; 625  :             buf = Buffer + (i * Pitch);

  0077c	8b 55 f4	 mov	 edx, DWORD PTR _i$[ebp]
  0077f	0f af 55 0c	 imul	 edx, DWORD PTR _Pitch$[ebp]
  00783	03 55 08	 add	 edx, DWORD PTR _Buffer$[ebp]
  00786	89 55 e8	 mov	 DWORD PTR _buf$[ebp], edx

; 626  :             for (j = left ; j <= right ; j++)

  00789	8b 45 ec	 mov	 eax, DWORD PTR _left$[ebp]
  0078c	89 45 d0	 mov	 DWORD PTR _j$[ebp], eax
  0078f	eb 09		 jmp	 SHORT $LN11@Draw
$LN10@Draw:
  00791	8b 4d d0	 mov	 ecx, DWORD PTR _j$[ebp]
  00794	83 c1 01	 add	 ecx, 1
  00797	89 4d d0	 mov	 DWORD PTR _j$[ebp], ecx
$LN11@Draw:
  0079a	8b 55 d0	 mov	 edx, DWORD PTR _j$[ebp]
  0079d	3b 55 e4	 cmp	 edx, DWORD PTR _right$[ebp]
  007a0	7f 63		 jg	 SHORT $LN9@Draw

; 627  :             {
; 628  :                 buf[j*2  ] = (m_Param2Draw - m_Param1Draw) * (j - left) / (right - left) + m_Param1Draw;

  007a2	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  007a5	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  007a8	8b 40 30	 mov	 eax, DWORD PTR [eax+48]
  007ab	2b 41 2c	 sub	 eax, DWORD PTR [ecx+44]
  007ae	8b 55 d0	 mov	 edx, DWORD PTR _j$[ebp]
  007b1	2b 55 ec	 sub	 edx, DWORD PTR _left$[ebp]
  007b4	0f af c2	 imul	 eax, edx
  007b7	8b 4d e4	 mov	 ecx, DWORD PTR _right$[ebp]
  007ba	2b 4d ec	 sub	 ecx, DWORD PTR _left$[ebp]
  007bd	99		 cdq
  007be	f7 f9		 idiv	 ecx
  007c0	8b 55 cc	 mov	 edx, DWORD PTR _this$[ebp]
  007c3	03 42 2c	 add	 eax, DWORD PTR [edx+44]
  007c6	8b 4d d0	 mov	 ecx, DWORD PTR _j$[ebp]
  007c9	8b 55 e8	 mov	 edx, DWORD PTR _buf$[ebp]
  007cc	88 04 4a	 mov	 BYTE PTR [edx+ecx*2], al

; 629  :                 buf[j*2+1] = (j % 2) ? ref_V_val : ref_U_val;

  007cf	8b 45 d0	 mov	 eax, DWORD PTR _j$[ebp]
  007d2	25 01 00 00 80	 and	 eax, -2147483647	; 80000001H
  007d7	79 05		 jns	 SHORT $LN127@Draw
  007d9	48		 dec	 eax
  007da	83 c8 fe	 or	 eax, -2			; fffffffeH
  007dd	40		 inc	 eax
$LN127@Draw:
  007de	85 c0		 test	 eax, eax
  007e0	74 0b		 je	 SHORT $LN108@Draw
  007e2	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  007e5	8a 51 0a	 mov	 dl, BYTE PTR [ecx+10]
  007e8	88 55 bc	 mov	 BYTE PTR tv372[ebp], dl
  007eb	eb 09		 jmp	 SHORT $LN109@Draw
$LN108@Draw:
  007ed	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  007f0	8a 48 09	 mov	 cl, BYTE PTR [eax+9]
  007f3	88 4d bc	 mov	 BYTE PTR tv372[ebp], cl
$LN109@Draw:
  007f6	8b 55 d0	 mov	 edx, DWORD PTR _j$[ebp]
  007f9	8b 45 e8	 mov	 eax, DWORD PTR _buf$[ebp]
  007fc	8a 4d bc	 mov	 cl, BYTE PTR tv372[ebp]
  007ff	88 4c 50 01	 mov	 BYTE PTR [eax+edx*2+1], cl

; 630  :             }

  00803	eb 8c		 jmp	 SHORT $LN10@Draw
$LN9@Draw:

; 631  :         }

  00805	e9 5d ff ff ff	 jmp	 $LN13@Draw
$LN12@Draw:

; 632  :         break;

  0080a	e9 ab 00 00 00	 jmp	 $LN84@Draw
$LN8@Draw:

; 633  : 
; 634  :     case DRAW_GRADATIONV:
; 635  :         for (i = top ; i <= bottom ; i++)

  0080f	8b 55 dc	 mov	 edx, DWORD PTR _top$[ebp]
  00812	89 55 f4	 mov	 DWORD PTR _i$[ebp], edx
  00815	eb 09		 jmp	 SHORT $LN7@Draw
$LN6@Draw:
  00817	8b 45 f4	 mov	 eax, DWORD PTR _i$[ebp]
  0081a	83 c0 01	 add	 eax, 1
  0081d	89 45 f4	 mov	 DWORD PTR _i$[ebp], eax
$LN7@Draw:
  00820	8b 4d f4	 mov	 ecx, DWORD PTR _i$[ebp]
  00823	3b 4d f8	 cmp	 ecx, DWORD PTR _bottom$[ebp]
  00826	0f 8f 8e 00 00
	00		 jg	 $LN84@Draw

; 636  :         {
; 637  :             buf = Buffer + (i * Pitch);

  0082c	8b 55 f4	 mov	 edx, DWORD PTR _i$[ebp]
  0082f	0f af 55 0c	 imul	 edx, DWORD PTR _Pitch$[ebp]
  00833	03 55 08	 add	 edx, DWORD PTR _Buffer$[ebp]
  00836	89 55 e8	 mov	 DWORD PTR _buf$[ebp], edx

; 638  :             for (j = left ; j <= right ; j++)

  00839	8b 45 ec	 mov	 eax, DWORD PTR _left$[ebp]
  0083c	89 45 d0	 mov	 DWORD PTR _j$[ebp], eax
  0083f	eb 09		 jmp	 SHORT $LN4@Draw
$LN3@Draw:
  00841	8b 4d d0	 mov	 ecx, DWORD PTR _j$[ebp]
  00844	83 c1 01	 add	 ecx, 1
  00847	89 4d d0	 mov	 DWORD PTR _j$[ebp], ecx
$LN4@Draw:
  0084a	8b 55 d0	 mov	 edx, DWORD PTR _j$[ebp]
  0084d	3b 55 e4	 cmp	 edx, DWORD PTR _right$[ebp]
  00850	7f 63		 jg	 SHORT $LN2@Draw

; 639  :             {
; 640  :                 buf[j*2  ] = (m_Param2Draw - m_Param1Draw) * (i - top) / (bottom - top) + m_Param1Draw;

  00852	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  00855	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00858	8b 40 30	 mov	 eax, DWORD PTR [eax+48]
  0085b	2b 41 2c	 sub	 eax, DWORD PTR [ecx+44]
  0085e	8b 55 f4	 mov	 edx, DWORD PTR _i$[ebp]
  00861	2b 55 dc	 sub	 edx, DWORD PTR _top$[ebp]
  00864	0f af c2	 imul	 eax, edx
  00867	8b 4d f8	 mov	 ecx, DWORD PTR _bottom$[ebp]
  0086a	2b 4d dc	 sub	 ecx, DWORD PTR _top$[ebp]
  0086d	99		 cdq
  0086e	f7 f9		 idiv	 ecx
  00870	8b 55 cc	 mov	 edx, DWORD PTR _this$[ebp]
  00873	03 42 2c	 add	 eax, DWORD PTR [edx+44]
  00876	8b 4d d0	 mov	 ecx, DWORD PTR _j$[ebp]
  00879	8b 55 e8	 mov	 edx, DWORD PTR _buf$[ebp]
  0087c	88 04 4a	 mov	 BYTE PTR [edx+ecx*2], al

; 641  :                 buf[j*2+1] = (j % 2) ? ref_V_val : ref_U_val;

  0087f	8b 45 d0	 mov	 eax, DWORD PTR _j$[ebp]
  00882	25 01 00 00 80	 and	 eax, -2147483647	; 80000001H
  00887	79 05		 jns	 SHORT $LN128@Draw
  00889	48		 dec	 eax
  0088a	83 c8 fe	 or	 eax, -2			; fffffffeH
  0088d	40		 inc	 eax
$LN128@Draw:
  0088e	85 c0		 test	 eax, eax
  00890	74 0b		 je	 SHORT $LN110@Draw
  00892	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00895	8a 51 0a	 mov	 dl, BYTE PTR [ecx+10]
  00898	88 55 bb	 mov	 BYTE PTR tv398[ebp], dl
  0089b	eb 09		 jmp	 SHORT $LN111@Draw
$LN110@Draw:
  0089d	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  008a0	8a 48 09	 mov	 cl, BYTE PTR [eax+9]
  008a3	88 4d bb	 mov	 BYTE PTR tv398[ebp], cl
$LN111@Draw:
  008a6	8b 55 d0	 mov	 edx, DWORD PTR _j$[ebp]
  008a9	8b 45 e8	 mov	 eax, DWORD PTR _buf$[ebp]
  008ac	8a 4d bb	 mov	 cl, BYTE PTR tv398[ebp]
  008af	88 4c 50 01	 mov	 BYTE PTR [eax+edx*2+1], cl

; 642  :             }

  008b3	eb 8c		 jmp	 SHORT $LN3@Draw
$LN2@Draw:

; 643  :         }

  008b5	e9 5d ff ff ff	 jmp	 $LN6@Draw
$LN84@Draw:

; 644  :         break;
; 645  : 
; 646  :     default:
; 647  :         break;
; 648  :     }
; 649  : }

  008ba	8b e5		 mov	 esp, ebp
  008bc	5d		 pop	 ebp
  008bd	c2 1c 00	 ret	 28			; 0000001cH
$LN129@Draw:
  008c0	00 00 00 00	 DD	 $LN68@Draw
  008c4	00 00 00 00	 DD	 $LN22@Draw
  008c8	00 00 00 00	 DD	 $LN49@Draw
  008cc	00 00 00 00	 DD	 $LN40@Draw
  008d0	00 00 00 00	 DD	 $LN31@Draw
  008d4	00 00 00 00	 DD	 $LN15@Draw
  008d8	00 00 00 00	 DD	 $LN8@Draw
?Draw@CColorBar@@QAEXPAEHHHHHH@Z ENDP			; CColorBar::Draw
_TEXT	ENDS
PUBLIC	?GetMaxColor@CColorBar@@QAEHPAE00@Z		; CColorBar::GetMaxColor
; Function compile flags: /Odtp
;	COMDAT ?GetMaxColor@CColorBar@@QAEHPAE00@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_pY$ = 8						; size = 4
_pU$ = 12						; size = 4
_pV$ = 16						; size = 4
?GetMaxColor@CColorBar@@QAEHPAE00@Z PROC		; CColorBar::GetMaxColor, COMDAT
; _this$ = ecx

; 445  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 446  :     if (max_available)

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	83 78 4c 00	 cmp	 DWORD PTR [eax+76], 0
  0000e	74 2a		 je	 SHORT $LN2@GetMaxColo

; 447  :     {
; 448  :         *pY = component_max[2];

  00010	8b 4d 08	 mov	 ecx, DWORD PTR _pY$[ebp]
  00013	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00016	8a 42 52	 mov	 al, BYTE PTR [edx+82]
  00019	88 01		 mov	 BYTE PTR [ecx], al

; 449  :         *pU = component_max[0];

  0001b	8b 4d 0c	 mov	 ecx, DWORD PTR _pU$[ebp]
  0001e	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00021	8a 42 50	 mov	 al, BYTE PTR [edx+80]
  00024	88 01		 mov	 BYTE PTR [ecx], al

; 450  :         *pV = component_max[1];

  00026	8b 4d 10	 mov	 ecx, DWORD PTR _pV$[ebp]
  00029	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  0002c	8a 42 51	 mov	 al, BYTE PTR [edx+81]
  0002f	88 01		 mov	 BYTE PTR [ecx], al

; 451  :         return TRUE;

  00031	b8 01 00 00 00	 mov	 eax, 1
  00036	eb 04		 jmp	 SHORT $LN3@GetMaxColo

; 452  :     }
; 453  :     else

  00038	eb 02		 jmp	 SHORT $LN3@GetMaxColo
$LN2@GetMaxColo:

; 454  :     {
; 455  :         return FALSE;

  0003a	33 c0		 xor	 eax, eax
$LN3@GetMaxColo:

; 456  :     }
; 457  : }

  0003c	8b e5		 mov	 esp, ebp
  0003e	5d		 pop	 ebp
  0003f	c2 0c 00	 ret	 12			; 0000000cH
?GetMaxColor@CColorBar@@QAEHPAE00@Z ENDP		; CColorBar::GetMaxColor
_TEXT	ENDS
PUBLIC	?GetMinColor@CColorBar@@QAEHPAE00@Z		; CColorBar::GetMinColor
; Function compile flags: /Odtp
;	COMDAT ?GetMinColor@CColorBar@@QAEHPAE00@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_pY$ = 8						; size = 4
_pU$ = 12						; size = 4
_pV$ = 16						; size = 4
?GetMinColor@CColorBar@@QAEHPAE00@Z PROC		; CColorBar::GetMinColor, COMDAT
; _this$ = ecx

; 430  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 431  :     if (min_available)

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	83 78 44 00	 cmp	 DWORD PTR [eax+68], 0
  0000e	74 2a		 je	 SHORT $LN2@GetMinColo

; 432  :     {
; 433  :         *pY = component_min[2];

  00010	8b 4d 08	 mov	 ecx, DWORD PTR _pY$[ebp]
  00013	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00016	8a 42 4a	 mov	 al, BYTE PTR [edx+74]
  00019	88 01		 mov	 BYTE PTR [ecx], al

; 434  :         *pU = component_min[0];

  0001b	8b 4d 0c	 mov	 ecx, DWORD PTR _pU$[ebp]
  0001e	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00021	8a 42 48	 mov	 al, BYTE PTR [edx+72]
  00024	88 01		 mov	 BYTE PTR [ecx], al

; 435  :         *pV = component_min[1];

  00026	8b 4d 10	 mov	 ecx, DWORD PTR _pV$[ebp]
  00029	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  0002c	8a 42 49	 mov	 al, BYTE PTR [edx+73]
  0002f	88 01		 mov	 BYTE PTR [ecx], al

; 436  :         return TRUE;

  00031	b8 01 00 00 00	 mov	 eax, 1
  00036	eb 04		 jmp	 SHORT $LN3@GetMinColo

; 437  :     }
; 438  :     else

  00038	eb 02		 jmp	 SHORT $LN3@GetMinColo
$LN2@GetMinColo:

; 439  :     {
; 440  :         return FALSE;

  0003a	33 c0		 xor	 eax, eax
$LN3@GetMinColo:

; 441  :     }
; 442  : }

  0003c	8b e5		 mov	 esp, ebp
  0003e	5d		 pop	 ebp
  0003f	c2 0c 00	 ret	 12			; 0000000cH
?GetMinColor@CColorBar@@QAEHPAE00@Z ENDP		; CColorBar::GetMinColor
_TEXT	ENDS
PUBLIC	?GetDeltaColor@CColorBar@@QAEHHPAH000@Z		; CColorBar::GetDeltaColor
; Function compile flags: /Odtp
;	COMDAT ?GetDeltaColor@CColorBar@@QAEHHPAH000@Z
_TEXT	SEGMENT
tv180 = -16						; size = 4
tv176 = -12						; size = 4
tv172 = -8						; size = 4
_this$ = -4						; size = 4
_YUV$ = 8						; size = 4
_pR_Y$ = 12						; size = 4
_pG_U$ = 16						; size = 4
_pB_V$ = 20						; size = 4
_pTotal$ = 24						; size = 4
?GetDeltaColor@CColorBar@@QAEHHPAH000@Z PROC		; CColorBar::GetDeltaColor, COMDAT
; _this$ = ecx

; 238  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 10	 sub	 esp, 16			; 00000010H
  00006	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 239  :     if (YUV && !YUV_val_available && RGB_val_available)

  00009	83 7d 08 00	 cmp	 DWORD PTR _YUV$[ebp], 0
  0000d	74 53		 je	 SHORT $LN7@GetDeltaCo
  0000f	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00012	83 78 10 00	 cmp	 DWORD PTR [eax+16], 0
  00016	75 4a		 jne	 SHORT $LN7@GetDeltaCo
  00018	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0001b	83 79 18 00	 cmp	 DWORD PTR [ecx+24], 0
  0001f	74 41		 je	 SHORT $LN7@GetDeltaCo

; 240  :     {
; 241  :         RGB2YUV(R_val, G_val, B_val, &Y_val, &U_val, &V_val);

  00021	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00024	83 c2 16	 add	 edx, 22			; 00000016H
  00027	52		 push	 edx
  00028	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0002b	83 c0 15	 add	 eax, 21			; 00000015H
  0002e	50		 push	 eax
  0002f	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00032	83 c1 14	 add	 ecx, 20			; 00000014H
  00035	51		 push	 ecx
  00036	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00039	0f b6 42 1e	 movzx	 eax, BYTE PTR [edx+30]
  0003d	50		 push	 eax
  0003e	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00041	0f b6 51 1d	 movzx	 edx, BYTE PTR [ecx+29]
  00045	52		 push	 edx
  00046	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00049	0f b6 48 1c	 movzx	 ecx, BYTE PTR [eax+28]
  0004d	51		 push	 ecx
  0004e	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00051	e8 00 00 00 00	 call	 ?RGB2YUV@CColorBar@@AAEXEEEPAE00@Z ; CColorBar::RGB2YUV

; 242  :         YUV_val_available = TRUE;

  00056	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00059	c7 42 10 01 00
	00 00		 mov	 DWORD PTR [edx+16], 1
  00060	eb 57		 jmp	 SHORT $LN6@GetDeltaCo
$LN7@GetDeltaCo:

; 243  :     }
; 244  :     else if (!YUV && !RGB_val_available && YUV_val_available)

  00062	83 7d 08 00	 cmp	 DWORD PTR _YUV$[ebp], 0
  00066	75 51		 jne	 SHORT $LN6@GetDeltaCo
  00068	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0006b	83 78 18 00	 cmp	 DWORD PTR [eax+24], 0
  0006f	75 48		 jne	 SHORT $LN6@GetDeltaCo
  00071	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00074	83 79 10 00	 cmp	 DWORD PTR [ecx+16], 0
  00078	74 3f		 je	 SHORT $LN6@GetDeltaCo

; 245  :     {
; 246  :         YUV2RGB(Y_val, U_val, V_val, &R_val, &G_val, &B_val);

  0007a	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  0007d	83 c2 1e	 add	 edx, 30			; 0000001eH
  00080	52		 push	 edx
  00081	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00084	83 c0 1d	 add	 eax, 29			; 0000001dH
  00087	50		 push	 eax
  00088	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0008b	83 c1 1c	 add	 ecx, 28			; 0000001cH
  0008e	51		 push	 ecx
  0008f	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00092	0f b6 42 16	 movzx	 eax, BYTE PTR [edx+22]
  00096	50		 push	 eax
  00097	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0009a	0f b6 51 15	 movzx	 edx, BYTE PTR [ecx+21]
  0009e	52		 push	 edx
  0009f	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  000a2	0f b6 48 14	 movzx	 ecx, BYTE PTR [eax+20]
  000a6	51		 push	 ecx
  000a7	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000aa	e8 00 00 00 00	 call	 ?YUV2RGB@CColorBar@@AAEXEEEPAE00@Z ; CColorBar::YUV2RGB

; 247  :         RGB_val_available = TRUE;

  000af	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  000b2	c7 42 18 01 00
	00 00		 mov	 DWORD PTR [edx+24], 1
$LN6@GetDeltaCo:

; 248  :     }
; 249  : 
; 250  :     if (YUV && YUV_val_available)

  000b9	83 7d 08 00	 cmp	 DWORD PTR _YUV$[ebp], 0
  000bd	74 4a		 je	 SHORT $LN4@GetDeltaCo
  000bf	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  000c2	83 78 10 00	 cmp	 DWORD PTR [eax+16], 0
  000c6	74 41		 je	 SHORT $LN4@GetDeltaCo

; 251  :     {
; 252  :         *pR_Y = Y_val - ref_Y_val;

  000c8	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000cb	0f b6 51 14	 movzx	 edx, BYTE PTR [ecx+20]
  000cf	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  000d2	0f b6 48 08	 movzx	 ecx, BYTE PTR [eax+8]
  000d6	2b d1		 sub	 edx, ecx
  000d8	8b 45 0c	 mov	 eax, DWORD PTR _pR_Y$[ebp]
  000db	89 10		 mov	 DWORD PTR [eax], edx

; 253  :         *pG_U = U_val - ref_U_val;

  000dd	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000e0	0f b6 51 15	 movzx	 edx, BYTE PTR [ecx+21]
  000e4	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  000e7	0f b6 48 09	 movzx	 ecx, BYTE PTR [eax+9]
  000eb	2b d1		 sub	 edx, ecx
  000ed	8b 45 10	 mov	 eax, DWORD PTR _pG_U$[ebp]
  000f0	89 10		 mov	 DWORD PTR [eax], edx

; 254  :         *pB_V = V_val - ref_V_val;

  000f2	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000f5	0f b6 51 16	 movzx	 edx, BYTE PTR [ecx+22]
  000f9	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  000fc	0f b6 48 0a	 movzx	 ecx, BYTE PTR [eax+10]
  00100	2b d1		 sub	 edx, ecx
  00102	8b 45 14	 mov	 eax, DWORD PTR _pB_V$[ebp]
  00105	89 10		 mov	 DWORD PTR [eax], edx
  00107	eb 57		 jmp	 SHORT $LN3@GetDeltaCo
$LN4@GetDeltaCo:

; 255  :     }
; 256  :     else if (!YUV && RGB_val_available)

  00109	83 7d 08 00	 cmp	 DWORD PTR _YUV$[ebp], 0
  0010d	75 4a		 jne	 SHORT $LN2@GetDeltaCo
  0010f	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00112	83 79 18 00	 cmp	 DWORD PTR [ecx+24], 0
  00116	74 41		 je	 SHORT $LN2@GetDeltaCo

; 257  :     {
; 258  :         *pR_Y = R_val - ref_R_val;

  00118	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  0011b	0f b6 42 1c	 movzx	 eax, BYTE PTR [edx+28]
  0011f	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00122	0f b6 51 0b	 movzx	 edx, BYTE PTR [ecx+11]
  00126	2b c2		 sub	 eax, edx
  00128	8b 4d 0c	 mov	 ecx, DWORD PTR _pR_Y$[ebp]
  0012b	89 01		 mov	 DWORD PTR [ecx], eax

; 259  :         *pG_U = G_val - ref_G_val;

  0012d	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00130	0f b6 42 1d	 movzx	 eax, BYTE PTR [edx+29]
  00134	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00137	0f b6 51 0c	 movzx	 edx, BYTE PTR [ecx+12]
  0013b	2b c2		 sub	 eax, edx
  0013d	8b 4d 10	 mov	 ecx, DWORD PTR _pG_U$[ebp]
  00140	89 01		 mov	 DWORD PTR [ecx], eax

; 260  :         *pB_V = B_val - ref_B_val;

  00142	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00145	0f b6 42 1e	 movzx	 eax, BYTE PTR [edx+30]
  00149	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0014c	0f b6 51 0d	 movzx	 edx, BYTE PTR [ecx+13]
  00150	2b c2		 sub	 eax, edx
  00152	8b 4d 14	 mov	 ecx, DWORD PTR _pB_V$[ebp]
  00155	89 01		 mov	 DWORD PTR [ecx], eax

; 261  :     }
; 262  :     else

  00157	eb 07		 jmp	 SHORT $LN3@GetDeltaCo
$LN2@GetDeltaCo:

; 263  :     {
; 264  :         return FALSE;

  00159	33 c0		 xor	 eax, eax
  0015b	e9 89 00 00 00	 jmp	 $LN8@GetDeltaCo
$LN3@GetDeltaCo:

; 265  :     }
; 266  : 
; 267  :     *pTotal = 0;

  00160	8b 55 18	 mov	 edx, DWORD PTR _pTotal$[ebp]
  00163	c7 02 00 00 00
	00		 mov	 DWORD PTR [edx], 0

; 268  :     *pTotal += ABSOLUTE_VALUE(*pR_Y);

  00169	8b 45 0c	 mov	 eax, DWORD PTR _pR_Y$[ebp]
  0016c	83 38 00	 cmp	 DWORD PTR [eax], 0
  0016f	7d 0c		 jge	 SHORT $LN10@GetDeltaCo
  00171	8b 4d 0c	 mov	 ecx, DWORD PTR _pR_Y$[ebp]
  00174	8b 11		 mov	 edx, DWORD PTR [ecx]
  00176	f7 da		 neg	 edx
  00178	89 55 f8	 mov	 DWORD PTR tv172[ebp], edx
  0017b	eb 08		 jmp	 SHORT $LN11@GetDeltaCo
$LN10@GetDeltaCo:
  0017d	8b 45 0c	 mov	 eax, DWORD PTR _pR_Y$[ebp]
  00180	8b 08		 mov	 ecx, DWORD PTR [eax]
  00182	89 4d f8	 mov	 DWORD PTR tv172[ebp], ecx
$LN11@GetDeltaCo:
  00185	8b 55 18	 mov	 edx, DWORD PTR _pTotal$[ebp]
  00188	8b 02		 mov	 eax, DWORD PTR [edx]
  0018a	03 45 f8	 add	 eax, DWORD PTR tv172[ebp]
  0018d	8b 4d 18	 mov	 ecx, DWORD PTR _pTotal$[ebp]
  00190	89 01		 mov	 DWORD PTR [ecx], eax

; 269  :     *pTotal += ABSOLUTE_VALUE(*pG_U);

  00192	8b 55 10	 mov	 edx, DWORD PTR _pG_U$[ebp]
  00195	83 3a 00	 cmp	 DWORD PTR [edx], 0
  00198	7d 0c		 jge	 SHORT $LN12@GetDeltaCo
  0019a	8b 45 10	 mov	 eax, DWORD PTR _pG_U$[ebp]
  0019d	8b 08		 mov	 ecx, DWORD PTR [eax]
  0019f	f7 d9		 neg	 ecx
  001a1	89 4d f4	 mov	 DWORD PTR tv176[ebp], ecx
  001a4	eb 08		 jmp	 SHORT $LN13@GetDeltaCo
$LN12@GetDeltaCo:
  001a6	8b 55 10	 mov	 edx, DWORD PTR _pG_U$[ebp]
  001a9	8b 02		 mov	 eax, DWORD PTR [edx]
  001ab	89 45 f4	 mov	 DWORD PTR tv176[ebp], eax
$LN13@GetDeltaCo:
  001ae	8b 4d 18	 mov	 ecx, DWORD PTR _pTotal$[ebp]
  001b1	8b 11		 mov	 edx, DWORD PTR [ecx]
  001b3	03 55 f4	 add	 edx, DWORD PTR tv176[ebp]
  001b6	8b 45 18	 mov	 eax, DWORD PTR _pTotal$[ebp]
  001b9	89 10		 mov	 DWORD PTR [eax], edx

; 270  :     *pTotal += ABSOLUTE_VALUE(*pB_V);

  001bb	8b 4d 14	 mov	 ecx, DWORD PTR _pB_V$[ebp]
  001be	83 39 00	 cmp	 DWORD PTR [ecx], 0
  001c1	7d 0c		 jge	 SHORT $LN14@GetDeltaCo
  001c3	8b 55 14	 mov	 edx, DWORD PTR _pB_V$[ebp]
  001c6	8b 02		 mov	 eax, DWORD PTR [edx]
  001c8	f7 d8		 neg	 eax
  001ca	89 45 f0	 mov	 DWORD PTR tv180[ebp], eax
  001cd	eb 08		 jmp	 SHORT $LN15@GetDeltaCo
$LN14@GetDeltaCo:
  001cf	8b 4d 14	 mov	 ecx, DWORD PTR _pB_V$[ebp]
  001d2	8b 11		 mov	 edx, DWORD PTR [ecx]
  001d4	89 55 f0	 mov	 DWORD PTR tv180[ebp], edx
$LN15@GetDeltaCo:
  001d7	8b 45 18	 mov	 eax, DWORD PTR _pTotal$[ebp]
  001da	8b 08		 mov	 ecx, DWORD PTR [eax]
  001dc	03 4d f0	 add	 ecx, DWORD PTR tv180[ebp]
  001df	8b 55 18	 mov	 edx, DWORD PTR _pTotal$[ebp]
  001e2	89 0a		 mov	 DWORD PTR [edx], ecx

; 271  :     return TRUE;

  001e4	b8 01 00 00 00	 mov	 eax, 1
$LN8@GetDeltaCo:

; 272  : }

  001e9	8b e5		 mov	 esp, ebp
  001eb	5d		 pop	 ebp
  001ec	c2 14 00	 ret	 20			; 00000014H
?GetDeltaColor@CColorBar@@QAEHHPAH000@Z ENDP		; CColorBar::GetDeltaColor
_TEXT	ENDS
PUBLIC	?GetCurrentAvgColor@CColorBar@@QAEHHPAE00@Z	; CColorBar::GetCurrentAvgColor
; Function compile flags: /Odtp
;	COMDAT ?GetCurrentAvgColor@CColorBar@@QAEHHPAE00@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_YUV$ = 8						; size = 4
_pR_Y$ = 12						; size = 4
_pG_U$ = 16						; size = 4
_pB_V$ = 20						; size = 4
?GetCurrentAvgColor@CColorBar@@QAEHHPAE00@Z PROC	; CColorBar::GetCurrentAvgColor, COMDAT
; _this$ = ecx

; 202  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 203  :     if (YUV && !YUV_val_available && RGB_val_available)

  00007	83 7d 08 00	 cmp	 DWORD PTR _YUV$[ebp], 0
  0000b	74 53		 je	 SHORT $LN7@GetCurrent@2
  0000d	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00010	83 78 10 00	 cmp	 DWORD PTR [eax+16], 0
  00014	75 4a		 jne	 SHORT $LN7@GetCurrent@2
  00016	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00019	83 79 18 00	 cmp	 DWORD PTR [ecx+24], 0
  0001d	74 41		 je	 SHORT $LN7@GetCurrent@2

; 204  :     {
; 205  :         RGB2YUV(R_val, G_val, B_val, &Y_val, &U_val, &V_val);

  0001f	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00022	83 c2 16	 add	 edx, 22			; 00000016H
  00025	52		 push	 edx
  00026	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00029	83 c0 15	 add	 eax, 21			; 00000015H
  0002c	50		 push	 eax
  0002d	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00030	83 c1 14	 add	 ecx, 20			; 00000014H
  00033	51		 push	 ecx
  00034	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00037	0f b6 42 1e	 movzx	 eax, BYTE PTR [edx+30]
  0003b	50		 push	 eax
  0003c	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0003f	0f b6 51 1d	 movzx	 edx, BYTE PTR [ecx+29]
  00043	52		 push	 edx
  00044	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00047	0f b6 48 1c	 movzx	 ecx, BYTE PTR [eax+28]
  0004b	51		 push	 ecx
  0004c	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0004f	e8 00 00 00 00	 call	 ?RGB2YUV@CColorBar@@AAEXEEEPAE00@Z ; CColorBar::RGB2YUV

; 206  :         YUV_val_available = TRUE;

  00054	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00057	c7 42 10 01 00
	00 00		 mov	 DWORD PTR [edx+16], 1
  0005e	eb 57		 jmp	 SHORT $LN6@GetCurrent@2
$LN7@GetCurrent@2:

; 207  :     }
; 208  :     else if (!YUV && !RGB_val_available && YUV_val_available)

  00060	83 7d 08 00	 cmp	 DWORD PTR _YUV$[ebp], 0
  00064	75 51		 jne	 SHORT $LN6@GetCurrent@2
  00066	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00069	83 78 18 00	 cmp	 DWORD PTR [eax+24], 0
  0006d	75 48		 jne	 SHORT $LN6@GetCurrent@2
  0006f	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00072	83 79 10 00	 cmp	 DWORD PTR [ecx+16], 0
  00076	74 3f		 je	 SHORT $LN6@GetCurrent@2

; 209  :     {
; 210  :         YUV2RGB(Y_val, U_val, V_val, &R_val, &G_val, &B_val);

  00078	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  0007b	83 c2 1e	 add	 edx, 30			; 0000001eH
  0007e	52		 push	 edx
  0007f	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00082	83 c0 1d	 add	 eax, 29			; 0000001dH
  00085	50		 push	 eax
  00086	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00089	83 c1 1c	 add	 ecx, 28			; 0000001cH
  0008c	51		 push	 ecx
  0008d	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00090	0f b6 42 16	 movzx	 eax, BYTE PTR [edx+22]
  00094	50		 push	 eax
  00095	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00098	0f b6 51 15	 movzx	 edx, BYTE PTR [ecx+21]
  0009c	52		 push	 edx
  0009d	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  000a0	0f b6 48 14	 movzx	 ecx, BYTE PTR [eax+20]
  000a4	51		 push	 ecx
  000a5	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000a8	e8 00 00 00 00	 call	 ?YUV2RGB@CColorBar@@AAEXEEEPAE00@Z ; CColorBar::YUV2RGB

; 211  :         RGB_val_available = TRUE;

  000ad	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  000b0	c7 42 18 01 00
	00 00		 mov	 DWORD PTR [edx+24], 1
$LN6@GetCurrent@2:

; 212  :     }
; 213  : 
; 214  :     if (YUV && YUV_val_available)

  000b7	83 7d 08 00	 cmp	 DWORD PTR _YUV$[ebp], 0
  000bb	74 33		 je	 SHORT $LN4@GetCurrent@2
  000bd	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  000c0	83 78 10 00	 cmp	 DWORD PTR [eax+16], 0
  000c4	74 2a		 je	 SHORT $LN4@GetCurrent@2

; 215  :     {
; 216  :         *pR_Y = Y_val;

  000c6	8b 4d 0c	 mov	 ecx, DWORD PTR _pR_Y$[ebp]
  000c9	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  000cc	8a 42 14	 mov	 al, BYTE PTR [edx+20]
  000cf	88 01		 mov	 BYTE PTR [ecx], al

; 217  :         *pG_U = U_val;

  000d1	8b 4d 10	 mov	 ecx, DWORD PTR _pG_U$[ebp]
  000d4	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  000d7	8a 42 15	 mov	 al, BYTE PTR [edx+21]
  000da	88 01		 mov	 BYTE PTR [ecx], al

; 218  :         *pB_V = V_val;

  000dc	8b 4d 14	 mov	 ecx, DWORD PTR _pB_V$[ebp]
  000df	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  000e2	8a 42 16	 mov	 al, BYTE PTR [edx+22]
  000e5	88 01		 mov	 BYTE PTR [ecx], al

; 219  :         return TRUE;

  000e7	b8 01 00 00 00	 mov	 eax, 1
  000ec	eb 3d		 jmp	 SHORT $LN8@GetCurrent@2
  000ee	eb 3b		 jmp	 SHORT $LN8@GetCurrent@2
$LN4@GetCurrent@2:

; 220  :     }
; 221  :     else if (!YUV && RGB_val_available)

  000f0	83 7d 08 00	 cmp	 DWORD PTR _YUV$[ebp], 0
  000f4	75 33		 jne	 SHORT $LN2@GetCurrent@2
  000f6	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000f9	83 79 18 00	 cmp	 DWORD PTR [ecx+24], 0
  000fd	74 2a		 je	 SHORT $LN2@GetCurrent@2

; 222  :     {
; 223  :         *pR_Y = R_val;

  000ff	8b 55 0c	 mov	 edx, DWORD PTR _pR_Y$[ebp]
  00102	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00105	8a 48 1c	 mov	 cl, BYTE PTR [eax+28]
  00108	88 0a		 mov	 BYTE PTR [edx], cl

; 224  :         *pG_U = G_val;

  0010a	8b 55 10	 mov	 edx, DWORD PTR _pG_U$[ebp]
  0010d	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00110	8a 48 1d	 mov	 cl, BYTE PTR [eax+29]
  00113	88 0a		 mov	 BYTE PTR [edx], cl

; 225  :         *pB_V = B_val;

  00115	8b 55 14	 mov	 edx, DWORD PTR _pB_V$[ebp]
  00118	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0011b	8a 48 1e	 mov	 cl, BYTE PTR [eax+30]
  0011e	88 0a		 mov	 BYTE PTR [edx], cl

; 226  :         return TRUE;

  00120	b8 01 00 00 00	 mov	 eax, 1
  00125	eb 04		 jmp	 SHORT $LN8@GetCurrent@2

; 227  :     }
; 228  :     else

  00127	eb 02		 jmp	 SHORT $LN8@GetCurrent@2
$LN2@GetCurrent@2:

; 229  :     {
; 230  :         return FALSE;

  00129	33 c0		 xor	 eax, eax
$LN8@GetCurrent@2:

; 231  :     }
; 232  : }

  0012b	8b e5		 mov	 esp, ebp
  0012d	5d		 pop	 ebp
  0012e	c2 10 00	 ret	 16			; 00000010H
?GetCurrentAvgColor@CColorBar@@QAEHHPAE00@Z ENDP	; CColorBar::GetCurrentAvgColor
_TEXT	ENDS
PUBLIC	?GetRefColor2@CColorBar@@QAEXHPAE00@Z		; CColorBar::GetRefColor2
; Function compile flags: /Odtp
;	COMDAT ?GetRefColor2@CColorBar@@QAEXHPAE00@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_YUV$ = 8						; size = 4
_pR_Y$ = 12						; size = 4
_pG_U$ = 16						; size = 4
_pB_V$ = 20						; size = 4
?GetRefColor2@CColorBar@@QAEXHPAE00@Z PROC		; CColorBar::GetRefColor2, COMDAT
; _this$ = ecx

; 184  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 185  :     if (YUV)

  00007	83 7d 08 00	 cmp	 DWORD PTR _YUV$[ebp], 0
  0000b	74 23		 je	 SHORT $LN2@GetRefColo

; 186  :     {
; 187  :         *pR_Y = ref_Y_val2;

  0000d	8b 45 0c	 mov	 eax, DWORD PTR _pR_Y$[ebp]
  00010	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00013	8a 51 1f	 mov	 dl, BYTE PTR [ecx+31]
  00016	88 10		 mov	 BYTE PTR [eax], dl

; 188  :         *pG_U = ref_U_val2;

  00018	8b 45 10	 mov	 eax, DWORD PTR _pG_U$[ebp]
  0001b	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0001e	8a 51 20	 mov	 dl, BYTE PTR [ecx+32]
  00021	88 10		 mov	 BYTE PTR [eax], dl

; 189  :         *pB_V = ref_V_val2;

  00023	8b 45 14	 mov	 eax, DWORD PTR _pB_V$[ebp]
  00026	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00029	8a 51 21	 mov	 dl, BYTE PTR [ecx+33]
  0002c	88 10		 mov	 BYTE PTR [eax], dl

; 190  :     }
; 191  :     else

  0002e	eb 21		 jmp	 SHORT $LN3@GetRefColo
$LN2@GetRefColo:

; 192  :     {
; 193  :         *pR_Y = ref_R_val2;

  00030	8b 45 0c	 mov	 eax, DWORD PTR _pR_Y$[ebp]
  00033	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00036	8a 51 22	 mov	 dl, BYTE PTR [ecx+34]
  00039	88 10		 mov	 BYTE PTR [eax], dl

; 194  :         *pG_U = ref_G_val2;

  0003b	8b 45 10	 mov	 eax, DWORD PTR _pG_U$[ebp]
  0003e	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00041	8a 51 23	 mov	 dl, BYTE PTR [ecx+35]
  00044	88 10		 mov	 BYTE PTR [eax], dl

; 195  :         *pB_V = ref_B_val2;

  00046	8b 45 14	 mov	 eax, DWORD PTR _pB_V$[ebp]
  00049	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0004c	8a 51 24	 mov	 dl, BYTE PTR [ecx+36]
  0004f	88 10		 mov	 BYTE PTR [eax], dl
$LN3@GetRefColo:

; 196  :     }
; 197  : }

  00051	8b e5		 mov	 esp, ebp
  00053	5d		 pop	 ebp
  00054	c2 10 00	 ret	 16			; 00000010H
?GetRefColor2@CColorBar@@QAEXHPAE00@Z ENDP		; CColorBar::GetRefColor2
_TEXT	ENDS
PUBLIC	?GetRefColor@CColorBar@@QAEXHPAE00@Z		; CColorBar::GetRefColor
; Function compile flags: /Odtp
;	COMDAT ?GetRefColor@CColorBar@@QAEXHPAE00@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_YUV$ = 8						; size = 4
_pR_Y$ = 12						; size = 4
_pG_U$ = 16						; size = 4
_pB_V$ = 20						; size = 4
?GetRefColor@CColorBar@@QAEXHPAE00@Z PROC		; CColorBar::GetRefColor, COMDAT
; _this$ = ecx

; 166  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 167  :     if (YUV)

  00007	83 7d 08 00	 cmp	 DWORD PTR _YUV$[ebp], 0
  0000b	74 23		 je	 SHORT $LN2@GetRefColo@2

; 168  :     {
; 169  :         *pR_Y = ref_Y_val;

  0000d	8b 45 0c	 mov	 eax, DWORD PTR _pR_Y$[ebp]
  00010	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00013	8a 51 08	 mov	 dl, BYTE PTR [ecx+8]
  00016	88 10		 mov	 BYTE PTR [eax], dl

; 170  :         *pG_U = ref_U_val;

  00018	8b 45 10	 mov	 eax, DWORD PTR _pG_U$[ebp]
  0001b	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0001e	8a 51 09	 mov	 dl, BYTE PTR [ecx+9]
  00021	88 10		 mov	 BYTE PTR [eax], dl

; 171  :         *pB_V = ref_V_val;

  00023	8b 45 14	 mov	 eax, DWORD PTR _pB_V$[ebp]
  00026	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00029	8a 51 0a	 mov	 dl, BYTE PTR [ecx+10]
  0002c	88 10		 mov	 BYTE PTR [eax], dl

; 172  :     }
; 173  :     else

  0002e	eb 21		 jmp	 SHORT $LN3@GetRefColo@2
$LN2@GetRefColo@2:

; 174  :     {
; 175  :         *pR_Y = ref_R_val;

  00030	8b 45 0c	 mov	 eax, DWORD PTR _pR_Y$[ebp]
  00033	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00036	8a 51 0b	 mov	 dl, BYTE PTR [ecx+11]
  00039	88 10		 mov	 BYTE PTR [eax], dl

; 176  :         *pG_U = ref_G_val;

  0003b	8b 45 10	 mov	 eax, DWORD PTR _pG_U$[ebp]
  0003e	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00041	8a 51 0c	 mov	 dl, BYTE PTR [ecx+12]
  00044	88 10		 mov	 BYTE PTR [eax], dl

; 177  :         *pB_V = ref_B_val;

  00046	8b 45 14	 mov	 eax, DWORD PTR _pB_V$[ebp]
  00049	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0004c	8a 51 0d	 mov	 dl, BYTE PTR [ecx+13]
  0004f	88 10		 mov	 BYTE PTR [eax], dl
$LN3@GetRefColo@2:

; 178  :     }
; 179  : }

  00051	8b e5		 mov	 esp, ebp
  00053	5d		 pop	 ebp
  00054	c2 10 00	 ret	 16			; 00000010H
?GetRefColor@CColorBar@@QAEXHPAE00@Z ENDP		; CColorBar::GetRefColor
_TEXT	ENDS
PUBLIC	?GetTypeDraw@CColorBar@@QAE?AW4eTypeDraw@@PAH0@Z ; CColorBar::GetTypeDraw
; Function compile flags: /Odtp
;	COMDAT ?GetTypeDraw@CColorBar@@QAE?AW4eTypeDraw@@PAH0@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_pParam1Draw$ = 8					; size = 4
_pParam2Draw$ = 12					; size = 4
?GetTypeDraw@CColorBar@@QAE?AW4eTypeDraw@@PAH0@Z PROC	; CColorBar::GetTypeDraw, COMDAT
; _this$ = ecx

; 157  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 158  :     *pParam1Draw = m_Param1Draw;

  00007	8b 45 08	 mov	 eax, DWORD PTR _pParam1Draw$[ebp]
  0000a	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000d	8b 51 2c	 mov	 edx, DWORD PTR [ecx+44]
  00010	89 10		 mov	 DWORD PTR [eax], edx

; 159  :     *pParam2Draw = m_Param2Draw;

  00012	8b 45 0c	 mov	 eax, DWORD PTR _pParam2Draw$[ebp]
  00015	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00018	8b 51 30	 mov	 edx, DWORD PTR [ecx+48]
  0001b	89 10		 mov	 DWORD PTR [eax], edx

; 160  :     return m_TypeDraw;

  0001d	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00020	8b 40 28	 mov	 eax, DWORD PTR [eax+40]

; 161  : }

  00023	8b e5		 mov	 esp, ebp
  00025	5d		 pop	 ebp
  00026	c2 08 00	 ret	 8
?GetTypeDraw@CColorBar@@QAE?AW4eTypeDraw@@PAH0@Z ENDP	; CColorBar::GetTypeDraw
_TEXT	ENDS
PUBLIC	?GetPosition@CColorBar@@QAEXPAG000@Z		; CColorBar::GetPosition
; Function compile flags: /Odtp
;	COMDAT ?GetPosition@CColorBar@@QAEXPAG000@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_left$ = 8						; size = 4
_right$ = 12						; size = 4
_top$ = 16						; size = 4
_bottom$ = 20						; size = 4
?GetPosition@CColorBar@@QAEXPAG000@Z PROC		; CColorBar::GetPosition, COMDAT
; _this$ = ecx

; 148  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 149  :     *left = m_LeftBorder;

  00007	8b 45 08	 mov	 eax, DWORD PTR _left$[ebp]
  0000a	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000d	66 8b 11	 mov	 dx, WORD PTR [ecx]
  00010	66 89 10	 mov	 WORD PTR [eax], dx

; 150  :     *right = m_RightBorder;

  00013	8b 45 0c	 mov	 eax, DWORD PTR _right$[ebp]
  00016	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00019	66 8b 51 02	 mov	 dx, WORD PTR [ecx+2]
  0001d	66 89 10	 mov	 WORD PTR [eax], dx

; 151  :     *top = m_TopBorder;

  00020	8b 45 10	 mov	 eax, DWORD PTR _top$[ebp]
  00023	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00026	66 8b 51 04	 mov	 dx, WORD PTR [ecx+4]
  0002a	66 89 10	 mov	 WORD PTR [eax], dx

; 152  :     *bottom = m_BottomBorder;

  0002d	8b 45 14	 mov	 eax, DWORD PTR _bottom$[ebp]
  00030	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00033	66 8b 51 06	 mov	 dx, WORD PTR [ecx+6]
  00037	66 89 10	 mov	 WORD PTR [eax], dx

; 153  : }

  0003a	8b e5		 mov	 esp, ebp
  0003c	5d		 pop	 ebp
  0003d	c2 10 00	 ret	 16			; 00000010H
?GetPosition@CColorBar@@QAEXPAG000@Z ENDP		; CColorBar::GetPosition
_TEXT	ENDS
PUBLIC	??0CColorBar@@QAE@PAV0@@Z			; CColorBar::CColorBar
; Function compile flags: /Odtp
;	COMDAT ??0CColorBar@@QAE@PAV0@@Z
_TEXT	SEGMENT
_this$ = -36						; size = 4
_i$143388 = -32						; size = 4
_val1$ = -25						; size = 1
_top$ = -24						; size = 2
_right$ = -20						; size = 2
_val2$ = -13						; size = 1
_left$ = -12						; size = 2
_val3$ = -5						; size = 1
_bottom$ = -4						; size = 2
_pColorBar$ = 8						; size = 4
??0CColorBar@@QAE@PAV0@@Z PROC				; CColorBar::CColorBar, COMDAT
; _this$ = ecx

; 101  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 24	 sub	 esp, 36			; 00000024H
  00006	89 4d dc	 mov	 DWORD PTR _this$[ebp], ecx

; 102  :     unsigned char val1, val2, val3;
; 103  :     unsigned short int left, right, top, bottom;
; 104  : 
; 105  :     pColorBar->GetPosition(&left, &right, &top, &bottom);

  00009	8d 45 fc	 lea	 eax, DWORD PTR _bottom$[ebp]
  0000c	50		 push	 eax
  0000d	8d 4d e8	 lea	 ecx, DWORD PTR _top$[ebp]
  00010	51		 push	 ecx
  00011	8d 55 ec	 lea	 edx, DWORD PTR _right$[ebp]
  00014	52		 push	 edx
  00015	8d 45 f4	 lea	 eax, DWORD PTR _left$[ebp]
  00018	50		 push	 eax
  00019	8b 4d 08	 mov	 ecx, DWORD PTR _pColorBar$[ebp]
  0001c	e8 00 00 00 00	 call	 ?GetPosition@CColorBar@@QAEXPAG000@Z ; CColorBar::GetPosition

; 106  :     m_LeftBorder = left;

  00021	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00024	66 8b 55 f4	 mov	 dx, WORD PTR _left$[ebp]
  00028	66 89 11	 mov	 WORD PTR [ecx], dx

; 107  :     m_RightBorder = right;

  0002b	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  0002e	66 8b 4d ec	 mov	 cx, WORD PTR _right$[ebp]
  00032	66 89 48 02	 mov	 WORD PTR [eax+2], cx

; 108  :     m_TopBorder = top;

  00036	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  00039	66 8b 45 e8	 mov	 ax, WORD PTR _top$[ebp]
  0003d	66 89 42 04	 mov	 WORD PTR [edx+4], ax

; 109  :     m_BottomBorder = bottom;

  00041	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00044	66 8b 55 fc	 mov	 dx, WORD PTR _bottom$[ebp]
  00048	66 89 51 06	 mov	 WORD PTR [ecx+6], dx

; 110  : 
; 111  :     m_TypeDraw = pColorBar->GetTypeDraw(&m_Param1Draw, &m_Param1Draw);

  0004c	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  0004f	83 c0 2c	 add	 eax, 44			; 0000002cH
  00052	50		 push	 eax
  00053	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00056	83 c1 2c	 add	 ecx, 44			; 0000002cH
  00059	51		 push	 ecx
  0005a	8b 4d 08	 mov	 ecx, DWORD PTR _pColorBar$[ebp]
  0005d	e8 00 00 00 00	 call	 ?GetTypeDraw@CColorBar@@QAE?AW4eTypeDraw@@PAH0@Z ; CColorBar::GetTypeDraw
  00062	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  00065	89 42 28	 mov	 DWORD PTR [edx+40], eax

; 112  : 
; 113  :     pColorBar->GetRefColor(FALSE, &val1, &val2, &val3);

  00068	8d 45 fb	 lea	 eax, DWORD PTR _val3$[ebp]
  0006b	50		 push	 eax
  0006c	8d 4d f3	 lea	 ecx, DWORD PTR _val2$[ebp]
  0006f	51		 push	 ecx
  00070	8d 55 e7	 lea	 edx, DWORD PTR _val1$[ebp]
  00073	52		 push	 edx
  00074	6a 00		 push	 0
  00076	8b 4d 08	 mov	 ecx, DWORD PTR _pColorBar$[ebp]
  00079	e8 00 00 00 00	 call	 ?GetRefColor@CColorBar@@QAEXHPAE00@Z ; CColorBar::GetRefColor

; 114  :     ref_R_val = val1;

  0007e	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00081	8a 4d e7	 mov	 cl, BYTE PTR _val1$[ebp]
  00084	88 48 0b	 mov	 BYTE PTR [eax+11], cl

; 115  :     ref_G_val = val2;

  00087	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  0008a	8a 45 f3	 mov	 al, BYTE PTR _val2$[ebp]
  0008d	88 42 0c	 mov	 BYTE PTR [edx+12], al

; 116  :     ref_B_val = val3;

  00090	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00093	8a 55 fb	 mov	 dl, BYTE PTR _val3$[ebp]
  00096	88 51 0d	 mov	 BYTE PTR [ecx+13], dl

; 117  : 
; 118  :     pColorBar->GetRefColor(TRUE, &val1, &val2, &val3);

  00099	8d 45 fb	 lea	 eax, DWORD PTR _val3$[ebp]
  0009c	50		 push	 eax
  0009d	8d 4d f3	 lea	 ecx, DWORD PTR _val2$[ebp]
  000a0	51		 push	 ecx
  000a1	8d 55 e7	 lea	 edx, DWORD PTR _val1$[ebp]
  000a4	52		 push	 edx
  000a5	6a 01		 push	 1
  000a7	8b 4d 08	 mov	 ecx, DWORD PTR _pColorBar$[ebp]
  000aa	e8 00 00 00 00	 call	 ?GetRefColor@CColorBar@@QAEXHPAE00@Z ; CColorBar::GetRefColor

; 119  :     ref_Y_val = val1;

  000af	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  000b2	8a 4d e7	 mov	 cl, BYTE PTR _val1$[ebp]
  000b5	88 48 08	 mov	 BYTE PTR [eax+8], cl

; 120  :     ref_U_val = val2;

  000b8	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  000bb	8a 45 f3	 mov	 al, BYTE PTR _val2$[ebp]
  000be	88 42 09	 mov	 BYTE PTR [edx+9], al

; 121  :     ref_V_val = val3;

  000c1	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  000c4	8a 55 fb	 mov	 dl, BYTE PTR _val3$[ebp]
  000c7	88 51 0a	 mov	 BYTE PTR [ecx+10], dl

; 122  : 
; 123  :     pColorBar->GetRefColor2(FALSE, &val1, &val2, &val3);

  000ca	8d 45 fb	 lea	 eax, DWORD PTR _val3$[ebp]
  000cd	50		 push	 eax
  000ce	8d 4d f3	 lea	 ecx, DWORD PTR _val2$[ebp]
  000d1	51		 push	 ecx
  000d2	8d 55 e7	 lea	 edx, DWORD PTR _val1$[ebp]
  000d5	52		 push	 edx
  000d6	6a 00		 push	 0
  000d8	8b 4d 08	 mov	 ecx, DWORD PTR _pColorBar$[ebp]
  000db	e8 00 00 00 00	 call	 ?GetRefColor2@CColorBar@@QAEXHPAE00@Z ; CColorBar::GetRefColor2

; 124  :     ref_R_val2 = val1;

  000e0	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  000e3	8a 4d e7	 mov	 cl, BYTE PTR _val1$[ebp]
  000e6	88 48 22	 mov	 BYTE PTR [eax+34], cl

; 125  :     ref_G_val2 = val2;

  000e9	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  000ec	8a 45 f3	 mov	 al, BYTE PTR _val2$[ebp]
  000ef	88 42 23	 mov	 BYTE PTR [edx+35], al

; 126  :     ref_B_val2 = val3;

  000f2	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  000f5	8a 55 fb	 mov	 dl, BYTE PTR _val3$[ebp]
  000f8	88 51 24	 mov	 BYTE PTR [ecx+36], dl

; 127  : 
; 128  :     pColorBar->GetRefColor2(TRUE, &val1, &val2, &val3);

  000fb	8d 45 fb	 lea	 eax, DWORD PTR _val3$[ebp]
  000fe	50		 push	 eax
  000ff	8d 4d f3	 lea	 ecx, DWORD PTR _val2$[ebp]
  00102	51		 push	 ecx
  00103	8d 55 e7	 lea	 edx, DWORD PTR _val1$[ebp]
  00106	52		 push	 edx
  00107	6a 01		 push	 1
  00109	8b 4d 08	 mov	 ecx, DWORD PTR _pColorBar$[ebp]
  0010c	e8 00 00 00 00	 call	 ?GetRefColor2@CColorBar@@QAEXHPAE00@Z ; CColorBar::GetRefColor2

; 129  :     ref_Y_val2 = val1;

  00111	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00114	8a 4d e7	 mov	 cl, BYTE PTR _val1$[ebp]
  00117	88 48 1f	 mov	 BYTE PTR [eax+31], cl

; 130  :     ref_U_val2 = val2;

  0011a	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  0011d	8a 45 f3	 mov	 al, BYTE PTR _val2$[ebp]
  00120	88 42 20	 mov	 BYTE PTR [edx+32], al

; 131  :     ref_V_val2 = val3;

  00123	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00126	8a 55 fb	 mov	 dl, BYTE PTR _val3$[ebp]
  00129	88 51 21	 mov	 BYTE PTR [ecx+33], dl

; 132  : 
; 133  :     YUV_val_available = RGB_val_available = FALSE;

  0012c	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  0012f	c7 40 18 00 00
	00 00		 mov	 DWORD PTR [eax+24], 0
  00136	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00139	c7 41 10 00 00
	00 00		 mov	 DWORD PTR [ecx+16], 0

; 134  : 
; 135  :     for (int i = 0 ; i <= 2; i++)

  00140	c7 45 e0 00 00
	00 00		 mov	 DWORD PTR _i$143388[ebp], 0
  00147	eb 09		 jmp	 SHORT $LN3@CColorBar
$LN2@CColorBar:
  00149	8b 55 e0	 mov	 edx, DWORD PTR _i$143388[ebp]
  0014c	83 c2 01	 add	 edx, 1
  0014f	89 55 e0	 mov	 DWORD PTR _i$143388[ebp], edx
$LN3@CColorBar:
  00152	83 7d e0 02	 cmp	 DWORD PTR _i$143388[ebp], 2
  00156	7f 24		 jg	 SHORT $LN1@CColorBar

; 136  :     {
; 137  :         component_cpt[i] = 0;

  00158	8b 45 e0	 mov	 eax, DWORD PTR _i$143388[ebp]
  0015b	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  0015e	c7 44 81 34 00
	00 00 00	 mov	 DWORD PTR [ecx+eax*4+52], 0

; 138  :         component_min[i] = 255;

  00166	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  00169	03 55 e0	 add	 edx, DWORD PTR _i$143388[ebp]
  0016c	c6 42 48 ff	 mov	 BYTE PTR [edx+72], 255	; 000000ffH

; 139  :         component_max[i] = 0;

  00170	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00173	03 45 e0	 add	 eax, DWORD PTR _i$143388[ebp]
  00176	c6 40 50 00	 mov	 BYTE PTR [eax+80], 0

; 140  :     }

  0017a	eb cd		 jmp	 SHORT $LN2@CColorBar
$LN1@CColorBar:

; 141  :     cpt_nb = 0;

  0017c	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  0017f	c7 41 40 00 00
	00 00		 mov	 DWORD PTR [ecx+64], 0

; 142  :     min_available = FALSE;

  00186	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  00189	c7 42 44 00 00
	00 00		 mov	 DWORD PTR [edx+68], 0

; 143  :     max_available = FALSE;

  00190	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00193	c7 40 4c 00 00
	00 00		 mov	 DWORD PTR [eax+76], 0

; 144  : }

  0019a	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  0019d	8b e5		 mov	 esp, ebp
  0019f	5d		 pop	 ebp
  001a0	c2 04 00	 ret	 4
??0CColorBar@@QAE@PAV0@@Z ENDP				; CColorBar::CColorBar
_TEXT	ENDS
PUBLIC	??0CColorBar@@QAE@GGGGW4eTypeDraw@@HHHEEEEEE@Z	; CColorBar::CColorBar
; Function compile flags: /Odtp
;	COMDAT ??0CColorBar@@QAE@GGGGW4eTypeDraw@@HHHEEEEEE@Z
_TEXT	SEGMENT
_this$ = -8						; size = 4
_i$143373 = -4						; size = 4
_left$ = 8						; size = 2
_right$ = 12						; size = 2
_top$ = 16						; size = 2
_bottom$ = 20						; size = 2
_type_draw$ = 24					; size = 4
_param1_draw$ = 28					; size = 4
_param2_draw$ = 32					; size = 4
_YUV$ = 36						; size = 4
_R_Y$ = 40						; size = 1
_G_U$ = 44						; size = 1
_B_V$ = 48						; size = 1
_R_Y_2$ = 52						; size = 1
_G_U_2$ = 56						; size = 1
_B_V_2$ = 60						; size = 1
??0CColorBar@@QAE@GGGGW4eTypeDraw@@HHHEEEEEE@Z PROC	; CColorBar::CColorBar, COMDAT
; _this$ = ecx

; 52   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 08	 sub	 esp, 8
  00006	89 4d f8	 mov	 DWORD PTR _this$[ebp], ecx

; 53   :     m_LeftBorder = left;

  00009	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	66 8b 4d 08	 mov	 cx, WORD PTR _left$[ebp]
  00010	66 89 08	 mov	 WORD PTR [eax], cx

; 54   :     m_RightBorder = right;

  00013	8b 55 f8	 mov	 edx, DWORD PTR _this$[ebp]
  00016	66 8b 45 0c	 mov	 ax, WORD PTR _right$[ebp]
  0001a	66 89 42 02	 mov	 WORD PTR [edx+2], ax

; 55   :     m_TopBorder = top;

  0001e	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00021	66 8b 55 10	 mov	 dx, WORD PTR _top$[ebp]
  00025	66 89 51 04	 mov	 WORD PTR [ecx+4], dx

; 56   :     m_BottomBorder = bottom;

  00029	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  0002c	66 8b 4d 14	 mov	 cx, WORD PTR _bottom$[ebp]
  00030	66 89 48 06	 mov	 WORD PTR [eax+6], cx

; 57   :     m_TypeDraw = type_draw;

  00034	8b 55 f8	 mov	 edx, DWORD PTR _this$[ebp]
  00037	8b 45 18	 mov	 eax, DWORD PTR _type_draw$[ebp]
  0003a	89 42 28	 mov	 DWORD PTR [edx+40], eax

; 58   :     m_Param1Draw = param1_draw;

  0003d	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00040	8b 55 1c	 mov	 edx, DWORD PTR _param1_draw$[ebp]
  00043	89 51 2c	 mov	 DWORD PTR [ecx+44], edx

; 59   :     m_Param2Draw = param2_draw;

  00046	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  00049	8b 4d 20	 mov	 ecx, DWORD PTR _param2_draw$[ebp]
  0004c	89 48 30	 mov	 DWORD PTR [eax+48], ecx

; 60   :     if (YUV)

  0004f	83 7d 24 00	 cmp	 DWORD PTR _YUV$[ebp], 0
  00053	0f 84 a5 00 00
	00		 je	 $LN5@CColorBar@2

; 61   :     {
; 62   :         ref_Y_val = R_Y;

  00059	8b 55 f8	 mov	 edx, DWORD PTR _this$[ebp]
  0005c	8a 45 28	 mov	 al, BYTE PTR _R_Y$[ebp]
  0005f	88 42 08	 mov	 BYTE PTR [edx+8], al

; 63   :         ref_U_val = G_U;

  00062	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00065	8a 55 2c	 mov	 dl, BYTE PTR _G_U$[ebp]
  00068	88 51 09	 mov	 BYTE PTR [ecx+9], dl

; 64   :         ref_V_val = B_V;

  0006b	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  0006e	8a 4d 30	 mov	 cl, BYTE PTR _B_V$[ebp]
  00071	88 48 0a	 mov	 BYTE PTR [eax+10], cl

; 65   :         // Calculate RGB values from YUV values
; 66   :         YUV2RGB(ref_Y_val, ref_U_val, ref_V_val, &ref_R_val, &ref_G_val, &ref_B_val);

  00074	8b 55 f8	 mov	 edx, DWORD PTR _this$[ebp]
  00077	83 c2 0d	 add	 edx, 13			; 0000000dH
  0007a	52		 push	 edx
  0007b	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  0007e	83 c0 0c	 add	 eax, 12			; 0000000cH
  00081	50		 push	 eax
  00082	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00085	83 c1 0b	 add	 ecx, 11			; 0000000bH
  00088	51		 push	 ecx
  00089	8b 55 f8	 mov	 edx, DWORD PTR _this$[ebp]
  0008c	0f b6 42 0a	 movzx	 eax, BYTE PTR [edx+10]
  00090	50		 push	 eax
  00091	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00094	0f b6 51 09	 movzx	 edx, BYTE PTR [ecx+9]
  00098	52		 push	 edx
  00099	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  0009c	0f b6 48 08	 movzx	 ecx, BYTE PTR [eax+8]
  000a0	51		 push	 ecx
  000a1	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  000a4	e8 00 00 00 00	 call	 ?YUV2RGB@CColorBar@@AAEXEEEPAE00@Z ; CColorBar::YUV2RGB

; 67   :         ref_Y_val2 = R_Y_2;

  000a9	8b 55 f8	 mov	 edx, DWORD PTR _this$[ebp]
  000ac	8a 45 34	 mov	 al, BYTE PTR _R_Y_2$[ebp]
  000af	88 42 1f	 mov	 BYTE PTR [edx+31], al

; 68   :         ref_U_val2 = G_U_2;

  000b2	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  000b5	8a 55 38	 mov	 dl, BYTE PTR _G_U_2$[ebp]
  000b8	88 51 20	 mov	 BYTE PTR [ecx+32], dl

; 69   :         ref_V_val2 = B_V_2;

  000bb	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  000be	8a 4d 3c	 mov	 cl, BYTE PTR _B_V_2$[ebp]
  000c1	88 48 21	 mov	 BYTE PTR [eax+33], cl

; 70   :         // Calculate RGB values from YUV values
; 71   :         YUV2RGB(ref_Y_val2, ref_U_val2, ref_V_val2, &ref_R_val2, &ref_G_val2, &ref_B_val2);

  000c4	8b 55 f8	 mov	 edx, DWORD PTR _this$[ebp]
  000c7	83 c2 24	 add	 edx, 36			; 00000024H
  000ca	52		 push	 edx
  000cb	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  000ce	83 c0 23	 add	 eax, 35			; 00000023H
  000d1	50		 push	 eax
  000d2	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  000d5	83 c1 22	 add	 ecx, 34			; 00000022H
  000d8	51		 push	 ecx
  000d9	8b 55 f8	 mov	 edx, DWORD PTR _this$[ebp]
  000dc	0f b6 42 21	 movzx	 eax, BYTE PTR [edx+33]
  000e0	50		 push	 eax
  000e1	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  000e4	0f b6 51 20	 movzx	 edx, BYTE PTR [ecx+32]
  000e8	52		 push	 edx
  000e9	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  000ec	0f b6 48 1f	 movzx	 ecx, BYTE PTR [eax+31]
  000f0	51		 push	 ecx
  000f1	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  000f4	e8 00 00 00 00	 call	 ?YUV2RGB@CColorBar@@AAEXEEEPAE00@Z ; CColorBar::YUV2RGB

; 72   :     }
; 73   :     else

  000f9	e9 a0 00 00 00	 jmp	 $LN4@CColorBar@2
$LN5@CColorBar@2:

; 74   :     {
; 75   :         ref_R_val = R_Y;

  000fe	8b 55 f8	 mov	 edx, DWORD PTR _this$[ebp]
  00101	8a 45 28	 mov	 al, BYTE PTR _R_Y$[ebp]
  00104	88 42 0b	 mov	 BYTE PTR [edx+11], al

; 76   :         ref_G_val = G_U;

  00107	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0010a	8a 55 2c	 mov	 dl, BYTE PTR _G_U$[ebp]
  0010d	88 51 0c	 mov	 BYTE PTR [ecx+12], dl

; 77   :         ref_B_val = B_V;

  00110	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  00113	8a 4d 30	 mov	 cl, BYTE PTR _B_V$[ebp]
  00116	88 48 0d	 mov	 BYTE PTR [eax+13], cl

; 78   :         // Calculate YUV values from RGB values
; 79   :         RGB2YUV(ref_R_val, ref_G_val, ref_B_val, &ref_Y_val, &ref_U_val, &ref_V_val);

  00119	8b 55 f8	 mov	 edx, DWORD PTR _this$[ebp]
  0011c	83 c2 0a	 add	 edx, 10			; 0000000aH
  0011f	52		 push	 edx
  00120	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  00123	83 c0 09	 add	 eax, 9
  00126	50		 push	 eax
  00127	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0012a	83 c1 08	 add	 ecx, 8
  0012d	51		 push	 ecx
  0012e	8b 55 f8	 mov	 edx, DWORD PTR _this$[ebp]
  00131	0f b6 42 0d	 movzx	 eax, BYTE PTR [edx+13]
  00135	50		 push	 eax
  00136	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00139	0f b6 51 0c	 movzx	 edx, BYTE PTR [ecx+12]
  0013d	52		 push	 edx
  0013e	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  00141	0f b6 48 0b	 movzx	 ecx, BYTE PTR [eax+11]
  00145	51		 push	 ecx
  00146	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00149	e8 00 00 00 00	 call	 ?RGB2YUV@CColorBar@@AAEXEEEPAE00@Z ; CColorBar::RGB2YUV

; 80   :         ref_R_val2 = R_Y_2;

  0014e	8b 55 f8	 mov	 edx, DWORD PTR _this$[ebp]
  00151	8a 45 34	 mov	 al, BYTE PTR _R_Y_2$[ebp]
  00154	88 42 22	 mov	 BYTE PTR [edx+34], al

; 81   :         ref_G_val2 = G_U_2;

  00157	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0015a	8a 55 38	 mov	 dl, BYTE PTR _G_U_2$[ebp]
  0015d	88 51 23	 mov	 BYTE PTR [ecx+35], dl

; 82   :         ref_B_val2 = B_V_2;

  00160	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  00163	8a 4d 3c	 mov	 cl, BYTE PTR _B_V_2$[ebp]
  00166	88 48 24	 mov	 BYTE PTR [eax+36], cl

; 83   :         // Calculate YUV values from RGB values
; 84   :         RGB2YUV(ref_R_val2, ref_G_val2, ref_B_val2, &ref_Y_val2, &ref_U_val2, &ref_V_val2);

  00169	8b 55 f8	 mov	 edx, DWORD PTR _this$[ebp]
  0016c	83 c2 21	 add	 edx, 33			; 00000021H
  0016f	52		 push	 edx
  00170	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  00173	83 c0 20	 add	 eax, 32			; 00000020H
  00176	50		 push	 eax
  00177	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0017a	83 c1 1f	 add	 ecx, 31			; 0000001fH
  0017d	51		 push	 ecx
  0017e	8b 55 f8	 mov	 edx, DWORD PTR _this$[ebp]
  00181	0f b6 42 24	 movzx	 eax, BYTE PTR [edx+36]
  00185	50		 push	 eax
  00186	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00189	0f b6 51 23	 movzx	 edx, BYTE PTR [ecx+35]
  0018d	52		 push	 edx
  0018e	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  00191	0f b6 48 22	 movzx	 ecx, BYTE PTR [eax+34]
  00195	51		 push	 ecx
  00196	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00199	e8 00 00 00 00	 call	 ?RGB2YUV@CColorBar@@AAEXEEEPAE00@Z ; CColorBar::RGB2YUV
$LN4@CColorBar@2:

; 85   :     }
; 86   : 
; 87   :     YUV_val_available = RGB_val_available = FALSE;

  0019e	8b 55 f8	 mov	 edx, DWORD PTR _this$[ebp]
  001a1	c7 42 18 00 00
	00 00		 mov	 DWORD PTR [edx+24], 0
  001a8	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  001ab	c7 40 10 00 00
	00 00		 mov	 DWORD PTR [eax+16], 0

; 88   : 
; 89   :     for (int i = 0 ; i <= 2; i++)

  001b2	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _i$143373[ebp], 0
  001b9	eb 09		 jmp	 SHORT $LN3@CColorBar@2
$LN2@CColorBar@2:
  001bb	8b 4d fc	 mov	 ecx, DWORD PTR _i$143373[ebp]
  001be	83 c1 01	 add	 ecx, 1
  001c1	89 4d fc	 mov	 DWORD PTR _i$143373[ebp], ecx
$LN3@CColorBar@2:
  001c4	83 7d fc 02	 cmp	 DWORD PTR _i$143373[ebp], 2
  001c8	7f 24		 jg	 SHORT $LN1@CColorBar@2

; 90   :     {
; 91   :         component_cpt[i] = 0;

  001ca	8b 55 fc	 mov	 edx, DWORD PTR _i$143373[ebp]
  001cd	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  001d0	c7 44 90 34 00
	00 00 00	 mov	 DWORD PTR [eax+edx*4+52], 0

; 92   :         component_min[i] = 255;

  001d8	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  001db	03 4d fc	 add	 ecx, DWORD PTR _i$143373[ebp]
  001de	c6 41 48 ff	 mov	 BYTE PTR [ecx+72], 255	; 000000ffH

; 93   :         component_max[i] = 0;

  001e2	8b 55 f8	 mov	 edx, DWORD PTR _this$[ebp]
  001e5	03 55 fc	 add	 edx, DWORD PTR _i$143373[ebp]
  001e8	c6 42 50 00	 mov	 BYTE PTR [edx+80], 0

; 94   :     }

  001ec	eb cd		 jmp	 SHORT $LN2@CColorBar@2
$LN1@CColorBar@2:

; 95   :     cpt_nb = 0;

  001ee	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  001f1	c7 40 40 00 00
	00 00		 mov	 DWORD PTR [eax+64], 0

; 96   :     min_available = FALSE;

  001f8	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  001fb	c7 41 44 00 00
	00 00		 mov	 DWORD PTR [ecx+68], 0

; 97   :     max_available = FALSE;

  00202	8b 55 f8	 mov	 edx, DWORD PTR _this$[ebp]
  00205	c7 42 4c 00 00
	00 00		 mov	 DWORD PTR [edx+76], 0

; 98   : }

  0020c	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  0020f	8b e5		 mov	 esp, ebp
  00211	5d		 pop	 ebp
  00212	c2 38 00	 ret	 56			; 00000038H
??0CColorBar@@QAE@GGGGW4eTypeDraw@@HHHEEEEEE@Z ENDP	; CColorBar::CColorBar
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\memory
;	COMDAT ??$unchecked_uninitialized_copy@PAPAVCSubPattern@@PAPAV1@V?$allocator@PAVCSubPattern@@@std@@@stdext@@YAPAPAVCSubPattern@@PAPAV1@00AAV?$allocator@PAVCSubPattern@@@std@@@Z
_TEXT	SEGMENT
$T307399 = -2						; size = 1
$T307398 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
__Al$ = 20						; size = 4
??$unchecked_uninitialized_copy@PAPAVCSubPattern@@PAPAV1@V?$allocator@PAVCSubPattern@@@std@@@stdext@@YAPAPAVCSubPattern@@PAPAV1@00AAV?$allocator@PAVCSubPattern@@@std@@@Z PROC ; stdext::unchecked_uninitialized_copy<CSubPattern * *,CSubPattern * *,std::allocator<CSubPattern *> >, COMDAT

; 809  : 	{	// copy [_First, _Last) to raw _Dest, using _Al

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx

; 810  : 		return (_STD _Uninit_copy(_CHECKED_BASE(_First), _CHECKED_BASE(_Last), _Dest, _Al,
; 811  : 			_STD _Ptr_cat(_First, _Dest), _STD _Range_checked_iterator_tag()));

  00004	33 c0		 xor	 eax, eax
  00006	88 45 ff	 mov	 BYTE PTR $T307398[ebp], al
  00009	8d 4d 10	 lea	 ecx, DWORD PTR __Dest$[ebp]
  0000c	51		 push	 ecx
  0000d	8d 55 08	 lea	 edx, DWORD PTR __First$[ebp]
  00010	52		 push	 edx
  00011	e8 00 00 00 00	 call	 ??$_Ptr_cat@PAPAVCSubPattern@@PAPAV1@@std@@YA?AU_Scalar_ptr_iterator_tag@0@AAPAPAVCSubPattern@@0@Z ; std::_Ptr_cat<CSubPattern * *,CSubPattern * *>
  00016	83 c4 08	 add	 esp, 8
  00019	88 45 fe	 mov	 BYTE PTR $T307399[ebp], al
  0001c	0f b6 45 ff	 movzx	 eax, BYTE PTR $T307398[ebp]
  00020	50		 push	 eax
  00021	0f b6 4d fe	 movzx	 ecx, BYTE PTR $T307399[ebp]
  00025	51		 push	 ecx
  00026	8b 55 14	 mov	 edx, DWORD PTR __Al$[ebp]
  00029	52		 push	 edx
  0002a	8b 45 10	 mov	 eax, DWORD PTR __Dest$[ebp]
  0002d	50		 push	 eax
  0002e	8d 4d 0c	 lea	 ecx, DWORD PTR __Last$[ebp]
  00031	51		 push	 ecx
  00032	e8 00 00 00 00	 call	 ??$_Checked_base@PAPAVCSubPattern@@@std@@YAPAPAVCSubPattern@@AAPAPAV1@@Z ; std::_Checked_base<CSubPattern * *>
  00037	83 c4 04	 add	 esp, 4
  0003a	50		 push	 eax
  0003b	8d 55 08	 lea	 edx, DWORD PTR __First$[ebp]
  0003e	52		 push	 edx
  0003f	e8 00 00 00 00	 call	 ??$_Checked_base@PAPAVCSubPattern@@@std@@YAPAPAVCSubPattern@@AAPAPAV1@@Z ; std::_Checked_base<CSubPattern * *>
  00044	83 c4 04	 add	 esp, 4
  00047	50		 push	 eax
  00048	e8 00 00 00 00	 call	 ??$_Uninit_copy@PAPAVCSubPattern@@PAPAV1@V?$allocator@PAVCSubPattern@@@std@@@std@@YAPAPAVCSubPattern@@PAPAV1@00AAV?$allocator@PAVCSubPattern@@@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_copy<CSubPattern * *,CSubPattern * *,std::allocator<CSubPattern *> >
  0004d	83 c4 18	 add	 esp, 24			; 00000018H

; 812  : 	}

  00050	8b e5		 mov	 esp, ebp
  00052	5d		 pop	 ebp
  00053	c3		 ret	 0
??$unchecked_uninitialized_copy@PAPAVCSubPattern@@PAPAV1@V?$allocator@PAVCSubPattern@@@std@@@stdext@@YAPAPAVCSubPattern@@PAPAV1@00AAV?$allocator@PAVCSubPattern@@@std@@@Z ENDP ; stdext::unchecked_uninitialized_copy<CSubPattern * *,CSubPattern * *,std::allocator<CSubPattern *> >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
_TEXT	ENDS
;	COMDAT ??$_Fill_n@PAPAVCSubPattern@@IPAV1@@std@@YAXPAPAVCSubPattern@@IABQAV1@Urandom_access_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
$T307402 = -5						; size = 1
__Last$ = -4						; size = 4
__First$ = 8						; size = 4
__Count$ = 12						; size = 4
__Val$ = 16						; size = 4
___formal$ = 20						; size = 1
___formal$ = 24						; size = 1
??$_Fill_n@PAPAVCSubPattern@@IPAV1@@std@@YAXPAPAVCSubPattern@@IABQAV1@Urandom_access_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Fill_n<CSubPattern * *,unsigned int,CSubPattern *>, COMDAT

; 3224 : 	{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 08	 sub	 esp, 8

; 3225 : 		// if _OutIt is checked, this will ensure we have enough space
; 3226 : 		_OutIt _Last = _First + _Count; (_Last);

  00006	8b 45 0c	 mov	 eax, DWORD PTR __Count$[ebp]
  00009	8b 4d 08	 mov	 ecx, DWORD PTR __First$[ebp]
  0000c	8d 14 81	 lea	 edx, DWORD PTR [ecx+eax*4]
  0000f	89 55 fc	 mov	 DWORD PTR __Last$[ebp], edx

; 3227 : 		_Fill_n(_CHECKED_BASE(_First), _Count, _Val,
; 3228 : 			_Range_checked_iterator_tag());

  00012	33 c0		 xor	 eax, eax
  00014	88 45 fb	 mov	 BYTE PTR $T307402[ebp], al
  00017	0f b6 4d fb	 movzx	 ecx, BYTE PTR $T307402[ebp]
  0001b	51		 push	 ecx
  0001c	8b 55 10	 mov	 edx, DWORD PTR __Val$[ebp]
  0001f	52		 push	 edx
  00020	8b 45 0c	 mov	 eax, DWORD PTR __Count$[ebp]
  00023	50		 push	 eax
  00024	8d 4d 08	 lea	 ecx, DWORD PTR __First$[ebp]
  00027	51		 push	 ecx
  00028	e8 00 00 00 00	 call	 ??$_Checked_base@PAPAVCSubPattern@@@std@@YAPAPAVCSubPattern@@AAPAPAV1@@Z ; std::_Checked_base<CSubPattern * *>
  0002d	83 c4 04	 add	 esp, 4
  00030	50		 push	 eax
  00031	e8 00 00 00 00	 call	 ??$_Fill_n@PAPAVCSubPattern@@IPAV1@@std@@YAXPAPAVCSubPattern@@IABQAV1@U_Range_checked_iterator_tag@0@@Z ; std::_Fill_n<CSubPattern * *,unsigned int,CSubPattern *>
  00036	83 c4 10	 add	 esp, 16			; 00000010H

; 3229 : 	}

  00039	8b e5		 mov	 esp, ebp
  0003b	5d		 pop	 ebp
  0003c	c3		 ret	 0
??$_Fill_n@PAPAVCSubPattern@@IPAV1@@std@@YAXPAPAVCSubPattern@@IABQAV1@Urandom_access_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Fill_n<CSubPattern * *,unsigned int,CSubPattern *>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\memory
_TEXT	ENDS
;	COMDAT ??$_Uninit_move@PAPAVCSubPattern@@PAPAV1@V?$allocator@PAVCSubPattern@@@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCSubPattern@@PAPAV1@00AAV?$allocator@PAVCSubPattern@@@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
__Al$ = 20						; size = 4
___formal$ = 24						; size = 1
___formal$ = 28						; size = 1
??$_Uninit_move@PAPAVCSubPattern@@PAPAV1@V?$allocator@PAVCSubPattern@@@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCSubPattern@@PAPAV1@00AAV?$allocator@PAVCSubPattern@@@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Uninit_move<CSubPattern * *,CSubPattern * *,std::allocator<CSubPattern *>,std::_Undefined_move_tag>, COMDAT

; 204  : 	{	// move defaults to copy if there is not a more effecient way

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 205  : 	return _STDEXT unchecked_uninitialized_copy(_First, _Last, _Dest, _Al);

  00003	8b 45 14	 mov	 eax, DWORD PTR __Al$[ebp]
  00006	50		 push	 eax
  00007	8b 4d 10	 mov	 ecx, DWORD PTR __Dest$[ebp]
  0000a	51		 push	 ecx
  0000b	8b 55 0c	 mov	 edx, DWORD PTR __Last$[ebp]
  0000e	52		 push	 edx
  0000f	8b 45 08	 mov	 eax, DWORD PTR __First$[ebp]
  00012	50		 push	 eax
  00013	e8 00 00 00 00	 call	 ??$unchecked_uninitialized_copy@PAPAVCSubPattern@@PAPAV1@V?$allocator@PAVCSubPattern@@@std@@@stdext@@YAPAPAVCSubPattern@@PAPAV1@00AAV?$allocator@PAVCSubPattern@@@std@@@Z ; stdext::unchecked_uninitialized_copy<CSubPattern * *,CSubPattern * *,std::allocator<CSubPattern *> >
  00018	83 c4 10	 add	 esp, 16			; 00000010H

; 206  : 	}

  0001b	5d		 pop	 ebp
  0001c	c3		 ret	 0
??$_Uninit_move@PAPAVCSubPattern@@PAPAV1@V?$allocator@PAVCSubPattern@@@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCSubPattern@@PAPAV1@00AAV?$allocator@PAVCSubPattern@@@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Uninit_move<CSubPattern * *,CSubPattern * *,std::allocator<CSubPattern *>,std::_Undefined_move_tag>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
_TEXT	ENDS
;	COMDAT ??$unchecked_fill_n@PAPAVCSubPattern@@IPAV1@@stdext@@YAXPAPAVCSubPattern@@IABQAV1@@Z
_TEXT	SEGMENT
$T307408 = -2						; size = 1
$T307407 = -1						; size = 1
__First$ = 8						; size = 4
__Count$ = 12						; size = 4
__Val$ = 16						; size = 4
??$unchecked_fill_n@PAPAVCSubPattern@@IPAV1@@stdext@@YAXPAPAVCSubPattern@@IABQAV1@@Z PROC ; stdext::unchecked_fill_n<CSubPattern * *,unsigned int,CSubPattern *>, COMDAT

; 3694 : 	{	// copy _Val _Count times through [_First, ...)

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx

; 3695 : 		_STD _Fill_n(_First, _Count, _Val, _STD _Iter_cat(_First), _STD _Range_checked_iterator_tag());

  00004	33 c0		 xor	 eax, eax
  00006	88 45 ff	 mov	 BYTE PTR $T307407[ebp], al
  00009	0f b6 4d ff	 movzx	 ecx, BYTE PTR $T307407[ebp]
  0000d	51		 push	 ecx
  0000e	8d 55 08	 lea	 edx, DWORD PTR __First$[ebp]
  00011	52		 push	 edx
  00012	8d 45 fe	 lea	 eax, DWORD PTR $T307408[ebp]
  00015	50		 push	 eax
  00016	e8 00 00 00 00	 call	 ??$_Iter_cat@PAPAVCSubPattern@@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCSubPattern@@@Z ; std::_Iter_cat<CSubPattern * *>
  0001b	83 c4 08	 add	 esp, 8
  0001e	0f b6 08	 movzx	 ecx, BYTE PTR [eax]
  00021	51		 push	 ecx
  00022	8b 55 10	 mov	 edx, DWORD PTR __Val$[ebp]
  00025	52		 push	 edx
  00026	8b 45 0c	 mov	 eax, DWORD PTR __Count$[ebp]
  00029	50		 push	 eax
  0002a	8b 4d 08	 mov	 ecx, DWORD PTR __First$[ebp]
  0002d	51		 push	 ecx
  0002e	e8 00 00 00 00	 call	 ??$_Fill_n@PAPAVCSubPattern@@IPAV1@@std@@YAXPAPAVCSubPattern@@IABQAV1@Urandom_access_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Fill_n<CSubPattern * *,unsigned int,CSubPattern *>
  00033	83 c4 14	 add	 esp, 20			; 00000014H

; 3696 : 	}

  00036	8b e5		 mov	 esp, ebp
  00038	5d		 pop	 ebp
  00039	c3		 ret	 0
??$unchecked_fill_n@PAPAVCSubPattern@@IPAV1@@stdext@@YAXPAPAVCSubPattern@@IABQAV1@@Z ENDP ; stdext::unchecked_fill_n<CSubPattern * *,unsigned int,CSubPattern *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Move_backward_opt@PAPAVCSubPattern@@PAPAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCSubPattern@@PAPAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
$T307412 = -2						; size = 1
$T307411 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
__First_dest_cat$ = 20					; size = 1
___formal$ = 24						; size = 1
___formal$ = 28						; size = 1
??$_Move_backward_opt@PAPAVCSubPattern@@PAPAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCSubPattern@@PAPAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Move_backward_opt<CSubPattern * *,CSubPattern * *,std::random_access_iterator_tag,std::_Undefined_move_tag>, COMDAT

; 2726 : 	{	// move defaults to copy if there is not a more effecient way

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx

; 2727 : 	return _Copy_backward_opt(_First, _Last, _Dest,
; 2728 : 		_First_dest_cat, _Ptr_cat(_First, _Dest), _Range_checked_iterator_tag());

  00004	33 c0		 xor	 eax, eax
  00006	88 45 ff	 mov	 BYTE PTR $T307411[ebp], al
  00009	8d 4d 10	 lea	 ecx, DWORD PTR __Dest$[ebp]
  0000c	51		 push	 ecx
  0000d	8d 55 08	 lea	 edx, DWORD PTR __First$[ebp]
  00010	52		 push	 edx
  00011	e8 00 00 00 00	 call	 ??$_Ptr_cat@PAPAVCSubPattern@@PAPAV1@@std@@YA?AU_Scalar_ptr_iterator_tag@0@AAPAPAVCSubPattern@@0@Z ; std::_Ptr_cat<CSubPattern * *,CSubPattern * *>
  00016	83 c4 08	 add	 esp, 8
  00019	88 45 fe	 mov	 BYTE PTR $T307412[ebp], al
  0001c	0f b6 45 ff	 movzx	 eax, BYTE PTR $T307411[ebp]
  00020	50		 push	 eax
  00021	0f b6 4d fe	 movzx	 ecx, BYTE PTR $T307412[ebp]
  00025	51		 push	 ecx
  00026	0f b6 55 14	 movzx	 edx, BYTE PTR __First_dest_cat$[ebp]
  0002a	52		 push	 edx
  0002b	8b 45 10	 mov	 eax, DWORD PTR __Dest$[ebp]
  0002e	50		 push	 eax
  0002f	8b 4d 0c	 mov	 ecx, DWORD PTR __Last$[ebp]
  00032	51		 push	 ecx
  00033	8b 55 08	 mov	 edx, DWORD PTR __First$[ebp]
  00036	52		 push	 edx
  00037	e8 00 00 00 00	 call	 ??$_Copy_backward_opt@PAPAVCSubPattern@@PAPAV1@Urandom_access_iterator_tag@std@@@std@@YAPAPAVCSubPattern@@PAPAV1@00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_backward_opt<CSubPattern * *,CSubPattern * *,std::random_access_iterator_tag>
  0003c	83 c4 18	 add	 esp, 24			; 00000018H

; 2729 : 	}

  0003f	8b e5		 mov	 esp, ebp
  00041	5d		 pop	 ebp
  00042	c3		 ret	 0
??$_Move_backward_opt@PAPAVCSubPattern@@PAPAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCSubPattern@@PAPAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Move_backward_opt<CSubPattern * *,CSubPattern * *,std::random_access_iterator_tag,std::_Undefined_move_tag>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\memory
_TEXT	ENDS
;	COMDAT ??$_Unchecked_uninitialized_move@PAPAVCSubPattern@@PAPAV1@V?$allocator@PAVCSubPattern@@@std@@@stdext@@YAPAPAVCSubPattern@@PAPAV1@00AAV?$allocator@PAVCSubPattern@@@std@@@Z
_TEXT	SEGMENT
$T307416 = -2						; size = 1
$T307415 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
__Al$ = 20						; size = 4
??$_Unchecked_uninitialized_move@PAPAVCSubPattern@@PAPAV1@V?$allocator@PAVCSubPattern@@@std@@@stdext@@YAPAPAVCSubPattern@@PAPAV1@00AAV?$allocator@PAVCSubPattern@@@std@@@Z PROC ; stdext::_Unchecked_uninitialized_move<CSubPattern * *,CSubPattern * *,std::allocator<CSubPattern *> >, COMDAT

; 849  : 	{	// move [_First, _Last) to raw _Dest, using _Al

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx

; 850  : 		return (_STD _Uninit_move(_CHECKED_BASE(_First), _CHECKED_BASE(_Last), _Dest, _Al,
; 851  : 			_STD _Move_cat(_Dest), _STD _Range_checked_iterator_tag()));

  00004	33 c0		 xor	 eax, eax
  00006	88 45 ff	 mov	 BYTE PTR $T307415[ebp], al
  00009	8d 4d 10	 lea	 ecx, DWORD PTR __Dest$[ebp]
  0000c	51		 push	 ecx
  0000d	e8 00 00 00 00	 call	 ??$_Move_cat@PAPAVCSubPattern@@@std@@YA?AU_Undefined_move_tag@0@ABQAPAVCSubPattern@@@Z ; std::_Move_cat<CSubPattern * *>
  00012	83 c4 04	 add	 esp, 4
  00015	88 45 fe	 mov	 BYTE PTR $T307416[ebp], al
  00018	0f b6 55 ff	 movzx	 edx, BYTE PTR $T307415[ebp]
  0001c	52		 push	 edx
  0001d	0f b6 45 fe	 movzx	 eax, BYTE PTR $T307416[ebp]
  00021	50		 push	 eax
  00022	8b 4d 14	 mov	 ecx, DWORD PTR __Al$[ebp]
  00025	51		 push	 ecx
  00026	8b 55 10	 mov	 edx, DWORD PTR __Dest$[ebp]
  00029	52		 push	 edx
  0002a	8d 45 0c	 lea	 eax, DWORD PTR __Last$[ebp]
  0002d	50		 push	 eax
  0002e	e8 00 00 00 00	 call	 ??$_Checked_base@PAPAVCSubPattern@@@std@@YAPAPAVCSubPattern@@AAPAPAV1@@Z ; std::_Checked_base<CSubPattern * *>
  00033	83 c4 04	 add	 esp, 4
  00036	50		 push	 eax
  00037	8d 4d 08	 lea	 ecx, DWORD PTR __First$[ebp]
  0003a	51		 push	 ecx
  0003b	e8 00 00 00 00	 call	 ??$_Checked_base@PAPAVCSubPattern@@@std@@YAPAPAVCSubPattern@@AAPAPAV1@@Z ; std::_Checked_base<CSubPattern * *>
  00040	83 c4 04	 add	 esp, 4
  00043	50		 push	 eax
  00044	e8 00 00 00 00	 call	 ??$_Uninit_move@PAPAVCSubPattern@@PAPAV1@V?$allocator@PAVCSubPattern@@@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCSubPattern@@PAPAV1@00AAV?$allocator@PAVCSubPattern@@@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_move<CSubPattern * *,CSubPattern * *,std::allocator<CSubPattern *>,std::_Undefined_move_tag>
  00049	83 c4 18	 add	 esp, 24			; 00000018H

; 852  : 	}

  0004c	8b e5		 mov	 esp, ebp
  0004e	5d		 pop	 ebp
  0004f	c3		 ret	 0
??$_Unchecked_uninitialized_move@PAPAVCSubPattern@@PAPAV1@V?$allocator@PAVCSubPattern@@@std@@@stdext@@YAPAPAVCSubPattern@@PAPAV1@00AAV?$allocator@PAVCSubPattern@@@std@@@Z ENDP ; stdext::_Unchecked_uninitialized_move<CSubPattern * *,CSubPattern * *,std::allocator<CSubPattern *> >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Uninit_fill_n@PAPAVCSubPattern@@IPAV1@V?$allocator@PAVCSubPattern@@@std@@@std@@YAXPAPAVCSubPattern@@IABQAV1@AAV?$allocator@PAVCSubPattern@@@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Count$ = 12						; size = 4
__Val$ = 16						; size = 4
___formal$ = 20						; size = 4
___formal$ = 24						; size = 1
___formal$ = 28						; size = 1
??$_Uninit_fill_n@PAPAVCSubPattern@@IPAV1@V?$allocator@PAVCSubPattern@@@std@@@std@@YAXPAPAVCSubPattern@@IABQAV1@AAV?$allocator@PAVCSubPattern@@@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Uninit_fill_n<CSubPattern * *,unsigned int,CSubPattern *,std::allocator<CSubPattern *> >, COMDAT

; 414  : 	{	// copy _Count *_Val to raw _First, using _Al, scalar type

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 415  : 		_STDEXT unchecked_fill_n(_First, _Count, _Val);

  00003	8b 45 10	 mov	 eax, DWORD PTR __Val$[ebp]
  00006	50		 push	 eax
  00007	8b 4d 0c	 mov	 ecx, DWORD PTR __Count$[ebp]
  0000a	51		 push	 ecx
  0000b	8b 55 08	 mov	 edx, DWORD PTR __First$[ebp]
  0000e	52		 push	 edx
  0000f	e8 00 00 00 00	 call	 ??$unchecked_fill_n@PAPAVCSubPattern@@IPAV1@@stdext@@YAXPAPAVCSubPattern@@IABQAV1@@Z ; stdext::unchecked_fill_n<CSubPattern * *,unsigned int,CSubPattern *>
  00014	83 c4 0c	 add	 esp, 12			; 0000000cH

; 416  : 	}

  00017	5d		 pop	 ebp
  00018	c3		 ret	 0
??$_Uninit_fill_n@PAPAVCSubPattern@@IPAV1@V?$allocator@PAVCSubPattern@@@std@@@std@@YAXPAPAVCSubPattern@@IABQAV1@AAV?$allocator@PAVCSubPattern@@@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Uninit_fill_n<CSubPattern * *,unsigned int,CSubPattern *,std::allocator<CSubPattern *> >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ??$_Allocate@PAVCSubPattern@@@std@@YAPAPAVCSubPattern@@IPAPAV1@@Z
_TEXT	SEGMENT
$T307421 = -12						; size = 12
__Count$ = 8						; size = 4
___formal$ = 12						; size = 4
??$_Allocate@PAVCSubPattern@@@std@@YAPAPAVCSubPattern@@IPAPAV1@@Z PROC ; std::_Allocate<CSubPattern *>, COMDAT

; 36   : 	{	// check for integer overflow

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 0c	 sub	 esp, 12			; 0000000cH

; 37   : 	if (_Count <= 0)

  00006	83 7d 08 00	 cmp	 DWORD PTR __Count$[ebp], 0
  0000a	77 09		 ja	 SHORT $LN3@Allocate@18

; 38   : 		_Count = 0;

  0000c	c7 45 08 00 00
	00 00		 mov	 DWORD PTR __Count$[ebp], 0
  00013	eb 25		 jmp	 SHORT $LN2@Allocate@18
$LN3@Allocate@18:

; 39   : 	else if (((_SIZT)(-1) / _Count) < sizeof (_Ty))

  00015	83 c8 ff	 or	 eax, -1
  00018	33 d2		 xor	 edx, edx
  0001a	f7 75 08	 div	 DWORD PTR __Count$[ebp]
  0001d	83 f8 04	 cmp	 eax, 4
  00020	73 18		 jae	 SHORT $LN2@Allocate@18

; 40   : 		_THROW_NCEE(std::bad_alloc, NULL);

  00022	6a 00		 push	 0
  00024	8d 4d f4	 lea	 ecx, DWORD PTR $T307421[ebp]
  00027	e8 00 00 00 00	 call	 ??0bad_alloc@std@@QAE@PBD@Z ; std::bad_alloc::bad_alloc
  0002c	68 00 00 00 00	 push	 OFFSET __TI2?AVbad_alloc@std@@
  00031	8d 45 f4	 lea	 eax, DWORD PTR $T307421[ebp]
  00034	50		 push	 eax
  00035	e8 00 00 00 00	 call	 __CxxThrowException@8
$LN2@Allocate@18:

; 41   : 
; 42   : 		// allocate storage for _Count elements of type _Ty
; 43   : 	return ((_Ty _FARQ *)::operator new(_Count * sizeof (_Ty)));

  0003a	8b 4d 08	 mov	 ecx, DWORD PTR __Count$[ebp]
  0003d	c1 e1 02	 shl	 ecx, 2
  00040	51		 push	 ecx
  00041	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  00046	83 c4 04	 add	 esp, 4
$LN5@Allocate@18:

; 44   : 	}

  00049	8b e5		 mov	 esp, ebp
  0004b	5d		 pop	 ebp
  0004c	c3		 ret	 0
??$_Allocate@PAVCSubPattern@@@std@@YAPAPAVCSubPattern@@IPAPAV1@@Z ENDP ; std::_Allocate<CSubPattern *>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
_TEXT	ENDS
;	COMDAT ??$_Unchecked_move_backward@PAPAVCSubPattern@@PAPAV1@@stdext@@YAPAPAVCSubPattern@@PAPAV1@00@Z
_TEXT	SEGMENT
$T307426 = -3						; size = 1
$T307425 = -2						; size = 1
$T307424 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
??$_Unchecked_move_backward@PAPAVCSubPattern@@PAPAV1@@stdext@@YAPAPAVCSubPattern@@PAPAV1@00@Z PROC ; stdext::_Unchecked_move_backward<CSubPattern * *,CSubPattern * *>, COMDAT

; 3668 : 	{	// move [_First, _Last) backwards to [..., _Dest)

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx

; 3669 : 		return (_STD _Move_backward_opt(_CHECKED_BASE(_First), _CHECKED_BASE(_Last), _Dest,
; 3670 : 			_STD _Iter_random(_First, _Dest), _STD _Move_cat(_Dest), _STD _Range_checked_iterator_tag()));

  00004	33 c0		 xor	 eax, eax
  00006	88 45 ff	 mov	 BYTE PTR $T307424[ebp], al
  00009	8d 4d 10	 lea	 ecx, DWORD PTR __Dest$[ebp]
  0000c	51		 push	 ecx
  0000d	e8 00 00 00 00	 call	 ??$_Move_cat@PAPAVCSubPattern@@@std@@YA?AU_Undefined_move_tag@0@ABQAPAVCSubPattern@@@Z ; std::_Move_cat<CSubPattern * *>
  00012	83 c4 04	 add	 esp, 4
  00015	88 45 fe	 mov	 BYTE PTR $T307425[ebp], al
  00018	0f b6 55 ff	 movzx	 edx, BYTE PTR $T307424[ebp]
  0001c	52		 push	 edx
  0001d	0f b6 45 fe	 movzx	 eax, BYTE PTR $T307425[ebp]
  00021	50		 push	 eax
  00022	8d 4d 10	 lea	 ecx, DWORD PTR __Dest$[ebp]
  00025	51		 push	 ecx
  00026	8d 55 08	 lea	 edx, DWORD PTR __First$[ebp]
  00029	52		 push	 edx
  0002a	8d 45 fd	 lea	 eax, DWORD PTR $T307426[ebp]
  0002d	50		 push	 eax
  0002e	e8 00 00 00 00	 call	 ??$_Iter_random@PAPAVCSubPattern@@PAPAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCSubPattern@@0@Z ; std::_Iter_random<CSubPattern * *,CSubPattern * *>
  00033	83 c4 0c	 add	 esp, 12			; 0000000cH
  00036	0f b6 08	 movzx	 ecx, BYTE PTR [eax]
  00039	51		 push	 ecx
  0003a	8b 55 10	 mov	 edx, DWORD PTR __Dest$[ebp]
  0003d	52		 push	 edx
  0003e	8d 45 0c	 lea	 eax, DWORD PTR __Last$[ebp]
  00041	50		 push	 eax
  00042	e8 00 00 00 00	 call	 ??$_Checked_base@PAPAVCSubPattern@@@std@@YAPAPAVCSubPattern@@AAPAPAV1@@Z ; std::_Checked_base<CSubPattern * *>
  00047	83 c4 04	 add	 esp, 4
  0004a	50		 push	 eax
  0004b	8d 4d 08	 lea	 ecx, DWORD PTR __First$[ebp]
  0004e	51		 push	 ecx
  0004f	e8 00 00 00 00	 call	 ??$_Checked_base@PAPAVCSubPattern@@@std@@YAPAPAVCSubPattern@@AAPAPAV1@@Z ; std::_Checked_base<CSubPattern * *>
  00054	83 c4 04	 add	 esp, 4
  00057	50		 push	 eax
  00058	e8 00 00 00 00	 call	 ??$_Move_backward_opt@PAPAVCSubPattern@@PAPAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCSubPattern@@PAPAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Move_backward_opt<CSubPattern * *,CSubPattern * *,std::random_access_iterator_tag,std::_Undefined_move_tag>
  0005d	83 c4 18	 add	 esp, 24			; 00000018H

; 3671 : 	}

  00060	8b e5		 mov	 esp, ebp
  00062	5d		 pop	 ebp
  00063	c3		 ret	 0
??$_Unchecked_move_backward@PAPAVCSubPattern@@PAPAV1@@stdext@@YAPAPAVCSubPattern@@PAPAV1@00@Z ENDP ; stdext::_Unchecked_move_backward<CSubPattern * *,CSubPattern * *>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
_TEXT	ENDS
;	COMDAT ??$_Umove@PAPAVCSubPattern@@@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEPAPAVCSubPattern@@PAPAV2@00@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Ptr$ = 16						; size = 4
??$_Umove@PAPAVCSubPattern@@@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEPAPAVCSubPattern@@PAPAV2@00@Z PROC ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Umove<CSubPattern * *>, COMDAT
; _this$ = ecx

; 1150 : 		pointer _Umove(_Iter _First, _Iter _Last, pointer _Ptr)

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 1151 : 		{	// move initializing [_First, _Last), using allocator
; 1152 : 		return (_STDEXT _Unchecked_uninitialized_move(_First, _Last,
; 1153 : 			_Ptr, this->_Alval));

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	83 c0 08	 add	 eax, 8
  0000d	50		 push	 eax
  0000e	8b 4d 10	 mov	 ecx, DWORD PTR __Ptr$[ebp]
  00011	51		 push	 ecx
  00012	8b 55 0c	 mov	 edx, DWORD PTR __Last$[ebp]
  00015	52		 push	 edx
  00016	8b 45 08	 mov	 eax, DWORD PTR __First$[ebp]
  00019	50		 push	 eax
  0001a	e8 00 00 00 00	 call	 ??$_Unchecked_uninitialized_move@PAPAVCSubPattern@@PAPAV1@V?$allocator@PAVCSubPattern@@@std@@@stdext@@YAPAPAVCSubPattern@@PAPAV1@00AAV?$allocator@PAVCSubPattern@@@std@@@Z ; stdext::_Unchecked_uninitialized_move<CSubPattern * *,CSubPattern * *,std::allocator<CSubPattern *> >
  0001f	83 c4 10	 add	 esp, 16			; 00000010H

; 1154 : 		}

  00022	8b e5		 mov	 esp, ebp
  00024	5d		 pop	 ebp
  00025	c2 0c 00	 ret	 12			; 0000000cH
??$_Umove@PAPAVCSubPattern@@@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEPAPAVCSubPattern@@PAPAV2@00@Z ENDP ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Umove<CSubPattern * *>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\memory
_TEXT	ENDS
;	COMDAT ??$unchecked_uninitialized_fill_n@PAPAVCSubPattern@@IPAV1@V?$allocator@PAVCSubPattern@@@std@@@stdext@@YAXPAPAVCSubPattern@@IABQAV1@AAV?$allocator@PAVCSubPattern@@@std@@@Z
_TEXT	SEGMENT
$T307432 = -2						; size = 1
$T307431 = -1						; size = 1
__First$ = 8						; size = 4
__Count$ = 12						; size = 4
__Val$ = 16						; size = 4
__Al$ = 20						; size = 4
??$unchecked_uninitialized_fill_n@PAPAVCSubPattern@@IPAV1@V?$allocator@PAVCSubPattern@@@std@@@stdext@@YAXPAPAVCSubPattern@@IABQAV1@AAV?$allocator@PAVCSubPattern@@@std@@@Z PROC ; stdext::unchecked_uninitialized_fill_n<CSubPattern * *,unsigned int,CSubPattern *,std::allocator<CSubPattern *> >, COMDAT

; 920  : 	{	// copy _Count *_Val to raw _First, using _Al

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx

; 921  : 		_STD _Uninit_fill_n(_First, _Count, _Val, _Al,
; 922  : 			_STD _Ptr_cat(_First, _First), _STD _Range_checked_iterator_tag());

  00004	33 c0		 xor	 eax, eax
  00006	88 45 ff	 mov	 BYTE PTR $T307431[ebp], al
  00009	8d 4d 08	 lea	 ecx, DWORD PTR __First$[ebp]
  0000c	51		 push	 ecx
  0000d	8d 55 08	 lea	 edx, DWORD PTR __First$[ebp]
  00010	52		 push	 edx
  00011	e8 00 00 00 00	 call	 ??$_Ptr_cat@PAPAVCSubPattern@@PAPAV1@@std@@YA?AU_Scalar_ptr_iterator_tag@0@AAPAPAVCSubPattern@@0@Z ; std::_Ptr_cat<CSubPattern * *,CSubPattern * *>
  00016	83 c4 08	 add	 esp, 8
  00019	88 45 fe	 mov	 BYTE PTR $T307432[ebp], al
  0001c	0f b6 45 ff	 movzx	 eax, BYTE PTR $T307431[ebp]
  00020	50		 push	 eax
  00021	0f b6 4d fe	 movzx	 ecx, BYTE PTR $T307432[ebp]
  00025	51		 push	 ecx
  00026	8b 55 14	 mov	 edx, DWORD PTR __Al$[ebp]
  00029	52		 push	 edx
  0002a	8b 45 10	 mov	 eax, DWORD PTR __Val$[ebp]
  0002d	50		 push	 eax
  0002e	8b 4d 0c	 mov	 ecx, DWORD PTR __Count$[ebp]
  00031	51		 push	 ecx
  00032	8b 55 08	 mov	 edx, DWORD PTR __First$[ebp]
  00035	52		 push	 edx
  00036	e8 00 00 00 00	 call	 ??$_Uninit_fill_n@PAPAVCSubPattern@@IPAV1@V?$allocator@PAVCSubPattern@@@std@@@std@@YAXPAPAVCSubPattern@@IABQAV1@AAV?$allocator@PAVCSubPattern@@@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_fill_n<CSubPattern * *,unsigned int,CSubPattern *,std::allocator<CSubPattern *> >
  0003b	83 c4 18	 add	 esp, 24			; 00000018H

; 923  : 	}

  0003e	8b e5		 mov	 esp, ebp
  00040	5d		 pop	 ebp
  00041	c3		 ret	 0
??$unchecked_uninitialized_fill_n@PAPAVCSubPattern@@IPAV1@V?$allocator@PAVCSubPattern@@@std@@@stdext@@YAXPAPAVCSubPattern@@IABQAV1@AAV?$allocator@PAVCSubPattern@@@std@@@Z ENDP ; stdext::unchecked_uninitialized_fill_n<CSubPattern * *,unsigned int,CSubPattern *,std::allocator<CSubPattern *> >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
_TEXT	ENDS
;	COMDAT ??$unchecked_copy@PAPAVCColorBar@@PAPAV1@@stdext@@YAPAPAVCColorBar@@PAPAV1@00@Z
_TEXT	SEGMENT
$T307437 = -3						; size = 1
$T307436 = -2						; size = 1
$T307435 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
??$unchecked_copy@PAPAVCColorBar@@PAPAV1@@stdext@@YAPAPAVCColorBar@@PAPAV1@00@Z PROC ; stdext::unchecked_copy<CColorBar * *,CColorBar * *>, COMDAT

; 3578 : 	{	// copy [_First, _Last) to [_Dest, ...)

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx

; 3579 : 		return (_STD _Copy_opt(_CHECKED_BASE(_First), _CHECKED_BASE(_Last), _Dest,
; 3580 : 			_STD _Iter_random(_First, _Dest), _STD _Ptr_cat(_First, _Dest), _STD _Range_checked_iterator_tag()));

  00004	33 c0		 xor	 eax, eax
  00006	88 45 ff	 mov	 BYTE PTR $T307435[ebp], al
  00009	8d 4d 10	 lea	 ecx, DWORD PTR __Dest$[ebp]
  0000c	51		 push	 ecx
  0000d	8d 55 08	 lea	 edx, DWORD PTR __First$[ebp]
  00010	52		 push	 edx
  00011	e8 00 00 00 00	 call	 ??$_Ptr_cat@PAPAVCColorBar@@PAPAV1@@std@@YA?AU_Scalar_ptr_iterator_tag@0@AAPAPAVCColorBar@@0@Z ; std::_Ptr_cat<CColorBar * *,CColorBar * *>
  00016	83 c4 08	 add	 esp, 8
  00019	88 45 fe	 mov	 BYTE PTR $T307436[ebp], al
  0001c	0f b6 45 ff	 movzx	 eax, BYTE PTR $T307435[ebp]
  00020	50		 push	 eax
  00021	0f b6 4d fe	 movzx	 ecx, BYTE PTR $T307436[ebp]
  00025	51		 push	 ecx
  00026	8d 55 10	 lea	 edx, DWORD PTR __Dest$[ebp]
  00029	52		 push	 edx
  0002a	8d 45 08	 lea	 eax, DWORD PTR __First$[ebp]
  0002d	50		 push	 eax
  0002e	8d 4d fd	 lea	 ecx, DWORD PTR $T307437[ebp]
  00031	51		 push	 ecx
  00032	e8 00 00 00 00	 call	 ??$_Iter_random@PAPAVCColorBar@@PAPAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCColorBar@@0@Z ; std::_Iter_random<CColorBar * *,CColorBar * *>
  00037	83 c4 0c	 add	 esp, 12			; 0000000cH
  0003a	0f b6 10	 movzx	 edx, BYTE PTR [eax]
  0003d	52		 push	 edx
  0003e	8b 45 10	 mov	 eax, DWORD PTR __Dest$[ebp]
  00041	50		 push	 eax
  00042	8d 4d 0c	 lea	 ecx, DWORD PTR __Last$[ebp]
  00045	51		 push	 ecx
  00046	e8 00 00 00 00	 call	 ??$_Checked_base@PAPAVCColorBar@@@std@@YAPAPAVCColorBar@@AAPAPAV1@@Z ; std::_Checked_base<CColorBar * *>
  0004b	83 c4 04	 add	 esp, 4
  0004e	50		 push	 eax
  0004f	8d 55 08	 lea	 edx, DWORD PTR __First$[ebp]
  00052	52		 push	 edx
  00053	e8 00 00 00 00	 call	 ??$_Checked_base@PAPAVCColorBar@@@std@@YAPAPAVCColorBar@@AAPAPAV1@@Z ; std::_Checked_base<CColorBar * *>
  00058	83 c4 04	 add	 esp, 4
  0005b	50		 push	 eax
  0005c	e8 00 00 00 00	 call	 ??$_Copy_opt@PAPAVCColorBar@@PAPAV1@Urandom_access_iterator_tag@std@@@std@@YAPAPAVCColorBar@@PAPAV1@00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_opt<CColorBar * *,CColorBar * *,std::random_access_iterator_tag>
  00061	83 c4 18	 add	 esp, 24			; 00000018H

; 3581 : 	}

  00064	8b e5		 mov	 esp, ebp
  00066	5d		 pop	 ebp
  00067	c3		 ret	 0
??$unchecked_copy@PAPAVCColorBar@@PAPAV1@@stdext@@YAPAPAVCColorBar@@PAPAV1@00@Z ENDP ; stdext::unchecked_copy<CColorBar * *,CColorBar * *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$_Iterator_with_base@Urandom_access_iterator_tag@std@@PAVCSubPattern@@HPBQAV3@ABQAV3@V_Iterator_base_aux@2@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??0?$_Iterator_with_base@Urandom_access_iterator_tag@std@@PAVCSubPattern@@HPBQAV3@ABQAV3@V_Iterator_base_aux@2@@std@@QAE@XZ PROC ; std::_Iterator_with_base<std::random_access_iterator_tag,CSubPattern *,int,CSubPattern * const *,CSubPattern * const &,std::_Iterator_base_aux>::_Iterator_with_base<std::random_access_iterator_tag,CSubPattern *,int,CSubPattern * const *,CSubPattern * const &,std::_Iterator_base_aux>, COMDAT
; _this$ = ecx
  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx
  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	e8 00 00 00 00	 call	 ??0_Iterator_base_aux@std@@QAE@XZ ; std::_Iterator_base_aux::_Iterator_base_aux
  0000f	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00012	8b e5		 mov	 esp, ebp
  00014	5d		 pop	 ebp
  00015	c3		 ret	 0
??0?$_Iterator_with_base@Urandom_access_iterator_tag@std@@PAVCSubPattern@@HPBQAV3@ABQAV3@V_Iterator_base_aux@2@@std@@QAE@XZ ENDP ; std::_Iterator_with_base<std::random_access_iterator_tag,CSubPattern *,int,CSubPattern * const *,CSubPattern * const &,std::_Iterator_base_aux>::_Iterator_with_base<std::random_access_iterator_tag,CSubPattern *,int,CSubPattern * const *,CSubPattern * const &,std::_Iterator_base_aux>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$_Ranit@PAVCSubPattern@@HPBQAV1@ABQAV1@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??0?$_Ranit@PAVCSubPattern@@HPBQAV1@ABQAV1@@std@@QAE@XZ PROC ; std::_Ranit<CSubPattern *,int,CSubPattern * const *,CSubPattern * const &>::_Ranit<CSubPattern *,int,CSubPattern * const *,CSubPattern * const &>, COMDAT
; _this$ = ecx
  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx
  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	e8 00 00 00 00	 call	 ??0?$_Iterator_with_base@Urandom_access_iterator_tag@std@@PAVCSubPattern@@HPBQAV3@ABQAV3@V_Iterator_base_aux@2@@std@@QAE@XZ
  0000f	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00012	8b e5		 mov	 esp, ebp
  00014	5d		 pop	 ebp
  00015	c3		 ret	 0
??0?$_Ranit@PAVCSubPattern@@HPBQAV1@ABQAV1@@std@@QAE@XZ ENDP ; std::_Ranit<CSubPattern *,int,CSubPattern * const *,CSubPattern * const &>::_Ranit<CSubPattern *,int,CSubPattern * const *,CSubPattern * const &>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
_TEXT	ENDS
;	COMDAT ??G?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEHABV01@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Right$ = 8						; size = 4
??G?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEHABV01@@Z PROC ; std::_Vector_const_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator-, COMDAT
; _this$ = ecx

; 186  : 		{	// return difference of iterators

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 187  : 
; 188  :  #if _HAS_ITERATOR_DEBUGGING
; 189  : 		_Compat(_Right);
; 190  :  #else
; 191  : 		_SCL_SECURE_VALIDATE(this->_Has_container() && this->_Same_container(_Right));

  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	e8 00 00 00 00	 call	 ?_Has_container@_Iterator_base_aux@std@@QBE_NXZ ; std::_Iterator_base_aux::_Has_container
  0000f	0f b6 c0	 movzx	 eax, al
  00012	85 c0		 test	 eax, eax
  00014	74 13		 je	 SHORT $LN4@operator@129
  00016	8b 4d 08	 mov	 ecx, DWORD PTR __Right$[ebp]
  00019	51		 push	 ecx
  0001a	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0001d	e8 00 00 00 00	 call	 ?_Same_container@_Iterator_base_aux@std@@QBE_NABV12@@Z ; std::_Iterator_base_aux::_Same_container
  00022	0f b6 d0	 movzx	 edx, al
  00025	85 d2		 test	 edx, edx
  00027	75 05		 jne	 SHORT $LN2@operator@129
$LN4@operator@129:
  00029	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN2@operator@129:
  0002e	33 c0		 xor	 eax, eax
  00030	75 fc		 jne	 SHORT $LN2@operator@129

; 192  :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 193  : 
; 194  : 		return (_Myptr - _Right._Myptr);

  00032	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00035	8b 55 08	 mov	 edx, DWORD PTR __Right$[ebp]
  00038	8b 41 04	 mov	 eax, DWORD PTR [ecx+4]
  0003b	2b 42 04	 sub	 eax, DWORD PTR [edx+4]
  0003e	c1 f8 02	 sar	 eax, 2

; 195  : 		}

  00041	8b e5		 mov	 esp, ebp
  00043	5d		 pop	 ebp
  00044	c2 04 00	 ret	 4
??G?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEHABV01@@Z ENDP ; std::_Vector_const_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator-
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@PAPAVCSubPattern@@PBV_Container_base_aux@1@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Ptr$ = 8						; size = 4
__Pvector$ = 12						; size = 4
??0?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@PAPAVCSubPattern@@PBV_Container_base_aux@1@@Z PROC ; std::_Vector_const_iterator<CSubPattern *,std::allocator<CSubPattern *> >::_Vector_const_iterator<CSubPattern *,std::allocator<CSubPattern *> >, COMDAT
; _this$ = ecx

; 76   : 	_Vector_const_iterator(_Tptr _Ptr, const _Container_base *_Pvector)

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx
  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	e8 00 00 00 00	 call	 ??0?$_Ranit@PAVCSubPattern@@HPBQAV1@ABQAV1@@std@@QAE@XZ

; 77   : 		{	// construct with pointer _Ptr
; 78   : 		_SCL_SECURE_VALIDATE(_Pvector != NULL && ((_Myvec *)_Pvector)->_Myfirst <= _Ptr && _Ptr <= ((_Myvec *)_Pvector)->_Mylast);

  0000f	83 7d 0c 00	 cmp	 DWORD PTR __Pvector$[ebp], 0
  00013	74 16		 je	 SHORT $LN4@Vector_con@16
  00015	8b 45 0c	 mov	 eax, DWORD PTR __Pvector$[ebp]
  00018	8b 48 0c	 mov	 ecx, DWORD PTR [eax+12]
  0001b	3b 4d 08	 cmp	 ecx, DWORD PTR __Ptr$[ebp]
  0001e	77 0b		 ja	 SHORT $LN4@Vector_con@16
  00020	8b 55 0c	 mov	 edx, DWORD PTR __Pvector$[ebp]
  00023	8b 45 08	 mov	 eax, DWORD PTR __Ptr$[ebp]
  00026	3b 42 10	 cmp	 eax, DWORD PTR [edx+16]
  00029	76 05		 jbe	 SHORT $LN2@Vector_con@16
$LN4@Vector_con@16:
  0002b	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN2@Vector_con@16:
  00030	33 c9		 xor	 ecx, ecx
  00032	75 fc		 jne	 SHORT $LN2@Vector_con@16

; 79   : 		this->_Set_container(_Pvector);

  00034	8b 55 0c	 mov	 edx, DWORD PTR __Pvector$[ebp]
  00037	52		 push	 edx
  00038	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0003b	e8 00 00 00 00	 call	 ?_Set_container@_Iterator_base_aux@std@@QAEXQBV_Container_base_aux@2@@Z ; std::_Iterator_base_aux::_Set_container

; 80   : 		_Myptr = _Ptr;

  00040	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00043	8b 4d 08	 mov	 ecx, DWORD PTR __Ptr$[ebp]
  00046	89 48 04	 mov	 DWORD PTR [eax+4], ecx

; 81   : 		}

  00049	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0004c	8b e5		 mov	 esp, ebp
  0004e	5d		 pop	 ebp
  0004f	c2 08 00	 ret	 8
??0?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@PAPAVCSubPattern@@PBV_Container_base_aux@1@@Z ENDP ; std::_Vector_const_iterator<CSubPattern *,std::allocator<CSubPattern *> >::_Vector_const_iterator<CSubPattern *,std::allocator<CSubPattern *> >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ?allocate@?$allocator@PAVCSubPattern@@@std@@QAEPAPAVCSubPattern@@I@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Count$ = 8						; size = 4
?allocate@?$allocator@PAVCSubPattern@@@std@@QAEPAPAVCSubPattern@@I@Z PROC ; std::allocator<CSubPattern *>::allocate, COMDAT
; _this$ = ecx

; 144  : 		{	// allocate array of _Count elements

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 145  : 		return (_Allocate(_Count, (pointer)0));

  00007	6a 00		 push	 0
  00009	8b 45 08	 mov	 eax, DWORD PTR __Count$[ebp]
  0000c	50		 push	 eax
  0000d	e8 00 00 00 00	 call	 ??$_Allocate@PAVCSubPattern@@@std@@YAPAPAVCSubPattern@@IPAPAV1@@Z ; std::_Allocate<CSubPattern *>
  00012	83 c4 08	 add	 esp, 8

; 146  : 		}

  00015	8b e5		 mov	 esp, ebp
  00017	5d		 pop	 ebp
  00018	c2 04 00	 ret	 4
?allocate@?$allocator@PAVCSubPattern@@@std@@QAEPAPAVCSubPattern@@I@Z ENDP ; std::allocator<CSubPattern *>::allocate
_TEXT	ENDS
;	COMDAT xdata$x
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
xdata$x	SEGMENT
__unwindtable$??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@V?$allocator@PAVCSubPattern@@@1@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@V?$allocator@PAVCSubPattern@@@1@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@V?$allocator@PAVCSubPattern@@@1@@Z$1
__ehfuncinfo$??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@V?$allocator@PAVCSubPattern@@@1@@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@V?$allocator@PAVCSubPattern@@@1@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@V?$allocator@PAVCSubPattern@@@1@@Z
_TEXT	SEGMENT
tv133 = -32						; size = 4
_this$ = -28						; size = 4
$T307452 = -24						; size = 4
$T307451 = -20						; size = 4
$T307450 = -16						; size = 4
__$EHRec$ = -12						; size = 12
__Al$ = 8						; size = 1
??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@V?$allocator@PAVCSubPattern@@@1@@Z PROC ; std::_Container_base_aux_alloc_real<std::allocator<CSubPattern *> >::_Container_base_aux_alloc_real<std::allocator<CSubPattern *> >, COMDAT
; _this$ = ecx

; 419  : 		{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@V?$allocator@PAVCSubPattern@@@1@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 14	 sub	 esp, 20			; 00000014H
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	50		 push	 eax
  0001c	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001f	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00025	89 4d e4	 mov	 DWORD PTR _this$[ebp], ecx
  00028	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  0002b	e8 00 00 00 00	 call	 ??0_Container_base_aux@std@@QAE@XZ ; std::_Container_base_aux::_Container_base_aux
  00030	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00037	8d 45 08	 lea	 eax, DWORD PTR __Al$[ebp]
  0003a	50		 push	 eax
  0003b	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  0003e	83 c1 04	 add	 ecx, 4
  00041	e8 00 00 00 00	 call	 ??$?0PAVCSubPattern@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@PAVCSubPattern@@@1@@Z ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><CSubPattern *>

; 420  : 		_Myownedaux = new (_Alaux.allocate(1)) _Aux_cont(this);

  00046	6a 01		 push	 1
  00048	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  0004b	83 c1 04	 add	 ecx, 4
  0004e	e8 00 00 00 00	 call	 ?allocate@?$allocator@V_Aux_cont@std@@@std@@QAEPAV_Aux_cont@2@I@Z ; std::allocator<std::_Aux_cont>::allocate
  00053	89 45 e8	 mov	 DWORD PTR $T307452[ebp], eax
  00056	8b 4d e8	 mov	 ecx, DWORD PTR $T307452[ebp]
  00059	51		 push	 ecx
  0005a	6a 04		 push	 4
  0005c	e8 00 00 00 00	 call	 ??2@YAPAXIPAX@Z		; operator new
  00061	83 c4 08	 add	 esp, 8
  00064	89 45 ec	 mov	 DWORD PTR $T307451[ebp], eax
  00067	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  0006b	83 7d ec 00	 cmp	 DWORD PTR $T307451[ebp], 0
  0006f	74 11		 je	 SHORT $LN3@Container_@19
  00071	8b 55 e4	 mov	 edx, DWORD PTR _this$[ebp]
  00074	52		 push	 edx
  00075	8b 4d ec	 mov	 ecx, DWORD PTR $T307451[ebp]
  00078	e8 00 00 00 00	 call	 ??0_Aux_cont@std@@QAE@QBV_Container_base_aux@1@@Z ; std::_Aux_cont::_Aux_cont
  0007d	89 45 e0	 mov	 DWORD PTR tv133[ebp], eax
  00080	eb 07		 jmp	 SHORT $LN4@Container_@19
$LN3@Container_@19:
  00082	c7 45 e0 00 00
	00 00		 mov	 DWORD PTR tv133[ebp], 0
$LN4@Container_@19:
  00089	8b 45 e0	 mov	 eax, DWORD PTR tv133[ebp]
  0008c	89 45 f0	 mov	 DWORD PTR $T307450[ebp], eax
  0008f	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  00093	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00096	8b 55 f0	 mov	 edx, DWORD PTR $T307450[ebp]
  00099	89 11		 mov	 DWORD PTR [ecx], edx

; 421  : 		}

  0009b	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  000a2	8b 45 e4	 mov	 eax, DWORD PTR _this$[ebp]
  000a5	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  000a8	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000af	59		 pop	 ecx
  000b0	8b e5		 mov	 esp, ebp
  000b2	5d		 pop	 ebp
  000b3	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@V?$allocator@PAVCSubPattern@@@1@@Z$0:
  00000	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1_Container_base_aux@std@@QAE@XZ ; std::_Container_base_aux::~_Container_base_aux
__unwindfunclet$??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@V?$allocator@PAVCSubPattern@@@1@@Z$1:
  00008	8b 45 e8	 mov	 eax, DWORD PTR $T307452[ebp]
  0000b	50		 push	 eax
  0000c	8b 4d ec	 mov	 ecx, DWORD PTR $T307451[ebp]
  0000f	51		 push	 ecx
  00010	e8 00 00 00 00	 call	 ??3@YAXPAX0@Z		; operator delete
  00015	83 c4 08	 add	 esp, 8
  00018	c3		 ret	 0
__ehhandler$??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@V?$allocator@PAVCSubPattern@@@1@@Z:
  00019	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0001d	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00020	8b 4a e8	 mov	 ecx, DWORD PTR [edx-24]
  00023	33 c8		 xor	 ecx, eax
  00025	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0002a	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@V?$allocator@PAVCSubPattern@@@1@@Z
  0002f	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@V?$allocator@PAVCSubPattern@@@1@@Z ENDP ; std::_Container_base_aux_alloc_real<std::allocator<CSubPattern *> >::_Container_base_aux_alloc_real<std::allocator<CSubPattern *> >
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@V?$allocator@PAVCColorBar@@@1@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@V?$allocator@PAVCColorBar@@@1@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@V?$allocator@PAVCColorBar@@@1@@Z$1
__ehfuncinfo$??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@V?$allocator@PAVCColorBar@@@1@@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@V?$allocator@PAVCColorBar@@@1@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@V?$allocator@PAVCColorBar@@@1@@Z
_TEXT	SEGMENT
tv133 = -32						; size = 4
_this$ = -28						; size = 4
$T307467 = -24						; size = 4
$T307466 = -20						; size = 4
$T307465 = -16						; size = 4
__$EHRec$ = -12						; size = 12
__Al$ = 8						; size = 1
??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@V?$allocator@PAVCColorBar@@@1@@Z PROC ; std::_Container_base_aux_alloc_real<std::allocator<CColorBar *> >::_Container_base_aux_alloc_real<std::allocator<CColorBar *> >, COMDAT
; _this$ = ecx

; 419  : 		{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@V?$allocator@PAVCColorBar@@@1@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 14	 sub	 esp, 20			; 00000014H
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	50		 push	 eax
  0001c	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001f	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00025	89 4d e4	 mov	 DWORD PTR _this$[ebp], ecx
  00028	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  0002b	e8 00 00 00 00	 call	 ??0_Container_base_aux@std@@QAE@XZ ; std::_Container_base_aux::_Container_base_aux
  00030	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00037	8d 45 08	 lea	 eax, DWORD PTR __Al$[ebp]
  0003a	50		 push	 eax
  0003b	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  0003e	83 c1 04	 add	 ecx, 4
  00041	e8 00 00 00 00	 call	 ??$?0PAVCColorBar@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@PAVCColorBar@@@1@@Z ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><CColorBar *>

; 420  : 		_Myownedaux = new (_Alaux.allocate(1)) _Aux_cont(this);

  00046	6a 01		 push	 1
  00048	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  0004b	83 c1 04	 add	 ecx, 4
  0004e	e8 00 00 00 00	 call	 ?allocate@?$allocator@V_Aux_cont@std@@@std@@QAEPAV_Aux_cont@2@I@Z ; std::allocator<std::_Aux_cont>::allocate
  00053	89 45 e8	 mov	 DWORD PTR $T307467[ebp], eax
  00056	8b 4d e8	 mov	 ecx, DWORD PTR $T307467[ebp]
  00059	51		 push	 ecx
  0005a	6a 04		 push	 4
  0005c	e8 00 00 00 00	 call	 ??2@YAPAXIPAX@Z		; operator new
  00061	83 c4 08	 add	 esp, 8
  00064	89 45 ec	 mov	 DWORD PTR $T307466[ebp], eax
  00067	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  0006b	83 7d ec 00	 cmp	 DWORD PTR $T307466[ebp], 0
  0006f	74 11		 je	 SHORT $LN3@Container_@20
  00071	8b 55 e4	 mov	 edx, DWORD PTR _this$[ebp]
  00074	52		 push	 edx
  00075	8b 4d ec	 mov	 ecx, DWORD PTR $T307466[ebp]
  00078	e8 00 00 00 00	 call	 ??0_Aux_cont@std@@QAE@QBV_Container_base_aux@1@@Z ; std::_Aux_cont::_Aux_cont
  0007d	89 45 e0	 mov	 DWORD PTR tv133[ebp], eax
  00080	eb 07		 jmp	 SHORT $LN4@Container_@20
$LN3@Container_@20:
  00082	c7 45 e0 00 00
	00 00		 mov	 DWORD PTR tv133[ebp], 0
$LN4@Container_@20:
  00089	8b 45 e0	 mov	 eax, DWORD PTR tv133[ebp]
  0008c	89 45 f0	 mov	 DWORD PTR $T307465[ebp], eax
  0008f	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  00093	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00096	8b 55 f0	 mov	 edx, DWORD PTR $T307465[ebp]
  00099	89 11		 mov	 DWORD PTR [ecx], edx

; 421  : 		}

  0009b	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  000a2	8b 45 e4	 mov	 eax, DWORD PTR _this$[ebp]
  000a5	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  000a8	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000af	59		 pop	 ecx
  000b0	8b e5		 mov	 esp, ebp
  000b2	5d		 pop	 ebp
  000b3	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@V?$allocator@PAVCColorBar@@@1@@Z$0:
  00000	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1_Container_base_aux@std@@QAE@XZ ; std::_Container_base_aux::~_Container_base_aux
__unwindfunclet$??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@V?$allocator@PAVCColorBar@@@1@@Z$1:
  00008	8b 45 e8	 mov	 eax, DWORD PTR $T307467[ebp]
  0000b	50		 push	 eax
  0000c	8b 4d ec	 mov	 ecx, DWORD PTR $T307466[ebp]
  0000f	51		 push	 ecx
  00010	e8 00 00 00 00	 call	 ??3@YAXPAX0@Z		; operator delete
  00015	83 c4 08	 add	 esp, 8
  00018	c3		 ret	 0
__ehhandler$??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@V?$allocator@PAVCColorBar@@@1@@Z:
  00019	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0001d	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00020	8b 4a e8	 mov	 ecx, DWORD PTR [edx-24]
  00023	33 c8		 xor	 ecx, eax
  00025	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0002a	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@V?$allocator@PAVCColorBar@@@1@@Z
  0002f	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@V?$allocator@PAVCColorBar@@@1@@Z ENDP ; std::_Container_base_aux_alloc_real<std::allocator<CColorBar *> >::_Container_base_aux_alloc_real<std::allocator<CColorBar *> >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ??8?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBE_NABV01@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Right$ = 8						; size = 4
??8?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBE_NABV01@@Z PROC ; std::_Vector_const_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator==, COMDAT
; _this$ = ecx

; 203  : 		{	// test for iterator equality

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 204  : 
; 205  :  #if _HAS_ITERATOR_DEBUGGING
; 206  : 		_Compat(_Right);
; 207  :  #else
; 208  : 		_SCL_SECURE_VALIDATE(this->_Has_container() && this->_Same_container(_Right));

  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	e8 00 00 00 00	 call	 ?_Has_container@_Iterator_base_aux@std@@QBE_NXZ ; std::_Iterator_base_aux::_Has_container
  0000f	0f b6 c0	 movzx	 eax, al
  00012	85 c0		 test	 eax, eax
  00014	74 13		 je	 SHORT $LN4@operator@130
  00016	8b 4d 08	 mov	 ecx, DWORD PTR __Right$[ebp]
  00019	51		 push	 ecx
  0001a	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0001d	e8 00 00 00 00	 call	 ?_Same_container@_Iterator_base_aux@std@@QBE_NABV12@@Z ; std::_Iterator_base_aux::_Same_container
  00022	0f b6 d0	 movzx	 edx, al
  00025	85 d2		 test	 edx, edx
  00027	75 05		 jne	 SHORT $LN2@operator@130
$LN4@operator@130:
  00029	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN2@operator@130:
  0002e	33 c0		 xor	 eax, eax
  00030	75 fc		 jne	 SHORT $LN2@operator@130

; 209  :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 210  : 
; 211  : 		return (_Myptr == _Right._Myptr);

  00032	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00035	8b 55 08	 mov	 edx, DWORD PTR __Right$[ebp]
  00038	8b 41 04	 mov	 eax, DWORD PTR [ecx+4]
  0003b	33 c9		 xor	 ecx, ecx
  0003d	3b 42 04	 cmp	 eax, DWORD PTR [edx+4]
  00040	0f 94 c1	 sete	 cl
  00043	8a c1		 mov	 al, cl

; 212  : 		}

  00045	8b e5		 mov	 esp, ebp
  00047	5d		 pop	 ebp
  00048	c2 04 00	 ret	 4
??8?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBE_NABV01@@Z ENDP ; std::_Vector_const_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator==
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@PAPAVCSubPattern@@PBV_Container_base_aux@1@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Ptr$ = 8						; size = 4
__Pvector$ = 12						; size = 4
??0?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@PAPAVCSubPattern@@PBV_Container_base_aux@1@@Z PROC ; std::_Vector_iterator<CSubPattern *,std::allocator<CSubPattern *> >::_Vector_iterator<CSubPattern *,std::allocator<CSubPattern *> >, COMDAT
; _this$ = ecx

; 327  : 		{	// construct with pointer _Ptr

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx
  00007	8b 45 0c	 mov	 eax, DWORD PTR __Pvector$[ebp]
  0000a	50		 push	 eax
  0000b	8b 4d 08	 mov	 ecx, DWORD PTR __Ptr$[ebp]
  0000e	51		 push	 ecx
  0000f	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00012	e8 00 00 00 00	 call	 ??0?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@PAPAVCSubPattern@@PBV_Container_base_aux@1@@Z ; std::_Vector_const_iterator<CSubPattern *,std::allocator<CSubPattern *> >::_Vector_const_iterator<CSubPattern *,std::allocator<CSubPattern *> >

; 328  : 		}

  00017	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0001a	8b e5		 mov	 esp, ebp
  0001c	5d		 pop	 ebp
  0001d	c2 08 00	 ret	 8
??0?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@PAPAVCSubPattern@@PBV_Container_base_aux@1@@Z ENDP ; std::_Vector_iterator<CSubPattern *,std::allocator<CSubPattern *> >::_Vector_iterator<CSubPattern *,std::allocator<CSubPattern *> >
_TEXT	ENDS
;	COMDAT xdata$x
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
xdata$x	SEGMENT
__unwindtable$??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@XZ$0
__ehfuncinfo$??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@XZ PROC ; std::_Container_base_aux_alloc_real<std::allocator<CSubPattern *> >::~_Container_base_aux_alloc_real<std::allocator<CSubPattern *> >, COMDAT
; _this$ = ecx

; 436  : 		{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	51		 push	 ecx
  00012	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00017	33 c5		 xor	 eax, ebp
  00019	50		 push	 eax
  0001a	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001d	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00023	89 4d f0	 mov	 DWORD PTR _this$[ebp], ecx
  00026	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 437  : 		_Myownedaux->~_Aux_cont();
; 438  : 
; 439  : 		_Alaux.deallocate(_Myownedaux, 1);

  0002d	6a 01		 push	 1
  0002f	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  00032	8b 08		 mov	 ecx, DWORD PTR [eax]
  00034	51		 push	 ecx
  00035	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00038	83 c1 04	 add	 ecx, 4
  0003b	e8 00 00 00 00	 call	 ?deallocate@?$allocator@V_Aux_cont@std@@@std@@QAEXPAV_Aux_cont@2@I@Z ; std::allocator<std::_Aux_cont>::deallocate

; 440  : 		}

  00040	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00047	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0004a	e8 00 00 00 00	 call	 ??1_Container_base_aux@std@@QAE@XZ ; std::_Container_base_aux::~_Container_base_aux
  0004f	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00052	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00059	59		 pop	 ecx
  0005a	8b e5		 mov	 esp, ebp
  0005c	5d		 pop	 ebp
  0005d	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1_Container_base_aux@std@@QAE@XZ ; std::_Container_base_aux::~_Container_base_aux
__ehhandler$??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@XZ:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  00012	33 c8		 xor	 ecx, eax
  00014	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00019	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@XZ ENDP ; std::_Container_base_aux_alloc_real<std::allocator<CSubPattern *> >::~_Container_base_aux_alloc_real<std::allocator<CSubPattern *> >
;	COMDAT xdata$x
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
xdata$x	SEGMENT
__unwindtable$??0?$_Vector_val@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@V?$allocator@PAVCSubPattern@@@1@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$_Vector_val@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@V?$allocator@PAVCSubPattern@@@1@@Z$0
__ehfuncinfo$??0?$_Vector_val@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@V?$allocator@PAVCSubPattern@@@1@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0?$_Vector_val@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@V?$allocator@PAVCSubPattern@@@1@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0?$_Vector_val@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@V?$allocator@PAVCSubPattern@@@1@@Z
_TEXT	SEGMENT
_this$ = -20						; size = 4
$T307493 = -16						; size = 4
__$EHRec$ = -12						; size = 12
__Al$ = 8						; size = 1
??0?$_Vector_val@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@V?$allocator@PAVCSubPattern@@@1@@Z PROC ; std::_Vector_val<CSubPattern *,std::allocator<CSubPattern *> >::_Vector_val<CSubPattern *,std::allocator<CSubPattern *> >, COMDAT
; _this$ = ecx

; 425  : 		{	// construct allocator from _Al

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0?$_Vector_val@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@V?$allocator@PAVCSubPattern@@@1@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 08	 sub	 esp, 8
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	50		 push	 eax
  0001c	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001f	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00025	89 4d ec	 mov	 DWORD PTR _this$[ebp], ecx
  00028	51		 push	 ecx
  00029	8b cc		 mov	 ecx, esp
  0002b	89 65 f0	 mov	 DWORD PTR $T307493[ebp], esp
  0002e	8d 45 08	 lea	 eax, DWORD PTR __Al$[ebp]
  00031	50		 push	 eax
  00032	e8 00 00 00 00	 call	 ??0?$allocator@PAVCSubPattern@@@std@@QAE@ABV01@@Z ; std::allocator<CSubPattern *>::allocator<CSubPattern *>
  00037	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  0003a	e8 00 00 00 00	 call	 ??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@V?$allocator@PAVCSubPattern@@@1@@Z ; std::_Container_base_aux_alloc_real<std::allocator<CSubPattern *> >::_Container_base_aux_alloc_real<std::allocator<CSubPattern *> >
  0003f	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00046	8d 4d 08	 lea	 ecx, DWORD PTR __Al$[ebp]
  00049	51		 push	 ecx
  0004a	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  0004d	83 c1 08	 add	 ecx, 8
  00050	e8 00 00 00 00	 call	 ??0?$allocator@PAVCSubPattern@@@std@@QAE@ABV01@@Z ; std::allocator<CSubPattern *>::allocator<CSubPattern *>

; 426  : 		}

  00055	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0005c	8b 45 ec	 mov	 eax, DWORD PTR _this$[ebp]
  0005f	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00062	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00069	59		 pop	 ecx
  0006a	8b e5		 mov	 esp, ebp
  0006c	5d		 pop	 ebp
  0006d	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$_Vector_val@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@V?$allocator@PAVCSubPattern@@@1@@Z$0:
  00000	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<CSubPattern *> >::~_Container_base_aux_alloc_real<std::allocator<CSubPattern *> >
__ehhandler$??0?$_Vector_val@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@V?$allocator@PAVCSubPattern@@@1@@Z:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a f4	 mov	 ecx, DWORD PTR [edx-12]
  00012	33 c8		 xor	 ecx, eax
  00014	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00019	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0?$_Vector_val@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@V?$allocator@PAVCSubPattern@@@1@@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0?$_Vector_val@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@V?$allocator@PAVCSubPattern@@@1@@Z ENDP ; std::_Vector_val<CSubPattern *,std::allocator<CSubPattern *> >::_Vector_val<CSubPattern *,std::allocator<CSubPattern *> >
; Function compile flags: /Odtp
;	COMDAT ?_Ufill@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEPAPAVCSubPattern@@PAPAV3@IABQAV3@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Ptr$ = 8						; size = 4
__Count$ = 12						; size = 4
__Val$ = 16						; size = 4
?_Ufill@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEPAPAVCSubPattern@@PAPAV3@IABQAV3@@Z PROC ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Ufill, COMDAT
; _this$ = ecx

; 1251 : 		{	// copy initializing _Count * _Val, using allocator

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 1252 : 		_STDEXT unchecked_uninitialized_fill_n(_Ptr, _Count, _Val, this->_Alval);

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	83 c0 08	 add	 eax, 8
  0000d	50		 push	 eax
  0000e	8b 4d 10	 mov	 ecx, DWORD PTR __Val$[ebp]
  00011	51		 push	 ecx
  00012	8b 55 0c	 mov	 edx, DWORD PTR __Count$[ebp]
  00015	52		 push	 edx
  00016	8b 45 08	 mov	 eax, DWORD PTR __Ptr$[ebp]
  00019	50		 push	 eax
  0001a	e8 00 00 00 00	 call	 ??$unchecked_uninitialized_fill_n@PAPAVCSubPattern@@IPAV1@V?$allocator@PAVCSubPattern@@@std@@@stdext@@YAXPAPAVCSubPattern@@IABQAV1@AAV?$allocator@PAVCSubPattern@@@std@@@Z ; stdext::unchecked_uninitialized_fill_n<CSubPattern * *,unsigned int,CSubPattern *,std::allocator<CSubPattern *> >
  0001f	83 c4 10	 add	 esp, 16			; 00000010H

; 1253 : 		return (_Ptr + _Count);

  00022	8b 4d 0c	 mov	 ecx, DWORD PTR __Count$[ebp]
  00025	8b 55 08	 mov	 edx, DWORD PTR __Ptr$[ebp]
  00028	8d 04 8a	 lea	 eax, DWORD PTR [edx+ecx*4]

; 1254 : 		}

  0002b	8b e5		 mov	 esp, ebp
  0002d	5d		 pop	 ebp
  0002e	c2 0c 00	 ret	 12			; 0000000cH
?_Ufill@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEPAPAVCSubPattern@@PAPAV3@IABQAV3@@Z ENDP ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Ufill
_TEXT	ENDS
;	COMDAT xdata$x
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
xdata$x	SEGMENT
__unwindtable$??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@XZ$0
__ehfuncinfo$??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@XZ PROC ; std::_Container_base_aux_alloc_real<std::allocator<CColorBar *> >::~_Container_base_aux_alloc_real<std::allocator<CColorBar *> >, COMDAT
; _this$ = ecx

; 436  : 		{

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	51		 push	 ecx
  00012	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00017	33 c5		 xor	 eax, ebp
  00019	50		 push	 eax
  0001a	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001d	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00023	89 4d f0	 mov	 DWORD PTR _this$[ebp], ecx
  00026	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 437  : 		_Myownedaux->~_Aux_cont();
; 438  : 
; 439  : 		_Alaux.deallocate(_Myownedaux, 1);

  0002d	6a 01		 push	 1
  0002f	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  00032	8b 08		 mov	 ecx, DWORD PTR [eax]
  00034	51		 push	 ecx
  00035	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00038	83 c1 04	 add	 ecx, 4
  0003b	e8 00 00 00 00	 call	 ?deallocate@?$allocator@V_Aux_cont@std@@@std@@QAEXPAV_Aux_cont@2@I@Z ; std::allocator<std::_Aux_cont>::deallocate

; 440  : 		}

  00040	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00047	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0004a	e8 00 00 00 00	 call	 ??1_Container_base_aux@std@@QAE@XZ ; std::_Container_base_aux::~_Container_base_aux
  0004f	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00052	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00059	59		 pop	 ecx
  0005a	8b e5		 mov	 esp, ebp
  0005c	5d		 pop	 ebp
  0005d	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1_Container_base_aux@std@@QAE@XZ ; std::_Container_base_aux::~_Container_base_aux
__ehhandler$??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@XZ:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  00012	33 c8		 xor	 ecx, eax
  00014	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00019	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@XZ ENDP ; std::_Container_base_aux_alloc_real<std::allocator<CColorBar *> >::~_Container_base_aux_alloc_real<std::allocator<CColorBar *> >
;	COMDAT xdata$x
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
xdata$x	SEGMENT
__unwindtable$??0?$_Vector_val@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@V?$allocator@PAVCColorBar@@@1@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$_Vector_val@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@V?$allocator@PAVCColorBar@@@1@@Z$0
__ehfuncinfo$??0?$_Vector_val@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@V?$allocator@PAVCColorBar@@@1@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0?$_Vector_val@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@V?$allocator@PAVCColorBar@@@1@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0?$_Vector_val@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@V?$allocator@PAVCColorBar@@@1@@Z
_TEXT	SEGMENT
_this$ = -20						; size = 4
$T307514 = -16						; size = 4
__$EHRec$ = -12						; size = 12
__Al$ = 8						; size = 1
??0?$_Vector_val@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@V?$allocator@PAVCColorBar@@@1@@Z PROC ; std::_Vector_val<CColorBar *,std::allocator<CColorBar *> >::_Vector_val<CColorBar *,std::allocator<CColorBar *> >, COMDAT
; _this$ = ecx

; 425  : 		{	// construct allocator from _Al

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0?$_Vector_val@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@V?$allocator@PAVCColorBar@@@1@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 08	 sub	 esp, 8
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	50		 push	 eax
  0001c	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001f	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00025	89 4d ec	 mov	 DWORD PTR _this$[ebp], ecx
  00028	51		 push	 ecx
  00029	8b cc		 mov	 ecx, esp
  0002b	89 65 f0	 mov	 DWORD PTR $T307514[ebp], esp
  0002e	8d 45 08	 lea	 eax, DWORD PTR __Al$[ebp]
  00031	50		 push	 eax
  00032	e8 00 00 00 00	 call	 ??0?$allocator@PAVCColorBar@@@std@@QAE@ABV01@@Z ; std::allocator<CColorBar *>::allocator<CColorBar *>
  00037	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  0003a	e8 00 00 00 00	 call	 ??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@V?$allocator@PAVCColorBar@@@1@@Z ; std::_Container_base_aux_alloc_real<std::allocator<CColorBar *> >::_Container_base_aux_alloc_real<std::allocator<CColorBar *> >
  0003f	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00046	8d 4d 08	 lea	 ecx, DWORD PTR __Al$[ebp]
  00049	51		 push	 ecx
  0004a	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  0004d	83 c1 08	 add	 ecx, 8
  00050	e8 00 00 00 00	 call	 ??0?$allocator@PAVCColorBar@@@std@@QAE@ABV01@@Z ; std::allocator<CColorBar *>::allocator<CColorBar *>

; 426  : 		}

  00055	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0005c	8b 45 ec	 mov	 eax, DWORD PTR _this$[ebp]
  0005f	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00062	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00069	59		 pop	 ecx
  0006a	8b e5		 mov	 esp, ebp
  0006c	5d		 pop	 ebp
  0006d	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$_Vector_val@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@V?$allocator@PAVCColorBar@@@1@@Z$0:
  00000	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<CColorBar *> >::~_Container_base_aux_alloc_real<std::allocator<CColorBar *> >
__ehhandler$??0?$_Vector_val@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@V?$allocator@PAVCColorBar@@@1@@Z:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a f4	 mov	 ecx, DWORD PTR [edx-12]
  00012	33 c8		 xor	 ecx, eax
  00014	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00019	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0?$_Vector_val@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@V?$allocator@PAVCColorBar@@@1@@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0?$_Vector_val@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@V?$allocator@PAVCColorBar@@@1@@Z ENDP ; std::_Vector_val<CColorBar *,std::allocator<CColorBar *> >::_Vector_val<CColorBar *,std::allocator<CColorBar *> >
; Function compile flags: /Odtp
;	COMDAT ?_Tidy@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?_Tidy@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXXZ PROC ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_Tidy, COMDAT
; _this$ = ecx

; 1128 : 		{	// free all storage

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 1129 : 		if (_Myfirst != 0)

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	83 78 0c 00	 cmp	 DWORD PTR [eax+12], 0
  0000e	74 38		 je	 SHORT $LN1@Tidy@20

; 1130 : 			{	// something to free, destroy and deallocate it
; 1131 : 
; 1132 :  #if _HAS_ITERATOR_DEBUGGING
; 1133 : 			this->_Orphan_all();
; 1134 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 1135 : 
; 1136 : 			_Destroy(_Myfirst, _Mylast);

  00010	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00013	8b 51 10	 mov	 edx, DWORD PTR [ecx+16]
  00016	52		 push	 edx
  00017	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0001a	8b 48 0c	 mov	 ecx, DWORD PTR [eax+12]
  0001d	51		 push	 ecx
  0001e	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00021	e8 00 00 00 00	 call	 ?_Destroy@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXPAPAVCColorBar@@0@Z ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_Destroy

; 1137 : 			this->_Alval.deallocate(_Myfirst, _Myend - _Myfirst);

  00026	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00029	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0002c	8b 4a 14	 mov	 ecx, DWORD PTR [edx+20]
  0002f	2b 48 0c	 sub	 ecx, DWORD PTR [eax+12]
  00032	c1 f9 02	 sar	 ecx, 2
  00035	51		 push	 ecx
  00036	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00039	8b 42 0c	 mov	 eax, DWORD PTR [edx+12]
  0003c	50		 push	 eax
  0003d	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00040	83 c1 08	 add	 ecx, 8
  00043	e8 00 00 00 00	 call	 ?deallocate@?$allocator@PAVCColorBar@@@std@@QAEXPAPAVCColorBar@@I@Z ; std::allocator<CColorBar *>::deallocate
$LN1@Tidy@20:

; 1138 : 			}
; 1139 : 		_Myfirst = 0, _Mylast = 0, _Myend = 0;

  00048	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0004b	c7 41 0c 00 00
	00 00		 mov	 DWORD PTR [ecx+12], 0
  00052	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00055	c7 42 10 00 00
	00 00		 mov	 DWORD PTR [edx+16], 0
  0005c	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0005f	c7 40 14 00 00
	00 00		 mov	 DWORD PTR [eax+20], 0

; 1140 : 		}

  00066	8b e5		 mov	 esp, ebp
  00068	5d		 pop	 ebp
  00069	c3		 ret	 0
?_Tidy@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXXZ ENDP ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_Tidy
_TEXT	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1?$_Vector_val@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$_Vector_val@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ$0
__ehfuncinfo$??1?$_Vector_val@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$_Vector_val@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??1?$_Vector_val@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$_Vector_val@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ PROC ; std::_Vector_val<CSubPattern *,std::allocator<CSubPattern *> >::~_Vector_val<CSubPattern *,std::allocator<CSubPattern *> >, COMDAT
; _this$ = ecx
  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??1?$_Vector_val@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	51		 push	 ecx
  00012	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00017	33 c5		 xor	 eax, ebp
  00019	50		 push	 eax
  0001a	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001d	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00023	89 4d f0	 mov	 DWORD PTR _this$[ebp], ecx
  00026	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  0002d	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00034	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00037	e8 00 00 00 00	 call	 ??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<CSubPattern *> >::~_Container_base_aux_alloc_real<std::allocator<CSubPattern *> >
  0003c	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0003f	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00046	59		 pop	 ecx
  00047	8b e5		 mov	 esp, ebp
  00049	5d		 pop	 ebp
  0004a	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1?$_Vector_val@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<CSubPattern *> >::~_Container_base_aux_alloc_real<std::allocator<CSubPattern *> >
__ehhandler$??1?$_Vector_val@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  00012	33 c8		 xor	 ecx, eax
  00014	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00019	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??1?$_Vector_val@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1?$_Vector_val@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ ENDP ; std::_Vector_val<CSubPattern *,std::allocator<CSubPattern *> >::~_Vector_val<CSubPattern *,std::allocator<CSubPattern *> >
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1?$_Vector_val@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$_Vector_val@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ$0
__ehfuncinfo$??1?$_Vector_val@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$_Vector_val@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??1?$_Vector_val@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$_Vector_val@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ PROC ; std::_Vector_val<CColorBar *,std::allocator<CColorBar *> >::~_Vector_val<CColorBar *,std::allocator<CColorBar *> >, COMDAT
; _this$ = ecx
  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??1?$_Vector_val@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	51		 push	 ecx
  00012	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00017	33 c5		 xor	 eax, ebp
  00019	50		 push	 eax
  0001a	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001d	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00023	89 4d f0	 mov	 DWORD PTR _this$[ebp], ecx
  00026	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  0002d	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00034	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00037	e8 00 00 00 00	 call	 ??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<CColorBar *> >::~_Container_base_aux_alloc_real<std::allocator<CColorBar *> >
  0003c	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0003f	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00046	59		 pop	 ecx
  00047	8b e5		 mov	 esp, ebp
  00049	5d		 pop	 ebp
  0004a	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1?$_Vector_val@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<CColorBar *> >::~_Container_base_aux_alloc_real<std::allocator<CColorBar *> >
__ehhandler$??1?$_Vector_val@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  00012	33 c8		 xor	 ecx, eax
  00014	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00019	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??1?$_Vector_val@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1?$_Vector_val@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ ENDP ; std::_Vector_val<CColorBar *,std::allocator<CColorBar *> >::~_Vector_val<CColorBar *,std::allocator<CColorBar *> >
; Function compile flags: /Odtp
;	COMDAT ??9?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBE_NABV01@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Right$ = 8						; size = 4
??9?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBE_NABV01@@Z PROC ; std::_Vector_const_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator!=, COMDAT
; _this$ = ecx

; 215  : 		{	// test for iterator inequality

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 216  : 		return (!(*this == _Right));

  00007	8b 45 08	 mov	 eax, DWORD PTR __Right$[ebp]
  0000a	50		 push	 eax
  0000b	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000e	e8 00 00 00 00	 call	 ??8?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator==
  00013	0f b6 c0	 movzx	 eax, al
  00016	f7 d8		 neg	 eax
  00018	1b c0		 sbb	 eax, eax
  0001a	83 c0 01	 add	 eax, 1

; 217  : 		}

  0001d	8b e5		 mov	 esp, ebp
  0001f	5d		 pop	 ebp
  00020	c2 04 00	 ret	 4
??9?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBE_NABV01@@Z ENDP ; std::_Vector_const_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator!=
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?end@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
___$ReturnUdt$ = 8					; size = 4
?end@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@XZ PROC ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::end, COMDAT
; _this$ = ecx

; 650  : 		{	// return iterator for end of mutable sequence

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 651  : 		return (iterator(_Mylast, this));

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	50		 push	 eax
  0000b	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000e	8b 51 10	 mov	 edx, DWORD PTR [ecx+16]
  00011	52		 push	 edx
  00012	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  00015	e8 00 00 00 00	 call	 ??0?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@PAPAVCSubPattern@@PBV_Container_base_aux@1@@Z ; std::_Vector_iterator<CSubPattern *,std::allocator<CSubPattern *> >::_Vector_iterator<CSubPattern *,std::allocator<CSubPattern *> >
  0001a	8b 45 08	 mov	 eax, DWORD PTR ___$ReturnUdt$[ebp]

; 652  : 		}

  0001d	8b e5		 mov	 esp, ebp
  0001f	5d		 pop	 ebp
  00020	c2 04 00	 ret	 4
?end@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@XZ ENDP ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::end
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?begin@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
___$ReturnUdt$ = 8					; size = 4
?begin@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@XZ PROC ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::begin, COMDAT
; _this$ = ecx

; 640  : 		{	// return iterator for beginning of mutable sequence

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 641  : 		return (iterator(_Myfirst, this));

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	50		 push	 eax
  0000b	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000e	8b 51 0c	 mov	 edx, DWORD PTR [ecx+12]
  00011	52		 push	 edx
  00012	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  00015	e8 00 00 00 00	 call	 ??0?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@PAPAVCSubPattern@@PBV_Container_base_aux@1@@Z ; std::_Vector_iterator<CSubPattern *,std::allocator<CSubPattern *> >::_Vector_iterator<CSubPattern *,std::allocator<CSubPattern *> >
  0001a	8b 45 08	 mov	 eax, DWORD PTR ___$ReturnUdt$[ebp]

; 642  : 		}

  0001d	8b e5		 mov	 esp, ebp
  0001f	5d		 pop	 ebp
  00020	c2 04 00	 ret	 4
?begin@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@XZ ENDP ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::begin
_TEXT	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ$0
__ehfuncinfo$??1?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??1?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ PROC ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::~vector<CSubPattern *,std::allocator<CSubPattern *> >, COMDAT
; _this$ = ecx

; 558  : 		{	// destroy the object

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??1?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	51		 push	 ecx
  00012	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00017	33 c5		 xor	 eax, ebp
  00019	50		 push	 eax
  0001a	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001d	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00023	89 4d f0	 mov	 DWORD PTR _this$[ebp], ecx
  00026	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 559  : 		_Tidy();

  0002d	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00030	e8 00 00 00 00	 call	 ?_Tidy@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXXZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Tidy

; 560  : 		}

  00035	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0003c	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0003f	e8 00 00 00 00	 call	 ??1?$_Vector_val@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ
  00044	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00047	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0004e	59		 pop	 ecx
  0004f	8b e5		 mov	 esp, ebp
  00051	5d		 pop	 ebp
  00052	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$_Vector_val@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ
__ehhandler$??1?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  00012	33 c8		 xor	 ecx, eax
  00014	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00019	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??1?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ ENDP ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::~vector<CSubPattern *,std::allocator<CSubPattern *> >
; Function compile flags: /Odtp
;	COMDAT ??A?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAEAAPAVCColorBar@@I@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Pos$ = 8						; size = 4
??A?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAEAAPAVCColorBar@@I@Z PROC ; std::vector<CColorBar *,std::allocator<CColorBar *> >::operator[], COMDAT
; _this$ = ecx

; 774  : 		{	// subscript mutable sequence

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 775  : 
; 776  :  #if _HAS_ITERATOR_DEBUGGING
; 777  : 		if (size() <= _Pos)
; 778  : 			{
; 779  : 			_DEBUG_ERROR("vector subscript out of range");
; 780  : 			_SCL_SECURE_OUT_OF_RANGE;
; 781  : 			}
; 782  :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 783  : 		_SCL_SECURE_VALIDATE_RANGE(_Pos < size());

  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	e8 00 00 00 00	 call	 ?size@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEIXZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::size
  0000f	39 45 08	 cmp	 DWORD PTR __Pos$[ebp], eax
  00012	72 05		 jb	 SHORT $LN2@operator@131
  00014	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN2@operator@131:
  00019	33 c0		 xor	 eax, eax
  0001b	75 fc		 jne	 SHORT $LN2@operator@131

; 784  : 
; 785  : 		return (*(_Myfirst + _Pos));

  0001d	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00020	8b 51 0c	 mov	 edx, DWORD PTR [ecx+12]
  00023	8b 45 08	 mov	 eax, DWORD PTR __Pos$[ebp]
  00026	8d 04 82	 lea	 eax, DWORD PTR [edx+eax*4]

; 786  : 		}

  00029	8b e5		 mov	 esp, ebp
  0002b	5d		 pop	 ebp
  0002c	c2 04 00	 ret	 4
??A?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAEAAPAVCColorBar@@I@Z ENDP ; std::vector<CColorBar *,std::allocator<CColorBar *> >::operator[]
_TEXT	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ$0
__ehfuncinfo$??1?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??1?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ PROC ; std::vector<CColorBar *,std::allocator<CColorBar *> >::~vector<CColorBar *,std::allocator<CColorBar *> >, COMDAT
; _this$ = ecx

; 558  : 		{	// destroy the object

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??1?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	51		 push	 ecx
  00012	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00017	33 c5		 xor	 eax, ebp
  00019	50		 push	 eax
  0001a	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001d	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00023	89 4d f0	 mov	 DWORD PTR _this$[ebp], ecx
  00026	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 559  : 		_Tidy();

  0002d	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00030	e8 00 00 00 00	 call	 ?_Tidy@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXXZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_Tidy

; 560  : 		}

  00035	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0003c	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0003f	e8 00 00 00 00	 call	 ??1?$_Vector_val@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ
  00044	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00047	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0004e	59		 pop	 ecx
  0004f	8b e5		 mov	 esp, ebp
  00051	5d		 pop	 ebp
  00052	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$_Vector_val@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ
__ehhandler$??1?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  00012	33 c8		 xor	 ecx, eax
  00014	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00019	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??1?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ ENDP ; std::vector<CColorBar *,std::allocator<CColorBar *> >::~vector<CColorBar *,std::allocator<CColorBar *> >
; Function compile flags: /Odtp
;	COMDAT ??Y?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAEAAV01@H@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Off$ = 8						; size = 4
??Y?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAEAAV01@H@Z PROC ; std::_Vector_const_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator+=, COMDAT
; _this$ = ecx

; 159  : 		{	// increment by integer

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	56		 push	 esi
  00005	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 160  : 		_SCL_SECURE_VALIDATE(this->_Has_container());

  00008	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000b	e8 00 00 00 00	 call	 ?_Has_container@_Iterator_base_aux@std@@QBE_NXZ ; std::_Iterator_base_aux::_Has_container
  00010	0f b6 c0	 movzx	 eax, al
  00013	85 c0		 test	 eax, eax
  00015	75 05		 jne	 SHORT $LN7@operator@429
  00017	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN7@operator@429:
  0001c	33 c9		 xor	 ecx, ecx
  0001e	75 fc		 jne	 SHORT $LN7@operator@429

; 161  : 		_SCL_SECURE_VALIDATE_RANGE(

  00020	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00023	8b 42 04	 mov	 eax, DWORD PTR [edx+4]
  00026	8b 4d 08	 mov	 ecx, DWORD PTR __Off$[ebp]
  00029	8d 34 88	 lea	 esi, DWORD PTR [eax+ecx*4]
  0002c	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0002f	e8 00 00 00 00	 call	 ?_Getmycont@_Iterator_base_aux@std@@QBEPBV_Container_base_aux@2@XZ ; std::_Iterator_base_aux::_Getmycont
  00034	3b 70 10	 cmp	 esi, DWORD PTR [eax+16]
  00037	77 19		 ja	 SHORT $LN4@operator@429
  00039	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  0003c	8b 42 04	 mov	 eax, DWORD PTR [edx+4]
  0003f	8b 4d 08	 mov	 ecx, DWORD PTR __Off$[ebp]
  00042	8d 34 88	 lea	 esi, DWORD PTR [eax+ecx*4]
  00045	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00048	e8 00 00 00 00	 call	 ?_Getmycont@_Iterator_base_aux@std@@QBEPBV_Container_base_aux@2@XZ ; std::_Iterator_base_aux::_Getmycont
  0004d	3b 70 0c	 cmp	 esi, DWORD PTR [eax+12]
  00050	73 05		 jae	 SHORT $LN2@operator@429
$LN4@operator@429:

; 162  : 			_Myptr + _Off <= ((_Myvec *)(this->_Getmycont()))->_Mylast &&
; 163  : 			_Myptr + _Off >= ((_Myvec *)(this->_Getmycont()))->_Myfirst);

  00052	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN2@operator@429:
  00057	33 d2		 xor	 edx, edx
  00059	75 fc		 jne	 SHORT $LN2@operator@429

; 164  : 		_Myptr += _Off;

  0005b	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0005e	8b 48 04	 mov	 ecx, DWORD PTR [eax+4]
  00061	8b 55 08	 mov	 edx, DWORD PTR __Off$[ebp]
  00064	8d 04 91	 lea	 eax, DWORD PTR [ecx+edx*4]
  00067	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0006a	89 41 04	 mov	 DWORD PTR [ecx+4], eax

; 165  : 		return (*this);

  0006d	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]

; 166  : 		}

  00070	5e		 pop	 esi
  00071	8b e5		 mov	 esp, ebp
  00073	5d		 pop	 ebp
  00074	c2 04 00	 ret	 4
??Y?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAEAAV01@H@Z ENDP ; std::_Vector_const_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator+=
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??Y?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAEAAV01@H@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Off$ = 8						; size = 4
??Y?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAEAAV01@H@Z PROC ; std::_Vector_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator+=, COMDAT
; _this$ = ecx

; 374  : 		{	// increment by integer

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 375  : 		(*(_Mybase *)this) += _Off;

  00007	8b 45 08	 mov	 eax, DWORD PTR __Off$[ebp]
  0000a	50		 push	 eax
  0000b	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000e	e8 00 00 00 00	 call	 ??Y?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_const_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator+=

; 376  : 		return (*this);

  00013	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]

; 377  : 		}

  00016	8b e5		 mov	 esp, ebp
  00018	5d		 pop	 ebp
  00019	c2 04 00	 ret	 4
??Y?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAEAAV01@H@Z ENDP ; std::_Vector_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator+=
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??H?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBE?AV01@H@Z
_TEXT	SEGMENT
_this$ = -12						; size = 4
__Tmp$ = -8						; size = 8
___$ReturnUdt$ = 8					; size = 4
__Off$ = 12						; size = 4
??H?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBE?AV01@H@Z PROC ; std::_Vector_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator+, COMDAT
; _this$ = ecx

; 380  : 		{	// return this + integer

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 0c	 sub	 esp, 12			; 0000000cH
  00006	89 4d f4	 mov	 DWORD PTR _this$[ebp], ecx

; 381  : 		_Myt _Tmp = *this;

  00009	8b 45 f4	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	8b 08		 mov	 ecx, DWORD PTR [eax]
  0000e	8b 50 04	 mov	 edx, DWORD PTR [eax+4]
  00011	89 4d f8	 mov	 DWORD PTR __Tmp$[ebp], ecx
  00014	89 55 fc	 mov	 DWORD PTR __Tmp$[ebp+4], edx

; 382  : 		return (_Tmp += _Off);

  00017	8b 45 0c	 mov	 eax, DWORD PTR __Off$[ebp]
  0001a	50		 push	 eax
  0001b	8d 4d f8	 lea	 ecx, DWORD PTR __Tmp$[ebp]
  0001e	e8 00 00 00 00	 call	 ??Y?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator+=
  00023	8b 08		 mov	 ecx, DWORD PTR [eax]
  00025	8b 50 04	 mov	 edx, DWORD PTR [eax+4]
  00028	8b 45 08	 mov	 eax, DWORD PTR ___$ReturnUdt$[ebp]
  0002b	89 08		 mov	 DWORD PTR [eax], ecx
  0002d	89 50 04	 mov	 DWORD PTR [eax+4], edx
  00030	8b 45 08	 mov	 eax, DWORD PTR ___$ReturnUdt$[ebp]

; 383  : 		}

  00033	8b e5		 mov	 esp, ebp
  00035	5d		 pop	 ebp
  00036	c2 08 00	 ret	 8
??H?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBE?AV01@H@Z ENDP ; std::_Vector_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator+
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?_Make_iter@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBE?AV?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@V?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___$ReturnUdt$ = 8					; size = 4
__Where$ = 12						; size = 8
?_Make_iter@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBE?AV?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@V?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@@Z PROC ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Make_iter, COMDAT
; _this$ = ecx

; 660  : 		{	// make iterator from const_iterator

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 661  : 		return (iterator(_Where._Myptr, this));

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	50		 push	 eax
  0000b	8b 4d 10	 mov	 ecx, DWORD PTR __Where$[ebp+4]
  0000e	51		 push	 ecx
  0000f	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  00012	e8 00 00 00 00	 call	 ??0?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@PAPAVCSubPattern@@PBV_Container_base_aux@1@@Z ; std::_Vector_iterator<CSubPattern *,std::allocator<CSubPattern *> >::_Vector_iterator<CSubPattern *,std::allocator<CSubPattern *> >
  00017	8b 45 08	 mov	 eax, DWORD PTR ___$ReturnUdt$[ebp]

; 662  : 		}

  0001a	8b e5		 mov	 esp, ebp
  0001c	5d		 pop	 ebp
  0001d	c2 0c 00	 ret	 12			; 0000000cH
?_Make_iter@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBE?AV?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@V?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@@Z ENDP ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Make_iter
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?_Make_iter@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBE?AV?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@V?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___$ReturnUdt$ = 8					; size = 4
__Where$ = 12						; size = 8
?_Make_iter@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBE?AV?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@V?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@@Z PROC ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_Make_iter, COMDAT
; _this$ = ecx

; 660  : 		{	// make iterator from const_iterator

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 661  : 		return (iterator(_Where._Myptr, this));

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	50		 push	 eax
  0000b	8b 4d 10	 mov	 ecx, DWORD PTR __Where$[ebp+4]
  0000e	51		 push	 ecx
  0000f	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  00012	e8 00 00 00 00	 call	 ??0?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@PAPAVCColorBar@@PBV_Container_base_aux@1@@Z ; std::_Vector_iterator<CColorBar *,std::allocator<CColorBar *> >::_Vector_iterator<CColorBar *,std::allocator<CColorBar *> >
  00017	8b 45 08	 mov	 eax, DWORD PTR ___$ReturnUdt$[ebp]

; 662  : 		}

  0001a	8b e5		 mov	 esp, ebp
  0001c	5d		 pop	 ebp
  0001d	c2 0c 00	 ret	 12			; 0000000cH
?_Make_iter@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBE?AV?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@V?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@@Z ENDP ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_Make_iter
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??E?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAEAAV01@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??E?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAEAAV01@XZ PROC ; std::_Vector_const_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator++, COMDAT
; _this$ = ecx

; 115  : 		{	// preincrement

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 116  : 		_SCL_SECURE_VALIDATE(this->_Has_container());

  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	e8 00 00 00 00	 call	 ?_Has_container@_Iterator_base_aux@std@@QBE_NXZ ; std::_Iterator_base_aux::_Has_container
  0000f	0f b6 c0	 movzx	 eax, al
  00012	85 c0		 test	 eax, eax
  00014	75 05		 jne	 SHORT $LN6@operator@430
  00016	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN6@operator@430:
  0001b	33 c9		 xor	 ecx, ecx
  0001d	75 fc		 jne	 SHORT $LN6@operator@430

; 117  : 		_SCL_SECURE_VALIDATE_RANGE(_Myptr < ((_Myvec *)(this->_Getmycont()))->_Mylast);

  0001f	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00022	e8 00 00 00 00	 call	 ?_Getmycont@_Iterator_base_aux@std@@QBEPBV_Container_base_aux@2@XZ ; std::_Iterator_base_aux::_Getmycont
  00027	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  0002a	8b 4a 04	 mov	 ecx, DWORD PTR [edx+4]
  0002d	3b 48 10	 cmp	 ecx, DWORD PTR [eax+16]
  00030	72 05		 jb	 SHORT $LN2@operator@430
  00032	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN2@operator@430:
  00037	33 d2		 xor	 edx, edx
  00039	75 fc		 jne	 SHORT $LN2@operator@430

; 118  : 
; 119  :  #if _HAS_ITERATOR_DEBUGGING
; 120  : 		if (this->_Mycont == 0
; 121  : 			|| ((_Myvec *)this->_Mycont)->_Mylast <= _Myptr)
; 122  : 			_DEBUG_ERROR("vector iterator not incrementable");
; 123  :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 124  : 
; 125  : 		++_Myptr;

  0003b	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0003e	8b 48 04	 mov	 ecx, DWORD PTR [eax+4]
  00041	83 c1 04	 add	 ecx, 4
  00044	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00047	89 4a 04	 mov	 DWORD PTR [edx+4], ecx

; 126  : 		return (*this);

  0004a	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]

; 127  : 		}

  0004d	8b e5		 mov	 esp, ebp
  0004f	5d		 pop	 ebp
  00050	c3		 ret	 0
??E?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAEAAV01@XZ ENDP ; std::_Vector_const_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator++
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??D?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEABQAVCSubPattern@@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??D?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEABQAVCSubPattern@@XZ PROC ; std::_Vector_const_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator*, COMDAT
; _this$ = ecx

; 91   : 		{	// return designated object

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 92   : 
; 93   :  #if _HAS_ITERATOR_DEBUGGING
; 94   : 		if (this->_Mycont == 0
; 95   : 			|| _Myptr < ((_Myvec *)this->_Mycont)->_Myfirst
; 96   : 			|| ((_Myvec *)this->_Mycont)->_Mylast <= _Myptr)
; 97   : 			{
; 98   : 			_DEBUG_ERROR("vector iterator not dereferencable");
; 99   : 			_SCL_SECURE_OUT_OF_RANGE;
; 100  : 			}
; 101  :  #else
; 102  :  		_SCL_SECURE_VALIDATE(this->_Has_container());

  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	e8 00 00 00 00	 call	 ?_Has_container@_Iterator_base_aux@std@@QBE_NXZ ; std::_Iterator_base_aux::_Has_container
  0000f	0f b6 c0	 movzx	 eax, al
  00012	85 c0		 test	 eax, eax
  00014	75 05		 jne	 SHORT $LN6@operator@431
  00016	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN6@operator@431:
  0001b	33 c9		 xor	 ecx, ecx
  0001d	75 fc		 jne	 SHORT $LN6@operator@431

; 103  : 		_SCL_SECURE_VALIDATE_RANGE(_Myptr < ((_Myvec *)(this->_Getmycont()))->_Mylast);

  0001f	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00022	e8 00 00 00 00	 call	 ?_Getmycont@_Iterator_base_aux@std@@QBEPBV_Container_base_aux@2@XZ ; std::_Iterator_base_aux::_Getmycont
  00027	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  0002a	8b 4a 04	 mov	 ecx, DWORD PTR [edx+4]
  0002d	3b 48 10	 cmp	 ecx, DWORD PTR [eax+16]
  00030	72 05		 jb	 SHORT $LN2@operator@431
  00032	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN2@operator@431:
  00037	33 d2		 xor	 edx, edx
  00039	75 fc		 jne	 SHORT $LN2@operator@431

; 104  :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 105  : 
; 106  : 		return (*_Myptr);

  0003b	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0003e	8b 40 04	 mov	 eax, DWORD PTR [eax+4]

; 107  : 		}

  00041	8b e5		 mov	 esp, ebp
  00043	5d		 pop	 ebp
  00044	c3		 ret	 0
??D?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEABQAVCSubPattern@@XZ ENDP ; std::_Vector_const_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator*
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?erase@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@V?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@0@Z
_TEXT	SEGMENT
_this$ = -24						; size = 4
__Ptr$144595 = -20					; size = 4
__Last$ = -16						; size = 8
__First$ = -8						; size = 8
___$ReturnUdt$ = 8					; size = 4
__First_arg$ = 12					; size = 8
__Last_arg$ = 20					; size = 8
?erase@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@V?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@0@Z PROC ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::erase, COMDAT
; _this$ = ecx

; 1033 : 		{	// erase [_First, _Last)

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 18	 sub	 esp, 24			; 00000018H
  00006	89 4d e8	 mov	 DWORD PTR _this$[ebp], ecx

; 1034 : 		iterator _First = _Make_iter(_First_arg);

  00009	8b 45 10	 mov	 eax, DWORD PTR __First_arg$[ebp+4]
  0000c	50		 push	 eax
  0000d	8b 4d 0c	 mov	 ecx, DWORD PTR __First_arg$[ebp]
  00010	51		 push	 ecx
  00011	8d 55 f8	 lea	 edx, DWORD PTR __First$[ebp]
  00014	52		 push	 edx
  00015	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00018	e8 00 00 00 00	 call	 ?_Make_iter@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBE?AV?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@V?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@@Z ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Make_iter

; 1035 : 		iterator _Last = _Make_iter(_Last_arg);

  0001d	8b 45 18	 mov	 eax, DWORD PTR __Last_arg$[ebp+4]
  00020	50		 push	 eax
  00021	8b 4d 14	 mov	 ecx, DWORD PTR __Last_arg$[ebp]
  00024	51		 push	 ecx
  00025	8d 55 f0	 lea	 edx, DWORD PTR __Last$[ebp]
  00028	52		 push	 edx
  00029	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0002c	e8 00 00 00 00	 call	 ?_Make_iter@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBE?AV?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@V?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@@Z ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Make_iter

; 1036 : 
; 1037 : 		if (_First != _Last)

  00031	8d 45 f0	 lea	 eax, DWORD PTR __Last$[ebp]
  00034	50		 push	 eax
  00035	8d 4d f8	 lea	 ecx, DWORD PTR __First$[ebp]
  00038	e8 00 00 00 00	 call	 ??9?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator!=
  0003d	0f b6 c8	 movzx	 ecx, al
  00040	85 c9		 test	 ecx, ecx
  00042	74 36		 je	 SHORT $LN1@erase@12

; 1038 : 			{	// worth doing, copy down over hole
; 1039 : 
; 1040 :  #if _HAS_ITERATOR_DEBUGGING
; 1041 : 			if (_Last < _First || _First._Mycont != this
; 1042 : 				|| _First._Myptr < _Myfirst || _Mylast < _Last._Myptr)
; 1043 : 				_DEBUG_ERROR("vector erase iterator outside range");
; 1044 : 			pointer _Ptr = _STDEXT unchecked_copy(_VEC_ITER_BASE(_Last), _Mylast,
; 1045 : 				_VEC_ITER_BASE(_First));
; 1046 : 			_Orphan_range(_First._Myptr, _Mylast);
; 1047 : 
; 1048 :  #else /* _HAS_ITERATOR_DEBUGGING */
; 1049 : 			pointer _Ptr = _STDEXT unchecked_copy(_VEC_ITER_BASE(_Last), _Mylast,
; 1050 : 				_VEC_ITER_BASE(_First));

  00044	8b 55 fc	 mov	 edx, DWORD PTR __First$[ebp+4]
  00047	52		 push	 edx
  00048	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  0004b	8b 48 10	 mov	 ecx, DWORD PTR [eax+16]
  0004e	51		 push	 ecx
  0004f	8b 55 f4	 mov	 edx, DWORD PTR __Last$[ebp+4]
  00052	52		 push	 edx
  00053	e8 00 00 00 00	 call	 ??$unchecked_copy@PAPAVCSubPattern@@PAPAV1@@stdext@@YAPAPAVCSubPattern@@PAPAV1@00@Z ; stdext::unchecked_copy<CSubPattern * *,CSubPattern * *>
  00058	83 c4 0c	 add	 esp, 12			; 0000000cH
  0005b	89 45 ec	 mov	 DWORD PTR __Ptr$144595[ebp], eax

; 1051 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 1052 : 
; 1053 : 			_Destroy(_Ptr, _Mylast);

  0005e	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  00061	8b 48 10	 mov	 ecx, DWORD PTR [eax+16]
  00064	51		 push	 ecx
  00065	8b 55 ec	 mov	 edx, DWORD PTR __Ptr$144595[ebp]
  00068	52		 push	 edx
  00069	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0006c	e8 00 00 00 00	 call	 ?_Destroy@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXPAPAVCSubPattern@@0@Z ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Destroy

; 1054 : 			_Mylast = _Ptr;

  00071	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  00074	8b 4d ec	 mov	 ecx, DWORD PTR __Ptr$144595[ebp]
  00077	89 48 10	 mov	 DWORD PTR [eax+16], ecx
$LN1@erase@12:

; 1055 : 			}
; 1056 : #if _HAS_ITERATOR_DEBUGGING
; 1057 :         return (iterator(_First._Myptr, this));
; 1058 : #else
; 1059 : 		return (_First);

  0007a	8b 55 08	 mov	 edx, DWORD PTR ___$ReturnUdt$[ebp]
  0007d	8b 45 f8	 mov	 eax, DWORD PTR __First$[ebp]
  00080	89 02		 mov	 DWORD PTR [edx], eax
  00082	8b 4d fc	 mov	 ecx, DWORD PTR __First$[ebp+4]
  00085	89 4a 04	 mov	 DWORD PTR [edx+4], ecx
  00088	8b 45 08	 mov	 eax, DWORD PTR ___$ReturnUdt$[ebp]

; 1060 : #endif
; 1061 : 		}

  0008b	8b e5		 mov	 esp, ebp
  0008d	5d		 pop	 ebp
  0008e	c2 14 00	 ret	 20			; 00000014H
?erase@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@V?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@0@Z ENDP ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::erase
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?erase@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@V?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@0@Z
_TEXT	SEGMENT
_this$ = -24						; size = 4
__Ptr$144538 = -20					; size = 4
__Last$ = -16						; size = 8
__First$ = -8						; size = 8
___$ReturnUdt$ = 8					; size = 4
__First_arg$ = 12					; size = 8
__Last_arg$ = 20					; size = 8
?erase@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@V?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@0@Z PROC ; std::vector<CColorBar *,std::allocator<CColorBar *> >::erase, COMDAT
; _this$ = ecx

; 1033 : 		{	// erase [_First, _Last)

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 18	 sub	 esp, 24			; 00000018H
  00006	89 4d e8	 mov	 DWORD PTR _this$[ebp], ecx

; 1034 : 		iterator _First = _Make_iter(_First_arg);

  00009	8b 45 10	 mov	 eax, DWORD PTR __First_arg$[ebp+4]
  0000c	50		 push	 eax
  0000d	8b 4d 0c	 mov	 ecx, DWORD PTR __First_arg$[ebp]
  00010	51		 push	 ecx
  00011	8d 55 f8	 lea	 edx, DWORD PTR __First$[ebp]
  00014	52		 push	 edx
  00015	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00018	e8 00 00 00 00	 call	 ?_Make_iter@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBE?AV?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@V?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@@Z ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_Make_iter

; 1035 : 		iterator _Last = _Make_iter(_Last_arg);

  0001d	8b 45 18	 mov	 eax, DWORD PTR __Last_arg$[ebp+4]
  00020	50		 push	 eax
  00021	8b 4d 14	 mov	 ecx, DWORD PTR __Last_arg$[ebp]
  00024	51		 push	 ecx
  00025	8d 55 f0	 lea	 edx, DWORD PTR __Last$[ebp]
  00028	52		 push	 edx
  00029	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0002c	e8 00 00 00 00	 call	 ?_Make_iter@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBE?AV?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@V?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@@Z ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_Make_iter

; 1036 : 
; 1037 : 		if (_First != _Last)

  00031	8d 45 f0	 lea	 eax, DWORD PTR __Last$[ebp]
  00034	50		 push	 eax
  00035	8d 4d f8	 lea	 ecx, DWORD PTR __First$[ebp]
  00038	e8 00 00 00 00	 call	 ??9?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<CColorBar *,std::allocator<CColorBar *> >::operator!=
  0003d	0f b6 c8	 movzx	 ecx, al
  00040	85 c9		 test	 ecx, ecx
  00042	74 36		 je	 SHORT $LN1@erase@13

; 1038 : 			{	// worth doing, copy down over hole
; 1039 : 
; 1040 :  #if _HAS_ITERATOR_DEBUGGING
; 1041 : 			if (_Last < _First || _First._Mycont != this
; 1042 : 				|| _First._Myptr < _Myfirst || _Mylast < _Last._Myptr)
; 1043 : 				_DEBUG_ERROR("vector erase iterator outside range");
; 1044 : 			pointer _Ptr = _STDEXT unchecked_copy(_VEC_ITER_BASE(_Last), _Mylast,
; 1045 : 				_VEC_ITER_BASE(_First));
; 1046 : 			_Orphan_range(_First._Myptr, _Mylast);
; 1047 : 
; 1048 :  #else /* _HAS_ITERATOR_DEBUGGING */
; 1049 : 			pointer _Ptr = _STDEXT unchecked_copy(_VEC_ITER_BASE(_Last), _Mylast,
; 1050 : 				_VEC_ITER_BASE(_First));

  00044	8b 55 fc	 mov	 edx, DWORD PTR __First$[ebp+4]
  00047	52		 push	 edx
  00048	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  0004b	8b 48 10	 mov	 ecx, DWORD PTR [eax+16]
  0004e	51		 push	 ecx
  0004f	8b 55 f4	 mov	 edx, DWORD PTR __Last$[ebp+4]
  00052	52		 push	 edx
  00053	e8 00 00 00 00	 call	 ??$unchecked_copy@PAPAVCColorBar@@PAPAV1@@stdext@@YAPAPAVCColorBar@@PAPAV1@00@Z ; stdext::unchecked_copy<CColorBar * *,CColorBar * *>
  00058	83 c4 0c	 add	 esp, 12			; 0000000cH
  0005b	89 45 ec	 mov	 DWORD PTR __Ptr$144538[ebp], eax

; 1051 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 1052 : 
; 1053 : 			_Destroy(_Ptr, _Mylast);

  0005e	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  00061	8b 48 10	 mov	 ecx, DWORD PTR [eax+16]
  00064	51		 push	 ecx
  00065	8b 55 ec	 mov	 edx, DWORD PTR __Ptr$144538[ebp]
  00068	52		 push	 edx
  00069	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0006c	e8 00 00 00 00	 call	 ?_Destroy@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXPAPAVCColorBar@@0@Z ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_Destroy

; 1054 : 			_Mylast = _Ptr;

  00071	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  00074	8b 4d ec	 mov	 ecx, DWORD PTR __Ptr$144538[ebp]
  00077	89 48 10	 mov	 DWORD PTR [eax+16], ecx
$LN1@erase@13:

; 1055 : 			}
; 1056 : #if _HAS_ITERATOR_DEBUGGING
; 1057 :         return (iterator(_First._Myptr, this));
; 1058 : #else
; 1059 : 		return (_First);

  0007a	8b 55 08	 mov	 edx, DWORD PTR ___$ReturnUdt$[ebp]
  0007d	8b 45 f8	 mov	 eax, DWORD PTR __First$[ebp]
  00080	89 02		 mov	 DWORD PTR [edx], eax
  00082	8b 4d fc	 mov	 ecx, DWORD PTR __First$[ebp+4]
  00085	89 4a 04	 mov	 DWORD PTR [edx+4], ecx
  00088	8b 45 08	 mov	 eax, DWORD PTR ___$ReturnUdt$[ebp]

; 1060 : #endif
; 1061 : 		}

  0008b	8b e5		 mov	 esp, ebp
  0008d	5d		 pop	 ebp
  0008e	c2 14 00	 ret	 20			; 00000014H
?erase@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@V?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@0@Z ENDP ; std::vector<CColorBar *,std::allocator<CColorBar *> >::erase
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??E?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAEAAV01@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??E?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAEAAV01@XZ PROC ; std::_Vector_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator++, COMDAT
; _this$ = ecx

; 348  : 		{	// preincrement

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 349  : 		++(*(_Mybase *)this);

  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	e8 00 00 00 00	 call	 ??E?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAEAAV01@XZ ; std::_Vector_const_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator++

; 350  : 		return (*this);

  0000f	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]

; 351  : 		}

  00012	8b e5		 mov	 esp, ebp
  00014	5d		 pop	 ebp
  00015	c3		 ret	 0
??E?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAEAAV01@XZ ENDP ; std::_Vector_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator++
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??D?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEAAPAVCSubPattern@@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??D?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEAAPAVCSubPattern@@XZ PROC ; std::_Vector_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator*, COMDAT
; _this$ = ecx

; 338  : 		{	// return designated object

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 339  : 		return ((reference)**(_Mybase *)this);

  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	e8 00 00 00 00	 call	 ??D?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEABQAVCSubPattern@@XZ ; std::_Vector_const_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator*

; 340  : 		}

  0000f	8b e5		 mov	 esp, ebp
  00011	5d		 pop	 ebp
  00012	c3		 ret	 0
??D?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEAAPAVCSubPattern@@XZ ENDP ; std::_Vector_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator*
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?clear@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAEXXZ
_TEXT	SEGMENT
_this$ = -44						; size = 4
$T320284 = -40						; size = 8
$T320283 = -32						; size = 8
$T320282 = -24						; size = 8
$T320281 = -16						; size = 8
$T320280 = -8						; size = 8
?clear@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAEXXZ PROC ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::clear, COMDAT
; _this$ = ecx

; 1064 : 		{	// erase all

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 2c	 sub	 esp, 44			; 0000002cH
  00006	89 4d d4	 mov	 DWORD PTR _this$[ebp], ecx

; 1065 : 		erase(begin(), end());

  00009	8d 45 f0	 lea	 eax, DWORD PTR $T320281[ebp]
  0000c	50		 push	 eax
  0000d	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  00010	e8 00 00 00 00	 call	 ?end@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@XZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::end
  00015	8b 08		 mov	 ecx, DWORD PTR [eax]
  00017	8b 50 04	 mov	 edx, DWORD PTR [eax+4]
  0001a	89 4d f8	 mov	 DWORD PTR $T320280[ebp], ecx
  0001d	89 55 fc	 mov	 DWORD PTR $T320280[ebp+4], edx
  00020	8d 45 e0	 lea	 eax, DWORD PTR $T320283[ebp]
  00023	50		 push	 eax
  00024	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  00027	e8 00 00 00 00	 call	 ?begin@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@XZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::begin
  0002c	8b 08		 mov	 ecx, DWORD PTR [eax]
  0002e	8b 50 04	 mov	 edx, DWORD PTR [eax+4]
  00031	89 4d e8	 mov	 DWORD PTR $T320282[ebp], ecx
  00034	89 55 ec	 mov	 DWORD PTR $T320282[ebp+4], edx
  00037	8b 45 fc	 mov	 eax, DWORD PTR $T320280[ebp+4]
  0003a	50		 push	 eax
  0003b	8b 4d f8	 mov	 ecx, DWORD PTR $T320280[ebp]
  0003e	51		 push	 ecx
  0003f	8b 55 ec	 mov	 edx, DWORD PTR $T320282[ebp+4]
  00042	52		 push	 edx
  00043	8b 45 e8	 mov	 eax, DWORD PTR $T320282[ebp]
  00046	50		 push	 eax
  00047	8d 4d d8	 lea	 ecx, DWORD PTR $T320284[ebp]
  0004a	51		 push	 ecx
  0004b	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  0004e	e8 00 00 00 00	 call	 ?erase@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@V?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@0@Z ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::erase

; 1066 : 		}

  00053	8b e5		 mov	 esp, ebp
  00055	5d		 pop	 ebp
  00056	c3		 ret	 0
?clear@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAEXXZ ENDP ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::clear
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?clear@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAEXXZ
_TEXT	SEGMENT
_this$ = -44						; size = 4
$T320291 = -40						; size = 8
$T320290 = -32						; size = 8
$T320289 = -24						; size = 8
$T320288 = -16						; size = 8
$T320287 = -8						; size = 8
?clear@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAEXXZ PROC ; std::vector<CColorBar *,std::allocator<CColorBar *> >::clear, COMDAT
; _this$ = ecx

; 1064 : 		{	// erase all

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 2c	 sub	 esp, 44			; 0000002cH
  00006	89 4d d4	 mov	 DWORD PTR _this$[ebp], ecx

; 1065 : 		erase(begin(), end());

  00009	8d 45 f0	 lea	 eax, DWORD PTR $T320288[ebp]
  0000c	50		 push	 eax
  0000d	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  00010	e8 00 00 00 00	 call	 ?end@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@XZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::end
  00015	8b 08		 mov	 ecx, DWORD PTR [eax]
  00017	8b 50 04	 mov	 edx, DWORD PTR [eax+4]
  0001a	89 4d f8	 mov	 DWORD PTR $T320287[ebp], ecx
  0001d	89 55 fc	 mov	 DWORD PTR $T320287[ebp+4], edx
  00020	8d 45 e0	 lea	 eax, DWORD PTR $T320290[ebp]
  00023	50		 push	 eax
  00024	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  00027	e8 00 00 00 00	 call	 ?begin@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@XZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::begin
  0002c	8b 08		 mov	 ecx, DWORD PTR [eax]
  0002e	8b 50 04	 mov	 edx, DWORD PTR [eax+4]
  00031	89 4d e8	 mov	 DWORD PTR $T320289[ebp], ecx
  00034	89 55 ec	 mov	 DWORD PTR $T320289[ebp+4], edx
  00037	8b 45 fc	 mov	 eax, DWORD PTR $T320287[ebp+4]
  0003a	50		 push	 eax
  0003b	8b 4d f8	 mov	 ecx, DWORD PTR $T320287[ebp]
  0003e	51		 push	 ecx
  0003f	8b 55 ec	 mov	 edx, DWORD PTR $T320289[ebp+4]
  00042	52		 push	 edx
  00043	8b 45 e8	 mov	 eax, DWORD PTR $T320289[ebp]
  00046	50		 push	 eax
  00047	8d 4d d8	 lea	 ecx, DWORD PTR $T320291[ebp]
  0004a	51		 push	 ecx
  0004b	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  0004e	e8 00 00 00 00	 call	 ?erase@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@V?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@0@Z ; std::vector<CColorBar *,std::allocator<CColorBar *> >::erase

; 1066 : 		}

  00053	8b e5		 mov	 esp, ebp
  00055	5d		 pop	 ebp
  00056	c3		 ret	 0
?clear@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAEXXZ ENDP ; std::vector<CColorBar *,std::allocator<CColorBar *> >::clear
_TEXT	ENDS
PUBLIC	?GetSubPattern@CTestPattern@@QAEPAVCSubPattern@@W4eTypeAdjust@@@Z ; CTestPattern::GetSubPattern
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\pattern.cpp
;	COMDAT ?GetSubPattern@CTestPattern@@QAEPAVCSubPattern@@W4eTypeAdjust@@@Z
_TEXT	SEGMENT
_this$ = -20						; size = 4
$T320294 = -16						; size = 8
_it$144258 = -8						; size = 8
_type_adjust$ = 8					; size = 4
?GetSubPattern@CTestPattern@@QAEPAVCSubPattern@@W4eTypeAdjust@@@Z PROC ; CTestPattern::GetSubPattern, COMDAT
; _this$ = ecx

; 1084 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 14	 sub	 esp, 20			; 00000014H
  00006	89 4d ec	 mov	 DWORD PTR _this$[ebp], ecx

; 1085 :     for(vector<CSubPattern*>::iterator it = m_SubPatterns.begin();

  00009	8d 45 f8	 lea	 eax, DWORD PTR _it$144258[ebp]
  0000c	50		 push	 eax
  0000d	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00010	83 c1 18	 add	 ecx, 24			; 00000018H
  00013	e8 00 00 00 00	 call	 ?begin@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@XZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::begin

; 1086 :         it != m_SubPatterns.end();

  00018	eb 08		 jmp	 SHORT $LN4@GetSubPatt
$LN3@GetSubPatt:

; 1087 :         ++it)

  0001a	8d 4d f8	 lea	 ecx, DWORD PTR _it$144258[ebp]
  0001d	e8 00 00 00 00	 call	 ??E?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAEAAV01@XZ ; std::_Vector_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator++
$LN4@GetSubPatt:
  00022	8d 4d f0	 lea	 ecx, DWORD PTR $T320294[ebp]
  00025	51		 push	 ecx
  00026	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00029	83 c1 18	 add	 ecx, 24			; 00000018H
  0002c	e8 00 00 00 00	 call	 ?end@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@XZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::end
  00031	50		 push	 eax
  00032	8d 4d f8	 lea	 ecx, DWORD PTR _it$144258[ebp]
  00035	e8 00 00 00 00	 call	 ??9?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator!=
  0003a	0f b6 d0	 movzx	 edx, al
  0003d	85 d2		 test	 edx, edx
  0003f	74 22		 je	 SHORT $LN2@GetSubPatt

; 1088 :     {
; 1089 :         if ((*it)->GetTypeAdjust() == type_adjust)

  00041	8d 4d f8	 lea	 ecx, DWORD PTR _it$144258[ebp]
  00044	e8 00 00 00 00	 call	 ??D?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEAAPAVCSubPattern@@XZ ; std::_Vector_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator*
  00049	8b 08		 mov	 ecx, DWORD PTR [eax]
  0004b	e8 00 00 00 00	 call	 ?GetTypeAdjust@CSubPattern@@QAE?AW4eTypeAdjust@@XZ ; CSubPattern::GetTypeAdjust
  00050	3b 45 08	 cmp	 eax, DWORD PTR _type_adjust$[ebp]
  00053	75 0c		 jne	 SHORT $LN1@GetSubPatt

; 1090 :         {
; 1091 :             return *it;

  00055	8d 4d f8	 lea	 ecx, DWORD PTR _it$144258[ebp]
  00058	e8 00 00 00 00	 call	 ??D?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEAAPAVCSubPattern@@XZ ; std::_Vector_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator*
  0005d	8b 00		 mov	 eax, DWORD PTR [eax]
  0005f	eb 04		 jmp	 SHORT $LN5@GetSubPatt
$LN1@GetSubPatt:

; 1092 :         }
; 1093 :     }

  00061	eb b7		 jmp	 SHORT $LN3@GetSubPatt
$LN2@GetSubPatt:

; 1094 :     return NULL;

  00063	33 c0		 xor	 eax, eax
$LN5@GetSubPatt:

; 1095 : }

  00065	8b e5		 mov	 esp, ebp
  00067	5d		 pop	 ebp
  00068	c2 04 00	 ret	 4
?GetSubPattern@CTestPattern@@QAEPAVCSubPattern@@W4eTypeAdjust@@@Z ENDP ; CTestPattern::GetSubPattern
_TEXT	ENDS
PUBLIC	?DetermineTypeContent@CTestPattern@@QAE?AW4eTypeContentPattern@@XZ ; CTestPattern::DetermineTypeContent
; Function compile flags: /Odtp
;	COMDAT ?DetermineTypeContent@CTestPattern@@QAE?AW4eTypeContentPattern@@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?DetermineTypeContent@CTestPattern@@QAE?AW4eTypeContentPattern@@XZ PROC ; CTestPattern::DetermineTypeContent, COMDAT
; _this$ = ecx

; 1061 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 1062 :     if ( (GetSubPattern(ADJ_BRIGHTNESS) != NULL)
; 1063 :       && (GetSubPattern(ADJ_CONTRAST) != NULL)
; 1064 :       && (GetSubPattern(ADJ_SATURATION_U) != NULL)
; 1065 :       && (GetSubPattern(ADJ_SATURATION_V) != NULL)
; 1066 :       && (GetSubPattern(ADJ_HUE) != NULL) )

  00007	6a 01		 push	 1
  00009	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000c	e8 00 00 00 00	 call	 ?GetSubPattern@CTestPattern@@QAEPAVCSubPattern@@W4eTypeAdjust@@@Z ; CTestPattern::GetSubPattern
  00011	85 c0		 test	 eax, eax
  00013	74 3f		 je	 SHORT $LN3@DetermineT
  00015	6a 02		 push	 2
  00017	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0001a	e8 00 00 00 00	 call	 ?GetSubPattern@CTestPattern@@QAEPAVCSubPattern@@W4eTypeAdjust@@@Z ; CTestPattern::GetSubPattern
  0001f	85 c0		 test	 eax, eax
  00021	74 31		 je	 SHORT $LN3@DetermineT
  00023	6a 04		 push	 4
  00025	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00028	e8 00 00 00 00	 call	 ?GetSubPattern@CTestPattern@@QAEPAVCSubPattern@@W4eTypeAdjust@@@Z ; CTestPattern::GetSubPattern
  0002d	85 c0		 test	 eax, eax
  0002f	74 23		 je	 SHORT $LN3@DetermineT
  00031	6a 05		 push	 5
  00033	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00036	e8 00 00 00 00	 call	 ?GetSubPattern@CTestPattern@@QAEPAVCSubPattern@@W4eTypeAdjust@@@Z ; CTestPattern::GetSubPattern
  0003b	85 c0		 test	 eax, eax
  0003d	74 15		 je	 SHORT $LN3@DetermineT
  0003f	6a 07		 push	 7
  00041	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00044	e8 00 00 00 00	 call	 ?GetSubPattern@CTestPattern@@QAEPAVCSubPattern@@W4eTypeAdjust@@@Z ; CTestPattern::GetSubPattern
  00049	85 c0		 test	 eax, eax
  0004b	74 07		 je	 SHORT $LN3@DetermineT

; 1067 :         return PAT_GRAY_AND_COLOR;

  0004d	b8 02 00 00 00	 mov	 eax, 2
  00052	eb 56		 jmp	 SHORT $LN4@DetermineT
$LN3@DetermineT:

; 1068 : 
; 1069 :     if ( (GetSubPattern(ADJ_BRIGHTNESS) != NULL)
; 1070 :       && (GetSubPattern(ADJ_CONTRAST) != NULL) )

  00054	6a 01		 push	 1
  00056	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00059	e8 00 00 00 00	 call	 ?GetSubPattern@CTestPattern@@QAEPAVCSubPattern@@W4eTypeAdjust@@@Z ; CTestPattern::GetSubPattern
  0005e	85 c0		 test	 eax, eax
  00060	74 12		 je	 SHORT $LN2@DetermineT
  00062	6a 02		 push	 2
  00064	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00067	e8 00 00 00 00	 call	 ?GetSubPattern@CTestPattern@@QAEPAVCSubPattern@@W4eTypeAdjust@@@Z ; CTestPattern::GetSubPattern
  0006c	85 c0		 test	 eax, eax
  0006e	74 04		 je	 SHORT $LN2@DetermineT

; 1071 :         return PAT_RANGE_OF_GRAY;

  00070	33 c0		 xor	 eax, eax
  00072	eb 36		 jmp	 SHORT $LN4@DetermineT
$LN2@DetermineT:

; 1072 : 
; 1073 :     if ( (GetSubPattern(ADJ_SATURATION_U) != NULL)
; 1074 :       && (GetSubPattern(ADJ_SATURATION_V) != NULL)
; 1075 :       && (GetSubPattern(ADJ_HUE) != NULL) )

  00074	6a 04		 push	 4
  00076	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00079	e8 00 00 00 00	 call	 ?GetSubPattern@CTestPattern@@QAEPAVCSubPattern@@W4eTypeAdjust@@@Z ; CTestPattern::GetSubPattern
  0007e	85 c0		 test	 eax, eax
  00080	74 23		 je	 SHORT $LN1@DetermineT
  00082	6a 05		 push	 5
  00084	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00087	e8 00 00 00 00	 call	 ?GetSubPattern@CTestPattern@@QAEPAVCSubPattern@@W4eTypeAdjust@@@Z ; CTestPattern::GetSubPattern
  0008c	85 c0		 test	 eax, eax
  0008e	74 15		 je	 SHORT $LN1@DetermineT
  00090	6a 07		 push	 7
  00092	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00095	e8 00 00 00 00	 call	 ?GetSubPattern@CTestPattern@@QAEPAVCSubPattern@@W4eTypeAdjust@@@Z ; CTestPattern::GetSubPattern
  0009a	85 c0		 test	 eax, eax
  0009c	74 07		 je	 SHORT $LN1@DetermineT

; 1076 :         return PAT_COLOR;

  0009e	b8 01 00 00 00	 mov	 eax, 1
  000a3	eb 05		 jmp	 SHORT $LN4@DetermineT
$LN1@DetermineT:

; 1077 : 
; 1078 :     return PAT_UNKNOWN;

  000a5	b8 03 00 00 00	 mov	 eax, 3
$LN4@DetermineT:

; 1079 : }

  000aa	8b e5		 mov	 esp, ebp
  000ac	5d		 pop	 ebp
  000ad	c3		 ret	 0
?DetermineTypeContent@CTestPattern@@QAE?AW4eTypeContentPattern@@XZ ENDP ; CTestPattern::DetermineTypeContent
_TEXT	ENDS
PUBLIC	??1CSubPattern@@QAE@XZ				; CSubPattern::~CSubPattern
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1CSubPattern@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1CSubPattern@@QAE@XZ$0
__ehfuncinfo$??1CSubPattern@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1CSubPattern@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??1CSubPattern@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1CSubPattern@@QAE@XZ PROC				; CSubPattern::~CSubPattern, COMDAT
; _this$ = ecx

; 704  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??1CSubPattern@@QAE@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	51		 push	 ecx
  00012	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00017	33 c5		 xor	 eax, ebp
  00019	50		 push	 eax
  0001a	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001d	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00023	89 4d f0	 mov	 DWORD PTR _this$[ebp], ecx
  00026	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 705  :     m_ColorBars.clear();

  0002d	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00030	e8 00 00 00 00	 call	 ?clear@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAEXXZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::clear

; 706  : }

  00035	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0003c	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0003f	e8 00 00 00 00	 call	 ??1?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::~vector<CColorBar *,std::allocator<CColorBar *> >
  00044	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00047	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0004e	59		 pop	 ecx
  0004f	8b e5		 mov	 esp, ebp
  00051	5d		 pop	 ebp
  00052	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1CSubPattern@@QAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::~vector<CColorBar *,std::allocator<CColorBar *> >
__ehhandler$??1CSubPattern@@QAE@XZ:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  00012	33 c8		 xor	 ecx, eax
  00014	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00019	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??1CSubPattern@@QAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1CSubPattern@@QAE@XZ ENDP				; CSubPattern::~CSubPattern
PUBLIC	?Draw@CTestPattern@@QAEXPAEH@Z			; CTestPattern::Draw
; Function compile flags: /Odtp
;	COMDAT ?Draw@CTestPattern@@QAEXPAEH@Z
_TEXT	SEGMENT
_this$ = -20						; size = 4
$T325290 = -16						; size = 8
_it$144274 = -8						; size = 8
_Buffer$ = 8						; size = 4
_Pitch$ = 12						; size = 4
?Draw@CTestPattern@@QAEXPAEH@Z PROC			; CTestPattern::Draw, COMDAT
; _this$ = ecx

; 1098 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 14	 sub	 esp, 20			; 00000014H
  00006	89 4d ec	 mov	 DWORD PTR _this$[ebp], ecx

; 1099 :     // Do the job for each defined color bar
; 1100 :     for(vector<CColorBar*>::iterator it = m_ColorBars.begin();

  00009	8d 45 f8	 lea	 eax, DWORD PTR _it$144274[ebp]
  0000c	50		 push	 eax
  0000d	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00010	e8 00 00 00 00	 call	 ?begin@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@XZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::begin

; 1101 :         it != m_ColorBars.end();

  00015	eb 08		 jmp	 SHORT $LN3@Draw@3
$LN2@Draw@3:

; 1102 :         ++it)

  00017	8d 4d f8	 lea	 ecx, DWORD PTR _it$144274[ebp]
  0001a	e8 00 00 00 00	 call	 ??E?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAEAAV01@XZ ; std::_Vector_iterator<CColorBar *,std::allocator<CColorBar *> >::operator++
$LN3@Draw@3:
  0001f	8d 4d f0	 lea	 ecx, DWORD PTR $T325290[ebp]
  00022	51		 push	 ecx
  00023	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00026	e8 00 00 00 00	 call	 ?end@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@XZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::end
  0002b	50		 push	 eax
  0002c	8d 4d f8	 lea	 ecx, DWORD PTR _it$144274[ebp]
  0002f	e8 00 00 00 00	 call	 ??9?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<CColorBar *,std::allocator<CColorBar *> >::operator!=
  00034	0f b6 d0	 movzx	 edx, al
  00037	85 d2		 test	 edx, edx
  00039	74 2d		 je	 SHORT $LN4@Draw@3

; 1103 :     {
; 1104 :         (*it)->Draw(Buffer, Pitch, m_Height, m_Width, 0, 0, 0);

  0003b	6a 00		 push	 0
  0003d	6a 00		 push	 0
  0003f	6a 00		 push	 0
  00041	8b 45 ec	 mov	 eax, DWORD PTR _this$[ebp]
  00044	8b 48 4c	 mov	 ecx, DWORD PTR [eax+76]
  00047	51		 push	 ecx
  00048	8b 55 ec	 mov	 edx, DWORD PTR _this$[ebp]
  0004b	8b 42 50	 mov	 eax, DWORD PTR [edx+80]
  0004e	50		 push	 eax
  0004f	8b 4d 0c	 mov	 ecx, DWORD PTR _Pitch$[ebp]
  00052	51		 push	 ecx
  00053	8b 55 08	 mov	 edx, DWORD PTR _Buffer$[ebp]
  00056	52		 push	 edx
  00057	8d 4d f8	 lea	 ecx, DWORD PTR _it$144274[ebp]
  0005a	e8 00 00 00 00	 call	 ??D?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEAAPAVCColorBar@@XZ ; std::_Vector_iterator<CColorBar *,std::allocator<CColorBar *> >::operator*
  0005f	8b 08		 mov	 ecx, DWORD PTR [eax]
  00061	e8 00 00 00 00	 call	 ?Draw@CColorBar@@QAEXPAEHHHHHH@Z ; CColorBar::Draw
  00066	eb af		 jmp	 SHORT $LN2@Draw@3
$LN4@Draw@3:

; 1105 :     }
; 1106 : }

  00068	8b e5		 mov	 esp, ebp
  0006a	5d		 pop	 ebp
  0006b	c2 08 00	 ret	 8
?Draw@CTestPattern@@QAEXPAEH@Z ENDP			; CTestPattern::Draw
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??_GCSubPattern@@QAEPAXI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___flags$ = 8						; size = 4
??_GCSubPattern@@QAEPAXI@Z PROC				; CSubPattern::`scalar deleting destructor', COMDAT
; _this$ = ecx
  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx
  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	e8 00 00 00 00	 call	 ??1CSubPattern@@QAE@XZ	; CSubPattern::~CSubPattern
  0000f	8b 45 08	 mov	 eax, DWORD PTR ___flags$[ebp]
  00012	83 e0 01	 and	 eax, 1
  00015	74 0c		 je	 SHORT $LN1@scalar@120
  00017	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0001a	51		 push	 ecx
  0001b	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00020	83 c4 04	 add	 esp, 4
$LN1@scalar@120:
  00023	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00026	8b e5		 mov	 esp, ebp
  00028	5d		 pop	 ebp
  00029	c2 04 00	 ret	 4
??_GCSubPattern@@QAEPAXI@Z ENDP				; CSubPattern::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	?Draw@CSubPattern@@QAEXPAUTDeinterlaceInfo@@@Z	; CSubPattern::Draw
; Function compile flags: /Odtp
;	COMDAT ?Draw@CSubPattern@@QAEXPAUTDeinterlaceInfo@@@Z
_TEXT	SEGMENT
_this$ = -20						; size = 4
$T325295 = -16						; size = 8
_it$143886 = -8						; size = 8
_pInfo$ = 8						; size = 4
?Draw@CSubPattern@@QAEXPAUTDeinterlaceInfo@@@Z PROC	; CSubPattern::Draw, COMDAT
; _this$ = ecx

; 765  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 14	 sub	 esp, 20			; 00000014H
  00006	89 4d ec	 mov	 DWORD PTR _this$[ebp], ecx

; 766  :     // Do the job for each defined color bar
; 767  :     for(vector<CColorBar*>::iterator it = m_ColorBars.begin();

  00009	8d 45 f8	 lea	 eax, DWORD PTR _it$143886[ebp]
  0000c	50		 push	 eax
  0000d	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00010	e8 00 00 00 00	 call	 ?begin@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@XZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::begin

; 768  :         it != m_ColorBars.end();

  00015	eb 08		 jmp	 SHORT $LN3@Draw@4
$LN2@Draw@4:

; 769  :         ++it)

  00017	8d 4d f8	 lea	 ecx, DWORD PTR _it$143886[ebp]
  0001a	e8 00 00 00 00	 call	 ??E?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAEAAV01@XZ ; std::_Vector_iterator<CColorBar *,std::allocator<CColorBar *> >::operator++
$LN3@Draw@4:
  0001f	8d 4d f0	 lea	 ecx, DWORD PTR $T325295[ebp]
  00022	51		 push	 ecx
  00023	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00026	e8 00 00 00 00	 call	 ?end@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@XZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::end
  0002b	50		 push	 eax
  0002c	8d 4d f8	 lea	 ecx, DWORD PTR _it$143886[ebp]
  0002f	e8 00 00 00 00	 call	 ??9?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<CColorBar *,std::allocator<CColorBar *> >::operator!=
  00034	0f b6 d0	 movzx	 edx, al
  00037	85 d2		 test	 edx, edx
  00039	74 41		 je	 SHORT $LN4@Draw@4

; 770  :     {
; 771  :         (*it)->Draw(pInfo->PictureHistory[0]->pData, pInfo->InputPitch, pInfo->FieldHeight, pInfo->FrameWidth, 0, LeftCropping, RightCropping);

  0003b	a1 00 00 00 00	 mov	 eax, DWORD PTR ?RightCropping@@3JA ; RightCropping
  00040	50		 push	 eax
  00041	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?LeftCropping@@3JA ; LeftCropping
  00047	51		 push	 ecx
  00048	6a 00		 push	 0
  0004a	8b 55 08	 mov	 edx, DWORD PTR _pInfo$[ebp]
  0004d	8b 42 4c	 mov	 eax, DWORD PTR [edx+76]
  00050	50		 push	 eax
  00051	8b 4d 08	 mov	 ecx, DWORD PTR _pInfo$[ebp]
  00054	8b 51 54	 mov	 edx, DWORD PTR [ecx+84]
  00057	52		 push	 edx
  00058	8b 45 08	 mov	 eax, DWORD PTR _pInfo$[ebp]
  0005b	8b 88 84 00 00
	00		 mov	 ecx, DWORD PTR [eax+132]
  00061	51		 push	 ecx
  00062	8b 55 08	 mov	 edx, DWORD PTR _pInfo$[ebp]
  00065	8b 42 04	 mov	 eax, DWORD PTR [edx+4]
  00068	8b 08		 mov	 ecx, DWORD PTR [eax]
  0006a	51		 push	 ecx
  0006b	8d 4d f8	 lea	 ecx, DWORD PTR _it$143886[ebp]
  0006e	e8 00 00 00 00	 call	 ??D?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEAAPAVCColorBar@@XZ ; std::_Vector_iterator<CColorBar *,std::allocator<CColorBar *> >::operator*
  00073	8b 08		 mov	 ecx, DWORD PTR [eax]
  00075	e8 00 00 00 00	 call	 ?Draw@CColorBar@@QAEXPAEHHHHHH@Z ; CColorBar::Draw
  0007a	eb 9b		 jmp	 SHORT $LN2@Draw@4
$LN4@Draw@4:

; 772  :     }
; 773  : }

  0007c	8b e5		 mov	 esp, ebp
  0007e	5d		 pop	 ebp
  0007f	c2 04 00	 ret	 4
?Draw@CSubPattern@@QAEXPAUTDeinterlaceInfo@@@Z ENDP	; CSubPattern::Draw
_TEXT	ENDS
PUBLIC	?GetSumDeltaColor@CSubPattern@@QAEXHPAH000@Z	; CSubPattern::GetSumDeltaColor
; Function compile flags: /Odtp
;	COMDAT ?GetSumDeltaColor@CSubPattern@@QAEXHPAH000@Z
_TEXT	SEGMENT
tv144 = -60						; size = 4
_this$ = -56						; size = 4
$T325298 = -52						; size = 8
_it$143868 = -44					; size = 8
_j$ = -36						; size = 4
_delta$ = -32						; size = 16
_sum_delta$ = -16					; size = 16
_YUV$ = 8						; size = 4
_pR_Y$ = 12						; size = 4
_pG_U$ = 16						; size = 4
_pB_V$ = 20						; size = 4
_pTotal$ = 24						; size = 4
?GetSumDeltaColor@CSubPattern@@QAEXHPAH000@Z PROC	; CSubPattern::GetSumDeltaColor, COMDAT
; _this$ = ecx

; 733  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 3c	 sub	 esp, 60			; 0000003cH
  00006	89 4d c8	 mov	 DWORD PTR _this$[ebp], ecx

; 734  :     int delta[4];
; 735  :     int sum_delta[4];
; 736  : 
; 737  :     // Set the sums to 0
; 738  :     int j;
; 739  :     for (j = 0 ; j <= 3 ; j++)

  00009	c7 45 dc 00 00
	00 00		 mov	 DWORD PTR _j$[ebp], 0
  00010	eb 09		 jmp	 SHORT $LN10@GetSumDelt
$LN9@GetSumDelt:
  00012	8b 45 dc	 mov	 eax, DWORD PTR _j$[ebp]
  00015	83 c0 01	 add	 eax, 1
  00018	89 45 dc	 mov	 DWORD PTR _j$[ebp], eax
$LN10@GetSumDelt:
  0001b	83 7d dc 03	 cmp	 DWORD PTR _j$[ebp], 3
  0001f	7f 0d		 jg	 SHORT $LN8@GetSumDelt

; 740  :     {
; 741  :         sum_delta[j] = 0;

  00021	8b 4d dc	 mov	 ecx, DWORD PTR _j$[ebp]
  00024	c7 44 8d f0 00
	00 00 00	 mov	 DWORD PTR _sum_delta$[ebp+ecx*4], 0

; 742  :     }

  0002c	eb e4		 jmp	 SHORT $LN9@GetSumDelt
$LN8@GetSumDelt:

; 743  :     // Go through all the color bars
; 744  :     for(vector<CColorBar*>::iterator it = m_ColorBars.begin();

  0002e	8d 55 d4	 lea	 edx, DWORD PTR _it$143868[ebp]
  00031	52		 push	 edx
  00032	8b 4d c8	 mov	 ecx, DWORD PTR _this$[ebp]
  00035	e8 00 00 00 00	 call	 ?begin@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@XZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::begin

; 745  :         it != m_ColorBars.end();

  0003a	eb 08		 jmp	 SHORT $LN7@GetSumDelt
$LN6@GetSumDelt:

; 746  :         ++it)

  0003c	8d 4d d4	 lea	 ecx, DWORD PTR _it$143868[ebp]
  0003f	e8 00 00 00 00	 call	 ??E?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAEAAV01@XZ ; std::_Vector_iterator<CColorBar *,std::allocator<CColorBar *> >::operator++
$LN7@GetSumDelt:
  00044	8d 45 cc	 lea	 eax, DWORD PTR $T325298[ebp]
  00047	50		 push	 eax
  00048	8b 4d c8	 mov	 ecx, DWORD PTR _this$[ebp]
  0004b	e8 00 00 00 00	 call	 ?end@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@XZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::end
  00050	50		 push	 eax
  00051	8d 4d d4	 lea	 ecx, DWORD PTR _it$143868[ebp]
  00054	e8 00 00 00 00	 call	 ??9?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<CColorBar *,std::allocator<CColorBar *> >::operator!=
  00059	0f b6 c8	 movzx	 ecx, al
  0005c	85 c9		 test	 ecx, ecx
  0005e	74 7a		 je	 SHORT $LN5@GetSumDelt

; 747  :     {
; 748  :         if ((*it)->GetDeltaColor(YUV, &delta[0], &delta[1], &delta[2], &delta[3]) == TRUE)

  00060	8d 55 ec	 lea	 edx, DWORD PTR _delta$[ebp+12]
  00063	52		 push	 edx
  00064	8d 45 e8	 lea	 eax, DWORD PTR _delta$[ebp+8]
  00067	50		 push	 eax
  00068	8d 4d e4	 lea	 ecx, DWORD PTR _delta$[ebp+4]
  0006b	51		 push	 ecx
  0006c	8d 55 e0	 lea	 edx, DWORD PTR _delta$[ebp]
  0006f	52		 push	 edx
  00070	8b 45 08	 mov	 eax, DWORD PTR _YUV$[ebp]
  00073	50		 push	 eax
  00074	8d 4d d4	 lea	 ecx, DWORD PTR _it$143868[ebp]
  00077	e8 00 00 00 00	 call	 ??D?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEAAPAVCColorBar@@XZ ; std::_Vector_iterator<CColorBar *,std::allocator<CColorBar *> >::operator*
  0007c	8b 08		 mov	 ecx, DWORD PTR [eax]
  0007e	e8 00 00 00 00	 call	 ?GetDeltaColor@CColorBar@@QAEHHPAH000@Z ; CColorBar::GetDeltaColor
  00083	83 f8 01	 cmp	 eax, 1
  00086	75 4d		 jne	 SHORT $LN4@GetSumDelt

; 749  :         {
; 750  :             for (j = 0 ; j <= 3 ; j++)

  00088	c7 45 dc 00 00
	00 00		 mov	 DWORD PTR _j$[ebp], 0
  0008f	eb 09		 jmp	 SHORT $LN3@GetSumDelt
$LN2@GetSumDelt:
  00091	8b 4d dc	 mov	 ecx, DWORD PTR _j$[ebp]
  00094	83 c1 01	 add	 ecx, 1
  00097	89 4d dc	 mov	 DWORD PTR _j$[ebp], ecx
$LN3@GetSumDelt:
  0009a	83 7d dc 03	 cmp	 DWORD PTR _j$[ebp], 3
  0009e	7f 35		 jg	 SHORT $LN4@GetSumDelt

; 751  :             {
; 752  :                 sum_delta[j] += ABSOLUTE_VALUE(delta[j]);

  000a0	8b 55 dc	 mov	 edx, DWORD PTR _j$[ebp]
  000a3	83 7c 95 e0 00	 cmp	 DWORD PTR _delta$[ebp+edx*4], 0
  000a8	7d 0e		 jge	 SHORT $LN13@GetSumDelt
  000aa	8b 45 dc	 mov	 eax, DWORD PTR _j$[ebp]
  000ad	8b 4c 85 e0	 mov	 ecx, DWORD PTR _delta$[ebp+eax*4]
  000b1	f7 d9		 neg	 ecx
  000b3	89 4d c4	 mov	 DWORD PTR tv144[ebp], ecx
  000b6	eb 0a		 jmp	 SHORT $LN14@GetSumDelt
$LN13@GetSumDelt:
  000b8	8b 55 dc	 mov	 edx, DWORD PTR _j$[ebp]
  000bb	8b 44 95 e0	 mov	 eax, DWORD PTR _delta$[ebp+edx*4]
  000bf	89 45 c4	 mov	 DWORD PTR tv144[ebp], eax
$LN14@GetSumDelt:
  000c2	8b 4d dc	 mov	 ecx, DWORD PTR _j$[ebp]
  000c5	8b 54 8d f0	 mov	 edx, DWORD PTR _sum_delta$[ebp+ecx*4]
  000c9	03 55 c4	 add	 edx, DWORD PTR tv144[ebp]
  000cc	8b 45 dc	 mov	 eax, DWORD PTR _j$[ebp]
  000cf	89 54 85 f0	 mov	 DWORD PTR _sum_delta$[ebp+eax*4], edx

; 753  :             }

  000d3	eb bc		 jmp	 SHORT $LN2@GetSumDelt
$LN4@GetSumDelt:

; 754  :         }
; 755  :     }

  000d5	e9 62 ff ff ff	 jmp	 $LN6@GetSumDelt
$LN5@GetSumDelt:

; 756  : 
; 757  :     *pR_Y = sum_delta[0];

  000da	8b 4d 0c	 mov	 ecx, DWORD PTR _pR_Y$[ebp]
  000dd	8b 55 f0	 mov	 edx, DWORD PTR _sum_delta$[ebp]
  000e0	89 11		 mov	 DWORD PTR [ecx], edx

; 758  :     *pG_U = sum_delta[1];

  000e2	8b 45 10	 mov	 eax, DWORD PTR _pG_U$[ebp]
  000e5	8b 4d f4	 mov	 ecx, DWORD PTR _sum_delta$[ebp+4]
  000e8	89 08		 mov	 DWORD PTR [eax], ecx

; 759  :     *pB_V = sum_delta[2];

  000ea	8b 55 14	 mov	 edx, DWORD PTR _pB_V$[ebp]
  000ed	8b 45 f8	 mov	 eax, DWORD PTR _sum_delta$[ebp+8]
  000f0	89 02		 mov	 DWORD PTR [edx], eax

; 760  :     *pTotal = sum_delta[3];

  000f2	8b 4d 18	 mov	 ecx, DWORD PTR _pTotal$[ebp]
  000f5	8b 55 fc	 mov	 edx, DWORD PTR _sum_delta$[ebp+12]
  000f8	89 11		 mov	 DWORD PTR [ecx], edx

; 761  : }

  000fa	8b e5		 mov	 esp, ebp
  000fc	5d		 pop	 ebp
  000fd	c2 14 00	 ret	 20			; 00000014H
?GetSumDeltaColor@CSubPattern@@QAEXHPAH000@Z ENDP	; CSubPattern::GetSumDeltaColor
PUBLIC	??1CTestPattern@@QAE@XZ				; CTestPattern::~CTestPattern
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1CTestPattern@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1CTestPattern@@QAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??1CTestPattern@@QAE@XZ$1
	DD	01H
	DD	FLAT:__unwindfunclet$??1CTestPattern@@QAE@XZ$2
__ehfuncinfo$??1CTestPattern@@QAE@XZ DD 019930522H
	DD	03H
	DD	FLAT:__unwindtable$??1CTestPattern@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??1CTestPattern@@QAE@XZ
_TEXT	SEGMENT
tv128 = -64						; size = 4
_this$ = -60						; size = 4
$T327006 = -56						; size = 4
$T327005 = -52						; size = 8
$T327002 = -44						; size = 4
$T327001 = -40						; size = 4
$T327000 = -36						; size = 8
_it2$144200 = -28					; size = 8
_it$144188 = -20					; size = 8
__$EHRec$ = -12						; size = 12
??1CTestPattern@@QAE@XZ PROC				; CTestPattern::~CTestPattern, COMDAT
; _this$ = ecx

; 998  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??1CTestPattern@@QAE@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 34	 sub	 esp, 52			; 00000034H
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	50		 push	 eax
  0001c	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001f	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00025	89 4d c4	 mov	 DWORD PTR _this$[ebp], ecx
  00028	c7 45 fc 02 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 2

; 999  :     for(vector<CSubPattern*>::iterator it = m_SubPatterns.begin();

  0002f	8d 45 ec	 lea	 eax, DWORD PTR _it$144188[ebp]
  00032	50		 push	 eax
  00033	8b 4d c4	 mov	 ecx, DWORD PTR _this$[ebp]
  00036	83 c1 18	 add	 ecx, 24			; 00000018H
  00039	e8 00 00 00 00	 call	 ?begin@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@XZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::begin

; 1000 :         it != m_SubPatterns.end();

  0003e	eb 08		 jmp	 SHORT $LN6@CTestPatte
$LN5@CTestPatte:

; 1001 :         ++it)

  00040	8d 4d ec	 lea	 ecx, DWORD PTR _it$144188[ebp]
  00043	e8 00 00 00 00	 call	 ??E?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAEAAV01@XZ ; std::_Vector_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator++
$LN6@CTestPatte:
  00048	8d 4d dc	 lea	 ecx, DWORD PTR $T327000[ebp]
  0004b	51		 push	 ecx
  0004c	8b 4d c4	 mov	 ecx, DWORD PTR _this$[ebp]
  0004f	83 c1 18	 add	 ecx, 24			; 00000018H
  00052	e8 00 00 00 00	 call	 ?end@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@XZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::end
  00057	50		 push	 eax
  00058	8d 4d ec	 lea	 ecx, DWORD PTR _it$144188[ebp]
  0005b	e8 00 00 00 00	 call	 ??9?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator!=
  00060	0f b6 d0	 movzx	 edx, al
  00063	85 d2		 test	 edx, edx
  00065	74 31		 je	 SHORT $LN4@CTestPatte

; 1002 :     {
; 1003 :         delete *it;

  00067	8d 4d ec	 lea	 ecx, DWORD PTR _it$144188[ebp]
  0006a	e8 00 00 00 00	 call	 ??D?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEAAPAVCSubPattern@@XZ ; std::_Vector_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator*
  0006f	8b 00		 mov	 eax, DWORD PTR [eax]
  00071	89 45 d4	 mov	 DWORD PTR $T327002[ebp], eax
  00074	8b 4d d4	 mov	 ecx, DWORD PTR $T327002[ebp]
  00077	89 4d d8	 mov	 DWORD PTR $T327001[ebp], ecx
  0007a	83 7d d8 00	 cmp	 DWORD PTR $T327001[ebp], 0
  0007e	74 0f		 je	 SHORT $LN9@CTestPatte
  00080	6a 01		 push	 1
  00082	8b 4d d8	 mov	 ecx, DWORD PTR $T327001[ebp]
  00085	e8 00 00 00 00	 call	 ??_GCSubPattern@@QAEPAXI@Z
  0008a	89 45 c0	 mov	 DWORD PTR tv128[ebp], eax
  0008d	eb 07		 jmp	 SHORT $LN10@CTestPatte
$LN9@CTestPatte:
  0008f	c7 45 c0 00 00
	00 00		 mov	 DWORD PTR tv128[ebp], 0
$LN10@CTestPatte:

; 1004 :     }

  00096	eb a8		 jmp	 SHORT $LN5@CTestPatte
$LN4@CTestPatte:

; 1005 :     m_SubPatterns.clear();

  00098	8b 4d c4	 mov	 ecx, DWORD PTR _this$[ebp]
  0009b	83 c1 18	 add	 ecx, 24			; 00000018H
  0009e	e8 00 00 00 00	 call	 ?clear@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAEXXZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::clear

; 1006 :     for(vector<CColorBar*>::iterator it2 = m_ColorBars.begin();

  000a3	8d 55 e4	 lea	 edx, DWORD PTR _it2$144200[ebp]
  000a6	52		 push	 edx
  000a7	8b 4d c4	 mov	 ecx, DWORD PTR _this$[ebp]
  000aa	e8 00 00 00 00	 call	 ?begin@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@XZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::begin

; 1007 :         it2 != m_ColorBars.end();

  000af	eb 08		 jmp	 SHORT $LN3@CTestPatte
$LN2@CTestPatte:

; 1008 :         ++it2)

  000b1	8d 4d e4	 lea	 ecx, DWORD PTR _it2$144200[ebp]
  000b4	e8 00 00 00 00	 call	 ??E?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAEAAV01@XZ ; std::_Vector_iterator<CColorBar *,std::allocator<CColorBar *> >::operator++
$LN3@CTestPatte:
  000b9	8d 45 cc	 lea	 eax, DWORD PTR $T327005[ebp]
  000bc	50		 push	 eax
  000bd	8b 4d c4	 mov	 ecx, DWORD PTR _this$[ebp]
  000c0	e8 00 00 00 00	 call	 ?end@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@XZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::end
  000c5	50		 push	 eax
  000c6	8d 4d e4	 lea	 ecx, DWORD PTR _it2$144200[ebp]
  000c9	e8 00 00 00 00	 call	 ??9?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<CColorBar *,std::allocator<CColorBar *> >::operator!=
  000ce	0f b6 c8	 movzx	 ecx, al
  000d1	85 c9		 test	 ecx, ecx
  000d3	74 1b		 je	 SHORT $LN1@CTestPatte

; 1009 :     {
; 1010 :         delete *it2;

  000d5	8d 4d e4	 lea	 ecx, DWORD PTR _it2$144200[ebp]
  000d8	e8 00 00 00 00	 call	 ??D?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEAAPAVCColorBar@@XZ ; std::_Vector_iterator<CColorBar *,std::allocator<CColorBar *> >::operator*
  000dd	8b 10		 mov	 edx, DWORD PTR [eax]
  000df	89 55 c8	 mov	 DWORD PTR $T327006[ebp], edx
  000e2	8b 45 c8	 mov	 eax, DWORD PTR $T327006[ebp]
  000e5	50		 push	 eax
  000e6	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  000eb	83 c4 04	 add	 esp, 4

; 1011 :     }

  000ee	eb c1		 jmp	 SHORT $LN2@CTestPatte
$LN1@CTestPatte:

; 1012 :     m_ColorBars.clear();

  000f0	8b 4d c4	 mov	 ecx, DWORD PTR _this$[ebp]
  000f3	e8 00 00 00 00	 call	 ?clear@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAEXXZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::clear

; 1013 : }

  000f8	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  000fc	8b 4d c4	 mov	 ecx, DWORD PTR _this$[ebp]
  000ff	83 c1 30	 add	 ecx, 48			; 00000030H
  00102	e8 00 00 00 00	 call	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
  00107	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  0010b	8b 4d c4	 mov	 ecx, DWORD PTR _this$[ebp]
  0010e	83 c1 18	 add	 ecx, 24			; 00000018H
  00111	e8 00 00 00 00	 call	 ??1?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::~vector<CSubPattern *,std::allocator<CSubPattern *> >
  00116	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0011d	8b 4d c4	 mov	 ecx, DWORD PTR _this$[ebp]
  00120	e8 00 00 00 00	 call	 ??1?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::~vector<CColorBar *,std::allocator<CColorBar *> >
  00125	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00128	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0012f	59		 pop	 ecx
  00130	8b e5		 mov	 esp, ebp
  00132	5d		 pop	 ebp
  00133	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1CTestPattern@@QAE@XZ$0:
  00000	8b 4d c4	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::~vector<CColorBar *,std::allocator<CColorBar *> >
__unwindfunclet$??1CTestPattern@@QAE@XZ$1:
  00008	8b 4d c4	 mov	 ecx, DWORD PTR _this$[ebp]
  0000b	83 c1 18	 add	 ecx, 24			; 00000018H
  0000e	e9 00 00 00 00	 jmp	 ??1?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::~vector<CSubPattern *,std::allocator<CSubPattern *> >
__unwindfunclet$??1CTestPattern@@QAE@XZ$2:
  00013	8b 4d c4	 mov	 ecx, DWORD PTR _this$[ebp]
  00016	83 c1 30	 add	 ecx, 48			; 00000030H
  00019	e9 00 00 00 00	 jmp	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
__ehhandler$??1CTestPattern@@QAE@XZ:
  0001e	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00022	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00025	8b 4a c8	 mov	 ecx, DWORD PTR [edx-56]
  00028	33 c8		 xor	 ecx, eax
  0002a	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0002f	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??1CTestPattern@@QAE@XZ
  00034	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1CTestPattern@@QAE@XZ ENDP				; CTestPattern::~CTestPattern
PUBLIC	?GetName@CTestPattern@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ ; CTestPattern::GetName
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?GetName@CTestPattern@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?GetName@CTestPattern@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ$0
__ehfuncinfo$?GetName@CTestPattern@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?GetName@CTestPattern@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?GetName@CTestPattern@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ
_TEXT	SEGMENT
_this$ = -20						; size = 4
$T328750 = -16						; size = 4
__$EHRec$ = -12						; size = 12
___$ReturnUdt$ = 8					; size = 4
?GetName@CTestPattern@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ PROC ; CTestPattern::GetName, COMDAT
; _this$ = ecx

; 1017 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?GetName@CTestPattern@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 08	 sub	 esp, 8
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	50		 push	 eax
  0001c	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001f	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00025	89 4d ec	 mov	 DWORD PTR _this$[ebp], ecx
  00028	c7 45 f0 00 00
	00 00		 mov	 DWORD PTR $T328750[ebp], 0

; 1018 :     return m_PatternName;

  0002f	8b 45 ec	 mov	 eax, DWORD PTR _this$[ebp]
  00032	83 c0 30	 add	 eax, 48			; 00000030H
  00035	50		 push	 eax
  00036	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  00039	e8 00 00 00 00	 call	 ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@ABV01@@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
  0003e	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00045	8b 4d f0	 mov	 ecx, DWORD PTR $T328750[ebp]
  00048	83 c9 01	 or	 ecx, 1
  0004b	89 4d f0	 mov	 DWORD PTR $T328750[ebp], ecx
  0004e	8b 45 08	 mov	 eax, DWORD PTR ___$ReturnUdt$[ebp]

; 1019 : }

  00051	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00054	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0005b	59		 pop	 ecx
  0005c	8b e5		 mov	 esp, ebp
  0005e	5d		 pop	 ebp
  0005f	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?GetName@CTestPattern@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ$0:
  00000	8b 45 f0	 mov	 eax, DWORD PTR $T328750[ebp]
  00003	83 e0 01	 and	 eax, 1
  00006	0f 84 0c 00 00
	00		 je	 $LN4@GetName
  0000c	83 65 f0 fe	 and	 DWORD PTR $T328750[ebp], -2 ; fffffffeH
  00010	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  00013	e9 00 00 00 00	 jmp	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
$LN4@GetName:
  00018	c3		 ret	 0
__ehhandler$?GetName@CTestPattern@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ:
  00019	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0001d	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00020	8b 4a f4	 mov	 ecx, DWORD PTR [edx-12]
  00023	33 c8		 xor	 ecx, eax
  00025	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0002a	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?GetName@CTestPattern@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ
  0002f	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?GetName@CTestPattern@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ ENDP ; CTestPattern::GetName
;	COMDAT xdata$x
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
xdata$x	SEGMENT
__unwindtable$?_Xlen@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@KAXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?_Xlen@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@KAXXZ$0
__ehfuncinfo$?_Xlen@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@KAXXZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?_Xlen@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@KAXXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?_Xlen@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@KAXXZ
_TEXT	SEGMENT
$T337608 = -80						; size = 28
$T337607 = -52						; size = 40
__$EHRec$ = -12						; size = 12
?_Xlen@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@KAXXZ PROC ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Xlen, COMDAT

; 1257 : 		{	// report a length_error

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?_Xlen@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@KAXXZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 44	 sub	 esp, 68			; 00000044H
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	50		 push	 eax
  0001c	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001f	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax

; 1258 : 		_THROW(length_error, "vector<T> too long");

  00025	68 00 00 00 00	 push	 OFFSET ??_C@_0BD@OLBABOEK@vector?$DMT?$DO?5too?5long?$AA@
  0002a	8d 4d b0	 lea	 ecx, DWORD PTR $T337608[ebp]
  0002d	e8 00 00 00 00	 call	 ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
  00032	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00039	8d 45 b0	 lea	 eax, DWORD PTR $T337608[ebp]
  0003c	50		 push	 eax
  0003d	8d 4d cc	 lea	 ecx, DWORD PTR $T337607[ebp]
  00040	e8 00 00 00 00	 call	 ??0length_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z ; std::length_error::length_error
  00045	68 00 00 00 00	 push	 OFFSET __TI3?AVlength_error@std@@
  0004a	8d 4d cc	 lea	 ecx, DWORD PTR $T337607[ebp]
  0004d	51		 push	 ecx
  0004e	e8 00 00 00 00	 call	 __CxxThrowException@8
  00053	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0005a	8d 4d b0	 lea	 ecx, DWORD PTR $T337608[ebp]
  0005d	e8 00 00 00 00	 call	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
$LN2@Xlen@18:

; 1259 : 		}

  00062	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00065	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0006c	59		 pop	 ecx
  0006d	8b e5		 mov	 esp, ebp
  0006f	5d		 pop	 ebp
  00070	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?_Xlen@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@KAXXZ$0:
  00000	8d 4d b0	 lea	 ecx, DWORD PTR $T337608[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__ehhandler$?_Xlen@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@KAXXZ:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a b8	 mov	 ecx, DWORD PTR [edx-72]
  00012	33 c8		 xor	 ecx, eax
  00014	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00019	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?_Xlen@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@KAXXZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?_Xlen@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@KAXXZ ENDP ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Xlen
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?_Insert_n@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@IABQAVCSubPattern@@@Z DD 0ffffffffH
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	0ffffffffH
	DD	00H
__catchsym$?_Insert_n@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@IABQAVCSubPattern@@@Z$4 DD 00H
	DD	00H
	DD	00H
	DD	FLAT:__catch$?_Insert_n@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@IABQAVCSubPattern@@@Z$0
__catchsym$?_Insert_n@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@IABQAVCSubPattern@@@Z$5 DD 00H
	DD	00H
	DD	00H
	DD	FLAT:__catch$?_Insert_n@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@IABQAVCSubPattern@@@Z$2
__tryblocktable$?_Insert_n@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@IABQAVCSubPattern@@@Z DD 00H
	DD	00H
	DD	01H
	DD	01H
	DD	FLAT:__catchsym$?_Insert_n@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@IABQAVCSubPattern@@@Z$4
	DD	02H
	DD	02H
	DD	03H
	DD	01H
	DD	FLAT:__catchsym$?_Insert_n@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@IABQAVCSubPattern@@@Z$5
__ehfuncinfo$?_Insert_n@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@IABQAVCSubPattern@@@Z DD 019930522H
	DD	04H
	DD	FLAT:__unwindtable$?_Insert_n@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@IABQAVCSubPattern@@@Z
	DD	02H
	DD	FLAT:__tryblocktable$?_Insert_n@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@IABQAVCSubPattern@@@Z
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?_Insert_n@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@IABQAVCSubPattern@@@Z
_TEXT	SEGMENT
tv84 = -48						; size = 4
_this$ = -44						; size = 4
__Tmp$144842 = -40					; size = 4
__Oldend$144843 = -36					; size = 4
__Tmp$144832 = -32					; size = 4
__Newvec$144820 = -28					; size = 4
__Ptr$144821 = -24					; size = 4
__Capacity$ = -20					; size = 4
__$EHRec$ = -16						; size = 16
__Where$ = 8						; size = 8
__Count$ = 16						; size = 4
__Val$ = 20						; size = 4
?_Insert_n@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@IABQAVCSubPattern@@@Z PROC ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Insert_n, COMDAT
; _this$ = ecx

; 1158 : 		{	// insert _Count * _Val at _Where

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?_Insert_n@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@IABQAVCSubPattern@@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	51		 push	 ecx
  00012	83 ec 20	 sub	 esp, 32			; 00000020H
  00015	53		 push	 ebx
  00016	56		 push	 esi
  00017	57		 push	 edi
  00018	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001d	33 c5		 xor	 eax, ebp
  0001f	50		 push	 eax
  00020	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp+4]
  00023	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00029	89 65 f0	 mov	 DWORD PTR __$EHRec$[ebp], esp
  0002c	89 4d d4	 mov	 DWORD PTR _this$[ebp], ecx

; 1159 : 
; 1160 :  #if _HAS_ITERATOR_DEBUGGING
; 1161 : 		if (_Where._Mycont != this
; 1162 : 			|| _Where._Myptr < _Myfirst || _Mylast < _Where._Myptr)
; 1163 : 			_DEBUG_ERROR("vector insert iterator outside range");
; 1164 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 1165 : 
; 1166 : 		size_type _Capacity = capacity();

  0002f	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  00032	e8 00 00 00 00	 call	 ?capacity@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEIXZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::capacity
  00037	89 45 ec	 mov	 DWORD PTR __Capacity$[ebp], eax

; 1167 : 
; 1168 : 		if (_Count == 0)

  0003a	83 7d 10 00	 cmp	 DWORD PTR __Count$[ebp], 0
  0003e	75 05		 jne	 SHORT $LN12@Insert_n@13
  00040	e9 ea 02 00 00	 jmp	 $LN14@Insert_n@13
$LN12@Insert_n@13:

; 1169 : 			;
; 1170 : 		else if (max_size() - size() < _Count)

  00045	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  00048	e8 00 00 00 00	 call	 ?max_size@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEIXZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::max_size
  0004d	8b f0		 mov	 esi, eax
  0004f	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  00052	e8 00 00 00 00	 call	 ?size@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEIXZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::size
  00057	2b f0		 sub	 esi, eax
  00059	3b 75 10	 cmp	 esi, DWORD PTR __Count$[ebp]
  0005c	73 0a		 jae	 SHORT $LN10@Insert_n@13

; 1171 : 			_Xlen();	// result too long

  0005e	e8 00 00 00 00	 call	 ?_Xlen@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@KAXXZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Xlen
  00063	e9 c7 02 00 00	 jmp	 $LN14@Insert_n@13
$LN10@Insert_n@13:

; 1172 : 		else if (_Capacity < size() + _Count)

  00068	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  0006b	e8 00 00 00 00	 call	 ?size@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEIXZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::size
  00070	03 45 10	 add	 eax, DWORD PTR __Count$[ebp]
  00073	39 45 ec	 cmp	 DWORD PTR __Capacity$[ebp], eax
  00076	0f 83 70 01 00
	00		 jae	 $LN8@Insert_n@13

; 1173 : 			{	// not enough room, reallocate
; 1174 : 			_Capacity = max_size() - _Capacity / 2 < _Capacity
; 1175 : 				? 0 : _Capacity + _Capacity / 2;	// try to grow by 50%

  0007c	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  0007f	e8 00 00 00 00	 call	 ?max_size@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEIXZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::max_size
  00084	8b 4d ec	 mov	 ecx, DWORD PTR __Capacity$[ebp]
  00087	d1 e9		 shr	 ecx, 1
  00089	2b c1		 sub	 eax, ecx
  0008b	3b 45 ec	 cmp	 eax, DWORD PTR __Capacity$[ebp]
  0008e	73 09		 jae	 SHORT $LN15@Insert_n@13
  00090	c7 45 d0 00 00
	00 00		 mov	 DWORD PTR tv84[ebp], 0
  00097	eb 0b		 jmp	 SHORT $LN16@Insert_n@13
$LN15@Insert_n@13:
  00099	8b 55 ec	 mov	 edx, DWORD PTR __Capacity$[ebp]
  0009c	d1 ea		 shr	 edx, 1
  0009e	03 55 ec	 add	 edx, DWORD PTR __Capacity$[ebp]
  000a1	89 55 d0	 mov	 DWORD PTR tv84[ebp], edx
$LN16@Insert_n@13:
  000a4	8b 45 d0	 mov	 eax, DWORD PTR tv84[ebp]
  000a7	89 45 ec	 mov	 DWORD PTR __Capacity$[ebp], eax

; 1176 : 			if (_Capacity < size() + _Count)

  000aa	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  000ad	e8 00 00 00 00	 call	 ?size@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEIXZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::size
  000b2	03 45 10	 add	 eax, DWORD PTR __Count$[ebp]
  000b5	39 45 ec	 cmp	 DWORD PTR __Capacity$[ebp], eax
  000b8	73 0e		 jae	 SHORT $LN7@Insert_n@13

; 1177 : 				_Capacity = size() + _Count;

  000ba	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  000bd	e8 00 00 00 00	 call	 ?size@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEIXZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::size
  000c2	03 45 10	 add	 eax, DWORD PTR __Count$[ebp]
  000c5	89 45 ec	 mov	 DWORD PTR __Capacity$[ebp], eax
$LN7@Insert_n@13:

; 1178 : 			pointer _Newvec = this->_Alval.allocate(_Capacity);

  000c8	8b 4d ec	 mov	 ecx, DWORD PTR __Capacity$[ebp]
  000cb	51		 push	 ecx
  000cc	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  000cf	83 c1 08	 add	 ecx, 8
  000d2	e8 00 00 00 00	 call	 ?allocate@?$allocator@PAVCSubPattern@@@std@@QAEPAPAVCSubPattern@@I@Z ; std::allocator<CSubPattern *>::allocate
  000d7	89 45 e4	 mov	 DWORD PTR __Newvec$144820[ebp], eax

; 1179 : 			pointer _Ptr = _Newvec;

  000da	8b 55 e4	 mov	 edx, DWORD PTR __Newvec$144820[ebp]
  000dd	89 55 e8	 mov	 DWORD PTR __Ptr$144821[ebp], edx

; 1180 : 
; 1181 : 			_TRY_BEGIN

  000e0	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+12], 0

; 1182 : 			_Ptr = _Umove(_Myfirst, _VEC_ITER_BASE(_Where),
; 1183 : 				_Newvec);	// copy prefix

  000e7	8b 45 e4	 mov	 eax, DWORD PTR __Newvec$144820[ebp]
  000ea	50		 push	 eax
  000eb	8b 4d 0c	 mov	 ecx, DWORD PTR __Where$[ebp+4]
  000ee	51		 push	 ecx
  000ef	8b 55 d4	 mov	 edx, DWORD PTR _this$[ebp]
  000f2	8b 42 0c	 mov	 eax, DWORD PTR [edx+12]
  000f5	50		 push	 eax
  000f6	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  000f9	e8 00 00 00 00	 call	 ??$_Umove@PAPAVCSubPattern@@@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEPAPAVCSubPattern@@PAPAV2@00@Z ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Umove<CSubPattern * *>
  000fe	89 45 e8	 mov	 DWORD PTR __Ptr$144821[ebp], eax

; 1184 : 			_Ptr = _Ufill(_Ptr, _Count, _Val);	// add new stuff

  00101	8b 4d 14	 mov	 ecx, DWORD PTR __Val$[ebp]
  00104	51		 push	 ecx
  00105	8b 55 10	 mov	 edx, DWORD PTR __Count$[ebp]
  00108	52		 push	 edx
  00109	8b 45 e8	 mov	 eax, DWORD PTR __Ptr$144821[ebp]
  0010c	50		 push	 eax
  0010d	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  00110	e8 00 00 00 00	 call	 ?_Ufill@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEPAPAVCSubPattern@@PAPAV3@IABQAV3@@Z ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Ufill
  00115	89 45 e8	 mov	 DWORD PTR __Ptr$144821[ebp], eax

; 1185 : 			_Umove(_VEC_ITER_BASE(_Where), _Mylast, _Ptr);	// copy suffix

  00118	8b 4d e8	 mov	 ecx, DWORD PTR __Ptr$144821[ebp]
  0011b	51		 push	 ecx
  0011c	8b 55 d4	 mov	 edx, DWORD PTR _this$[ebp]
  0011f	8b 42 10	 mov	 eax, DWORD PTR [edx+16]
  00122	50		 push	 eax
  00123	8b 4d 0c	 mov	 ecx, DWORD PTR __Where$[ebp+4]
  00126	51		 push	 ecx
  00127	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  0012a	e8 00 00 00 00	 call	 ??$_Umove@PAPAVCSubPattern@@@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEPAPAVCSubPattern@@PAPAV2@00@Z ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Umove<CSubPattern * *>
  0012f	eb 39		 jmp	 SHORT $LN17@Insert_n@13
__catch$?_Insert_n@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@IABQAVCSubPattern@@@Z$0:

; 1186 : 			_CATCH_ALL
; 1187 : 			_Destroy(_Newvec, _Ptr);

  00131	8b 55 e8	 mov	 edx, DWORD PTR __Ptr$144821[ebp]
  00134	52		 push	 edx
  00135	8b 45 e4	 mov	 eax, DWORD PTR __Newvec$144820[ebp]
  00138	50		 push	 eax
  00139	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  0013c	e8 00 00 00 00	 call	 ?_Destroy@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXPAPAVCSubPattern@@0@Z ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Destroy

; 1188 : 			this->_Alval.deallocate(_Newvec, _Capacity);

  00141	8b 4d ec	 mov	 ecx, DWORD PTR __Capacity$[ebp]
  00144	51		 push	 ecx
  00145	8b 55 e4	 mov	 edx, DWORD PTR __Newvec$144820[ebp]
  00148	52		 push	 edx
  00149	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  0014c	83 c1 08	 add	 ecx, 8
  0014f	e8 00 00 00 00	 call	 ?deallocate@?$allocator@PAVCSubPattern@@@std@@QAEXPAPAVCSubPattern@@I@Z ; std::allocator<CSubPattern *>::deallocate

; 1189 : 			_RERAISE;

  00154	6a 00		 push	 0
  00156	6a 00		 push	 0
  00158	e8 00 00 00 00	 call	 __CxxThrowException@8

; 1190 : 			_CATCH_END

  0015d	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
  00164	b8 00 00 00 00	 mov	 eax, __tryend$?_Insert_n@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@IABQAVCSubPattern@@@Z$1
  00169	c3		 ret	 0
$LN17@Insert_n@13:
  0016a	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
__tryend$?_Insert_n@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@IABQAVCSubPattern@@@Z$1:

; 1191 : 
; 1192 : 			_Count += size();

  00171	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  00174	e8 00 00 00 00	 call	 ?size@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEIXZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::size
  00179	03 45 10	 add	 eax, DWORD PTR __Count$[ebp]
  0017c	89 45 10	 mov	 DWORD PTR __Count$[ebp], eax

; 1193 : 			if (_Myfirst != 0)

  0017f	8b 45 d4	 mov	 eax, DWORD PTR _this$[ebp]
  00182	83 78 0c 00	 cmp	 DWORD PTR [eax+12], 0
  00186	74 38		 je	 SHORT $LN5@Insert_n@13

; 1194 : 				{	// destroy and deallocate old array
; 1195 : 				_Destroy(_Myfirst, _Mylast);

  00188	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  0018b	8b 51 10	 mov	 edx, DWORD PTR [ecx+16]
  0018e	52		 push	 edx
  0018f	8b 45 d4	 mov	 eax, DWORD PTR _this$[ebp]
  00192	8b 48 0c	 mov	 ecx, DWORD PTR [eax+12]
  00195	51		 push	 ecx
  00196	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  00199	e8 00 00 00 00	 call	 ?_Destroy@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXPAPAVCSubPattern@@0@Z ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Destroy

; 1196 : 				this->_Alval.deallocate(_Myfirst, _Myend - _Myfirst);

  0019e	8b 55 d4	 mov	 edx, DWORD PTR _this$[ebp]
  001a1	8b 45 d4	 mov	 eax, DWORD PTR _this$[ebp]
  001a4	8b 4a 14	 mov	 ecx, DWORD PTR [edx+20]
  001a7	2b 48 0c	 sub	 ecx, DWORD PTR [eax+12]
  001aa	c1 f9 02	 sar	 ecx, 2
  001ad	51		 push	 ecx
  001ae	8b 55 d4	 mov	 edx, DWORD PTR _this$[ebp]
  001b1	8b 42 0c	 mov	 eax, DWORD PTR [edx+12]
  001b4	50		 push	 eax
  001b5	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  001b8	83 c1 08	 add	 ecx, 8
  001bb	e8 00 00 00 00	 call	 ?deallocate@?$allocator@PAVCSubPattern@@@std@@QAEXPAPAVCSubPattern@@I@Z ; std::allocator<CSubPattern *>::deallocate
$LN5@Insert_n@13:

; 1197 : 				}
; 1198 : 
; 1199 :  #if _HAS_ITERATOR_DEBUGGING
; 1200 : 			this->_Orphan_all();
; 1201 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 1202 : 
; 1203 : 			_Myend = _Newvec + _Capacity;

  001c0	8b 4d ec	 mov	 ecx, DWORD PTR __Capacity$[ebp]
  001c3	8b 55 e4	 mov	 edx, DWORD PTR __Newvec$144820[ebp]
  001c6	8d 04 8a	 lea	 eax, DWORD PTR [edx+ecx*4]
  001c9	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  001cc	89 41 14	 mov	 DWORD PTR [ecx+20], eax

; 1204 : 			_Mylast = _Newvec + _Count;

  001cf	8b 55 10	 mov	 edx, DWORD PTR __Count$[ebp]
  001d2	8b 45 e4	 mov	 eax, DWORD PTR __Newvec$144820[ebp]
  001d5	8d 0c 90	 lea	 ecx, DWORD PTR [eax+edx*4]
  001d8	8b 55 d4	 mov	 edx, DWORD PTR _this$[ebp]
  001db	89 4a 10	 mov	 DWORD PTR [edx+16], ecx

; 1205 : 			_Myfirst = _Newvec;

  001de	8b 45 d4	 mov	 eax, DWORD PTR _this$[ebp]
  001e1	8b 4d e4	 mov	 ecx, DWORD PTR __Newvec$144820[ebp]
  001e4	89 48 0c	 mov	 DWORD PTR [eax+12], ecx
  001e7	e9 43 01 00 00	 jmp	 $LN14@Insert_n@13
$LN8@Insert_n@13:

; 1206 : 			}
; 1207 : 		else if ((size_type)(_Mylast - _VEC_ITER_BASE(_Where)) < _Count)

  001ec	8b 55 d4	 mov	 edx, DWORD PTR _this$[ebp]
  001ef	8b 42 10	 mov	 eax, DWORD PTR [edx+16]
  001f2	2b 45 0c	 sub	 eax, DWORD PTR __Where$[ebp+4]
  001f5	c1 f8 02	 sar	 eax, 2
  001f8	3b 45 10	 cmp	 eax, DWORD PTR __Count$[ebp]
  001fb	0f 83 c2 00 00
	00		 jae	 $LN3@Insert_n@13

; 1208 : 			{	// new stuff spills off end
; 1209 : 			_Ty _Tmp = _Val;	// in case _Val is in sequence

  00201	8b 4d 14	 mov	 ecx, DWORD PTR __Val$[ebp]
  00204	8b 11		 mov	 edx, DWORD PTR [ecx]
  00206	89 55 e0	 mov	 DWORD PTR __Tmp$144832[ebp], edx

; 1210 : 
; 1211 : 			_Umove(_VEC_ITER_BASE(_Where), _Mylast,
; 1212 : 				_VEC_ITER_BASE(_Where) + _Count);	// copy suffix

  00209	8b 45 10	 mov	 eax, DWORD PTR __Count$[ebp]
  0020c	8b 4d 0c	 mov	 ecx, DWORD PTR __Where$[ebp+4]
  0020f	8d 14 81	 lea	 edx, DWORD PTR [ecx+eax*4]
  00212	52		 push	 edx
  00213	8b 45 d4	 mov	 eax, DWORD PTR _this$[ebp]
  00216	8b 48 10	 mov	 ecx, DWORD PTR [eax+16]
  00219	51		 push	 ecx
  0021a	8b 55 0c	 mov	 edx, DWORD PTR __Where$[ebp+4]
  0021d	52		 push	 edx
  0021e	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  00221	e8 00 00 00 00	 call	 ??$_Umove@PAPAVCSubPattern@@@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEPAPAVCSubPattern@@PAPAV2@00@Z ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Umove<CSubPattern * *>

; 1213 : 
; 1214 : 			_TRY_BEGIN

  00226	c7 45 fc 02 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+12], 2

; 1215 : 			_Ufill(_Mylast, _Count - (_Mylast - _VEC_ITER_BASE(_Where)),
; 1216 : 				_Tmp);	// insert new stuff off end

  0022d	8d 45 e0	 lea	 eax, DWORD PTR __Tmp$144832[ebp]
  00230	50		 push	 eax
  00231	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  00234	8b 51 10	 mov	 edx, DWORD PTR [ecx+16]
  00237	2b 55 0c	 sub	 edx, DWORD PTR __Where$[ebp+4]
  0023a	c1 fa 02	 sar	 edx, 2
  0023d	8b 45 10	 mov	 eax, DWORD PTR __Count$[ebp]
  00240	2b c2		 sub	 eax, edx
  00242	50		 push	 eax
  00243	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  00246	8b 51 10	 mov	 edx, DWORD PTR [ecx+16]
  00249	52		 push	 edx
  0024a	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  0024d	e8 00 00 00 00	 call	 ?_Ufill@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEPAPAVCSubPattern@@PAPAV3@IABQAV3@@Z ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Ufill
  00252	eb 35		 jmp	 SHORT $LN19@Insert_n@13
__catch$?_Insert_n@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@IABQAVCSubPattern@@@Z$2:

; 1217 : 			_CATCH_ALL
; 1218 : 			_Destroy(_VEC_ITER_BASE(_Where) + _Count, _Mylast + _Count);

  00254	8b 45 d4	 mov	 eax, DWORD PTR _this$[ebp]
  00257	8b 48 10	 mov	 ecx, DWORD PTR [eax+16]
  0025a	8b 55 10	 mov	 edx, DWORD PTR __Count$[ebp]
  0025d	8d 04 91	 lea	 eax, DWORD PTR [ecx+edx*4]
  00260	50		 push	 eax
  00261	8b 4d 10	 mov	 ecx, DWORD PTR __Count$[ebp]
  00264	8b 55 0c	 mov	 edx, DWORD PTR __Where$[ebp+4]
  00267	8d 04 8a	 lea	 eax, DWORD PTR [edx+ecx*4]
  0026a	50		 push	 eax
  0026b	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  0026e	e8 00 00 00 00	 call	 ?_Destroy@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXPAPAVCSubPattern@@0@Z ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Destroy

; 1219 : 			_RERAISE;

  00273	6a 00		 push	 0
  00275	6a 00		 push	 0
  00277	e8 00 00 00 00	 call	 __CxxThrowException@8

; 1220 : 			_CATCH_END

  0027c	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
  00283	b8 00 00 00 00	 mov	 eax, __tryend$?_Insert_n@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@IABQAVCSubPattern@@@Z$3
  00288	c3		 ret	 0
$LN19@Insert_n@13:
  00289	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
__tryend$?_Insert_n@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@IABQAVCSubPattern@@@Z$3:

; 1221 : 
; 1222 : 			_Mylast += _Count;

  00290	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  00293	8b 51 10	 mov	 edx, DWORD PTR [ecx+16]
  00296	8b 45 10	 mov	 eax, DWORD PTR __Count$[ebp]
  00299	8d 0c 82	 lea	 ecx, DWORD PTR [edx+eax*4]
  0029c	8b 55 d4	 mov	 edx, DWORD PTR _this$[ebp]
  0029f	89 4a 10	 mov	 DWORD PTR [edx+16], ecx

; 1223 : 
; 1224 :  #if _HAS_ITERATOR_DEBUGGING
; 1225 : 			_Orphan_range(_Where._Myptr, _Mylast);
; 1226 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 1227 : 
; 1228 : 			std::fill(_VEC_ITER_BASE(_Where), _Mylast - _Count,
; 1229 : 				_Tmp);	// insert up to old end

  002a2	8d 45 e0	 lea	 eax, DWORD PTR __Tmp$144832[ebp]
  002a5	50		 push	 eax
  002a6	8b 4d 10	 mov	 ecx, DWORD PTR __Count$[ebp]
  002a9	c1 e1 02	 shl	 ecx, 2
  002ac	8b 55 d4	 mov	 edx, DWORD PTR _this$[ebp]
  002af	8b 42 10	 mov	 eax, DWORD PTR [edx+16]
  002b2	2b c1		 sub	 eax, ecx
  002b4	50		 push	 eax
  002b5	8b 4d 0c	 mov	 ecx, DWORD PTR __Where$[ebp+4]
  002b8	51		 push	 ecx
  002b9	e8 00 00 00 00	 call	 ??$fill@PAPAVCSubPattern@@PAV1@@std@@YAXPAPAVCSubPattern@@0ABQAV1@@Z ; std::fill<CSubPattern * *,CSubPattern *>
  002be	83 c4 0c	 add	 esp, 12			; 0000000cH

; 1230 : 			}
; 1231 : 		else

  002c1	eb 6c		 jmp	 SHORT $LN14@Insert_n@13
$LN3@Insert_n@13:

; 1232 : 			{	// new stuff can all be assigned
; 1233 : 			_Ty _Tmp = _Val;	// in case _Val is in sequence

  002c3	8b 55 14	 mov	 edx, DWORD PTR __Val$[ebp]
  002c6	8b 02		 mov	 eax, DWORD PTR [edx]
  002c8	89 45 d8	 mov	 DWORD PTR __Tmp$144842[ebp], eax

; 1234 : 
; 1235 : 			pointer _Oldend = _Mylast;

  002cb	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  002ce	8b 51 10	 mov	 edx, DWORD PTR [ecx+16]
  002d1	89 55 dc	 mov	 DWORD PTR __Oldend$144843[ebp], edx

; 1236 : 			_Mylast = _Umove(_Oldend - _Count, _Oldend,
; 1237 : 				_Mylast);	// copy suffix

  002d4	8b 45 d4	 mov	 eax, DWORD PTR _this$[ebp]
  002d7	8b 48 10	 mov	 ecx, DWORD PTR [eax+16]
  002da	51		 push	 ecx
  002db	8b 55 dc	 mov	 edx, DWORD PTR __Oldend$144843[ebp]
  002de	52		 push	 edx
  002df	8b 45 10	 mov	 eax, DWORD PTR __Count$[ebp]
  002e2	c1 e0 02	 shl	 eax, 2
  002e5	8b 4d dc	 mov	 ecx, DWORD PTR __Oldend$144843[ebp]
  002e8	2b c8		 sub	 ecx, eax
  002ea	51		 push	 ecx
  002eb	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  002ee	e8 00 00 00 00	 call	 ??$_Umove@PAPAVCSubPattern@@@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEPAPAVCSubPattern@@PAPAV2@00@Z ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Umove<CSubPattern * *>
  002f3	8b 55 d4	 mov	 edx, DWORD PTR _this$[ebp]
  002f6	89 42 10	 mov	 DWORD PTR [edx+16], eax

; 1238 : 
; 1239 :  #if _HAS_ITERATOR_DEBUGGING
; 1240 : 			_Orphan_range(_Where._Myptr, _Mylast);
; 1241 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 1242 : 
; 1243 : 			_STDEXT _Unchecked_move_backward(_VEC_ITER_BASE(_Where), _Oldend - _Count,
; 1244 : 				_Oldend);	// copy hole

  002f9	8b 45 dc	 mov	 eax, DWORD PTR __Oldend$144843[ebp]
  002fc	50		 push	 eax
  002fd	8b 4d 10	 mov	 ecx, DWORD PTR __Count$[ebp]
  00300	c1 e1 02	 shl	 ecx, 2
  00303	8b 55 dc	 mov	 edx, DWORD PTR __Oldend$144843[ebp]
  00306	2b d1		 sub	 edx, ecx
  00308	52		 push	 edx
  00309	8b 45 0c	 mov	 eax, DWORD PTR __Where$[ebp+4]
  0030c	50		 push	 eax
  0030d	e8 00 00 00 00	 call	 ??$_Unchecked_move_backward@PAPAVCSubPattern@@PAPAV1@@stdext@@YAPAPAVCSubPattern@@PAPAV1@00@Z ; stdext::_Unchecked_move_backward<CSubPattern * *,CSubPattern * *>
  00312	83 c4 0c	 add	 esp, 12			; 0000000cH

; 1245 : 			std::fill(_VEC_ITER_BASE(_Where), _VEC_ITER_BASE(_Where) + _Count,
; 1246 : 				_Tmp);	// insert into hole

  00315	8d 4d d8	 lea	 ecx, DWORD PTR __Tmp$144842[ebp]
  00318	51		 push	 ecx
  00319	8b 55 10	 mov	 edx, DWORD PTR __Count$[ebp]
  0031c	8b 45 0c	 mov	 eax, DWORD PTR __Where$[ebp+4]
  0031f	8d 0c 90	 lea	 ecx, DWORD PTR [eax+edx*4]
  00322	51		 push	 ecx
  00323	8b 55 0c	 mov	 edx, DWORD PTR __Where$[ebp+4]
  00326	52		 push	 edx
  00327	e8 00 00 00 00	 call	 ??$fill@PAPAVCSubPattern@@PAV1@@std@@YAXPAPAVCSubPattern@@0ABQAV1@@Z ; std::fill<CSubPattern * *,CSubPattern *>
  0032c	83 c4 0c	 add	 esp, 12			; 0000000cH
$LN14@Insert_n@13:

; 1247 : 			}
; 1248 : 		}

  0032f	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp+4]
  00332	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00339	59		 pop	 ecx
  0033a	5f		 pop	 edi
  0033b	5e		 pop	 esi
  0033c	5b		 pop	 ebx
  0033d	8b e5		 mov	 esp, ebp
  0033f	5d		 pop	 ebp
  00340	c2 10 00	 ret	 16			; 00000010H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__ehhandler$?_Insert_n@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@IABQAVCSubPattern@@@Z:
  00000	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00004	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00007	8b 4a cc	 mov	 ecx, DWORD PTR [edx-52]
  0000a	33 c8		 xor	 ecx, eax
  0000c	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00011	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?_Insert_n@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@IABQAVCSubPattern@@@Z
  00016	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?_Insert_n@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@IABQAVCSubPattern@@@Z ENDP ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Insert_n
; Function compile flags: /Odtp
;	COMDAT ?_Buy@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE_NI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Capacity$ = 8						; size = 4
?_Buy@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE_NI@Z PROC ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Buy, COMDAT
; _this$ = ecx

; 1107 : 		{	// allocate array with _Capacity elements

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 1108 : 		_Myfirst = 0, _Mylast = 0, _Myend = 0;

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	c7 40 0c 00 00
	00 00		 mov	 DWORD PTR [eax+12], 0
  00011	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00014	c7 41 10 00 00
	00 00		 mov	 DWORD PTR [ecx+16], 0
  0001b	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  0001e	c7 42 14 00 00
	00 00		 mov	 DWORD PTR [edx+20], 0

; 1109 : 		if (_Capacity == 0)

  00025	83 7d 08 00	 cmp	 DWORD PTR __Capacity$[ebp], 0
  00029	75 06		 jne	 SHORT $LN4@Buy@18

; 1110 : 			return (false);

  0002b	32 c0		 xor	 al, al
  0002d	eb 4b		 jmp	 SHORT $LN5@Buy@18
  0002f	eb 47		 jmp	 SHORT $LN3@Buy@18
$LN4@Buy@18:

; 1111 : 		else if (max_size() < _Capacity)

  00031	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00034	e8 00 00 00 00	 call	 ?max_size@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEIXZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::max_size
  00039	3b 45 08	 cmp	 eax, DWORD PTR __Capacity$[ebp]
  0003c	73 07		 jae	 SHORT $LN2@Buy@18

; 1112 : 			_Xlen();	// result too long

  0003e	e8 00 00 00 00	 call	 ?_Xlen@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@KAXXZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Xlen

; 1113 : 		else

  00043	eb 33		 jmp	 SHORT $LN3@Buy@18
$LN2@Buy@18:

; 1114 : 			{	// nonempty array, allocate storage
; 1115 : 			_Myfirst = this->_Alval.allocate(_Capacity);

  00045	8b 45 08	 mov	 eax, DWORD PTR __Capacity$[ebp]
  00048	50		 push	 eax
  00049	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0004c	83 c1 08	 add	 ecx, 8
  0004f	e8 00 00 00 00	 call	 ?allocate@?$allocator@PAVCSubPattern@@@std@@QAEPAPAVCSubPattern@@I@Z ; std::allocator<CSubPattern *>::allocate
  00054	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00057	89 41 0c	 mov	 DWORD PTR [ecx+12], eax

; 1116 : 			_Mylast = _Myfirst;

  0005a	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  0005d	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00060	8b 48 0c	 mov	 ecx, DWORD PTR [eax+12]
  00063	89 4a 10	 mov	 DWORD PTR [edx+16], ecx

; 1117 : 			_Myend = _Myfirst + _Capacity;

  00066	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00069	8b 42 0c	 mov	 eax, DWORD PTR [edx+12]
  0006c	8b 4d 08	 mov	 ecx, DWORD PTR __Capacity$[ebp]
  0006f	8d 14 88	 lea	 edx, DWORD PTR [eax+ecx*4]
  00072	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00075	89 50 14	 mov	 DWORD PTR [eax+20], edx
$LN3@Buy@18:

; 1118 : 			}
; 1119 : 		return (true);

  00078	b0 01		 mov	 al, 1
$LN5@Buy@18:

; 1120 : 		}

  0007a	8b e5		 mov	 esp, ebp
  0007c	5d		 pop	 ebp
  0007d	c2 04 00	 ret	 4
?_Buy@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE_NI@Z ENDP ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Buy
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?insert@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@V?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@ABQAVCSubPattern@@@Z
_TEXT	SEGMENT
tv77 = -28						; size = 4
_this$ = -24						; size = 4
$T337646 = -20						; size = 8
$T337643 = -12						; size = 8
__Off$ = -4						; size = 4
___$ReturnUdt$ = 8					; size = 4
__Where$ = 12						; size = 8
__Val$ = 20						; size = 4
?insert@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@V?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@ABQAVCSubPattern@@@Z PROC ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::insert, COMDAT
; _this$ = ecx

; 875  : 		{	// insert _Val at _Where

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 1c	 sub	 esp, 28			; 0000001cH
  00006	89 4d e8	 mov	 DWORD PTR _this$[ebp], ecx

; 876  : 		size_type _Off = size() == 0 ? 0 : _Where - begin();

  00009	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0000c	e8 00 00 00 00	 call	 ?size@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEIXZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::size
  00011	85 c0		 test	 eax, eax
  00013	75 09		 jne	 SHORT $LN3@insert@13
  00015	c7 45 e4 00 00
	00 00		 mov	 DWORD PTR tv77[ebp], 0
  0001c	eb 18		 jmp	 SHORT $LN4@insert@13
$LN3@insert@13:
  0001e	8d 45 f4	 lea	 eax, DWORD PTR $T337643[ebp]
  00021	50		 push	 eax
  00022	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00025	e8 00 00 00 00	 call	 ?begin@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@XZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::begin
  0002a	50		 push	 eax
  0002b	8d 4d 0c	 lea	 ecx, DWORD PTR __Where$[ebp]
  0002e	e8 00 00 00 00	 call	 ??G?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEHABV01@@Z ; std::_Vector_const_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator-
  00033	89 45 e4	 mov	 DWORD PTR tv77[ebp], eax
$LN4@insert@13:
  00036	8b 4d e4	 mov	 ecx, DWORD PTR tv77[ebp]
  00039	89 4d fc	 mov	 DWORD PTR __Off$[ebp], ecx

; 877  : 		_Insert_n(_Where, (size_type)1, _Val);

  0003c	8b 55 14	 mov	 edx, DWORD PTR __Val$[ebp]
  0003f	52		 push	 edx
  00040	6a 01		 push	 1
  00042	8b 45 10	 mov	 eax, DWORD PTR __Where$[ebp+4]
  00045	50		 push	 eax
  00046	8b 4d 0c	 mov	 ecx, DWORD PTR __Where$[ebp]
  00049	51		 push	 ecx
  0004a	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0004d	e8 00 00 00 00	 call	 ?_Insert_n@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@IABQAVCSubPattern@@@Z ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Insert_n

; 878  : 		return (begin() + _Off);

  00052	8b 55 fc	 mov	 edx, DWORD PTR __Off$[ebp]
  00055	52		 push	 edx
  00056	8b 45 08	 mov	 eax, DWORD PTR ___$ReturnUdt$[ebp]
  00059	50		 push	 eax
  0005a	8d 4d ec	 lea	 ecx, DWORD PTR $T337646[ebp]
  0005d	51		 push	 ecx
  0005e	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00061	e8 00 00 00 00	 call	 ?begin@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@XZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::begin
  00066	8b c8		 mov	 ecx, eax
  00068	e8 00 00 00 00	 call	 ??H?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBE?AV01@H@Z ; std::_Vector_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator+
  0006d	8b 45 08	 mov	 eax, DWORD PTR ___$ReturnUdt$[ebp]

; 879  : 		}

  00070	8b e5		 mov	 esp, ebp
  00072	5d		 pop	 ebp
  00073	c2 10 00	 ret	 16			; 00000010H
?insert@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@V?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@ABQAVCSubPattern@@@Z ENDP ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::insert
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?push_back@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAEXABQAVCSubPattern@@@Z
_TEXT	SEGMENT
_this$ = -28						; size = 4
$T337651 = -24						; size = 8
$T337650 = -16						; size = 8
$T337649 = -8						; size = 8
__Val$ = 8						; size = 4
?push_back@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAEXABQAVCSubPattern@@@Z PROC ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::push_back, COMDAT
; _this$ = ecx

; 809  : 		{	// insert element at end

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 1c	 sub	 esp, 28			; 0000001cH
  00006	56		 push	 esi
  00007	89 4d e4	 mov	 DWORD PTR _this$[ebp], ecx

; 810  : 		if (size() < capacity())

  0000a	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  0000d	e8 00 00 00 00	 call	 ?size@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEIXZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::size
  00012	8b f0		 mov	 esi, eax
  00014	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00017	e8 00 00 00 00	 call	 ?capacity@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEIXZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::capacity
  0001c	3b f0		 cmp	 esi, eax
  0001e	73 1d		 jae	 SHORT $LN2@push_back@12

; 811  : 
; 812  :  #if _HAS_ITERATOR_DEBUGGING
; 813  : 			{ // room at end, construct it there
; 814  : 			_Orphan_range(_Mylast, _Mylast);
; 815  : 			_Mylast = _Ufill(_Mylast, 1, _Val);
; 816  : 			}
; 817  : 
; 818  :  #else /* _HAS_ITERATOR_DEBUGGING */
; 819  : 			_Mylast = _Ufill(_Mylast, 1, _Val);

  00020	8b 45 08	 mov	 eax, DWORD PTR __Val$[ebp]
  00023	50		 push	 eax
  00024	6a 01		 push	 1
  00026	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00029	8b 51 10	 mov	 edx, DWORD PTR [ecx+16]
  0002c	52		 push	 edx
  0002d	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00030	e8 00 00 00 00	 call	 ?_Ufill@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAEPAPAVCSubPattern@@PAPAV3@IABQAV3@@Z ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Ufill
  00035	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00038	89 41 10	 mov	 DWORD PTR [ecx+16], eax

; 820  :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 821  : 
; 822  : 		else

  0003b	eb 2f		 jmp	 SHORT $LN3@push_back@12
$LN2@push_back@12:

; 823  : 			insert(end(), _Val);

  0003d	8d 55 f0	 lea	 edx, DWORD PTR $T337650[ebp]
  00040	52		 push	 edx
  00041	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00044	e8 00 00 00 00	 call	 ?end@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@XZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::end
  00049	8b 08		 mov	 ecx, DWORD PTR [eax]
  0004b	8b 50 04	 mov	 edx, DWORD PTR [eax+4]
  0004e	89 4d f8	 mov	 DWORD PTR $T337649[ebp], ecx
  00051	89 55 fc	 mov	 DWORD PTR $T337649[ebp+4], edx
  00054	8b 45 08	 mov	 eax, DWORD PTR __Val$[ebp]
  00057	50		 push	 eax
  00058	8b 4d fc	 mov	 ecx, DWORD PTR $T337649[ebp+4]
  0005b	51		 push	 ecx
  0005c	8b 55 f8	 mov	 edx, DWORD PTR $T337649[ebp]
  0005f	52		 push	 edx
  00060	8d 45 e8	 lea	 eax, DWORD PTR $T337651[ebp]
  00063	50		 push	 eax
  00064	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00067	e8 00 00 00 00	 call	 ?insert@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@V?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@ABQAVCSubPattern@@@Z ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::insert
$LN3@push_back@12:

; 824  : 		}

  0006c	5e		 pop	 esi
  0006d	8b e5		 mov	 esp, ebp
  0006f	5d		 pop	 ebp
  00070	c2 04 00	 ret	 4
?push_back@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAEXABQAVCSubPattern@@@Z ENDP ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::push_back
_TEXT	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ$0
__ehfuncinfo$??0?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -20						; size = 4
$T337654 = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ PROC ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::vector<CSubPattern *,std::allocator<CSubPattern *> >, COMDAT
; _this$ = ecx

; 470  : 		{	// construct empty vector

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 08	 sub	 esp, 8
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	50		 push	 eax
  0001c	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001f	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00025	89 4d ec	 mov	 DWORD PTR _this$[ebp], ecx
  00028	51		 push	 ecx
  00029	8b cc		 mov	 ecx, esp
  0002b	89 65 f0	 mov	 DWORD PTR $T337654[ebp], esp
  0002e	e8 00 00 00 00	 call	 ??0?$allocator@PAVCSubPattern@@@std@@QAE@XZ ; std::allocator<CSubPattern *>::allocator<CSubPattern *>
  00033	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00036	e8 00 00 00 00	 call	 ??0?$_Vector_val@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE@V?$allocator@PAVCSubPattern@@@1@@Z ; std::_Vector_val<CSubPattern *,std::allocator<CSubPattern *> >::_Vector_val<CSubPattern *,std::allocator<CSubPattern *> >
  0003b	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 471  : 		_Buy(0);

  00042	6a 00		 push	 0
  00044	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00047	e8 00 00 00 00	 call	 ?_Buy@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@IAE_NI@Z ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::_Buy

; 472  : 		}

  0004c	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00053	8b 45 ec	 mov	 eax, DWORD PTR _this$[ebp]
  00056	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00059	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00060	59		 pop	 ecx
  00061	8b e5		 mov	 esp, ebp
  00063	5d		 pop	 ebp
  00064	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ$0:
  00000	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$_Vector_val@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ
__ehhandler$??0?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a f4	 mov	 ecx, DWORD PTR [edx-12]
  00012	33 c8		 xor	 ecx, eax
  00014	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00019	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ ENDP ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::vector<CSubPattern *,std::allocator<CSubPattern *> >
; Function compile flags: /Odtp
;	COMDAT ?_Buy@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAE_NI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Capacity$ = 8						; size = 4
?_Buy@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAE_NI@Z PROC ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_Buy, COMDAT
; _this$ = ecx

; 1107 : 		{	// allocate array with _Capacity elements

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 1108 : 		_Myfirst = 0, _Mylast = 0, _Myend = 0;

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	c7 40 0c 00 00
	00 00		 mov	 DWORD PTR [eax+12], 0
  00011	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00014	c7 41 10 00 00
	00 00		 mov	 DWORD PTR [ecx+16], 0
  0001b	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  0001e	c7 42 14 00 00
	00 00		 mov	 DWORD PTR [edx+20], 0

; 1109 : 		if (_Capacity == 0)

  00025	83 7d 08 00	 cmp	 DWORD PTR __Capacity$[ebp], 0
  00029	75 06		 jne	 SHORT $LN4@Buy@45

; 1110 : 			return (false);

  0002b	32 c0		 xor	 al, al
  0002d	eb 4b		 jmp	 SHORT $LN5@Buy@45
  0002f	eb 47		 jmp	 SHORT $LN3@Buy@45
$LN4@Buy@45:

; 1111 : 		else if (max_size() < _Capacity)

  00031	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00034	e8 00 00 00 00	 call	 ?max_size@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEIXZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::max_size
  00039	3b 45 08	 cmp	 eax, DWORD PTR __Capacity$[ebp]
  0003c	73 07		 jae	 SHORT $LN2@Buy@45

; 1112 : 			_Xlen();	// result too long

  0003e	e8 00 00 00 00	 call	 ?_Xlen@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@KAXXZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_Xlen

; 1113 : 		else

  00043	eb 33		 jmp	 SHORT $LN3@Buy@45
$LN2@Buy@45:

; 1114 : 			{	// nonempty array, allocate storage
; 1115 : 			_Myfirst = this->_Alval.allocate(_Capacity);

  00045	8b 45 08	 mov	 eax, DWORD PTR __Capacity$[ebp]
  00048	50		 push	 eax
  00049	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0004c	83 c1 08	 add	 ecx, 8
  0004f	e8 00 00 00 00	 call	 ?allocate@?$allocator@PAVCColorBar@@@std@@QAEPAPAVCColorBar@@I@Z ; std::allocator<CColorBar *>::allocate
  00054	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00057	89 41 0c	 mov	 DWORD PTR [ecx+12], eax

; 1116 : 			_Mylast = _Myfirst;

  0005a	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  0005d	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00060	8b 48 0c	 mov	 ecx, DWORD PTR [eax+12]
  00063	89 4a 10	 mov	 DWORD PTR [edx+16], ecx

; 1117 : 			_Myend = _Myfirst + _Capacity;

  00066	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00069	8b 42 0c	 mov	 eax, DWORD PTR [edx+12]
  0006c	8b 4d 08	 mov	 ecx, DWORD PTR __Capacity$[ebp]
  0006f	8d 14 88	 lea	 edx, DWORD PTR [eax+ecx*4]
  00072	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00075	89 50 14	 mov	 DWORD PTR [eax+20], edx
$LN3@Buy@45:

; 1118 : 			}
; 1119 : 		return (true);

  00078	b0 01		 mov	 al, 1
$LN5@Buy@45:

; 1120 : 		}

  0007a	8b e5		 mov	 esp, ebp
  0007c	5d		 pop	 ebp
  0007d	c2 04 00	 ret	 4
?_Buy@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAE_NI@Z ENDP ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_Buy
_TEXT	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ$0
__ehfuncinfo$??0?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -20						; size = 4
$T341196 = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ PROC ; std::vector<CColorBar *,std::allocator<CColorBar *> >::vector<CColorBar *,std::allocator<CColorBar *> >, COMDAT
; _this$ = ecx

; 470  : 		{	// construct empty vector

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 08	 sub	 esp, 8
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	50		 push	 eax
  0001c	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001f	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00025	89 4d ec	 mov	 DWORD PTR _this$[ebp], ecx
  00028	51		 push	 ecx
  00029	8b cc		 mov	 ecx, esp
  0002b	89 65 f0	 mov	 DWORD PTR $T341196[ebp], esp
  0002e	e8 00 00 00 00	 call	 ??0?$allocator@PAVCColorBar@@@std@@QAE@XZ ; std::allocator<CColorBar *>::allocator<CColorBar *>
  00033	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00036	e8 00 00 00 00	 call	 ??0?$_Vector_val@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAE@V?$allocator@PAVCColorBar@@@1@@Z ; std::_Vector_val<CColorBar *,std::allocator<CColorBar *> >::_Vector_val<CColorBar *,std::allocator<CColorBar *> >
  0003b	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 471  : 		_Buy(0);

  00042	6a 00		 push	 0
  00044	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00047	e8 00 00 00 00	 call	 ?_Buy@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAE_NI@Z ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_Buy

; 472  : 		}

  0004c	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00053	8b 45 ec	 mov	 eax, DWORD PTR _this$[ebp]
  00056	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00059	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00060	59		 pop	 ecx
  00061	8b e5		 mov	 esp, ebp
  00063	5d		 pop	 ebp
  00064	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ$0:
  00000	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$_Vector_val@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ
__ehhandler$??0?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a f4	 mov	 ecx, DWORD PTR [edx-12]
  00012	33 c8		 xor	 ecx, eax
  00014	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00019	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ ENDP ; std::vector<CColorBar *,std::allocator<CColorBar *> >::vector<CColorBar *,std::allocator<CColorBar *> >
PUBLIC	??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HH@Z ; CTestPattern::CTestPattern
;	COMDAT xdata$x
; File c:\develop\dscaler423a\dscaler\pattern.cpp
xdata$x	SEGMENT
__unwindtable$??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HH@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HH@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HH@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HH@Z$2
__ehfuncinfo$??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HH@Z DD 019930522H
	DD	03H
	DD	FLAT:__unwindtable$??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HH@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HH@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
_name$ = 8						; size = 4
_width$ = 12						; size = 4
_height$ = 16						; size = 4
??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HH@Z PROC ; CTestPattern::CTestPattern, COMDAT
; _this$ = ecx

; 779  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HH@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	51		 push	 ecx
  00012	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00017	33 c5		 xor	 eax, ebp
  00019	50		 push	 eax
  0001a	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001d	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00023	89 4d f0	 mov	 DWORD PTR _this$[ebp], ecx
  00026	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00029	e8 00 00 00 00	 call	 ??0?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::vector<CColorBar *,std::allocator<CColorBar *> >
  0002e	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00035	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00038	83 c1 18	 add	 ecx, 24			; 00000018H
  0003b	e8 00 00 00 00	 call	 ??0?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::vector<CSubPattern *,std::allocator<CSubPattern *> >
  00040	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  00044	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00047	83 c1 30	 add	 ecx, 48			; 00000030H
  0004a	e8 00 00 00 00	 call	 ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
  0004f	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2

; 780  :     m_PatternName = name;

  00053	8b 45 08	 mov	 eax, DWORD PTR _name$[ebp]
  00056	50		 push	 eax
  00057	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0005a	83 c1 30	 add	 ecx, 48			; 00000030H
  0005d	e8 00 00 00 00	 call	 ??4?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@ABV01@@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::operator=

; 781  :     m_Width = width;

  00062	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00065	8b 55 0c	 mov	 edx, DWORD PTR _width$[ebp]
  00068	89 51 4c	 mov	 DWORD PTR [ecx+76], edx

; 782  :     m_Height = height;

  0006b	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  0006e	8b 4d 10	 mov	 ecx, DWORD PTR _height$[ebp]
  00071	89 48 50	 mov	 DWORD PTR [eax+80], ecx

; 783  : }

  00074	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0007b	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  0007e	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00081	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00088	59		 pop	 ecx
  00089	8b e5		 mov	 esp, ebp
  0008b	5d		 pop	 ebp
  0008c	c2 0c 00	 ret	 12			; 0000000cH
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HH@Z$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::~vector<CColorBar *,std::allocator<CColorBar *> >
__unwindfunclet$??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HH@Z$1:
  00008	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0000b	83 c1 18	 add	 ecx, 24			; 00000018H
  0000e	e9 00 00 00 00	 jmp	 ??1?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::~vector<CSubPattern *,std::allocator<CSubPattern *> >
__unwindfunclet$??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HH@Z$2:
  00013	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00016	83 c1 30	 add	 ecx, 48			; 00000030H
  00019	e9 00 00 00 00	 jmp	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
__ehhandler$??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HH@Z:
  0001e	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00022	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00025	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  00028	33 c8		 xor	 ecx, eax
  0002a	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0002f	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HH@Z
  00034	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HH@Z ENDP ; CTestPattern::CTestPattern
PUBLIC	??0CSubPattern@@QAE@W4eTypeAdjust@@@Z		; CSubPattern::CSubPattern
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0CSubPattern@@QAE@W4eTypeAdjust@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0CSubPattern@@QAE@W4eTypeAdjust@@@Z$0
__ehfuncinfo$??0CSubPattern@@QAE@W4eTypeAdjust@@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0CSubPattern@@QAE@W4eTypeAdjust@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0CSubPattern@@QAE@W4eTypeAdjust@@@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
_type$ = 8						; size = 4
??0CSubPattern@@QAE@W4eTypeAdjust@@@Z PROC		; CSubPattern::CSubPattern, COMDAT
; _this$ = ecx

; 699  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0CSubPattern@@QAE@W4eTypeAdjust@@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	51		 push	 ecx
  00012	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00017	33 c5		 xor	 eax, ebp
  00019	50		 push	 eax
  0001a	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001d	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00023	89 4d f0	 mov	 DWORD PTR _this$[ebp], ecx
  00026	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00029	e8 00 00 00 00	 call	 ??0?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::vector<CColorBar *,std::allocator<CColorBar *> >
  0002e	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 700  :     m_TypeAdjust = type;

  00035	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  00038	8b 4d 08	 mov	 ecx, DWORD PTR _type$[ebp]
  0003b	89 48 18	 mov	 DWORD PTR [eax+24], ecx

; 701  : }

  0003e	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00045	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  00048	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0004b	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00052	59		 pop	 ecx
  00053	8b e5		 mov	 esp, ebp
  00055	5d		 pop	 ebp
  00056	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0CSubPattern@@QAE@W4eTypeAdjust@@@Z$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::~vector<CColorBar *,std::allocator<CColorBar *> >
__ehhandler$??0CSubPattern@@QAE@W4eTypeAdjust@@@Z:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  00012	33 c8		 xor	 ecx, eax
  00014	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00019	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0CSubPattern@@QAE@W4eTypeAdjust@@@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0CSubPattern@@QAE@W4eTypeAdjust@@@Z ENDP		; CSubPattern::CSubPattern
PUBLIC	?CreateGlobalSubPattern@CTestPattern@@QAEXXZ	; CTestPattern::CreateGlobalSubPattern
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?CreateGlobalSubPattern@CTestPattern@@QAEXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?CreateGlobalSubPattern@CTestPattern@@QAEXXZ$0
__ehfuncinfo$?CreateGlobalSubPattern@CTestPattern@@QAEXXZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?CreateGlobalSubPattern@CTestPattern@@QAEXXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?CreateGlobalSubPattern@CTestPattern@@QAEXXZ
_TEXT	SEGMENT
tv72 = -48						; size = 4
_this$ = -44						; size = 4
$T343585 = -40						; size = 8
$T343582 = -32						; size = 4
$T343581 = -28						; size = 4
_it$144238 = -24					; size = 8
_sub_pattern$ = -16					; size = 4
__$EHRec$ = -12						; size = 12
?CreateGlobalSubPattern@CTestPattern@@QAEXXZ PROC	; CTestPattern::CreateGlobalSubPattern, COMDAT
; _this$ = ecx

; 1043 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?CreateGlobalSubPattern@CTestPattern@@QAEXXZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 24	 sub	 esp, 36			; 00000024H
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	50		 push	 eax
  0001c	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001f	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00025	89 4d d4	 mov	 DWORD PTR _this$[ebp], ecx

; 1044 :     CSubPattern* sub_pattern;
; 1045 : 
; 1046 :     // Create the new sub-pattern
; 1047 :     sub_pattern = new CSubPattern(ADJ_MANUAL);

  00028	6a 1c		 push	 28			; 0000001cH
  0002a	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  0002f	83 c4 04	 add	 esp, 4
  00032	89 45 e0	 mov	 DWORD PTR $T343582[ebp], eax
  00035	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  0003c	83 7d e0 00	 cmp	 DWORD PTR $T343582[ebp], 0
  00040	74 0f		 je	 SHORT $LN6@CreateGlob
  00042	6a 00		 push	 0
  00044	8b 4d e0	 mov	 ecx, DWORD PTR $T343582[ebp]
  00047	e8 00 00 00 00	 call	 ??0CSubPattern@@QAE@W4eTypeAdjust@@@Z ; CSubPattern::CSubPattern
  0004c	89 45 d0	 mov	 DWORD PTR tv72[ebp], eax
  0004f	eb 07		 jmp	 SHORT $LN7@CreateGlob
$LN6@CreateGlob:
  00051	c7 45 d0 00 00
	00 00		 mov	 DWORD PTR tv72[ebp], 0
$LN7@CreateGlob:
  00058	8b 45 d0	 mov	 eax, DWORD PTR tv72[ebp]
  0005b	89 45 e4	 mov	 DWORD PTR $T343581[ebp], eax
  0005e	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00065	8b 4d e4	 mov	 ecx, DWORD PTR $T343581[ebp]
  00068	89 4d f0	 mov	 DWORD PTR _sub_pattern$[ebp], ecx

; 1048 : 
; 1049 :     for(vector<CColorBar*>::iterator it = m_ColorBars.begin();

  0006b	8d 55 e8	 lea	 edx, DWORD PTR _it$144238[ebp]
  0006e	52		 push	 edx
  0006f	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  00072	e8 00 00 00 00	 call	 ?begin@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@XZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::begin

; 1050 :         it != m_ColorBars.end();

  00077	eb 08		 jmp	 SHORT $LN3@CreateGlob
$LN2@CreateGlob:

; 1051 :         ++it)

  00079	8d 4d e8	 lea	 ecx, DWORD PTR _it$144238[ebp]
  0007c	e8 00 00 00 00	 call	 ??E?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAEAAV01@XZ ; std::_Vector_iterator<CColorBar *,std::allocator<CColorBar *> >::operator++
$LN3@CreateGlob:
  00081	8d 45 d8	 lea	 eax, DWORD PTR $T343585[ebp]
  00084	50		 push	 eax
  00085	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  00088	e8 00 00 00 00	 call	 ?end@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@XZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::end
  0008d	50		 push	 eax
  0008e	8d 4d e8	 lea	 ecx, DWORD PTR _it$144238[ebp]
  00091	e8 00 00 00 00	 call	 ??9?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<CColorBar *,std::allocator<CColorBar *> >::operator!=
  00096	0f b6 c8	 movzx	 ecx, al
  00099	85 c9		 test	 ecx, ecx
  0009b	74 13		 je	 SHORT $LN1@CreateGlob

; 1052 :     {
; 1053 :         sub_pattern->m_ColorBars.push_back(*it);

  0009d	8d 4d e8	 lea	 ecx, DWORD PTR _it$144238[ebp]
  000a0	e8 00 00 00 00	 call	 ??D?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEAAPAVCColorBar@@XZ ; std::_Vector_iterator<CColorBar *,std::allocator<CColorBar *> >::operator*
  000a5	50		 push	 eax
  000a6	8b 4d f0	 mov	 ecx, DWORD PTR _sub_pattern$[ebp]
  000a9	e8 00 00 00 00	 call	 ?push_back@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAEXABQAVCColorBar@@@Z ; std::vector<CColorBar *,std::allocator<CColorBar *> >::push_back

; 1054 :     }

  000ae	eb c9		 jmp	 SHORT $LN2@CreateGlob
$LN1@CreateGlob:

; 1055 :     m_SubPatterns.push_back(sub_pattern);

  000b0	8d 55 f0	 lea	 edx, DWORD PTR _sub_pattern$[ebp]
  000b3	52		 push	 edx
  000b4	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  000b7	83 c1 18	 add	 ecx, 24			; 00000018H
  000ba	e8 00 00 00 00	 call	 ?push_back@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAEXABQAVCSubPattern@@@Z ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::push_back

; 1056 : }

  000bf	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  000c2	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000c9	59		 pop	 ecx
  000ca	8b e5		 mov	 esp, ebp
  000cc	5d		 pop	 ebp
  000cd	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?CreateGlobalSubPattern@CTestPattern@@QAEXXZ$0:
  00000	8b 45 e0	 mov	 eax, DWORD PTR $T343582[ebp]
  00003	50		 push	 eax
  00004	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00009	59		 pop	 ecx
  0000a	c3		 ret	 0
__ehhandler$?CreateGlobalSubPattern@CTestPattern@@QAEXXZ:
  0000b	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000f	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00012	8b 4a d8	 mov	 ecx, DWORD PTR [edx-40]
  00015	33 c8		 xor	 ecx, eax
  00017	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0001c	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?CreateGlobalSubPattern@CTestPattern@@QAEXXZ
  00021	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?CreateGlobalSubPattern@CTestPattern@@QAEXXZ ENDP	; CTestPattern::CreateGlobalSubPattern
PUBLIC	?Log@CTestPattern@@AAEXXZ			; CTestPattern::Log
; Function compile flags: /Odtp
;	COMDAT ?Log@CTestPattern@@AAEXXZ
_TEXT	SEGMENT
_this$ = -76						; size = 4
$T346181 = -72						; size = 8
$T346180 = -64						; size = 8
$T346179 = -56						; size = 8
_it2$144320 = -48					; size = 8
_it$144309 = -40					; size = 8
_it2$144298 = -32					; size = 8
_U$ = -24						; size = 1
_G$ = -23						; size = 1
_Y$ = -22						; size = 1
_R$ = -21						; size = 1
_top$ = -20						; size = 2
_right$ = -16						; size = 2
_left$ = -12						; size = 2
_B$ = -6						; size = 1
_V$ = -5						; size = 1
_bottom$ = -4						; size = 2
?Log@CTestPattern@@AAEXXZ PROC				; CTestPattern::Log, COMDAT
; _this$ = ecx

; 1109 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 4c	 sub	 esp, 76			; 0000004cH
  00006	89 4d b4	 mov	 DWORD PTR _this$[ebp], ecx

; 1110 :     unsigned char R, G, B, Y, U, V;
; 1111 :     unsigned short int left, right, top, bottom;
; 1112 : 
; 1113 :     LOG(3, _T("Pattern %s %dx%d"), m_PatternName.c_str(), m_Width, m_Height);

  00009	8b 45 b4	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	8b 48 50	 mov	 ecx, DWORD PTR [eax+80]
  0000f	51		 push	 ecx
  00010	8b 55 b4	 mov	 edx, DWORD PTR _this$[ebp]
  00013	8b 42 4c	 mov	 eax, DWORD PTR [edx+76]
  00016	50		 push	 eax
  00017	8b 4d b4	 mov	 ecx, DWORD PTR _this$[ebp]
  0001a	83 c1 30	 add	 ecx, 48			; 00000030H
  0001d	e8 00 00 00 00	 call	 ?c_str@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEPB_WXZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::c_str
  00022	50		 push	 eax
  00023	68 00 00 00 00	 push	 OFFSET ??_C@_1CC@KAOIGNFG@?$AAP?$AAa?$AAt?$AAt?$AAe?$AAr?$AAn?$AA?5?$AA?$CF?$AAs?$AA?5?$AA?$CF?$AAd?$AAx?$AA?$CF?$AAd?$AA?$AA@
  00028	6a 03		 push	 3
  0002a	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  0002f	83 c4 14	 add	 esp, 20			; 00000014H

; 1114 :     for(vector<CColorBar*>::iterator it2 = m_ColorBars.begin();

  00032	8d 4d e0	 lea	 ecx, DWORD PTR _it2$144298[ebp]
  00035	51		 push	 ecx
  00036	8b 4d b4	 mov	 ecx, DWORD PTR _this$[ebp]
  00039	e8 00 00 00 00	 call	 ?begin@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@XZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::begin

; 1115 :         it2 != m_ColorBars.end();

  0003e	eb 08		 jmp	 SHORT $LN9@Log
$LN8@Log:

; 1116 :         ++it2)

  00040	8d 4d e0	 lea	 ecx, DWORD PTR _it2$144298[ebp]
  00043	e8 00 00 00 00	 call	 ??E?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAEAAV01@XZ ; std::_Vector_iterator<CColorBar *,std::allocator<CColorBar *> >::operator++
$LN9@Log:
  00048	8d 55 c8	 lea	 edx, DWORD PTR $T346179[ebp]
  0004b	52		 push	 edx
  0004c	8b 4d b4	 mov	 ecx, DWORD PTR _this$[ebp]
  0004f	e8 00 00 00 00	 call	 ?end@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@XZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::end
  00054	50		 push	 eax
  00055	8d 4d e0	 lea	 ecx, DWORD PTR _it2$144298[ebp]
  00058	e8 00 00 00 00	 call	 ??9?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<CColorBar *,std::allocator<CColorBar *> >::operator!=
  0005d	0f b6 c0	 movzx	 eax, al
  00060	85 c0		 test	 eax, eax
  00062	0f 84 9f 00 00
	00		 je	 $LN7@Log

; 1117 :     {
; 1118 :         (*it2)->GetPosition(&left, &right, &top, &bottom);

  00068	8d 4d fc	 lea	 ecx, DWORD PTR _bottom$[ebp]
  0006b	51		 push	 ecx
  0006c	8d 55 ec	 lea	 edx, DWORD PTR _top$[ebp]
  0006f	52		 push	 edx
  00070	8d 45 f0	 lea	 eax, DWORD PTR _right$[ebp]
  00073	50		 push	 eax
  00074	8d 4d f4	 lea	 ecx, DWORD PTR _left$[ebp]
  00077	51		 push	 ecx
  00078	8d 4d e0	 lea	 ecx, DWORD PTR _it2$144298[ebp]
  0007b	e8 00 00 00 00	 call	 ??D?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEAAPAVCColorBar@@XZ ; std::_Vector_iterator<CColorBar *,std::allocator<CColorBar *> >::operator*
  00080	8b 08		 mov	 ecx, DWORD PTR [eax]
  00082	e8 00 00 00 00	 call	 ?GetPosition@CColorBar@@QAEXPAG000@Z ; CColorBar::GetPosition

; 1119 :         (*it2)->GetRefColor(FALSE, &R, &G, &B);

  00087	8d 55 fa	 lea	 edx, DWORD PTR _B$[ebp]
  0008a	52		 push	 edx
  0008b	8d 45 e9	 lea	 eax, DWORD PTR _G$[ebp]
  0008e	50		 push	 eax
  0008f	8d 4d eb	 lea	 ecx, DWORD PTR _R$[ebp]
  00092	51		 push	 ecx
  00093	6a 00		 push	 0
  00095	8d 4d e0	 lea	 ecx, DWORD PTR _it2$144298[ebp]
  00098	e8 00 00 00 00	 call	 ??D?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEAAPAVCColorBar@@XZ ; std::_Vector_iterator<CColorBar *,std::allocator<CColorBar *> >::operator*
  0009d	8b 08		 mov	 ecx, DWORD PTR [eax]
  0009f	e8 00 00 00 00	 call	 ?GetRefColor@CColorBar@@QAEXHPAE00@Z ; CColorBar::GetRefColor

; 1120 :         (*it2)->GetRefColor(TRUE, &Y, &U, &V);

  000a4	8d 55 fb	 lea	 edx, DWORD PTR _V$[ebp]
  000a7	52		 push	 edx
  000a8	8d 45 e8	 lea	 eax, DWORD PTR _U$[ebp]
  000ab	50		 push	 eax
  000ac	8d 4d ea	 lea	 ecx, DWORD PTR _Y$[ebp]
  000af	51		 push	 ecx
  000b0	6a 01		 push	 1
  000b2	8d 4d e0	 lea	 ecx, DWORD PTR _it2$144298[ebp]
  000b5	e8 00 00 00 00	 call	 ??D?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEAAPAVCColorBar@@XZ ; std::_Vector_iterator<CColorBar *,std::allocator<CColorBar *> >::operator*
  000ba	8b 08		 mov	 ecx, DWORD PTR [eax]
  000bc	e8 00 00 00 00	 call	 ?GetRefColor@CColorBar@@QAEXHPAE00@Z ; CColorBar::GetRefColor

; 1121 :         LOG(3, _T("   T %4d B %4d L %4d R %4d - RGB %3d %3d %3d YUV %3d %3d %3d"), top, bottom, left, right, R, G, B, Y, U, V);

  000c1	0f b6 55 fb	 movzx	 edx, BYTE PTR _V$[ebp]
  000c5	52		 push	 edx
  000c6	0f b6 45 e8	 movzx	 eax, BYTE PTR _U$[ebp]
  000ca	50		 push	 eax
  000cb	0f b6 4d ea	 movzx	 ecx, BYTE PTR _Y$[ebp]
  000cf	51		 push	 ecx
  000d0	0f b6 55 fa	 movzx	 edx, BYTE PTR _B$[ebp]
  000d4	52		 push	 edx
  000d5	0f b6 45 e9	 movzx	 eax, BYTE PTR _G$[ebp]
  000d9	50		 push	 eax
  000da	0f b6 4d eb	 movzx	 ecx, BYTE PTR _R$[ebp]
  000de	51		 push	 ecx
  000df	0f b7 55 f0	 movzx	 edx, WORD PTR _right$[ebp]
  000e3	52		 push	 edx
  000e4	0f b7 45 f4	 movzx	 eax, WORD PTR _left$[ebp]
  000e8	50		 push	 eax
  000e9	0f b7 4d fc	 movzx	 ecx, WORD PTR _bottom$[ebp]
  000ed	51		 push	 ecx
  000ee	0f b7 55 ec	 movzx	 edx, WORD PTR _top$[ebp]
  000f2	52		 push	 edx
  000f3	68 00 00 00 00	 push	 OFFSET ??_C@_1HK@GEDHACLA@?$AA?5?$AA?5?$AA?5?$AAT?$AA?5?$AA?$CF?$AA4?$AAd?$AA?5?$AAB?$AA?5?$AA?$CF?$AA4?$AAd?$AA?5?$AAL?$AA?5?$AA?$CF?$AA4?$AAd?$AA?5?$AAR?$AA?5?$AA?$CF?$AA4?$AAd?$AA?5?$AA?9?$AA?5?$AAR?$AAG?$AAB@
  000f8	6a 03		 push	 3
  000fa	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  000ff	83 c4 30	 add	 esp, 48			; 00000030H

; 1122 :     }

  00102	e9 39 ff ff ff	 jmp	 $LN8@Log
$LN7@Log:

; 1123 :     for(vector<CSubPattern*>::iterator it = m_SubPatterns.begin();

  00107	8d 45 d8	 lea	 eax, DWORD PTR _it$144309[ebp]
  0010a	50		 push	 eax
  0010b	8b 4d b4	 mov	 ecx, DWORD PTR _this$[ebp]
  0010e	83 c1 18	 add	 ecx, 24			; 00000018H
  00111	e8 00 00 00 00	 call	 ?begin@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@XZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::begin

; 1124 :         it != m_SubPatterns.end();

  00116	eb 08		 jmp	 SHORT $LN6@Log
$LN5@Log:

; 1125 :         ++it)

  00118	8d 4d d8	 lea	 ecx, DWORD PTR _it$144309[ebp]
  0011b	e8 00 00 00 00	 call	 ??E?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAEAAV01@XZ ; std::_Vector_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator++
$LN6@Log:
  00120	8d 4d c0	 lea	 ecx, DWORD PTR $T346180[ebp]
  00123	51		 push	 ecx
  00124	8b 4d b4	 mov	 ecx, DWORD PTR _this$[ebp]
  00127	83 c1 18	 add	 ecx, 24			; 00000018H
  0012a	e8 00 00 00 00	 call	 ?end@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@2@XZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::end
  0012f	50		 push	 eax
  00130	8d 4d d8	 lea	 ecx, DWORD PTR _it$144309[ebp]
  00133	e8 00 00 00 00	 call	 ??9?$_Vector_const_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator!=
  00138	0f b6 d0	 movzx	 edx, al
  0013b	85 d2		 test	 edx, edx
  0013d	0f 84 a8 00 00
	00		 je	 $LN10@Log

; 1126 :     {
; 1127 :         LOG(3, _T("   Sub-pattern %d"), (*it)->GetTypeAdjust());

  00143	8d 4d d8	 lea	 ecx, DWORD PTR _it$144309[ebp]
  00146	e8 00 00 00 00	 call	 ??D?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEAAPAVCSubPattern@@XZ ; std::_Vector_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator*
  0014b	8b 08		 mov	 ecx, DWORD PTR [eax]
  0014d	e8 00 00 00 00	 call	 ?GetTypeAdjust@CSubPattern@@QAE?AW4eTypeAdjust@@XZ ; CSubPattern::GetTypeAdjust
  00152	50		 push	 eax
  00153	68 00 00 00 00	 push	 OFFSET ??_C@_1CE@HBAIMHKJ@?$AA?5?$AA?5?$AA?5?$AAS?$AAu?$AAb?$AA?9?$AAp?$AAa?$AAt?$AAt?$AAe?$AAr?$AAn?$AA?5?$AA?$CF?$AAd?$AA?$AA@
  00158	6a 03		 push	 3
  0015a	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  0015f	83 c4 0c	 add	 esp, 12			; 0000000cH

; 1128 :         for(vector<CColorBar*>::iterator it2 = (*it)->m_ColorBars.begin();

  00162	8d 45 d0	 lea	 eax, DWORD PTR _it2$144320[ebp]
  00165	50		 push	 eax
  00166	8d 4d d8	 lea	 ecx, DWORD PTR _it$144309[ebp]
  00169	e8 00 00 00 00	 call	 ??D?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEAAPAVCSubPattern@@XZ ; std::_Vector_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator*
  0016e	8b 08		 mov	 ecx, DWORD PTR [eax]
  00170	e8 00 00 00 00	 call	 ?begin@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@XZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::begin

; 1129 :             it2 != (*it)->m_ColorBars.end();

  00175	eb 08		 jmp	 SHORT $LN3@Log
$LN2@Log:

; 1130 :             ++it2)

  00177	8d 4d d0	 lea	 ecx, DWORD PTR _it2$144320[ebp]
  0017a	e8 00 00 00 00	 call	 ??E?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAEAAV01@XZ ; std::_Vector_iterator<CColorBar *,std::allocator<CColorBar *> >::operator++
$LN3@Log:
  0017f	8d 4d b8	 lea	 ecx, DWORD PTR $T346181[ebp]
  00182	51		 push	 ecx
  00183	8d 4d d8	 lea	 ecx, DWORD PTR _it$144309[ebp]
  00186	e8 00 00 00 00	 call	 ??D?$_Vector_iterator@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QBEAAPAVCSubPattern@@XZ ; std::_Vector_iterator<CSubPattern *,std::allocator<CSubPattern *> >::operator*
  0018b	8b 08		 mov	 ecx, DWORD PTR [eax]
  0018d	e8 00 00 00 00	 call	 ?end@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@XZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::end
  00192	50		 push	 eax
  00193	8d 4d d0	 lea	 ecx, DWORD PTR _it2$144320[ebp]
  00196	e8 00 00 00 00	 call	 ??9?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<CColorBar *,std::allocator<CColorBar *> >::operator!=
  0019b	0f b6 d0	 movzx	 edx, al
  0019e	85 d2		 test	 edx, edx
  001a0	74 44		 je	 SHORT $LN1@Log

; 1131 :         {
; 1132 :             (*it2)->GetPosition(&left, &right, &top, &bottom);

  001a2	8d 45 fc	 lea	 eax, DWORD PTR _bottom$[ebp]
  001a5	50		 push	 eax
  001a6	8d 4d ec	 lea	 ecx, DWORD PTR _top$[ebp]
  001a9	51		 push	 ecx
  001aa	8d 55 f0	 lea	 edx, DWORD PTR _right$[ebp]
  001ad	52		 push	 edx
  001ae	8d 45 f4	 lea	 eax, DWORD PTR _left$[ebp]
  001b1	50		 push	 eax
  001b2	8d 4d d0	 lea	 ecx, DWORD PTR _it2$144320[ebp]
  001b5	e8 00 00 00 00	 call	 ??D?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEAAPAVCColorBar@@XZ ; std::_Vector_iterator<CColorBar *,std::allocator<CColorBar *> >::operator*
  001ba	8b 08		 mov	 ecx, DWORD PTR [eax]
  001bc	e8 00 00 00 00	 call	 ?GetPosition@CColorBar@@QAEXPAG000@Z ; CColorBar::GetPosition

; 1133 :             LOG(3, _T("      T %4d B %4d L %4d R %4d"), top, bottom, left, right);

  001c1	0f b7 4d f0	 movzx	 ecx, WORD PTR _right$[ebp]
  001c5	51		 push	 ecx
  001c6	0f b7 55 f4	 movzx	 edx, WORD PTR _left$[ebp]
  001ca	52		 push	 edx
  001cb	0f b7 45 fc	 movzx	 eax, WORD PTR _bottom$[ebp]
  001cf	50		 push	 eax
  001d0	0f b7 4d ec	 movzx	 ecx, WORD PTR _top$[ebp]
  001d4	51		 push	 ecx
  001d5	68 00 00 00 00	 push	 OFFSET ??_C@_1DM@MBEBJLMP@?$AA?5?$AA?5?$AA?5?$AA?5?$AA?5?$AA?5?$AAT?$AA?5?$AA?$CF?$AA4?$AAd?$AA?5?$AAB?$AA?5?$AA?$CF?$AA4?$AAd?$AA?5?$AAL?$AA?5?$AA?$CF?$AA4?$AAd?$AA?5?$AAR?$AA?5?$AA?$CF?$AA4?$AAd?$AA?$AA@
  001da	6a 03		 push	 3
  001dc	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  001e1	83 c4 18	 add	 esp, 24			; 00000018H

; 1134 :         }

  001e4	eb 91		 jmp	 SHORT $LN2@Log
$LN1@Log:

; 1135 :     }

  001e6	e9 2d ff ff ff	 jmp	 $LN5@Log
$LN10@Log:

; 1136 : }

  001eb	8b e5		 mov	 esp, ebp
  001ed	5d		 pop	 ebp
  001ee	c3		 ret	 0
?Log@CTestPattern@@AAEXXZ ENDP				; CTestPattern::Log
_TEXT	ENDS
PUBLIC	__$ArrayPad$
PUBLIC	??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z ; CTestPattern::CTestPattern
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z$3
	DD	02H
	DD	FLAT:__unwindfunclet$??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z$4
	DD	02H
	DD	FLAT:__unwindfunclet$??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z$5
__ehfuncinfo$??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z DD 019930522H
	DD	06H
	DD	FLAT:__unwindtable$??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z
_TEXT	SEGMENT
tv543 = -1444						; size = 4
tv465 = -1440						; size = 4
tv426 = -1436						; size = 4
tv317 = -1432						; size = 4
tv279 = -1428						; size = 4
_this$ = -1424						; size = 4
$T346198 = -1420					; size = 4
$T346197 = -1416					; size = 4
$T346194 = -1412					; size = 4
$T346193 = -1408					; size = 4
$T346188 = -1404					; size = 4
$T346187 = -1400					; size = 4
_i$144017 = -1396					; size = 4
_YUV$ = -1392						; size = 4
_s_val$ = -1388						; size = 128
_TypeDraw$ = -1260					; size = 4
_color_bar$ = -1256					; size = 4
_Buffer$ = -1252					; size = 4
_TypeAdjust$ = -1248					; size = 4
_i_val$ = -1244						; size = 64
_BufferLine$ = -1180					; size = 1024
_s_val2$ = -156						; size = 128
__$ArrayPad$ = -28					; size = 4
_FilePat$ = -24						; size = 4
_sub_pattern$ = -20					; size = 4
_n$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
_FileName$ = 8						; size = 4
??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z PROC ; CTestPattern::CTestPattern, COMDAT
; _this$ = ecx

; 786  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	81 ec 98 05 00
	00		 sub	 esp, 1432		; 00000598H
  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001c	33 c5		 xor	 eax, ebp
  0001e	89 45 e4	 mov	 DWORD PTR __$ArrayPad$[ebp], eax
  00021	50		 push	 eax
  00022	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00025	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  0002b	89 8d 70 fa ff
	ff		 mov	 DWORD PTR _this$[ebp], ecx
  00031	8b 8d 70 fa ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00037	e8 00 00 00 00	 call	 ??0?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::vector<CColorBar *,std::allocator<CColorBar *> >
  0003c	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00043	8b 8d 70 fa ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00049	83 c1 18	 add	 ecx, 24			; 00000018H
  0004c	e8 00 00 00 00	 call	 ??0?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::vector<CSubPattern *,std::allocator<CSubPattern *> >
  00051	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  00055	8b 8d 70 fa ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  0005b	83 c1 30	 add	 ecx, 48			; 00000030H
  0005e	e8 00 00 00 00	 call	 ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
  00063	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2

; 787  :     FILE* FilePat;
; 788  :     CColorBar* color_bar;
; 789  :     CSubPattern* sub_pattern;
; 790  :     TCHAR BufferLine[512];
; 791  :     TCHAR* Buffer;
; 792  :     int i_val[16];
; 793  :     TCHAR s_val[64];
; 794  :     TCHAR s_val2[64];
; 795  :     int n;
; 796  :     eTypeAdjust TypeAdjust;
; 797  :     BOOL YUV;
; 798  :     eTypeDraw TypeDraw;
; 799  : 
; 800  :     FilePat = _tfopen(FileName.c_str(), _T("r"));

  00067	68 00 00 00 00	 push	 OFFSET ??_C@_13BPINEIPE@?$AAr?$AA?$AA@
  0006c	8b 4d 08	 mov	 ecx, DWORD PTR _FileName$[ebp]
  0006f	e8 00 00 00 00	 call	 ?c_str@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEPB_WXZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::c_str
  00074	50		 push	 eax
  00075	e8 00 00 00 00	 call	 __wfopen
  0007a	83 c4 08	 add	 esp, 8
  0007d	89 45 e8	 mov	 DWORD PTR _FilePat$[ebp], eax

; 801  :     if (!FilePat)

  00080	83 7d e8 00	 cmp	 DWORD PTR _FilePat$[ebp], 0
  00084	75 1f		 jne	 SHORT $LN67@CTestPatte@2

; 802  :     {
; 803  :         m_Width = 0;

  00086	8b 85 70 fa ff
	ff		 mov	 eax, DWORD PTR _this$[ebp]
  0008c	c7 40 4c 00 00
	00 00		 mov	 DWORD PTR [eax+76], 0

; 804  :         m_Height = 0;

  00093	8b 8d 70 fa ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00099	c7 41 50 00 00
	00 00		 mov	 DWORD PTR [ecx+80], 0

; 805  :         return;

  000a0	e9 27 0b 00 00	 jmp	 $LN68@CTestPatte@2
$LN67@CTestPatte@2:

; 806  :     }
; 807  : 
; 808  :     m_Width = Setting_GetValue(WM_STILL_GETVALUE, PATTERNWIDTH);

  000a5	6a 04		 push	 4
  000a7	68 29 80 00 00	 push	 32809			; 00008029H
  000ac	e8 00 00 00 00	 call	 ?Setting_GetValue@@YAJJJ@Z ; Setting_GetValue
  000b1	83 c4 08	 add	 esp, 8
  000b4	8b 95 70 fa ff
	ff		 mov	 edx, DWORD PTR _this$[ebp]
  000ba	89 42 4c	 mov	 DWORD PTR [edx+76], eax

; 809  :     // The width must be even
; 810  :     if (m_Width%2)

  000bd	8b 85 70 fa ff
	ff		 mov	 eax, DWORD PTR _this$[ebp]
  000c3	8b 48 4c	 mov	 ecx, DWORD PTR [eax+76]
  000c6	81 e1 01 00 00
	80		 and	 ecx, -2147483647	; 80000001H
  000cc	79 05		 jns	 SHORT $LN93@CTestPatte@2
  000ce	49		 dec	 ecx
  000cf	83 c9 fe	 or	 ecx, -2			; fffffffeH
  000d2	41		 inc	 ecx
$LN93@CTestPatte@2:
  000d3	85 c9		 test	 ecx, ecx
  000d5	74 15		 je	 SHORT $LN66@CTestPatte@2

; 811  :     {
; 812  :         m_Width--;

  000d7	8b 95 70 fa ff
	ff		 mov	 edx, DWORD PTR _this$[ebp]
  000dd	8b 42 4c	 mov	 eax, DWORD PTR [edx+76]
  000e0	83 e8 01	 sub	 eax, 1
  000e3	8b 8d 70 fa ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  000e9	89 41 4c	 mov	 DWORD PTR [ecx+76], eax
$LN66@CTestPatte@2:

; 813  :     }
; 814  :     m_Height = Setting_GetValue(WM_STILL_GETVALUE, PATTERNHEIGTH);

  000ec	6a 03		 push	 3
  000ee	68 29 80 00 00	 push	 32809			; 00008029H
  000f3	e8 00 00 00 00	 call	 ?Setting_GetValue@@YAJJJ@Z ; Setting_GetValue
  000f8	83 c4 08	 add	 esp, 8
  000fb	8b 95 70 fa ff
	ff		 mov	 edx, DWORD PTR _this$[ebp]
  00101	89 42 50	 mov	 DWORD PTR [edx+80], eax
$LN65@CTestPatte@2:

; 815  : 
; 816  :     while(!feof(FilePat))

  00104	8b 45 e8	 mov	 eax, DWORD PTR _FilePat$[ebp]
  00107	50		 push	 eax
  00108	e8 00 00 00 00	 call	 _feof
  0010d	83 c4 04	 add	 esp, 4
  00110	85 c0		 test	 eax, eax
  00112	0f 85 92 0a 00
	00		 jne	 $LN64@CTestPatte@2

; 817  :     {
; 818  :         if(_fgetts(BufferLine, 512, FilePat))

  00118	8b 4d e8	 mov	 ecx, DWORD PTR _FilePat$[ebp]
  0011b	51		 push	 ecx
  0011c	68 00 02 00 00	 push	 512			; 00000200H
  00121	8d 95 64 fb ff
	ff		 lea	 edx, DWORD PTR _BufferLine$[ebp]
  00127	52		 push	 edx
  00128	e8 00 00 00 00	 call	 _fgetws
  0012d	83 c4 0c	 add	 esp, 12			; 0000000cH
  00130	85 c0		 test	 eax, eax
  00132	0f 84 6d 0a 00
	00		 je	 $LN63@CTestPatte@2

; 819  :         {
; 820  :             BufferLine[511] = '\0';

  00138	33 c0		 xor	 eax, eax
  0013a	66 89 85 62 ff
	ff ff		 mov	 WORD PTR _BufferLine$[ebp+1022], ax

; 821  :             Buffer = BufferLine;

  00141	8d 8d 64 fb ff
	ff		 lea	 ecx, DWORD PTR _BufferLine$[ebp]
  00147	89 8d 1c fb ff
	ff		 mov	 DWORD PTR _Buffer$[ebp], ecx
$LN62@CTestPatte@2:

; 822  :             while(_tcslen(Buffer) > 0 && *Buffer <= ' ')

  0014d	8b 95 1c fb ff
	ff		 mov	 edx, DWORD PTR _Buffer$[ebp]
  00153	52		 push	 edx
  00154	e8 00 00 00 00	 call	 _wcslen
  00159	83 c4 04	 add	 esp, 4
  0015c	85 c0		 test	 eax, eax
  0015e	76 1f		 jbe	 SHORT $LN61@CTestPatte@2
  00160	8b 85 1c fb ff
	ff		 mov	 eax, DWORD PTR _Buffer$[ebp]
  00166	0f b7 08	 movzx	 ecx, WORD PTR [eax]
  00169	83 f9 20	 cmp	 ecx, 32			; 00000020H
  0016c	7f 11		 jg	 SHORT $LN61@CTestPatte@2

; 823  :             {
; 824  :                 Buffer++;

  0016e	8b 95 1c fb ff
	ff		 mov	 edx, DWORD PTR _Buffer$[ebp]
  00174	83 c2 02	 add	 edx, 2
  00177	89 95 1c fb ff
	ff		 mov	 DWORD PTR _Buffer$[ebp], edx

; 825  :             }

  0017d	eb ce		 jmp	 SHORT $LN62@CTestPatte@2
$LN61@CTestPatte@2:

; 826  :             if(_tcslen(Buffer) == 0 || *Buffer == '#' || *Buffer == ';')

  0017f	8b 85 1c fb ff
	ff		 mov	 eax, DWORD PTR _Buffer$[ebp]
  00185	50		 push	 eax
  00186	e8 00 00 00 00	 call	 _wcslen
  0018b	83 c4 04	 add	 esp, 4
  0018e	85 c0		 test	 eax, eax
  00190	74 1c		 je	 SHORT $LN59@CTestPatte@2
  00192	8b 8d 1c fb ff
	ff		 mov	 ecx, DWORD PTR _Buffer$[ebp]
  00198	0f b7 11	 movzx	 edx, WORD PTR [ecx]
  0019b	83 fa 23	 cmp	 edx, 35			; 00000023H
  0019e	74 0e		 je	 SHORT $LN59@CTestPatte@2
  001a0	8b 85 1c fb ff
	ff		 mov	 eax, DWORD PTR _Buffer$[ebp]
  001a6	0f b7 08	 movzx	 ecx, WORD PTR [eax]
  001a9	83 f9 3b	 cmp	 ecx, 59			; 0000003bH
  001ac	75 05		 jne	 SHORT $LN58@CTestPatte@2
$LN59@CTestPatte@2:

; 827  :             {
; 828  :                 continue;

  001ae	e9 51 ff ff ff	 jmp	 $LN65@CTestPatte@2
$LN58@CTestPatte@2:

; 829  :             }
; 830  :             while(_tcslen(Buffer) > 0 && Buffer[_tcslen(Buffer) - 1] <= ' ')

  001b3	8b 95 1c fb ff
	ff		 mov	 edx, DWORD PTR _Buffer$[ebp]
  001b9	52		 push	 edx
  001ba	e8 00 00 00 00	 call	 _wcslen
  001bf	83 c4 04	 add	 esp, 4
  001c2	85 c0		 test	 eax, eax
  001c4	76 3d		 jbe	 SHORT $LN57@CTestPatte@2
  001c6	8b 85 1c fb ff
	ff		 mov	 eax, DWORD PTR _Buffer$[ebp]
  001cc	50		 push	 eax
  001cd	e8 00 00 00 00	 call	 _wcslen
  001d2	83 c4 04	 add	 esp, 4
  001d5	8b 8d 1c fb ff
	ff		 mov	 ecx, DWORD PTR _Buffer$[ebp]
  001db	0f b7 54 41 fe	 movzx	 edx, WORD PTR [ecx+eax*2-2]
  001e0	83 fa 20	 cmp	 edx, 32			; 00000020H
  001e3	7f 1e		 jg	 SHORT $LN57@CTestPatte@2

; 831  :             {
; 832  :                 Buffer[_tcslen(Buffer) - 1] = '\0';

  001e5	8b 85 1c fb ff
	ff		 mov	 eax, DWORD PTR _Buffer$[ebp]
  001eb	50		 push	 eax
  001ec	e8 00 00 00 00	 call	 _wcslen
  001f1	83 c4 04	 add	 esp, 4
  001f4	33 c9		 xor	 ecx, ecx
  001f6	8b 95 1c fb ff
	ff		 mov	 edx, DWORD PTR _Buffer$[ebp]
  001fc	66 89 4c 42 fe	 mov	 WORD PTR [edx+eax*2-2], cx

; 833  :             }

  00201	eb b0		 jmp	 SHORT $LN58@CTestPatte@2
$LN57@CTestPatte@2:

; 834  :             if (_tcslen(Buffer) == 0)

  00203	8b 85 1c fb ff
	ff		 mov	 eax, DWORD PTR _Buffer$[ebp]
  00209	50		 push	 eax
  0020a	e8 00 00 00 00	 call	 _wcslen
  0020f	83 c4 04	 add	 esp, 4
  00212	85 c0		 test	 eax, eax
  00214	75 05		 jne	 SHORT $LN56@CTestPatte@2

; 835  :             {
; 836  :                 continue;

  00216	e9 e9 fe ff ff	 jmp	 $LN65@CTestPatte@2
$LN56@CTestPatte@2:

; 837  :             }
; 838  :             if (_stscanf(Buffer, _T("PAT %s"), s_val) == 1)

  0021b	8d 8d 94 fa ff
	ff		 lea	 ecx, DWORD PTR _s_val$[ebp]
  00221	51		 push	 ecx
  00222	68 00 00 00 00	 push	 OFFSET ??_C@_1O@MFOLGJKJ@?$AAP?$AAA?$AAT?$AA?5?$AA?$CF?$AAs?$AA?$AA@
  00227	8b 95 1c fb ff
	ff		 mov	 edx, DWORD PTR _Buffer$[ebp]
  0022d	52		 push	 edx
  0022e	e8 00 00 00 00	 call	 _swscanf
  00233	83 c4 0c	 add	 esp, 12			; 0000000cH
  00236	83 f8 01	 cmp	 eax, 1
  00239	75 4b		 jne	 SHORT $LN55@CTestPatte@2

; 839  :             {
; 840  :                 m_PatternName = _tcsstr(&Buffer[4], s_val);

  0023b	8d 85 94 fa ff
	ff		 lea	 eax, DWORD PTR _s_val$[ebp]
  00241	50		 push	 eax
  00242	8b 8d 1c fb ff
	ff		 mov	 ecx, DWORD PTR _Buffer$[ebp]
  00248	83 c1 08	 add	 ecx, 8
  0024b	51		 push	 ecx
  0024c	e8 00 00 00 00	 call	 ?wcsstr@@YAPA_WPA_WPB_W@Z ; wcsstr
  00251	83 c4 08	 add	 esp, 8
  00254	50		 push	 eax
  00255	8b 8d 70 fa ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  0025b	83 c1 30	 add	 ecx, 48			; 00000030H
  0025e	e8 00 00 00 00	 call	 ??4?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@PB_W@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::operator=

; 841  :                 LOG(5,_T("PAT %s"), m_PatternName.c_str());

  00263	8b 8d 70 fa ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00269	83 c1 30	 add	 ecx, 48			; 00000030H
  0026c	e8 00 00 00 00	 call	 ?c_str@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEPB_WXZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::c_str
  00271	50		 push	 eax
  00272	68 00 00 00 00	 push	 OFFSET ??_C@_1O@MFOLGJKJ@?$AAP?$AAA?$AAT?$AA?5?$AA?$CF?$AAs?$AA?$AA@
  00277	6a 05		 push	 5
  00279	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  0027e	83 c4 0c	 add	 esp, 12			; 0000000cH
  00281	e9 1f 09 00 00	 jmp	 $LN63@CTestPatte@2
$LN55@CTestPatte@2:

; 842  :             }
; 843  :             else if (_stscanf(Buffer, _T("SIZE %d %d"), &i_val[0], &i_val[1]) == 2)

  00286	8d 95 28 fb ff
	ff		 lea	 edx, DWORD PTR _i_val$[ebp+4]
  0028c	52		 push	 edx
  0028d	8d 85 24 fb ff
	ff		 lea	 eax, DWORD PTR _i_val$[ebp]
  00293	50		 push	 eax
  00294	68 00 00 00 00	 push	 OFFSET ??_C@_1BG@JNHGODJN@?$AAS?$AAI?$AAZ?$AAE?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?$AA@
  00299	8b 8d 1c fb ff
	ff		 mov	 ecx, DWORD PTR _Buffer$[ebp]
  0029f	51		 push	 ecx
  002a0	e8 00 00 00 00	 call	 _swscanf
  002a5	83 c4 10	 add	 esp, 16			; 00000010H
  002a8	83 f8 02	 cmp	 eax, 2
  002ab	75 46		 jne	 SHORT $LN53@CTestPatte@2

; 844  :             {
; 845  :                 m_Width = i_val[0];

  002ad	8b 95 70 fa ff
	ff		 mov	 edx, DWORD PTR _this$[ebp]
  002b3	8b 85 24 fb ff
	ff		 mov	 eax, DWORD PTR _i_val$[ebp]
  002b9	89 42 4c	 mov	 DWORD PTR [edx+76], eax

; 846  :                 m_Height = i_val[1];

  002bc	8b 8d 70 fa ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  002c2	8b 95 28 fb ff
	ff		 mov	 edx, DWORD PTR _i_val$[ebp+4]
  002c8	89 51 50	 mov	 DWORD PTR [ecx+80], edx

; 847  :                 LOG(5,_T("SIZE %d %d"), m_Width, m_Height);

  002cb	8b 85 70 fa ff
	ff		 mov	 eax, DWORD PTR _this$[ebp]
  002d1	8b 48 50	 mov	 ecx, DWORD PTR [eax+80]
  002d4	51		 push	 ecx
  002d5	8b 95 70 fa ff
	ff		 mov	 edx, DWORD PTR _this$[ebp]
  002db	8b 42 4c	 mov	 eax, DWORD PTR [edx+76]
  002de	50		 push	 eax
  002df	68 00 00 00 00	 push	 OFFSET ??_C@_1BG@JNHGODJN@?$AAS?$AAI?$AAZ?$AAE?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?$AA@
  002e4	6a 05		 push	 5
  002e6	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  002eb	83 c4 10	 add	 esp, 16			; 00000010H
  002ee	e9 b2 08 00 00	 jmp	 $LN63@CTestPatte@2
$LN53@CTestPatte@2:

; 848  :             }
; 849  :             else if ((n = _stscanf(Buffer, _T("RECT %d %d %d %d %s %d %d %d %d %d %d %s %d %d"), &i_val[0], &i_val[1], &i_val[2], &i_val[3], s_val, &i_val[4], &i_val[5], &i_val[6], &i_val[7], &i_val[8], &i_val[9], s_val2, &i_val[10])) >= 12)

  002f3	8d 8d 4c fb ff
	ff		 lea	 ecx, DWORD PTR _i_val$[ebp+40]
  002f9	51		 push	 ecx
  002fa	8d 95 64 ff ff
	ff		 lea	 edx, DWORD PTR _s_val2$[ebp]
  00300	52		 push	 edx
  00301	8d 85 48 fb ff
	ff		 lea	 eax, DWORD PTR _i_val$[ebp+36]
  00307	50		 push	 eax
  00308	8d 8d 44 fb ff
	ff		 lea	 ecx, DWORD PTR _i_val$[ebp+32]
  0030e	51		 push	 ecx
  0030f	8d 95 40 fb ff
	ff		 lea	 edx, DWORD PTR _i_val$[ebp+28]
  00315	52		 push	 edx
  00316	8d 85 3c fb ff
	ff		 lea	 eax, DWORD PTR _i_val$[ebp+24]
  0031c	50		 push	 eax
  0031d	8d 8d 38 fb ff
	ff		 lea	 ecx, DWORD PTR _i_val$[ebp+20]
  00323	51		 push	 ecx
  00324	8d 95 34 fb ff
	ff		 lea	 edx, DWORD PTR _i_val$[ebp+16]
  0032a	52		 push	 edx
  0032b	8d 85 94 fa ff
	ff		 lea	 eax, DWORD PTR _s_val$[ebp]
  00331	50		 push	 eax
  00332	8d 8d 30 fb ff
	ff		 lea	 ecx, DWORD PTR _i_val$[ebp+12]
  00338	51		 push	 ecx
  00339	8d 95 2c fb ff
	ff		 lea	 edx, DWORD PTR _i_val$[ebp+8]
  0033f	52		 push	 edx
  00340	8d 85 28 fb ff
	ff		 lea	 eax, DWORD PTR _i_val$[ebp+4]
  00346	50		 push	 eax
  00347	8d 8d 24 fb ff
	ff		 lea	 ecx, DWORD PTR _i_val$[ebp]
  0034d	51		 push	 ecx
  0034e	68 00 00 00 00	 push	 OFFSET ??_C@_1FO@NBPOEHLB@?$AAR?$AAE?$AAC?$AAT?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAs?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5@
  00353	8b 95 1c fb ff
	ff		 mov	 edx, DWORD PTR _Buffer$[ebp]
  00359	52		 push	 edx
  0035a	e8 00 00 00 00	 call	 _swscanf
  0035f	83 c4 3c	 add	 esp, 60			; 0000003cH
  00362	89 45 f0	 mov	 DWORD PTR _n$[ebp], eax
  00365	83 7d f0 0c	 cmp	 DWORD PTR _n$[ebp], 12	; 0000000cH
  00369	0f 8c 4f 02 00
	00		 jl	 $LN51@CTestPatte@2

; 850  :             {
; 851  :                 if (!_tcscmp(s_val, _T("RGB")))

  0036f	68 00 00 00 00	 push	 OFFSET ??_C@_17KOJOHOEP@?$AAR?$AAG?$AAB?$AA?$AA@
  00374	8d 85 94 fa ff
	ff		 lea	 eax, DWORD PTR _s_val$[ebp]
  0037a	50		 push	 eax
  0037b	e8 00 00 00 00	 call	 _wcscmp
  00380	83 c4 08	 add	 esp, 8
  00383	85 c0		 test	 eax, eax
  00385	75 0c		 jne	 SHORT $LN50@CTestPatte@2

; 852  :                 {
; 853  :                     YUV = FALSE;

  00387	c7 85 90 fa ff
	ff 00 00 00 00	 mov	 DWORD PTR _YUV$[ebp], 0
  00391	eb 29		 jmp	 SHORT $LN49@CTestPatte@2
$LN50@CTestPatte@2:

; 854  :                 }
; 855  :                 else if (!_tcscmp(s_val, _T("YUV")))

  00393	68 00 00 00 00	 push	 OFFSET ??_C@_17GCJBABEB@?$AAY?$AAU?$AAV?$AA?$AA@
  00398	8d 8d 94 fa ff
	ff		 lea	 ecx, DWORD PTR _s_val$[ebp]
  0039e	51		 push	 ecx
  0039f	e8 00 00 00 00	 call	 _wcscmp
  003a4	83 c4 08	 add	 esp, 8
  003a7	85 c0		 test	 eax, eax
  003a9	75 0c		 jne	 SHORT $LN48@CTestPatte@2

; 856  :                 {
; 857  :                     YUV = TRUE;

  003ab	c7 85 90 fa ff
	ff 01 00 00 00	 mov	 DWORD PTR _YUV$[ebp], 1

; 858  :                 }
; 859  :                 else

  003b5	eb 05		 jmp	 SHORT $LN49@CTestPatte@2
$LN48@CTestPatte@2:

; 860  :                 {
; 861  :                     continue;

  003b7	e9 48 fd ff ff	 jmp	 $LN65@CTestPatte@2
$LN49@CTestPatte@2:

; 862  :                 }
; 863  :                 if (!_tcscmp(s_val2, _T("BORDER")))

  003bc	68 00 00 00 00	 push	 OFFSET ??_C@_1O@OCMDFLHB@?$AAB?$AAO?$AAR?$AAD?$AAE?$AAR?$AA?$AA@
  003c1	8d 95 64 ff ff
	ff		 lea	 edx, DWORD PTR _s_val2$[ebp]
  003c7	52		 push	 edx
  003c8	e8 00 00 00 00	 call	 _wcscmp
  003cd	83 c4 08	 add	 esp, 8
  003d0	85 c0		 test	 eax, eax
  003d2	75 0c		 jne	 SHORT $LN46@CTestPatte@2

; 864  :                 {
; 865  :                     TypeDraw = DRAW_BORDER;

  003d4	c7 85 14 fb ff
	ff 00 00 00 00	 mov	 DWORD PTR _TypeDraw$[ebp], 0
  003de	eb 71		 jmp	 SHORT $LN45@CTestPatte@2
$LN46@CTestPatte@2:

; 866  :                 }
; 867  :                 else if (!_tcscmp(s_val2, _T("LINEH")))

  003e0	68 00 00 00 00	 push	 OFFSET ??_C@_1M@OOMONEFJ@?$AAL?$AAI?$AAN?$AAE?$AAH?$AA?$AA@
  003e5	8d 85 64 ff ff
	ff		 lea	 eax, DWORD PTR _s_val2$[ebp]
  003eb	50		 push	 eax
  003ec	e8 00 00 00 00	 call	 _wcscmp
  003f1	83 c4 08	 add	 esp, 8
  003f4	85 c0		 test	 eax, eax
  003f6	75 0c		 jne	 SHORT $LN44@CTestPatte@2

; 868  :                 {
; 869  :                     TypeDraw = DRAW_LINEH;

  003f8	c7 85 14 fb ff
	ff 02 00 00 00	 mov	 DWORD PTR _TypeDraw$[ebp], 2
  00402	eb 4d		 jmp	 SHORT $LN45@CTestPatte@2
$LN44@CTestPatte@2:

; 870  :                 }
; 871  :                 else if (!_tcscmp(s_val2, _T("LINEV")))

  00404	68 00 00 00 00	 push	 OFFSET ??_C@_1M@FOAIPEPF@?$AAL?$AAI?$AAN?$AAE?$AAV?$AA?$AA@
  00409	8d 8d 64 ff ff
	ff		 lea	 ecx, DWORD PTR _s_val2$[ebp]
  0040f	51		 push	 ecx
  00410	e8 00 00 00 00	 call	 _wcscmp
  00415	83 c4 08	 add	 esp, 8
  00418	85 c0		 test	 eax, eax
  0041a	75 0c		 jne	 SHORT $LN42@CTestPatte@2

; 872  :                 {
; 873  :                     TypeDraw = DRAW_LINEV;

  0041c	c7 85 14 fb ff
	ff 03 00 00 00	 mov	 DWORD PTR _TypeDraw$[ebp], 3
  00426	eb 29		 jmp	 SHORT $LN45@CTestPatte@2
$LN42@CTestPatte@2:

; 874  :                 }
; 875  :                 else if (!_tcscmp(s_val2, _T("LINEX")))

  00428	68 00 00 00 00	 push	 OFFSET ??_C@_1M@LONHIDMG@?$AAL?$AAI?$AAN?$AAE?$AAX?$AA?$AA@
  0042d	8d 95 64 ff ff
	ff		 lea	 edx, DWORD PTR _s_val2$[ebp]
  00433	52		 push	 edx
  00434	e8 00 00 00 00	 call	 _wcscmp
  00439	83 c4 08	 add	 esp, 8
  0043c	85 c0		 test	 eax, eax
  0043e	75 0c		 jne	 SHORT $LN40@CTestPatte@2

; 876  :                 {
; 877  :                     TypeDraw = DRAW_LINEX;

  00440	c7 85 14 fb ff
	ff 04 00 00 00	 mov	 DWORD PTR _TypeDraw$[ebp], 4

; 878  :                 }
; 879  :                 else

  0044a	eb 05		 jmp	 SHORT $LN45@CTestPatte@2
$LN40@CTestPatte@2:

; 880  :                 {
; 881  :                     continue;

  0044c	e9 b3 fc ff ff	 jmp	 $LN65@CTestPatte@2
$LN45@CTestPatte@2:

; 882  :                 }
; 883  :                 if (n == 12)

  00451	83 7d f0 0c	 cmp	 DWORD PTR _n$[ebp], 12	; 0000000cH
  00455	75 0a		 jne	 SHORT $LN38@CTestPatte@2

; 884  :                 {
; 885  :                     i_val[10] = 1;

  00457	c7 85 4c fb ff
	ff 01 00 00 00	 mov	 DWORD PTR _i_val$[ebp+40], 1
$LN38@CTestPatte@2:

; 886  :                 }
; 887  :                 LOG(5,_T("RECT %s (%d) %s %d %d %d %d %d %d %d %d %d %d"), s_val2, i_val[10], YUV?_T("YUV"):_T("RGB"), i_val[0], i_val[1], i_val[2], i_val[3], i_val[4], i_val[5], i_val[6], i_val[7], i_val[8], i_val[9]);

  00461	83 bd 90 fa ff
	ff 00		 cmp	 DWORD PTR _YUV$[ebp], 0
  00468	74 0c		 je	 SHORT $LN70@CTestPatte@2
  0046a	c7 85 6c fa ff
	ff 00 00 00 00	 mov	 DWORD PTR tv279[ebp], OFFSET ??_C@_17GCJBABEB@?$AAY?$AAU?$AAV?$AA?$AA@
  00474	eb 0a		 jmp	 SHORT $LN71@CTestPatte@2
$LN70@CTestPatte@2:
  00476	c7 85 6c fa ff
	ff 00 00 00 00	 mov	 DWORD PTR tv279[ebp], OFFSET ??_C@_17KOJOHOEP@?$AAR?$AAG?$AAB?$AA?$AA@
$LN71@CTestPatte@2:
  00480	8b 85 48 fb ff
	ff		 mov	 eax, DWORD PTR _i_val$[ebp+36]
  00486	50		 push	 eax
  00487	8b 8d 44 fb ff
	ff		 mov	 ecx, DWORD PTR _i_val$[ebp+32]
  0048d	51		 push	 ecx
  0048e	8b 95 40 fb ff
	ff		 mov	 edx, DWORD PTR _i_val$[ebp+28]
  00494	52		 push	 edx
  00495	8b 85 3c fb ff
	ff		 mov	 eax, DWORD PTR _i_val$[ebp+24]
  0049b	50		 push	 eax
  0049c	8b 8d 38 fb ff
	ff		 mov	 ecx, DWORD PTR _i_val$[ebp+20]
  004a2	51		 push	 ecx
  004a3	8b 95 34 fb ff
	ff		 mov	 edx, DWORD PTR _i_val$[ebp+16]
  004a9	52		 push	 edx
  004aa	8b 85 30 fb ff
	ff		 mov	 eax, DWORD PTR _i_val$[ebp+12]
  004b0	50		 push	 eax
  004b1	8b 8d 2c fb ff
	ff		 mov	 ecx, DWORD PTR _i_val$[ebp+8]
  004b7	51		 push	 ecx
  004b8	8b 95 28 fb ff
	ff		 mov	 edx, DWORD PTR _i_val$[ebp+4]
  004be	52		 push	 edx
  004bf	8b 85 24 fb ff
	ff		 mov	 eax, DWORD PTR _i_val$[ebp]
  004c5	50		 push	 eax
  004c6	8b 8d 6c fa ff
	ff		 mov	 ecx, DWORD PTR tv279[ebp]
  004cc	51		 push	 ecx
  004cd	8b 95 4c fb ff
	ff		 mov	 edx, DWORD PTR _i_val$[ebp+40]
  004d3	52		 push	 edx
  004d4	8d 85 64 ff ff
	ff		 lea	 eax, DWORD PTR _s_val2$[ebp]
  004da	50		 push	 eax
  004db	68 00 00 00 00	 push	 OFFSET ??_C@_1FM@BAMFJAM@?$AAR?$AAE?$AAC?$AAT?$AA?5?$AA?$CF?$AAs?$AA?5?$AA?$CI?$AA?$CF?$AAd?$AA?$CJ?$AA?5?$AA?$CF?$AAs?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF@
  004e0	6a 05		 push	 5
  004e2	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  004e7	83 c4 3c	 add	 esp, 60			; 0000003cH

; 888  :                 color_bar = new CColorBar(i_val[0], i_val[1], i_val[2], i_val[3], TypeDraw, i_val[10], 0, YUV, i_val[4], i_val[5], i_val[6], i_val[7], i_val[8], i_val[9]);

  004ea	6a 54		 push	 84			; 00000054H
  004ec	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  004f1	83 c4 04	 add	 esp, 4
  004f4	89 85 84 fa ff
	ff		 mov	 DWORD PTR $T346188[ebp], eax
  004fa	c6 45 fc 03	 mov	 BYTE PTR __$EHRec$[ebp+8], 3
  004fe	83 bd 84 fa ff
	ff 00		 cmp	 DWORD PTR $T346188[ebp], 0
  00505	74 7a		 je	 SHORT $LN72@CTestPatte@2
  00507	0f b6 8d 48 fb
	ff ff		 movzx	 ecx, BYTE PTR _i_val$[ebp+36]
  0050e	51		 push	 ecx
  0050f	0f b6 95 44 fb
	ff ff		 movzx	 edx, BYTE PTR _i_val$[ebp+32]
  00516	52		 push	 edx
  00517	0f b6 85 40 fb
	ff ff		 movzx	 eax, BYTE PTR _i_val$[ebp+28]
  0051e	50		 push	 eax
  0051f	0f b6 8d 3c fb
	ff ff		 movzx	 ecx, BYTE PTR _i_val$[ebp+24]
  00526	51		 push	 ecx
  00527	0f b6 95 38 fb
	ff ff		 movzx	 edx, BYTE PTR _i_val$[ebp+20]
  0052e	52		 push	 edx
  0052f	0f b6 85 34 fb
	ff ff		 movzx	 eax, BYTE PTR _i_val$[ebp+16]
  00536	50		 push	 eax
  00537	8b 8d 90 fa ff
	ff		 mov	 ecx, DWORD PTR _YUV$[ebp]
  0053d	51		 push	 ecx
  0053e	6a 00		 push	 0
  00540	8b 95 4c fb ff
	ff		 mov	 edx, DWORD PTR _i_val$[ebp+40]
  00546	52		 push	 edx
  00547	8b 85 14 fb ff
	ff		 mov	 eax, DWORD PTR _TypeDraw$[ebp]
  0054d	50		 push	 eax
  0054e	0f b7 8d 30 fb
	ff ff		 movzx	 ecx, WORD PTR _i_val$[ebp+12]
  00555	51		 push	 ecx
  00556	0f b7 95 2c fb
	ff ff		 movzx	 edx, WORD PTR _i_val$[ebp+8]
  0055d	52		 push	 edx
  0055e	0f b7 85 28 fb
	ff ff		 movzx	 eax, WORD PTR _i_val$[ebp+4]
  00565	50		 push	 eax
  00566	0f b7 8d 24 fb
	ff ff		 movzx	 ecx, WORD PTR _i_val$[ebp]
  0056d	51		 push	 ecx
  0056e	8b 8d 84 fa ff
	ff		 mov	 ecx, DWORD PTR $T346188[ebp]
  00574	e8 00 00 00 00	 call	 ??0CColorBar@@QAE@GGGGW4eTypeDraw@@HHHEEEEEE@Z ; CColorBar::CColorBar
  00579	89 85 68 fa ff
	ff		 mov	 DWORD PTR tv317[ebp], eax
  0057f	eb 0a		 jmp	 SHORT $LN73@CTestPatte@2
$LN72@CTestPatte@2:
  00581	c7 85 68 fa ff
	ff 00 00 00 00	 mov	 DWORD PTR tv317[ebp], 0
$LN73@CTestPatte@2:
  0058b	8b 95 68 fa ff
	ff		 mov	 edx, DWORD PTR tv317[ebp]
  00591	89 95 88 fa ff
	ff		 mov	 DWORD PTR $T346187[ebp], edx
  00597	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  0059b	8b 85 88 fa ff
	ff		 mov	 eax, DWORD PTR $T346187[ebp]
  005a1	89 85 18 fb ff
	ff		 mov	 DWORD PTR _color_bar$[ebp], eax

; 889  :                 m_ColorBars.push_back(color_bar);

  005a7	8d 8d 18 fb ff
	ff		 lea	 ecx, DWORD PTR _color_bar$[ebp]
  005ad	51		 push	 ecx
  005ae	8b 8d 70 fa ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  005b4	e8 00 00 00 00	 call	 ?push_back@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAEXABQAVCColorBar@@@Z ; std::vector<CColorBar *,std::allocator<CColorBar *> >::push_back
  005b9	e9 e7 05 00 00	 jmp	 $LN63@CTestPatte@2
$LN51@CTestPatte@2:

; 890  :             }
; 891  :             else if ((n = _stscanf(Buffer, _T("RECT %d %d %d %d %s %d %d %d %s %d %d"), &i_val[0], &i_val[1], &i_val[2], &i_val[3], s_val, &i_val[4], &i_val[5], &i_val[6], s_val2, &i_val[7], &i_val[8])) >= 9)

  005be	8d 95 44 fb ff
	ff		 lea	 edx, DWORD PTR _i_val$[ebp+32]
  005c4	52		 push	 edx
  005c5	8d 85 40 fb ff
	ff		 lea	 eax, DWORD PTR _i_val$[ebp+28]
  005cb	50		 push	 eax
  005cc	8d 8d 64 ff ff
	ff		 lea	 ecx, DWORD PTR _s_val2$[ebp]
  005d2	51		 push	 ecx
  005d3	8d 95 3c fb ff
	ff		 lea	 edx, DWORD PTR _i_val$[ebp+24]
  005d9	52		 push	 edx
  005da	8d 85 38 fb ff
	ff		 lea	 eax, DWORD PTR _i_val$[ebp+20]
  005e0	50		 push	 eax
  005e1	8d 8d 34 fb ff
	ff		 lea	 ecx, DWORD PTR _i_val$[ebp+16]
  005e7	51		 push	 ecx
  005e8	8d 95 94 fa ff
	ff		 lea	 edx, DWORD PTR _s_val$[ebp]
  005ee	52		 push	 edx
  005ef	8d 85 30 fb ff
	ff		 lea	 eax, DWORD PTR _i_val$[ebp+12]
  005f5	50		 push	 eax
  005f6	8d 8d 2c fb ff
	ff		 lea	 ecx, DWORD PTR _i_val$[ebp+8]
  005fc	51		 push	 ecx
  005fd	8d 95 28 fb ff
	ff		 lea	 edx, DWORD PTR _i_val$[ebp+4]
  00603	52		 push	 edx
  00604	8d 85 24 fb ff
	ff		 lea	 eax, DWORD PTR _i_val$[ebp]
  0060a	50		 push	 eax
  0060b	68 00 00 00 00	 push	 OFFSET ??_C@_1EM@KNCPJLJD@?$AAR?$AAE?$AAC?$AAT?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAs?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAs?$AA?5@
  00610	8b 8d 1c fb ff
	ff		 mov	 ecx, DWORD PTR _Buffer$[ebp]
  00616	51		 push	 ecx
  00617	e8 00 00 00 00	 call	 _swscanf
  0061c	83 c4 34	 add	 esp, 52			; 00000034H
  0061f	89 45 f0	 mov	 DWORD PTR _n$[ebp], eax
  00622	83 7d f0 09	 cmp	 DWORD PTR _n$[ebp], 9
  00626	0f 8c a9 02 00
	00		 jl	 $LN36@CTestPatte@2

; 892  :             {
; 893  :                 if (!_tcscmp(s_val, _T("RGB")))

  0062c	68 00 00 00 00	 push	 OFFSET ??_C@_17KOJOHOEP@?$AAR?$AAG?$AAB?$AA?$AA@
  00631	8d 95 94 fa ff
	ff		 lea	 edx, DWORD PTR _s_val$[ebp]
  00637	52		 push	 edx
  00638	e8 00 00 00 00	 call	 _wcscmp
  0063d	83 c4 08	 add	 esp, 8
  00640	85 c0		 test	 eax, eax
  00642	75 0c		 jne	 SHORT $LN35@CTestPatte@2

; 894  :                 {
; 895  :                     YUV = FALSE;

  00644	c7 85 90 fa ff
	ff 00 00 00 00	 mov	 DWORD PTR _YUV$[ebp], 0
  0064e	eb 29		 jmp	 SHORT $LN34@CTestPatte@2
$LN35@CTestPatte@2:

; 896  :                 }
; 897  :                 else if (!_tcscmp(s_val, _T("YUV")))

  00650	68 00 00 00 00	 push	 OFFSET ??_C@_17GCJBABEB@?$AAY?$AAU?$AAV?$AA?$AA@
  00655	8d 85 94 fa ff
	ff		 lea	 eax, DWORD PTR _s_val$[ebp]
  0065b	50		 push	 eax
  0065c	e8 00 00 00 00	 call	 _wcscmp
  00661	83 c4 08	 add	 esp, 8
  00664	85 c0		 test	 eax, eax
  00666	75 0c		 jne	 SHORT $LN33@CTestPatte@2

; 898  :                 {
; 899  :                     YUV = TRUE;

  00668	c7 85 90 fa ff
	ff 01 00 00 00	 mov	 DWORD PTR _YUV$[ebp], 1

; 900  :                 }
; 901  :                 else

  00672	eb 05		 jmp	 SHORT $LN34@CTestPatte@2
$LN33@CTestPatte@2:

; 902  :                 {
; 903  :                     continue;

  00674	e9 8b fa ff ff	 jmp	 $LN65@CTestPatte@2
$LN34@CTestPatte@2:

; 904  :                 }
; 905  :                 if (!_tcscmp(s_val2, _T("FILLED")) && n == 9)

  00679	68 00 00 00 00	 push	 OFFSET ??_C@_1O@ILKCNDCH@?$AAF?$AAI?$AAL?$AAL?$AAE?$AAD?$AA?$AA@
  0067e	8d 8d 64 ff ff
	ff		 lea	 ecx, DWORD PTR _s_val2$[ebp]
  00684	51		 push	 ecx
  00685	e8 00 00 00 00	 call	 _wcscmp
  0068a	83 c4 08	 add	 esp, 8
  0068d	85 c0		 test	 eax, eax
  0068f	75 29		 jne	 SHORT $LN31@CTestPatte@2
  00691	83 7d f0 09	 cmp	 DWORD PTR _n$[ebp], 9
  00695	75 23		 jne	 SHORT $LN31@CTestPatte@2

; 906  :                 {
; 907  :                     TypeDraw = DRAW_FILLED;

  00697	c7 85 14 fb ff
	ff 01 00 00 00	 mov	 DWORD PTR _TypeDraw$[ebp], 1

; 908  :                     i_val[7] = 0;

  006a1	c7 85 40 fb ff
	ff 00 00 00 00	 mov	 DWORD PTR _i_val$[ebp+28], 0

; 909  :                     i_val[8] = 0;

  006ab	c7 85 44 fb ff
	ff 00 00 00 00	 mov	 DWORD PTR _i_val$[ebp+32], 0
  006b5	e9 ce 00 00 00	 jmp	 $LN30@CTestPatte@2
$LN31@CTestPatte@2:

; 910  :                 }
; 911  :                 else if (!_tcscmp(s_val2, _T("BORDER")) && n == 10)

  006ba	68 00 00 00 00	 push	 OFFSET ??_C@_1O@OCMDFLHB@?$AAB?$AAO?$AAR?$AAD?$AAE?$AAR?$AA?$AA@
  006bf	8d 95 64 ff ff
	ff		 lea	 edx, DWORD PTR _s_val2$[ebp]
  006c5	52		 push	 edx
  006c6	e8 00 00 00 00	 call	 _wcscmp
  006cb	83 c4 08	 add	 esp, 8
  006ce	85 c0		 test	 eax, eax
  006d0	75 1f		 jne	 SHORT $LN29@CTestPatte@2
  006d2	83 7d f0 0a	 cmp	 DWORD PTR _n$[ebp], 10	; 0000000aH
  006d6	75 19		 jne	 SHORT $LN29@CTestPatte@2

; 912  :                 {
; 913  :                     TypeDraw = DRAW_BORDER;

  006d8	c7 85 14 fb ff
	ff 00 00 00 00	 mov	 DWORD PTR _TypeDraw$[ebp], 0

; 914  :                     i_val[8] = 0;

  006e2	c7 85 44 fb ff
	ff 00 00 00 00	 mov	 DWORD PTR _i_val$[ebp+32], 0
  006ec	e9 97 00 00 00	 jmp	 $LN30@CTestPatte@2
$LN29@CTestPatte@2:

; 915  :                 }
; 916  :                 else if (!_tcscmp(s_val2, _T("BORDER")) && n == 9)

  006f1	68 00 00 00 00	 push	 OFFSET ??_C@_1O@OCMDFLHB@?$AAB?$AAO?$AAR?$AAD?$AAE?$AAR?$AA?$AA@
  006f6	8d 85 64 ff ff
	ff		 lea	 eax, DWORD PTR _s_val2$[ebp]
  006fc	50		 push	 eax
  006fd	e8 00 00 00 00	 call	 _wcscmp
  00702	83 c4 08	 add	 esp, 8
  00705	85 c0		 test	 eax, eax
  00707	75 26		 jne	 SHORT $LN27@CTestPatte@2
  00709	83 7d f0 09	 cmp	 DWORD PTR _n$[ebp], 9
  0070d	75 20		 jne	 SHORT $LN27@CTestPatte@2

; 917  :                 {
; 918  :                     TypeDraw = DRAW_BORDER;

  0070f	c7 85 14 fb ff
	ff 00 00 00 00	 mov	 DWORD PTR _TypeDraw$[ebp], 0

; 919  :                     i_val[7] = 1;

  00719	c7 85 40 fb ff
	ff 01 00 00 00	 mov	 DWORD PTR _i_val$[ebp+28], 1

; 920  :                     i_val[8] = 0;

  00723	c7 85 44 fb ff
	ff 00 00 00 00	 mov	 DWORD PTR _i_val$[ebp+32], 0
  0072d	eb 59		 jmp	 SHORT $LN30@CTestPatte@2
$LN27@CTestPatte@2:

; 921  :                 }
; 922  :                 else if (!_tcscmp(s_val2, _T("GRADH")) && n == 11)

  0072f	68 00 00 00 00	 push	 OFFSET ??_C@_1M@FCGOMLEB@?$AAG?$AAR?$AAA?$AAD?$AAH?$AA?$AA@
  00734	8d 8d 64 ff ff
	ff		 lea	 ecx, DWORD PTR _s_val2$[ebp]
  0073a	51		 push	 ecx
  0073b	e8 00 00 00 00	 call	 _wcscmp
  00740	83 c4 08	 add	 esp, 8
  00743	85 c0		 test	 eax, eax
  00745	75 12		 jne	 SHORT $LN25@CTestPatte@2
  00747	83 7d f0 0b	 cmp	 DWORD PTR _n$[ebp], 11	; 0000000bH
  0074b	75 0c		 jne	 SHORT $LN25@CTestPatte@2

; 923  :                 {
; 924  :                     TypeDraw = DRAW_GRADATIONH;

  0074d	c7 85 14 fb ff
	ff 05 00 00 00	 mov	 DWORD PTR _TypeDraw$[ebp], 5
  00757	eb 2f		 jmp	 SHORT $LN30@CTestPatte@2
$LN25@CTestPatte@2:

; 925  :                 }
; 926  :                 else if (!_tcscmp(s_val2, _T("GRADV")) && n == 11)

  00759	68 00 00 00 00	 push	 OFFSET ??_C@_1M@OCKIOLON@?$AAG?$AAR?$AAA?$AAD?$AAV?$AA?$AA@
  0075e	8d 95 64 ff ff
	ff		 lea	 edx, DWORD PTR _s_val2$[ebp]
  00764	52		 push	 edx
  00765	e8 00 00 00 00	 call	 _wcscmp
  0076a	83 c4 08	 add	 esp, 8
  0076d	85 c0		 test	 eax, eax
  0076f	75 12		 jne	 SHORT $LN23@CTestPatte@2
  00771	83 7d f0 0b	 cmp	 DWORD PTR _n$[ebp], 11	; 0000000bH
  00775	75 0c		 jne	 SHORT $LN23@CTestPatte@2

; 927  :                 {
; 928  :                     TypeDraw = DRAW_GRADATIONV;

  00777	c7 85 14 fb ff
	ff 06 00 00 00	 mov	 DWORD PTR _TypeDraw$[ebp], 6

; 929  :                 }
; 930  :                 else

  00781	eb 05		 jmp	 SHORT $LN30@CTestPatte@2
$LN23@CTestPatte@2:

; 931  :                 {
; 932  :                     continue;

  00783	e9 7c f9 ff ff	 jmp	 $LN65@CTestPatte@2
$LN30@CTestPatte@2:

; 933  :                 }
; 934  :                 LOG(5,_T("RECT %s (%d) %s %d %d %d %d %d %d %d"), s_val2, i_val[7], YUV?_T("YUV"):_T("RGB"), i_val[0], i_val[1], i_val[2], i_val[3], i_val[4], i_val[5], i_val[6]);

  00788	83 bd 90 fa ff
	ff 00		 cmp	 DWORD PTR _YUV$[ebp], 0
  0078f	74 0c		 je	 SHORT $LN74@CTestPatte@2
  00791	c7 85 64 fa ff
	ff 00 00 00 00	 mov	 DWORD PTR tv426[ebp], OFFSET ??_C@_17GCJBABEB@?$AAY?$AAU?$AAV?$AA?$AA@
  0079b	eb 0a		 jmp	 SHORT $LN75@CTestPatte@2
$LN74@CTestPatte@2:
  0079d	c7 85 64 fa ff
	ff 00 00 00 00	 mov	 DWORD PTR tv426[ebp], OFFSET ??_C@_17KOJOHOEP@?$AAR?$AAG?$AAB?$AA?$AA@
$LN75@CTestPatte@2:
  007a7	8b 85 3c fb ff
	ff		 mov	 eax, DWORD PTR _i_val$[ebp+24]
  007ad	50		 push	 eax
  007ae	8b 8d 38 fb ff
	ff		 mov	 ecx, DWORD PTR _i_val$[ebp+20]
  007b4	51		 push	 ecx
  007b5	8b 95 34 fb ff
	ff		 mov	 edx, DWORD PTR _i_val$[ebp+16]
  007bb	52		 push	 edx
  007bc	8b 85 30 fb ff
	ff		 mov	 eax, DWORD PTR _i_val$[ebp+12]
  007c2	50		 push	 eax
  007c3	8b 8d 2c fb ff
	ff		 mov	 ecx, DWORD PTR _i_val$[ebp+8]
  007c9	51		 push	 ecx
  007ca	8b 95 28 fb ff
	ff		 mov	 edx, DWORD PTR _i_val$[ebp+4]
  007d0	52		 push	 edx
  007d1	8b 85 24 fb ff
	ff		 mov	 eax, DWORD PTR _i_val$[ebp]
  007d7	50		 push	 eax
  007d8	8b 8d 64 fa ff
	ff		 mov	 ecx, DWORD PTR tv426[ebp]
  007de	51		 push	 ecx
  007df	8b 95 40 fb ff
	ff		 mov	 edx, DWORD PTR _i_val$[ebp+28]
  007e5	52		 push	 edx
  007e6	8d 85 64 ff ff
	ff		 lea	 eax, DWORD PTR _s_val2$[ebp]
  007ec	50		 push	 eax
  007ed	68 00 00 00 00	 push	 OFFSET ??_C@_1EK@EMELFLLO@?$AAR?$AAE?$AAC?$AAT?$AA?5?$AA?$CF?$AAs?$AA?5?$AA?$CI?$AA?$CF?$AAd?$AA?$CJ?$AA?5?$AA?$CF?$AAs?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF@
  007f2	6a 05		 push	 5
  007f4	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  007f9	83 c4 30	 add	 esp, 48			; 00000030H

; 935  :                 color_bar = new CColorBar(i_val[0], i_val[1], i_val[2], i_val[3], TypeDraw, i_val[7], i_val[8], YUV, i_val[4], i_val[5], i_val[6], i_val[4], i_val[5], i_val[6]);

  007fc	6a 54		 push	 84			; 00000054H
  007fe	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  00803	83 c4 04	 add	 esp, 4
  00806	89 85 7c fa ff
	ff		 mov	 DWORD PTR $T346194[ebp], eax
  0080c	c6 45 fc 04	 mov	 BYTE PTR __$EHRec$[ebp+8], 4
  00810	83 bd 7c fa ff
	ff 00		 cmp	 DWORD PTR $T346194[ebp], 0
  00817	74 7f		 je	 SHORT $LN76@CTestPatte@2
  00819	0f b6 8d 3c fb
	ff ff		 movzx	 ecx, BYTE PTR _i_val$[ebp+24]
  00820	51		 push	 ecx
  00821	0f b6 95 38 fb
	ff ff		 movzx	 edx, BYTE PTR _i_val$[ebp+20]
  00828	52		 push	 edx
  00829	0f b6 85 34 fb
	ff ff		 movzx	 eax, BYTE PTR _i_val$[ebp+16]
  00830	50		 push	 eax
  00831	0f b6 8d 3c fb
	ff ff		 movzx	 ecx, BYTE PTR _i_val$[ebp+24]
  00838	51		 push	 ecx
  00839	0f b6 95 38 fb
	ff ff		 movzx	 edx, BYTE PTR _i_val$[ebp+20]
  00840	52		 push	 edx
  00841	0f b6 85 34 fb
	ff ff		 movzx	 eax, BYTE PTR _i_val$[ebp+16]
  00848	50		 push	 eax
  00849	8b 8d 90 fa ff
	ff		 mov	 ecx, DWORD PTR _YUV$[ebp]
  0084f	51		 push	 ecx
  00850	8b 95 44 fb ff
	ff		 mov	 edx, DWORD PTR _i_val$[ebp+32]
  00856	52		 push	 edx
  00857	8b 85 40 fb ff
	ff		 mov	 eax, DWORD PTR _i_val$[ebp+28]
  0085d	50		 push	 eax
  0085e	8b 8d 14 fb ff
	ff		 mov	 ecx, DWORD PTR _TypeDraw$[ebp]
  00864	51		 push	 ecx
  00865	0f b7 95 30 fb
	ff ff		 movzx	 edx, WORD PTR _i_val$[ebp+12]
  0086c	52		 push	 edx
  0086d	0f b7 85 2c fb
	ff ff		 movzx	 eax, WORD PTR _i_val$[ebp+8]
  00874	50		 push	 eax
  00875	0f b7 8d 28 fb
	ff ff		 movzx	 ecx, WORD PTR _i_val$[ebp+4]
  0087c	51		 push	 ecx
  0087d	0f b7 95 24 fb
	ff ff		 movzx	 edx, WORD PTR _i_val$[ebp]
  00884	52		 push	 edx
  00885	8b 8d 7c fa ff
	ff		 mov	 ecx, DWORD PTR $T346194[ebp]
  0088b	e8 00 00 00 00	 call	 ??0CColorBar@@QAE@GGGGW4eTypeDraw@@HHHEEEEEE@Z ; CColorBar::CColorBar
  00890	89 85 60 fa ff
	ff		 mov	 DWORD PTR tv465[ebp], eax
  00896	eb 0a		 jmp	 SHORT $LN77@CTestPatte@2
$LN76@CTestPatte@2:
  00898	c7 85 60 fa ff
	ff 00 00 00 00	 mov	 DWORD PTR tv465[ebp], 0
$LN77@CTestPatte@2:
  008a2	8b 85 60 fa ff
	ff		 mov	 eax, DWORD PTR tv465[ebp]
  008a8	89 85 80 fa ff
	ff		 mov	 DWORD PTR $T346193[ebp], eax
  008ae	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  008b2	8b 8d 80 fa ff
	ff		 mov	 ecx, DWORD PTR $T346193[ebp]
  008b8	89 8d 18 fb ff
	ff		 mov	 DWORD PTR _color_bar$[ebp], ecx

; 936  :                 m_ColorBars.push_back(color_bar);

  008be	8d 95 18 fb ff
	ff		 lea	 edx, DWORD PTR _color_bar$[ebp]
  008c4	52		 push	 edx
  008c5	8b 8d 70 fa ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  008cb	e8 00 00 00 00	 call	 ?push_back@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAEXABQAVCColorBar@@@Z ; std::vector<CColorBar *,std::allocator<CColorBar *> >::push_back
  008d0	e9 d0 02 00 00	 jmp	 $LN63@CTestPatte@2
$LN36@CTestPatte@2:

; 937  :             }
; 938  :             else if ((n = _stscanf(Buffer, _T("GRP %s %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d"), s_val, &i_val[0], &i_val[1], &i_val[2], &i_val[3], &i_val[4], &i_val[5], &i_val[6], &i_val[7], &i_val[8], &i_val[9], &i_val[10], &i_val[11], &i_val[12], &i_val[13], &i_val[14], &i_val[15])) >= 2)

  008d5	8d 85 60 fb ff
	ff		 lea	 eax, DWORD PTR _i_val$[ebp+60]
  008db	50		 push	 eax
  008dc	8d 8d 5c fb ff
	ff		 lea	 ecx, DWORD PTR _i_val$[ebp+56]
  008e2	51		 push	 ecx
  008e3	8d 95 58 fb ff
	ff		 lea	 edx, DWORD PTR _i_val$[ebp+52]
  008e9	52		 push	 edx
  008ea	8d 85 54 fb ff
	ff		 lea	 eax, DWORD PTR _i_val$[ebp+48]
  008f0	50		 push	 eax
  008f1	8d 8d 50 fb ff
	ff		 lea	 ecx, DWORD PTR _i_val$[ebp+44]
  008f7	51		 push	 ecx
  008f8	8d 95 4c fb ff
	ff		 lea	 edx, DWORD PTR _i_val$[ebp+40]
  008fe	52		 push	 edx
  008ff	8d 85 48 fb ff
	ff		 lea	 eax, DWORD PTR _i_val$[ebp+36]
  00905	50		 push	 eax
  00906	8d 8d 44 fb ff
	ff		 lea	 ecx, DWORD PTR _i_val$[ebp+32]
  0090c	51		 push	 ecx
  0090d	8d 95 40 fb ff
	ff		 lea	 edx, DWORD PTR _i_val$[ebp+28]
  00913	52		 push	 edx
  00914	8d 85 3c fb ff
	ff		 lea	 eax, DWORD PTR _i_val$[ebp+24]
  0091a	50		 push	 eax
  0091b	8d 8d 38 fb ff
	ff		 lea	 ecx, DWORD PTR _i_val$[ebp+20]
  00921	51		 push	 ecx
  00922	8d 95 34 fb ff
	ff		 lea	 edx, DWORD PTR _i_val$[ebp+16]
  00928	52		 push	 edx
  00929	8d 85 30 fb ff
	ff		 lea	 eax, DWORD PTR _i_val$[ebp+12]
  0092f	50		 push	 eax
  00930	8d 8d 2c fb ff
	ff		 lea	 ecx, DWORD PTR _i_val$[ebp+8]
  00936	51		 push	 ecx
  00937	8d 95 28 fb ff
	ff		 lea	 edx, DWORD PTR _i_val$[ebp+4]
  0093d	52		 push	 edx
  0093e	8d 85 24 fb ff
	ff		 lea	 eax, DWORD PTR _i_val$[ebp]
  00944	50		 push	 eax
  00945	8d 8d 94 fa ff
	ff		 lea	 ecx, DWORD PTR _s_val$[ebp]
  0094b	51		 push	 ecx
  0094c	68 00 00 00 00	 push	 OFFSET ??_C@_1GO@KBFLKBHO@?$AAG?$AAR?$AAP?$AA?5?$AA?$CF?$AAs?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF@
  00951	8b 95 1c fb ff
	ff		 mov	 edx, DWORD PTR _Buffer$[ebp]
  00957	52		 push	 edx
  00958	e8 00 00 00 00	 call	 _swscanf
  0095d	83 c4 4c	 add	 esp, 76			; 0000004cH
  00960	89 45 f0	 mov	 DWORD PTR _n$[ebp], eax
  00963	83 7d f0 02	 cmp	 DWORD PTR _n$[ebp], 2
  00967	0f 8c 38 02 00
	00		 jl	 $LN63@CTestPatte@2

; 939  :             {
; 940  :                 LOG(5,_T("GRP %s"), s_val);

  0096d	8d 85 94 fa ff
	ff		 lea	 eax, DWORD PTR _s_val$[ebp]
  00973	50		 push	 eax
  00974	68 00 00 00 00	 push	 OFFSET ??_C@_1O@LEPJGAHD@?$AAG?$AAR?$AAP?$AA?5?$AA?$CF?$AAs?$AA?$AA@
  00979	6a 05		 push	 5
  0097b	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00980	83 c4 0c	 add	 esp, 12			; 0000000cH

; 941  :                 if (!_tcscmp(s_val, _T("BRIGHTNESS_CONTRAST")))

  00983	68 00 00 00 00	 push	 OFFSET ??_C@_1CI@MFDFDOCK@?$AAB?$AAR?$AAI?$AAG?$AAH?$AAT?$AAN?$AAE?$AAS?$AAS?$AA_?$AAC?$AAO?$AAN?$AAT?$AAR?$AAA?$AAS?$AAT?$AA?$AA@
  00988	8d 8d 94 fa ff
	ff		 lea	 ecx, DWORD PTR _s_val$[ebp]
  0098e	51		 push	 ecx
  0098f	e8 00 00 00 00	 call	 _wcscmp
  00994	83 c4 08	 add	 esp, 8
  00997	85 c0		 test	 eax, eax
  00999	75 0f		 jne	 SHORT $LN19@CTestPatte@2

; 942  :                 {
; 943  :                     TypeAdjust = ADJ_BRIGHTNESS_CONTRAST;

  0099b	c7 85 20 fb ff
	ff 03 00 00 00	 mov	 DWORD PTR _TypeAdjust$[ebp], 3
  009a5	e9 e8 00 00 00	 jmp	 $LN18@CTestPatte@2
$LN19@CTestPatte@2:

; 944  :                 }
; 945  :                 else if (!_tcscmp(s_val, _T("BRIGHTNESS")))

  009aa	68 00 00 00 00	 push	 OFFSET ??_C@_1BG@MCAABGNO@?$AAB?$AAR?$AAI?$AAG?$AAH?$AAT?$AAN?$AAE?$AAS?$AAS?$AA?$AA@
  009af	8d 95 94 fa ff
	ff		 lea	 edx, DWORD PTR _s_val$[ebp]
  009b5	52		 push	 edx
  009b6	e8 00 00 00 00	 call	 _wcscmp
  009bb	83 c4 08	 add	 esp, 8
  009be	85 c0		 test	 eax, eax
  009c0	75 0f		 jne	 SHORT $LN17@CTestPatte@2

; 946  :                 {
; 947  :                     TypeAdjust = ADJ_BRIGHTNESS;

  009c2	c7 85 20 fb ff
	ff 01 00 00 00	 mov	 DWORD PTR _TypeAdjust$[ebp], 1
  009cc	e9 c1 00 00 00	 jmp	 $LN18@CTestPatte@2
$LN17@CTestPatte@2:

; 948  :                 }
; 949  :                 else if (!_tcscmp(s_val, _T("CONTRAST")))

  009d1	68 00 00 00 00	 push	 OFFSET ??_C@_1BC@ELIHLJNI@?$AAC?$AAO?$AAN?$AAT?$AAR?$AAA?$AAS?$AAT?$AA?$AA@
  009d6	8d 85 94 fa ff
	ff		 lea	 eax, DWORD PTR _s_val$[ebp]
  009dc	50		 push	 eax
  009dd	e8 00 00 00 00	 call	 _wcscmp
  009e2	83 c4 08	 add	 esp, 8
  009e5	85 c0		 test	 eax, eax
  009e7	75 0f		 jne	 SHORT $LN15@CTestPatte@2

; 950  :                 {
; 951  :                     TypeAdjust = ADJ_CONTRAST;

  009e9	c7 85 20 fb ff
	ff 02 00 00 00	 mov	 DWORD PTR _TypeAdjust$[ebp], 2
  009f3	e9 9a 00 00 00	 jmp	 $LN18@CTestPatte@2
$LN15@CTestPatte@2:

; 952  :                 }
; 953  :                 else if (!_tcscmp(s_val, _T("COLOR")))

  009f8	68 00 00 00 00	 push	 OFFSET ??_C@_1M@ENFOKIIP@?$AAC?$AAO?$AAL?$AAO?$AAR?$AA?$AA@
  009fd	8d 8d 94 fa ff
	ff		 lea	 ecx, DWORD PTR _s_val$[ebp]
  00a03	51		 push	 ecx
  00a04	e8 00 00 00 00	 call	 _wcscmp
  00a09	83 c4 08	 add	 esp, 8
  00a0c	85 c0		 test	 eax, eax
  00a0e	75 0c		 jne	 SHORT $LN13@CTestPatte@2

; 954  :                 {
; 955  :                     TypeAdjust = ADJ_COLOR;

  00a10	c7 85 20 fb ff
	ff 06 00 00 00	 mov	 DWORD PTR _TypeAdjust$[ebp], 6
  00a1a	eb 76		 jmp	 SHORT $LN18@CTestPatte@2
$LN13@CTestPatte@2:

; 956  :                 }
; 957  :                 else if (!_tcscmp(s_val, _T("SATURATION_U")))

  00a1c	68 00 00 00 00	 push	 OFFSET ??_C@_1BK@HKLFAOGB@?$AAS?$AAA?$AAT?$AAU?$AAR?$AAA?$AAT?$AAI?$AAO?$AAN?$AA_?$AAU?$AA?$AA@
  00a21	8d 95 94 fa ff
	ff		 lea	 edx, DWORD PTR _s_val$[ebp]
  00a27	52		 push	 edx
  00a28	e8 00 00 00 00	 call	 _wcscmp
  00a2d	83 c4 08	 add	 esp, 8
  00a30	85 c0		 test	 eax, eax
  00a32	75 0c		 jne	 SHORT $LN11@CTestPatte@2

; 958  :                 {
; 959  :                     TypeAdjust = ADJ_SATURATION_U;

  00a34	c7 85 20 fb ff
	ff 04 00 00 00	 mov	 DWORD PTR _TypeAdjust$[ebp], 4
  00a3e	eb 52		 jmp	 SHORT $LN18@CTestPatte@2
$LN11@CTestPatte@2:

; 960  :                 }
; 961  :                 else if (!_tcscmp(s_val, _T("SATURATION_V")))

  00a40	68 00 00 00 00	 push	 OFFSET ??_C@_1BK@GIAAKBIP@?$AAS?$AAA?$AAT?$AAU?$AAR?$AAA?$AAT?$AAI?$AAO?$AAN?$AA_?$AAV?$AA?$AA@
  00a45	8d 85 94 fa ff
	ff		 lea	 eax, DWORD PTR _s_val$[ebp]
  00a4b	50		 push	 eax
  00a4c	e8 00 00 00 00	 call	 _wcscmp
  00a51	83 c4 08	 add	 esp, 8
  00a54	85 c0		 test	 eax, eax
  00a56	75 0c		 jne	 SHORT $LN9@CTestPatte@2

; 962  :                 {
; 963  :                     TypeAdjust = ADJ_SATURATION_V;

  00a58	c7 85 20 fb ff
	ff 05 00 00 00	 mov	 DWORD PTR _TypeAdjust$[ebp], 5
  00a62	eb 2e		 jmp	 SHORT $LN18@CTestPatte@2
$LN9@CTestPatte@2:

; 964  :                 }
; 965  :                 else if (!_tcscmp(s_val, _T("HUE")))

  00a64	68 00 00 00 00	 push	 OFFSET ??_C@_17JACMMIIF@?$AAH?$AAU?$AAE?$AA?$AA@
  00a69	8d 8d 94 fa ff
	ff		 lea	 ecx, DWORD PTR _s_val$[ebp]
  00a6f	51		 push	 ecx
  00a70	e8 00 00 00 00	 call	 _wcscmp
  00a75	83 c4 08	 add	 esp, 8
  00a78	85 c0		 test	 eax, eax
  00a7a	75 0c		 jne	 SHORT $LN7@CTestPatte@2

; 966  :                 {
; 967  :                     TypeAdjust = ADJ_HUE;

  00a7c	c7 85 20 fb ff
	ff 07 00 00 00	 mov	 DWORD PTR _TypeAdjust$[ebp], 7

; 968  :                 }
; 969  :                 else

  00a86	eb 0a		 jmp	 SHORT $LN18@CTestPatte@2
$LN7@CTestPatte@2:

; 970  :                 {
; 971  :                     TypeAdjust = ADJ_MANUAL   ;

  00a88	c7 85 20 fb ff
	ff 00 00 00 00	 mov	 DWORD PTR _TypeAdjust$[ebp], 0
$LN18@CTestPatte@2:

; 972  :                 }
; 973  :                 if (TypeAdjust != ADJ_MANUAL)

  00a92	83 bd 20 fb ff
	ff 00		 cmp	 DWORD PTR _TypeAdjust$[ebp], 0
  00a99	0f 84 06 01 00
	00		 je	 $LN63@CTestPatte@2

; 974  :                 {
; 975  :                     sub_pattern = new CSubPattern(TypeAdjust);

  00a9f	6a 1c		 push	 28			; 0000001cH
  00aa1	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  00aa6	83 c4 04	 add	 esp, 4
  00aa9	89 85 74 fa ff
	ff		 mov	 DWORD PTR $T346198[ebp], eax
  00aaf	c6 45 fc 05	 mov	 BYTE PTR __$EHRec$[ebp+8], 5
  00ab3	83 bd 74 fa ff
	ff 00		 cmp	 DWORD PTR $T346198[ebp], 0
  00aba	74 1a		 je	 SHORT $LN78@CTestPatte@2
  00abc	8b 95 20 fb ff
	ff		 mov	 edx, DWORD PTR _TypeAdjust$[ebp]
  00ac2	52		 push	 edx
  00ac3	8b 8d 74 fa ff
	ff		 mov	 ecx, DWORD PTR $T346198[ebp]
  00ac9	e8 00 00 00 00	 call	 ??0CSubPattern@@QAE@W4eTypeAdjust@@@Z ; CSubPattern::CSubPattern
  00ace	89 85 5c fa ff
	ff		 mov	 DWORD PTR tv543[ebp], eax
  00ad4	eb 0a		 jmp	 SHORT $LN79@CTestPatte@2
$LN78@CTestPatte@2:
  00ad6	c7 85 5c fa ff
	ff 00 00 00 00	 mov	 DWORD PTR tv543[ebp], 0
$LN79@CTestPatte@2:
  00ae0	8b 85 5c fa ff
	ff		 mov	 eax, DWORD PTR tv543[ebp]
  00ae6	89 85 78 fa ff
	ff		 mov	 DWORD PTR $T346197[ebp], eax
  00aec	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  00af0	8b 8d 78 fa ff
	ff		 mov	 ecx, DWORD PTR $T346197[ebp]
  00af6	89 4d ec	 mov	 DWORD PTR _sub_pattern$[ebp], ecx

; 976  :                     m_SubPatterns.push_back(sub_pattern);

  00af9	8d 55 ec	 lea	 edx, DWORD PTR _sub_pattern$[ebp]
  00afc	52		 push	 edx
  00afd	8b 8d 70 fa ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00b03	83 c1 18	 add	 ecx, 24			; 00000018H
  00b06	e8 00 00 00 00	 call	 ?push_back@?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAEXABQAVCSubPattern@@@Z ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::push_back

; 977  :                     for (int i(0) ; i < (n-1) ; i++)

  00b0b	c7 85 8c fa ff
	ff 00 00 00 00	 mov	 DWORD PTR _i$144017[ebp], 0
  00b15	eb 0f		 jmp	 SHORT $LN4@CTestPatte@2
$LN3@CTestPatte@2:
  00b17	8b 85 8c fa ff
	ff		 mov	 eax, DWORD PTR _i$144017[ebp]
  00b1d	83 c0 01	 add	 eax, 1
  00b20	89 85 8c fa ff
	ff		 mov	 DWORD PTR _i$144017[ebp], eax
$LN4@CTestPatte@2:
  00b26	8b 4d f0	 mov	 ecx, DWORD PTR _n$[ebp]
  00b29	83 e9 01	 sub	 ecx, 1
  00b2c	39 8d 8c fa ff
	ff		 cmp	 DWORD PTR _i$144017[ebp], ecx
  00b32	7d 71		 jge	 SHORT $LN63@CTestPatte@2

; 978  :                     {
; 979  :                         if (i_val[i] > 0 && i_val[i] <= m_ColorBars.size())

  00b34	8b 95 8c fa ff
	ff		 mov	 edx, DWORD PTR _i$144017[ebp]
  00b3a	83 bc 95 24 fb
	ff ff 00	 cmp	 DWORD PTR _i_val$[ebp+edx*4], 0
  00b42	7e 5c		 jle	 SHORT $LN1@CTestPatte@2
  00b44	8b 8d 70 fa ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00b4a	e8 00 00 00 00	 call	 ?size@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEIXZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::size
  00b4f	8b 8d 8c fa ff
	ff		 mov	 ecx, DWORD PTR _i$144017[ebp]
  00b55	39 84 8d 24 fb
	ff ff		 cmp	 DWORD PTR _i_val$[ebp+ecx*4], eax
  00b5c	77 42		 ja	 SHORT $LN1@CTestPatte@2

; 980  :                         {
; 981  :                             LOG(5,_T("GRP %d"), i_val[i]);

  00b5e	8b 95 8c fa ff
	ff		 mov	 edx, DWORD PTR _i$144017[ebp]
  00b64	8b 84 95 24 fb
	ff ff		 mov	 eax, DWORD PTR _i_val$[ebp+edx*4]
  00b6b	50		 push	 eax
  00b6c	68 00 00 00 00	 push	 OFFSET ??_C@_1O@HJDHAPFF@?$AAG?$AAR?$AAP?$AA?5?$AA?$CF?$AAd?$AA?$AA@
  00b71	6a 05		 push	 5
  00b73	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00b78	83 c4 0c	 add	 esp, 12			; 0000000cH

; 982  :                             sub_pattern->m_ColorBars.push_back(m_ColorBars[i_val[i]-1]);

  00b7b	8b 8d 8c fa ff
	ff		 mov	 ecx, DWORD PTR _i$144017[ebp]
  00b81	8b 94 8d 24 fb
	ff ff		 mov	 edx, DWORD PTR _i_val$[ebp+ecx*4]
  00b88	83 ea 01	 sub	 edx, 1
  00b8b	52		 push	 edx
  00b8c	8b 8d 70 fa ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00b92	e8 00 00 00 00	 call	 ??A?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAEAAPAVCColorBar@@I@Z ; std::vector<CColorBar *,std::allocator<CColorBar *> >::operator[]
  00b97	50		 push	 eax
  00b98	8b 4d ec	 mov	 ecx, DWORD PTR _sub_pattern$[ebp]
  00b9b	e8 00 00 00 00	 call	 ?push_back@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAEXABQAVCColorBar@@@Z ; std::vector<CColorBar *,std::allocator<CColorBar *> >::push_back
$LN1@CTestPatte@2:

; 983  :                         }
; 984  :                     }

  00ba0	e9 72 ff ff ff	 jmp	 $LN3@CTestPatte@2
$LN63@CTestPatte@2:

; 985  :                 }
; 986  :             }
; 987  :         }
; 988  :     }

  00ba5	e9 5a f5 ff ff	 jmp	 $LN65@CTestPatte@2
$LN64@CTestPatte@2:

; 989  : 
; 990  :     fclose(FilePat);

  00baa	8b 45 e8	 mov	 eax, DWORD PTR _FilePat$[ebp]
  00bad	50		 push	 eax
  00bae	e8 00 00 00 00	 call	 _fclose
  00bb3	83 c4 04	 add	 esp, 4

; 991  : 
; 992  :     CreateGlobalSubPattern();

  00bb6	8b 8d 70 fa ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00bbc	e8 00 00 00 00	 call	 ?CreateGlobalSubPattern@CTestPattern@@QAEXXZ ; CTestPattern::CreateGlobalSubPattern

; 993  : 
; 994  :     Log();

  00bc1	8b 8d 70 fa ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00bc7	e8 00 00 00 00	 call	 ?Log@CTestPattern@@AAEXXZ ; CTestPattern::Log
$LN68@CTestPatte@2:

; 995  : }

  00bcc	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00bd3	8b 85 70 fa ff
	ff		 mov	 eax, DWORD PTR _this$[ebp]
  00bd9	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00bdc	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00be3	59		 pop	 ecx
  00be4	8b 4d e4	 mov	 ecx, DWORD PTR __$ArrayPad$[ebp]
  00be7	33 cd		 xor	 ecx, ebp
  00be9	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00bee	8b e5		 mov	 esp, ebp
  00bf0	5d		 pop	 ebp
  00bf1	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z$0:
  00000	8b 8d 70 fa ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00006	e9 00 00 00 00	 jmp	 ??1?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@XZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::~vector<CColorBar *,std::allocator<CColorBar *> >
__unwindfunclet$??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z$1:
  0000b	8b 8d 70 fa ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00011	83 c1 18	 add	 ecx, 24			; 00000018H
  00014	e9 00 00 00 00	 jmp	 ??1?$vector@PAVCSubPattern@@V?$allocator@PAVCSubPattern@@@std@@@std@@QAE@XZ ; std::vector<CSubPattern *,std::allocator<CSubPattern *> >::~vector<CSubPattern *,std::allocator<CSubPattern *> >
__unwindfunclet$??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z$2:
  00019	8b 8d 70 fa ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  0001f	83 c1 30	 add	 ecx, 48			; 00000030H
  00022	e9 00 00 00 00	 jmp	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
__unwindfunclet$??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z$3:
  00027	8b 85 84 fa ff
	ff		 mov	 eax, DWORD PTR $T346188[ebp]
  0002d	50		 push	 eax
  0002e	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00033	59		 pop	 ecx
  00034	c3		 ret	 0
__unwindfunclet$??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z$4:
  00035	8b 85 7c fa ff
	ff		 mov	 eax, DWORD PTR $T346194[ebp]
  0003b	50		 push	 eax
  0003c	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00041	59		 pop	 ecx
  00042	c3		 ret	 0
__unwindfunclet$??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z$5:
  00043	8b 85 74 fa ff
	ff		 mov	 eax, DWORD PTR $T346198[ebp]
  00049	50		 push	 eax
  0004a	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  0004f	59		 pop	 ecx
  00050	c3		 ret	 0
__ehhandler$??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z:
  00051	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00055	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00058	8b 8a 64 fa ff
	ff		 mov	 ecx, DWORD PTR [edx-1436]
  0005e	33 c8		 xor	 ecx, eax
  00060	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00065	8b 4a f0	 mov	 ecx, DWORD PTR [edx-16]
  00068	33 c8		 xor	 ecx, eax
  0006a	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0006f	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z
  00074	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z ENDP ; CTestPattern::CTestPattern
PUBLIC	?CalcAvgColor@CColorBar@@QAEHHIPAUTDeinterlaceInfo@@@Z ; CColorBar::CalcAvgColor
; Function compile flags: /Odtp
;	COMDAT ?CalcAvgColor@CColorBar@@QAEHHIPAUTDeinterlaceInfo@@@Z
_TEXT	SEGMENT
_this$ = -88						; size = 4
_j$ = -84						; size = 4
_max$ = -80						; size = 3
_total_crop$ = -76					; size = 4
_top$ = -72						; size = 4
_k$ = -68						; size = 4
_right$ = -64						; size = 4
_buf$ = -60						; size = 4
_width$ = -56						; size = 4
_height$ = -52						; size = 4
_left$ = -48						; size = 4
_pComponentVal$ = -44					; size = 12
_overscan$ = -32					; size = 4
_min$ = -28						; size = 3
_i$ = -24						; size = 4
_nb_val$ = -20						; size = 12
_bottom$ = -8						; size = 4
_left_crop$ = -4					; size = 4
_reinit$ = 8						; size = 4
_nb_calc_needed$ = 12					; size = 4
_pInfo$ = 16						; size = 4
?CalcAvgColor@CColorBar@@QAEHHIPAUTDeinterlaceInfo@@@Z PROC ; CColorBar::CalcAvgColor, COMDAT
; _this$ = ecx

; 277  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 58	 sub	 esp, 88			; 00000058H
  00006	56		 push	 esi
  00007	89 4d a8	 mov	 DWORD PTR _this$[ebp], ecx

; 278  :     int left, right, top, bottom, i, j, k;
; 279  :     BYTE* pComponentVal[3];
; 280  :     unsigned int nb_val[3];
; 281  :     unsigned char min[3];
; 282  :     unsigned char max[3];
; 283  :     BYTE* buf;
; 284  :     int overscan;
; 285  :     int left_crop, total_crop;
; 286  :     int width = pInfo->FrameWidth;

  0000a	8b 45 10	 mov	 eax, DWORD PTR _pInfo$[ebp]
  0000d	8b 48 4c	 mov	 ecx, DWORD PTR [eax+76]
  00010	89 4d c8	 mov	 DWORD PTR _width$[ebp], ecx

; 287  :     int height = pInfo->FieldHeight;

  00013	8b 55 10	 mov	 edx, DWORD PTR _pInfo$[ebp]
  00016	8b 42 54	 mov	 eax, DWORD PTR [edx+84]
  00019	89 45 cc	 mov	 DWORD PTR _height$[ebp], eax

; 288  : 
; 289  :     // Calculate the exact coordinates of rectangular zone in the buffer
; 290  : //    overscan = SourceOverscan * width / (height * 2);
; 291  :     overscan = 0;

  0001c	c7 45 e0 00 00
	00 00		 mov	 DWORD PTR _overscan$[ebp], 0

; 292  :     left_crop = ((LeftCropping * width) + 500) / 1000;

  00023	a1 00 00 00 00	 mov	 eax, DWORD PTR ?LeftCropping@@3JA ; LeftCropping
  00028	0f af 45 c8	 imul	 eax, DWORD PTR _width$[ebp]
  0002c	05 f4 01 00 00	 add	 eax, 500		; 000001f4H
  00031	99		 cdq
  00032	b9 e8 03 00 00	 mov	 ecx, 1000		; 000003e8H
  00037	f7 f9		 idiv	 ecx
  00039	89 45 fc	 mov	 DWORD PTR _left_crop$[ebp], eax

; 293  :     total_crop = (((LeftCropping + RightCropping) * width) + 500) / 1000;

  0003c	a1 00 00 00 00	 mov	 eax, DWORD PTR ?LeftCropping@@3JA ; LeftCropping
  00041	03 05 00 00 00
	00		 add	 eax, DWORD PTR ?RightCropping@@3JA ; RightCropping
  00047	0f af 45 c8	 imul	 eax, DWORD PTR _width$[ebp]
  0004b	05 f4 01 00 00	 add	 eax, 500		; 000001f4H
  00050	99		 cdq
  00051	b9 e8 03 00 00	 mov	 ecx, 1000		; 000003e8H
  00056	f7 f9		 idiv	 ecx
  00058	89 45 b4	 mov	 DWORD PTR _total_crop$[ebp], eax

; 294  :     left = (width + total_crop - 2 * overscan) * m_LeftBorder / 10000 - left_crop + overscan;

  0005b	8b 45 c8	 mov	 eax, DWORD PTR _width$[ebp]
  0005e	03 45 b4	 add	 eax, DWORD PTR _total_crop$[ebp]
  00061	8b 55 e0	 mov	 edx, DWORD PTR _overscan$[ebp]
  00064	d1 e2		 shl	 edx, 1
  00066	2b c2		 sub	 eax, edx
  00068	8b 4d a8	 mov	 ecx, DWORD PTR _this$[ebp]
  0006b	0f b7 11	 movzx	 edx, WORD PTR [ecx]
  0006e	0f af c2	 imul	 eax, edx
  00071	99		 cdq
  00072	b9 10 27 00 00	 mov	 ecx, 10000		; 00002710H
  00077	f7 f9		 idiv	 ecx
  00079	2b 45 fc	 sub	 eax, DWORD PTR _left_crop$[ebp]
  0007c	03 45 e0	 add	 eax, DWORD PTR _overscan$[ebp]
  0007f	89 45 d0	 mov	 DWORD PTR _left$[ebp], eax

; 295  :     if (left < 0)

  00082	79 09		 jns	 SHORT $LN37@CalcAvgCol

; 296  :     {
; 297  :         left = 0;

  00084	c7 45 d0 00 00
	00 00		 mov	 DWORD PTR _left$[ebp], 0
  0008b	eb 11		 jmp	 SHORT $LN36@CalcAvgCol
$LN37@CalcAvgCol:

; 298  :     }
; 299  :     else if (left >= width)

  0008d	8b 55 d0	 mov	 edx, DWORD PTR _left$[ebp]
  00090	3b 55 c8	 cmp	 edx, DWORD PTR _width$[ebp]
  00093	7c 09		 jl	 SHORT $LN36@CalcAvgCol

; 300  :     {
; 301  :         left = width - 1;

  00095	8b 45 c8	 mov	 eax, DWORD PTR _width$[ebp]
  00098	83 e8 01	 sub	 eax, 1
  0009b	89 45 d0	 mov	 DWORD PTR _left$[ebp], eax
$LN36@CalcAvgCol:

; 302  :     }
; 303  :     right = (width + total_crop - 2 * overscan) * m_RightBorder / 10000 - left_crop + overscan;

  0009e	8b 45 c8	 mov	 eax, DWORD PTR _width$[ebp]
  000a1	03 45 b4	 add	 eax, DWORD PTR _total_crop$[ebp]
  000a4	8b 4d e0	 mov	 ecx, DWORD PTR _overscan$[ebp]
  000a7	d1 e1		 shl	 ecx, 1
  000a9	2b c1		 sub	 eax, ecx
  000ab	8b 55 a8	 mov	 edx, DWORD PTR _this$[ebp]
  000ae	0f b7 4a 02	 movzx	 ecx, WORD PTR [edx+2]
  000b2	0f af c1	 imul	 eax, ecx
  000b5	99		 cdq
  000b6	b9 10 27 00 00	 mov	 ecx, 10000		; 00002710H
  000bb	f7 f9		 idiv	 ecx
  000bd	2b 45 fc	 sub	 eax, DWORD PTR _left_crop$[ebp]
  000c0	03 45 e0	 add	 eax, DWORD PTR _overscan$[ebp]
  000c3	89 45 c0	 mov	 DWORD PTR _right$[ebp], eax

; 304  :     if (right < 0)

  000c6	79 09		 jns	 SHORT $LN34@CalcAvgCol

; 305  :     {
; 306  :         right = 0;

  000c8	c7 45 c0 00 00
	00 00		 mov	 DWORD PTR _right$[ebp], 0
  000cf	eb 11		 jmp	 SHORT $LN33@CalcAvgCol
$LN34@CalcAvgCol:

; 307  :     }
; 308  :     else if (right >= width)

  000d1	8b 55 c0	 mov	 edx, DWORD PTR _right$[ebp]
  000d4	3b 55 c8	 cmp	 edx, DWORD PTR _width$[ebp]
  000d7	7c 09		 jl	 SHORT $LN33@CalcAvgCol

; 309  :     {
; 310  :         right = width - 1;

  000d9	8b 45 c8	 mov	 eax, DWORD PTR _width$[ebp]
  000dc	83 e8 01	 sub	 eax, 1
  000df	89 45 c0	 mov	 DWORD PTR _right$[ebp], eax
$LN33@CalcAvgCol:

; 311  :     }
; 312  : //    overscan = SourceOverscan;
; 313  :     overscan = 0;

  000e2	c7 45 e0 00 00
	00 00		 mov	 DWORD PTR _overscan$[ebp], 0

; 314  :     top = (height - overscan) * m_TopBorder / 10000 + overscan / 2;

  000e9	8b 45 cc	 mov	 eax, DWORD PTR _height$[ebp]
  000ec	2b 45 e0	 sub	 eax, DWORD PTR _overscan$[ebp]
  000ef	8b 4d a8	 mov	 ecx, DWORD PTR _this$[ebp]
  000f2	0f b7 51 04	 movzx	 edx, WORD PTR [ecx+4]
  000f6	0f af c2	 imul	 eax, edx
  000f9	99		 cdq
  000fa	b9 10 27 00 00	 mov	 ecx, 10000		; 00002710H
  000ff	f7 f9		 idiv	 ecx
  00101	8b c8		 mov	 ecx, eax
  00103	8b 45 e0	 mov	 eax, DWORD PTR _overscan$[ebp]
  00106	99		 cdq
  00107	2b c2		 sub	 eax, edx
  00109	d1 f8		 sar	 eax, 1
  0010b	03 c8		 add	 ecx, eax
  0010d	89 4d b8	 mov	 DWORD PTR _top$[ebp], ecx

; 315  :     if (top < 0)

  00110	79 09		 jns	 SHORT $LN31@CalcAvgCol

; 316  :     {
; 317  :         top = 0;

  00112	c7 45 b8 00 00
	00 00		 mov	 DWORD PTR _top$[ebp], 0
  00119	eb 11		 jmp	 SHORT $LN30@CalcAvgCol
$LN31@CalcAvgCol:

; 318  :     }
; 319  :     else if (top >= height)

  0011b	8b 55 b8	 mov	 edx, DWORD PTR _top$[ebp]
  0011e	3b 55 cc	 cmp	 edx, DWORD PTR _height$[ebp]
  00121	7c 09		 jl	 SHORT $LN30@CalcAvgCol

; 320  :     {
; 321  :         top = height - 1;

  00123	8b 45 cc	 mov	 eax, DWORD PTR _height$[ebp]
  00126	83 e8 01	 sub	 eax, 1
  00129	89 45 b8	 mov	 DWORD PTR _top$[ebp], eax
$LN30@CalcAvgCol:

; 322  :     }
; 323  :     bottom = (height - overscan) * m_BottomBorder / 10000 + overscan / 2;

  0012c	8b 45 cc	 mov	 eax, DWORD PTR _height$[ebp]
  0012f	2b 45 e0	 sub	 eax, DWORD PTR _overscan$[ebp]
  00132	8b 4d a8	 mov	 ecx, DWORD PTR _this$[ebp]
  00135	0f b7 51 06	 movzx	 edx, WORD PTR [ecx+6]
  00139	0f af c2	 imul	 eax, edx
  0013c	99		 cdq
  0013d	b9 10 27 00 00	 mov	 ecx, 10000		; 00002710H
  00142	f7 f9		 idiv	 ecx
  00144	8b c8		 mov	 ecx, eax
  00146	8b 45 e0	 mov	 eax, DWORD PTR _overscan$[ebp]
  00149	99		 cdq
  0014a	2b c2		 sub	 eax, edx
  0014c	d1 f8		 sar	 eax, 1
  0014e	03 c8		 add	 ecx, eax
  00150	89 4d f8	 mov	 DWORD PTR _bottom$[ebp], ecx

; 324  :     if (bottom < 0)

  00153	79 09		 jns	 SHORT $LN28@CalcAvgCol

; 325  :     {
; 326  :         bottom = 0;

  00155	c7 45 f8 00 00
	00 00		 mov	 DWORD PTR _bottom$[ebp], 0
  0015c	eb 11		 jmp	 SHORT $LN27@CalcAvgCol
$LN28@CalcAvgCol:

; 327  :     }
; 328  :     else if (bottom >= height)

  0015e	8b 55 f8	 mov	 edx, DWORD PTR _bottom$[ebp]
  00161	3b 55 cc	 cmp	 edx, DWORD PTR _height$[ebp]
  00164	7c 09		 jl	 SHORT $LN27@CalcAvgCol

; 329  :     {
; 330  :         bottom = height - 1;

  00166	8b 45 cc	 mov	 eax, DWORD PTR _height$[ebp]
  00169	83 e8 01	 sub	 eax, 1
  0016c	89 45 f8	 mov	 DWORD PTR _bottom$[ebp], eax
$LN27@CalcAvgCol:

; 331  :     }
; 332  : 
; 333  :     LOG(5, _T("CalcAvgColor Zone %d %d %d %d"), left, right, top, bottom);

  0016f	8b 4d f8	 mov	 ecx, DWORD PTR _bottom$[ebp]
  00172	51		 push	 ecx
  00173	8b 55 b8	 mov	 edx, DWORD PTR _top$[ebp]
  00176	52		 push	 edx
  00177	8b 45 c0	 mov	 eax, DWORD PTR _right$[ebp]
  0017a	50		 push	 eax
  0017b	8b 4d d0	 mov	 ecx, DWORD PTR _left$[ebp]
  0017e	51		 push	 ecx
  0017f	68 00 00 00 00	 push	 OFFSET ??_C@_1DM@JJOHFOIO@?$AAC?$AAa?$AAl?$AAc?$AAA?$AAv?$AAg?$AAC?$AAo?$AAl?$AAo?$AAr?$AA?5?$AAZ?$AAo?$AAn?$AAe?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?$AA@
  00184	6a 05		 push	 5
  00186	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  0018b	83 c4 18	 add	 esp, 24			; 00000018H

; 334  : 
; 335  :     // Sum separately Y, U and V in this rectangular zone
; 336  :     // Each line is like this : YUYVYUYV...
; 337  :     if (reinit)

  0018e	83 7d 08 00	 cmp	 DWORD PTR _reinit$[ebp], 0
  00192	74 0a		 je	 SHORT $LN25@CalcAvgCol

; 338  :     {
; 339  :         cpt_nb = 0;

  00194	8b 55 a8	 mov	 edx, DWORD PTR _this$[ebp]
  00197	c7 42 40 00 00
	00 00		 mov	 DWORD PTR [edx+64], 0
$LN25@CalcAvgCol:

; 340  :     }
; 341  :     for (i = 0 ; i <= 2; i++)

  0019e	c7 45 e8 00 00
	00 00		 mov	 DWORD PTR _i$[ebp], 0
  001a5	eb 09		 jmp	 SHORT $LN24@CalcAvgCol
$LN23@CalcAvgCol:
  001a7	8b 45 e8	 mov	 eax, DWORD PTR _i$[ebp]
  001aa	83 c0 01	 add	 eax, 1
  001ad	89 45 e8	 mov	 DWORD PTR _i$[ebp], eax
$LN24@CalcAvgCol:
  001b0	83 7d e8 02	 cmp	 DWORD PTR _i$[ebp], 2
  001b4	7f 31		 jg	 SHORT $LN22@CalcAvgCol

; 342  :     {
; 343  :         if (reinit)

  001b6	83 7d 08 00	 cmp	 DWORD PTR _reinit$[ebp], 0
  001ba	74 0e		 je	 SHORT $LN21@CalcAvgCol

; 344  :         {
; 345  :             component_cpt[i] = 0;

  001bc	8b 4d e8	 mov	 ecx, DWORD PTR _i$[ebp]
  001bf	8b 55 a8	 mov	 edx, DWORD PTR _this$[ebp]
  001c2	c7 44 8a 34 00
	00 00 00	 mov	 DWORD PTR [edx+ecx*4+52], 0
$LN21@CalcAvgCol:

; 346  :         }
; 347  :         min[i] = 255;

  001ca	8b 45 e8	 mov	 eax, DWORD PTR _i$[ebp]
  001cd	c6 44 05 e4 ff	 mov	 BYTE PTR _min$[ebp+eax], 255 ; 000000ffH

; 348  :         max[i] = 0;

  001d2	8b 4d e8	 mov	 ecx, DWORD PTR _i$[ebp]
  001d5	c6 44 0d b0 00	 mov	 BYTE PTR _max$[ebp+ecx], 0

; 349  :         nb_val[i] = 0;

  001da	8b 55 e8	 mov	 edx, DWORD PTR _i$[ebp]
  001dd	c7 44 95 ec 00
	00 00 00	 mov	 DWORD PTR _nb_val$[ebp+edx*4], 0

; 350  :     }

  001e5	eb c0		 jmp	 SHORT $LN23@CalcAvgCol
$LN22@CalcAvgCol:

; 351  :     for (i = top ; i <= bottom ; i++)

  001e7	8b 45 b8	 mov	 eax, DWORD PTR _top$[ebp]
  001ea	89 45 e8	 mov	 DWORD PTR _i$[ebp], eax
  001ed	eb 09		 jmp	 SHORT $LN20@CalcAvgCol
$LN19@CalcAvgCol:
  001ef	8b 4d e8	 mov	 ecx, DWORD PTR _i$[ebp]
  001f2	83 c1 01	 add	 ecx, 1
  001f5	89 4d e8	 mov	 DWORD PTR _i$[ebp], ecx
$LN20@CalcAvgCol:
  001f8	8b 55 e8	 mov	 edx, DWORD PTR _i$[ebp]
  001fb	3b 55 f8	 cmp	 edx, DWORD PTR _bottom$[ebp]
  001fe	0f 8f 52 01 00
	00		 jg	 $LN18@CalcAvgCol

; 352  :     {
; 353  :         buf = pInfo->PictureHistory[0]->pData + (i * pInfo->InputPitch);

  00204	8b 45 10	 mov	 eax, DWORD PTR _pInfo$[ebp]
  00207	8b 48 04	 mov	 ecx, DWORD PTR [eax+4]
  0020a	8b 55 10	 mov	 edx, DWORD PTR _pInfo$[ebp]
  0020d	8b 45 e8	 mov	 eax, DWORD PTR _i$[ebp]
  00210	0f af 82 84 00
	00 00		 imul	 eax, DWORD PTR [edx+132]
  00217	03 01		 add	 eax, DWORD PTR [ecx]
  00219	89 45 c4	 mov	 DWORD PTR _buf$[ebp], eax

; 354  :         for (j = (left*2) ; j <= (right*2) ; j+=2)

  0021c	8b 4d d0	 mov	 ecx, DWORD PTR _left$[ebp]
  0021f	d1 e1		 shl	 ecx, 1
  00221	89 4d ac	 mov	 DWORD PTR _j$[ebp], ecx
  00224	eb 09		 jmp	 SHORT $LN17@CalcAvgCol
$LN16@CalcAvgCol:
  00226	8b 55 ac	 mov	 edx, DWORD PTR _j$[ebp]
  00229	83 c2 02	 add	 edx, 2
  0022c	89 55 ac	 mov	 DWORD PTR _j$[ebp], edx
$LN17@CalcAvgCol:
  0022f	8b 45 c0	 mov	 eax, DWORD PTR _right$[ebp]
  00232	d1 e0		 shl	 eax, 1
  00234	39 45 ac	 cmp	 DWORD PTR _j$[ebp], eax
  00237	0f 8f 14 01 00
	00		 jg	 $LN15@CalcAvgCol

; 355  :         {
; 356  :             // Component Y
; 357  :             k = 2;

  0023d	c7 45 bc 02 00
	00 00		 mov	 DWORD PTR _k$[ebp], 2

; 358  :             component_cpt[k] += buf[j];

  00244	8b 4d c4	 mov	 ecx, DWORD PTR _buf$[ebp]
  00247	03 4d ac	 add	 ecx, DWORD PTR _j$[ebp]
  0024a	0f b6 11	 movzx	 edx, BYTE PTR [ecx]
  0024d	8b 45 bc	 mov	 eax, DWORD PTR _k$[ebp]
  00250	8b 4d a8	 mov	 ecx, DWORD PTR _this$[ebp]
  00253	03 54 81 34	 add	 edx, DWORD PTR [ecx+eax*4+52]
  00257	8b 45 bc	 mov	 eax, DWORD PTR _k$[ebp]
  0025a	8b 4d a8	 mov	 ecx, DWORD PTR _this$[ebp]
  0025d	89 54 81 34	 mov	 DWORD PTR [ecx+eax*4+52], edx

; 359  :             (nb_val[k])++;

  00261	8b 55 bc	 mov	 edx, DWORD PTR _k$[ebp]
  00264	8b 44 95 ec	 mov	 eax, DWORD PTR _nb_val$[ebp+edx*4]
  00268	83 c0 01	 add	 eax, 1
  0026b	8b 4d bc	 mov	 ecx, DWORD PTR _k$[ebp]
  0026e	89 44 8d ec	 mov	 DWORD PTR _nb_val$[ebp+ecx*4], eax

; 360  :             if (buf[j] < min[k])

  00272	8b 55 c4	 mov	 edx, DWORD PTR _buf$[ebp]
  00275	03 55 ac	 add	 edx, DWORD PTR _j$[ebp]
  00278	0f b6 02	 movzx	 eax, BYTE PTR [edx]
  0027b	8b 4d bc	 mov	 ecx, DWORD PTR _k$[ebp]
  0027e	0f b6 54 0d e4	 movzx	 edx, BYTE PTR _min$[ebp+ecx]
  00283	3b c2		 cmp	 eax, edx
  00285	7d 0f		 jge	 SHORT $LN14@CalcAvgCol

; 361  :             {
; 362  :                 min[k] = buf[j];

  00287	8b 45 c4	 mov	 eax, DWORD PTR _buf$[ebp]
  0028a	03 45 ac	 add	 eax, DWORD PTR _j$[ebp]
  0028d	8b 4d bc	 mov	 ecx, DWORD PTR _k$[ebp]
  00290	8a 10		 mov	 dl, BYTE PTR [eax]
  00292	88 54 0d e4	 mov	 BYTE PTR _min$[ebp+ecx], dl
$LN14@CalcAvgCol:

; 363  :             }
; 364  :             if (buf[j] > max[k])

  00296	8b 45 c4	 mov	 eax, DWORD PTR _buf$[ebp]
  00299	03 45 ac	 add	 eax, DWORD PTR _j$[ebp]
  0029c	0f b6 08	 movzx	 ecx, BYTE PTR [eax]
  0029f	8b 55 bc	 mov	 edx, DWORD PTR _k$[ebp]
  002a2	0f b6 44 15 b0	 movzx	 eax, BYTE PTR _max$[ebp+edx]
  002a7	3b c8		 cmp	 ecx, eax
  002a9	7e 0f		 jle	 SHORT $LN13@CalcAvgCol

; 365  :             {
; 366  :                 max[k] = buf[j];

  002ab	8b 4d c4	 mov	 ecx, DWORD PTR _buf$[ebp]
  002ae	03 4d ac	 add	 ecx, DWORD PTR _j$[ebp]
  002b1	8b 55 bc	 mov	 edx, DWORD PTR _k$[ebp]
  002b4	8a 01		 mov	 al, BYTE PTR [ecx]
  002b6	88 44 15 b0	 mov	 BYTE PTR _max$[ebp+edx], al
$LN13@CalcAvgCol:

; 367  :             }
; 368  :             // Compnent U or V
; 369  :             k = (j/2) % 2;

  002ba	8b 45 ac	 mov	 eax, DWORD PTR _j$[ebp]
  002bd	99		 cdq
  002be	2b c2		 sub	 eax, edx
  002c0	d1 f8		 sar	 eax, 1
  002c2	25 01 00 00 80	 and	 eax, -2147483647	; 80000001H
  002c7	79 05		 jns	 SHORT $LN40@CalcAvgCol
  002c9	48		 dec	 eax
  002ca	83 c8 fe	 or	 eax, -2			; fffffffeH
  002cd	40		 inc	 eax
$LN40@CalcAvgCol:
  002ce	89 45 bc	 mov	 DWORD PTR _k$[ebp], eax

; 370  :             component_cpt[k] += buf[j+1];

  002d1	8b 4d c4	 mov	 ecx, DWORD PTR _buf$[ebp]
  002d4	03 4d ac	 add	 ecx, DWORD PTR _j$[ebp]
  002d7	0f b6 51 01	 movzx	 edx, BYTE PTR [ecx+1]
  002db	8b 45 bc	 mov	 eax, DWORD PTR _k$[ebp]
  002de	8b 4d a8	 mov	 ecx, DWORD PTR _this$[ebp]
  002e1	03 54 81 34	 add	 edx, DWORD PTR [ecx+eax*4+52]
  002e5	8b 45 bc	 mov	 eax, DWORD PTR _k$[ebp]
  002e8	8b 4d a8	 mov	 ecx, DWORD PTR _this$[ebp]
  002eb	89 54 81 34	 mov	 DWORD PTR [ecx+eax*4+52], edx

; 371  :             (nb_val[k])++;

  002ef	8b 55 bc	 mov	 edx, DWORD PTR _k$[ebp]
  002f2	8b 44 95 ec	 mov	 eax, DWORD PTR _nb_val$[ebp+edx*4]
  002f6	83 c0 01	 add	 eax, 1
  002f9	8b 4d bc	 mov	 ecx, DWORD PTR _k$[ebp]
  002fc	89 44 8d ec	 mov	 DWORD PTR _nb_val$[ebp+ecx*4], eax

; 372  :             if (buf[j+1] < min[k])

  00300	8b 55 c4	 mov	 edx, DWORD PTR _buf$[ebp]
  00303	03 55 ac	 add	 edx, DWORD PTR _j$[ebp]
  00306	0f b6 42 01	 movzx	 eax, BYTE PTR [edx+1]
  0030a	8b 4d bc	 mov	 ecx, DWORD PTR _k$[ebp]
  0030d	0f b6 54 0d e4	 movzx	 edx, BYTE PTR _min$[ebp+ecx]
  00312	3b c2		 cmp	 eax, edx
  00314	7d 10		 jge	 SHORT $LN12@CalcAvgCol

; 373  :             {
; 374  :                 min[k] = buf[j+1];

  00316	8b 45 c4	 mov	 eax, DWORD PTR _buf$[ebp]
  00319	03 45 ac	 add	 eax, DWORD PTR _j$[ebp]
  0031c	8b 4d bc	 mov	 ecx, DWORD PTR _k$[ebp]
  0031f	8a 50 01	 mov	 dl, BYTE PTR [eax+1]
  00322	88 54 0d e4	 mov	 BYTE PTR _min$[ebp+ecx], dl
$LN12@CalcAvgCol:

; 375  :             }
; 376  :             if (buf[j+1] > max[k])

  00326	8b 45 c4	 mov	 eax, DWORD PTR _buf$[ebp]
  00329	03 45 ac	 add	 eax, DWORD PTR _j$[ebp]
  0032c	0f b6 48 01	 movzx	 ecx, BYTE PTR [eax+1]
  00330	8b 55 bc	 mov	 edx, DWORD PTR _k$[ebp]
  00333	0f b6 44 15 b0	 movzx	 eax, BYTE PTR _max$[ebp+edx]
  00338	3b c8		 cmp	 ecx, eax
  0033a	7e 10		 jle	 SHORT $LN11@CalcAvgCol

; 377  :             {
; 378  :                 max[k] = buf[j+1];

  0033c	8b 4d c4	 mov	 ecx, DWORD PTR _buf$[ebp]
  0033f	03 4d ac	 add	 ecx, DWORD PTR _j$[ebp]
  00342	8b 55 bc	 mov	 edx, DWORD PTR _k$[ebp]
  00345	8a 41 01	 mov	 al, BYTE PTR [ecx+1]
  00348	88 44 15 b0	 mov	 BYTE PTR _max$[ebp+edx], al
$LN11@CalcAvgCol:

; 379  :             }
; 380  :         }

  0034c	e9 d5 fe ff ff	 jmp	 $LN16@CalcAvgCol
$LN15@CalcAvgCol:

; 381  :     }

  00351	e9 99 fe ff ff	 jmp	 $LN19@CalcAvgCol
$LN18@CalcAvgCol:

; 382  :     cpt_nb++;

  00356	8b 4d a8	 mov	 ecx, DWORD PTR _this$[ebp]
  00359	8b 51 40	 mov	 edx, DWORD PTR [ecx+64]
  0035c	83 c2 01	 add	 edx, 1
  0035f	8b 45 a8	 mov	 eax, DWORD PTR _this$[ebp]
  00362	89 50 40	 mov	 DWORD PTR [eax+64], edx

; 383  :     for (i = 0 ; i <= 2; i++)

  00365	c7 45 e8 00 00
	00 00		 mov	 DWORD PTR _i$[ebp], 0
  0036c	eb 09		 jmp	 SHORT $LN10@CalcAvgCol
$LN9@CalcAvgCol:
  0036e	8b 4d e8	 mov	 ecx, DWORD PTR _i$[ebp]
  00371	83 c1 01	 add	 ecx, 1
  00374	89 4d e8	 mov	 DWORD PTR _i$[ebp], ecx
$LN10@CalcAvgCol:
  00377	83 7d e8 02	 cmp	 DWORD PTR _i$[ebp], 2
  0037b	7f 22		 jg	 SHORT $LN8@CalcAvgCol

; 384  :     {
; 385  :         component_min[i] = min[i];

  0037d	8b 55 a8	 mov	 edx, DWORD PTR _this$[ebp]
  00380	03 55 e8	 add	 edx, DWORD PTR _i$[ebp]
  00383	8b 45 e8	 mov	 eax, DWORD PTR _i$[ebp]
  00386	8a 4c 05 e4	 mov	 cl, BYTE PTR _min$[ebp+eax]
  0038a	88 4a 48	 mov	 BYTE PTR [edx+72], cl

; 386  :         component_max[i] = max[i];

  0038d	8b 55 a8	 mov	 edx, DWORD PTR _this$[ebp]
  00390	03 55 e8	 add	 edx, DWORD PTR _i$[ebp]
  00393	8b 45 e8	 mov	 eax, DWORD PTR _i$[ebp]
  00396	8a 4c 05 b0	 mov	 cl, BYTE PTR _max$[ebp+eax]
  0039a	88 4a 50	 mov	 BYTE PTR [edx+80], cl

; 387  :     }

  0039d	eb cf		 jmp	 SHORT $LN9@CalcAvgCol
$LN8@CalcAvgCol:

; 388  :     min_available = TRUE;

  0039f	8b 55 a8	 mov	 edx, DWORD PTR _this$[ebp]
  003a2	c7 42 44 01 00
	00 00		 mov	 DWORD PTR [edx+68], 1

; 389  :     max_available = TRUE;

  003a9	8b 45 a8	 mov	 eax, DWORD PTR _this$[ebp]
  003ac	c7 40 4c 01 00
	00 00		 mov	 DWORD PTR [eax+76], 1

; 390  : 
; 391  :     LOG(5, _T("CalcAvgColor Min Y %d U %d V %d"), component_min[2], component_min[0], component_min[1]);

  003b3	8b 4d a8	 mov	 ecx, DWORD PTR _this$[ebp]
  003b6	0f b6 51 49	 movzx	 edx, BYTE PTR [ecx+73]
  003ba	52		 push	 edx
  003bb	8b 45 a8	 mov	 eax, DWORD PTR _this$[ebp]
  003be	0f b6 48 48	 movzx	 ecx, BYTE PTR [eax+72]
  003c2	51		 push	 ecx
  003c3	8b 55 a8	 mov	 edx, DWORD PTR _this$[ebp]
  003c6	0f b6 42 4a	 movzx	 eax, BYTE PTR [edx+74]
  003ca	50		 push	 eax
  003cb	68 00 00 00 00	 push	 OFFSET ??_C@_1EA@NJDADGE@?$AAC?$AAa?$AAl?$AAc?$AAA?$AAv?$AAg?$AAC?$AAo?$AAl?$AAo?$AAr?$AA?5?$AAM?$AAi?$AAn?$AA?5?$AAY?$AA?5?$AA?$CF?$AAd?$AA?5?$AAU?$AA?5?$AA?$CF?$AAd?$AA?5?$AAV?$AA?5?$AA?$CF?$AAd?$AA?$AA@
  003d0	6a 05		 push	 5
  003d2	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  003d7	83 c4 14	 add	 esp, 20			; 00000014H

; 392  :     LOG(5, _T("CalcAvgColor Max Y %d U %d V %d"), component_max[2], component_max[0], component_max[1]);

  003da	8b 4d a8	 mov	 ecx, DWORD PTR _this$[ebp]
  003dd	0f b6 51 51	 movzx	 edx, BYTE PTR [ecx+81]
  003e1	52		 push	 edx
  003e2	8b 45 a8	 mov	 eax, DWORD PTR _this$[ebp]
  003e5	0f b6 48 50	 movzx	 ecx, BYTE PTR [eax+80]
  003e9	51		 push	 ecx
  003ea	8b 55 a8	 mov	 edx, DWORD PTR _this$[ebp]
  003ed	0f b6 42 52	 movzx	 eax, BYTE PTR [edx+82]
  003f1	50		 push	 eax
  003f2	68 00 00 00 00	 push	 OFFSET ??_C@_1EA@IDIIENFN@?$AAC?$AAa?$AAl?$AAc?$AAA?$AAv?$AAg?$AAC?$AAo?$AAl?$AAo?$AAr?$AA?5?$AAM?$AAa?$AAx?$AA?5?$AAY?$AA?5?$AA?$CF?$AAd?$AA?5?$AAU?$AA?5?$AA?$CF?$AAd?$AA?5?$AAV?$AA?5?$AA?$CF?$AAd?$AA?$AA@
  003f7	6a 05		 push	 5
  003f9	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  003fe	83 c4 14	 add	 esp, 20			; 00000014H

; 393  : 
; 394  :     if (cpt_nb >= nb_calc_needed)

  00401	8b 4d a8	 mov	 ecx, DWORD PTR _this$[ebp]
  00404	8b 51 40	 mov	 edx, DWORD PTR [ecx+64]
  00407	3b 55 0c	 cmp	 edx, DWORD PTR _nb_calc_needed$[ebp]
  0040a	0f 82 02 01 00
	00		 jb	 $LN7@CalcAvgCol

; 395  :     {
; 396  :         YUV_val_available = FALSE;

  00410	8b 45 a8	 mov	 eax, DWORD PTR _this$[ebp]
  00413	c7 40 10 00 00
	00 00		 mov	 DWORD PTR [eax+16], 0

; 397  :         RGB_val_available = FALSE;

  0041a	8b 4d a8	 mov	 ecx, DWORD PTR _this$[ebp]
  0041d	c7 41 18 00 00
	00 00		 mov	 DWORD PTR [ecx+24], 0

; 398  : 
; 399  :         pComponentVal[0] = &U_val;

  00424	8b 55 a8	 mov	 edx, DWORD PTR _this$[ebp]
  00427	83 c2 15	 add	 edx, 21			; 00000015H
  0042a	89 55 d4	 mov	 DWORD PTR _pComponentVal$[ebp], edx

; 400  :         pComponentVal[1] = &V_val;

  0042d	8b 45 a8	 mov	 eax, DWORD PTR _this$[ebp]
  00430	83 c0 16	 add	 eax, 22			; 00000016H
  00433	89 45 d8	 mov	 DWORD PTR _pComponentVal$[ebp+4], eax

; 401  :         pComponentVal[2] = &Y_val;

  00436	8b 4d a8	 mov	 ecx, DWORD PTR _this$[ebp]
  00439	83 c1 14	 add	 ecx, 20			; 00000014H
  0043c	89 4d dc	 mov	 DWORD PTR _pComponentVal$[ebp+8], ecx

; 402  : 
; 403  :         for (i = 0 ; i <= 2 ; i++)

  0043f	c7 45 e8 00 00
	00 00		 mov	 DWORD PTR _i$[ebp], 0
  00446	eb 09		 jmp	 SHORT $LN6@CalcAvgCol
$LN5@CalcAvgCol:
  00448	8b 55 e8	 mov	 edx, DWORD PTR _i$[ebp]
  0044b	83 c2 01	 add	 edx, 1
  0044e	89 55 e8	 mov	 DWORD PTR _i$[ebp], edx
$LN6@CalcAvgCol:
  00451	83 7d e8 02	 cmp	 DWORD PTR _i$[ebp], 2
  00455	7f 5f		 jg	 SHORT $LN4@CalcAvgCol

; 404  :         {
; 405  :             if (nb_val[i] > 0)

  00457	8b 45 e8	 mov	 eax, DWORD PTR _i$[ebp]
  0045a	83 7c 85 ec 00	 cmp	 DWORD PTR _nb_val$[ebp+eax*4], 0
  0045f	76 3b		 jbe	 SHORT $LN3@CalcAvgCol

; 406  :             {
; 407  :                 *(pComponentVal[i]) = AVERAGE_VALUE(component_cpt[i], cpt_nb * nb_val[i]);

  00461	8b 4d a8	 mov	 ecx, DWORD PTR _this$[ebp]
  00464	8b 55 e8	 mov	 edx, DWORD PTR _i$[ebp]
  00467	8b 41 40	 mov	 eax, DWORD PTR [ecx+64]
  0046a	0f af 44 95 ec	 imul	 eax, DWORD PTR _nb_val$[ebp+edx*4]
  0046f	d1 e8		 shr	 eax, 1
  00471	8b 4d e8	 mov	 ecx, DWORD PTR _i$[ebp]
  00474	8b 55 a8	 mov	 edx, DWORD PTR _this$[ebp]
  00477	8b 4c 8a 34	 mov	 ecx, DWORD PTR [edx+ecx*4+52]
  0047b	03 c8		 add	 ecx, eax
  0047d	8b 55 a8	 mov	 edx, DWORD PTR _this$[ebp]
  00480	8b 45 e8	 mov	 eax, DWORD PTR _i$[ebp]
  00483	8b 72 40	 mov	 esi, DWORD PTR [edx+64]
  00486	0f af 74 85 ec	 imul	 esi, DWORD PTR _nb_val$[ebp+eax*4]
  0048b	8b c1		 mov	 eax, ecx
  0048d	33 d2		 xor	 edx, edx
  0048f	f7 f6		 div	 esi
  00491	8b 4d e8	 mov	 ecx, DWORD PTR _i$[ebp]
  00494	8b 54 8d d4	 mov	 edx, DWORD PTR _pComponentVal$[ebp+ecx*4]
  00498	88 02		 mov	 BYTE PTR [edx], al

; 408  :             }
; 409  :             else

  0049a	eb 0a		 jmp	 SHORT $LN2@CalcAvgCol
$LN3@CalcAvgCol:

; 410  :             {
; 411  :                 *(pComponentVal[i]) = 0;

  0049c	8b 45 e8	 mov	 eax, DWORD PTR _i$[ebp]
  0049f	8b 4c 85 d4	 mov	 ecx, DWORD PTR _pComponentVal$[ebp+eax*4]
  004a3	c6 01 00	 mov	 BYTE PTR [ecx], 0
$LN2@CalcAvgCol:

; 412  :             }
; 413  :             component_cpt[i] = 0;

  004a6	8b 55 e8	 mov	 edx, DWORD PTR _i$[ebp]
  004a9	8b 45 a8	 mov	 eax, DWORD PTR _this$[ebp]
  004ac	c7 44 90 34 00
	00 00 00	 mov	 DWORD PTR [eax+edx*4+52], 0

; 414  :         }

  004b4	eb 92		 jmp	 SHORT $LN5@CalcAvgCol
$LN4@CalcAvgCol:

; 415  :         cpt_nb = 0;

  004b6	8b 4d a8	 mov	 ecx, DWORD PTR _this$[ebp]
  004b9	c7 41 40 00 00
	00 00		 mov	 DWORD PTR [ecx+64], 0

; 416  : 
; 417  :         YUV_val_available = TRUE;

  004c0	8b 55 a8	 mov	 edx, DWORD PTR _this$[ebp]
  004c3	c7 42 10 01 00
	00 00		 mov	 DWORD PTR [edx+16], 1

; 418  : 
; 419  :         LOG(5, _T("CalcAvgColor YUV %d %d %d %d %d %d %d %d %d"), Y_val, U_val, V_val, left, right, top, bottom, height, width);

  004ca	8b 45 c8	 mov	 eax, DWORD PTR _width$[ebp]
  004cd	50		 push	 eax
  004ce	8b 4d cc	 mov	 ecx, DWORD PTR _height$[ebp]
  004d1	51		 push	 ecx
  004d2	8b 55 f8	 mov	 edx, DWORD PTR _bottom$[ebp]
  004d5	52		 push	 edx
  004d6	8b 45 b8	 mov	 eax, DWORD PTR _top$[ebp]
  004d9	50		 push	 eax
  004da	8b 4d c0	 mov	 ecx, DWORD PTR _right$[ebp]
  004dd	51		 push	 ecx
  004de	8b 55 d0	 mov	 edx, DWORD PTR _left$[ebp]
  004e1	52		 push	 edx
  004e2	8b 45 a8	 mov	 eax, DWORD PTR _this$[ebp]
  004e5	0f b6 48 16	 movzx	 ecx, BYTE PTR [eax+22]
  004e9	51		 push	 ecx
  004ea	8b 55 a8	 mov	 edx, DWORD PTR _this$[ebp]
  004ed	0f b6 42 15	 movzx	 eax, BYTE PTR [edx+21]
  004f1	50		 push	 eax
  004f2	8b 4d a8	 mov	 ecx, DWORD PTR _this$[ebp]
  004f5	0f b6 51 14	 movzx	 edx, BYTE PTR [ecx+20]
  004f9	52		 push	 edx
  004fa	68 00 00 00 00	 push	 OFFSET ??_C@_1FI@FMMHOMOO@?$AAC?$AAa?$AAl?$AAc?$AAA?$AAv?$AAg?$AAC?$AAo?$AAl?$AAo?$AAr?$AA?5?$AAY?$AAU?$AAV?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5@
  004ff	6a 05		 push	 5
  00501	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00506	83 c4 2c	 add	 esp, 44			; 0000002cH

; 420  : 
; 421  :         return TRUE;

  00509	b8 01 00 00 00	 mov	 eax, 1
  0050e	eb 04		 jmp	 SHORT $LN38@CalcAvgCol

; 422  :     }
; 423  :     else

  00510	eb 02		 jmp	 SHORT $LN38@CalcAvgCol
$LN7@CalcAvgCol:

; 424  :     {
; 425  :         return FALSE;

  00512	33 c0		 xor	 eax, eax
$LN38@CalcAvgCol:

; 426  :     }
; 427  : }

  00514	5e		 pop	 esi
  00515	8b e5		 mov	 esp, ebp
  00517	5d		 pop	 ebp
  00518	c2 0c 00	 ret	 12			; 0000000cH
?CalcAvgColor@CColorBar@@QAEHHIPAUTDeinterlaceInfo@@@Z ENDP ; CColorBar::CalcAvgColor
PUBLIC	__$ArrayPad$
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?OpenMediaFile@CPatternHelper@@UAEHABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?OpenMediaFile@CPatternHelper@@UAEHABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z$0
__ehfuncinfo$?OpenMediaFile@CPatternHelper@@UAEHABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?OpenMediaFile@CPatternHelper@@UAEHABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?OpenMediaFile@CPatternHelper@@UAEHABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z
_TEXT	SEGMENT
_this$ = -140						; size = 4
$T347820 = -136						; size = 4
$T347819 = -132						; size = 4
$T347818 = -128						; size = 4
_j$144350 = -124					; size = 4
_i$144346 = -120					; size = 4
_pattern$ = -116					; size = 84
__$ArrayPad$ = -28					; size = 4
_pFrameBuf$ = -24					; size = 4
_pStartFrame$ = -20					; size = 4
_LinePitch$ = -16					; size = 4
__$EHRec$ = -12						; size = 12
_FileName$ = 8						; size = 4
?OpenMediaFile@CPatternHelper@@UAEHABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z PROC ; CPatternHelper::OpenMediaFile, COMDAT
; _this$ = ecx

; 1146 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?OpenMediaFile@CPatternHelper@@UAEHABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	81 ec 80 00 00
	00		 sub	 esp, 128		; 00000080H
  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001c	33 c5		 xor	 eax, ebp
  0001e	89 45 e4	 mov	 DWORD PTR __$ArrayPad$[ebp], eax
  00021	56		 push	 esi
  00022	50		 push	 eax
  00023	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00026	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  0002c	89 8d 74 ff ff
	ff		 mov	 DWORD PTR _this$[ebp], ecx

; 1147 :     CTestPattern pattern(FileName);

  00032	8b 45 08	 mov	 eax, DWORD PTR _FileName$[ebp]
  00035	50		 push	 eax
  00036	8d 4d 8c	 lea	 ecx, DWORD PTR _pattern$[ebp]
  00039	e8 00 00 00 00	 call	 ??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z ; CTestPattern::CTestPattern
  0003e	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 1148 :     BYTE* pFrameBuf;
; 1149 :     BYTE* pStartFrame;
; 1150 :     int LinePitch;
; 1151 : 
; 1152 :     if ((pattern.GetWidth() * pattern.GetHeight()) == 0)

  00045	8d 4d 8c	 lea	 ecx, DWORD PTR _pattern$[ebp]
  00048	e8 00 00 00 00	 call	 ?GetWidth@CTestPattern@@QAEHXZ ; CTestPattern::GetWidth
  0004d	8b f0		 mov	 esi, eax
  0004f	8d 4d 8c	 lea	 ecx, DWORD PTR _pattern$[ebp]
  00052	e8 00 00 00 00	 call	 ?GetHeight@CTestPattern@@QAEHXZ ; CTestPattern::GetHeight
  00057	0f af f0	 imul	 esi, eax
  0005a	85 f6		 test	 esi, esi
  0005c	75 1e		 jne	 SHORT $LN8@OpenMediaF@4

; 1153 :     {
; 1154 :         return FALSE;

  0005e	c7 45 80 00 00
	00 00		 mov	 DWORD PTR $T347818[ebp], 0
  00065	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0006c	8d 4d 8c	 lea	 ecx, DWORD PTR _pattern$[ebp]
  0006f	e8 00 00 00 00	 call	 ??1CTestPattern@@QAE@XZ	; CTestPattern::~CTestPattern
  00074	8b 45 80	 mov	 eax, DWORD PTR $T347818[ebp]
  00077	e9 a9 01 00 00	 jmp	 $LN9@OpenMediaF@4
$LN8@OpenMediaF@4:

; 1155 :     }
; 1156 : 
; 1157 :     // Allocate memory buffer to store the YUYV values
; 1158 :     LinePitch = (pattern.GetWidth() * 2 * sizeof(BYTE) + 15) & 0xfffffff0;

  0007c	8d 4d 8c	 lea	 ecx, DWORD PTR _pattern$[ebp]
  0007f	e8 00 00 00 00	 call	 ?GetWidth@CTestPattern@@QAEHXZ ; CTestPattern::GetWidth
  00084	8d 4c 00 0f	 lea	 ecx, DWORD PTR [eax+eax+15]
  00088	83 e1 f0	 and	 ecx, -16		; fffffff0H
  0008b	89 4d f0	 mov	 DWORD PTR _LinePitch$[ebp], ecx

; 1159 :     pFrameBuf = (BYTE*)malloc(LinePitch * pattern.GetHeight() + 16);

  0008e	8d 4d 8c	 lea	 ecx, DWORD PTR _pattern$[ebp]
  00091	e8 00 00 00 00	 call	 ?GetHeight@CTestPattern@@QAEHXZ ; CTestPattern::GetHeight
  00096	0f af 45 f0	 imul	 eax, DWORD PTR _LinePitch$[ebp]
  0009a	83 c0 10	 add	 eax, 16			; 00000010H
  0009d	50		 push	 eax
  0009e	e8 00 00 00 00	 call	 _malloc
  000a3	83 c4 04	 add	 esp, 4
  000a6	89 45 e8	 mov	 DWORD PTR _pFrameBuf$[ebp], eax

; 1160 :     if (pFrameBuf == NULL)

  000a9	83 7d e8 00	 cmp	 DWORD PTR _pFrameBuf$[ebp], 0
  000ad	75 24		 jne	 SHORT $LN7@OpenMediaF@4

; 1161 :     {
; 1162 :         return FALSE;

  000af	c7 85 7c ff ff
	ff 00 00 00 00	 mov	 DWORD PTR $T347819[ebp], 0
  000b9	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  000c0	8d 4d 8c	 lea	 ecx, DWORD PTR _pattern$[ebp]
  000c3	e8 00 00 00 00	 call	 ??1CTestPattern@@QAE@XZ	; CTestPattern::~CTestPattern
  000c8	8b 85 7c ff ff
	ff		 mov	 eax, DWORD PTR $T347819[ebp]
  000ce	e9 52 01 00 00	 jmp	 $LN9@OpenMediaF@4
$LN7@OpenMediaF@4:

; 1163 :     }
; 1164 :     pStartFrame = START_ALIGNED16(pFrameBuf);

  000d3	8b 4d e8	 mov	 ecx, DWORD PTR _pFrameBuf$[ebp]
  000d6	83 c1 10	 add	 ecx, 16			; 00000010H
  000d9	8b 45 e8	 mov	 eax, DWORD PTR _pFrameBuf$[ebp]
  000dc	33 d2		 xor	 edx, edx
  000de	be 10 00 00 00	 mov	 esi, 16			; 00000010H
  000e3	f7 f6		 div	 esi
  000e5	2b ca		 sub	 ecx, edx
  000e7	89 4d ec	 mov	 DWORD PTR _pStartFrame$[ebp], ecx

; 1165 : 
; 1166 :     // Set the background of the pattern to black
; 1167 :     for (int i=0 ; i<pattern.GetHeight() ; i++)

  000ea	c7 45 88 00 00
	00 00		 mov	 DWORD PTR _i$144346[ebp], 0
  000f1	eb 09		 jmp	 SHORT $LN6@OpenMediaF@4
$LN5@OpenMediaF@4:
  000f3	8b 55 88	 mov	 edx, DWORD PTR _i$144346[ebp]
  000f6	83 c2 01	 add	 edx, 1
  000f9	89 55 88	 mov	 DWORD PTR _i$144346[ebp], edx
$LN6@OpenMediaF@4:
  000fc	8d 4d 8c	 lea	 ecx, DWORD PTR _pattern$[ebp]
  000ff	e8 00 00 00 00	 call	 ?GetHeight@CTestPattern@@QAEHXZ ; CTestPattern::GetHeight
  00104	39 45 88	 cmp	 DWORD PTR _i$144346[ebp], eax
  00107	7d 46		 jge	 SHORT $LN4@OpenMediaF@4

; 1168 :     {
; 1169 :         for (int j=0 ; j<pattern.GetWidth() ; j++)

  00109	c7 45 84 00 00
	00 00		 mov	 DWORD PTR _j$144350[ebp], 0
  00110	eb 09		 jmp	 SHORT $LN3@OpenMediaF@4
$LN2@OpenMediaF@4:
  00112	8b 45 84	 mov	 eax, DWORD PTR _j$144350[ebp]
  00115	83 c0 01	 add	 eax, 1
  00118	89 45 84	 mov	 DWORD PTR _j$144350[ebp], eax
$LN3@OpenMediaF@4:
  0011b	8d 4d 8c	 lea	 ecx, DWORD PTR _pattern$[ebp]
  0011e	e8 00 00 00 00	 call	 ?GetWidth@CTestPattern@@QAEHXZ ; CTestPattern::GetWidth
  00123	39 45 84	 cmp	 DWORD PTR _j$144350[ebp], eax
  00126	7d 25		 jge	 SHORT $LN1@OpenMediaF@4

; 1170 :         {
; 1171 :             *(pStartFrame + i * LinePitch + j * 2    ) = 16;

  00128	8b 4d 88	 mov	 ecx, DWORD PTR _i$144346[ebp]
  0012b	0f af 4d f0	 imul	 ecx, DWORD PTR _LinePitch$[ebp]
  0012f	03 4d ec	 add	 ecx, DWORD PTR _pStartFrame$[ebp]
  00132	8b 55 84	 mov	 edx, DWORD PTR _j$144350[ebp]
  00135	c6 04 51 10	 mov	 BYTE PTR [ecx+edx*2], 16 ; 00000010H

; 1172 :             *(pStartFrame + i * LinePitch + j * 2 + 1) = 128;

  00139	8b 45 88	 mov	 eax, DWORD PTR _i$144346[ebp]
  0013c	0f af 45 f0	 imul	 eax, DWORD PTR _LinePitch$[ebp]
  00140	03 45 ec	 add	 eax, DWORD PTR _pStartFrame$[ebp]
  00143	8b 4d 84	 mov	 ecx, DWORD PTR _j$144350[ebp]
  00146	c6 44 48 01 80	 mov	 BYTE PTR [eax+ecx*2+1], 128 ; 00000080H

; 1173 :         }

  0014b	eb c5		 jmp	 SHORT $LN2@OpenMediaF@4
$LN1@OpenMediaF@4:

; 1174 :     }

  0014d	eb a4		 jmp	 SHORT $LN5@OpenMediaF@4
$LN4@OpenMediaF@4:

; 1175 : 
; 1176 :     pattern.Draw(pStartFrame, LinePitch);

  0014f	8b 55 f0	 mov	 edx, DWORD PTR _LinePitch$[ebp]
  00152	52		 push	 edx
  00153	8b 45 ec	 mov	 eax, DWORD PTR _pStartFrame$[ebp]
  00156	50		 push	 eax
  00157	8d 4d 8c	 lea	 ecx, DWORD PTR _pattern$[ebp]
  0015a	e8 00 00 00 00	 call	 ?Draw@CTestPattern@@QAEXPAEH@Z ; CTestPattern::Draw

; 1177 : 
; 1178 :     m_pParent->FreeOriginalFrameBuffer();

  0015f	8b 8d 74 ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00165	8b 49 04	 mov	 ecx, DWORD PTR [ecx+4]
  00168	e8 00 00 00 00	 call	 ?FreeOriginalFrameBuffer@CStillSource@@AAEXXZ ; CStillSource::FreeOriginalFrameBuffer

; 1179 :     m_pParent->m_OriginalFrameBuffer = pFrameBuf;

  0016d	8b 95 74 ff ff
	ff		 mov	 edx, DWORD PTR _this$[ebp]
  00173	8b 42 04	 mov	 eax, DWORD PTR [edx+4]
  00176	8b 4d e8	 mov	 ecx, DWORD PTR _pFrameBuf$[ebp]
  00179	89 88 90 00 00
	00		 mov	 DWORD PTR [eax+144], ecx

; 1180 :     m_pParent->m_OriginalFrame.pData = pStartFrame;

  0017f	8b 95 74 ff ff
	ff		 mov	 edx, DWORD PTR _this$[ebp]
  00185	8b 42 04	 mov	 eax, DWORD PTR [edx+4]
  00188	8b 4d ec	 mov	 ecx, DWORD PTR _pStartFrame$[ebp]
  0018b	89 88 94 00 00
	00		 mov	 DWORD PTR [eax+148], ecx

; 1181 :     m_pParent->m_LinePitch = LinePitch;

  00191	8b 95 74 ff ff
	ff		 mov	 edx, DWORD PTR _this$[ebp]
  00197	8b 42 04	 mov	 eax, DWORD PTR [edx+4]
  0019a	8b 4d f0	 mov	 ecx, DWORD PTR _LinePitch$[ebp]
  0019d	89 88 c8 00 00
	00		 mov	 DWORD PTR [eax+200], ecx

; 1182 :     m_pParent->m_InitialHeight = pattern.GetHeight();

  001a3	8d 4d 8c	 lea	 ecx, DWORD PTR _pattern$[ebp]
  001a6	e8 00 00 00 00	 call	 ?GetHeight@CTestPattern@@QAEHXZ ; CTestPattern::GetHeight
  001ab	8b 95 74 ff ff
	ff		 mov	 edx, DWORD PTR _this$[ebp]
  001b1	8b 4a 04	 mov	 ecx, DWORD PTR [edx+4]
  001b4	89 41 74	 mov	 DWORD PTR [ecx+116], eax

; 1183 :     m_pParent->m_InitialWidth = pattern.GetWidth();

  001b7	8d 4d 8c	 lea	 ecx, DWORD PTR _pattern$[ebp]
  001ba	e8 00 00 00 00	 call	 ?GetWidth@CTestPattern@@QAEHXZ ; CTestPattern::GetWidth
  001bf	8b 95 74 ff ff
	ff		 mov	 edx, DWORD PTR _this$[ebp]
  001c5	8b 4a 04	 mov	 ecx, DWORD PTR [edx+4]
  001c8	89 41 70	 mov	 DWORD PTR [ecx+112], eax

; 1184 :     m_pParent->m_Height = pattern.GetHeight();

  001cb	8d 4d 8c	 lea	 ecx, DWORD PTR _pattern$[ebp]
  001ce	e8 00 00 00 00	 call	 ?GetHeight@CTestPattern@@QAEHXZ ; CTestPattern::GetHeight
  001d3	8b 95 74 ff ff
	ff		 mov	 edx, DWORD PTR _this$[ebp]
  001d9	8b 4a 04	 mov	 ecx, DWORD PTR [edx+4]
  001dc	89 41 7c	 mov	 DWORD PTR [ecx+124], eax

; 1185 :     m_pParent->m_Width = pattern.GetWidth();

  001df	8d 4d 8c	 lea	 ecx, DWORD PTR _pattern$[ebp]
  001e2	e8 00 00 00 00	 call	 ?GetWidth@CTestPattern@@QAEHXZ ; CTestPattern::GetWidth
  001e7	8b 95 74 ff ff
	ff		 mov	 edx, DWORD PTR _this$[ebp]
  001ed	8b 4a 04	 mov	 ecx, DWORD PTR [edx+4]
  001f0	89 41 78	 mov	 DWORD PTR [ecx+120], eax

; 1186 :     m_pParent->m_SquarePixels = FALSE;

  001f3	8b 95 74 ff ff
	ff		 mov	 edx, DWORD PTR _this$[ebp]
  001f9	8b 42 04	 mov	 eax, DWORD PTR [edx+4]
  001fc	c7 80 c0 00 00
	00 00 00 00 00	 mov	 DWORD PTR [eax+192], 0

; 1187 : 
; 1188 :     return TRUE;

  00206	c7 85 78 ff ff
	ff 01 00 00 00	 mov	 DWORD PTR $T347820[ebp], 1
  00210	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00217	8d 4d 8c	 lea	 ecx, DWORD PTR _pattern$[ebp]
  0021a	e8 00 00 00 00	 call	 ??1CTestPattern@@QAE@XZ	; CTestPattern::~CTestPattern
  0021f	8b 85 78 ff ff
	ff		 mov	 eax, DWORD PTR $T347820[ebp]
$LN9@OpenMediaF@4:

; 1189 : }

  00225	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00228	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0022f	59		 pop	 ecx
  00230	5e		 pop	 esi
  00231	8b 4d e4	 mov	 ecx, DWORD PTR __$ArrayPad$[ebp]
  00234	33 cd		 xor	 ecx, ebp
  00236	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0023b	8b e5		 mov	 esp, ebp
  0023d	5d		 pop	 ebp
  0023e	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?OpenMediaFile@CPatternHelper@@UAEHABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z$0:
  00000	8d 4d 8c	 lea	 ecx, DWORD PTR _pattern$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CTestPattern@@QAE@XZ	; CTestPattern::~CTestPattern
__ehhandler$?OpenMediaFile@CPatternHelper@@UAEHABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 8a 78 ff ff
	ff		 mov	 ecx, DWORD PTR [edx-136]
  00015	33 c8		 xor	 ecx, eax
  00017	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0001c	8b 4a f0	 mov	 ecx, DWORD PTR [edx-16]
  0001f	33 c8		 xor	 ecx, eax
  00021	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00026	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?OpenMediaFile@CPatternHelper@@UAEHABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z
  0002b	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?OpenMediaFile@CPatternHelper@@UAEHABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z ENDP ; CPatternHelper::OpenMediaFile
PUBLIC	?CalcCurrentSubPattern@CSubPattern@@QAEHHIPAUTDeinterlaceInfo@@@Z ; CSubPattern::CalcCurrentSubPattern
; Function compile flags: /Odtp
;	COMDAT ?CalcCurrentSubPattern@CSubPattern@@QAEHHIPAUTDeinterlaceInfo@@@Z
_TEXT	SEGMENT
_this$ = -24						; size = 4
$T347830 = -20						; size = 8
_it$143844 = -12					; size = 8
_result_avail$ = -4					; size = 4
_reinit$ = 8						; size = 4
_nb_calc_needed$ = 12					; size = 4
_pInfo$ = 16						; size = 4
?CalcCurrentSubPattern@CSubPattern@@QAEHHIPAUTDeinterlaceInfo@@@Z PROC ; CSubPattern::CalcCurrentSubPattern, COMDAT
; _this$ = ecx

; 716  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 18	 sub	 esp, 24			; 00000018H
  00006	89 4d e8	 mov	 DWORD PTR _this$[ebp], ecx

; 717  :     BOOL result_avail;
; 718  : 
; 719  :     // Do the job for each defined color bar
; 720  :     for(vector<CColorBar*>::iterator it = m_ColorBars.begin();

  00009	8d 45 f4	 lea	 eax, DWORD PTR _it$143844[ebp]
  0000c	50		 push	 eax
  0000d	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00010	e8 00 00 00 00	 call	 ?begin@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@XZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::begin

; 721  :         it != m_ColorBars.end();

  00015	eb 08		 jmp	 SHORT $LN3@CalcCurren
$LN2@CalcCurren:

; 722  :         ++it)

  00017	8d 4d f4	 lea	 ecx, DWORD PTR _it$143844[ebp]
  0001a	e8 00 00 00 00	 call	 ??E?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAEAAV01@XZ ; std::_Vector_iterator<CColorBar *,std::allocator<CColorBar *> >::operator++
$LN3@CalcCurren:
  0001f	8d 4d ec	 lea	 ecx, DWORD PTR $T347830[ebp]
  00022	51		 push	 ecx
  00023	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00026	e8 00 00 00 00	 call	 ?end@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@XZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::end
  0002b	50		 push	 eax
  0002c	8d 4d f4	 lea	 ecx, DWORD PTR _it$143844[ebp]
  0002f	e8 00 00 00 00	 call	 ??9?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<CColorBar *,std::allocator<CColorBar *> >::operator!=
  00034	0f b6 d0	 movzx	 edx, al
  00037	85 d2		 test	 edx, edx
  00039	74 20		 je	 SHORT $LN1@CalcCurren

; 723  :     {
; 724  :         result_avail = (*it)->CalcAvgColor(reinit, nb_calc_needed, pInfo);

  0003b	8b 45 10	 mov	 eax, DWORD PTR _pInfo$[ebp]
  0003e	50		 push	 eax
  0003f	8b 4d 0c	 mov	 ecx, DWORD PTR _nb_calc_needed$[ebp]
  00042	51		 push	 ecx
  00043	8b 55 08	 mov	 edx, DWORD PTR _reinit$[ebp]
  00046	52		 push	 edx
  00047	8d 4d f4	 lea	 ecx, DWORD PTR _it$143844[ebp]
  0004a	e8 00 00 00 00	 call	 ??D?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEAAPAVCColorBar@@XZ ; std::_Vector_iterator<CColorBar *,std::allocator<CColorBar *> >::operator*
  0004f	8b 08		 mov	 ecx, DWORD PTR [eax]
  00051	e8 00 00 00 00	 call	 ?CalcAvgColor@CColorBar@@QAEHHIPAUTDeinterlaceInfo@@@Z ; CColorBar::CalcAvgColor
  00056	89 45 fc	 mov	 DWORD PTR _result_avail$[ebp], eax

; 725  :     }

  00059	eb bc		 jmp	 SHORT $LN2@CalcCurren
$LN1@CalcCurren:

; 726  : 
; 727  :     return result_avail;

  0005b	8b 45 fc	 mov	 eax, DWORD PTR _result_avail$[ebp]

; 728  : }

  0005e	8b e5		 mov	 esp, ebp
  00060	5d		 pop	 ebp
  00061	c2 0c 00	 ret	 12			; 0000000cH
?CalcCurrentSubPattern@CSubPattern@@QAEHHIPAUTDeinterlaceInfo@@@Z ENDP ; CSubPattern::CalcCurrentSubPattern
END
