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

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

INCLUDELIB OLDNAMES

PUBLIC	??_C@_0N@KFOLLALP@ShowYUVDelta?$AA@		; `string'
PUBLIC	??_C@_0BG@DCHHLLCO@Show?5YUV?5delta?5in?5OSD?$AA@ ; `string'
PUBLIC	??_C@_0N@IKLBKAOJ@ShowRGBDelta?$AA@		; `string'
PUBLIC	??_C@_0BG@CIGEEOOF@Show?5RGB?5delta?5in?5OSD?$AA@ ; `string'
PUBLIC	??_C@_0BE@PLOFMNKP@RightPlayerCropping?$AA@	; `string'
PUBLIC	??_C@_0BG@EICEBMB@Right?5player?5cropping?$AA@	; `string'
PUBLIC	??_C@_0BD@GNDGIKEJ@LeftPlayerCropping?$AA@	; `string'
PUBLIC	??_C@_0M@LBIOEIOA@Calibration?$AA@		; `string'
PUBLIC	??_C@_0BF@OEBOFHEL@Left?5player?5cropping?$AA@	; `string'
PUBLIC	??0?$allocator@PAVCTestPattern@@@std@@QAE@XZ	; std::allocator<CTestPattern *>::allocator<CTestPattern *>
PUBLIC	??$?0PAVCTestPattern@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@PAVCTestPattern@@@1@@Z ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><CTestPattern *>
PUBLIC	??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCTestPattern@@@std@@@std@@IAE@V?$allocator@PAVCTestPattern@@@1@@Z ; std::_Container_base_aux_alloc_real<std::allocator<CTestPattern *> >::_Container_base_aux_alloc_real<std::allocator<CTestPattern *> >
PUBLIC	??0?$allocator@PAVCTestPattern@@@std@@QAE@ABV01@@Z ; std::allocator<CTestPattern *>::allocator<CTestPattern *>
PUBLIC	??0?$_Vector_val@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAE@V?$allocator@PAVCTestPattern@@@1@@Z ; std::_Vector_val<CTestPattern *,std::allocator<CTestPattern *> >::_Vector_val<CTestPattern *,std::allocator<CTestPattern *> >
PUBLIC	?_Buy@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAE_NI@Z ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_Buy
PUBLIC	??0?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@XZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::vector<CTestPattern *,std::allocator<CTestPattern *> >
PUBLIC	??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCTestPattern@@@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<CTestPattern *> >::~_Container_base_aux_alloc_real<std::allocator<CTestPattern *> >
PUBLIC	??1?$_Vector_val@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@XZ ; std::_Vector_val<CTestPattern *,std::allocator<CTestPattern *> >::~_Vector_val<CTestPattern *,std::allocator<CTestPattern *> >
PUBLIC	?_Tidy@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXXZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_Tidy
PUBLIC	??1?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@XZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::~vector<CTestPattern *,std::allocator<CTestPattern *> >
PUBLIC	?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
PUBLIC	??0?$_Iterator_with_base@Urandom_access_iterator_tag@std@@PAVCColorBar@@HPBQAV3@ABQAV3@V_Iterator_base_aux@2@@std@@QAE@XZ ; std::_Iterator_with_base<std::random_access_iterator_tag,CColorBar *,int,CColorBar * const *,CColorBar * const &,std::_Iterator_base_aux>::_Iterator_with_base<std::random_access_iterator_tag,CColorBar *,int,CColorBar * const *,CColorBar * const &,std::_Iterator_base_aux>
PUBLIC	??0?$_Ranit@PAVCColorBar@@HPBQAV1@ABQAV1@@std@@QAE@XZ ; std::_Ranit<CColorBar *,int,CColorBar * const *,CColorBar * const &>::_Ranit<CColorBar *,int,CColorBar * const *,CColorBar * const &>
PUBLIC	??0?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@PAPAVCColorBar@@PBV_Container_base_aux@1@@Z ; std::_Vector_const_iterator<CColorBar *,std::allocator<CColorBar *> >::_Vector_const_iterator<CColorBar *,std::allocator<CColorBar *> >
PUBLIC	??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 *> >
PUBLIC	?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
PUBLIC	?deallocate@?$allocator@PAVCColorBar@@@std@@QAEXPAPAVCColorBar@@I@Z ; std::allocator<CColorBar *>::deallocate
PUBLIC	??$_Allocate@PAVCColorBar@@@std@@YAPAPAVCColorBar@@IPAPAV1@@Z ; std::_Allocate<CColorBar *>
PUBLIC	?allocate@?$allocator@PAVCColorBar@@@std@@QAEPAPAVCColorBar@@I@Z ; std::allocator<CColorBar *>::allocate
PUBLIC	?capacity@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEIXZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::capacity
PUBLIC	?size@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEIXZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::size
PUBLIC	?max_size@?$allocator@PAVCColorBar@@@std@@QBEIXZ ; std::allocator<CColorBar *>::max_size
PUBLIC	?max_size@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEIXZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::max_size
PUBLIC	??$_Destroy_range@V?$allocator@PAVCColorBar@@@std@@@std@@YAXPAPAVCColorBar@@0AAV?$allocator@PAVCColorBar@@@0@U_Scalar_ptr_iterator_tag@0@@Z ; std::_Destroy_range<std::allocator<CColorBar *> >
PUBLIC	??$_Destroy_range@V?$allocator@PAVCColorBar@@@std@@@std@@YAXPAPAVCColorBar@@0AAV?$allocator@PAVCColorBar@@@0@@Z ; std::_Destroy_range<std::allocator<CColorBar *> >
PUBLIC	?_Destroy@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXPAPAVCColorBar@@0@Z ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_Destroy
PUBLIC	?_Xlen@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@KAXXZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_Xlen
PUBLIC	??$_Uninit_copy@PAPAVCColorBar@@PAPAV1@V?$allocator@PAVCColorBar@@@std@@@std@@YAPAPAVCColorBar@@PAPAV1@00AAV?$allocator@PAVCColorBar@@@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_copy<CColorBar * *,CColorBar * *,std::allocator<CColorBar *> >
PUBLIC	??$unchecked_uninitialized_copy@PAPAVCColorBar@@PAPAV1@V?$allocator@PAVCColorBar@@@std@@@stdext@@YAPAPAVCColorBar@@PAPAV1@00AAV?$allocator@PAVCColorBar@@@std@@@Z ; stdext::unchecked_uninitialized_copy<CColorBar * *,CColorBar * *,std::allocator<CColorBar *> >
PUBLIC	??$_Uninit_move@PAPAVCColorBar@@PAPAV1@V?$allocator@PAVCColorBar@@@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCColorBar@@PAPAV1@00AAV?$allocator@PAVCColorBar@@@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_move<CColorBar * *,CColorBar * *,std::allocator<CColorBar *>,std::_Undefined_move_tag>
PUBLIC	??$_Unchecked_uninitialized_move@PAPAVCColorBar@@PAPAV1@V?$allocator@PAVCColorBar@@@std@@@stdext@@YAPAPAVCColorBar@@PAPAV1@00AAV?$allocator@PAVCColorBar@@@std@@@Z ; stdext::_Unchecked_uninitialized_move<CColorBar * *,CColorBar * *,std::allocator<CColorBar *> >
PUBLIC	??$_Umove@PAPAVCColorBar@@@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEPAPAVCColorBar@@PAPAV2@00@Z ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_Umove<CColorBar * *>
PUBLIC	??$_Fill@PAPAVCColorBar@@PAV1@@std@@YAXPAPAVCColorBar@@0ABQAV1@@Z ; std::_Fill<CColorBar * *,CColorBar *>
PUBLIC	??$fill@PAPAVCColorBar@@PAV1@@std@@YAXPAPAVCColorBar@@0ABQAV1@@Z ; std::fill<CColorBar * *,CColorBar *>
PUBLIC	??$_Iter_random@PAPAVCColorBar@@PAPAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCColorBar@@0@Z ; std::_Iter_random<CColorBar * *,CColorBar * *>
PUBLIC	??$_Move_cat@PAPAVCColorBar@@@std@@YA?AU_Undefined_move_tag@0@ABQAPAVCColorBar@@@Z ; std::_Move_cat<CColorBar * *>
PUBLIC	??$_Copy_backward_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_backward_opt<CColorBar * *,CColorBar * *,std::random_access_iterator_tag>
PUBLIC	??$_Move_backward_opt@PAPAVCColorBar@@PAPAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCColorBar@@PAPAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Move_backward_opt<CColorBar * *,CColorBar * *,std::random_access_iterator_tag,std::_Undefined_move_tag>
PUBLIC	??$_Unchecked_move_backward@PAPAVCColorBar@@PAPAV1@@stdext@@YAPAPAVCColorBar@@PAPAV1@00@Z ; stdext::_Unchecked_move_backward<CColorBar * *,CColorBar * *>
PUBLIC	?_Insert_n@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@IABQAVCColorBar@@@Z ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_Insert_n
PUBLIC	??G?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEHABV01@@Z ; std::_Vector_const_iterator<CColorBar *,std::allocator<CColorBar *> >::operator-
PUBLIC	??Y?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_const_iterator<CColorBar *,std::allocator<CColorBar *> >::operator+=
PUBLIC	??Y?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_iterator<CColorBar *,std::allocator<CColorBar *> >::operator+=
PUBLIC	??H?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBE?AV01@H@Z ; std::_Vector_iterator<CColorBar *,std::allocator<CColorBar *> >::operator+
PUBLIC	?insert@?$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@ABQAVCColorBar@@@Z ; std::vector<CColorBar *,std::allocator<CColorBar *> >::insert
PUBLIC	??$_Ptr_cat@PAPAVCColorBar@@PAPAV1@@std@@YA?AU_Scalar_ptr_iterator_tag@0@AAPAPAVCColorBar@@0@Z ; std::_Ptr_cat<CColorBar * *,CColorBar * *>
PUBLIC	??$_Iter_cat@PAPAVCColorBar@@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCColorBar@@@Z ; std::_Iter_cat<CColorBar * *>
PUBLIC	??$_Checked_base@PAPAVCColorBar@@@std@@YAPAPAVCColorBar@@AAPAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z ; std::_Checked_base<CColorBar * *>
PUBLIC	??$_Checked_base@PAPAVCColorBar@@@std@@YAPAPAVCColorBar@@AAPAPAV1@@Z ; std::_Checked_base<CColorBar * *>
PUBLIC	??$_Fill_n@PAPAVCColorBar@@IPAV1@@std@@YAXPAPAVCColorBar@@IABQAV1@U_Range_checked_iterator_tag@0@@Z ; std::_Fill_n<CColorBar * *,unsigned int,CColorBar *>
PUBLIC	??$_Fill_n@PAPAVCColorBar@@IPAV1@@std@@YAXPAPAVCColorBar@@IABQAV1@Urandom_access_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Fill_n<CColorBar * *,unsigned int,CColorBar *>
PUBLIC	??$unchecked_fill_n@PAPAVCColorBar@@IPAV1@@stdext@@YAXPAPAVCColorBar@@IABQAV1@@Z ; stdext::unchecked_fill_n<CColorBar * *,unsigned int,CColorBar *>
PUBLIC	??$_Uninit_fill_n@PAPAVCColorBar@@IPAV1@V?$allocator@PAVCColorBar@@@std@@@std@@YAXPAPAVCColorBar@@IABQAV1@AAV?$allocator@PAVCColorBar@@@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_fill_n<CColorBar * *,unsigned int,CColorBar *,std::allocator<CColorBar *> >
PUBLIC	??$unchecked_uninitialized_fill_n@PAPAVCColorBar@@IPAV1@V?$allocator@PAVCColorBar@@@std@@@stdext@@YAXPAPAVCColorBar@@IABQAV1@AAV?$allocator@PAVCColorBar@@@std@@@Z ; stdext::unchecked_uninitialized_fill_n<CColorBar * *,unsigned int,CColorBar *,std::allocator<CColorBar *> >
PUBLIC	?_Ufill@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEPAPAVCColorBar@@PAPAV3@IABQAV3@@Z ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_Ufill
PUBLIC	?push_back@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAEXABQAVCColorBar@@@Z ; std::vector<CColorBar *,std::allocator<CColorBar *> >::push_back
PUBLIC	?deallocate@?$allocator@PAVCTestPattern@@@std@@QAEXPAPAVCTestPattern@@I@Z ; std::allocator<CTestPattern *>::deallocate
PUBLIC	??$_Allocate@PAVCTestPattern@@@std@@YAPAPAVCTestPattern@@IPAPAV1@@Z ; std::_Allocate<CTestPattern *>
PUBLIC	?allocate@?$allocator@PAVCTestPattern@@@std@@QAEPAPAVCTestPattern@@I@Z ; std::allocator<CTestPattern *>::allocate
PUBLIC	?capacity@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEIXZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::capacity
PUBLIC	?max_size@?$allocator@PAVCTestPattern@@@std@@QBEIXZ ; std::allocator<CTestPattern *>::max_size
PUBLIC	?max_size@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEIXZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::max_size
PUBLIC	?_Xlen@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@KAXXZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_Xlen
PUBLIC	??$_Uninit_copy@PAPAVCTestPattern@@PAPAV1@V?$allocator@PAVCTestPattern@@@std@@@std@@YAPAPAVCTestPattern@@PAPAV1@00AAV?$allocator@PAVCTestPattern@@@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_copy<CTestPattern * *,CTestPattern * *,std::allocator<CTestPattern *> >
PUBLIC	??$unchecked_uninitialized_copy@PAPAVCTestPattern@@PAPAV1@V?$allocator@PAVCTestPattern@@@std@@@stdext@@YAPAPAVCTestPattern@@PAPAV1@00AAV?$allocator@PAVCTestPattern@@@std@@@Z ; stdext::unchecked_uninitialized_copy<CTestPattern * *,CTestPattern * *,std::allocator<CTestPattern *> >
PUBLIC	??$_Uninit_move@PAPAVCTestPattern@@PAPAV1@V?$allocator@PAVCTestPattern@@@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCTestPattern@@PAPAV1@00AAV?$allocator@PAVCTestPattern@@@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_move<CTestPattern * *,CTestPattern * *,std::allocator<CTestPattern *>,std::_Undefined_move_tag>
PUBLIC	??$_Unchecked_uninitialized_move@PAPAVCTestPattern@@PAPAV1@V?$allocator@PAVCTestPattern@@@std@@@stdext@@YAPAPAVCTestPattern@@PAPAV1@00AAV?$allocator@PAVCTestPattern@@@std@@@Z ; stdext::_Unchecked_uninitialized_move<CTestPattern * *,CTestPattern * *,std::allocator<CTestPattern *> >
PUBLIC	??$_Umove@PAPAVCTestPattern@@@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEPAPAVCTestPattern@@PAPAV2@00@Z ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_Umove<CTestPattern * *>
PUBLIC	??$_Fill@PAPAVCTestPattern@@PAV1@@std@@YAXPAPAVCTestPattern@@0ABQAV1@@Z ; std::_Fill<CTestPattern * *,CTestPattern *>
PUBLIC	??$fill@PAPAVCTestPattern@@PAV1@@std@@YAXPAPAVCTestPattern@@0ABQAV1@@Z ; std::fill<CTestPattern * *,CTestPattern *>
PUBLIC	??$_Move_cat@PAPAVCTestPattern@@@std@@YA?AU_Undefined_move_tag@0@ABQAPAVCTestPattern@@@Z ; std::_Move_cat<CTestPattern * *>
PUBLIC	??$_Copy_backward_opt@PAPAVCTestPattern@@PAPAV1@Urandom_access_iterator_tag@std@@@std@@YAPAPAVCTestPattern@@PAPAV1@00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_backward_opt<CTestPattern * *,CTestPattern * *,std::random_access_iterator_tag>
PUBLIC	??$_Move_backward_opt@PAPAVCTestPattern@@PAPAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCTestPattern@@PAPAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Move_backward_opt<CTestPattern * *,CTestPattern * *,std::random_access_iterator_tag,std::_Undefined_move_tag>
PUBLIC	??$_Unchecked_move_backward@PAPAVCTestPattern@@PAPAV1@@stdext@@YAPAPAVCTestPattern@@PAPAV1@00@Z ; stdext::_Unchecked_move_backward<CTestPattern * *,CTestPattern * *>
PUBLIC	?_Insert_n@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@IABQAVCTestPattern@@@Z ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_Insert_n
PUBLIC	??G?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEHABV01@@Z ; std::_Vector_const_iterator<CTestPattern *,std::allocator<CTestPattern *> >::operator-
PUBLIC	??Y?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_const_iterator<CTestPattern *,std::allocator<CTestPattern *> >::operator+=
PUBLIC	??Y?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_iterator<CTestPattern *,std::allocator<CTestPattern *> >::operator+=
PUBLIC	??H?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBE?AV01@H@Z ; std::_Vector_iterator<CTestPattern *,std::allocator<CTestPattern *> >::operator+
PUBLIC	?insert@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@V?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@ABQAVCTestPattern@@@Z ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::insert
PUBLIC	??$_Iter_cat@PAPAVCTestPattern@@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCTestPattern@@@Z ; std::_Iter_cat<CTestPattern * *>
PUBLIC	??$_Fill_n@PAPAVCTestPattern@@IPAV1@@std@@YAXPAPAVCTestPattern@@IABQAV1@U_Range_checked_iterator_tag@0@@Z ; std::_Fill_n<CTestPattern * *,unsigned int,CTestPattern *>
PUBLIC	??$_Fill_n@PAPAVCTestPattern@@IPAV1@@std@@YAXPAPAVCTestPattern@@IABQAV1@Urandom_access_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Fill_n<CTestPattern * *,unsigned int,CTestPattern *>
PUBLIC	??$unchecked_fill_n@PAPAVCTestPattern@@IPAV1@@stdext@@YAXPAPAVCTestPattern@@IABQAV1@@Z ; stdext::unchecked_fill_n<CTestPattern * *,unsigned int,CTestPattern *>
PUBLIC	??$_Uninit_fill_n@PAPAVCTestPattern@@IPAV1@V?$allocator@PAVCTestPattern@@@std@@@std@@YAXPAPAVCTestPattern@@IABQAV1@AAV?$allocator@PAVCTestPattern@@@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_fill_n<CTestPattern * *,unsigned int,CTestPattern *,std::allocator<CTestPattern *> >
PUBLIC	??$unchecked_uninitialized_fill_n@PAPAVCTestPattern@@IPAV1@V?$allocator@PAVCTestPattern@@@std@@@stdext@@YAXPAPAVCTestPattern@@IABQAV1@AAV?$allocator@PAVCTestPattern@@@std@@@Z ; stdext::unchecked_uninitialized_fill_n<CTestPattern * *,unsigned int,CTestPattern *,std::allocator<CTestPattern *> >
PUBLIC	?_Ufill@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEPAPAVCTestPattern@@PAPAV3@IABQAV3@@Z ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_Ufill
PUBLIC	?push_back@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEXABQAVCTestPattern@@@Z ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::push_back
PUBLIC	??_GCTestPattern@@QAEPAXI@Z			; CTestPattern::`scalar deleting destructor'
PUBLIC	?_Make_iter@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBE?AV?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@V?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@@Z ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_Make_iter
PUBLIC	??$_Destroy_range@V?$allocator@PAVCTestPattern@@@std@@@std@@YAXPAPAVCTestPattern@@0AAV?$allocator@PAVCTestPattern@@@0@U_Scalar_ptr_iterator_tag@0@@Z ; std::_Destroy_range<std::allocator<CTestPattern *> >
PUBLIC	??$_Destroy_range@V?$allocator@PAVCTestPattern@@@std@@@std@@YAXPAPAVCTestPattern@@0AAV?$allocator@PAVCTestPattern@@@0@@Z ; std::_Destroy_range<std::allocator<CTestPattern *> >
PUBLIC	?_Destroy@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXPAPAVCTestPattern@@0@Z ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_Destroy
PUBLIC	??$_Checked_base@PAPAVCTestPattern@@@std@@YAPAPAVCTestPattern@@AAPAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z ; std::_Checked_base<CTestPattern * *>
PUBLIC	??$_Checked_base@PAPAVCTestPattern@@@std@@YAPAPAVCTestPattern@@AAPAPAV1@@Z ; std::_Checked_base<CTestPattern * *>
PUBLIC	??$_Iter_random@PAPAVCTestPattern@@PAPAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCTestPattern@@0@Z ; std::_Iter_random<CTestPattern * *,CTestPattern * *>
PUBLIC	??$_Ptr_cat@PAPAVCTestPattern@@PAPAV1@@std@@YA?AU_Scalar_ptr_iterator_tag@0@AAPAPAVCTestPattern@@0@Z ; std::_Ptr_cat<CTestPattern * *,CTestPattern * *>
PUBLIC	??$_Copy_opt@PAPAVCTestPattern@@PAPAV1@Urandom_access_iterator_tag@std@@@std@@YAPAPAVCTestPattern@@PAPAV1@00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_opt<CTestPattern * *,CTestPattern * *,std::random_access_iterator_tag>
PUBLIC	??$unchecked_copy@PAPAVCTestPattern@@PAPAV1@@stdext@@YAPAPAVCTestPattern@@PAPAV1@00@Z ; stdext::unchecked_copy<CTestPattern * *,CTestPattern * *>
PUBLIC	?erase@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@V?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@0@Z ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::erase
PUBLIC	?clear@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEXXZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::clear
PUBLIC	?GetRawPointer@?$SmartPtr@VCCalibration@@@@QBEPAVCCalibration@@XZ ; SmartPtr<CCalibration>::GetRawPointer
PUBLIC	??C?$SmartPtr@VCCalibration@@@@QBEPAVCCalibration@@XZ ; SmartPtr<CCalibration>::operator->
PUBLIC	?begin@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@XZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::begin
PUBLIC	??0?$_Iterator_with_base@Urandom_access_iterator_tag@std@@PAVCTestPattern@@HPBQAV3@ABQAV3@V_Iterator_base_aux@2@@std@@QAE@XZ ; std::_Iterator_with_base<std::random_access_iterator_tag,CTestPattern *,int,CTestPattern * const *,CTestPattern * const &,std::_Iterator_base_aux>::_Iterator_with_base<std::random_access_iterator_tag,CTestPattern *,int,CTestPattern * const *,CTestPattern * const &,std::_Iterator_base_aux>
PUBLIC	??0?$_Ranit@PAVCTestPattern@@HPBQAV1@ABQAV1@@std@@QAE@XZ ; std::_Ranit<CTestPattern *,int,CTestPattern * const *,CTestPattern * const &>::_Ranit<CTestPattern *,int,CTestPattern * const *,CTestPattern * const &>
PUBLIC	??0?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@PAPAVCTestPattern@@PBV_Container_base_aux@1@@Z ; std::_Vector_const_iterator<CTestPattern *,std::allocator<CTestPattern *> >::_Vector_const_iterator<CTestPattern *,std::allocator<CTestPattern *> >
PUBLIC	??0?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@PAPAVCTestPattern@@PBV_Container_base_aux@1@@Z ; std::_Vector_iterator<CTestPattern *,std::allocator<CTestPattern *> >::_Vector_iterator<CTestPattern *,std::allocator<CTestPattern *> >
PUBLIC	?end@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@XZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::end
PUBLIC	??8?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<CTestPattern *,std::allocator<CTestPattern *> >::operator==
PUBLIC	??9?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<CTestPattern *,std::allocator<CTestPattern *> >::operator!=
PUBLIC	??D?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEABQAVCTestPattern@@XZ ; std::_Vector_const_iterator<CTestPattern *,std::allocator<CTestPattern *> >::operator*
PUBLIC	??D?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEAAPAVCTestPattern@@XZ ; std::_Vector_iterator<CTestPattern *,std::allocator<CTestPattern *> >::operator*
PUBLIC	??E?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEAAV01@XZ ; std::_Vector_const_iterator<CTestPattern *,std::allocator<CTestPattern *> >::operator++
PUBLIC	??E?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEAAV01@XZ ; std::_Vector_iterator<CTestPattern *,std::allocator<CTestPattern *> >::operator++
PUBLIC	?size@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEIXZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::size
PUBLIC	??A?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEAAPAVCTestPattern@@I@Z ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::operator[]
PUBLIC	??_GCCalSetting@@QAEPAXI@Z			; CCalSetting::`scalar deleting destructor'
PUBLIC	??0?$SmartPtr@VCCalibration@@@@QAE@XZ		; SmartPtr<CCalibration>::SmartPtr<CCalibration>
PUBLIC	??_GCCalibration@@QAEPAXI@Z			; CCalibration::`scalar deleting destructor'
PUBLIC	?Clear@?$SmartPtr@VCCalibration@@@@QAEXXZ	; SmartPtr<CCalibration>::Clear
PUBLIC	??1?$SmartPtr@VCCalibration@@@@QAE@XZ		; SmartPtr<CCalibration>::~SmartPtr<CCalibration>
PUBLIC	??_C@_1FC@HFOFCKJD@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAs?$AAa?$AAv?$AAe?$AAd?$AA?5?$AAv?$AAa@ ; `string'
PUBLIC	??_C@_1FI@GKHJOHH@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAr?$AAe?$AAs?$AAt?$AAo?$AAr?$AAe?$AAd@ ; `string'
PUBLIC	??_C@_1GG@LEFHFPEN@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAr?$AAa?$AAn?$AAg?$AAe?$AA?5?$AA?$DN?$AA?$DO@ ; `string'
PUBLIC	??_C@_1IK@IBKBBCCF@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAf?$AAi?$AAn?$AAi?$AAs?$AAh?$AAe?$AAd@ ; `string'
PUBLIC	??_C@_1HC@OCGKBHGJ@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAv?$AAa?$AAl?$AAu?$AAe?$AA?5?$AA?$CF?$AAd@ ; `string'
PUBLIC	??_C@_1BG@GFADEHJB@?$AA?2?$AAp?$AAa?$AAt?$AAt?$AAe?$AAr?$AAn?$AAs?$AA?2?$AA?$AA@ ; `string'
PUBLIC	??_C@_1CA@GNLDKAKF@?$AAc?$AAa?$AAr?$AAd?$AA_?$AAc?$AAa?$AAl?$AAi?$AAb?$AAr?$AA?4?$AAd?$AA3?$AAu?$AA?$AA@ ; `string'
PUBLIC	??_C@_13BPINEIPE@?$AAr?$AA?$AA@			; `string'
PUBLIC	??_C@_15GKAHMKIN@?$AA?3?$AA?2?$AA?$AA@		; `string'
PUBLIC	??_C@_1CA@JNGLAOPL@?$AAC?$AAh?$AAe?$AAc?$AAk?$AA?5?$AAY?$AAU?$AAV?$AA?5?$AAR?$AAa?$AAn?$AAg?$AAe?$AA?$AA@ ; `string'
PUBLIC	??_C@_1CC@LABEMKEJ@?$AAD?$AAS?$AAc?$AAa?$AAl?$AAe?$AAr?$AA?5?$AAQ?$AAu?$AAe?$AAs?$AAt?$AAi?$AAo?$AAn?$AA?$AA@ ; `string'
PUBLIC	??_C@_1FG@CFJGHNFM@?$AAD?$AAo?$AA?5?$AAy?$AAo?$AAu?$AA?5?$AAw?$AAa?$AAn?$AAt?$AA?5?$AAt?$AAo?$AA?5?$AAk?$AAe?$AAe?$AAp?$AA?5?$AAt?$AAh?$AAe?$AA?5?$AAc?$AAu?$AAr?$AAr?$AAe?$AAn?$AAt?$AA?5@ ; `string'
PUBLIC	??_C@_1HI@JPJHJDPN@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAb?$AAr?$AAi?$AAg?$AAh?$AAt?$AAn?$AAe@ ; `string'
PUBLIC	??_C@_1HC@MMMFCCMM@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAb?$AAr?$AAi?$AAg?$AAh?$AAt?$AAn?$AAe@ ; `string'
PUBLIC	??_C@_1HE@BGINHCLM@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAc?$AAo?$AAn?$AAt?$AAr?$AAa?$AAs?$AAt@ ; `string'
PUBLIC	??_C@_1GO@IAMNBDKG@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAc?$AAo?$AAn?$AAt?$AAr?$AAa?$AAs?$AAt@ ; `string'
PUBLIC	??_C@_1GM@GMEHBFDI@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAb?$AAr?$AAi?$AAg?$AAh?$AAt?$AAn?$AAe@ ; `string'
PUBLIC	??_C@_1HM@EDNAJJNN@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAs?$AAa?$AAt?$AAu?$AAr?$AAa?$AAt?$AAi@ ; `string'
PUBLIC	??_C@_1HG@JGIFMOMN@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAs?$AAa?$AAt?$AAu?$AAr?$AAa?$AAt?$AAi@ ; `string'
PUBLIC	??_C@_1HM@EBDOGDAH@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAs?$AAa?$AAt?$AAu?$AAr?$AAa?$AAt?$AAi@ ; `string'
PUBLIC	??_C@_1HG@NAFHPLKJ@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAs?$AAa?$AAt?$AAu?$AAr?$AAa?$AAt?$AAi@ ; `string'
PUBLIC	??_C@_1GK@JINJMOLL@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAh?$AAu?$AAe?$AA?5?$AA?9?$AA?5?$AAr?$AAe@ ; `string'
PUBLIC	??_C@_1IK@HGDKNJBL@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAs?$AAa?$AAt?$AAu?$AAr?$AAa?$AAt?$AAi@ ; `string'
PUBLIC	?CalibrSettings@@3PAUSETTING@@A			; CalibrSettings
EXTRN	_wcsncmp:PROC
EXTRN	__wstat64i32:PROC
EXTRN	_fgetws:PROC
EXTRN	_feof:PROC
;	COMDAT ??_C@_0N@KFOLLALP@ShowYUVDelta?$AA@
CONST	SEGMENT
??_C@_0N@KFOLLALP@ShowYUVDelta?$AA@ DB 'ShowYUVDelta', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BG@DCHHLLCO@Show?5YUV?5delta?5in?5OSD?$AA@
CONST	SEGMENT
??_C@_0BG@DCHHLLCO@Show?5YUV?5delta?5in?5OSD?$AA@ DB 'Show YUV delta in O'
	DB	'SD', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0N@IKLBKAOJ@ShowRGBDelta?$AA@
CONST	SEGMENT
??_C@_0N@IKLBKAOJ@ShowRGBDelta?$AA@ DB 'ShowRGBDelta', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BG@CIGEEOOF@Show?5RGB?5delta?5in?5OSD?$AA@
CONST	SEGMENT
??_C@_0BG@CIGEEOOF@Show?5RGB?5delta?5in?5OSD?$AA@ DB 'Show RGB delta in O'
	DB	'SD', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0BE@PLOFMNKP@RightPlayerCropping?$AA@
CONST	SEGMENT
??_C@_0BE@PLOFMNKP@RightPlayerCropping?$AA@ DB 'RightPlayerCropping', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BG@EICEBMB@Right?5player?5cropping?$AA@
CONST	SEGMENT
??_C@_0BG@EICEBMB@Right?5player?5cropping?$AA@ DB 'Right player cropping', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BD@GNDGIKEJ@LeftPlayerCropping?$AA@
CONST	SEGMENT
??_C@_0BD@GNDGIKEJ@LeftPlayerCropping?$AA@ DB 'LeftPlayerCropping', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0M@LBIOEIOA@Calibration?$AA@
CONST	SEGMENT
??_C@_0M@LBIOEIOA@Calibration?$AA@ DB 'Calibration', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BF@OEBOFHEL@Left?5player?5cropping?$AA@
CONST	SEGMENT
??_C@_0BF@OEBOFHEL@Left?5player?5cropping?$AA@ DB 'Left player cropping', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1IK@HGDKNJBL@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAs?$AAa?$AAt?$AAu?$AAr?$AAa?$AAt?$AAi@
CONST	SEGMENT
??_C@_1IK@HGDKNJBL@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAs?$AAa?$AAt?$AAu?$AAr?$AAa?$AAt?$AAi@ DB 'A'
	DB	00H, 'u', 00H, 't', 00H, 'o', 00H, 'm', 00H, 'a', 00H, 't', 00H
	DB	'i', 00H, 'c', 00H, ' ', 00H, 'C', 00H, 'a', 00H, 'l', 00H, 'i'
	DB	00H, 'b', 00H, 'r', 00H, 'a', 00H, 't', 00H, 'i', 00H, 'o', 00H
	DB	'n', 00H, ' ', 00H, '-', 00H, ' ', 00H, 's', 00H, 'a', 00H, 't'
	DB	00H, 'u', 00H, 'r', 00H, 'a', 00H, 't', 00H, 'i', 00H, 'o', 00H
	DB	'n', 00H, ' ', 00H, 'U', 00H, ' ', 00H, '+', 00H, ' ', 00H, '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, '+'
	DB	00H, ' ', 00H, 'h', 00H, 'u', 00H, 'e', 00H, ' ', 00H, '-', 00H
	DB	' ', 00H, '%', 00H, 'd', 00H, ' ', 00H, '%', 00H, 'd', 00H, ' '
	DB	00H, '%', 00H, 'd', 00H, 00H, 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_1GK@JINJMOLL@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAh?$AAu?$AAe?$AA?5?$AA?9?$AA?5?$AAr?$AAe@
CONST	SEGMENT
??_C@_1GK@JINJMOLL@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAh?$AAu?$AAe?$AA?5?$AA?9?$AA?5?$AAr?$AAe@ DB 'A'
	DB	00H, 'u', 00H, 't', 00H, 'o', 00H, 'm', 00H, 'a', 00H, 't', 00H
	DB	'i', 00H, 'c', 00H, ' ', 00H, 'C', 00H, 'a', 00H, 'l', 00H, 'i'
	DB	00H, 'b', 00H, 'r', 00H, 'a', 00H, 't', 00H, 'i', 00H, 'o', 00H
	DB	'n', 00H, ' ', 00H, '-', 00H, ' ', 00H, 'h', 00H, 'u', 00H, 'e'
	DB	00H, ' ', 00H, '-', 00H, ' ', 00H, 'r', 00H, 'e', 00H, 'd', 00H
	DB	'u', 00H, 'c', 00H, 'e', 00H, 'd', 00H, ' ', 00H, 'r', 00H, 'a'
	DB	00H, 'n', 00H, 'g', 00H, 'e', 00H, ' ', 00H, '-', 00H, ' ', 00H
	DB	't', 00H, 'r', 00H, 'y', 00H, ' ', 00H, '%', 00H, 'd', 00H, 00H
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_1HG@NAFHPLKJ@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAs?$AAa?$AAt?$AAu?$AAr?$AAa?$AAt?$AAi@
CONST	SEGMENT
??_C@_1HG@NAFHPLKJ@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAs?$AAa?$AAt?$AAu?$AAr?$AAa?$AAt?$AAi@ DB 'A'
	DB	00H, 'u', 00H, 't', 00H, 'o', 00H, 'm', 00H, 'a', 00H, 't', 00H
	DB	'i', 00H, 'c', 00H, ' ', 00H, 'C', 00H, 'a', 00H, 'l', 00H, 'i'
	DB	00H, 'b', 00H, 'r', 00H, 'a', 00H, 't', 00H, 'i', 00H, 'o', 00H
	DB	'n', 00H, ' ', 00H, '-', 00H, ' ', 00H, 's', 00H, 'a', 00H, 't'
	DB	00H, 'u', 00H, 'r', 00H, 'a', 00H, 't', 00H, 'i', 00H, 'o', 00H
	DB	'n', 00H, ' ', 00H, 'V', 00H, ' ', 00H, '-', 00H, ' ', 00H, 'f'
	DB	00H, 'u', 00H, 'l', 00H, 'l', 00H, ' ', 00H, 'r', 00H, 'a', 00H
	DB	'n', 00H, 'g', 00H, 'e', 00H, ' ', 00H, '-', 00H, ' ', 00H, 't'
	DB	00H, 'r', 00H, 'y', 00H, ' ', 00H, '%', 00H, 'd', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1HM@EBDOGDAH@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAs?$AAa?$AAt?$AAu?$AAr?$AAa?$AAt?$AAi@
CONST	SEGMENT
??_C@_1HM@EBDOGDAH@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAs?$AAa?$AAt?$AAu?$AAr?$AAa?$AAt?$AAi@ DB 'A'
	DB	00H, 'u', 00H, 't', 00H, 'o', 00H, 'm', 00H, 'a', 00H, 't', 00H
	DB	'i', 00H, 'c', 00H, ' ', 00H, 'C', 00H, 'a', 00H, 'l', 00H, 'i'
	DB	00H, 'b', 00H, 'r', 00H, 'a', 00H, 't', 00H, 'i', 00H, 'o', 00H
	DB	'n', 00H, ' ', 00H, '-', 00H, ' ', 00H, 's', 00H, 'a', 00H, 't'
	DB	00H, 'u', 00H, 'r', 00H, 'a', 00H, 't', 00H, 'i', 00H, 'o', 00H
	DB	'n', 00H, ' ', 00H, 'V', 00H, ' ', 00H, '-', 00H, ' ', 00H, 'r'
	DB	00H, 'e', 00H, 'd', 00H, 'u', 00H, 'c', 00H, 'e', 00H, 'd', 00H
	DB	' ', 00H, 'r', 00H, 'a', 00H, 'n', 00H, 'g', 00H, 'e', 00H, ' '
	DB	00H, '-', 00H, ' ', 00H, 't', 00H, 'r', 00H, 'y', 00H, ' ', 00H
	DB	'%', 00H, 'd', 00H, 00H, 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_1HG@JGIFMOMN@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAs?$AAa?$AAt?$AAu?$AAr?$AAa?$AAt?$AAi@
CONST	SEGMENT
??_C@_1HG@JGIFMOMN@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAs?$AAa?$AAt?$AAu?$AAr?$AAa?$AAt?$AAi@ DB 'A'
	DB	00H, 'u', 00H, 't', 00H, 'o', 00H, 'm', 00H, 'a', 00H, 't', 00H
	DB	'i', 00H, 'c', 00H, ' ', 00H, 'C', 00H, 'a', 00H, 'l', 00H, 'i'
	DB	00H, 'b', 00H, 'r', 00H, 'a', 00H, 't', 00H, 'i', 00H, 'o', 00H
	DB	'n', 00H, ' ', 00H, '-', 00H, ' ', 00H, 's', 00H, 'a', 00H, 't'
	DB	00H, 'u', 00H, 'r', 00H, 'a', 00H, 't', 00H, 'i', 00H, 'o', 00H
	DB	'n', 00H, ' ', 00H, 'U', 00H, ' ', 00H, '-', 00H, ' ', 00H, 'f'
	DB	00H, 'u', 00H, 'l', 00H, 'l', 00H, ' ', 00H, 'r', 00H, 'a', 00H
	DB	'n', 00H, 'g', 00H, 'e', 00H, ' ', 00H, '-', 00H, ' ', 00H, 't'
	DB	00H, 'r', 00H, 'y', 00H, ' ', 00H, '%', 00H, 'd', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1HM@EDNAJJNN@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAs?$AAa?$AAt?$AAu?$AAr?$AAa?$AAt?$AAi@
CONST	SEGMENT
??_C@_1HM@EDNAJJNN@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAs?$AAa?$AAt?$AAu?$AAr?$AAa?$AAt?$AAi@ DB 'A'
	DB	00H, 'u', 00H, 't', 00H, 'o', 00H, 'm', 00H, 'a', 00H, 't', 00H
	DB	'i', 00H, 'c', 00H, ' ', 00H, 'C', 00H, 'a', 00H, 'l', 00H, 'i'
	DB	00H, 'b', 00H, 'r', 00H, 'a', 00H, 't', 00H, 'i', 00H, 'o', 00H
	DB	'n', 00H, ' ', 00H, '-', 00H, ' ', 00H, 's', 00H, 'a', 00H, 't'
	DB	00H, 'u', 00H, 'r', 00H, 'a', 00H, 't', 00H, 'i', 00H, 'o', 00H
	DB	'n', 00H, ' ', 00H, 'U', 00H, ' ', 00H, '-', 00H, ' ', 00H, 'r'
	DB	00H, 'e', 00H, 'd', 00H, 'u', 00H, 'c', 00H, 'e', 00H, 'd', 00H
	DB	' ', 00H, 'r', 00H, 'a', 00H, 'n', 00H, 'g', 00H, 'e', 00H, ' '
	DB	00H, '-', 00H, ' ', 00H, 't', 00H, 'r', 00H, 'y', 00H, ' ', 00H
	DB	'%', 00H, 'd', 00H, 00H, 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_1GM@GMEHBFDI@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAb?$AAr?$AAi?$AAg?$AAh?$AAt?$AAn?$AAe@
CONST	SEGMENT
??_C@_1GM@GMEHBFDI@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAb?$AAr?$AAi?$AAg?$AAh?$AAt?$AAn?$AAe@ DB 'A'
	DB	00H, 'u', 00H, 't', 00H, 'o', 00H, 'm', 00H, 'a', 00H, 't', 00H
	DB	'i', 00H, 'c', 00H, ' ', 00H, 'C', 00H, 'a', 00H, 'l', 00H, 'i'
	DB	00H, 'b', 00H, 'r', 00H, 'a', 00H, 't', 00H, 'i', 00H, 'o', 00H
	DB	'n', 00H, ' ', 00H, '-', 00H, ' ', 00H, 'b', 00H, 'r', 00H, 'i'
	DB	00H, 'g', 00H, 'h', 00H, 't', 00H, 'n', 00H, 'e', 00H, 's', 00H
	DB	's', 00H, ' ', 00H, '+', 00H, ' ', 00H, 'c', 00H, 'o', 00H, 'n'
	DB	00H, 't', 00H, 'r', 00H, 'a', 00H, 's', 00H, 't', 00H, ' ', 00H
	DB	'-', 00H, ' ', 00H, '%', 00H, 'd', 00H, ' ', 00H, '%', 00H, 'd'
	DB	00H, 00H, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_1GO@IAMNBDKG@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAc?$AAo?$AAn?$AAt?$AAr?$AAa?$AAs?$AAt@
CONST	SEGMENT
??_C@_1GO@IAMNBDKG@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAc?$AAo?$AAn?$AAt?$AAr?$AAa?$AAs?$AAt@ DB 'A'
	DB	00H, 'u', 00H, 't', 00H, 'o', 00H, 'm', 00H, 'a', 00H, 't', 00H
	DB	'i', 00H, 'c', 00H, ' ', 00H, 'C', 00H, 'a', 00H, 'l', 00H, 'i'
	DB	00H, 'b', 00H, 'r', 00H, 'a', 00H, 't', 00H, 'i', 00H, 'o', 00H
	DB	'n', 00H, ' ', 00H, '-', 00H, ' ', 00H, 'c', 00H, 'o', 00H, 'n'
	DB	00H, 't', 00H, 'r', 00H, 'a', 00H, 's', 00H, 't', 00H, ' ', 00H
	DB	'-', 00H, ' ', 00H, 'f', 00H, 'u', 00H, 'l', 00H, 'l', 00H, ' '
	DB	00H, 'r', 00H, 'a', 00H, 'n', 00H, 'g', 00H, 'e', 00H, ' ', 00H
	DB	'-', 00H, ' ', 00H, 't', 00H, 'r', 00H, 'y', 00H, ' ', 00H, '%'
	DB	00H, 'd', 00H, 00H, 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_1HE@BGINHCLM@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAc?$AAo?$AAn?$AAt?$AAr?$AAa?$AAs?$AAt@
CONST	SEGMENT
??_C@_1HE@BGINHCLM@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAc?$AAo?$AAn?$AAt?$AAr?$AAa?$AAs?$AAt@ DB 'A'
	DB	00H, 'u', 00H, 't', 00H, 'o', 00H, 'm', 00H, 'a', 00H, 't', 00H
	DB	'i', 00H, 'c', 00H, ' ', 00H, 'C', 00H, 'a', 00H, 'l', 00H, 'i'
	DB	00H, 'b', 00H, 'r', 00H, 'a', 00H, 't', 00H, 'i', 00H, 'o', 00H
	DB	'n', 00H, ' ', 00H, '-', 00H, ' ', 00H, 'c', 00H, 'o', 00H, 'n'
	DB	00H, 't', 00H, 'r', 00H, 'a', 00H, 's', 00H, 't', 00H, ' ', 00H
	DB	'-', 00H, ' ', 00H, 'r', 00H, 'e', 00H, 'd', 00H, 'u', 00H, 'c'
	DB	00H, 'e', 00H, 'd', 00H, ' ', 00H, 'r', 00H, 'a', 00H, 'n', 00H
	DB	'g', 00H, 'e', 00H, ' ', 00H, '-', 00H, ' ', 00H, 't', 00H, 'r'
	DB	00H, 'y', 00H, ' ', 00H, '%', 00H, 'd', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1HC@MMMFCCMM@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAb?$AAr?$AAi?$AAg?$AAh?$AAt?$AAn?$AAe@
CONST	SEGMENT
??_C@_1HC@MMMFCCMM@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAb?$AAr?$AAi?$AAg?$AAh?$AAt?$AAn?$AAe@ DB 'A'
	DB	00H, 'u', 00H, 't', 00H, 'o', 00H, 'm', 00H, 'a', 00H, 't', 00H
	DB	'i', 00H, 'c', 00H, ' ', 00H, 'C', 00H, 'a', 00H, 'l', 00H, 'i'
	DB	00H, 'b', 00H, 'r', 00H, 'a', 00H, 't', 00H, 'i', 00H, 'o', 00H
	DB	'n', 00H, ' ', 00H, '-', 00H, ' ', 00H, 'b', 00H, 'r', 00H, 'i'
	DB	00H, 'g', 00H, 'h', 00H, 't', 00H, 'n', 00H, 'e', 00H, 's', 00H
	DB	's', 00H, ' ', 00H, '-', 00H, ' ', 00H, 'f', 00H, 'u', 00H, 'l'
	DB	00H, 'l', 00H, ' ', 00H, 'r', 00H, 'a', 00H, 'n', 00H, 'g', 00H
	DB	'e', 00H, ' ', 00H, '-', 00H, ' ', 00H, 't', 00H, 'r', 00H, 'y'
	DB	00H, ' ', 00H, '%', 00H, 'd', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_1HI@JPJHJDPN@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAb?$AAr?$AAi?$AAg?$AAh?$AAt?$AAn?$AAe@
CONST	SEGMENT
??_C@_1HI@JPJHJDPN@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAb?$AAr?$AAi?$AAg?$AAh?$AAt?$AAn?$AAe@ DB 'A'
	DB	00H, 'u', 00H, 't', 00H, 'o', 00H, 'm', 00H, 'a', 00H, 't', 00H
	DB	'i', 00H, 'c', 00H, ' ', 00H, 'C', 00H, 'a', 00H, 'l', 00H, 'i'
	DB	00H, 'b', 00H, 'r', 00H, 'a', 00H, 't', 00H, 'i', 00H, 'o', 00H
	DB	'n', 00H, ' ', 00H, '-', 00H, ' ', 00H, 'b', 00H, 'r', 00H, 'i'
	DB	00H, 'g', 00H, 'h', 00H, 't', 00H, 'n', 00H, 'e', 00H, 's', 00H
	DB	's', 00H, ' ', 00H, '-', 00H, ' ', 00H, 'r', 00H, 'e', 00H, 'd'
	DB	00H, 'u', 00H, 'c', 00H, 'e', 00H, 'd', 00H, ' ', 00H, 'r', 00H
	DB	'a', 00H, 'n', 00H, 'g', 00H, 'e', 00H, ' ', 00H, '-', 00H, ' '
	DB	00H, 't', 00H, 'r', 00H, 'y', 00H, ' ', 00H, '%', 00H, 'd', 00H
	DB	00H, 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_1FG@CFJGHNFM@?$AAD?$AAo?$AA?5?$AAy?$AAo?$AAu?$AA?5?$AAw?$AAa?$AAn?$AAt?$AA?5?$AAt?$AAo?$AA?5?$AAk?$AAe?$AAe?$AAp?$AA?5?$AAt?$AAh?$AAe?$AA?5?$AAc?$AAu?$AAr?$AAr?$AAe?$AAn?$AAt?$AA?5@
CONST	SEGMENT
??_C@_1FG@CFJGHNFM@?$AAD?$AAo?$AA?5?$AAy?$AAo?$AAu?$AA?5?$AAw?$AAa?$AAn?$AAt?$AA?5?$AAt?$AAo?$AA?5?$AAk?$AAe?$AAe?$AAp?$AA?5?$AAt?$AAh?$AAe?$AA?5?$AAc?$AAu?$AAr?$AAr?$AAe?$AAn?$AAt?$AA?5@ DB 'D'
	DB	00H, 'o', 00H, ' ', 00H, 'y', 00H, 'o', 00H, 'u', 00H, ' ', 00H
	DB	'w', 00H, 'a', 00H, 'n', 00H, 't', 00H, ' ', 00H, 't', 00H, 'o'
	DB	00H, ' ', 00H, 'k', 00H, 'e', 00H, 'e', 00H, 'p', 00H, ' ', 00H
	DB	't', 00H, 'h', 00H, 'e', 00H, ' ', 00H, 'c', 00H, 'u', 00H, 'r'
	DB	00H, 'r', 00H, 'e', 00H, 'n', 00H, 't', 00H, ' ', 00H, 's', 00H
	DB	'e', 00H, 't', 00H, 't', 00H, 'i', 00H, 'n', 00H, 'g', 00H, 's'
	DB	00H, ' ', 00H, '?', 00H, 00H, 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_1CC@LABEMKEJ@?$AAD?$AAS?$AAc?$AAa?$AAl?$AAe?$AAr?$AA?5?$AAQ?$AAu?$AAe?$AAs?$AAt?$AAi?$AAo?$AAn?$AA?$AA@
CONST	SEGMENT
??_C@_1CC@LABEMKEJ@?$AAD?$AAS?$AAc?$AAa?$AAl?$AAe?$AAr?$AA?5?$AAQ?$AAu?$AAe?$AAs?$AAt?$AAi?$AAo?$AAn?$AA?$AA@ DB 'D'
	DB	00H, 'S', 00H, 'c', 00H, 'a', 00H, 'l', 00H, 'e', 00H, 'r', 00H
	DB	' ', 00H, 'Q', 00H, 'u', 00H, 'e', 00H, 's', 00H, 't', 00H, 'i'
	DB	00H, 'o', 00H, 'n', 00H, 00H, 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_1CA@JNGLAOPL@?$AAC?$AAh?$AAe?$AAc?$AAk?$AA?5?$AAY?$AAU?$AAV?$AA?5?$AAR?$AAa?$AAn?$AAg?$AAe?$AA?$AA@
CONST	SEGMENT
??_C@_1CA@JNGLAOPL@?$AAC?$AAh?$AAe?$AAc?$AAk?$AA?5?$AAY?$AAU?$AAV?$AA?5?$AAR?$AAa?$AAn?$AAg?$AAe?$AA?$AA@ DB 'C'
	DB	00H, 'h', 00H, 'e', 00H, 'c', 00H, 'k', 00H, ' ', 00H, 'Y', 00H
	DB	'U', 00H, 'V', 00H, ' ', 00H, 'R', 00H, 'a', 00H, 'n', 00H, 'g'
	DB	00H, 'e', 00H, 00H, 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_15GKAHMKIN@?$AA?3?$AA?2?$AA?$AA@
CONST	SEGMENT
??_C@_15GKAHMKIN@?$AA?3?$AA?2?$AA?$AA@ DB ':', 00H, '\', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_13BPINEIPE@?$AAr?$AA?$AA@
CONST	SEGMENT
??_C@_13BPINEIPE@?$AAr?$AA?$AA@ DB 'r', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_1CA@GNLDKAKF@?$AAc?$AAa?$AAr?$AAd?$AA_?$AAc?$AAa?$AAl?$AAi?$AAb?$AAr?$AA?4?$AAd?$AA3?$AAu?$AA?$AA@
CONST	SEGMENT
??_C@_1CA@GNLDKAKF@?$AAc?$AAa?$AAr?$AAd?$AA_?$AAc?$AAa?$AAl?$AAi?$AAb?$AAr?$AA?4?$AAd?$AA3?$AAu?$AA?$AA@ DB 'c'
	DB	00H, 'a', 00H, 'r', 00H, 'd', 00H, '_', 00H, 'c', 00H, 'a', 00H
	DB	'l', 00H, 'i', 00H, 'b', 00H, 'r', 00H, '.', 00H, 'd', 00H, '3'
	DB	00H, 'u', 00H, 00H, 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_1BG@GFADEHJB@?$AA?2?$AAp?$AAa?$AAt?$AAt?$AAe?$AAr?$AAn?$AAs?$AA?2?$AA?$AA@
CONST	SEGMENT
??_C@_1BG@GFADEHJB@?$AA?2?$AAp?$AAa?$AAt?$AAt?$AAe?$AAr?$AAn?$AAs?$AA?2?$AA?$AA@ DB '\'
	DB	00H, 'p', 00H, 'a', 00H, 't', 00H, 't', 00H, 'e', 00H, 'r', 00H
	DB	'n', 00H, 's', 00H, '\', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_1HC@OCGKBHGJ@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAv?$AAa?$AAl?$AAu?$AAe?$AA?5?$AA?$CF?$AAd@
CONST	SEGMENT
??_C@_1HC@OCGKBHGJ@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAv?$AAa?$AAl?$AAu?$AAe?$AA?5?$AA?$CF?$AAd@ DB 'A'
	DB	00H, 'u', 00H, 't', 00H, 'o', 00H, 'm', 00H, 'a', 00H, 't', 00H
	DB	'i', 00H, 'c', 00H, ' ', 00H, 'C', 00H, 'a', 00H, 'l', 00H, 'i'
	DB	00H, 'b', 00H, 'r', 00H, 'a', 00H, 't', 00H, 'i', 00H, 'o', 00H
	DB	'n', 00H, ' ', 00H, '-', 00H, ' ', 00H, 'v', 00H, 'a', 00H, 'l'
	DB	00H, 'u', 00H, 'e', 00H, ' ', 00H, '%', 00H, 'd', 00H, ' ', 00H
	DB	'=', 00H, '>', 00H, ' ', 00H, 'r', 00H, 'e', 00H, 's', 00H, 'u'
	DB	00H, 'l', 00H, 't', 00H, ' ', 00H, '=', 00H, ' ', 00H, '%', 00H
	DB	'd', 00H, ' ', 00H, 'm', 00H, 'i', 00H, 'n', 00H, ' ', 00H, '='
	DB	00H, ' ', 00H, '%', 00H, 'd', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_1IK@IBKBBCCF@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAf?$AAi?$AAn?$AAi?$AAs?$AAh?$AAe?$AAd@
CONST	SEGMENT
??_C@_1IK@IBKBBCCF@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAf?$AAi?$AAn?$AAi?$AAs?$AAh?$AAe?$AAd@ DB 'A'
	DB	00H, 'u', 00H, 't', 00H, 'o', 00H, 'm', 00H, 'a', 00H, 't', 00H
	DB	'i', 00H, 'c', 00H, ' ', 00H, 'C', 00H, 'a', 00H, 'l', 00H, 'i'
	DB	00H, 'b', 00H, 'r', 00H, 'a', 00H, 't', 00H, 'i', 00H, 'o', 00H
	DB	'n', 00H, ' ', 00H, '-', 00H, ' ', 00H, 'f', 00H, 'i', 00H, 'n'
	DB	00H, 'i', 00H, 's', 00H, 'h', 00H, 'e', 00H, 'd', 00H, ' ', 00H
	DB	'-', 00H, ' ', 00H, '%', 00H, 'd', 00H, ' ', 00H, 'v', 00H, 'a'
	DB	00H, 'l', 00H, 'u', 00H, 'e', 00H, 's', 00H, ' ', 00H, 'b', 00H
	DB	'e', 00H, 't', 00H, 'w', 00H, 'e', 00H, 'e', 00H, 'n', 00H, ' '
	DB	00H, '%', 00H, 'd', 00H, ' ', 00H, 'a', 00H, 'n', 00H, 'd', 00H
	DB	' ', 00H, '%', 00H, 'd', 00H, ' ', 00H, '=', 00H, '>', 00H, ' '
	DB	00H, '%', 00H, 'd', 00H, 00H, 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_1GG@LEFHFPEN@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAr?$AAa?$AAn?$AAg?$AAe?$AA?5?$AA?$DN?$AA?$DO@
CONST	SEGMENT
??_C@_1GG@LEFHFPEN@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAr?$AAa?$AAn?$AAg?$AAe?$AA?5?$AA?$DN?$AA?$DO@ DB 'A'
	DB	00H, 'u', 00H, 't', 00H, 'o', 00H, 'm', 00H, 'a', 00H, 't', 00H
	DB	'i', 00H, 'c', 00H, ' ', 00H, 'C', 00H, 'a', 00H, 'l', 00H, 'i'
	DB	00H, 'b', 00H, 'r', 00H, 'a', 00H, 't', 00H, 'i', 00H, 'o', 00H
	DB	'n', 00H, ' ', 00H, '-', 00H, ' ', 00H, 'r', 00H, 'a', 00H, 'n'
	DB	00H, 'g', 00H, 'e', 00H, ' ', 00H, '=', 00H, '>', 00H, ' ', 00H
	DB	'm', 00H, 'i', 00H, 'n', 00H, ' ', 00H, '=', 00H, ' ', 00H, '%'
	DB	00H, 'd', 00H, ' ', 00H, 'm', 00H, 'a', 00H, 'x', 00H, ' ', 00H
	DB	'=', 00H, ' ', 00H, '%', 00H, 'd', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1FI@GKHJOHH@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAr?$AAe?$AAs?$AAt?$AAo?$AAr?$AAe?$AAd@
CONST	SEGMENT
??_C@_1FI@GKHJOHH@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAr?$AAe?$AAs?$AAt?$AAo?$AAr?$AAe?$AAd@ DB 'A'
	DB	00H, 'u', 00H, 't', 00H, 'o', 00H, 'm', 00H, 'a', 00H, 't', 00H
	DB	'i', 00H, 'c', 00H, ' ', 00H, 'C', 00H, 'a', 00H, 'l', 00H, 'i'
	DB	00H, 'b', 00H, 'r', 00H, 'a', 00H, 't', 00H, 'i', 00H, 'o', 00H
	DB	'n', 00H, ' ', 00H, '-', 00H, ' ', 00H, 'r', 00H, 'e', 00H, 's'
	DB	00H, 't', 00H, 'o', 00H, 'r', 00H, 'e', 00H, 'd', 00H, ' ', 00H
	DB	'v', 00H, 'a', 00H, 'l', 00H, 'u', 00H, 'e', 00H, ' ', 00H, '='
	DB	00H, ' ', 00H, '%', 00H, 'd', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_1FC@HFOFCKJD@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAs?$AAa?$AAv?$AAe?$AAd?$AA?5?$AAv?$AAa@
CONST	SEGMENT
??_C@_1FC@HFOFCKJD@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAs?$AAa?$AAv?$AAe?$AAd?$AA?5?$AAv?$AAa@ DB 'A'
	DB	00H, 'u', 00H, 't', 00H, 'o', 00H, 'm', 00H, 'a', 00H, 't', 00H
	DB	'i', 00H, 'c', 00H, ' ', 00H, 'C', 00H, 'a', 00H, 'l', 00H, 'i'
	DB	00H, 'b', 00H, 'r', 00H, 'a', 00H, 't', 00H, 'i', 00H, 'o', 00H
	DB	'n', 00H, ' ', 00H, '-', 00H, ' ', 00H, 's', 00H, 'a', 00H, 'v'
	DB	00H, 'e', 00H, 'd', 00H, ' ', 00H, 'v', 00H, 'a', 00H, 'l', 00H
	DB	'u', 00H, 'e', 00H, ' ', 00H, '=', 00H, ' ', 00H, '%', 00H, 'd'
	DB	00H, 00H, 00H				; `string'
_ShowRGBDelta DD 01H
_ShowYUVDelta DD 01H
?CalibrSettings@@3PAUSETTING@@A DD FLAT:??_C@_0BF@OEBOFHEL@Left?5player?5cropping?$AA@ ; CalibrSettings
	DD	04H
	DD	00H
	DD	FLAT:?LeftCropping@@3JA
	DD	08H
	DD	00H
	DD	032H
	DD	01H
	DD	01H
	DD	00H
	DD	FLAT:??_C@_0M@LBIOEIOA@Calibration?$AA@
	DD	FLAT:??_C@_0BD@GNDGIKEJ@LeftPlayerCropping?$AA@
	DD	00H
	DD	FLAT:??_C@_0BG@EICEBMB@Right?5player?5cropping?$AA@
	DD	04H
	DD	00H
	DD	FLAT:?RightCropping@@3JA
	DD	010H
	DD	00H
	DD	032H
	DD	01H
	DD	01H
	DD	00H
	DD	FLAT:??_C@_0M@LBIOEIOA@Calibration?$AA@
	DD	FLAT:??_C@_0BE@PLOFMNKP@RightPlayerCropping?$AA@
	DD	00H
	DD	FLAT:??_C@_0BG@CIGEEOOF@Show?5RGB?5delta?5in?5OSD?$AA@
	DD	01H
	DD	00H
	DD	FLAT:_ShowRGBDelta
	DD	01H
	DD	00H
	DD	01H
	DD	01H
	DD	01H
	DD	00H
	DD	FLAT:??_C@_0M@LBIOEIOA@Calibration?$AA@
	DD	FLAT:??_C@_0N@IKLBKAOJ@ShowRGBDelta?$AA@
	DD	00H
	DD	FLAT:??_C@_0BG@DCHHLLCO@Show?5YUV?5delta?5in?5OSD?$AA@
	DD	01H
	DD	00H
	DD	FLAT:_ShowYUVDelta
	DD	01H
	DD	00H
	DD	01H
	DD	01H
	DD	01H
	DD	00H
	DD	FLAT:??_C@_0M@LBIOEIOA@Calibration?$AA@
	DD	FLAT:??_C@_0N@KFOLLALP@ShowYUVDelta?$AA@
	DD	00H
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\memory
;	COMDAT ??$_Uninit_copy@PAPAVCTestPattern@@PAPAV1@V?$allocator@PAVCTestPattern@@@std@@@std@@YAPAPAVCTestPattern@@PAPAV1@00AAV?$allocator@PAVCTestPattern@@@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@PAPAVCTestPattern@@PAPAV1@V?$allocator@PAVCTestPattern@@@std@@@std@@YAPAPAVCTestPattern@@PAPAV1@00AAV?$allocator@PAVCTestPattern@@@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Uninit_copy<CTestPattern * *,CTestPattern * *,std::allocator<CTestPattern *> >, 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@14

; 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@14:

; 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@PAPAVCTestPattern@@PAPAV1@V?$allocator@PAVCTestPattern@@@std@@@std@@YAPAPAVCTestPattern@@PAPAV1@00AAV?$allocator@PAVCTestPattern@@@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Uninit_copy<CTestPattern * *,CTestPattern * *,std::allocator<CTestPattern *> >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Uninit_copy@PAPAVCColorBar@@PAPAV1@V?$allocator@PAVCColorBar@@@std@@@std@@YAPAPAVCColorBar@@PAPAV1@00AAV?$allocator@PAVCColorBar@@@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@PAPAVCColorBar@@PAPAV1@V?$allocator@PAVCColorBar@@@std@@@std@@YAPAPAVCColorBar@@PAPAV1@00AAV?$allocator@PAVCColorBar@@@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Uninit_copy<CColorBar * *,CColorBar * *,std::allocator<CColorBar *> >, 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@15

; 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@15:

; 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@PAPAVCColorBar@@PAPAV1@V?$allocator@PAVCColorBar@@@std@@@std@@YAPAPAVCColorBar@@PAPAV1@00AAV?$allocator@PAVCColorBar@@@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Uninit_copy<CColorBar * *,CColorBar * *,std::allocator<CColorBar *> >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
_TEXT	ENDS
;	COMDAT ??$_Fill_n@PAPAVCTestPattern@@IPAV1@@std@@YAXPAPAVCTestPattern@@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@PAPAVCTestPattern@@IPAV1@@std@@YAXPAPAVCTestPattern@@IABQAV1@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Fill_n<CTestPattern * *,unsigned int,CTestPattern *>, 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@13
$LN2@Fill_n@13:
  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@13:
  00017	83 7d 0c 00	 cmp	 DWORD PTR __Count$[ebp], 0
  0001b	76 0c		 jbe	 SHORT $LN4@Fill_n@13

; 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@13
$LN4@Fill_n@13:

; 3173 : 	}

  00029	5d		 pop	 ebp
  0002a	c3		 ret	 0
??$_Fill_n@PAPAVCTestPattern@@IPAV1@@std@@YAXPAPAVCTestPattern@@IABQAV1@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Fill_n<CTestPattern * *,unsigned int,CTestPattern *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Fill_n@PAPAVCColorBar@@IPAV1@@std@@YAXPAPAVCColorBar@@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@PAPAVCColorBar@@IPAV1@@std@@YAXPAPAVCColorBar@@IABQAV1@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Fill_n<CColorBar * *,unsigned int,CColorBar *>, 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@14
$LN2@Fill_n@14:
  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@14:
  00017	83 7d 0c 00	 cmp	 DWORD PTR __Count$[ebp], 0
  0001b	76 0c		 jbe	 SHORT $LN4@Fill_n@14

; 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@14
$LN4@Fill_n@14:

; 3173 : 	}

  00029	5d		 pop	 ebp
  0002a	c3		 ret	 0
??$_Fill_n@PAPAVCColorBar@@IPAV1@@std@@YAXPAPAVCColorBar@@IABQAV1@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Fill_n<CColorBar * *,unsigned int,CColorBar *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Iter_cat@PAPAVCTestPattern@@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCTestPattern@@@Z
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
___formal$ = 12						; size = 4
??$_Iter_cat@PAPAVCTestPattern@@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCTestPattern@@@Z PROC ; std::_Iter_cat<CTestPattern * *>, 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@PAPAVCTestPattern@@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCTestPattern@@@Z ENDP ; std::_Iter_cat<CTestPattern * *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Iter_cat@PAPAVCColorBar@@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCColorBar@@@Z
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
___formal$ = 12						; size = 4
??$_Iter_cat@PAPAVCColorBar@@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCColorBar@@@Z PROC ; std::_Iter_cat<CColorBar * *>, 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@PAPAVCColorBar@@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCColorBar@@@Z ENDP ; std::_Iter_cat<CColorBar * *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Copy_backward_opt@PAPAVCTestPattern@@PAPAV1@Urandom_access_iterator_tag@std@@@std@@YAPAPAVCTestPattern@@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@PAPAVCTestPattern@@PAPAV1@Urandom_access_iterator_tag@std@@@std@@YAPAPAVCTestPattern@@PAPAV1@00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Copy_backward_opt<CTestPattern * *,CTestPattern * *,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@16

; 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@16:

; 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@PAPAVCTestPattern@@PAPAV1@Urandom_access_iterator_tag@std@@@std@@YAPAPAVCTestPattern@@PAPAV1@00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Copy_backward_opt<CTestPattern * *,CTestPattern * *,std::random_access_iterator_tag>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Copy_backward_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_backward_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_backward_opt<CColorBar * *,CColorBar * *,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@17

; 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@17:

; 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@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_backward_opt<CColorBar * *,CColorBar * *,std::random_access_iterator_tag>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Checked_base@PAPAVCColorBar@@@std@@YAPAPAVCColorBar@@AAPAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z
_TEXT	SEGMENT
__It$ = 8						; size = 4
___formal$ = 12						; size = 1
??$_Checked_base@PAPAVCColorBar@@@std@@YAPAPAVCColorBar@@AAPAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z PROC ; std::_Checked_base<CColorBar * *>, 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@PAPAVCColorBar@@@std@@YAPAPAVCColorBar@@AAPAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z ENDP ; std::_Checked_base<CColorBar * *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Checked_base@PAPAVCTestPattern@@@std@@YAPAPAVCTestPattern@@AAPAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z
_TEXT	SEGMENT
__It$ = 8						; size = 4
___formal$ = 12						; size = 1
??$_Checked_base@PAPAVCTestPattern@@@std@@YAPAPAVCTestPattern@@AAPAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z PROC ; std::_Checked_base<CTestPattern * *>, 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@PAPAVCTestPattern@@@std@@YAPAPAVCTestPattern@@AAPAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z ENDP ; std::_Checked_base<CTestPattern * *>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ??$_Destroy_range@V?$allocator@PAVCColorBar@@@std@@@std@@YAXPAPAVCColorBar@@0AAV?$allocator@PAVCColorBar@@@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@PAVCColorBar@@@std@@@std@@YAXPAPAVCColorBar@@0AAV?$allocator@PAVCColorBar@@@0@U_Scalar_ptr_iterator_tag@0@@Z PROC ; std::_Destroy_range<std::allocator<CColorBar *> >, 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@PAVCColorBar@@@std@@@std@@YAXPAPAVCColorBar@@0AAV?$allocator@PAVCColorBar@@@0@U_Scalar_ptr_iterator_tag@0@@Z ENDP ; std::_Destroy_range<std::allocator<CColorBar *> >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
_TEXT	ENDS
;	COMDAT ??$_Move_cat@PAPAVCTestPattern@@@std@@YA?AU_Undefined_move_tag@0@ABQAPAVCTestPattern@@@Z
_TEXT	SEGMENT
__Cat$ = -1						; size = 1
___formal$ = 8						; size = 4
??$_Move_cat@PAPAVCTestPattern@@@std@@YA?AU_Undefined_move_tag@0@ABQAPAVCTestPattern@@@Z PROC ; std::_Move_cat<CTestPattern * *>, 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@PAPAVCTestPattern@@@std@@YA?AU_Undefined_move_tag@0@ABQAPAVCTestPattern@@@Z ENDP ; std::_Move_cat<CTestPattern * *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Fill@PAPAVCTestPattern@@PAV1@@std@@YAXPAPAVCTestPattern@@0ABQAV1@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Val$ = 16						; size = 4
??$_Fill@PAPAVCTestPattern@@PAV1@@std@@YAXPAPAVCTestPattern@@0ABQAV1@@Z PROC ; std::_Fill<CTestPattern * *,CTestPattern *>, 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@16
$LN2@Fill@16:
  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@16:
  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@16

; 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@16
$LN4@Fill@16:

; 3134 : 	}

  00022	5d		 pop	 ebp
  00023	c3		 ret	 0
??$_Fill@PAPAVCTestPattern@@PAV1@@std@@YAXPAPAVCTestPattern@@0ABQAV1@@Z ENDP ; std::_Fill<CTestPattern * *,CTestPattern *>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ??$_Destroy_range@V?$allocator@PAVCTestPattern@@@std@@@std@@YAXPAPAVCTestPattern@@0AAV?$allocator@PAVCTestPattern@@@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@PAVCTestPattern@@@std@@@std@@YAXPAPAVCTestPattern@@0AAV?$allocator@PAVCTestPattern@@@0@U_Scalar_ptr_iterator_tag@0@@Z PROC ; std::_Destroy_range<std::allocator<CTestPattern *> >, 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@PAVCTestPattern@@@std@@@std@@YAXPAPAVCTestPattern@@0AAV?$allocator@PAVCTestPattern@@@0@U_Scalar_ptr_iterator_tag@0@@Z ENDP ; std::_Destroy_range<std::allocator<CTestPattern *> >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
_TEXT	ENDS
;	COMDAT ??$_Move_cat@PAPAVCColorBar@@@std@@YA?AU_Undefined_move_tag@0@ABQAPAVCColorBar@@@Z
_TEXT	SEGMENT
__Cat$ = -1						; size = 1
___formal$ = 8						; size = 4
??$_Move_cat@PAPAVCColorBar@@@std@@YA?AU_Undefined_move_tag@0@ABQAPAVCColorBar@@@Z PROC ; std::_Move_cat<CColorBar * *>, 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@PAPAVCColorBar@@@std@@YA?AU_Undefined_move_tag@0@ABQAPAVCColorBar@@@Z ENDP ; std::_Move_cat<CColorBar * *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Iter_random@PAPAVCColorBar@@PAPAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCColorBar@@0@Z
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
___formal$ = 12						; size = 4
___formal$ = 16						; size = 4
??$_Iter_random@PAPAVCColorBar@@PAPAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCColorBar@@0@Z PROC ; std::_Iter_random<CColorBar * *,CColorBar * *>, 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@PAPAVCColorBar@@PAPAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCColorBar@@0@Z ENDP ; std::_Iter_random<CColorBar * *,CColorBar * *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Fill@PAPAVCColorBar@@PAV1@@std@@YAXPAPAVCColorBar@@0ABQAV1@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Val$ = 16						; size = 4
??$_Fill@PAPAVCColorBar@@PAV1@@std@@YAXPAPAVCColorBar@@0ABQAV1@@Z PROC ; std::_Fill<CColorBar * *,CColorBar *>, 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@17
$LN2@Fill@17:
  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@17:
  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@17

; 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@17
$LN4@Fill@17:

; 3134 : 	}

  00022	5d		 pop	 ebp
  00023	c3		 ret	 0
??$_Fill@PAPAVCColorBar@@PAV1@@std@@YAXPAPAVCColorBar@@0ABQAV1@@Z ENDP ; std::_Fill<CColorBar * *,CColorBar *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Checked_base@PAPAVCColorBar@@@std@@YAPAPAVCColorBar@@AAPAPAV1@@Z
_TEXT	SEGMENT
__Base_tag$ = -1					; size = 1
__It$ = 8						; size = 4
??$_Checked_base@PAPAVCColorBar@@@std@@YAPAPAVCColorBar@@AAPAPAV1@@Z PROC ; std::_Checked_base<CColorBar * *>, 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@PAPAVCColorBar@@@std@@YAPAPAVCColorBar@@AAPAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z ; std::_Checked_base<CColorBar * *>
  00012	83 c4 08	 add	 esp, 8

; 1166 : 	}

  00015	8b e5		 mov	 esp, ebp
  00017	5d		 pop	 ebp
  00018	c3		 ret	 0
??$_Checked_base@PAPAVCColorBar@@@std@@YAPAPAVCColorBar@@AAPAPAV1@@Z ENDP ; std::_Checked_base<CColorBar * *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Copy_opt@PAPAVCTestPattern@@PAPAV1@Urandom_access_iterator_tag@std@@@std@@YAPAPAVCTestPattern@@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@PAPAVCTestPattern@@PAPAV1@Urandom_access_iterator_tag@std@@@std@@YAPAPAVCTestPattern@@PAPAV1@00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Copy_opt<CTestPattern * *,CTestPattern * *,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@18

; 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@18:

; 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@PAPAVCTestPattern@@PAPAV1@Urandom_access_iterator_tag@std@@@std@@YAPAPAVCTestPattern@@PAPAV1@00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Copy_opt<CTestPattern * *,CTestPattern * *,std::random_access_iterator_tag>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Ptr_cat@PAPAVCTestPattern@@PAPAV1@@std@@YA?AU_Scalar_ptr_iterator_tag@0@AAPAPAVCTestPattern@@0@Z
_TEXT	SEGMENT
__Cat$ = -1						; size = 1
___formal$ = 8						; size = 4
___formal$ = 12						; size = 4
??$_Ptr_cat@PAPAVCTestPattern@@PAPAV1@@std@@YA?AU_Scalar_ptr_iterator_tag@0@AAPAPAVCTestPattern@@0@Z PROC ; std::_Ptr_cat<CTestPattern * *,CTestPattern * *>, 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@PAPAVCTestPattern@@PAPAV1@@std@@YA?AU_Scalar_ptr_iterator_tag@0@AAPAPAVCTestPattern@@0@Z ENDP ; std::_Ptr_cat<CTestPattern * *,CTestPattern * *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Iter_random@PAPAVCTestPattern@@PAPAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCTestPattern@@0@Z
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
___formal$ = 12						; size = 4
___formal$ = 16						; size = 4
??$_Iter_random@PAPAVCTestPattern@@PAPAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCTestPattern@@0@Z PROC ; std::_Iter_random<CTestPattern * *,CTestPattern * *>, 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@PAPAVCTestPattern@@PAPAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCTestPattern@@0@Z ENDP ; std::_Iter_random<CTestPattern * *,CTestPattern * *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Checked_base@PAPAVCTestPattern@@@std@@YAPAPAVCTestPattern@@AAPAPAV1@@Z
_TEXT	SEGMENT
__Base_tag$ = -1					; size = 1
__It$ = 8						; size = 4
??$_Checked_base@PAPAVCTestPattern@@@std@@YAPAPAVCTestPattern@@AAPAPAV1@@Z PROC ; std::_Checked_base<CTestPattern * *>, 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@PAPAVCTestPattern@@@std@@YAPAPAVCTestPattern@@AAPAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z ; std::_Checked_base<CTestPattern * *>
  00012	83 c4 08	 add	 esp, 8

; 1166 : 	}

  00015	8b e5		 mov	 esp, ebp
  00017	5d		 pop	 ebp
  00018	c3		 ret	 0
??$_Checked_base@PAPAVCTestPattern@@@std@@YAPAPAVCTestPattern@@AAPAPAV1@@Z ENDP ; std::_Checked_base<CTestPattern * *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Ptr_cat@PAPAVCColorBar@@PAPAV1@@std@@YA?AU_Scalar_ptr_iterator_tag@0@AAPAPAVCColorBar@@0@Z
_TEXT	SEGMENT
__Cat$ = -1						; size = 1
___formal$ = 8						; size = 4
___formal$ = 12						; size = 4
??$_Ptr_cat@PAPAVCColorBar@@PAPAV1@@std@@YA?AU_Scalar_ptr_iterator_tag@0@AAPAPAVCColorBar@@0@Z PROC ; std::_Ptr_cat<CColorBar * *,CColorBar * *>, 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@PAPAVCColorBar@@PAPAV1@@std@@YA?AU_Scalar_ptr_iterator_tag@0@AAPAPAVCColorBar@@0@Z ENDP ; std::_Ptr_cat<CColorBar * *,CColorBar * *>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ??$_Destroy_range@V?$allocator@PAVCColorBar@@@std@@@std@@YAXPAPAVCColorBar@@0AAV?$allocator@PAVCColorBar@@@0@@Z
_TEXT	SEGMENT
$T298886 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Al$ = 16						; size = 4
??$_Destroy_range@V?$allocator@PAVCColorBar@@@std@@@std@@YAXPAPAVCColorBar@@0AAV?$allocator@PAVCColorBar@@@0@@Z PROC ; std::_Destroy_range<std::allocator<CColorBar *> >, 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@PAPAVCColorBar@@PAPAV1@@std@@YA?AU_Scalar_ptr_iterator_tag@0@AAPAPAVCColorBar@@0@Z ; std::_Ptr_cat<CColorBar * *,CColorBar * *>
  00011	83 c4 08	 add	 esp, 8
  00014	88 45 ff	 mov	 BYTE PTR $T298886[ebp], al
  00017	0f b6 55 ff	 movzx	 edx, BYTE PTR $T298886[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@PAVCColorBar@@@std@@@std@@YAXPAPAVCColorBar@@0AAV?$allocator@PAVCColorBar@@@0@U_Scalar_ptr_iterator_tag@0@@Z ; std::_Destroy_range<std::allocator<CColorBar *> >
  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@PAVCColorBar@@@std@@@std@@YAXPAPAVCColorBar@@0AAV?$allocator@PAVCColorBar@@@0@@Z ENDP ; std::_Destroy_range<std::allocator<CColorBar *> >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$?0PAVCTestPattern@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@PAVCTestPattern@@@1@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___formal$ = 8						; size = 4
??$?0PAVCTestPattern@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@PAVCTestPattern@@@1@@Z PROC ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><CTestPattern *>, 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
??$?0PAVCTestPattern@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@PAVCTestPattern@@@1@@Z ENDP ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><CTestPattern *>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
_TEXT	ENDS
;	COMDAT ??$fill@PAPAVCTestPattern@@PAV1@@std@@YAXPAPAVCTestPattern@@0ABQAV1@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Val$ = 16						; size = 4
??$fill@PAPAVCTestPattern@@PAV1@@std@@YAXPAPAVCTestPattern@@0ABQAV1@@Z PROC ; std::fill<CTestPattern * *,CTestPattern *>, 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@PAPAVCTestPattern@@@std@@YAPAPAVCTestPattern@@AAPAPAV1@@Z ; std::_Checked_base<CTestPattern * *>
  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@PAPAVCTestPattern@@@std@@YAPAPAVCTestPattern@@AAPAPAV1@@Z ; std::_Checked_base<CTestPattern * *>
  0001d	83 c4 04	 add	 esp, 4
  00020	50		 push	 eax
  00021	e8 00 00 00 00	 call	 ??$_Fill@PAPAVCTestPattern@@PAV1@@std@@YAXPAPAVCTestPattern@@0ABQAV1@@Z ; std::_Fill<CTestPattern * *,CTestPattern *>
  00026	83 c4 0c	 add	 esp, 12			; 0000000cH

; 3162 : 	}

  00029	5d		 pop	 ebp
  0002a	c3		 ret	 0
??$fill@PAPAVCTestPattern@@PAV1@@std@@YAXPAPAVCTestPattern@@0ABQAV1@@Z ENDP ; std::fill<CTestPattern * *,CTestPattern *>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ??$_Destroy_range@V?$allocator@PAVCTestPattern@@@std@@@std@@YAXPAPAVCTestPattern@@0AAV?$allocator@PAVCTestPattern@@@0@@Z
_TEXT	SEGMENT
$T298893 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Al$ = 16						; size = 4
??$_Destroy_range@V?$allocator@PAVCTestPattern@@@std@@@std@@YAXPAPAVCTestPattern@@0AAV?$allocator@PAVCTestPattern@@@0@@Z PROC ; std::_Destroy_range<std::allocator<CTestPattern *> >, 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@PAPAVCTestPattern@@PAPAV1@@std@@YA?AU_Scalar_ptr_iterator_tag@0@AAPAPAVCTestPattern@@0@Z ; std::_Ptr_cat<CTestPattern * *,CTestPattern * *>
  00011	83 c4 08	 add	 esp, 8
  00014	88 45 ff	 mov	 BYTE PTR $T298893[ebp], al
  00017	0f b6 55 ff	 movzx	 edx, BYTE PTR $T298893[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@PAVCTestPattern@@@std@@@std@@YAXPAPAVCTestPattern@@0AAV?$allocator@PAVCTestPattern@@@0@U_Scalar_ptr_iterator_tag@0@@Z ; std::_Destroy_range<std::allocator<CTestPattern *> >
  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@PAVCTestPattern@@@std@@@std@@YAXPAPAVCTestPattern@@0AAV?$allocator@PAVCTestPattern@@@0@@Z ENDP ; std::_Destroy_range<std::allocator<CTestPattern *> >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
_TEXT	ENDS
;	COMDAT ??$fill@PAPAVCColorBar@@PAV1@@std@@YAXPAPAVCColorBar@@0ABQAV1@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Val$ = 16						; size = 4
??$fill@PAPAVCColorBar@@PAV1@@std@@YAXPAPAVCColorBar@@0ABQAV1@@Z PROC ; std::fill<CColorBar * *,CColorBar *>, 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@PAPAVCColorBar@@@std@@YAPAPAVCColorBar@@AAPAPAV1@@Z ; std::_Checked_base<CColorBar * *>
  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@PAPAVCColorBar@@@std@@YAPAPAVCColorBar@@AAPAPAV1@@Z ; std::_Checked_base<CColorBar * *>
  0001d	83 c4 04	 add	 esp, 4
  00020	50		 push	 eax
  00021	e8 00 00 00 00	 call	 ??$_Fill@PAPAVCColorBar@@PAV1@@std@@YAXPAPAVCColorBar@@0ABQAV1@@Z ; std::_Fill<CColorBar * *,CColorBar *>
  00026	83 c4 0c	 add	 esp, 12			; 0000000cH

; 3162 : 	}

  00029	5d		 pop	 ebp
  0002a	c3		 ret	 0
??$fill@PAPAVCColorBar@@PAV1@@std@@YAXPAPAVCColorBar@@0ABQAV1@@Z ENDP ; std::fill<CColorBar * *,CColorBar *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$unchecked_copy@PAPAVCTestPattern@@PAPAV1@@stdext@@YAPAPAVCTestPattern@@PAPAV1@00@Z
_TEXT	SEGMENT
$T298900 = -3						; size = 1
$T298899 = -2						; size = 1
$T298898 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
??$unchecked_copy@PAPAVCTestPattern@@PAPAV1@@stdext@@YAPAPAVCTestPattern@@PAPAV1@00@Z PROC ; stdext::unchecked_copy<CTestPattern * *,CTestPattern * *>, 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 $T298898[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@PAPAVCTestPattern@@PAPAV1@@std@@YA?AU_Scalar_ptr_iterator_tag@0@AAPAPAVCTestPattern@@0@Z ; std::_Ptr_cat<CTestPattern * *,CTestPattern * *>
  00016	83 c4 08	 add	 esp, 8
  00019	88 45 fe	 mov	 BYTE PTR $T298899[ebp], al
  0001c	0f b6 45 ff	 movzx	 eax, BYTE PTR $T298898[ebp]
  00020	50		 push	 eax
  00021	0f b6 4d fe	 movzx	 ecx, BYTE PTR $T298899[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 $T298900[ebp]
  00031	51		 push	 ecx
  00032	e8 00 00 00 00	 call	 ??$_Iter_random@PAPAVCTestPattern@@PAPAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCTestPattern@@0@Z ; std::_Iter_random<CTestPattern * *,CTestPattern * *>
  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@PAPAVCTestPattern@@@std@@YAPAPAVCTestPattern@@AAPAPAV1@@Z ; std::_Checked_base<CTestPattern * *>
  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@PAPAVCTestPattern@@@std@@YAPAPAVCTestPattern@@AAPAPAV1@@Z ; std::_Checked_base<CTestPattern * *>
  00058	83 c4 04	 add	 esp, 4
  0005b	50		 push	 eax
  0005c	e8 00 00 00 00	 call	 ??$_Copy_opt@PAPAVCTestPattern@@PAPAV1@Urandom_access_iterator_tag@std@@@std@@YAPAPAVCTestPattern@@PAPAV1@00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_opt<CTestPattern * *,CTestPattern * *,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@PAPAVCTestPattern@@PAPAV1@@stdext@@YAPAPAVCTestPattern@@PAPAV1@00@Z ENDP ; stdext::unchecked_copy<CTestPattern * *,CTestPattern * *>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ?max_size@?$allocator@PAVCColorBar@@@std@@QBEIXZ
_TEXT	SEGMENT
tv65 = -12						; size = 4
_this$ = -8						; size = 4
__Count$ = -4						; size = 4
?max_size@?$allocator@PAVCColorBar@@@std@@QBEIXZ PROC	; std::allocator<CColorBar *>::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@40
  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@40
$LN3@max_size@40:
  0001e	c7 45 f4 01 00
	00 00		 mov	 DWORD PTR tv65[ebp], 1
$LN4@max_size@40:
  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@PAVCColorBar@@@std@@QBEIXZ ENDP	; std::allocator<CColorBar *>::max_size
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?max_size@?$allocator@PAVCTestPattern@@@std@@QBEIXZ
_TEXT	SEGMENT
tv65 = -12						; size = 4
_this$ = -8						; size = 4
__Count$ = -4						; size = 4
?max_size@?$allocator@PAVCTestPattern@@@std@@QBEIXZ PROC ; std::allocator<CTestPattern *>::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@41
  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@41
$LN3@max_size@41:
  0001e	c7 45 f4 01 00
	00 00		 mov	 DWORD PTR tv65[ebp], 1
$LN4@max_size@41:
  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@PAVCTestPattern@@@std@@QBEIXZ ENDP ; std::allocator<CTestPattern *>::max_size
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?deallocate@?$allocator@PAVCColorBar@@@std@@QAEXPAPAVCColorBar@@I@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Ptr$ = 8						; size = 4
___formal$ = 12						; size = 4
?deallocate@?$allocator@PAVCColorBar@@@std@@QAEXPAPAVCColorBar@@I@Z PROC ; std::allocator<CColorBar *>::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@PAVCColorBar@@@std@@QAEXPAPAVCColorBar@@I@Z ENDP ; std::allocator<CColorBar *>::deallocate
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
_TEXT	ENDS
;	COMDAT ?_Destroy@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXPAPAVCColorBar@@0@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
?_Destroy@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXPAPAVCColorBar@@0@Z PROC ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_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@PAVCColorBar@@@std@@@std@@YAXPAPAVCColorBar@@0AAV?$allocator@PAVCColorBar@@@0@@Z ; std::_Destroy_range<std::allocator<CColorBar *> >
  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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXPAPAVCColorBar@@0@Z ENDP ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_Destroy
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?max_size@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEIXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?max_size@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEIXZ PROC ; std::vector<CColorBar *,std::allocator<CColorBar *> >::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@PAVCColorBar@@@std@@QBEIXZ ; std::allocator<CColorBar *>::max_size

; 732  : 		}

  00012	8b e5		 mov	 esp, ebp
  00014	5d		 pop	 ebp
  00015	c3		 ret	 0
?max_size@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEIXZ ENDP ; std::vector<CColorBar *,std::allocator<CColorBar *> >::max_size
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ?deallocate@?$allocator@PAVCTestPattern@@@std@@QAEXPAPAVCTestPattern@@I@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Ptr$ = 8						; size = 4
___formal$ = 12						; size = 4
?deallocate@?$allocator@PAVCTestPattern@@@std@@QAEXPAPAVCTestPattern@@I@Z PROC ; std::allocator<CTestPattern *>::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@PAVCTestPattern@@@std@@QAEXPAPAVCTestPattern@@I@Z ENDP ; std::allocator<CTestPattern *>::deallocate
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$allocator@PAVCTestPattern@@@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___formal$ = 8						; size = 4
??0?$allocator@PAVCTestPattern@@@std@@QAE@ABV01@@Z PROC	; std::allocator<CTestPattern *>::allocator<CTestPattern *>, 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@PAVCTestPattern@@@std@@QAE@ABV01@@Z ENDP	; std::allocator<CTestPattern *>::allocator<CTestPattern *>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
_TEXT	ENDS
;	COMDAT ?_Destroy@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXPAPAVCTestPattern@@0@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
?_Destroy@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXPAPAVCTestPattern@@0@Z PROC ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_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@PAVCTestPattern@@@std@@@std@@YAXPAPAVCTestPattern@@0AAV?$allocator@PAVCTestPattern@@@0@@Z ; std::_Destroy_range<std::allocator<CTestPattern *> >
  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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXPAPAVCTestPattern@@0@Z ENDP ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_Destroy
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?max_size@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEIXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?max_size@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEIXZ PROC ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::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@PAVCTestPattern@@@std@@QBEIXZ ; std::allocator<CTestPattern *>::max_size

; 732  : 		}

  00012	8b e5		 mov	 esp, ebp
  00014	5d		 pop	 ebp
  00015	c3		 ret	 0
?max_size@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEIXZ ENDP ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::max_size
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ??0?$allocator@PAVCTestPattern@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??0?$allocator@PAVCTestPattern@@@std@@QAE@XZ PROC	; std::allocator<CTestPattern *>::allocator<CTestPattern *>, 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@PAVCTestPattern@@@std@@QAE@XZ ENDP	; std::allocator<CTestPattern *>::allocator<CTestPattern *>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
_TEXT	ENDS
;	COMDAT ?_Tidy@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?_Tidy@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXXZ PROC ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_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@9

; 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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXPAPAVCTestPattern@@0@Z ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_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@PAVCTestPattern@@@std@@QAEXPAPAVCTestPattern@@I@Z ; std::allocator<CTestPattern *>::deallocate
$LN1@Tidy@9:

; 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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXXZ ENDP ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_Tidy
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?capacity@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEIXZ
_TEXT	SEGMENT
tv70 = -8						; size = 4
_this$ = -4						; size = 4
?capacity@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEIXZ PROC ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::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@38
  00012	c7 45 f8 00 00
	00 00		 mov	 DWORD PTR tv70[ebp], 0
  00019	eb 12		 jmp	 SHORT $LN4@capacity@38
$LN3@capacity@38:
  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@38:
  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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEIXZ ENDP ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::capacity
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?size@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEIXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?size@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEIXZ PROC ; std::vector<CColorBar *,std::allocator<CColorBar *> >::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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEIXZ ENDP ; std::vector<CColorBar *,std::allocator<CColorBar *> >::size
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?capacity@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEIXZ
_TEXT	SEGMENT
tv70 = -8						; size = 4
_this$ = -4						; size = 4
?capacity@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEIXZ PROC ; std::vector<CColorBar *,std::allocator<CColorBar *> >::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@39
  00012	c7 45 f8 00 00
	00 00		 mov	 DWORD PTR tv70[ebp], 0
  00019	eb 12		 jmp	 SHORT $LN4@capacity@39
$LN3@capacity@39:
  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@39:
  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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEIXZ ENDP ; std::vector<CColorBar *,std::allocator<CColorBar *> >::capacity
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\smartptr.h
_TEXT	ENDS
;	COMDAT ??0?$SmartPtr@VCCalibration@@@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??0?$SmartPtr@VCCalibration@@@@QAE@XZ PROC		; SmartPtr<CCalibration>::SmartPtr<CCalibration>, COMDAT
; _this$ = ecx

; 76   :     SmartPtr() : rawPtr(0), counter(0) { }

  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 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], 0
  00010	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00013	c7 41 04 00 00
	00 00		 mov	 DWORD PTR [ecx+4], 0
  0001a	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0001d	8b e5		 mov	 esp, ebp
  0001f	5d		 pop	 ebp
  00020	c3		 ret	 0
??0?$SmartPtr@VCCalibration@@@@QAE@XZ ENDP		; SmartPtr<CCalibration>::SmartPtr<CCalibration>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
_TEXT	ENDS
;	COMDAT ?size@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEIXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?size@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEIXZ PROC ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEIXZ ENDP ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::size
_TEXT	ENDS
PUBLIC	?Calibr_GetSetting@@YAPAUSETTING@@W4CALIBR_SETTING@@@Z ; Calibr_GetSetting
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\calibration.cpp
;	COMDAT ?Calibr_GetSetting@@YAPAUSETTING@@W4CALIBR_SETTING@@@Z
_TEXT	SEGMENT
_Setting$ = 8						; size = 4
?Calibr_GetSetting@@YAPAUSETTING@@W4CALIBR_SETTING@@@Z PROC ; Calibr_GetSetting, COMDAT

; 1592 : {

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

; 1593 :     if(Setting > -1 && Setting < CALIBR_SETTING_LASTONE)

  00003	83 7d 08 ff	 cmp	 DWORD PTR _Setting$[ebp], -1
  00007	7e 15		 jle	 SHORT $LN2@Calibr_Get
  00009	83 7d 08 04	 cmp	 DWORD PTR _Setting$[ebp], 4
  0000d	7d 0f		 jge	 SHORT $LN2@Calibr_Get

; 1594 :     {
; 1595 :         return &(CalibrSettings[Setting]);

  0000f	8b 45 08	 mov	 eax, DWORD PTR _Setting$[ebp]
  00012	6b c0 34	 imul	 eax, 52			; 00000034H
  00015	05 00 00 00 00	 add	 eax, OFFSET ?CalibrSettings@@3PAUSETTING@@A ; CalibrSettings
  0001a	eb 04		 jmp	 SHORT $LN3@Calibr_Get

; 1596 :     }
; 1597 :     else

  0001c	eb 02		 jmp	 SHORT $LN3@Calibr_Get
$LN2@Calibr_Get:

; 1598 :     {
; 1599 :         return NULL;

  0001e	33 c0		 xor	 eax, eax
$LN3@Calibr_Get:

; 1600 :     }
; 1601 : }

  00020	5d		 pop	 ebp
  00021	c3		 ret	 0
?Calibr_GetSetting@@YAPAUSETTING@@W4CALIBR_SETTING@@@Z ENDP ; Calibr_GetSetting
_TEXT	ENDS
PUBLIC	?GetType@CCalibration@@QAE?AW4eTypeCalibration@@XZ ; CCalibration::GetType
; Function compile flags: /Odtp
;	COMDAT ?GetType@CCalibration@@QAE?AW4eTypeCalibration@@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetType@CCalibration@@QAE?AW4eTypeCalibration@@XZ PROC	; CCalibration::GetType, COMDAT
; _this$ = ecx

; 1001 : {

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

; 1002 :     return m_TypeCalibration;

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

; 1003 : }

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

; 996  : {

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

; 997  :     return current_step;

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

; 998  : }

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

; 991  : {

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

; 992  :     return m_IsRunning;

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

; 993  : }

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

; 794  : {

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

; 795  :     return m_CurSubPat;

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

; 796  : }

  0000d	8b e5		 mov	 esp, ebp
  0000f	5d		 pop	 ebp
  00010	c3		 ret	 0
?GetCurrentSubPattern@CCalibration@@QAEPAVCSubPattern@@XZ ENDP ; CCalibration::GetCurrentSubPattern
_TEXT	ENDS
PUBLIC	?GetCurrentTestPattern@CCalibration@@QAEPAVCTestPattern@@XZ ; CCalibration::GetCurrentTestPattern
; Function compile flags: /Odtp
;	COMDAT ?GetCurrentTestPattern@CCalibration@@QAEPAVCTestPattern@@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetCurrentTestPattern@CCalibration@@QAEPAVCTestPattern@@XZ PROC ; CCalibration::GetCurrentTestPattern, COMDAT
; _this$ = ecx

; 777  : {

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

; 778  :     return m_CurTestPat;

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

; 779  : }

  0000d	8b e5		 mov	 esp, ebp
  0000f	5d		 pop	 ebp
  00010	c3		 ret	 0
?GetCurrentTestPattern@CCalibration@@QAEPAVCTestPattern@@XZ ENDP ; CCalibration::GetCurrentTestPattern
_TEXT	ENDS
PUBLIC	?GetResult@CCalSetting@@QAEHPAPAIPAH1@Z		; CCalSetting::GetResult
; Function compile flags: /Odtp
;	COMDAT ?GetResult@CCalSetting@@QAEHPAPAIPAH1@Z
_TEXT	SEGMENT
_this$ = -20						; size = 4
_nb_min$ = -16						; size = 4
_best_val_max$ = -12					; size = 4
_best_val_min$ = -8					; size = 4
_i$ = -4						; size = 4
_mask$ = 8						; size = 4
_min_val$ = 12						; size = 4
_max_val$ = 16						; size = 4
?GetResult@CCalSetting@@QAEHPAPAIPAH1@Z PROC		; CCalSetting::GetResult, COMDAT
; _this$ = ecx

; 312  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 14	 sub	 esp, 20			; 00000014H
  00006	56		 push	 esi
  00007	89 4d ec	 mov	 DWORD PTR _this$[ebp], ecx

; 313  :     int i;
; 314  :     int nb_min;
; 315  :     int best_val_min;
; 316  :     int best_val_max;
; 317  : 
; 318  :     for (i=0,nb_min=0 ; i<=(max - min) ; i++)

  0000a	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _i$[ebp], 0
  00011	c7 45 f0 00 00
	00 00		 mov	 DWORD PTR _nb_min$[ebp], 0
  00018	eb 09		 jmp	 SHORT $LN10@GetResult
$LN9@GetResult:
  0001a	8b 45 fc	 mov	 eax, DWORD PTR _i$[ebp]
  0001d	83 c0 01	 add	 eax, 1
  00020	89 45 fc	 mov	 DWORD PTR _i$[ebp], eax
$LN10@GetResult:
  00023	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00026	8b 55 ec	 mov	 edx, DWORD PTR _this$[ebp]
  00029	8b 41 18	 mov	 eax, DWORD PTR [ecx+24]
  0002c	2b 42 14	 sub	 eax, DWORD PTR [edx+20]
  0002f	39 45 fc	 cmp	 DWORD PTR _i$[ebp], eax
  00032	7f 65		 jg	 SHORT $LN8@GetResult

; 319  :     {
; 320  :         if (mask_output[i/32] & (1 << (i%32)))

  00034	8b 45 fc	 mov	 eax, DWORD PTR _i$[ebp]
  00037	99		 cdq
  00038	83 e2 1f	 and	 edx, 31			; 0000001fH
  0003b	03 c2		 add	 eax, edx
  0003d	c1 f8 05	 sar	 eax, 5
  00040	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00043	8b 51 10	 mov	 edx, DWORD PTR [ecx+16]
  00046	8b 4d fc	 mov	 ecx, DWORD PTR _i$[ebp]
  00049	81 e1 1f 00 00
	80		 and	 ecx, -2147483617	; 8000001fH
  0004f	79 05		 jns	 SHORT $LN13@GetResult
  00051	49		 dec	 ecx
  00052	83 c9 e0	 or	 ecx, -32		; ffffffe0H
  00055	41		 inc	 ecx
$LN13@GetResult:
  00056	be 01 00 00 00	 mov	 esi, 1
  0005b	d3 e6		 shl	 esi, cl
  0005d	23 34 82	 and	 esi, DWORD PTR [edx+eax*4]
  00060	74 35		 je	 SHORT $LN7@GetResult

; 321  :         {
; 322  :             nb_min++;

  00062	8b 45 f0	 mov	 eax, DWORD PTR _nb_min$[ebp]
  00065	83 c0 01	 add	 eax, 1
  00068	89 45 f0	 mov	 DWORD PTR _nb_min$[ebp], eax

; 323  :             if (nb_min == 1)

  0006b	83 7d f0 01	 cmp	 DWORD PTR _nb_min$[ebp], 1
  0006f	75 1a		 jne	 SHORT $LN6@GetResult

; 324  :             {
; 325  :                 best_val_min = i + min;

  00071	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00074	8b 55 fc	 mov	 edx, DWORD PTR _i$[ebp]
  00077	03 51 14	 add	 edx, DWORD PTR [ecx+20]
  0007a	89 55 f8	 mov	 DWORD PTR _best_val_min$[ebp], edx

; 326  :                 best_val_max = i + min;

  0007d	8b 45 ec	 mov	 eax, DWORD PTR _this$[ebp]
  00080	8b 4d fc	 mov	 ecx, DWORD PTR _i$[ebp]
  00083	03 48 14	 add	 ecx, DWORD PTR [eax+20]
  00086	89 4d f4	 mov	 DWORD PTR _best_val_max$[ebp], ecx

; 327  :             }
; 328  :             else

  00089	eb 0c		 jmp	 SHORT $LN7@GetResult
$LN6@GetResult:

; 329  :             {
; 330  :                 best_val_max = i + min;

  0008b	8b 55 ec	 mov	 edx, DWORD PTR _this$[ebp]
  0008e	8b 45 fc	 mov	 eax, DWORD PTR _i$[ebp]
  00091	03 42 14	 add	 eax, DWORD PTR [edx+20]
  00094	89 45 f4	 mov	 DWORD PTR _best_val_max$[ebp], eax
$LN7@GetResult:

; 331  :             }
; 332  :         }
; 333  :     }

  00097	eb 81		 jmp	 SHORT $LN9@GetResult
$LN8@GetResult:

; 334  : 
; 335  :     *mask = (unsigned int*) malloc(mask_nb * sizeof(unsigned int));

  00099	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  0009c	8b 51 1c	 mov	 edx, DWORD PTR [ecx+28]
  0009f	c1 e2 02	 shl	 edx, 2
  000a2	52		 push	 edx
  000a3	e8 00 00 00 00	 call	 _malloc
  000a8	83 c4 04	 add	 esp, 4
  000ab	8b 4d 08	 mov	 ecx, DWORD PTR _mask$[ebp]
  000ae	89 01		 mov	 DWORD PTR [ecx], eax

; 336  : 
; 337  :     if (nb_min > 0)

  000b0	83 7d f0 00	 cmp	 DWORD PTR _nb_min$[ebp], 0
  000b4	7e 46		 jle	 SHORT $LN4@GetResult

; 338  :     {
; 339  :         for (i=0 ; i<mask_nb; i++)

  000b6	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _i$[ebp], 0
  000bd	eb 09		 jmp	 SHORT $LN3@GetResult
$LN2@GetResult:
  000bf	8b 55 fc	 mov	 edx, DWORD PTR _i$[ebp]
  000c2	83 c2 01	 add	 edx, 1
  000c5	89 55 fc	 mov	 DWORD PTR _i$[ebp], edx
$LN3@GetResult:
  000c8	8b 45 ec	 mov	 eax, DWORD PTR _this$[ebp]
  000cb	8b 4d fc	 mov	 ecx, DWORD PTR _i$[ebp]
  000ce	3b 48 1c	 cmp	 ecx, DWORD PTR [eax+28]
  000d1	7d 19		 jge	 SHORT $LN1@GetResult

; 340  :         {
; 341  :             (*mask)[i] = mask_output[i];

  000d3	8b 55 ec	 mov	 edx, DWORD PTR _this$[ebp]
  000d6	8b 42 10	 mov	 eax, DWORD PTR [edx+16]
  000d9	8b 4d 08	 mov	 ecx, DWORD PTR _mask$[ebp]
  000dc	8b 11		 mov	 edx, DWORD PTR [ecx]
  000de	8b 4d fc	 mov	 ecx, DWORD PTR _i$[ebp]
  000e1	8b 75 fc	 mov	 esi, DWORD PTR _i$[ebp]
  000e4	8b 04 b0	 mov	 eax, DWORD PTR [eax+esi*4]
  000e7	89 04 8a	 mov	 DWORD PTR [edx+ecx*4], eax

; 342  :         }

  000ea	eb d3		 jmp	 SHORT $LN2@GetResult
$LN1@GetResult:

; 343  :         *min_val = best_val_min;

  000ec	8b 4d 0c	 mov	 ecx, DWORD PTR _min_val$[ebp]
  000ef	8b 55 f8	 mov	 edx, DWORD PTR _best_val_min$[ebp]
  000f2	89 11		 mov	 DWORD PTR [ecx], edx

; 344  :         *max_val = best_val_max;

  000f4	8b 45 10	 mov	 eax, DWORD PTR _max_val$[ebp]
  000f7	8b 4d f4	 mov	 ecx, DWORD PTR _best_val_max$[ebp]
  000fa	89 08		 mov	 DWORD PTR [eax], ecx
$LN4@GetResult:

; 345  :     }
; 346  : 
; 347  :     return nb_min;

  000fc	8b 45 f0	 mov	 eax, DWORD PTR _nb_min$[ebp]

; 348  : }

  000ff	5e		 pop	 esi
  00100	8b e5		 mov	 esp, ebp
  00102	5d		 pop	 ebp
  00103	c2 0c 00	 ret	 12			; 0000000cH
?GetResult@CCalSetting@@QAEHPAPAIPAH1@Z ENDP		; CCalSetting::GetResult
_TEXT	ENDS
PUBLIC	?InitResult@CCalSetting@@QAEXXZ			; CCalSetting::InitResult
; Function compile flags: /Odtp
;	COMDAT ?InitResult@CCalSetting@@QAEXXZ
_TEXT	SEGMENT
_this$ = -8						; size = 4
_i$ = -4						; size = 4
?InitResult@CCalSetting@@QAEXXZ PROC			; CCalSetting::InitResult, COMDAT
; _this$ = ecx

; 260  : {

  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

; 261  :     int i;
; 262  : 
; 263  :     min_diff = MAX_VALUE;

  00009	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	c7 40 28 00 ca
	9a 3b		 mov	 DWORD PTR [eax+40], 1000000000 ; 3b9aca00H

; 264  :     max_diff = 0;

  00013	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00016	c7 41 2c 00 00
	00 00		 mov	 DWORD PTR [ecx+44], 0

; 265  :     desc = FALSE;

  0001d	8b 55 f8	 mov	 edx, DWORD PTR _this$[ebp]
  00020	c7 42 30 00 00
	00 00		 mov	 DWORD PTR [edx+48], 0

; 266  :     for (i=0 ; i<mask_nb ; i++)

  00027	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _i$[ebp], 0
  0002e	eb 09		 jmp	 SHORT $LN3@InitResult
$LN2@InitResult:
  00030	8b 45 fc	 mov	 eax, DWORD PTR _i$[ebp]
  00033	83 c0 01	 add	 eax, 1
  00036	89 45 fc	 mov	 DWORD PTR _i$[ebp], eax
$LN3@InitResult:
  00039	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0003c	8b 55 fc	 mov	 edx, DWORD PTR _i$[ebp]
  0003f	3b 51 1c	 cmp	 edx, DWORD PTR [ecx+28]
  00042	7d 12		 jge	 SHORT $LN1@InitResult

; 267  :     {
; 268  :         mask_output[i] = 0;

  00044	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  00047	8b 48 10	 mov	 ecx, DWORD PTR [eax+16]
  0004a	8b 55 fc	 mov	 edx, DWORD PTR _i$[ebp]
  0004d	c7 04 91 00 00
	00 00		 mov	 DWORD PTR [ecx+edx*4], 0

; 269  :     }

  00054	eb da		 jmp	 SHORT $LN2@InitResult
$LN1@InitResult:

; 270  :     end = FALSE;

  00056	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  00059	c7 40 34 00 00
	00 00		 mov	 DWORD PTR [eax+52], 0

; 271  : }

  00060	8b e5		 mov	 esp, ebp
  00062	5d		 pop	 ebp
  00063	c3		 ret	 0
?InitResult@CCalSetting@@QAEXXZ ENDP			; CCalSetting::InitResult
_TEXT	ENDS
PUBLIC	?GetRange@CCalSetting@@QAEHPAPAIPAH1@Z		; CCalSetting::GetRange
; Function compile flags: /Odtp
;	COMDAT ?GetRange@CCalSetting@@QAEHPAPAIPAH1@Z
_TEXT	SEGMENT
_this$ = -12						; size = 4
_nb$ = -8						; size = 4
_i$ = -4						; size = 4
_mask$ = 8						; size = 4
_min_val$ = 12						; size = 4
_max_val$ = 16						; size = 4
?GetRange@CCalSetting@@QAEHPAPAIPAH1@Z PROC		; CCalSetting::GetRange, COMDAT
; _this$ = ecx

; 174  : {

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

; 175  :     int i, nb;
; 176  : 
; 177  :     for (i=0,nb=0 ; i<=(max - min) ; i++)

  0000a	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _i$[ebp], 0
  00011	c7 45 f8 00 00
	00 00		 mov	 DWORD PTR _nb$[ebp], 0
  00018	eb 09		 jmp	 SHORT $LN8@GetRange
$LN7@GetRange:
  0001a	8b 45 fc	 mov	 eax, DWORD PTR _i$[ebp]
  0001d	83 c0 01	 add	 eax, 1
  00020	89 45 fc	 mov	 DWORD PTR _i$[ebp], eax
$LN8@GetRange:
  00023	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  00026	8b 55 f4	 mov	 edx, DWORD PTR _this$[ebp]
  00029	8b 41 18	 mov	 eax, DWORD PTR [ecx+24]
  0002c	2b 42 14	 sub	 eax, DWORD PTR [edx+20]
  0002f	39 45 fc	 cmp	 DWORD PTR _i$[ebp], eax
  00032	7f 39		 jg	 SHORT $LN6@GetRange

; 178  :     {
; 179  :         if (mask_input[i/32] & (1 << (i%32)))

  00034	8b 45 fc	 mov	 eax, DWORD PTR _i$[ebp]
  00037	99		 cdq
  00038	83 e2 1f	 and	 edx, 31			; 0000001fH
  0003b	03 c2		 add	 eax, edx
  0003d	c1 f8 05	 sar	 eax, 5
  00040	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  00043	8b 51 0c	 mov	 edx, DWORD PTR [ecx+12]
  00046	8b 4d fc	 mov	 ecx, DWORD PTR _i$[ebp]
  00049	81 e1 1f 00 00
	80		 and	 ecx, -2147483617	; 8000001fH
  0004f	79 05		 jns	 SHORT $LN11@GetRange
  00051	49		 dec	 ecx
  00052	83 c9 e0	 or	 ecx, -32		; ffffffe0H
  00055	41		 inc	 ecx
$LN11@GetRange:
  00056	be 01 00 00 00	 mov	 esi, 1
  0005b	d3 e6		 shl	 esi, cl
  0005d	23 34 82	 and	 esi, DWORD PTR [edx+eax*4]
  00060	74 09		 je	 SHORT $LN5@GetRange

; 180  :         {
; 181  :             nb++;

  00062	8b 45 f8	 mov	 eax, DWORD PTR _nb$[ebp]
  00065	83 c0 01	 add	 eax, 1
  00068	89 45 f8	 mov	 DWORD PTR _nb$[ebp], eax
$LN5@GetRange:

; 182  :         }
; 183  :     }

  0006b	eb ad		 jmp	 SHORT $LN7@GetRange
$LN6@GetRange:

; 184  : 
; 185  :     if (mask != NULL)

  0006d	83 7d 08 00	 cmp	 DWORD PTR _mask$[ebp], 0
  00071	74 4d		 je	 SHORT $LN4@GetRange

; 186  :     {
; 187  :         *mask = (unsigned int*) malloc(mask_nb * sizeof(unsigned int));

  00073	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  00076	8b 51 1c	 mov	 edx, DWORD PTR [ecx+28]
  00079	c1 e2 02	 shl	 edx, 2
  0007c	52		 push	 edx
  0007d	e8 00 00 00 00	 call	 _malloc
  00082	83 c4 04	 add	 esp, 4
  00085	8b 4d 08	 mov	 ecx, DWORD PTR _mask$[ebp]
  00088	89 01		 mov	 DWORD PTR [ecx], eax

; 188  :         for (i=0 ; i<mask_nb; i++)

  0008a	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _i$[ebp], 0
  00091	eb 09		 jmp	 SHORT $LN3@GetRange
$LN2@GetRange:
  00093	8b 55 fc	 mov	 edx, DWORD PTR _i$[ebp]
  00096	83 c2 01	 add	 edx, 1
  00099	89 55 fc	 mov	 DWORD PTR _i$[ebp], edx
$LN3@GetRange:
  0009c	8b 45 f4	 mov	 eax, DWORD PTR _this$[ebp]
  0009f	8b 4d fc	 mov	 ecx, DWORD PTR _i$[ebp]
  000a2	3b 48 1c	 cmp	 ecx, DWORD PTR [eax+28]
  000a5	7d 19		 jge	 SHORT $LN4@GetRange

; 189  :         {
; 190  :             (*mask)[i] = mask_input[i];

  000a7	8b 55 f4	 mov	 edx, DWORD PTR _this$[ebp]
  000aa	8b 42 0c	 mov	 eax, DWORD PTR [edx+12]
  000ad	8b 4d 08	 mov	 ecx, DWORD PTR _mask$[ebp]
  000b0	8b 11		 mov	 edx, DWORD PTR [ecx]
  000b2	8b 4d fc	 mov	 ecx, DWORD PTR _i$[ebp]
  000b5	8b 75 fc	 mov	 esi, DWORD PTR _i$[ebp]
  000b8	8b 04 b0	 mov	 eax, DWORD PTR [eax+esi*4]
  000bb	89 04 8a	 mov	 DWORD PTR [edx+ecx*4], eax

; 191  :         }

  000be	eb d3		 jmp	 SHORT $LN2@GetRange
$LN4@GetRange:

; 192  :     }
; 193  :     *min_val = min_value;

  000c0	8b 4d 0c	 mov	 ecx, DWORD PTR _min_val$[ebp]
  000c3	8b 55 f4	 mov	 edx, DWORD PTR _this$[ebp]
  000c6	8b 42 04	 mov	 eax, DWORD PTR [edx+4]
  000c9	89 01		 mov	 DWORD PTR [ecx], eax

; 194  :     *max_val = max_value;

  000cb	8b 4d 10	 mov	 ecx, DWORD PTR _max_val$[ebp]
  000ce	8b 55 f4	 mov	 edx, DWORD PTR _this$[ebp]
  000d1	8b 42 08	 mov	 eax, DWORD PTR [edx+8]
  000d4	89 01		 mov	 DWORD PTR [ecx], eax

; 195  : 
; 196  :     return nb;

  000d6	8b 45 f8	 mov	 eax, DWORD PTR _nb$[ebp]

; 197  : }

  000d9	5e		 pop	 esi
  000da	8b e5		 mov	 esp, ebp
  000dc	5d		 pop	 ebp
  000dd	c2 0c 00	 ret	 12			; 0000000cH
?GetRange@CCalSetting@@QAEHPAPAIPAH1@Z ENDP		; CCalSetting::GetRange
_TEXT	ENDS
PUBLIC	?SetRange@CCalSetting@@QAEXPAI@Z		; CCalSetting::SetRange
; Function compile flags: /Odtp
;	COMDAT ?SetRange@CCalSetting@@QAEXPAI@Z
_TEXT	SEGMENT
_this$ = -12						; size = 4
_nb$ = -8						; size = 4
_i$ = -4						; size = 4
_mask$ = 8						; size = 4
?SetRange@CCalSetting@@QAEXPAI@Z PROC			; CCalSetting::SetRange, COMDAT
; _this$ = ecx

; 148  : {

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

; 149  :     int i, nb;
; 150  : 
; 151  :     for (i=0 ; i<mask_nb ; i++)

  0000a	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _i$[ebp], 0
  00011	eb 09		 jmp	 SHORT $LN9@SetRange
$LN8@SetRange:
  00013	8b 45 fc	 mov	 eax, DWORD PTR _i$[ebp]
  00016	83 c0 01	 add	 eax, 1
  00019	89 45 fc	 mov	 DWORD PTR _i$[ebp], eax
$LN9@SetRange:
  0001c	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  0001f	8b 55 fc	 mov	 edx, DWORD PTR _i$[ebp]
  00022	3b 51 1c	 cmp	 edx, DWORD PTR [ecx+28]
  00025	7d 17		 jge	 SHORT $LN7@SetRange

; 152  :     {
; 153  :         mask_input[i] = mask[i];

  00027	8b 45 f4	 mov	 eax, DWORD PTR _this$[ebp]
  0002a	8b 48 0c	 mov	 ecx, DWORD PTR [eax+12]
  0002d	8b 55 fc	 mov	 edx, DWORD PTR _i$[ebp]
  00030	8b 45 fc	 mov	 eax, DWORD PTR _i$[ebp]
  00033	8b 75 08	 mov	 esi, DWORD PTR _mask$[ebp]
  00036	8b 04 86	 mov	 eax, DWORD PTR [esi+eax*4]
  00039	89 04 91	 mov	 DWORD PTR [ecx+edx*4], eax

; 154  :     }

  0003c	eb d5		 jmp	 SHORT $LN8@SetRange
$LN7@SetRange:

; 155  :     for (i=0,nb=0 ; i<=(max - min) ; i++)

  0003e	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _i$[ebp], 0
  00045	c7 45 f8 00 00
	00 00		 mov	 DWORD PTR _nb$[ebp], 0
  0004c	eb 09		 jmp	 SHORT $LN6@SetRange
$LN5@SetRange:
  0004e	8b 4d fc	 mov	 ecx, DWORD PTR _i$[ebp]
  00051	83 c1 01	 add	 ecx, 1
  00054	89 4d fc	 mov	 DWORD PTR _i$[ebp], ecx
$LN6@SetRange:
  00057	8b 55 f4	 mov	 edx, DWORD PTR _this$[ebp]
  0005a	8b 45 f4	 mov	 eax, DWORD PTR _this$[ebp]
  0005d	8b 4a 18	 mov	 ecx, DWORD PTR [edx+24]
  00060	2b 48 14	 sub	 ecx, DWORD PTR [eax+20]
  00063	39 4d fc	 cmp	 DWORD PTR _i$[ebp], ecx
  00066	7f 6e		 jg	 SHORT $LN10@SetRange

; 156  :     {
; 157  :         if (mask[i/32] & (1 << (i%32)))

  00068	8b 45 fc	 mov	 eax, DWORD PTR _i$[ebp]
  0006b	99		 cdq
  0006c	83 e2 1f	 and	 edx, 31			; 0000001fH
  0006f	03 c2		 add	 eax, edx
  00071	c1 f8 05	 sar	 eax, 5
  00074	8b 4d fc	 mov	 ecx, DWORD PTR _i$[ebp]
  00077	81 e1 1f 00 00
	80		 and	 ecx, -2147483617	; 8000001fH
  0007d	79 05		 jns	 SHORT $LN12@SetRange
  0007f	49		 dec	 ecx
  00080	83 c9 e0	 or	 ecx, -32		; ffffffe0H
  00083	41		 inc	 ecx
$LN12@SetRange:
  00084	ba 01 00 00 00	 mov	 edx, 1
  00089	d3 e2		 shl	 edx, cl
  0008b	8b 4d 08	 mov	 ecx, DWORD PTR _mask$[ebp]
  0008e	23 14 81	 and	 edx, DWORD PTR [ecx+eax*4]
  00091	74 3e		 je	 SHORT $LN3@SetRange

; 158  :         {
; 159  :             nb++;

  00093	8b 55 f8	 mov	 edx, DWORD PTR _nb$[ebp]
  00096	83 c2 01	 add	 edx, 1
  00099	89 55 f8	 mov	 DWORD PTR _nb$[ebp], edx

; 160  :             if (nb == 1)

  0009c	83 7d f8 01	 cmp	 DWORD PTR _nb$[ebp], 1
  000a0	75 20		 jne	 SHORT $LN2@SetRange

; 161  :             {
; 162  :                 min_value = i + min;

  000a2	8b 45 f4	 mov	 eax, DWORD PTR _this$[ebp]
  000a5	8b 4d fc	 mov	 ecx, DWORD PTR _i$[ebp]
  000a8	03 48 14	 add	 ecx, DWORD PTR [eax+20]
  000ab	8b 55 f4	 mov	 edx, DWORD PTR _this$[ebp]
  000ae	89 4a 04	 mov	 DWORD PTR [edx+4], ecx

; 163  :                 max_value = i + min;

  000b1	8b 45 f4	 mov	 eax, DWORD PTR _this$[ebp]
  000b4	8b 4d fc	 mov	 ecx, DWORD PTR _i$[ebp]
  000b7	03 48 14	 add	 ecx, DWORD PTR [eax+20]
  000ba	8b 55 f4	 mov	 edx, DWORD PTR _this$[ebp]
  000bd	89 4a 08	 mov	 DWORD PTR [edx+8], ecx

; 164  :             }
; 165  :             else

  000c0	eb 0f		 jmp	 SHORT $LN3@SetRange
$LN2@SetRange:

; 166  :             {
; 167  :                 max_value = i + min;

  000c2	8b 45 f4	 mov	 eax, DWORD PTR _this$[ebp]
  000c5	8b 4d fc	 mov	 ecx, DWORD PTR _i$[ebp]
  000c8	03 48 14	 add	 ecx, DWORD PTR [eax+20]
  000cb	8b 55 f4	 mov	 edx, DWORD PTR _this$[ebp]
  000ce	89 4a 08	 mov	 DWORD PTR [edx+8], ecx
$LN3@SetRange:

; 168  :             }
; 169  :         }

  000d1	e9 78 ff ff ff	 jmp	 $LN5@SetRange
$LN10@SetRange:

; 170  :     }
; 171  : }

  000d6	5e		 pop	 esi
  000d7	8b e5		 mov	 esp, ebp
  000d9	5d		 pop	 ebp
  000da	c2 04 00	 ret	 4
?SetRange@CCalSetting@@QAEXPAI@Z ENDP			; CCalSetting::SetRange
_TEXT	ENDS
PUBLIC	?Update@CCalSetting@@QAEHXZ			; CCalSetting::Update
; Function compile flags: /Odtp
;	COMDAT ?Update@CCalSetting@@QAEHXZ
_TEXT	SEGMENT
_this$ = -8						; size = 4
_new_value$ = -4					; size = 4
?Update@CCalSetting@@QAEHXZ PROC			; CCalSetting::Update, COMDAT
; _this$ = ecx

; 82   : {

  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

; 83   :     int new_value = m_pSetting->GetValue();

  00009	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	8b 08		 mov	 ecx, DWORD PTR [eax]
  0000e	e8 00 00 00 00	 call	 ?GetValue@CSliderSetting@@QAEJXZ ; CSliderSetting::GetValue
  00013	89 45 fc	 mov	 DWORD PTR _new_value$[ebp], eax

; 84   :     if (new_value != current_value)

  00016	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00019	8b 55 fc	 mov	 edx, DWORD PTR _new_value$[ebp]
  0001c	3b 51 20	 cmp	 edx, DWORD PTR [ecx+32]
  0001f	74 12		 je	 SHORT $LN2@Update

; 85   :     {
; 86   :         current_value = new_value;

  00021	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  00024	8b 4d fc	 mov	 ecx, DWORD PTR _new_value$[ebp]
  00027	89 48 20	 mov	 DWORD PTR [eax+32], ecx

; 87   :         return TRUE;

  0002a	b8 01 00 00 00	 mov	 eax, 1
  0002f	eb 04		 jmp	 SHORT $LN3@Update

; 88   :     }
; 89   :     else

  00031	eb 02		 jmp	 SHORT $LN3@Update
$LN2@Update:

; 90   :     {
; 91   :         return FALSE;

  00033	33 c0		 xor	 eax, eax
$LN3@Update:

; 92   :     }
; 93   : }

  00035	8b e5		 mov	 esp, ebp
  00037	5d		 pop	 ebp
  00038	c3		 ret	 0
?Update@CCalSetting@@QAEHXZ ENDP			; CCalSetting::Update
_TEXT	ENDS
PUBLIC	??1CCalSetting@@QAE@XZ				; CCalSetting::~CCalSetting
; Function compile flags: /Odtp
;	COMDAT ??1CCalSetting@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??1CCalSetting@@QAE@XZ PROC				; CCalSetting::~CCalSetting, COMDAT
; _this$ = ecx

; 76   : {

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

; 77   :     free(mask_input);

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b 48 0c	 mov	 ecx, DWORD PTR [eax+12]
  0000d	51		 push	 ecx
  0000e	e8 00 00 00 00	 call	 _free
  00013	83 c4 04	 add	 esp, 4

; 78   :     free(mask_output);

  00016	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00019	8b 42 10	 mov	 eax, DWORD PTR [edx+16]
  0001c	50		 push	 eax
  0001d	e8 00 00 00 00	 call	 _free
  00022	83 c4 04	 add	 esp, 4

; 79   : }

  00025	8b e5		 mov	 esp, ebp
  00027	5d		 pop	 ebp
  00028	c3		 ret	 0
??1CCalSetting@@QAE@XZ ENDP				; CCalSetting::~CCalSetting
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\memory
;	COMDAT ??$unchecked_uninitialized_copy@PAPAVCTestPattern@@PAPAV1@V?$allocator@PAVCTestPattern@@@std@@@stdext@@YAPAPAVCTestPattern@@PAPAV1@00AAV?$allocator@PAVCTestPattern@@@std@@@Z
_TEXT	SEGMENT
$T313175 = -2						; size = 1
$T313174 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
__Al$ = 20						; size = 4
??$unchecked_uninitialized_copy@PAPAVCTestPattern@@PAPAV1@V?$allocator@PAVCTestPattern@@@std@@@stdext@@YAPAPAVCTestPattern@@PAPAV1@00AAV?$allocator@PAVCTestPattern@@@std@@@Z PROC ; stdext::unchecked_uninitialized_copy<CTestPattern * *,CTestPattern * *,std::allocator<CTestPattern *> >, 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 $T313174[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@PAPAVCTestPattern@@PAPAV1@@std@@YA?AU_Scalar_ptr_iterator_tag@0@AAPAPAVCTestPattern@@0@Z ; std::_Ptr_cat<CTestPattern * *,CTestPattern * *>
  00016	83 c4 08	 add	 esp, 8
  00019	88 45 fe	 mov	 BYTE PTR $T313175[ebp], al
  0001c	0f b6 45 ff	 movzx	 eax, BYTE PTR $T313174[ebp]
  00020	50		 push	 eax
  00021	0f b6 4d fe	 movzx	 ecx, BYTE PTR $T313175[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@PAPAVCTestPattern@@@std@@YAPAPAVCTestPattern@@AAPAPAV1@@Z ; std::_Checked_base<CTestPattern * *>
  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@PAPAVCTestPattern@@@std@@YAPAPAVCTestPattern@@AAPAPAV1@@Z ; std::_Checked_base<CTestPattern * *>
  00044	83 c4 04	 add	 esp, 4
  00047	50		 push	 eax
  00048	e8 00 00 00 00	 call	 ??$_Uninit_copy@PAPAVCTestPattern@@PAPAV1@V?$allocator@PAVCTestPattern@@@std@@@std@@YAPAPAVCTestPattern@@PAPAV1@00AAV?$allocator@PAVCTestPattern@@@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_copy<CTestPattern * *,CTestPattern * *,std::allocator<CTestPattern *> >
  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@PAPAVCTestPattern@@PAPAV1@V?$allocator@PAVCTestPattern@@@std@@@stdext@@YAPAPAVCTestPattern@@PAPAV1@00AAV?$allocator@PAVCTestPattern@@@std@@@Z ENDP ; stdext::unchecked_uninitialized_copy<CTestPattern * *,CTestPattern * *,std::allocator<CTestPattern *> >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$unchecked_uninitialized_copy@PAPAVCColorBar@@PAPAV1@V?$allocator@PAVCColorBar@@@std@@@stdext@@YAPAPAVCColorBar@@PAPAV1@00AAV?$allocator@PAVCColorBar@@@std@@@Z
_TEXT	SEGMENT
$T313179 = -2						; size = 1
$T313178 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
__Al$ = 20						; size = 4
??$unchecked_uninitialized_copy@PAPAVCColorBar@@PAPAV1@V?$allocator@PAVCColorBar@@@std@@@stdext@@YAPAPAVCColorBar@@PAPAV1@00AAV?$allocator@PAVCColorBar@@@std@@@Z PROC ; stdext::unchecked_uninitialized_copy<CColorBar * *,CColorBar * *,std::allocator<CColorBar *> >, 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 $T313178[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 $T313179[ebp], al
  0001c	0f b6 45 ff	 movzx	 eax, BYTE PTR $T313178[ebp]
  00020	50		 push	 eax
  00021	0f b6 4d fe	 movzx	 ecx, BYTE PTR $T313179[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@PAPAVCColorBar@@@std@@YAPAPAVCColorBar@@AAPAPAV1@@Z ; std::_Checked_base<CColorBar * *>
  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@PAPAVCColorBar@@@std@@YAPAPAVCColorBar@@AAPAPAV1@@Z ; std::_Checked_base<CColorBar * *>
  00044	83 c4 04	 add	 esp, 4
  00047	50		 push	 eax
  00048	e8 00 00 00 00	 call	 ??$_Uninit_copy@PAPAVCColorBar@@PAPAV1@V?$allocator@PAVCColorBar@@@std@@@std@@YAPAPAVCColorBar@@PAPAV1@00AAV?$allocator@PAVCColorBar@@@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_copy<CColorBar * *,CColorBar * *,std::allocator<CColorBar *> >
  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@PAPAVCColorBar@@PAPAV1@V?$allocator@PAVCColorBar@@@std@@@stdext@@YAPAPAVCColorBar@@PAPAV1@00AAV?$allocator@PAVCColorBar@@@std@@@Z ENDP ; stdext::unchecked_uninitialized_copy<CColorBar * *,CColorBar * *,std::allocator<CColorBar *> >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
_TEXT	ENDS
;	COMDAT ??$_Fill_n@PAPAVCTestPattern@@IPAV1@@std@@YAXPAPAVCTestPattern@@IABQAV1@Urandom_access_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
$T313182 = -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@PAPAVCTestPattern@@IPAV1@@std@@YAXPAPAVCTestPattern@@IABQAV1@Urandom_access_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Fill_n<CTestPattern * *,unsigned int,CTestPattern *>, 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 $T313182[ebp], al
  00017	0f b6 4d fb	 movzx	 ecx, BYTE PTR $T313182[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@PAPAVCTestPattern@@@std@@YAPAPAVCTestPattern@@AAPAPAV1@@Z ; std::_Checked_base<CTestPattern * *>
  0002d	83 c4 04	 add	 esp, 4
  00030	50		 push	 eax
  00031	e8 00 00 00 00	 call	 ??$_Fill_n@PAPAVCTestPattern@@IPAV1@@std@@YAXPAPAVCTestPattern@@IABQAV1@U_Range_checked_iterator_tag@0@@Z ; std::_Fill_n<CTestPattern * *,unsigned int,CTestPattern *>
  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@PAPAVCTestPattern@@IPAV1@@std@@YAXPAPAVCTestPattern@@IABQAV1@Urandom_access_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Fill_n<CTestPattern * *,unsigned int,CTestPattern *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Fill_n@PAPAVCColorBar@@IPAV1@@std@@YAXPAPAVCColorBar@@IABQAV1@Urandom_access_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
$T313185 = -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@PAPAVCColorBar@@IPAV1@@std@@YAXPAPAVCColorBar@@IABQAV1@Urandom_access_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Fill_n<CColorBar * *,unsigned int,CColorBar *>, 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 $T313185[ebp], al
  00017	0f b6 4d fb	 movzx	 ecx, BYTE PTR $T313185[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@PAPAVCColorBar@@@std@@YAPAPAVCColorBar@@AAPAPAV1@@Z ; std::_Checked_base<CColorBar * *>
  0002d	83 c4 04	 add	 esp, 4
  00030	50		 push	 eax
  00031	e8 00 00 00 00	 call	 ??$_Fill_n@PAPAVCColorBar@@IPAV1@@std@@YAXPAPAVCColorBar@@IABQAV1@U_Range_checked_iterator_tag@0@@Z ; std::_Fill_n<CColorBar * *,unsigned int,CColorBar *>
  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@PAPAVCColorBar@@IPAV1@@std@@YAXPAPAVCColorBar@@IABQAV1@Urandom_access_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Fill_n<CColorBar * *,unsigned int,CColorBar *>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\memory
_TEXT	ENDS
;	COMDAT ??$_Uninit_move@PAPAVCTestPattern@@PAPAV1@V?$allocator@PAVCTestPattern@@@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCTestPattern@@PAPAV1@00AAV?$allocator@PAVCTestPattern@@@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@PAPAVCTestPattern@@PAPAV1@V?$allocator@PAVCTestPattern@@@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCTestPattern@@PAPAV1@00AAV?$allocator@PAVCTestPattern@@@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Uninit_move<CTestPattern * *,CTestPattern * *,std::allocator<CTestPattern *>,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@PAPAVCTestPattern@@PAPAV1@V?$allocator@PAVCTestPattern@@@std@@@stdext@@YAPAPAVCTestPattern@@PAPAV1@00AAV?$allocator@PAVCTestPattern@@@std@@@Z ; stdext::unchecked_uninitialized_copy<CTestPattern * *,CTestPattern * *,std::allocator<CTestPattern *> >
  00018	83 c4 10	 add	 esp, 16			; 00000010H

; 206  : 	}

  0001b	5d		 pop	 ebp
  0001c	c3		 ret	 0
??$_Uninit_move@PAPAVCTestPattern@@PAPAV1@V?$allocator@PAVCTestPattern@@@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCTestPattern@@PAPAV1@00AAV?$allocator@PAVCTestPattern@@@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Uninit_move<CTestPattern * *,CTestPattern * *,std::allocator<CTestPattern *>,std::_Undefined_move_tag>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Uninit_move@PAPAVCColorBar@@PAPAV1@V?$allocator@PAVCColorBar@@@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCColorBar@@PAPAV1@00AAV?$allocator@PAVCColorBar@@@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@PAPAVCColorBar@@PAPAV1@V?$allocator@PAVCColorBar@@@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCColorBar@@PAPAV1@00AAV?$allocator@PAVCColorBar@@@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Uninit_move<CColorBar * *,CColorBar * *,std::allocator<CColorBar *>,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@PAPAVCColorBar@@PAPAV1@V?$allocator@PAVCColorBar@@@std@@@stdext@@YAPAPAVCColorBar@@PAPAV1@00AAV?$allocator@PAVCColorBar@@@std@@@Z ; stdext::unchecked_uninitialized_copy<CColorBar * *,CColorBar * *,std::allocator<CColorBar *> >
  00018	83 c4 10	 add	 esp, 16			; 00000010H

; 206  : 	}

  0001b	5d		 pop	 ebp
  0001c	c3		 ret	 0
??$_Uninit_move@PAPAVCColorBar@@PAPAV1@V?$allocator@PAVCColorBar@@@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCColorBar@@PAPAV1@00AAV?$allocator@PAVCColorBar@@@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Uninit_move<CColorBar * *,CColorBar * *,std::allocator<CColorBar *>,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@PAPAVCTestPattern@@IPAV1@@stdext@@YAXPAPAVCTestPattern@@IABQAV1@@Z
_TEXT	SEGMENT
$T313193 = -2						; size = 1
$T313192 = -1						; size = 1
__First$ = 8						; size = 4
__Count$ = 12						; size = 4
__Val$ = 16						; size = 4
??$unchecked_fill_n@PAPAVCTestPattern@@IPAV1@@stdext@@YAXPAPAVCTestPattern@@IABQAV1@@Z PROC ; stdext::unchecked_fill_n<CTestPattern * *,unsigned int,CTestPattern *>, 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 $T313192[ebp], al
  00009	0f b6 4d ff	 movzx	 ecx, BYTE PTR $T313192[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 $T313193[ebp]
  00015	50		 push	 eax
  00016	e8 00 00 00 00	 call	 ??$_Iter_cat@PAPAVCTestPattern@@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCTestPattern@@@Z ; std::_Iter_cat<CTestPattern * *>
  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@PAPAVCTestPattern@@IPAV1@@std@@YAXPAPAVCTestPattern@@IABQAV1@Urandom_access_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Fill_n<CTestPattern * *,unsigned int,CTestPattern *>
  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@PAPAVCTestPattern@@IPAV1@@stdext@@YAXPAPAVCTestPattern@@IABQAV1@@Z ENDP ; stdext::unchecked_fill_n<CTestPattern * *,unsigned int,CTestPattern *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$unchecked_fill_n@PAPAVCColorBar@@IPAV1@@stdext@@YAXPAPAVCColorBar@@IABQAV1@@Z
_TEXT	SEGMENT
$T313197 = -2						; size = 1
$T313196 = -1						; size = 1
__First$ = 8						; size = 4
__Count$ = 12						; size = 4
__Val$ = 16						; size = 4
??$unchecked_fill_n@PAPAVCColorBar@@IPAV1@@stdext@@YAXPAPAVCColorBar@@IABQAV1@@Z PROC ; stdext::unchecked_fill_n<CColorBar * *,unsigned int,CColorBar *>, 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 $T313196[ebp], al
  00009	0f b6 4d ff	 movzx	 ecx, BYTE PTR $T313196[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 $T313197[ebp]
  00015	50		 push	 eax
  00016	e8 00 00 00 00	 call	 ??$_Iter_cat@PAPAVCColorBar@@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCColorBar@@@Z ; std::_Iter_cat<CColorBar * *>
  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@PAPAVCColorBar@@IPAV1@@std@@YAXPAPAVCColorBar@@IABQAV1@Urandom_access_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Fill_n<CColorBar * *,unsigned int,CColorBar *>
  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@PAPAVCColorBar@@IPAV1@@stdext@@YAXPAPAVCColorBar@@IABQAV1@@Z ENDP ; stdext::unchecked_fill_n<CColorBar * *,unsigned int,CColorBar *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Move_backward_opt@PAPAVCTestPattern@@PAPAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCTestPattern@@PAPAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
$T313201 = -2						; size = 1
$T313200 = -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@PAPAVCTestPattern@@PAPAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCTestPattern@@PAPAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Move_backward_opt<CTestPattern * *,CTestPattern * *,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 $T313200[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@PAPAVCTestPattern@@PAPAV1@@std@@YA?AU_Scalar_ptr_iterator_tag@0@AAPAPAVCTestPattern@@0@Z ; std::_Ptr_cat<CTestPattern * *,CTestPattern * *>
  00016	83 c4 08	 add	 esp, 8
  00019	88 45 fe	 mov	 BYTE PTR $T313201[ebp], al
  0001c	0f b6 45 ff	 movzx	 eax, BYTE PTR $T313200[ebp]
  00020	50		 push	 eax
  00021	0f b6 4d fe	 movzx	 ecx, BYTE PTR $T313201[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@PAPAVCTestPattern@@PAPAV1@Urandom_access_iterator_tag@std@@@std@@YAPAPAVCTestPattern@@PAPAV1@00Urandom_access_iterator_tag@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_backward_opt<CTestPattern * *,CTestPattern * *,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@PAPAVCTestPattern@@PAPAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCTestPattern@@PAPAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Move_backward_opt<CTestPattern * *,CTestPattern * *,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@PAPAVCTestPattern@@PAPAV1@V?$allocator@PAVCTestPattern@@@std@@@stdext@@YAPAPAVCTestPattern@@PAPAV1@00AAV?$allocator@PAVCTestPattern@@@std@@@Z
_TEXT	SEGMENT
$T313205 = -2						; size = 1
$T313204 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
__Al$ = 20						; size = 4
??$_Unchecked_uninitialized_move@PAPAVCTestPattern@@PAPAV1@V?$allocator@PAVCTestPattern@@@std@@@stdext@@YAPAPAVCTestPattern@@PAPAV1@00AAV?$allocator@PAVCTestPattern@@@std@@@Z PROC ; stdext::_Unchecked_uninitialized_move<CTestPattern * *,CTestPattern * *,std::allocator<CTestPattern *> >, 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 $T313204[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@PAPAVCTestPattern@@@std@@YA?AU_Undefined_move_tag@0@ABQAPAVCTestPattern@@@Z ; std::_Move_cat<CTestPattern * *>
  00012	83 c4 04	 add	 esp, 4
  00015	88 45 fe	 mov	 BYTE PTR $T313205[ebp], al
  00018	0f b6 55 ff	 movzx	 edx, BYTE PTR $T313204[ebp]
  0001c	52		 push	 edx
  0001d	0f b6 45 fe	 movzx	 eax, BYTE PTR $T313205[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@PAPAVCTestPattern@@@std@@YAPAPAVCTestPattern@@AAPAPAV1@@Z ; std::_Checked_base<CTestPattern * *>
  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@PAPAVCTestPattern@@@std@@YAPAPAVCTestPattern@@AAPAPAV1@@Z ; std::_Checked_base<CTestPattern * *>
  00040	83 c4 04	 add	 esp, 4
  00043	50		 push	 eax
  00044	e8 00 00 00 00	 call	 ??$_Uninit_move@PAPAVCTestPattern@@PAPAV1@V?$allocator@PAVCTestPattern@@@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCTestPattern@@PAPAV1@00AAV?$allocator@PAVCTestPattern@@@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_move<CTestPattern * *,CTestPattern * *,std::allocator<CTestPattern *>,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@PAPAVCTestPattern@@PAPAV1@V?$allocator@PAVCTestPattern@@@std@@@stdext@@YAPAPAVCTestPattern@@PAPAV1@00AAV?$allocator@PAVCTestPattern@@@std@@@Z ENDP ; stdext::_Unchecked_uninitialized_move<CTestPattern * *,CTestPattern * *,std::allocator<CTestPattern *> >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
_TEXT	ENDS
;	COMDAT ??$_Move_backward_opt@PAPAVCColorBar@@PAPAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCColorBar@@PAPAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
$T313209 = -2						; size = 1
$T313208 = -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@PAPAVCColorBar@@PAPAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCColorBar@@PAPAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Move_backward_opt<CColorBar * *,CColorBar * *,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 $T313208[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 $T313209[ebp], al
  0001c	0f b6 45 ff	 movzx	 eax, BYTE PTR $T313208[ebp]
  00020	50		 push	 eax
  00021	0f b6 4d fe	 movzx	 ecx, BYTE PTR $T313209[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@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_backward_opt<CColorBar * *,CColorBar * *,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@PAPAVCColorBar@@PAPAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCColorBar@@PAPAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Move_backward_opt<CColorBar * *,CColorBar * *,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@PAPAVCColorBar@@PAPAV1@V?$allocator@PAVCColorBar@@@std@@@stdext@@YAPAPAVCColorBar@@PAPAV1@00AAV?$allocator@PAVCColorBar@@@std@@@Z
_TEXT	SEGMENT
$T313213 = -2						; size = 1
$T313212 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
__Al$ = 20						; size = 4
??$_Unchecked_uninitialized_move@PAPAVCColorBar@@PAPAV1@V?$allocator@PAVCColorBar@@@std@@@stdext@@YAPAPAVCColorBar@@PAPAV1@00AAV?$allocator@PAVCColorBar@@@std@@@Z PROC ; stdext::_Unchecked_uninitialized_move<CColorBar * *,CColorBar * *,std::allocator<CColorBar *> >, 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 $T313212[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@PAPAVCColorBar@@@std@@YA?AU_Undefined_move_tag@0@ABQAPAVCColorBar@@@Z ; std::_Move_cat<CColorBar * *>
  00012	83 c4 04	 add	 esp, 4
  00015	88 45 fe	 mov	 BYTE PTR $T313213[ebp], al
  00018	0f b6 55 ff	 movzx	 edx, BYTE PTR $T313212[ebp]
  0001c	52		 push	 edx
  0001d	0f b6 45 fe	 movzx	 eax, BYTE PTR $T313213[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@PAPAVCColorBar@@@std@@YAPAPAVCColorBar@@AAPAPAV1@@Z ; std::_Checked_base<CColorBar * *>
  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@PAPAVCColorBar@@@std@@YAPAPAVCColorBar@@AAPAPAV1@@Z ; std::_Checked_base<CColorBar * *>
  00040	83 c4 04	 add	 esp, 4
  00043	50		 push	 eax
  00044	e8 00 00 00 00	 call	 ??$_Uninit_move@PAPAVCColorBar@@PAPAV1@V?$allocator@PAVCColorBar@@@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCColorBar@@PAPAV1@00AAV?$allocator@PAVCColorBar@@@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_move<CColorBar * *,CColorBar * *,std::allocator<CColorBar *>,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@PAPAVCColorBar@@PAPAV1@V?$allocator@PAVCColorBar@@@std@@@stdext@@YAPAPAVCColorBar@@PAPAV1@00AAV?$allocator@PAVCColorBar@@@std@@@Z ENDP ; stdext::_Unchecked_uninitialized_move<CColorBar * *,CColorBar * *,std::allocator<CColorBar *> >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Uninit_fill_n@PAPAVCTestPattern@@IPAV1@V?$allocator@PAVCTestPattern@@@std@@@std@@YAXPAPAVCTestPattern@@IABQAV1@AAV?$allocator@PAVCTestPattern@@@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@PAPAVCTestPattern@@IPAV1@V?$allocator@PAVCTestPattern@@@std@@@std@@YAXPAPAVCTestPattern@@IABQAV1@AAV?$allocator@PAVCTestPattern@@@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Uninit_fill_n<CTestPattern * *,unsigned int,CTestPattern *,std::allocator<CTestPattern *> >, 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@PAPAVCTestPattern@@IPAV1@@stdext@@YAXPAPAVCTestPattern@@IABQAV1@@Z ; stdext::unchecked_fill_n<CTestPattern * *,unsigned int,CTestPattern *>
  00014	83 c4 0c	 add	 esp, 12			; 0000000cH

; 416  : 	}

  00017	5d		 pop	 ebp
  00018	c3		 ret	 0
??$_Uninit_fill_n@PAPAVCTestPattern@@IPAV1@V?$allocator@PAVCTestPattern@@@std@@@std@@YAXPAPAVCTestPattern@@IABQAV1@AAV?$allocator@PAVCTestPattern@@@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Uninit_fill_n<CTestPattern * *,unsigned int,CTestPattern *,std::allocator<CTestPattern *> >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Uninit_fill_n@PAPAVCColorBar@@IPAV1@V?$allocator@PAVCColorBar@@@std@@@std@@YAXPAPAVCColorBar@@IABQAV1@AAV?$allocator@PAVCColorBar@@@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@PAPAVCColorBar@@IPAV1@V?$allocator@PAVCColorBar@@@std@@@std@@YAXPAPAVCColorBar@@IABQAV1@AAV?$allocator@PAVCColorBar@@@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Uninit_fill_n<CColorBar * *,unsigned int,CColorBar *,std::allocator<CColorBar *> >, 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@PAPAVCColorBar@@IPAV1@@stdext@@YAXPAPAVCColorBar@@IABQAV1@@Z ; stdext::unchecked_fill_n<CColorBar * *,unsigned int,CColorBar *>
  00014	83 c4 0c	 add	 esp, 12			; 0000000cH

; 416  : 	}

  00017	5d		 pop	 ebp
  00018	c3		 ret	 0
??$_Uninit_fill_n@PAPAVCColorBar@@IPAV1@V?$allocator@PAVCColorBar@@@std@@@std@@YAXPAPAVCColorBar@@IABQAV1@AAV?$allocator@PAVCColorBar@@@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Uninit_fill_n<CColorBar * *,unsigned int,CColorBar *,std::allocator<CColorBar *> >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ??$_Allocate@PAVCColorBar@@@std@@YAPAPAVCColorBar@@IPAPAV1@@Z
_TEXT	SEGMENT
$T313220 = -12						; size = 12
__Count$ = 8						; size = 4
___formal$ = 12						; size = 4
??$_Allocate@PAVCColorBar@@@std@@YAPAPAVCColorBar@@IPAPAV1@@Z PROC ; std::_Allocate<CColorBar *>, 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@43

; 38   : 		_Count = 0;

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

; 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@43

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

  00022	6a 00		 push	 0
  00024	8d 4d f4	 lea	 ecx, DWORD PTR $T313220[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 $T313220[ebp]
  00034	50		 push	 eax
  00035	e8 00 00 00 00	 call	 __CxxThrowException@8
$LN2@Allocate@43:

; 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@43:

; 44   : 	}

  00049	8b e5		 mov	 esp, ebp
  0004b	5d		 pop	 ebp
  0004c	c3		 ret	 0
??$_Allocate@PAVCColorBar@@@std@@YAPAPAVCColorBar@@IPAPAV1@@Z ENDP ; std::_Allocate<CColorBar *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Allocate@PAVCTestPattern@@@std@@YAPAPAVCTestPattern@@IPAPAV1@@Z
_TEXT	SEGMENT
$T313223 = -12						; size = 12
__Count$ = 8						; size = 4
___formal$ = 12						; size = 4
??$_Allocate@PAVCTestPattern@@@std@@YAPAPAVCTestPattern@@IPAPAV1@@Z PROC ; std::_Allocate<CTestPattern *>, 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@44

; 38   : 		_Count = 0;

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

; 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@44

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

  00022	6a 00		 push	 0
  00024	8d 4d f4	 lea	 ecx, DWORD PTR $T313223[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 $T313223[ebp]
  00034	50		 push	 eax
  00035	e8 00 00 00 00	 call	 __CxxThrowException@8
$LN2@Allocate@44:

; 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@44:

; 44   : 	}

  00049	8b e5		 mov	 esp, ebp
  0004b	5d		 pop	 ebp
  0004c	c3		 ret	 0
??$_Allocate@PAVCTestPattern@@@std@@YAPAPAVCTestPattern@@IPAPAV1@@Z ENDP ; std::_Allocate<CTestPattern *>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
_TEXT	ENDS
;	COMDAT ??$_Unchecked_move_backward@PAPAVCTestPattern@@PAPAV1@@stdext@@YAPAPAVCTestPattern@@PAPAV1@00@Z
_TEXT	SEGMENT
$T313228 = -3						; size = 1
$T313227 = -2						; size = 1
$T313226 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
??$_Unchecked_move_backward@PAPAVCTestPattern@@PAPAV1@@stdext@@YAPAPAVCTestPattern@@PAPAV1@00@Z PROC ; stdext::_Unchecked_move_backward<CTestPattern * *,CTestPattern * *>, 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 $T313226[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@PAPAVCTestPattern@@@std@@YA?AU_Undefined_move_tag@0@ABQAPAVCTestPattern@@@Z ; std::_Move_cat<CTestPattern * *>
  00012	83 c4 04	 add	 esp, 4
  00015	88 45 fe	 mov	 BYTE PTR $T313227[ebp], al
  00018	0f b6 55 ff	 movzx	 edx, BYTE PTR $T313226[ebp]
  0001c	52		 push	 edx
  0001d	0f b6 45 fe	 movzx	 eax, BYTE PTR $T313227[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 $T313228[ebp]
  0002d	50		 push	 eax
  0002e	e8 00 00 00 00	 call	 ??$_Iter_random@PAPAVCTestPattern@@PAPAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAPAVCTestPattern@@0@Z ; std::_Iter_random<CTestPattern * *,CTestPattern * *>
  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@PAPAVCTestPattern@@@std@@YAPAPAVCTestPattern@@AAPAPAV1@@Z ; std::_Checked_base<CTestPattern * *>
  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@PAPAVCTestPattern@@@std@@YAPAPAVCTestPattern@@AAPAPAV1@@Z ; std::_Checked_base<CTestPattern * *>
  00054	83 c4 04	 add	 esp, 4
  00057	50		 push	 eax
  00058	e8 00 00 00 00	 call	 ??$_Move_backward_opt@PAPAVCTestPattern@@PAPAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCTestPattern@@PAPAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Move_backward_opt<CTestPattern * *,CTestPattern * *,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@PAPAVCTestPattern@@PAPAV1@@stdext@@YAPAPAVCTestPattern@@PAPAV1@00@Z ENDP ; stdext::_Unchecked_move_backward<CTestPattern * *,CTestPattern * *>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
_TEXT	ENDS
;	COMDAT ??$_Umove@PAPAVCTestPattern@@@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEPAPAVCTestPattern@@PAPAV2@00@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Ptr$ = 16						; size = 4
??$_Umove@PAPAVCTestPattern@@@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEPAPAVCTestPattern@@PAPAV2@00@Z PROC ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_Umove<CTestPattern * *>, 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@PAPAVCTestPattern@@PAPAV1@V?$allocator@PAVCTestPattern@@@std@@@stdext@@YAPAPAVCTestPattern@@PAPAV1@00AAV?$allocator@PAVCTestPattern@@@std@@@Z ; stdext::_Unchecked_uninitialized_move<CTestPattern * *,CTestPattern * *,std::allocator<CTestPattern *> >
  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@PAPAVCTestPattern@@@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEPAPAVCTestPattern@@PAPAV2@00@Z ENDP ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_Umove<CTestPattern * *>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
_TEXT	ENDS
;	COMDAT ??$_Unchecked_move_backward@PAPAVCColorBar@@PAPAV1@@stdext@@YAPAPAVCColorBar@@PAPAV1@00@Z
_TEXT	SEGMENT
$T313235 = -3						; size = 1
$T313234 = -2						; size = 1
$T313233 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
??$_Unchecked_move_backward@PAPAVCColorBar@@PAPAV1@@stdext@@YAPAPAVCColorBar@@PAPAV1@00@Z PROC ; stdext::_Unchecked_move_backward<CColorBar * *,CColorBar * *>, 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 $T313233[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@PAPAVCColorBar@@@std@@YA?AU_Undefined_move_tag@0@ABQAPAVCColorBar@@@Z ; std::_Move_cat<CColorBar * *>
  00012	83 c4 04	 add	 esp, 4
  00015	88 45 fe	 mov	 BYTE PTR $T313234[ebp], al
  00018	0f b6 55 ff	 movzx	 edx, BYTE PTR $T313233[ebp]
  0001c	52		 push	 edx
  0001d	0f b6 45 fe	 movzx	 eax, BYTE PTR $T313234[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 $T313235[ebp]
  0002d	50		 push	 eax
  0002e	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 * *>
  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@PAPAVCColorBar@@@std@@YAPAPAVCColorBar@@AAPAPAV1@@Z ; std::_Checked_base<CColorBar * *>
  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@PAPAVCColorBar@@@std@@YAPAPAVCColorBar@@AAPAPAV1@@Z ; std::_Checked_base<CColorBar * *>
  00054	83 c4 04	 add	 esp, 4
  00057	50		 push	 eax
  00058	e8 00 00 00 00	 call	 ??$_Move_backward_opt@PAPAVCColorBar@@PAPAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAPAVCColorBar@@PAPAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Move_backward_opt<CColorBar * *,CColorBar * *,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@PAPAVCColorBar@@PAPAV1@@stdext@@YAPAPAVCColorBar@@PAPAV1@00@Z ENDP ; stdext::_Unchecked_move_backward<CColorBar * *,CColorBar * *>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
_TEXT	ENDS
;	COMDAT ??$_Umove@PAPAVCColorBar@@@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEPAPAVCColorBar@@PAPAV2@00@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Ptr$ = 16						; size = 4
??$_Umove@PAPAVCColorBar@@@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEPAPAVCColorBar@@PAPAV2@00@Z PROC ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_Umove<CColorBar * *>, 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@PAPAVCColorBar@@PAPAV1@V?$allocator@PAVCColorBar@@@std@@@stdext@@YAPAPAVCColorBar@@PAPAV1@00AAV?$allocator@PAVCColorBar@@@std@@@Z ; stdext::_Unchecked_uninitialized_move<CColorBar * *,CColorBar * *,std::allocator<CColorBar *> >
  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@PAPAVCColorBar@@@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEPAPAVCColorBar@@PAPAV2@00@Z ENDP ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_Umove<CColorBar * *>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\memory
_TEXT	ENDS
;	COMDAT ??$unchecked_uninitialized_fill_n@PAPAVCTestPattern@@IPAV1@V?$allocator@PAVCTestPattern@@@std@@@stdext@@YAXPAPAVCTestPattern@@IABQAV1@AAV?$allocator@PAVCTestPattern@@@std@@@Z
_TEXT	SEGMENT
$T313241 = -2						; size = 1
$T313240 = -1						; size = 1
__First$ = 8						; size = 4
__Count$ = 12						; size = 4
__Val$ = 16						; size = 4
__Al$ = 20						; size = 4
??$unchecked_uninitialized_fill_n@PAPAVCTestPattern@@IPAV1@V?$allocator@PAVCTestPattern@@@std@@@stdext@@YAXPAPAVCTestPattern@@IABQAV1@AAV?$allocator@PAVCTestPattern@@@std@@@Z PROC ; stdext::unchecked_uninitialized_fill_n<CTestPattern * *,unsigned int,CTestPattern *,std::allocator<CTestPattern *> >, 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 $T313240[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@PAPAVCTestPattern@@PAPAV1@@std@@YA?AU_Scalar_ptr_iterator_tag@0@AAPAPAVCTestPattern@@0@Z ; std::_Ptr_cat<CTestPattern * *,CTestPattern * *>
  00016	83 c4 08	 add	 esp, 8
  00019	88 45 fe	 mov	 BYTE PTR $T313241[ebp], al
  0001c	0f b6 45 ff	 movzx	 eax, BYTE PTR $T313240[ebp]
  00020	50		 push	 eax
  00021	0f b6 4d fe	 movzx	 ecx, BYTE PTR $T313241[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@PAPAVCTestPattern@@IPAV1@V?$allocator@PAVCTestPattern@@@std@@@std@@YAXPAPAVCTestPattern@@IABQAV1@AAV?$allocator@PAVCTestPattern@@@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_fill_n<CTestPattern * *,unsigned int,CTestPattern *,std::allocator<CTestPattern *> >
  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@PAPAVCTestPattern@@IPAV1@V?$allocator@PAVCTestPattern@@@std@@@stdext@@YAXPAPAVCTestPattern@@IABQAV1@AAV?$allocator@PAVCTestPattern@@@std@@@Z ENDP ; stdext::unchecked_uninitialized_fill_n<CTestPattern * *,unsigned int,CTestPattern *,std::allocator<CTestPattern *> >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$unchecked_uninitialized_fill_n@PAPAVCColorBar@@IPAV1@V?$allocator@PAVCColorBar@@@std@@@stdext@@YAXPAPAVCColorBar@@IABQAV1@AAV?$allocator@PAVCColorBar@@@std@@@Z
_TEXT	SEGMENT
$T313245 = -2						; size = 1
$T313244 = -1						; size = 1
__First$ = 8						; size = 4
__Count$ = 12						; size = 4
__Val$ = 16						; size = 4
__Al$ = 20						; size = 4
??$unchecked_uninitialized_fill_n@PAPAVCColorBar@@IPAV1@V?$allocator@PAVCColorBar@@@std@@@stdext@@YAXPAPAVCColorBar@@IABQAV1@AAV?$allocator@PAVCColorBar@@@std@@@Z PROC ; stdext::unchecked_uninitialized_fill_n<CColorBar * *,unsigned int,CColorBar *,std::allocator<CColorBar *> >, 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 $T313244[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@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 $T313245[ebp], al
  0001c	0f b6 45 ff	 movzx	 eax, BYTE PTR $T313244[ebp]
  00020	50		 push	 eax
  00021	0f b6 4d fe	 movzx	 ecx, BYTE PTR $T313245[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@PAPAVCColorBar@@IPAV1@V?$allocator@PAVCColorBar@@@std@@@std@@YAXPAPAVCColorBar@@IABQAV1@AAV?$allocator@PAVCColorBar@@@0@U_Scalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_fill_n<CColorBar * *,unsigned int,CColorBar *,std::allocator<CColorBar *> >
  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@PAPAVCColorBar@@IPAV1@V?$allocator@PAVCColorBar@@@std@@@stdext@@YAXPAPAVCColorBar@@IABQAV1@AAV?$allocator@PAVCColorBar@@@std@@@Z ENDP ; stdext::unchecked_uninitialized_fill_n<CColorBar * *,unsigned int,CColorBar *,std::allocator<CColorBar *> >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$_Iterator_with_base@Urandom_access_iterator_tag@std@@PAVCColorBar@@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@@PAVCColorBar@@HPBQAV3@ABQAV3@V_Iterator_base_aux@2@@std@@QAE@XZ PROC ; std::_Iterator_with_base<std::random_access_iterator_tag,CColorBar *,int,CColorBar * const *,CColorBar * const &,std::_Iterator_base_aux>::_Iterator_with_base<std::random_access_iterator_tag,CColorBar *,int,CColorBar * const *,CColorBar * 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@@PAVCColorBar@@HPBQAV3@ABQAV3@V_Iterator_base_aux@2@@std@@QAE@XZ ENDP ; std::_Iterator_with_base<std::random_access_iterator_tag,CColorBar *,int,CColorBar * const *,CColorBar * const &,std::_Iterator_base_aux>::_Iterator_with_base<std::random_access_iterator_tag,CColorBar *,int,CColorBar * const *,CColorBar * const &,std::_Iterator_base_aux>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$_Ranit@PAVCColorBar@@HPBQAV1@ABQAV1@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??0?$_Ranit@PAVCColorBar@@HPBQAV1@ABQAV1@@std@@QAE@XZ PROC ; std::_Ranit<CColorBar *,int,CColorBar * const *,CColorBar * const &>::_Ranit<CColorBar *,int,CColorBar * const *,CColorBar * 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@@PAVCColorBar@@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@PAVCColorBar@@HPBQAV1@ABQAV1@@std@@QAE@XZ ENDP ; std::_Ranit<CColorBar *,int,CColorBar * const *,CColorBar * const &>::_Ranit<CColorBar *,int,CColorBar * const *,CColorBar * const &>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
_TEXT	ENDS
;	COMDAT ??0?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@PAPAVCColorBar@@PBV_Container_base_aux@1@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Ptr$ = 8						; size = 4
__Pvector$ = 12						; size = 4
??0?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@PAPAVCColorBar@@PBV_Container_base_aux@1@@Z PROC ; std::_Vector_const_iterator<CColorBar *,std::allocator<CColorBar *> >::_Vector_const_iterator<CColorBar *,std::allocator<CColorBar *> >, 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@PAVCColorBar@@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@37
  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@37
  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@37
$LN4@Vector_con@37:
  0002b	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN2@Vector_con@37:
  00030	33 c9		 xor	 ecx, ecx
  00032	75 fc		 jne	 SHORT $LN2@Vector_con@37

; 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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@PAPAVCColorBar@@PBV_Container_base_aux@1@@Z ENDP ; std::_Vector_const_iterator<CColorBar *,std::allocator<CColorBar *> >::_Vector_const_iterator<CColorBar *,std::allocator<CColorBar *> >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ?allocate@?$allocator@PAVCColorBar@@@std@@QAEPAPAVCColorBar@@I@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Count$ = 8						; size = 4
?allocate@?$allocator@PAVCColorBar@@@std@@QAEPAPAVCColorBar@@I@Z PROC ; std::allocator<CColorBar *>::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@PAVCColorBar@@@std@@YAPAPAVCColorBar@@IPAPAV1@@Z ; std::_Allocate<CColorBar *>
  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@PAVCColorBar@@@std@@QAEPAPAVCColorBar@@I@Z ENDP ; std::allocator<CColorBar *>::allocate
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$_Iterator_with_base@Urandom_access_iterator_tag@std@@PAVCTestPattern@@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@@PAVCTestPattern@@HPBQAV3@ABQAV3@V_Iterator_base_aux@2@@std@@QAE@XZ PROC ; std::_Iterator_with_base<std::random_access_iterator_tag,CTestPattern *,int,CTestPattern * const *,CTestPattern * const &,std::_Iterator_base_aux>::_Iterator_with_base<std::random_access_iterator_tag,CTestPattern *,int,CTestPattern * const *,CTestPattern * 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@@PAVCTestPattern@@HPBQAV3@ABQAV3@V_Iterator_base_aux@2@@std@@QAE@XZ ENDP ; std::_Iterator_with_base<std::random_access_iterator_tag,CTestPattern *,int,CTestPattern * const *,CTestPattern * const &,std::_Iterator_base_aux>::_Iterator_with_base<std::random_access_iterator_tag,CTestPattern *,int,CTestPattern * const *,CTestPattern * const &,std::_Iterator_base_aux>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$_Ranit@PAVCTestPattern@@HPBQAV1@ABQAV1@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??0?$_Ranit@PAVCTestPattern@@HPBQAV1@ABQAV1@@std@@QAE@XZ PROC ; std::_Ranit<CTestPattern *,int,CTestPattern * const *,CTestPattern * const &>::_Ranit<CTestPattern *,int,CTestPattern * const *,CTestPattern * 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@@PAVCTestPattern@@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@PAVCTestPattern@@HPBQAV1@ABQAV1@@std@@QAE@XZ ENDP ; std::_Ranit<CTestPattern *,int,CTestPattern * const *,CTestPattern * const &>::_Ranit<CTestPattern *,int,CTestPattern * const *,CTestPattern * 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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEHABV01@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Right$ = 8						; size = 4
??G?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEHABV01@@Z PROC ; std::_Vector_const_iterator<CColorBar *,std::allocator<CColorBar *> >::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@268
  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@268
$LN4@operator@268:
  00029	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN2@operator@268:
  0002e	33 c0		 xor	 eax, eax
  00030	75 fc		 jne	 SHORT $LN2@operator@268

; 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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEHABV01@@Z ENDP ; std::_Vector_const_iterator<CColorBar *,std::allocator<CColorBar *> >::operator-
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@PAPAVCColorBar@@PBV_Container_base_aux@1@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Ptr$ = 8						; size = 4
__Pvector$ = 12						; size = 4
??0?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@PAPAVCColorBar@@PBV_Container_base_aux@1@@Z PROC ; std::_Vector_iterator<CColorBar *,std::allocator<CColorBar *> >::_Vector_iterator<CColorBar *,std::allocator<CColorBar *> >, 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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@PAPAVCColorBar@@PBV_Container_base_aux@1@@Z ; std::_Vector_const_iterator<CColorBar *,std::allocator<CColorBar *> >::_Vector_const_iterator<CColorBar *,std::allocator<CColorBar *> >

; 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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE@PAPAVCColorBar@@PBV_Container_base_aux@1@@Z ENDP ; std::_Vector_iterator<CColorBar *,std::allocator<CColorBar *> >::_Vector_iterator<CColorBar *,std::allocator<CColorBar *> >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??G?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEHABV01@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Right$ = 8						; size = 4
??G?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEHABV01@@Z PROC ; std::_Vector_const_iterator<CTestPattern *,std::allocator<CTestPattern *> >::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@269
  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@269
$LN4@operator@269:
  00029	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN2@operator@269:
  0002e	33 c0		 xor	 eax, eax
  00030	75 fc		 jne	 SHORT $LN2@operator@269

; 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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEHABV01@@Z ENDP ; std::_Vector_const_iterator<CTestPattern *,std::allocator<CTestPattern *> >::operator-
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@PAPAVCTestPattern@@PBV_Container_base_aux@1@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Ptr$ = 8						; size = 4
__Pvector$ = 12						; size = 4
??0?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@PAPAVCTestPattern@@PBV_Container_base_aux@1@@Z PROC ; std::_Vector_const_iterator<CTestPattern *,std::allocator<CTestPattern *> >::_Vector_const_iterator<CTestPattern *,std::allocator<CTestPattern *> >, 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@PAVCTestPattern@@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@38
  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@38
  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@38
$LN4@Vector_con@38:
  0002b	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN2@Vector_con@38:
  00030	33 c9		 xor	 ecx, ecx
  00032	75 fc		 jne	 SHORT $LN2@Vector_con@38

; 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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@PAPAVCTestPattern@@PBV_Container_base_aux@1@@Z ENDP ; std::_Vector_const_iterator<CTestPattern *,std::allocator<CTestPattern *> >::_Vector_const_iterator<CTestPattern *,std::allocator<CTestPattern *> >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ?allocate@?$allocator@PAVCTestPattern@@@std@@QAEPAPAVCTestPattern@@I@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Count$ = 8						; size = 4
?allocate@?$allocator@PAVCTestPattern@@@std@@QAEPAPAVCTestPattern@@I@Z PROC ; std::allocator<CTestPattern *>::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@PAVCTestPattern@@@std@@YAPAPAVCTestPattern@@IPAPAV1@@Z ; std::_Allocate<CTestPattern *>
  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@PAVCTestPattern@@@std@@QAEPAPAVCTestPattern@@I@Z ENDP ; std::allocator<CTestPattern *>::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@PAVCTestPattern@@@std@@@std@@IAE@V?$allocator@PAVCTestPattern@@@1@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCTestPattern@@@std@@@std@@IAE@V?$allocator@PAVCTestPattern@@@1@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCTestPattern@@@std@@@std@@IAE@V?$allocator@PAVCTestPattern@@@1@@Z$1
__ehfuncinfo$??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCTestPattern@@@std@@@std@@IAE@V?$allocator@PAVCTestPattern@@@1@@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCTestPattern@@@std@@@std@@IAE@V?$allocator@PAVCTestPattern@@@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@PAVCTestPattern@@@std@@@std@@IAE@V?$allocator@PAVCTestPattern@@@1@@Z
_TEXT	SEGMENT
tv133 = -32						; size = 4
_this$ = -28						; size = 4
$T313272 = -24						; size = 4
$T313271 = -20						; size = 4
$T313270 = -16						; size = 4
__$EHRec$ = -12						; size = 12
__Al$ = 8						; size = 1
??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCTestPattern@@@std@@@std@@IAE@V?$allocator@PAVCTestPattern@@@1@@Z PROC ; std::_Container_base_aux_alloc_real<std::allocator<CTestPattern *> >::_Container_base_aux_alloc_real<std::allocator<CTestPattern *> >, 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@PAVCTestPattern@@@std@@@std@@IAE@V?$allocator@PAVCTestPattern@@@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	 ??$?0PAVCTestPattern@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@PAVCTestPattern@@@1@@Z ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><CTestPattern *>

; 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 $T313272[ebp], eax
  00056	8b 4d e8	 mov	 ecx, DWORD PTR $T313272[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 $T313271[ebp], eax
  00067	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  0006b	83 7d ec 00	 cmp	 DWORD PTR $T313271[ebp], 0
  0006f	74 11		 je	 SHORT $LN3@Container_@45
  00071	8b 55 e4	 mov	 edx, DWORD PTR _this$[ebp]
  00074	52		 push	 edx
  00075	8b 4d ec	 mov	 ecx, DWORD PTR $T313271[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_@45
$LN3@Container_@45:
  00082	c7 45 e0 00 00
	00 00		 mov	 DWORD PTR tv133[ebp], 0
$LN4@Container_@45:
  00089	8b 45 e0	 mov	 eax, DWORD PTR tv133[ebp]
  0008c	89 45 f0	 mov	 DWORD PTR $T313270[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 $T313270[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@PAVCTestPattern@@@std@@@std@@IAE@V?$allocator@PAVCTestPattern@@@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@PAVCTestPattern@@@std@@@std@@IAE@V?$allocator@PAVCTestPattern@@@1@@Z$1:
  00008	8b 45 e8	 mov	 eax, DWORD PTR $T313272[ebp]
  0000b	50		 push	 eax
  0000c	8b 4d ec	 mov	 ecx, DWORD PTR $T313271[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@PAVCTestPattern@@@std@@@std@@IAE@V?$allocator@PAVCTestPattern@@@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@PAVCTestPattern@@@std@@@std@@IAE@V?$allocator@PAVCTestPattern@@@1@@Z
  0002f	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0?$_Container_base_aux_alloc_real@V?$allocator@PAVCTestPattern@@@std@@@std@@IAE@V?$allocator@PAVCTestPattern@@@1@@Z ENDP ; std::_Container_base_aux_alloc_real<std::allocator<CTestPattern *> >::_Container_base_aux_alloc_real<std::allocator<CTestPattern *> >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ?begin@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
___$ReturnUdt$ = 8					; size = 4
?begin@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@XZ PROC ; std::vector<CColorBar *,std::allocator<CColorBar *> >::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@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 *> >
  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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@XZ ENDP ; std::vector<CColorBar *,std::allocator<CColorBar *> >::begin
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??8?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBE_NABV01@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Right$ = 8						; size = 4
??8?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBE_NABV01@@Z PROC ; std::_Vector_const_iterator<CTestPattern *,std::allocator<CTestPattern *> >::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@270
  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@270
$LN4@operator@270:
  00029	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN2@operator@270:
  0002e	33 c0		 xor	 eax, eax
  00030	75 fc		 jne	 SHORT $LN2@operator@270

; 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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBE_NABV01@@Z ENDP ; std::_Vector_const_iterator<CTestPattern *,std::allocator<CTestPattern *> >::operator==
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@PAPAVCTestPattern@@PBV_Container_base_aux@1@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Ptr$ = 8						; size = 4
__Pvector$ = 12						; size = 4
??0?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@PAPAVCTestPattern@@PBV_Container_base_aux@1@@Z PROC ; std::_Vector_iterator<CTestPattern *,std::allocator<CTestPattern *> >::_Vector_iterator<CTestPattern *,std::allocator<CTestPattern *> >, 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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@PAPAVCTestPattern@@PBV_Container_base_aux@1@@Z ; std::_Vector_const_iterator<CTestPattern *,std::allocator<CTestPattern *> >::_Vector_const_iterator<CTestPattern *,std::allocator<CTestPattern *> >

; 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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@PAPAVCTestPattern@@PBV_Container_base_aux@1@@Z ENDP ; std::_Vector_iterator<CTestPattern *,std::allocator<CTestPattern *> >::_Vector_iterator<CTestPattern *,std::allocator<CTestPattern *> >
_TEXT	ENDS
;	COMDAT xdata$x
; File c:\develop\dscaler423a\dscaler\smartptr.h
xdata$x	SEGMENT
__unwindtable$?GetRawPointer@?$SmartPtr@VCCalibration@@@@QBEPAVCCalibration@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?GetRawPointer@?$SmartPtr@VCCalibration@@@@QBEPAVCCalibration@@XZ$0
__ehfuncinfo$?GetRawPointer@?$SmartPtr@VCCalibration@@@@QBEPAVCCalibration@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?GetRawPointer@?$SmartPtr@VCCalibration@@@@QBEPAVCCalibration@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?GetRawPointer@?$SmartPtr@VCCalibration@@@@QBEPAVCCalibration@@XZ
_TEXT	SEGMENT
tv72 = -32						; size = 4
_this$ = -28						; size = 4
$T313293 = -24						; size = 4
$T313292 = -20						; size = 4
$T313291 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?GetRawPointer@?$SmartPtr@VCCalibration@@@@QBEPAVCCalibration@@XZ PROC ; SmartPtr<CCalibration>::GetRawPointer, COMDAT
; _this$ = ecx

; 205  :     {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?GetRawPointer@?$SmartPtr@VCCalibration@@@@QBEPAVCCalibration@@XZ
  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

; 206  :         if (rawPtr == 0) throw new NullPointerException;

  00028	8b 45 e4	 mov	 eax, DWORD PTR _this$[ebp]
  0002b	83 38 00	 cmp	 DWORD PTR [eax], 0
  0002e	75 4f		 jne	 SHORT $LN1@GetRawPoin@142
  00030	6a 0c		 push	 12			; 0000000cH
  00032	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  00037	83 c4 04	 add	 esp, 4
  0003a	89 45 e8	 mov	 DWORD PTR $T313293[ebp], eax
  0003d	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00044	83 7d e8 00	 cmp	 DWORD PTR $T313293[ebp], 0
  00048	74 0d		 je	 SHORT $LN4@GetRawPoin@142
  0004a	8b 4d e8	 mov	 ecx, DWORD PTR $T313293[ebp]
  0004d	e8 00 00 00 00	 call	 ??0NullPointerException@@QAE@XZ ; NullPointerException::NullPointerException
  00052	89 45 e0	 mov	 DWORD PTR tv72[ebp], eax
  00055	eb 07		 jmp	 SHORT $LN5@GetRawPoin@142
$LN4@GetRawPoin@142:
  00057	c7 45 e0 00 00
	00 00		 mov	 DWORD PTR tv72[ebp], 0
$LN5@GetRawPoin@142:
  0005e	8b 4d e0	 mov	 ecx, DWORD PTR tv72[ebp]
  00061	89 4d ec	 mov	 DWORD PTR $T313292[ebp], ecx
  00064	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0006b	8b 55 ec	 mov	 edx, DWORD PTR $T313292[ebp]
  0006e	89 55 f0	 mov	 DWORD PTR $T313291[ebp], edx
  00071	68 00 00 00 00	 push	 OFFSET __TI3PAUNullPointerException@@
  00076	8d 45 f0	 lea	 eax, DWORD PTR $T313291[ebp]
  00079	50		 push	 eax
  0007a	e8 00 00 00 00	 call	 __CxxThrowException@8
$LN1@GetRawPoin@142:

; 207  :         return const_cast<X*>(rawPtr);

  0007f	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00082	8b 01		 mov	 eax, DWORD PTR [ecx]
$LN3@GetRawPoin@142:

; 208  :     }

  00084	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00087	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0008e	59		 pop	 ecx
  0008f	8b e5		 mov	 esp, ebp
  00091	5d		 pop	 ebp
  00092	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?GetRawPointer@?$SmartPtr@VCCalibration@@@@QBEPAVCCalibration@@XZ$0:
  00000	8b 45 e8	 mov	 eax, DWORD PTR $T313293[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$?GetRawPointer@?$SmartPtr@VCCalibration@@@@QBEPAVCCalibration@@XZ:
  0000b	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000f	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00012	8b 4a e8	 mov	 ecx, DWORD PTR [edx-24]
  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$?GetRawPointer@?$SmartPtr@VCCalibration@@@@QBEPAVCCalibration@@XZ
  00021	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?GetRawPointer@?$SmartPtr@VCCalibration@@@@QBEPAVCCalibration@@XZ ENDP ; SmartPtr<CCalibration>::GetRawPointer
;	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@PAVCTestPattern@@@std@@@std@@IAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCTestPattern@@@std@@@std@@IAE@XZ$0
__ehfuncinfo$??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCTestPattern@@@std@@@std@@IAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCTestPattern@@@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@PAVCTestPattern@@@std@@@std@@IAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCTestPattern@@@std@@@std@@IAE@XZ PROC ; std::_Container_base_aux_alloc_real<std::allocator<CTestPattern *> >::~_Container_base_aux_alloc_real<std::allocator<CTestPattern *> >, 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@PAVCTestPattern@@@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@PAVCTestPattern@@@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@PAVCTestPattern@@@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@PAVCTestPattern@@@std@@@std@@IAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1?$_Container_base_aux_alloc_real@V?$allocator@PAVCTestPattern@@@std@@@std@@IAE@XZ ENDP ; std::_Container_base_aux_alloc_real<std::allocator<CTestPattern *> >::~_Container_base_aux_alloc_real<std::allocator<CTestPattern *> >
;	COMDAT xdata$x
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
xdata$x	SEGMENT
__unwindtable$??0?$_Vector_val@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAE@V?$allocator@PAVCTestPattern@@@1@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$_Vector_val@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAE@V?$allocator@PAVCTestPattern@@@1@@Z$0
__ehfuncinfo$??0?$_Vector_val@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAE@V?$allocator@PAVCTestPattern@@@1@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0?$_Vector_val@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAE@V?$allocator@PAVCTestPattern@@@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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAE@V?$allocator@PAVCTestPattern@@@1@@Z
_TEXT	SEGMENT
_this$ = -20						; size = 4
$T313314 = -16						; size = 4
__$EHRec$ = -12						; size = 12
__Al$ = 8						; size = 1
??0?$_Vector_val@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAE@V?$allocator@PAVCTestPattern@@@1@@Z PROC ; std::_Vector_val<CTestPattern *,std::allocator<CTestPattern *> >::_Vector_val<CTestPattern *,std::allocator<CTestPattern *> >, 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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAE@V?$allocator@PAVCTestPattern@@@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 $T313314[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@PAVCTestPattern@@@std@@QAE@ABV01@@Z ; std::allocator<CTestPattern *>::allocator<CTestPattern *>
  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@PAVCTestPattern@@@std@@@std@@IAE@V?$allocator@PAVCTestPattern@@@1@@Z ; std::_Container_base_aux_alloc_real<std::allocator<CTestPattern *> >::_Container_base_aux_alloc_real<std::allocator<CTestPattern *> >
  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@PAVCTestPattern@@@std@@QAE@ABV01@@Z ; std::allocator<CTestPattern *>::allocator<CTestPattern *>

; 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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAE@V?$allocator@PAVCTestPattern@@@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@PAVCTestPattern@@@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<CTestPattern *> >::~_Container_base_aux_alloc_real<std::allocator<CTestPattern *> >
__ehhandler$??0?$_Vector_val@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAE@V?$allocator@PAVCTestPattern@@@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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAE@V?$allocator@PAVCTestPattern@@@1@@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0?$_Vector_val@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAE@V?$allocator@PAVCTestPattern@@@1@@Z ENDP ; std::_Vector_val<CTestPattern *,std::allocator<CTestPattern *> >::_Vector_val<CTestPattern *,std::allocator<CTestPattern *> >
; Function compile flags: /Odtp
;	COMDAT ?_Ufill@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEPAPAVCTestPattern@@PAPAV3@IABQAV3@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Ptr$ = 8						; size = 4
__Count$ = 12						; size = 4
__Val$ = 16						; size = 4
?_Ufill@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEPAPAVCTestPattern@@PAPAV3@IABQAV3@@Z PROC ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_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@PAPAVCTestPattern@@IPAV1@V?$allocator@PAVCTestPattern@@@std@@@stdext@@YAXPAPAVCTestPattern@@IABQAV1@AAV?$allocator@PAVCTestPattern@@@std@@@Z ; stdext::unchecked_uninitialized_fill_n<CTestPattern * *,unsigned int,CTestPattern *,std::allocator<CTestPattern *> >
  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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEPAPAVCTestPattern@@PAPAV3@IABQAV3@@Z ENDP ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_Ufill
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?_Ufill@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEPAPAVCColorBar@@PAPAV3@IABQAV3@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Ptr$ = 8						; size = 4
__Count$ = 12						; size = 4
__Val$ = 16						; size = 4
?_Ufill@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEPAPAVCColorBar@@PAPAV3@IABQAV3@@Z PROC ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_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@PAPAVCColorBar@@IPAV1@V?$allocator@PAVCColorBar@@@std@@@stdext@@YAXPAPAVCColorBar@@IABQAV1@AAV?$allocator@PAVCColorBar@@@std@@@Z ; stdext::unchecked_uninitialized_fill_n<CColorBar * *,unsigned int,CColorBar *,std::allocator<CColorBar *> >
  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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEPAPAVCColorBar@@PAPAV3@IABQAV3@@Z ENDP ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_Ufill
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?end@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
___$ReturnUdt$ = 8					; size = 4
?end@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@XZ PROC ; std::vector<CColorBar *,std::allocator<CColorBar *> >::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@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 *> >
  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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@XZ ENDP ; std::vector<CColorBar *,std::allocator<CColorBar *> >::end
_TEXT	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1?$_Vector_val@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$_Vector_val@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@XZ$0
__ehfuncinfo$??1?$_Vector_val@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$_Vector_val@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$_Vector_val@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@XZ PROC ; std::_Vector_val<CTestPattern *,std::allocator<CTestPattern *> >::~_Vector_val<CTestPattern *,std::allocator<CTestPattern *> >, 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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@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@PAVCTestPattern@@@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<CTestPattern *> >::~_Container_base_aux_alloc_real<std::allocator<CTestPattern *> >
  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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@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@PAVCTestPattern@@@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<CTestPattern *> >::~_Container_base_aux_alloc_real<std::allocator<CTestPattern *> >
__ehhandler$??1?$_Vector_val@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1?$_Vector_val@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@XZ ENDP ; std::_Vector_val<CTestPattern *,std::allocator<CTestPattern *> >::~_Vector_val<CTestPattern *,std::allocator<CTestPattern *> >
; Function compile flags: /Odtp
;	COMDAT ??9?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBE_NABV01@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Right$ = 8						; size = 4
??9?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBE_NABV01@@Z PROC ; std::_Vector_const_iterator<CTestPattern *,std::allocator<CTestPattern *> >::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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<CTestPattern *,std::allocator<CTestPattern *> >::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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBE_NABV01@@Z ENDP ; std::_Vector_const_iterator<CTestPattern *,std::allocator<CTestPattern *> >::operator!=
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\smartptr.h
_TEXT	ENDS
;	COMDAT ??C?$SmartPtr@VCCalibration@@@@QBEPAVCCalibration@@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??C?$SmartPtr@VCCalibration@@@@QBEPAVCCalibration@@XZ PROC ; SmartPtr<CCalibration>::operator->, COMDAT
; _this$ = ecx

; 168  :     {

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

; 169  :         return GetRawPointer();

  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	e8 00 00 00 00	 call	 ?GetRawPointer@?$SmartPtr@VCCalibration@@@@QBEPAVCCalibration@@XZ ; SmartPtr<CCalibration>::GetRawPointer

; 170  :     }

  0000f	8b e5		 mov	 esp, ebp
  00011	5d		 pop	 ebp
  00012	c3		 ret	 0
??C?$SmartPtr@VCCalibration@@@@QBEPAVCCalibration@@XZ ENDP ; SmartPtr<CCalibration>::operator->
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
_TEXT	ENDS
;	COMDAT ??A?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEAAPAVCTestPattern@@I@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Pos$ = 8						; size = 4
??A?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEAAPAVCTestPattern@@I@Z PROC ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEIXZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::size
  0000f	39 45 08	 cmp	 DWORD PTR __Pos$[ebp], eax
  00012	72 05		 jb	 SHORT $LN2@operator@271
  00014	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN2@operator@271:
  00019	33 c0		 xor	 eax, eax
  0001b	75 fc		 jne	 SHORT $LN2@operator@271

; 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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEAAPAVCTestPattern@@I@Z ENDP ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::operator[]
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?end@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
___$ReturnUdt$ = 8					; size = 4
?end@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@XZ PROC ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@PAPAVCTestPattern@@PBV_Container_base_aux@1@@Z ; std::_Vector_iterator<CTestPattern *,std::allocator<CTestPattern *> >::_Vector_iterator<CTestPattern *,std::allocator<CTestPattern *> >
  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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@XZ ENDP ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::end
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?begin@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
___$ReturnUdt$ = 8					; size = 4
?begin@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@XZ PROC ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@PAPAVCTestPattern@@PBV_Container_base_aux@1@@Z ; std::_Vector_iterator<CTestPattern *,std::allocator<CTestPattern *> >::_Vector_iterator<CTestPattern *,std::allocator<CTestPattern *> >
  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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@XZ ENDP ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::begin
_TEXT	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@XZ$0
__ehfuncinfo$??1?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@XZ PROC ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::~vector<CTestPattern *,std::allocator<CTestPattern *> >, 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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXXZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@XZ
__ehhandler$??1?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@XZ ENDP ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::~vector<CTestPattern *,std::allocator<CTestPattern *> >
PUBLIC	?SelectTestPattern@CCalibration@@QAEXH@Z	; CCalibration::SelectTestPattern
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\calibration.cpp
;	COMDAT ?SelectTestPattern@CCalibration@@QAEXH@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_num$ = 8						; size = 4
?SelectTestPattern@CCalibration@@QAEXH@Z PROC		; CCalibration::SelectTestPattern, COMDAT
; _this$ = ecx

; 765  : {

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

; 766  :     if ( (num >= 0) && (num < m_TestPatterns.size()) )

  00007	83 7d 08 00	 cmp	 DWORD PTR _num$[ebp], 0
  0000b	7c 23		 jl	 SHORT $LN2@SelectTest
  0000d	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00010	e8 00 00 00 00	 call	 ?size@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEIXZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::size
  00015	39 45 08	 cmp	 DWORD PTR _num$[ebp], eax
  00018	73 16		 jae	 SHORT $LN2@SelectTest

; 767  :     {
; 768  :         m_CurTestPat = m_TestPatterns[num];

  0001a	8b 45 08	 mov	 eax, DWORD PTR _num$[ebp]
  0001d	50		 push	 eax
  0001e	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00021	e8 00 00 00 00	 call	 ??A?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEAAPAVCTestPattern@@I@Z ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::operator[]
  00026	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00029	8b 10		 mov	 edx, DWORD PTR [eax]
  0002b	89 51 18	 mov	 DWORD PTR [ecx+24], edx

; 769  :     }
; 770  :     else

  0002e	eb 0a		 jmp	 SHORT $LN3@SelectTest
$LN2@SelectTest:

; 771  :     {
; 772  :         m_CurTestPat = NULL;

  00030	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00033	c7 40 18 00 00
	00 00		 mov	 DWORD PTR [eax+24], 0
$LN3@SelectTest:

; 773  :     }
; 774  : }

  0003a	8b e5		 mov	 esp, ebp
  0003c	5d		 pop	 ebp
  0003d	c2 04 00	 ret	 4
?SelectTestPattern@CCalibration@@QAEXH@Z ENDP		; CCalibration::SelectTestPattern
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??_GCCalSetting@@QAEPAXI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___flags$ = 8						; size = 4
??_GCCalSetting@@QAEPAXI@Z PROC				; CCalSetting::`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	 ??1CCalSetting@@QAE@XZ	; CCalSetting::~CCalSetting
  0000f	8b 45 08	 mov	 eax, DWORD PTR ___flags$[ebp]
  00012	83 e0 01	 and	 eax, 1
  00015	74 0c		 je	 SHORT $LN1@scalar@66
  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@66:
  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
??_GCCalSetting@@QAEPAXI@Z ENDP				; CCalSetting::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	?Adjust@CCalSetting@@IAEXH@Z			; CCalSetting::Adjust
; Function compile flags: /Odtp
;	COMDAT ?Adjust@CCalSetting@@IAEXH@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_value$ = 8						; size = 4
?Adjust@CCalSetting@@IAEXH@Z PROC			; CCalSetting::Adjust, COMDAT
; _this$ = ecx

; 351  : {

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

; 352  :     current_value = value;

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

; 353  :     m_pSetting->SetValue(current_value);

  00010	6a 00		 push	 0
  00012	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00015	8b 42 20	 mov	 eax, DWORD PTR [edx+32]
  00018	50		 push	 eax
  00019	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0001c	8b 09		 mov	 ecx, DWORD PTR [ecx]
  0001e	e8 00 00 00 00	 call	 ?SetValue@CSliderSetting@@QAEXJH@Z ; CSliderSetting::SetValue

; 354  : }

  00023	8b e5		 mov	 esp, ebp
  00025	5d		 pop	 ebp
  00026	c2 04 00	 ret	 4
?Adjust@CCalSetting@@IAEXH@Z ENDP			; CCalSetting::Adjust
_TEXT	ENDS
PUBLIC	?AdjustNext@CCalSetting@@QAEHXZ			; CCalSetting::AdjustNext
; Function compile flags: /Odtp
;	COMDAT ?AdjustNext@CCalSetting@@QAEHXZ
_TEXT	SEGMENT
_this$ = -12						; size = 4
_j$ = -8						; size = 4
_i$ = -4						; size = 4
?AdjustNext@CCalSetting@@QAEHXZ PROC			; CCalSetting::AdjustNext, COMDAT
; _this$ = ecx

; 216  : {

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

; 217  :     int i, j;
; 218  : 
; 219  :     if (end)

  0000a	8b 45 f4	 mov	 eax, DWORD PTR _this$[ebp]
  0000d	83 78 34 00	 cmp	 DWORD PTR [eax+52], 0
  00011	74 04		 je	 SHORT $LN5@AdjustNext

; 220  :     {
; 221  :         return FALSE;

  00013	33 c0		 xor	 eax, eax
  00015	eb 73		 jmp	 SHORT $LN6@AdjustNext
$LN5@AdjustNext:

; 222  :     }
; 223  : 
; 224  :     for (i=(current_value+1) ; i<=max_value ; i++)

  00017	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  0001a	8b 51 20	 mov	 edx, DWORD PTR [ecx+32]
  0001d	83 c2 01	 add	 edx, 1
  00020	89 55 fc	 mov	 DWORD PTR _i$[ebp], edx
  00023	eb 09		 jmp	 SHORT $LN4@AdjustNext
$LN3@AdjustNext:
  00025	8b 45 fc	 mov	 eax, DWORD PTR _i$[ebp]
  00028	83 c0 01	 add	 eax, 1
  0002b	89 45 fc	 mov	 DWORD PTR _i$[ebp], eax
$LN4@AdjustNext:
  0002e	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  00031	8b 55 fc	 mov	 edx, DWORD PTR _i$[ebp]
  00034	3b 51 08	 cmp	 edx, DWORD PTR [ecx+8]
  00037	7f 4f		 jg	 SHORT $LN2@AdjustNext

; 225  :     {
; 226  :         j = i - min;

  00039	8b 45 f4	 mov	 eax, DWORD PTR _this$[ebp]
  0003c	8b 4d fc	 mov	 ecx, DWORD PTR _i$[ebp]
  0003f	2b 48 14	 sub	 ecx, DWORD PTR [eax+20]
  00042	89 4d f8	 mov	 DWORD PTR _j$[ebp], ecx

; 227  :         if (mask_input[j/32] & (1 << (j%32)))

  00045	8b 45 f8	 mov	 eax, DWORD PTR _j$[ebp]
  00048	99		 cdq
  00049	83 e2 1f	 and	 edx, 31			; 0000001fH
  0004c	03 c2		 add	 eax, edx
  0004e	c1 f8 05	 sar	 eax, 5
  00051	8b 55 f4	 mov	 edx, DWORD PTR _this$[ebp]
  00054	8b 52 0c	 mov	 edx, DWORD PTR [edx+12]
  00057	8b 4d f8	 mov	 ecx, DWORD PTR _j$[ebp]
  0005a	81 e1 1f 00 00
	80		 and	 ecx, -2147483617	; 8000001fH
  00060	79 05		 jns	 SHORT $LN8@AdjustNext
  00062	49		 dec	 ecx
  00063	83 c9 e0	 or	 ecx, -32		; ffffffe0H
  00066	41		 inc	 ecx
$LN8@AdjustNext:
  00067	be 01 00 00 00	 mov	 esi, 1
  0006c	d3 e6		 shl	 esi, cl
  0006e	23 34 82	 and	 esi, DWORD PTR [edx+eax*4]
  00071	74 13		 je	 SHORT $LN1@AdjustNext

; 228  :         {
; 229  :             Adjust(i);

  00073	8b 45 fc	 mov	 eax, DWORD PTR _i$[ebp]
  00076	50		 push	 eax
  00077	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  0007a	e8 00 00 00 00	 call	 ?Adjust@CCalSetting@@IAEXH@Z ; CCalSetting::Adjust

; 230  :             return TRUE;

  0007f	b8 01 00 00 00	 mov	 eax, 1
  00084	eb 04		 jmp	 SHORT $LN6@AdjustNext
$LN1@AdjustNext:

; 231  :         }
; 232  :     }

  00086	eb 9d		 jmp	 SHORT $LN3@AdjustNext
$LN2@AdjustNext:

; 233  : 
; 234  :     return FALSE;

  00088	33 c0		 xor	 eax, eax
$LN6@AdjustNext:

; 235  : }

  0008a	5e		 pop	 esi
  0008b	8b e5		 mov	 esp, ebp
  0008d	5d		 pop	 ebp
  0008e	c3		 ret	 0
?AdjustNext@CCalSetting@@QAEHXZ ENDP			; CCalSetting::AdjustNext
_TEXT	ENDS
PUBLIC	?AdjustMax@CCalSetting@@QAEXXZ			; CCalSetting::AdjustMax
; Function compile flags: /Odtp
;	COMDAT ?AdjustMax@CCalSetting@@QAEXXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?AdjustMax@CCalSetting@@QAEXXZ PROC			; CCalSetting::AdjustMax, COMDAT
; _this$ = ecx

; 205  : {

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

; 206  :     Adjust(max_value);

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b 48 08	 mov	 ecx, DWORD PTR [eax+8]
  0000d	51		 push	 ecx
  0000e	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00011	e8 00 00 00 00	 call	 ?Adjust@CCalSetting@@IAEXH@Z ; CCalSetting::Adjust

; 207  : }

  00016	8b e5		 mov	 esp, ebp
  00018	5d		 pop	 ebp
  00019	c3		 ret	 0
?AdjustMax@CCalSetting@@QAEXXZ ENDP			; CCalSetting::AdjustMax
_TEXT	ENDS
PUBLIC	?AdjustMin@CCalSetting@@QAEXXZ			; CCalSetting::AdjustMin
; Function compile flags: /Odtp
;	COMDAT ?AdjustMin@CCalSetting@@QAEXXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?AdjustMin@CCalSetting@@QAEXXZ PROC			; CCalSetting::AdjustMin, COMDAT
; _this$ = ecx

; 200  : {

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

; 201  :     Adjust(min_value);

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b 48 04	 mov	 ecx, DWORD PTR [eax+4]
  0000d	51		 push	 ecx
  0000e	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00011	e8 00 00 00 00	 call	 ?Adjust@CCalSetting@@IAEXH@Z ; CCalSetting::Adjust

; 202  : }

  00016	8b e5		 mov	 esp, ebp
  00018	5d		 pop	 ebp
  00019	c3		 ret	 0
?AdjustMin@CCalSetting@@QAEXXZ ENDP			; CCalSetting::AdjustMin
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ??Y?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAEAAV01@H@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Off$ = 8						; size = 4
??Y?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAEAAV01@H@Z PROC ; std::_Vector_const_iterator<CColorBar *,std::allocator<CColorBar *> >::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@472
  00017	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN7@operator@472:
  0001c	33 c9		 xor	 ecx, ecx
  0001e	75 fc		 jne	 SHORT $LN7@operator@472

; 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@472
  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@472
$LN4@operator@472:

; 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@472:
  00057	33 d2		 xor	 edx, edx
  00059	75 fc		 jne	 SHORT $LN2@operator@472

; 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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAEAAV01@H@Z ENDP ; std::_Vector_const_iterator<CColorBar *,std::allocator<CColorBar *> >::operator+=
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??Y?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEAAV01@H@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Off$ = 8						; size = 4
??Y?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEAAV01@H@Z PROC ; std::_Vector_const_iterator<CTestPattern *,std::allocator<CTestPattern *> >::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@473
  00017	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN7@operator@473:
  0001c	33 c9		 xor	 ecx, ecx
  0001e	75 fc		 jne	 SHORT $LN7@operator@473

; 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@473
  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@473
$LN4@operator@473:

; 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@473:
  00057	33 d2		 xor	 edx, edx
  00059	75 fc		 jne	 SHORT $LN2@operator@473

; 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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEAAV01@H@Z ENDP ; std::_Vector_const_iterator<CTestPattern *,std::allocator<CTestPattern *> >::operator+=
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??Y?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAEAAV01@H@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Off$ = 8						; size = 4
??Y?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAEAAV01@H@Z PROC ; std::_Vector_iterator<CColorBar *,std::allocator<CColorBar *> >::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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_const_iterator<CColorBar *,std::allocator<CColorBar *> >::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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAEAAV01@H@Z ENDP ; std::_Vector_iterator<CColorBar *,std::allocator<CColorBar *> >::operator+=
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??Y?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEAAV01@H@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Off$ = 8						; size = 4
??Y?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEAAV01@H@Z PROC ; std::_Vector_iterator<CTestPattern *,std::allocator<CTestPattern *> >::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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_const_iterator<CTestPattern *,std::allocator<CTestPattern *> >::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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEAAV01@H@Z ENDP ; std::_Vector_iterator<CTestPattern *,std::allocator<CTestPattern *> >::operator+=
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??H?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBE?AV01@H@Z PROC ; std::_Vector_iterator<CColorBar *,std::allocator<CColorBar *> >::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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_iterator<CColorBar *,std::allocator<CColorBar *> >::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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBE?AV01@H@Z ENDP ; std::_Vector_iterator<CColorBar *,std::allocator<CColorBar *> >::operator+
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??H?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBE?AV01@H@Z PROC ; std::_Vector_iterator<CTestPattern *,std::allocator<CTestPattern *> >::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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_iterator<CTestPattern *,std::allocator<CTestPattern *> >::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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBE?AV01@H@Z ENDP ; std::_Vector_iterator<CTestPattern *,std::allocator<CTestPattern *> >::operator+
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?_Make_iter@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBE?AV?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@V?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___$ReturnUdt$ = 8					; size = 4
__Where$ = 12						; size = 8
?_Make_iter@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBE?AV?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@V?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@@Z PROC ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@PAPAVCTestPattern@@PBV_Container_base_aux@1@@Z ; std::_Vector_iterator<CTestPattern *,std::allocator<CTestPattern *> >::_Vector_iterator<CTestPattern *,std::allocator<CTestPattern *> >
  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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBE?AV?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@V?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@@Z ENDP ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_Make_iter
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??E?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEAAV01@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??E?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEAAV01@XZ PROC ; std::_Vector_const_iterator<CTestPattern *,std::allocator<CTestPattern *> >::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@474
  00016	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN6@operator@474:
  0001b	33 c9		 xor	 ecx, ecx
  0001d	75 fc		 jne	 SHORT $LN6@operator@474

; 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@474
  00032	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN2@operator@474:
  00037	33 d2		 xor	 edx, edx
  00039	75 fc		 jne	 SHORT $LN2@operator@474

; 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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEAAV01@XZ ENDP ; std::_Vector_const_iterator<CTestPattern *,std::allocator<CTestPattern *> >::operator++
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??D?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEABQAVCTestPattern@@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??D?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEABQAVCTestPattern@@XZ PROC ; std::_Vector_const_iterator<CTestPattern *,std::allocator<CTestPattern *> >::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@475
  00016	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN6@operator@475:
  0001b	33 c9		 xor	 ecx, ecx
  0001d	75 fc		 jne	 SHORT $LN6@operator@475

; 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@475
  00032	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN2@operator@475:
  00037	33 d2		 xor	 edx, edx
  00039	75 fc		 jne	 SHORT $LN2@operator@475

; 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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEABQAVCTestPattern@@XZ ENDP ; std::_Vector_const_iterator<CTestPattern *,std::allocator<CTestPattern *> >::operator*
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?erase@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@V?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@0@Z
_TEXT	SEGMENT
_this$ = -24						; size = 4
__Ptr$145672 = -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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@V?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@0@Z PROC ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBE?AV?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@V?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@@Z ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBE?AV?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@V?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@@Z ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<CTestPattern *,std::allocator<CTestPattern *> >::operator!=
  0003d	0f b6 c8	 movzx	 ecx, al
  00040	85 c9		 test	 ecx, ecx
  00042	74 36		 je	 SHORT $LN1@erase@19

; 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@PAPAVCTestPattern@@PAPAV1@@stdext@@YAPAPAVCTestPattern@@PAPAV1@00@Z ; stdext::unchecked_copy<CTestPattern * *,CTestPattern * *>
  00058	83 c4 0c	 add	 esp, 12			; 0000000cH
  0005b	89 45 ec	 mov	 DWORD PTR __Ptr$145672[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$145672[ebp]
  00068	52		 push	 edx
  00069	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0006c	e8 00 00 00 00	 call	 ?_Destroy@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXPAPAVCTestPattern@@0@Z ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_Destroy

; 1054 : 			_Mylast = _Ptr;

  00071	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  00074	8b 4d ec	 mov	 ecx, DWORD PTR __Ptr$145672[ebp]
  00077	89 48 10	 mov	 DWORD PTR [eax+16], ecx
$LN1@erase@19:

; 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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@V?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@0@Z ENDP ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::erase
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??E?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEAAV01@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??E?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEAAV01@XZ PROC ; std::_Vector_iterator<CTestPattern *,std::allocator<CTestPattern *> >::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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEAAV01@XZ ; std::_Vector_const_iterator<CTestPattern *,std::allocator<CTestPattern *> >::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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEAAV01@XZ ENDP ; std::_Vector_iterator<CTestPattern *,std::allocator<CTestPattern *> >::operator++
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??D?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEAAPAVCTestPattern@@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??D?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEAAPAVCTestPattern@@XZ PROC ; std::_Vector_iterator<CTestPattern *,std::allocator<CTestPattern *> >::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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEABQAVCTestPattern@@XZ ; std::_Vector_const_iterator<CTestPattern *,std::allocator<CTestPattern *> >::operator*

; 340  : 		}

  0000f	8b e5		 mov	 esp, ebp
  00011	5d		 pop	 ebp
  00012	c3		 ret	 0
??D?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEAAPAVCTestPattern@@XZ ENDP ; std::_Vector_iterator<CTestPattern *,std::allocator<CTestPattern *> >::operator*
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?clear@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEXXZ
_TEXT	SEGMENT
_this$ = -44						; size = 4
$T322633 = -40						; size = 8
$T322632 = -32						; size = 8
$T322631 = -24						; size = 8
$T322630 = -16						; size = 8
$T322629 = -8						; size = 8
?clear@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEXXZ PROC ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::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 $T322630[ebp]
  0000c	50		 push	 eax
  0000d	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  00010	e8 00 00 00 00	 call	 ?end@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@XZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::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 $T322629[ebp], ecx
  0001d	89 55 fc	 mov	 DWORD PTR $T322629[ebp+4], edx
  00020	8d 45 e0	 lea	 eax, DWORD PTR $T322632[ebp]
  00023	50		 push	 eax
  00024	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  00027	e8 00 00 00 00	 call	 ?begin@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@XZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::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 $T322631[ebp], ecx
  00034	89 55 ec	 mov	 DWORD PTR $T322631[ebp+4], edx
  00037	8b 45 fc	 mov	 eax, DWORD PTR $T322629[ebp+4]
  0003a	50		 push	 eax
  0003b	8b 4d f8	 mov	 ecx, DWORD PTR $T322629[ebp]
  0003e	51		 push	 ecx
  0003f	8b 55 ec	 mov	 edx, DWORD PTR $T322631[ebp+4]
  00042	52		 push	 edx
  00043	8b 45 e8	 mov	 eax, DWORD PTR $T322631[ebp]
  00046	50		 push	 eax
  00047	8d 4d d8	 lea	 ecx, DWORD PTR $T322633[ebp]
  0004a	51		 push	 ecx
  0004b	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  0004e	e8 00 00 00 00	 call	 ?erase@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@V?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@0@Z ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::erase

; 1066 : 		}

  00053	8b e5		 mov	 esp, ebp
  00055	5d		 pop	 ebp
  00056	c3		 ret	 0
?clear@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEXXZ ENDP ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::clear
_TEXT	ENDS
PUBLIC	?GetSubPattern@CCalibration@@QAEPAVCSubPattern@@W4eTypeAdjust@@@Z ; CCalibration::GetSubPattern
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\calibration.cpp
;	COMDAT ?GetSubPattern@CCalibration@@QAEPAVCSubPattern@@W4eTypeAdjust@@@Z
_TEXT	SEGMENT
_this$ = -8						; size = 4
_sub_pattern$ = -4					; size = 4
_type_adjust$ = 8					; size = 4
?GetSubPattern@CCalibration@@QAEPAVCSubPattern@@W4eTypeAdjust@@@Z PROC ; CCalibration::GetSubPattern, COMDAT
; _this$ = ecx

; 782  : {

  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

; 783  :     CSubPattern* sub_pattern = NULL;

  00009	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _sub_pattern$[ebp], 0

; 784  : 
; 785  :     if (m_CurTestPat != NULL)

  00010	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  00013	83 78 18 00	 cmp	 DWORD PTR [eax+24], 0
  00017	74 12		 je	 SHORT $LN1@GetSubPatt@2

; 786  :     {
; 787  :         sub_pattern = m_CurTestPat->GetSubPattern(type_adjust);

  00019	8b 4d 08	 mov	 ecx, DWORD PTR _type_adjust$[ebp]
  0001c	51		 push	 ecx
  0001d	8b 55 f8	 mov	 edx, DWORD PTR _this$[ebp]
  00020	8b 4a 18	 mov	 ecx, DWORD PTR [edx+24]
  00023	e8 00 00 00 00	 call	 ?GetSubPattern@CTestPattern@@QAEPAVCSubPattern@@W4eTypeAdjust@@@Z ; CTestPattern::GetSubPattern
  00028	89 45 fc	 mov	 DWORD PTR _sub_pattern$[ebp], eax
$LN1@GetSubPatt@2:

; 788  :     }
; 789  : 
; 790  :     return sub_pattern;

  0002b	8b 45 fc	 mov	 eax, DWORD PTR _sub_pattern$[ebp]

; 791  : }

  0002e	8b e5		 mov	 esp, ebp
  00030	5d		 pop	 ebp
  00031	c2 04 00	 ret	 4
?GetSubPattern@CCalibration@@QAEPAVCSubPattern@@W4eTypeAdjust@@@Z ENDP ; CCalibration::GetSubPattern
_TEXT	ENDS
PUBLIC	?SetMenu@CCalibration@@QAEXPAUHMENU__@@@Z	; CCalibration::SetMenu
; Function compile flags: /Odtp
;	COMDAT ?SetMenu@CCalibration@@QAEXPAUHMENU__@@@Z
_TEXT	SEGMENT
tv261 = -84						; size = 4
tv250 = -80						; size = 4
tv236 = -76						; size = 4
tv221 = -72						; size = 4
tv203 = -68						; size = 4
tv187 = -64						; size = 4
tv138 = -60						; size = 4
tv80 = -56						; size = 4
_this$ = -52						; size = 4
$T322644 = -48						; size = 8
_it$144961 = -40					; size = 8
_hMenuPatterns$ = -32					; size = 4
_OkC$ = -28						; size = 4
_pSource$ = -24						; size = 4
_OkH$ = -20						; size = 4
_i$ = -16						; size = 4
_type_content$ = -12					; size = 4
_OkBK$ = -8						; size = 4
_SourceHeight$ = -4					; size = 4
_hMenu$ = 8						; size = 4
?SetMenu@CCalibration@@QAEXPAUHMENU__@@@Z PROC		; CCalibration::SetMenu, COMDAT
; _this$ = ecx

; 685  : {

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

; 686  :     HMENU   hMenuPatterns;
; 687  :     int     i;
; 688  :     eTypeContentPattern type_content;
; 689  :     int     SourceHeight;
; 690  :     CSource* pSource = Providers_GetCurrentSource();

  00009	e8 00 00 00 00	 call	 ?Providers_GetCurrentSource@@YAPAVCSource@@XZ ; Providers_GetCurrentSource
  0000e	89 45 e8	 mov	 DWORD PTR _pSource$[ebp], eax

; 691  :     BOOL    OkBK, OkC, OkH;
; 692  : 
; 693  :     if (pSource != NULL)

  00011	83 7d e8 00	 cmp	 DWORD PTR _pSource$[ebp], 0
  00015	0f 84 cb 00 00
	00		 je	 $LN15@SetMenu@4

; 694  :     {
; 695  :         SourceHeight = pSource->GetHeight();

  0001b	8b 45 e8	 mov	 eax, DWORD PTR _pSource$[ebp]
  0001e	8b 10		 mov	 edx, DWORD PTR [eax]
  00020	8b 4d e8	 mov	 ecx, DWORD PTR _pSource$[ebp]
  00023	8b 42 78	 mov	 eax, DWORD PTR [edx+120]
  00026	ff d0		 call	 eax
  00028	89 45 fc	 mov	 DWORD PTR _SourceHeight$[ebp], eax

; 696  :         OkBK = (pSource->GetBrightness() != NULL && pSource->GetContrast() != NULL);

  0002b	8b 4d e8	 mov	 ecx, DWORD PTR _pSource$[ebp]
  0002e	8b 11		 mov	 edx, DWORD PTR [ecx]
  00030	8b 4d e8	 mov	 ecx, DWORD PTR _pSource$[ebp]
  00033	8b 42 2c	 mov	 eax, DWORD PTR [edx+44]
  00036	ff d0		 call	 eax
  00038	85 c0		 test	 eax, eax
  0003a	74 1a		 je	 SHORT $LN18@SetMenu@4
  0003c	8b 4d e8	 mov	 ecx, DWORD PTR _pSource$[ebp]
  0003f	8b 11		 mov	 edx, DWORD PTR [ecx]
  00041	8b 4d e8	 mov	 ecx, DWORD PTR _pSource$[ebp]
  00044	8b 42 30	 mov	 eax, DWORD PTR [edx+48]
  00047	ff d0		 call	 eax
  00049	85 c0		 test	 eax, eax
  0004b	74 09		 je	 SHORT $LN18@SetMenu@4
  0004d	c7 45 c8 01 00
	00 00		 mov	 DWORD PTR tv80[ebp], 1
  00054	eb 07		 jmp	 SHORT $LN19@SetMenu@4
$LN18@SetMenu@4:
  00056	c7 45 c8 00 00
	00 00		 mov	 DWORD PTR tv80[ebp], 0
$LN19@SetMenu@4:
  0005d	8b 4d c8	 mov	 ecx, DWORD PTR tv80[ebp]
  00060	89 4d f8	 mov	 DWORD PTR _OkBK$[ebp], ecx

; 697  :         OkC = ( (pSource->GetSaturationU() != NULL && pSource->GetSaturationV() != NULL)
; 698  :              || (pSource->GetSaturationU() == NULL && pSource->GetSaturationV() == NULL && pSource->GetSaturation() != NULL) );

  00063	8b 55 e8	 mov	 edx, DWORD PTR _pSource$[ebp]
  00066	8b 02		 mov	 eax, DWORD PTR [edx]
  00068	8b 4d e8	 mov	 ecx, DWORD PTR _pSource$[ebp]
  0006b	8b 50 3c	 mov	 edx, DWORD PTR [eax+60]
  0006e	ff d2		 call	 edx
  00070	85 c0		 test	 eax, eax
  00072	74 11		 je	 SHORT $LN20@SetMenu@4
  00074	8b 45 e8	 mov	 eax, DWORD PTR _pSource$[ebp]
  00077	8b 10		 mov	 edx, DWORD PTR [eax]
  00079	8b 4d e8	 mov	 ecx, DWORD PTR _pSource$[ebp]
  0007c	8b 42 40	 mov	 eax, DWORD PTR [edx+64]
  0007f	ff d0		 call	 eax
  00081	85 c0		 test	 eax, eax
  00083	75 3c		 jne	 SHORT $LN22@SetMenu@4
$LN20@SetMenu@4:
  00085	8b 4d e8	 mov	 ecx, DWORD PTR _pSource$[ebp]
  00088	8b 11		 mov	 edx, DWORD PTR [ecx]
  0008a	8b 4d e8	 mov	 ecx, DWORD PTR _pSource$[ebp]
  0008d	8b 42 3c	 mov	 eax, DWORD PTR [edx+60]
  00090	ff d0		 call	 eax
  00092	85 c0		 test	 eax, eax
  00094	75 22		 jne	 SHORT $LN21@SetMenu@4
  00096	8b 4d e8	 mov	 ecx, DWORD PTR _pSource$[ebp]
  00099	8b 11		 mov	 edx, DWORD PTR [ecx]
  0009b	8b 4d e8	 mov	 ecx, DWORD PTR _pSource$[ebp]
  0009e	8b 42 40	 mov	 eax, DWORD PTR [edx+64]
  000a1	ff d0		 call	 eax
  000a3	85 c0		 test	 eax, eax
  000a5	75 11		 jne	 SHORT $LN21@SetMenu@4
  000a7	8b 4d e8	 mov	 ecx, DWORD PTR _pSource$[ebp]
  000aa	8b 11		 mov	 edx, DWORD PTR [ecx]
  000ac	8b 4d e8	 mov	 ecx, DWORD PTR _pSource$[ebp]
  000af	8b 42 38	 mov	 eax, DWORD PTR [edx+56]
  000b2	ff d0		 call	 eax
  000b4	85 c0		 test	 eax, eax
  000b6	75 09		 jne	 SHORT $LN22@SetMenu@4
$LN21@SetMenu@4:
  000b8	c7 45 c4 00 00
	00 00		 mov	 DWORD PTR tv138[ebp], 0
  000bf	eb 07		 jmp	 SHORT $LN23@SetMenu@4
$LN22@SetMenu@4:
  000c1	c7 45 c4 01 00
	00 00		 mov	 DWORD PTR tv138[ebp], 1
$LN23@SetMenu@4:
  000c8	8b 4d c4	 mov	 ecx, DWORD PTR tv138[ebp]
  000cb	89 4d e4	 mov	 DWORD PTR _OkC$[ebp], ecx

; 699  :         OkH = (pSource->GetHue() != NULL);

  000ce	8b 55 e8	 mov	 edx, DWORD PTR _pSource$[ebp]
  000d1	8b 02		 mov	 eax, DWORD PTR [edx]
  000d3	8b 4d e8	 mov	 ecx, DWORD PTR _pSource$[ebp]
  000d6	8b 50 34	 mov	 edx, DWORD PTR [eax+52]
  000d9	ff d2		 call	 edx
  000db	f7 d8		 neg	 eax
  000dd	1b c0		 sbb	 eax, eax
  000df	f7 d8		 neg	 eax
  000e1	89 45 ec	 mov	 DWORD PTR _OkH$[ebp], eax

; 700  :     }
; 701  :     else

  000e4	eb 1c		 jmp	 SHORT $LN14@SetMenu@4
$LN15@SetMenu@4:

; 702  :     {
; 703  :         SourceHeight = -1;

  000e6	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR _SourceHeight$[ebp], -1

; 704  :         OkBK = FALSE;

  000ed	c7 45 f8 00 00
	00 00		 mov	 DWORD PTR _OkBK$[ebp], 0

; 705  :         OkC = FALSE;

  000f4	c7 45 e4 00 00
	00 00		 mov	 DWORD PTR _OkC$[ebp], 0

; 706  :         OkH = FALSE;

  000fb	c7 45 ec 00 00
	00 00		 mov	 DWORD PTR _OkH$[ebp], 0
$LN14@SetMenu@4:

; 707  :     }
; 708  : 
; 709  :     if ((m_CurTestPat != NULL) && (m_CurTestPat->GetHeight() != SourceHeight))

  00102	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  00105	83 78 18 00	 cmp	 DWORD PTR [eax+24], 0
  00109	74 1a		 je	 SHORT $LN13@SetMenu@4
  0010b	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  0010e	8b 49 18	 mov	 ecx, DWORD PTR [ecx+24]
  00111	e8 00 00 00 00	 call	 ?GetHeight@CTestPattern@@QAEHXZ ; CTestPattern::GetHeight
  00116	3b 45 fc	 cmp	 eax, DWORD PTR _SourceHeight$[ebp]
  00119	74 0a		 je	 SHORT $LN13@SetMenu@4

; 710  :     {
; 711  :         m_CurTestPat = NULL;

  0011b	8b 55 cc	 mov	 edx, DWORD PTR _this$[ebp]
  0011e	c7 42 18 00 00
	00 00		 mov	 DWORD PTR [edx+24], 0
$LN13@SetMenu@4:

; 712  :     }
; 713  : 
; 714  :     if (m_CurTestPat != NULL)

  00125	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  00128	83 78 18 00	 cmp	 DWORD PTR [eax+24], 0
  0012c	74 10		 je	 SHORT $LN12@SetMenu@4

; 715  :     {
; 716  :         type_content = m_CurTestPat->DetermineTypeContent();

  0012e	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00131	8b 49 18	 mov	 ecx, DWORD PTR [ecx+24]
  00134	e8 00 00 00 00	 call	 ?DetermineTypeContent@CTestPattern@@QAE?AW4eTypeContentPattern@@XZ ; CTestPattern::DetermineTypeContent
  00139	89 45 f4	 mov	 DWORD PTR _type_content$[ebp], eax

; 717  :     }
; 718  :     else

  0013c	eb 07		 jmp	 SHORT $LN11@SetMenu@4
$LN12@SetMenu@4:

; 719  :     {
; 720  :         type_content = PAT_UNKNOWN;

  0013e	c7 45 f4 03 00
	00 00		 mov	 DWORD PTR _type_content$[ebp], 3
$LN11@SetMenu@4:

; 721  :     }
; 722  : 
; 723  :     hMenuPatterns = GetPatternsSubmenu();

  00145	e8 00 00 00 00	 call	 ?GetPatternsSubmenu@@YAPAUHMENU__@@XZ ; GetPatternsSubmenu
  0014a	89 45 e0	 mov	 DWORD PTR _hMenuPatterns$[ebp], eax

; 724  :     if (hMenuPatterns == NULL) return;

  0014d	83 7d e0 00	 cmp	 DWORD PTR _hMenuPatterns$[ebp], 0
  00151	75 05		 jne	 SHORT $LN10@SetMenu@4
  00153	e9 51 02 00 00	 jmp	 $LN16@SetMenu@4
$LN10@SetMenu@4:

; 725  : 
; 726  :     i = 0;

  00158	c7 45 f0 00 00
	00 00		 mov	 DWORD PTR _i$[ebp], 0

; 727  :     for(vector<CTestPattern*>::iterator it = m_TestPatterns.begin();

  0015f	8d 55 d8	 lea	 edx, DWORD PTR _it$144961[ebp]
  00162	52		 push	 edx
  00163	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00166	e8 00 00 00 00	 call	 ?begin@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@XZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::begin

; 728  :         it != m_TestPatterns.end();

  0016b	eb 11		 jmp	 SHORT $LN9@SetMenu@4
$LN8@SetMenu@4:

; 729  :         ++it, ++i)

  0016d	8d 4d d8	 lea	 ecx, DWORD PTR _it$144961[ebp]
  00170	e8 00 00 00 00	 call	 ??E?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEAAV01@XZ ; std::_Vector_iterator<CTestPattern *,std::allocator<CTestPattern *> >::operator++
  00175	8b 45 f0	 mov	 eax, DWORD PTR _i$[ebp]
  00178	83 c0 01	 add	 eax, 1
  0017b	89 45 f0	 mov	 DWORD PTR _i$[ebp], eax
$LN9@SetMenu@4:
  0017e	8d 4d d0	 lea	 ecx, DWORD PTR $T322644[ebp]
  00181	51		 push	 ecx
  00182	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00185	e8 00 00 00 00	 call	 ?end@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@XZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::end
  0018a	50		 push	 eax
  0018b	8d 4d d8	 lea	 ecx, DWORD PTR _it$144961[ebp]
  0018e	e8 00 00 00 00	 call	 ??9?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<CTestPattern *,std::allocator<CTestPattern *> >::operator!=
  00193	0f b6 d0	 movzx	 edx, al
  00196	85 d2		 test	 edx, edx
  00198	74 6f		 je	 SHORT $LN7@SetMenu@4

; 730  :     {
; 731  :         EnableMenuItem(hMenuPatterns, i, (m_IsRunning || ((*it)->GetHeight() != SourceHeight)) ? MF_BYPOSITION | MF_GRAYED : MF_BYPOSITION | MF_ENABLED);

  0019a	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  0019d	83 78 24 00	 cmp	 DWORD PTR [eax+36], 0
  001a1	75 1d		 jne	 SHORT $LN24@SetMenu@4
  001a3	8d 4d d8	 lea	 ecx, DWORD PTR _it$144961[ebp]
  001a6	e8 00 00 00 00	 call	 ??D?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEAAPAVCTestPattern@@XZ ; std::_Vector_iterator<CTestPattern *,std::allocator<CTestPattern *> >::operator*
  001ab	8b 08		 mov	 ecx, DWORD PTR [eax]
  001ad	e8 00 00 00 00	 call	 ?GetHeight@CTestPattern@@QAEHXZ ; CTestPattern::GetHeight
  001b2	3b 45 fc	 cmp	 eax, DWORD PTR _SourceHeight$[ebp]
  001b5	75 09		 jne	 SHORT $LN24@SetMenu@4
  001b7	c7 45 c0 00 04
	00 00		 mov	 DWORD PTR tv187[ebp], 1024 ; 00000400H
  001be	eb 07		 jmp	 SHORT $LN25@SetMenu@4
$LN24@SetMenu@4:
  001c0	c7 45 c0 01 04
	00 00		 mov	 DWORD PTR tv187[ebp], 1025 ; 00000401H
$LN25@SetMenu@4:
  001c7	8b 4d c0	 mov	 ecx, DWORD PTR tv187[ebp]
  001ca	51		 push	 ecx
  001cb	8b 55 f0	 mov	 edx, DWORD PTR _i$[ebp]
  001ce	52		 push	 edx
  001cf	8b 45 e0	 mov	 eax, DWORD PTR _hMenuPatterns$[ebp]
  001d2	50		 push	 eax
  001d3	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 732  :         CheckMenuItem(hMenuPatterns, i, (m_CurTestPat == (*it)) ? MF_BYPOSITION | MF_CHECKED : MF_BYPOSITION | MF_UNCHECKED);

  001d9	8d 4d d8	 lea	 ecx, DWORD PTR _it$144961[ebp]
  001dc	e8 00 00 00 00	 call	 ??D?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEAAPAVCTestPattern@@XZ ; std::_Vector_iterator<CTestPattern *,std::allocator<CTestPattern *> >::operator*
  001e1	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  001e4	8b 51 18	 mov	 edx, DWORD PTR [ecx+24]
  001e7	33 c9		 xor	 ecx, ecx
  001e9	3b 10		 cmp	 edx, DWORD PTR [eax]
  001eb	0f 94 c1	 sete	 cl
  001ee	8d 0c cd 00 04
	00 00		 lea	 ecx, DWORD PTR [ecx*8+1024]
  001f5	51		 push	 ecx
  001f6	8b 55 f0	 mov	 edx, DWORD PTR _i$[ebp]
  001f9	52		 push	 edx
  001fa	8b 45 e0	 mov	 eax, DWORD PTR _hMenuPatterns$[ebp]
  001fd	50		 push	 eax
  001fe	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CheckMenuItem@12

; 733  :     }

  00204	e9 64 ff ff ff	 jmp	 $LN8@SetMenu@4
$LN7@SetMenu@4:

; 734  : 
; 735  :     EnableMenuItem(hMenu, IDM_START_MANUAL_CALIBRATION, (m_IsRunning || (m_CurTestPat == NULL)) ? MF_GRAYED : MF_ENABLED);

  00209	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  0020c	83 79 24 00	 cmp	 DWORD PTR [ecx+36], 0
  00210	75 12		 jne	 SHORT $LN26@SetMenu@4
  00212	8b 55 cc	 mov	 edx, DWORD PTR _this$[ebp]
  00215	83 7a 18 00	 cmp	 DWORD PTR [edx+24], 0
  00219	74 09		 je	 SHORT $LN26@SetMenu@4
  0021b	c7 45 bc 00 00
	00 00		 mov	 DWORD PTR tv203[ebp], 0
  00222	eb 07		 jmp	 SHORT $LN27@SetMenu@4
$LN26@SetMenu@4:
  00224	c7 45 bc 01 00
	00 00		 mov	 DWORD PTR tv203[ebp], 1
$LN27@SetMenu@4:
  0022b	8b 45 bc	 mov	 eax, DWORD PTR tv203[ebp]
  0022e	50		 push	 eax
  0022f	68 f9 07 00 00	 push	 2041			; 000007f9H
  00234	8b 4d 08	 mov	 ecx, DWORD PTR _hMenu$[ebp]
  00237	51		 push	 ecx
  00238	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 736  :     EnableMenuItem(hMenu, IDM_START_YUV_RANGE, m_IsRunning ? MF_GRAYED : MF_ENABLED);

  0023e	8b 55 cc	 mov	 edx, DWORD PTR _this$[ebp]
  00241	33 c0		 xor	 eax, eax
  00243	83 7a 24 00	 cmp	 DWORD PTR [edx+36], 0
  00247	0f 95 c0	 setne	 al
  0024a	50		 push	 eax
  0024b	68 11 80 00 00	 push	 32785			; 00008011H
  00250	8b 4d 08	 mov	 ecx, DWORD PTR _hMenu$[ebp]
  00253	51		 push	 ecx
  00254	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 737  :     if (OkBK && OkC && OkH)

  0025a	83 7d f8 00	 cmp	 DWORD PTR _OkBK$[ebp], 0
  0025e	74 49		 je	 SHORT $LN6@SetMenu@4
  00260	83 7d e4 00	 cmp	 DWORD PTR _OkC$[ebp], 0
  00264	74 43		 je	 SHORT $LN6@SetMenu@4
  00266	83 7d ec 00	 cmp	 DWORD PTR _OkH$[ebp], 0
  0026a	74 3d		 je	 SHORT $LN6@SetMenu@4

; 738  :     {
; 739  :         EnableMenuItem(hMenu, IDM_START_AUTO_CALIBRATION, (m_IsRunning || (m_CurTestPat == NULL) || (type_content != PAT_GRAY_AND_COLOR)) ? MF_GRAYED : MF_ENABLED);

  0026c	8b 55 cc	 mov	 edx, DWORD PTR _this$[ebp]
  0026f	83 7a 24 00	 cmp	 DWORD PTR [edx+36], 0
  00273	75 18		 jne	 SHORT $LN28@SetMenu@4
  00275	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  00278	83 78 18 00	 cmp	 DWORD PTR [eax+24], 0
  0027c	74 0f		 je	 SHORT $LN28@SetMenu@4
  0027e	83 7d f4 02	 cmp	 DWORD PTR _type_content$[ebp], 2
  00282	75 09		 jne	 SHORT $LN28@SetMenu@4
  00284	c7 45 b8 00 00
	00 00		 mov	 DWORD PTR tv221[ebp], 0
  0028b	eb 07		 jmp	 SHORT $LN29@SetMenu@4
$LN28@SetMenu@4:
  0028d	c7 45 b8 01 00
	00 00		 mov	 DWORD PTR tv221[ebp], 1
$LN29@SetMenu@4:
  00294	8b 4d b8	 mov	 ecx, DWORD PTR tv221[ebp]
  00297	51		 push	 ecx
  00298	68 f8 07 00 00	 push	 2040			; 000007f8H
  0029d	8b 55 08	 mov	 edx, DWORD PTR _hMenu$[ebp]
  002a0	52		 push	 edx
  002a1	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 740  :     }
; 741  :     else

  002a7	eb 11		 jmp	 SHORT $LN5@SetMenu@4
$LN6@SetMenu@4:

; 742  :     {
; 743  :         EnableMenuItem(hMenu, IDM_START_AUTO_CALIBRATION, MF_GRAYED);

  002a9	6a 01		 push	 1
  002ab	68 f8 07 00 00	 push	 2040			; 000007f8H
  002b0	8b 45 08	 mov	 eax, DWORD PTR _hMenu$[ebp]
  002b3	50		 push	 eax
  002b4	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12
$LN5@SetMenu@4:

; 744  :     }
; 745  :     if (OkC && OkH)

  002ba	83 7d e4 00	 cmp	 DWORD PTR _OkC$[ebp], 0
  002be	74 49		 je	 SHORT $LN4@SetMenu@4
  002c0	83 7d ec 00	 cmp	 DWORD PTR _OkH$[ebp], 0
  002c4	74 43		 je	 SHORT $LN4@SetMenu@4

; 746  :     {
; 747  :         EnableMenuItem(hMenu, IDM_START_AUTO_CALIBRATION3, (m_IsRunning || (m_CurTestPat == NULL) || ((type_content != PAT_GRAY_AND_COLOR) && (type_content != PAT_COLOR))) ? MF_GRAYED : MF_ENABLED);

  002c6	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  002c9	83 79 24 00	 cmp	 DWORD PTR [ecx+36], 0
  002cd	75 1e		 jne	 SHORT $LN30@SetMenu@4
  002cf	8b 55 cc	 mov	 edx, DWORD PTR _this$[ebp]
  002d2	83 7a 18 00	 cmp	 DWORD PTR [edx+24], 0
  002d6	74 15		 je	 SHORT $LN30@SetMenu@4
  002d8	83 7d f4 02	 cmp	 DWORD PTR _type_content$[ebp], 2
  002dc	74 06		 je	 SHORT $LN31@SetMenu@4
  002de	83 7d f4 01	 cmp	 DWORD PTR _type_content$[ebp], 1
  002e2	75 09		 jne	 SHORT $LN30@SetMenu@4
$LN31@SetMenu@4:
  002e4	c7 45 b4 00 00
	00 00		 mov	 DWORD PTR tv236[ebp], 0
  002eb	eb 07		 jmp	 SHORT $LN32@SetMenu@4
$LN30@SetMenu@4:
  002ed	c7 45 b4 01 00
	00 00		 mov	 DWORD PTR tv236[ebp], 1
$LN32@SetMenu@4:
  002f4	8b 45 b4	 mov	 eax, DWORD PTR tv236[ebp]
  002f7	50		 push	 eax
  002f8	68 13 08 00 00	 push	 2067			; 00000813H
  002fd	8b 4d 08	 mov	 ecx, DWORD PTR _hMenu$[ebp]
  00300	51		 push	 ecx
  00301	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 748  :     }
; 749  :     else

  00307	eb 11		 jmp	 SHORT $LN3@SetMenu@4
$LN4@SetMenu@4:

; 750  :     {
; 751  :         EnableMenuItem(hMenu, IDM_START_AUTO_CALIBRATION3, MF_GRAYED);

  00309	6a 01		 push	 1
  0030b	68 13 08 00 00	 push	 2067			; 00000813H
  00310	8b 55 08	 mov	 edx, DWORD PTR _hMenu$[ebp]
  00313	52		 push	 edx
  00314	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12
$LN3@SetMenu@4:

; 752  :     }
; 753  :     if (OkBK)

  0031a	83 7d f8 00	 cmp	 DWORD PTR _OkBK$[ebp], 0
  0031e	74 43		 je	 SHORT $LN2@SetMenu@4

; 754  :     {
; 755  :         EnableMenuItem(hMenu, IDM_START_AUTO_CALIBRATION2, (m_IsRunning || (m_CurTestPat == NULL) || ((type_content != PAT_GRAY_AND_COLOR) && (type_content != PAT_RANGE_OF_GRAY))) ? MF_GRAYED : MF_ENABLED);

  00320	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  00323	83 78 24 00	 cmp	 DWORD PTR [eax+36], 0
  00327	75 1e		 jne	 SHORT $LN33@SetMenu@4
  00329	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  0032c	83 79 18 00	 cmp	 DWORD PTR [ecx+24], 0
  00330	74 15		 je	 SHORT $LN33@SetMenu@4
  00332	83 7d f4 02	 cmp	 DWORD PTR _type_content$[ebp], 2
  00336	74 06		 je	 SHORT $LN34@SetMenu@4
  00338	83 7d f4 00	 cmp	 DWORD PTR _type_content$[ebp], 0
  0033c	75 09		 jne	 SHORT $LN33@SetMenu@4
$LN34@SetMenu@4:
  0033e	c7 45 b0 00 00
	00 00		 mov	 DWORD PTR tv250[ebp], 0
  00345	eb 07		 jmp	 SHORT $LN35@SetMenu@4
$LN33@SetMenu@4:
  00347	c7 45 b0 01 00
	00 00		 mov	 DWORD PTR tv250[ebp], 1
$LN35@SetMenu@4:
  0034e	8b 55 b0	 mov	 edx, DWORD PTR tv250[ebp]
  00351	52		 push	 edx
  00352	68 12 08 00 00	 push	 2066			; 00000812H
  00357	8b 45 08	 mov	 eax, DWORD PTR _hMenu$[ebp]
  0035a	50		 push	 eax
  0035b	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 756  :     }
; 757  :     else

  00361	eb 11		 jmp	 SHORT $LN1@SetMenu@4
$LN2@SetMenu@4:

; 758  :     {
; 759  :         EnableMenuItem(hMenu, IDM_START_AUTO_CALIBRATION2, MF_GRAYED);

  00363	6a 01		 push	 1
  00365	68 12 08 00 00	 push	 2066			; 00000812H
  0036a	8b 4d 08	 mov	 ecx, DWORD PTR _hMenu$[ebp]
  0036d	51		 push	 ecx
  0036e	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12
$LN1@SetMenu@4:

; 760  :     }
; 761  :     EnableMenuItem(hMenu, IDM_STOP_CALIBRATION, (!m_IsRunning || (m_CurTestPat == NULL)) ? MF_GRAYED : MF_ENABLED);

  00374	8b 55 cc	 mov	 edx, DWORD PTR _this$[ebp]
  00377	83 7a 24 00	 cmp	 DWORD PTR [edx+36], 0
  0037b	74 12		 je	 SHORT $LN36@SetMenu@4
  0037d	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  00380	83 78 18 00	 cmp	 DWORD PTR [eax+24], 0
  00384	74 09		 je	 SHORT $LN36@SetMenu@4
  00386	c7 45 ac 00 00
	00 00		 mov	 DWORD PTR tv261[ebp], 0
  0038d	eb 07		 jmp	 SHORT $LN37@SetMenu@4
$LN36@SetMenu@4:
  0038f	c7 45 ac 01 00
	00 00		 mov	 DWORD PTR tv261[ebp], 1
$LN37@SetMenu@4:
  00396	8b 4d ac	 mov	 ecx, DWORD PTR tv261[ebp]
  00399	51		 push	 ecx
  0039a	68 f7 07 00 00	 push	 2039			; 000007f7H
  0039f	8b 55 08	 mov	 edx, DWORD PTR _hMenu$[ebp]
  003a2	52		 push	 edx
  003a3	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12
$LN16@SetMenu@4:

; 762  : }

  003a9	8b e5		 mov	 esp, ebp
  003ab	5d		 pop	 ebp
  003ac	c2 04 00	 ret	 4
?SetMenu@CCalibration@@QAEXPAUHMENU__@@@Z ENDP		; CCalibration::SetMenu
_TEXT	ENDS
PUBLIC	?ProcessSelection@CCalibration@@QAEHPAUHWND__@@G@Z ; CCalibration::ProcessSelection
; Function compile flags: /Odtp
;	COMDAT ?ProcessSelection@CCalibration@@QAEHPAUHWND__@@G@Z
_TEXT	SEGMENT
_this$ = -24						; size = 4
$T322661 = -20						; size = 8
_it$144912 = -12					; size = 8
_i$ = -4						; size = 4
_hWnd$ = 8						; size = 4
_wMenuId$ = 12						; size = 2
?ProcessSelection@CCalibration@@QAEHPAUHWND__@@G@Z PROC	; CCalibration::ProcessSelection, COMDAT
; _this$ = ecx

; 640  : {

  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

; 641  :     int i = 0;

  00009	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _i$[ebp], 0

; 642  :     for(vector<CTestPattern*>::iterator it = m_TestPatterns.begin();

  00010	8d 45 f4	 lea	 eax, DWORD PTR _it$144912[ebp]
  00013	50		 push	 eax
  00014	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00017	e8 00 00 00 00	 call	 ?begin@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@XZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::begin

; 643  :         it != m_TestPatterns.end();

  0001c	eb 11		 jmp	 SHORT $LN4@ProcessSel
$LN3@ProcessSel:

; 644  :         ++it, ++i)

  0001e	8d 4d f4	 lea	 ecx, DWORD PTR _it$144912[ebp]
  00021	e8 00 00 00 00	 call	 ??E?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEAAV01@XZ ; std::_Vector_iterator<CTestPattern *,std::allocator<CTestPattern *> >::operator++
  00026	8b 4d fc	 mov	 ecx, DWORD PTR _i$[ebp]
  00029	83 c1 01	 add	 ecx, 1
  0002c	89 4d fc	 mov	 DWORD PTR _i$[ebp], ecx
$LN4@ProcessSel:
  0002f	8d 55 ec	 lea	 edx, DWORD PTR $T322661[ebp]
  00032	52		 push	 edx
  00033	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00036	e8 00 00 00 00	 call	 ?end@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@XZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::end
  0003b	50		 push	 eax
  0003c	8d 4d f4	 lea	 ecx, DWORD PTR _it$144912[ebp]
  0003f	e8 00 00 00 00	 call	 ??9?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<CTestPattern *,std::allocator<CTestPattern *> >::operator!=
  00044	0f b6 c0	 movzx	 eax, al
  00047	85 c0		 test	 eax, eax
  00049	74 2f		 je	 SHORT $LN2@ProcessSel

; 645  :     {
; 646  :         if (wMenuId == IDM_PATTERN_SELECT + i + 1)

  0004b	0f b7 4d 0c	 movzx	 ecx, WORD PTR _wMenuId$[ebp]
  0004f	8b 55 fc	 mov	 edx, DWORD PTR _i$[ebp]
  00052	81 c2 fb 07 00
	00		 add	 edx, 2043		; 000007fbH
  00058	3b ca		 cmp	 ecx, edx
  0005a	75 1c		 jne	 SHORT $LN1@ProcessSel

; 647  :         {
; 648  :             pCalibration->SelectTestPattern(i);

  0005c	8b 45 fc	 mov	 eax, DWORD PTR _i$[ebp]
  0005f	50		 push	 eax
  00060	b9 00 00 00 00	 mov	 ecx, OFFSET ?pCalibration@@3V?$SmartPtr@VCCalibration@@@@A ; pCalibration
  00065	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCCalibration@@@@QBEPAVCCalibration@@XZ ; SmartPtr<CCalibration>::operator->
  0006a	8b c8		 mov	 ecx, eax
  0006c	e8 00 00 00 00	 call	 ?SelectTestPattern@CCalibration@@QAEXH@Z ; CCalibration::SelectTestPattern

; 649  :             return TRUE;

  00071	b8 01 00 00 00	 mov	 eax, 1
  00076	eb 04		 jmp	 SHORT $LN5@ProcessSel
$LN1@ProcessSel:

; 650  :         }
; 651  :     }

  00078	eb a4		 jmp	 SHORT $LN3@ProcessSel
$LN2@ProcessSel:

; 652  :     return FALSE;

  0007a	33 c0		 xor	 eax, eax
$LN5@ProcessSel:

; 653  : }

  0007c	8b e5		 mov	 esp, ebp
  0007e	5d		 pop	 ebp
  0007f	c2 08 00	 ret	 8
?ProcessSelection@CCalibration@@QAEHPAUHWND__@@G@Z ENDP	; CCalibration::ProcessSelection
PUBLIC	?step_init@CCalibration@@AAEHW4eTypeAdjust@@PAVCCalSetting@@11@Z ; CCalibration::step_init
; Function compile flags: /Odtp
;	COMDAT ?step_init@CCalibration@@AAEHW4eTypeAdjust@@PAVCCalSetting@@11@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_type_adjust$ = 8					; size = 4
__setting1$ = 12					; size = 4
__setting2$ = 16					; size = 4
__setting3$ = 20					; size = 4
?step_init@CCalibration@@AAEHW4eTypeAdjust@@PAVCCalSetting@@11@Z PROC ; CCalibration::step_init, COMDAT
; _this$ = ecx

; 1411 : {

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

; 1412 :     // Get the bar to use for this step
; 1413 :     m_CurSubPat = GetSubPattern(type_adjust);

  00007	8b 45 08	 mov	 eax, DWORD PTR _type_adjust$[ebp]
  0000a	50		 push	 eax
  0000b	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000e	e8 00 00 00 00	 call	 ?GetSubPattern@CCalibration@@QAEPAVCSubPattern@@W4eTypeAdjust@@@Z ; CCalibration::GetSubPattern
  00013	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00016	89 41 1c	 mov	 DWORD PTR [ecx+28], eax

; 1414 :     if (m_CurSubPat == NULL)

  00019	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  0001c	83 7a 1c 00	 cmp	 DWORD PTR [edx+28], 0
  00020	75 2a		 jne	 SHORT $LN5@step_init

; 1415 :     {
; 1416 :         setting1 = (CCalSetting* )NULL;

  00022	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00025	c7 40 60 00 00
	00 00		 mov	 DWORD PTR [eax+96], 0

; 1417 :         setting2 = (CCalSetting* )NULL;

  0002c	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0002f	c7 41 64 00 00
	00 00		 mov	 DWORD PTR [ecx+100], 0

; 1418 :         setting3 = (CCalSetting* )NULL;

  00036	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00039	c7 42 68 00 00
	00 00		 mov	 DWORD PTR [edx+104], 0

; 1419 :         return FALSE;

  00040	33 c0		 xor	 eax, eax
  00042	e9 96 00 00 00	 jmp	 $LN6@step_init

; 1420 :     }
; 1421 :     else

  00047	e9 91 00 00 00	 jmp	 $LN6@step_init
$LN5@step_init:

; 1422 :     {
; 1423 :         // Initialize
; 1424 :         setting1 = _setting1;

  0004c	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0004f	8b 4d 0c	 mov	 ecx, DWORD PTR __setting1$[ebp]
  00052	89 48 60	 mov	 DWORD PTR [eax+96], ecx

; 1425 :         if (setting1 != (CCalSetting* )NULL)

  00055	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00058	83 7a 60 00	 cmp	 DWORD PTR [edx+96], 0
  0005c	74 16		 je	 SHORT $LN3@step_init

; 1426 :         {
; 1427 :             // Set the settings to their minimum
; 1428 :             setting1->AdjustMin();

  0005e	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00061	8b 48 60	 mov	 ecx, DWORD PTR [eax+96]
  00064	e8 00 00 00 00	 call	 ?AdjustMin@CCalSetting@@QAEXXZ ; CCalSetting::AdjustMin

; 1429 :             setting1->InitResult();

  00069	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0006c	8b 49 60	 mov	 ecx, DWORD PTR [ecx+96]
  0006f	e8 00 00 00 00	 call	 ?InitResult@CCalSetting@@QAEXXZ ; CCalSetting::InitResult
$LN3@step_init:

; 1430 :         }
; 1431 :         setting2 = _setting2;

  00074	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00077	8b 45 10	 mov	 eax, DWORD PTR __setting2$[ebp]
  0007a	89 42 64	 mov	 DWORD PTR [edx+100], eax

; 1432 :         if (setting2 != (CCalSetting* )NULL)

  0007d	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00080	83 79 64 00	 cmp	 DWORD PTR [ecx+100], 0
  00084	74 16		 je	 SHORT $LN2@step_init

; 1433 :         {
; 1434 :             // Set the settings to their minimum
; 1435 :             setting2->AdjustMin();

  00086	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00089	8b 4a 64	 mov	 ecx, DWORD PTR [edx+100]
  0008c	e8 00 00 00 00	 call	 ?AdjustMin@CCalSetting@@QAEXXZ ; CCalSetting::AdjustMin

; 1436 :             setting2->InitResult();

  00091	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00094	8b 48 64	 mov	 ecx, DWORD PTR [eax+100]
  00097	e8 00 00 00 00	 call	 ?InitResult@CCalSetting@@QAEXXZ ; CCalSetting::InitResult
$LN2@step_init:

; 1437 :         }
; 1438 :         setting3 = _setting3;

  0009c	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0009f	8b 55 14	 mov	 edx, DWORD PTR __setting3$[ebp]
  000a2	89 51 68	 mov	 DWORD PTR [ecx+104], edx

; 1439 :         if (setting3 != (CCalSetting* )NULL)

  000a5	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  000a8	83 78 68 00	 cmp	 DWORD PTR [eax+104], 0
  000ac	74 16		 je	 SHORT $LN1@step_init

; 1440 :         {
; 1441 :             // Set the settings to their minimum
; 1442 :             setting3->AdjustMin();

  000ae	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000b1	8b 49 68	 mov	 ecx, DWORD PTR [ecx+104]
  000b4	e8 00 00 00 00	 call	 ?AdjustMin@CCalSetting@@QAEXXZ ; CCalSetting::AdjustMin

; 1443 :             setting3->InitResult();

  000b9	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  000bc	8b 4a 68	 mov	 ecx, DWORD PTR [edx+104]
  000bf	e8 00 00 00 00	 call	 ?InitResult@CCalSetting@@QAEXXZ ; CCalSetting::InitResult
$LN1@step_init:

; 1444 :         }
; 1445 : 
; 1446 :         nb_calcul = 0;

  000c4	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  000c7	c7 40 58 00 00
	00 00		 mov	 DWORD PTR [eax+88], 0

; 1447 :         total_dif = 0;

  000ce	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000d1	c7 41 54 00 00
	00 00		 mov	 DWORD PTR [ecx+84], 0

; 1448 : 
; 1449 :         return TRUE;

  000d8	b8 01 00 00 00	 mov	 eax, 1
$LN6@step_init:

; 1450 :     }
; 1451 : }

  000dd	8b e5		 mov	 esp, ebp
  000df	5d		 pop	 ebp
  000e0	c2 10 00	 ret	 16			; 00000010H
?step_init@CCalibration@@AAEHW4eTypeAdjust@@PAVCCalSetting@@11@Z ENDP ; CCalibration::step_init
; Function compile flags: /Odtp
;	COMDAT ??_GCTestPattern@@QAEPAXI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___flags$ = 8						; size = 4
??_GCTestPattern@@QAEPAXI@Z PROC			; CTestPattern::`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	 ??1CTestPattern@@QAE@XZ	; CTestPattern::~CTestPattern
  0000f	8b 45 08	 mov	 eax, DWORD PTR ___flags$[ebp]
  00012	83 e0 01	 and	 eax, 1
  00015	74 0c		 je	 SHORT $LN1@scalar@156
  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@156:
  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
??_GCTestPattern@@QAEPAXI@Z ENDP			; CTestPattern::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	?UnloadTestPatterns@CCalibration@@QAEXXZ	; CCalibration::UnloadTestPatterns
; Function compile flags: /Odtp
;	COMDAT ?UnloadTestPatterns@CCalibration@@QAEXXZ
_TEXT	SEGMENT
tv128 = -44						; size = 4
tv89 = -40						; size = 4
_this$ = -36						; size = 4
$T327377 = -32						; size = 4
$T327376 = -28						; size = 4
$T327373 = -24						; size = 4
$T327372 = -20						; size = 4
$T327371 = -16						; size = 8
_it$144888 = -8						; size = 8
?UnloadTestPatterns@CCalibration@@QAEXXZ PROC		; CCalibration::UnloadTestPatterns, COMDAT
; _this$ = ecx

; 624  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 2c	 sub	 esp, 44			; 0000002cH
  00006	89 4d dc	 mov	 DWORD PTR _this$[ebp], ecx

; 625  :     // Destroy all test patterns
; 626  :     for(vector<CTestPattern*>::iterator it = m_TestPatterns.begin();

  00009	8d 45 f8	 lea	 eax, DWORD PTR _it$144888[ebp]
  0000c	50		 push	 eax
  0000d	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00010	e8 00 00 00 00	 call	 ?begin@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@XZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::begin

; 627  :         it != m_TestPatterns.end();

  00015	eb 08		 jmp	 SHORT $LN3@UnloadTest
$LN2@UnloadTest:

; 628  :         ++it)

  00017	8d 4d f8	 lea	 ecx, DWORD PTR _it$144888[ebp]
  0001a	e8 00 00 00 00	 call	 ??E?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEAAV01@XZ ; std::_Vector_iterator<CTestPattern *,std::allocator<CTestPattern *> >::operator++
$LN3@UnloadTest:
  0001f	8d 4d f0	 lea	 ecx, DWORD PTR $T327371[ebp]
  00022	51		 push	 ecx
  00023	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00026	e8 00 00 00 00	 call	 ?end@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@XZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::end
  0002b	50		 push	 eax
  0002c	8d 4d f8	 lea	 ecx, DWORD PTR _it$144888[ebp]
  0002f	e8 00 00 00 00	 call	 ??9?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<CTestPattern *,std::allocator<CTestPattern *> >::operator!=
  00034	0f b6 d0	 movzx	 edx, al
  00037	85 d2		 test	 edx, edx
  00039	74 31		 je	 SHORT $LN1@UnloadTest

; 629  :     {
; 630  :         delete *it;

  0003b	8d 4d f8	 lea	 ecx, DWORD PTR _it$144888[ebp]
  0003e	e8 00 00 00 00	 call	 ??D?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEAAPAVCTestPattern@@XZ ; std::_Vector_iterator<CTestPattern *,std::allocator<CTestPattern *> >::operator*
  00043	8b 00		 mov	 eax, DWORD PTR [eax]
  00045	89 45 e8	 mov	 DWORD PTR $T327373[ebp], eax
  00048	8b 4d e8	 mov	 ecx, DWORD PTR $T327373[ebp]
  0004b	89 4d ec	 mov	 DWORD PTR $T327372[ebp], ecx
  0004e	83 7d ec 00	 cmp	 DWORD PTR $T327372[ebp], 0
  00052	74 0f		 je	 SHORT $LN6@UnloadTest
  00054	6a 01		 push	 1
  00056	8b 4d ec	 mov	 ecx, DWORD PTR $T327372[ebp]
  00059	e8 00 00 00 00	 call	 ??_GCTestPattern@@QAEPAXI@Z
  0005e	89 45 d8	 mov	 DWORD PTR tv89[ebp], eax
  00061	eb 07		 jmp	 SHORT $LN7@UnloadTest
$LN6@UnloadTest:
  00063	c7 45 d8 00 00
	00 00		 mov	 DWORD PTR tv89[ebp], 0
$LN7@UnloadTest:

; 631  :     }

  0006a	eb ab		 jmp	 SHORT $LN2@UnloadTest
$LN1@UnloadTest:

; 632  :     m_TestPatterns.clear();

  0006c	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  0006f	e8 00 00 00 00	 call	 ?clear@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEXXZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::clear

; 633  :     delete m_YUVRangePat;

  00074	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  00077	8b 42 6c	 mov	 eax, DWORD PTR [edx+108]
  0007a	89 45 e0	 mov	 DWORD PTR $T327377[ebp], eax
  0007d	8b 4d e0	 mov	 ecx, DWORD PTR $T327377[ebp]
  00080	89 4d e4	 mov	 DWORD PTR $T327376[ebp], ecx
  00083	83 7d e4 00	 cmp	 DWORD PTR $T327376[ebp], 0
  00087	74 0f		 je	 SHORT $LN8@UnloadTest
  00089	6a 01		 push	 1
  0008b	8b 4d e4	 mov	 ecx, DWORD PTR $T327376[ebp]
  0008e	e8 00 00 00 00	 call	 ??_GCTestPattern@@QAEPAXI@Z
  00093	89 45 d4	 mov	 DWORD PTR tv128[ebp], eax
  00096	eb 07		 jmp	 SHORT $LN9@UnloadTest
$LN8@UnloadTest:
  00098	c7 45 d4 00 00
	00 00		 mov	 DWORD PTR tv128[ebp], 0
$LN9@UnloadTest:

; 634  :     m_YUVRangePat = NULL;

  0009f	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  000a2	c7 42 6c 00 00
	00 00		 mov	 DWORD PTR [edx+108], 0

; 635  :     m_CurTestPat = NULL;

  000a9	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  000ac	c7 40 18 00 00
	00 00		 mov	 DWORD PTR [eax+24], 0

; 636  :     m_CurSubPat = NULL;

  000b3	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  000b6	c7 41 1c 00 00
	00 00		 mov	 DWORD PTR [ecx+28], 0

; 637  : }

  000bd	8b e5		 mov	 esp, ebp
  000bf	5d		 pop	 ebp
  000c0	c3		 ret	 0
?UnloadTestPatterns@CCalibration@@QAEXXZ ENDP		; CCalibration::UnloadTestPatterns
_TEXT	ENDS
PUBLIC	??1CCalibration@@QAE@XZ				; CCalibration::~CCalibration
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1CCalibration@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1CCalibration@@QAE@XZ$0
__ehfuncinfo$??1CCalibration@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1CCalibration@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??1CCalibration@@QAE@XZ
_TEXT	SEGMENT
tv137 = -76						; size = 4
tv129 = -72						; size = 4
tv89 = -68						; size = 4
tv81 = -64						; size = 4
tv73 = -60						; size = 4
_this$ = -56						; size = 4
$T327399 = -52						; size = 4
$T327398 = -48						; size = 4
$T327395 = -44						; size = 4
$T327394 = -40						; size = 4
$T327391 = -36						; size = 4
$T327390 = -32						; size = 4
$T327387 = -28						; size = 4
$T327386 = -24						; size = 4
$T327383 = -20						; size = 4
$T327382 = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1CCalibration@@QAE@XZ PROC				; CCalibration::~CCalibration, COMDAT
; _this$ = ecx

; 534  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??1CCalibration@@QAE@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 40	 sub	 esp, 64			; 00000040H
  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 c8	 mov	 DWORD PTR _this$[ebp], ecx
  00028	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 535  :     UnloadTestPatterns();

  0002f	8b 4d c8	 mov	 ecx, DWORD PTR _this$[ebp]
  00032	e8 00 00 00 00	 call	 ?UnloadTestPatterns@CCalibration@@QAEXXZ ; CCalibration::UnloadTestPatterns

; 536  : 
; 537  :     if (m_Brightness != NULL)

  00037	8b 45 c8	 mov	 eax, DWORD PTR _this$[ebp]
  0003a	83 78 28 00	 cmp	 DWORD PTR [eax+40], 0
  0003e	74 2b		 je	 SHORT $LN5@CCalibrati

; 538  :         delete m_Brightness;

  00040	8b 4d c8	 mov	 ecx, DWORD PTR _this$[ebp]
  00043	8b 51 28	 mov	 edx, DWORD PTR [ecx+40]
  00046	89 55 ec	 mov	 DWORD PTR $T327383[ebp], edx
  00049	8b 45 ec	 mov	 eax, DWORD PTR $T327383[ebp]
  0004c	89 45 f0	 mov	 DWORD PTR $T327382[ebp], eax
  0004f	83 7d f0 00	 cmp	 DWORD PTR $T327382[ebp], 0
  00053	74 0f		 je	 SHORT $LN8@CCalibrati
  00055	6a 01		 push	 1
  00057	8b 4d f0	 mov	 ecx, DWORD PTR $T327382[ebp]
  0005a	e8 00 00 00 00	 call	 ??_GCCalSetting@@QAEPAXI@Z
  0005f	89 45 c4	 mov	 DWORD PTR tv73[ebp], eax
  00062	eb 07		 jmp	 SHORT $LN5@CCalibrati
$LN8@CCalibrati:
  00064	c7 45 c4 00 00
	00 00		 mov	 DWORD PTR tv73[ebp], 0
$LN5@CCalibrati:

; 539  :     if (m_Contrast != NULL)

  0006b	8b 4d c8	 mov	 ecx, DWORD PTR _this$[ebp]
  0006e	83 79 2c 00	 cmp	 DWORD PTR [ecx+44], 0
  00072	74 2b		 je	 SHORT $LN4@CCalibrati

; 540  :         delete m_Contrast;

  00074	8b 55 c8	 mov	 edx, DWORD PTR _this$[ebp]
  00077	8b 42 2c	 mov	 eax, DWORD PTR [edx+44]
  0007a	89 45 e4	 mov	 DWORD PTR $T327387[ebp], eax
  0007d	8b 4d e4	 mov	 ecx, DWORD PTR $T327387[ebp]
  00080	89 4d e8	 mov	 DWORD PTR $T327386[ebp], ecx
  00083	83 7d e8 00	 cmp	 DWORD PTR $T327386[ebp], 0
  00087	74 0f		 je	 SHORT $LN10@CCalibrati
  00089	6a 01		 push	 1
  0008b	8b 4d e8	 mov	 ecx, DWORD PTR $T327386[ebp]
  0008e	e8 00 00 00 00	 call	 ??_GCCalSetting@@QAEPAXI@Z
  00093	89 45 c0	 mov	 DWORD PTR tv81[ebp], eax
  00096	eb 07		 jmp	 SHORT $LN4@CCalibrati
$LN10@CCalibrati:
  00098	c7 45 c0 00 00
	00 00		 mov	 DWORD PTR tv81[ebp], 0
$LN4@CCalibrati:

; 541  :     if (m_Saturation_U != NULL)

  0009f	8b 55 c8	 mov	 edx, DWORD PTR _this$[ebp]
  000a2	83 7a 30 00	 cmp	 DWORD PTR [edx+48], 0
  000a6	74 2b		 je	 SHORT $LN3@CCalibrati

; 542  :         delete m_Saturation_U;

  000a8	8b 45 c8	 mov	 eax, DWORD PTR _this$[ebp]
  000ab	8b 48 30	 mov	 ecx, DWORD PTR [eax+48]
  000ae	89 4d dc	 mov	 DWORD PTR $T327391[ebp], ecx
  000b1	8b 55 dc	 mov	 edx, DWORD PTR $T327391[ebp]
  000b4	89 55 e0	 mov	 DWORD PTR $T327390[ebp], edx
  000b7	83 7d e0 00	 cmp	 DWORD PTR $T327390[ebp], 0
  000bb	74 0f		 je	 SHORT $LN12@CCalibrati
  000bd	6a 01		 push	 1
  000bf	8b 4d e0	 mov	 ecx, DWORD PTR $T327390[ebp]
  000c2	e8 00 00 00 00	 call	 ??_GCCalSetting@@QAEPAXI@Z
  000c7	89 45 bc	 mov	 DWORD PTR tv89[ebp], eax
  000ca	eb 07		 jmp	 SHORT $LN3@CCalibrati
$LN12@CCalibrati:
  000cc	c7 45 bc 00 00
	00 00		 mov	 DWORD PTR tv89[ebp], 0
$LN3@CCalibrati:

; 543  :     if (m_Saturation_V != NULL)

  000d3	8b 45 c8	 mov	 eax, DWORD PTR _this$[ebp]
  000d6	83 78 34 00	 cmp	 DWORD PTR [eax+52], 0
  000da	74 2b		 je	 SHORT $LN2@CCalibrati

; 544  :         delete m_Saturation_V;

  000dc	8b 4d c8	 mov	 ecx, DWORD PTR _this$[ebp]
  000df	8b 51 34	 mov	 edx, DWORD PTR [ecx+52]
  000e2	89 55 d4	 mov	 DWORD PTR $T327395[ebp], edx
  000e5	8b 45 d4	 mov	 eax, DWORD PTR $T327395[ebp]
  000e8	89 45 d8	 mov	 DWORD PTR $T327394[ebp], eax
  000eb	83 7d d8 00	 cmp	 DWORD PTR $T327394[ebp], 0
  000ef	74 0f		 je	 SHORT $LN14@CCalibrati
  000f1	6a 01		 push	 1
  000f3	8b 4d d8	 mov	 ecx, DWORD PTR $T327394[ebp]
  000f6	e8 00 00 00 00	 call	 ??_GCCalSetting@@QAEPAXI@Z
  000fb	89 45 b8	 mov	 DWORD PTR tv129[ebp], eax
  000fe	eb 07		 jmp	 SHORT $LN2@CCalibrati
$LN14@CCalibrati:
  00100	c7 45 b8 00 00
	00 00		 mov	 DWORD PTR tv129[ebp], 0
$LN2@CCalibrati:

; 545  :     if (m_Hue != NULL)

  00107	8b 4d c8	 mov	 ecx, DWORD PTR _this$[ebp]
  0010a	83 79 38 00	 cmp	 DWORD PTR [ecx+56], 0
  0010e	74 2b		 je	 SHORT $LN6@CCalibrati

; 546  :         delete m_Hue;

  00110	8b 55 c8	 mov	 edx, DWORD PTR _this$[ebp]
  00113	8b 42 38	 mov	 eax, DWORD PTR [edx+56]
  00116	89 45 cc	 mov	 DWORD PTR $T327399[ebp], eax
  00119	8b 4d cc	 mov	 ecx, DWORD PTR $T327399[ebp]
  0011c	89 4d d0	 mov	 DWORD PTR $T327398[ebp], ecx
  0011f	83 7d d0 00	 cmp	 DWORD PTR $T327398[ebp], 0
  00123	74 0f		 je	 SHORT $LN16@CCalibrati
  00125	6a 01		 push	 1
  00127	8b 4d d0	 mov	 ecx, DWORD PTR $T327398[ebp]
  0012a	e8 00 00 00 00	 call	 ??_GCCalSetting@@QAEPAXI@Z
  0012f	89 45 b4	 mov	 DWORD PTR tv137[ebp], eax
  00132	eb 07		 jmp	 SHORT $LN6@CCalibrati
$LN16@CCalibrati:
  00134	c7 45 b4 00 00
	00 00		 mov	 DWORD PTR tv137[ebp], 0
$LN6@CCalibrati:

; 547  : }

  0013b	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00142	8b 4d c8	 mov	 ecx, DWORD PTR _this$[ebp]
  00145	e8 00 00 00 00	 call	 ??1?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@XZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::~vector<CTestPattern *,std::allocator<CTestPattern *> >
  0014a	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0014d	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00154	59		 pop	 ecx
  00155	8b e5		 mov	 esp, ebp
  00157	5d		 pop	 ebp
  00158	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1CCalibration@@QAE@XZ$0:
  00000	8b 4d c8	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@XZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::~vector<CTestPattern *,std::allocator<CTestPattern *> >
__ehhandler$??1CCalibration@@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 bc	 mov	 ecx, DWORD PTR [edx-68]
  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$??1CCalibration@@QAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1CCalibration@@QAE@XZ ENDP				; CCalibration::~CCalibration
; Function compile flags: /Odtp
;	COMDAT ??_GCCalibration@@QAEPAXI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___flags$ = 8						; size = 4
??_GCCalibration@@QAEPAXI@Z PROC			; CCalibration::`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	 ??1CCalibration@@QAE@XZ	; CCalibration::~CCalibration
  0000f	8b 45 08	 mov	 eax, DWORD PTR ___flags$[ebp]
  00012	83 e0 01	 and	 eax, 1
  00015	74 0c		 je	 SHORT $LN1@scalar@288
  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@288:
  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
??_GCCalibration@@QAEPAXI@Z ENDP			; CCalibration::`scalar deleting destructor'
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\smartptr.h
_TEXT	ENDS
;	COMDAT ?Clear@?$SmartPtr@VCCalibration@@@@QAEXXZ
_TEXT	SEGMENT
tv82 = -20						; size = 4
_this$ = -16						; size = 4
$T330171 = -12						; size = 4
$T330170 = -8						; size = 4
$T330169 = -4						; size = 4
?Clear@?$SmartPtr@VCCalibration@@@@QAEXXZ PROC		; SmartPtr<CCalibration>::Clear, COMDAT
; _this$ = ecx

; 240  :     {

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

; 241  :         if (counter)

  00009	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	83 78 04 00	 cmp	 DWORD PTR [eax+4], 0
  00010	74 5d		 je	 SHORT $LN2@Clear@246

; 242  :         {
; 243  :             (counter->count)--;

  00012	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00015	8b 51 04	 mov	 edx, DWORD PTR [ecx+4]
  00018	8b 02		 mov	 eax, DWORD PTR [edx]
  0001a	83 e8 01	 sub	 eax, 1
  0001d	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00020	8b 51 04	 mov	 edx, DWORD PTR [ecx+4]
  00023	89 02		 mov	 DWORD PTR [edx], eax

; 244  : 
; 245  :             if (counter->count == 0)

  00025	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  00028	8b 48 04	 mov	 ecx, DWORD PTR [eax+4]
  0002b	83 39 00	 cmp	 DWORD PTR [ecx], 0
  0002e	75 3f		 jne	 SHORT $LN2@Clear@246

; 246  :             {
; 247  :                 delete counter;

  00030	8b 55 f0	 mov	 edx, DWORD PTR _this$[ebp]
  00033	8b 42 04	 mov	 eax, DWORD PTR [edx+4]
  00036	89 45 fc	 mov	 DWORD PTR $T330169[ebp], eax
  00039	8b 4d fc	 mov	 ecx, DWORD PTR $T330169[ebp]
  0003c	51		 push	 ecx
  0003d	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00042	83 c4 04	 add	 esp, 4

; 248  :                 delete rawPtr;

  00045	8b 55 f0	 mov	 edx, DWORD PTR _this$[ebp]
  00048	8b 02		 mov	 eax, DWORD PTR [edx]
  0004a	89 45 f4	 mov	 DWORD PTR $T330171[ebp], eax
  0004d	8b 4d f4	 mov	 ecx, DWORD PTR $T330171[ebp]
  00050	89 4d f8	 mov	 DWORD PTR $T330170[ebp], ecx
  00053	83 7d f8 00	 cmp	 DWORD PTR $T330170[ebp], 0
  00057	74 0f		 je	 SHORT $LN5@Clear@246
  00059	6a 01		 push	 1
  0005b	8b 4d f8	 mov	 ecx, DWORD PTR $T330170[ebp]
  0005e	e8 00 00 00 00	 call	 ??_GCCalibration@@QAEPAXI@Z
  00063	89 45 ec	 mov	 DWORD PTR tv82[ebp], eax
  00066	eb 07		 jmp	 SHORT $LN2@Clear@246
$LN5@Clear@246:
  00068	c7 45 ec 00 00
	00 00		 mov	 DWORD PTR tv82[ebp], 0
$LN2@Clear@246:

; 249  :             }
; 250  :         }
; 251  :         counter = 0;

  0006f	8b 55 f0	 mov	 edx, DWORD PTR _this$[ebp]
  00072	c7 42 04 00 00
	00 00		 mov	 DWORD PTR [edx+4], 0

; 252  :         rawPtr = 0;

  00079	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  0007c	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], 0

; 253  :     }

  00082	8b e5		 mov	 esp, ebp
  00084	5d		 pop	 ebp
  00085	c3		 ret	 0
?Clear@?$SmartPtr@VCCalibration@@@@QAEXXZ ENDP		; SmartPtr<CCalibration>::Clear
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??1?$SmartPtr@VCCalibration@@@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??1?$SmartPtr@VCCalibration@@@@QAE@XZ PROC		; SmartPtr<CCalibration>::~SmartPtr<CCalibration>, COMDAT
; _this$ = ecx

; 105  :     {

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

; 106  :         Clear();

  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	e8 00 00 00 00	 call	 ?Clear@?$SmartPtr@VCCalibration@@@@QAEXXZ ; SmartPtr<CCalibration>::Clear

; 107  :     }

  0000f	8b e5		 mov	 esp, ebp
  00011	5d		 pop	 ebp
  00012	c3		 ret	 0
??1?$SmartPtr@VCCalibration@@@@QAE@XZ ENDP		; SmartPtr<CCalibration>::~SmartPtr<CCalibration>
_TEXT	ENDS
PUBLIC	__$ArrayPad$
PUBLIC	?UpdateMenu@CCalibration@@QAEXPAUHMENU__@@@Z	; CCalibration::UpdateMenu
;	COMDAT xdata$x
; File c:\develop\dscaler423a\dscaler\calibration.cpp
xdata$x	SEGMENT
__unwindtable$?UpdateMenu@CCalibration@@QAEXPAUHMENU__@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?UpdateMenu@CCalibration@@QAEXPAUHMENU__@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?UpdateMenu@CCalibration@@QAEXPAUHMENU__@@@Z$1
__ehfuncinfo$?UpdateMenu@CCalibration@@QAEXPAUHMENU__@@@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$?UpdateMenu@CCalibration@@QAEXPAUHMENU__@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?UpdateMenu@CCalibration@@QAEXPAUHMENU__@@@Z
_TEXT	SEGMENT
tv144 = -152						; size = 4
tv65 = -148						; size = 4
_this$ = -144						; size = 4
$T330180 = -140						; size = 28
$T330179 = -112						; size = 8
_it$144932 = -104					; size = 8
_hMenuPatterns$ = -96					; size = 4
_MenuItemInfo$ = -92					; size = 44
_name$ = -48						; size = 28
__$ArrayPad$ = -20					; size = 4
_i$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
_hMenu$ = 8						; size = 4
?UpdateMenu@CCalibration@@QAEXPAUHMENU__@@@Z PROC	; CCalibration::UpdateMenu, COMDAT
; _this$ = ecx

; 657  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?UpdateMenu@CCalibration@@QAEXPAUHMENU__@@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	81 ec 8c 00 00
	00		 sub	 esp, 140		; 0000008cH
  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001c	33 c5		 xor	 eax, ebp
  0001e	89 45 ec	 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 ff ff
	ff		 mov	 DWORD PTR _this$[ebp], ecx

; 658  :     HMENU           hMenuPatterns;
; 659  :     MENUITEMINFO    MenuItemInfo;
; 660  :     int             i;
; 661  :     tstring          name;

  00031	8d 4d d0	 lea	 ecx, DWORD PTR _name$[ebp]
  00034	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> >
  00039	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 662  : 
; 663  :     hMenuPatterns = GetPatternsSubmenu();

  00040	e8 00 00 00 00	 call	 ?GetPatternsSubmenu@@YAPAUHMENU__@@XZ ; GetPatternsSubmenu
  00045	89 45 a0	 mov	 DWORD PTR _hMenuPatterns$[ebp], eax

; 664  :     if (hMenuPatterns == NULL) return;

  00048	83 7d a0 00	 cmp	 DWORD PTR _hMenuPatterns$[ebp], 0
  0004c	75 14		 jne	 SHORT $LN4@UpdateMenu
  0004e	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00055	8d 4d d0	 lea	 ecx, DWORD PTR _name$[ebp]
  00058	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> >
  0005d	e9 f7 00 00 00	 jmp	 $LN5@UpdateMenu
$LN4@UpdateMenu:

; 665  : 
; 666  :     i = 0;

  00062	c7 45 f0 00 00
	00 00		 mov	 DWORD PTR _i$[ebp], 0

; 667  :     for(vector<CTestPattern*>::iterator it = m_TestPatterns.begin();

  00069	8d 45 98	 lea	 eax, DWORD PTR _it$144932[ebp]
  0006c	50		 push	 eax
  0006d	8b 8d 70 ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00073	e8 00 00 00 00	 call	 ?begin@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@XZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::begin

; 668  :         it != m_TestPatterns.end();

  00078	eb 11		 jmp	 SHORT $LN3@UpdateMenu
$LN2@UpdateMenu:

; 669  :         ++it, ++i)

  0007a	8d 4d 98	 lea	 ecx, DWORD PTR _it$144932[ebp]
  0007d	e8 00 00 00 00	 call	 ??E?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEAAV01@XZ ; std::_Vector_iterator<CTestPattern *,std::allocator<CTestPattern *> >::operator++
  00082	8b 4d f0	 mov	 ecx, DWORD PTR _i$[ebp]
  00085	83 c1 01	 add	 ecx, 1
  00088	89 4d f0	 mov	 DWORD PTR _i$[ebp], ecx
$LN3@UpdateMenu:
  0008b	8d 55 90	 lea	 edx, DWORD PTR $T330179[ebp]
  0008e	52		 push	 edx
  0008f	8b 8d 70 ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00095	e8 00 00 00 00	 call	 ?end@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@XZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::end
  0009a	50		 push	 eax
  0009b	8d 4d 98	 lea	 ecx, DWORD PTR _it$144932[ebp]
  0009e	e8 00 00 00 00	 call	 ??9?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<CTestPattern *,std::allocator<CTestPattern *> >::operator!=
  000a3	0f b6 c0	 movzx	 eax, al
  000a6	85 c0		 test	 eax, eax
  000a8	0f 84 9c 00 00
	00		 je	 $LN1@UpdateMenu

; 670  :     {
; 671  :         name = (*it)->GetName();

  000ae	8d 8d 74 ff ff
	ff		 lea	 ecx, DWORD PTR $T330180[ebp]
  000b4	51		 push	 ecx
  000b5	8d 4d 98	 lea	 ecx, DWORD PTR _it$144932[ebp]
  000b8	e8 00 00 00 00	 call	 ??D?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEAAPAVCTestPattern@@XZ ; std::_Vector_iterator<CTestPattern *,std::allocator<CTestPattern *> >::operator*
  000bd	8b 08		 mov	 ecx, DWORD PTR [eax]
  000bf	e8 00 00 00 00	 call	 ?GetName@CTestPattern@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ ; CTestPattern::GetName
  000c4	89 85 6c ff ff
	ff		 mov	 DWORD PTR tv65[ebp], eax
  000ca	8b 95 6c ff ff
	ff		 mov	 edx, DWORD PTR tv65[ebp]
  000d0	89 95 68 ff ff
	ff		 mov	 DWORD PTR tv144[ebp], edx
  000d6	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  000da	8b 85 68 ff ff
	ff		 mov	 eax, DWORD PTR tv144[ebp]
  000e0	50		 push	 eax
  000e1	8d 4d d0	 lea	 ecx, DWORD PTR _name$[ebp]
  000e4	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=
  000e9	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  000ed	8d 8d 74 ff ff
	ff		 lea	 ecx, DWORD PTR $T330180[ebp]
  000f3	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> >

; 672  : 
; 673  :         MenuItemInfo.cbSize = sizeof (MenuItemInfo);

  000f8	c7 45 a4 2c 00
	00 00		 mov	 DWORD PTR _MenuItemInfo$[ebp], 44 ; 0000002cH

; 674  :         MenuItemInfo.fType = MFT_STRING;

  000ff	c7 45 ac 00 00
	00 00		 mov	 DWORD PTR _MenuItemInfo$[ebp+8], 0

; 675  :         MenuItemInfo.dwTypeData = &name[0];

  00106	6a 00		 push	 0
  00108	8d 4d d0	 lea	 ecx, DWORD PTR _name$[ebp]
  0010b	e8 00 00 00 00	 call	 ??A?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAA_WI@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::operator[]
  00110	89 45 c8	 mov	 DWORD PTR _MenuItemInfo$[ebp+36], eax

; 676  :         MenuItemInfo.cch = name.length();

  00113	8d 4d d0	 lea	 ecx, DWORD PTR _name$[ebp]
  00116	e8 00 00 00 00	 call	 ?length@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIXZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::length
  0011b	89 45 cc	 mov	 DWORD PTR _MenuItemInfo$[ebp+40], eax

; 677  : 
; 678  :         MenuItemInfo.fMask = MIIM_TYPE | MIIM_ID;

  0011e	c7 45 a8 12 00
	00 00		 mov	 DWORD PTR _MenuItemInfo$[ebp+4], 18 ; 00000012H

; 679  :         MenuItemInfo.wID = IDM_PATTERN_SELECT + i + 1;

  00125	8b 4d f0	 mov	 ecx, DWORD PTR _i$[ebp]
  00128	81 c1 fb 07 00
	00		 add	 ecx, 2043		; 000007fbH
  0012e	89 4d b4	 mov	 DWORD PTR _MenuItemInfo$[ebp+16], ecx

; 680  :         InsertMenuItem(hMenuPatterns, i, TRUE, &MenuItemInfo);

  00131	8d 55 a4	 lea	 edx, DWORD PTR _MenuItemInfo$[ebp]
  00134	52		 push	 edx
  00135	6a 01		 push	 1
  00137	8b 45 f0	 mov	 eax, DWORD PTR _i$[ebp]
  0013a	50		 push	 eax
  0013b	8b 4d a0	 mov	 ecx, DWORD PTR _hMenuPatterns$[ebp]
  0013e	51		 push	 ecx
  0013f	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__InsertMenuItemW@16

; 681  :     }

  00145	e9 30 ff ff ff	 jmp	 $LN2@UpdateMenu
$LN1@UpdateMenu:

; 682  : }

  0014a	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00151	8d 4d d0	 lea	 ecx, DWORD PTR _name$[ebp]
  00154	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> >
$LN5@UpdateMenu:
  00159	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0015c	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00163	59		 pop	 ecx
  00164	8b 4d ec	 mov	 ecx, DWORD PTR __$ArrayPad$[ebp]
  00167	33 cd		 xor	 ecx, ebp
  00169	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0016e	8b e5		 mov	 esp, ebp
  00170	5d		 pop	 ebp
  00171	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?UpdateMenu@CCalibration@@QAEXPAUHMENU__@@@Z$0:
  00000	8d 4d d0	 lea	 ecx, DWORD PTR _name$[ebp]
  00003	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$?UpdateMenu@CCalibration@@QAEXPAUHMENU__@@@Z$1:
  00008	8d 8d 74 ff ff
	ff		 lea	 ecx, DWORD PTR $T330180[ebp]
  0000e	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$?UpdateMenu@CCalibration@@QAEXPAUHMENU__@@@Z:
  00013	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00017	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0001a	8b 8a 70 ff ff
	ff		 mov	 ecx, DWORD PTR [edx-144]
  00020	33 c8		 xor	 ecx, eax
  00022	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00027	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  0002a	33 c8		 xor	 ecx, eax
  0002c	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00031	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?UpdateMenu@CCalibration@@QAEXPAUHMENU__@@@Z
  00036	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?UpdateMenu@CCalibration@@QAEXPAUHMENU__@@@Z ENDP	; CCalibration::UpdateMenu
;	COMDAT xdata$x
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
xdata$x	SEGMENT
__unwindtable$?_Xlen@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@KAXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?_Xlen@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@KAXXZ$0
__ehfuncinfo$?_Xlen@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@KAXXZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?_Xlen@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@KAXXZ
_TEXT	SEGMENT
$T339739 = -80						; size = 28
$T339738 = -52						; size = 40
__$EHRec$ = -12						; size = 12
?_Xlen@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@KAXXZ PROC ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@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 $T339739[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 $T339739[ebp]
  0003c	50		 push	 eax
  0003d	8d 4d cc	 lea	 ecx, DWORD PTR $T339738[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 $T339738[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 $T339739[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@41:

; 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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@KAXXZ$0:
  00000	8d 4d b0	 lea	 ecx, DWORD PTR $T339739[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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@KAXXZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?_Xlen@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@KAXXZ ENDP ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_Xlen
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?_Xlen@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@KAXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?_Xlen@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@KAXXZ$0
__ehfuncinfo$?_Xlen@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@KAXXZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?_Xlen@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@KAXXZ
_TEXT	SEGMENT
$T339750 = -80						; size = 28
$T339749 = -52						; size = 40
__$EHRec$ = -12						; size = 12
?_Xlen@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@KAXXZ PROC ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@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 $T339750[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 $T339750[ebp]
  0003c	50		 push	 eax
  0003d	8d 4d cc	 lea	 ecx, DWORD PTR $T339749[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 $T339749[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 $T339750[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@42:

; 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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@KAXXZ$0:
  00000	8d 4d b0	 lea	 ecx, DWORD PTR $T339750[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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@KAXXZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?_Xlen@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@KAXXZ ENDP ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_Xlen
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?_Insert_n@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@IABQAVCTestPattern@@@Z DD 0ffffffffH
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	0ffffffffH
	DD	00H
__catchsym$?_Insert_n@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@IABQAVCTestPattern@@@Z$4 DD 00H
	DD	00H
	DD	00H
	DD	FLAT:__catch$?_Insert_n@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@IABQAVCTestPattern@@@Z$0
__catchsym$?_Insert_n@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@IABQAVCTestPattern@@@Z$5 DD 00H
	DD	00H
	DD	00H
	DD	FLAT:__catch$?_Insert_n@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@IABQAVCTestPattern@@@Z$2
__tryblocktable$?_Insert_n@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@IABQAVCTestPattern@@@Z DD 00H
	DD	00H
	DD	01H
	DD	01H
	DD	FLAT:__catchsym$?_Insert_n@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@IABQAVCTestPattern@@@Z$4
	DD	02H
	DD	02H
	DD	03H
	DD	01H
	DD	FLAT:__catchsym$?_Insert_n@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@IABQAVCTestPattern@@@Z$5
__ehfuncinfo$?_Insert_n@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@IABQAVCTestPattern@@@Z DD 019930522H
	DD	04H
	DD	FLAT:__unwindtable$?_Insert_n@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@IABQAVCTestPattern@@@Z
	DD	02H
	DD	FLAT:__tryblocktable$?_Insert_n@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@IABQAVCTestPattern@@@Z
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?_Insert_n@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@IABQAVCTestPattern@@@Z
_TEXT	SEGMENT
tv84 = -48						; size = 4
_this$ = -44						; size = 4
__Tmp$145858 = -40					; size = 4
__Oldend$145859 = -36					; size = 4
__Tmp$145848 = -32					; size = 4
__Newvec$145836 = -28					; size = 4
__Ptr$145837 = -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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@IABQAVCTestPattern@@@Z PROC ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@IABQAVCTestPattern@@@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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEIXZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::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@30
  00040	e9 ea 02 00 00	 jmp	 $LN14@Insert_n@30
$LN12@Insert_n@30:

; 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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEIXZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEIXZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::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@30

; 1171 : 			_Xlen();	// result too long

  0005e	e8 00 00 00 00	 call	 ?_Xlen@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@KAXXZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_Xlen
  00063	e9 c7 02 00 00	 jmp	 $LN14@Insert_n@30
$LN10@Insert_n@30:

; 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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEIXZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::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@30

; 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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEIXZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::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@30
  00090	c7 45 d0 00 00
	00 00		 mov	 DWORD PTR tv84[ebp], 0
  00097	eb 0b		 jmp	 SHORT $LN16@Insert_n@30
$LN15@Insert_n@30:
  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@30:
  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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEIXZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::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@30

; 1177 : 				_Capacity = size() + _Count;

  000ba	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  000bd	e8 00 00 00 00	 call	 ?size@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEIXZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::size
  000c2	03 45 10	 add	 eax, DWORD PTR __Count$[ebp]
  000c5	89 45 ec	 mov	 DWORD PTR __Capacity$[ebp], eax
$LN7@Insert_n@30:

; 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@PAVCTestPattern@@@std@@QAEPAPAVCTestPattern@@I@Z ; std::allocator<CTestPattern *>::allocate
  000d7	89 45 e4	 mov	 DWORD PTR __Newvec$145836[ebp], eax

; 1179 : 			pointer _Ptr = _Newvec;

  000da	8b 55 e4	 mov	 edx, DWORD PTR __Newvec$145836[ebp]
  000dd	89 55 e8	 mov	 DWORD PTR __Ptr$145837[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$145836[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@PAPAVCTestPattern@@@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEPAPAVCTestPattern@@PAPAV2@00@Z ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_Umove<CTestPattern * *>
  000fe	89 45 e8	 mov	 DWORD PTR __Ptr$145837[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$145837[ebp]
  0010c	50		 push	 eax
  0010d	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  00110	e8 00 00 00 00	 call	 ?_Ufill@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEPAPAVCTestPattern@@PAPAV3@IABQAV3@@Z ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_Ufill
  00115	89 45 e8	 mov	 DWORD PTR __Ptr$145837[ebp], eax

; 1185 : 			_Umove(_VEC_ITER_BASE(_Where), _Mylast, _Ptr);	// copy suffix

  00118	8b 4d e8	 mov	 ecx, DWORD PTR __Ptr$145837[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@PAPAVCTestPattern@@@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEPAPAVCTestPattern@@PAPAV2@00@Z ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_Umove<CTestPattern * *>
  0012f	eb 39		 jmp	 SHORT $LN17@Insert_n@30
__catch$?_Insert_n@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@IABQAVCTestPattern@@@Z$0:

; 1186 : 			_CATCH_ALL
; 1187 : 			_Destroy(_Newvec, _Ptr);

  00131	8b 55 e8	 mov	 edx, DWORD PTR __Ptr$145837[ebp]
  00134	52		 push	 edx
  00135	8b 45 e4	 mov	 eax, DWORD PTR __Newvec$145836[ebp]
  00138	50		 push	 eax
  00139	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  0013c	e8 00 00 00 00	 call	 ?_Destroy@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXPAPAVCTestPattern@@0@Z ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_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$145836[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@PAVCTestPattern@@@std@@QAEXPAPAVCTestPattern@@I@Z ; std::allocator<CTestPattern *>::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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@IABQAVCTestPattern@@@Z$1
  00169	c3		 ret	 0
$LN17@Insert_n@30:
  0016a	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
__tryend$?_Insert_n@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@IABQAVCTestPattern@@@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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEIXZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::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@30

; 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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXPAPAVCTestPattern@@0@Z ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_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@PAVCTestPattern@@@std@@QAEXPAPAVCTestPattern@@I@Z ; std::allocator<CTestPattern *>::deallocate
$LN5@Insert_n@30:

; 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$145836[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$145836[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$145836[ebp]
  001e4	89 48 0c	 mov	 DWORD PTR [eax+12], ecx
  001e7	e9 43 01 00 00	 jmp	 $LN14@Insert_n@30
$LN8@Insert_n@30:

; 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@30

; 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$145848[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@PAPAVCTestPattern@@@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEPAPAVCTestPattern@@PAPAV2@00@Z ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_Umove<CTestPattern * *>

; 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$145848[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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEPAPAVCTestPattern@@PAPAV3@IABQAV3@@Z ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_Ufill
  00252	eb 35		 jmp	 SHORT $LN19@Insert_n@30
__catch$?_Insert_n@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@IABQAVCTestPattern@@@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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXPAPAVCTestPattern@@0@Z ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@IABQAVCTestPattern@@@Z$3
  00288	c3		 ret	 0
$LN19@Insert_n@30:
  00289	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
__tryend$?_Insert_n@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@IABQAVCTestPattern@@@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$145848[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@PAPAVCTestPattern@@PAV1@@std@@YAXPAPAVCTestPattern@@0ABQAV1@@Z ; std::fill<CTestPattern * *,CTestPattern *>
  002be	83 c4 0c	 add	 esp, 12			; 0000000cH

; 1230 : 			}
; 1231 : 		else

  002c1	eb 6c		 jmp	 SHORT $LN14@Insert_n@30
$LN3@Insert_n@30:

; 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$145858[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$145859[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$145859[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$145859[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@PAPAVCTestPattern@@@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEPAPAVCTestPattern@@PAPAV2@00@Z ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_Umove<CTestPattern * *>
  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$145859[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$145859[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@PAPAVCTestPattern@@PAPAV1@@stdext@@YAPAPAVCTestPattern@@PAPAV1@00@Z ; stdext::_Unchecked_move_backward<CTestPattern * *,CTestPattern * *>
  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$145858[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@PAPAVCTestPattern@@PAV1@@std@@YAXPAPAVCTestPattern@@0ABQAV1@@Z ; std::fill<CTestPattern * *,CTestPattern *>
  0032c	83 c4 0c	 add	 esp, 12			; 0000000cH
$LN14@Insert_n@30:

; 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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@IABQAVCTestPattern@@@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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@IABQAVCTestPattern@@@Z
  00016	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?_Insert_n@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@IABQAVCTestPattern@@@Z ENDP ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_Insert_n
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?_Insert_n@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@IABQAVCColorBar@@@Z DD 0ffffffffH
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	0ffffffffH
	DD	00H
__catchsym$?_Insert_n@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@IABQAVCColorBar@@@Z$4 DD 00H
	DD	00H
	DD	00H
	DD	FLAT:__catch$?_Insert_n@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@IABQAVCColorBar@@@Z$0
__catchsym$?_Insert_n@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@IABQAVCColorBar@@@Z$5 DD 00H
	DD	00H
	DD	00H
	DD	FLAT:__catch$?_Insert_n@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@IABQAVCColorBar@@@Z$2
__tryblocktable$?_Insert_n@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@IABQAVCColorBar@@@Z DD 00H
	DD	00H
	DD	01H
	DD	01H
	DD	FLAT:__catchsym$?_Insert_n@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@IABQAVCColorBar@@@Z$4
	DD	02H
	DD	02H
	DD	03H
	DD	01H
	DD	FLAT:__catchsym$?_Insert_n@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@IABQAVCColorBar@@@Z$5
__ehfuncinfo$?_Insert_n@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@IABQAVCColorBar@@@Z DD 019930522H
	DD	04H
	DD	FLAT:__unwindtable$?_Insert_n@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@IABQAVCColorBar@@@Z
	DD	02H
	DD	FLAT:__tryblocktable$?_Insert_n@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@IABQAVCColorBar@@@Z
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?_Insert_n@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@IABQAVCColorBar@@@Z
_TEXT	SEGMENT
tv84 = -48						; size = 4
_this$ = -44						; size = 4
__Tmp$145804 = -40					; size = 4
__Oldend$145805 = -36					; size = 4
__Tmp$145794 = -32					; size = 4
__Newvec$145782 = -28					; size = 4
__Ptr$145783 = -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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@IABQAVCColorBar@@@Z PROC ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@IABQAVCColorBar@@@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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEIXZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::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@31
  00040	e9 ea 02 00 00	 jmp	 $LN14@Insert_n@31
$LN12@Insert_n@31:

; 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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEIXZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEIXZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::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@31

; 1171 : 			_Xlen();	// result too long

  0005e	e8 00 00 00 00	 call	 ?_Xlen@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@KAXXZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_Xlen
  00063	e9 c7 02 00 00	 jmp	 $LN14@Insert_n@31
$LN10@Insert_n@31:

; 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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEIXZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::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@31

; 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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEIXZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::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@31
  00090	c7 45 d0 00 00
	00 00		 mov	 DWORD PTR tv84[ebp], 0
  00097	eb 0b		 jmp	 SHORT $LN16@Insert_n@31
$LN15@Insert_n@31:
  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@31:
  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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEIXZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::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@31

; 1177 : 				_Capacity = size() + _Count;

  000ba	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  000bd	e8 00 00 00 00	 call	 ?size@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEIXZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::size
  000c2	03 45 10	 add	 eax, DWORD PTR __Count$[ebp]
  000c5	89 45 ec	 mov	 DWORD PTR __Capacity$[ebp], eax
$LN7@Insert_n@31:

; 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@PAVCColorBar@@@std@@QAEPAPAVCColorBar@@I@Z ; std::allocator<CColorBar *>::allocate
  000d7	89 45 e4	 mov	 DWORD PTR __Newvec$145782[ebp], eax

; 1179 : 			pointer _Ptr = _Newvec;

  000da	8b 55 e4	 mov	 edx, DWORD PTR __Newvec$145782[ebp]
  000dd	89 55 e8	 mov	 DWORD PTR __Ptr$145783[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$145782[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@PAPAVCColorBar@@@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEPAPAVCColorBar@@PAPAV2@00@Z ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_Umove<CColorBar * *>
  000fe	89 45 e8	 mov	 DWORD PTR __Ptr$145783[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$145783[ebp]
  0010c	50		 push	 eax
  0010d	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  00110	e8 00 00 00 00	 call	 ?_Ufill@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEPAPAVCColorBar@@PAPAV3@IABQAV3@@Z ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_Ufill
  00115	89 45 e8	 mov	 DWORD PTR __Ptr$145783[ebp], eax

; 1185 : 			_Umove(_VEC_ITER_BASE(_Where), _Mylast, _Ptr);	// copy suffix

  00118	8b 4d e8	 mov	 ecx, DWORD PTR __Ptr$145783[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@PAPAVCColorBar@@@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEPAPAVCColorBar@@PAPAV2@00@Z ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_Umove<CColorBar * *>
  0012f	eb 39		 jmp	 SHORT $LN17@Insert_n@31
__catch$?_Insert_n@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@IABQAVCColorBar@@@Z$0:

; 1186 : 			_CATCH_ALL
; 1187 : 			_Destroy(_Newvec, _Ptr);

  00131	8b 55 e8	 mov	 edx, DWORD PTR __Ptr$145783[ebp]
  00134	52		 push	 edx
  00135	8b 45 e4	 mov	 eax, DWORD PTR __Newvec$145782[ebp]
  00138	50		 push	 eax
  00139	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  0013c	e8 00 00 00 00	 call	 ?_Destroy@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXPAPAVCColorBar@@0@Z ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_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$145782[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@PAVCColorBar@@@std@@QAEXPAPAVCColorBar@@I@Z ; std::allocator<CColorBar *>::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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@IABQAVCColorBar@@@Z$1
  00169	c3		 ret	 0
$LN17@Insert_n@31:
  0016a	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
__tryend$?_Insert_n@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@IABQAVCColorBar@@@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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEIXZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::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@31

; 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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXPAPAVCColorBar@@0@Z ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_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@PAVCColorBar@@@std@@QAEXPAPAVCColorBar@@I@Z ; std::allocator<CColorBar *>::deallocate
$LN5@Insert_n@31:

; 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$145782[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$145782[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$145782[ebp]
  001e4	89 48 0c	 mov	 DWORD PTR [eax+12], ecx
  001e7	e9 43 01 00 00	 jmp	 $LN14@Insert_n@31
$LN8@Insert_n@31:

; 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@31

; 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$145794[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@PAPAVCColorBar@@@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEPAPAVCColorBar@@PAPAV2@00@Z ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_Umove<CColorBar * *>

; 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$145794[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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEPAPAVCColorBar@@PAPAV3@IABQAV3@@Z ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_Ufill
  00252	eb 35		 jmp	 SHORT $LN19@Insert_n@31
__catch$?_Insert_n@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@IABQAVCColorBar@@@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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXPAPAVCColorBar@@0@Z ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@IABQAVCColorBar@@@Z$3
  00288	c3		 ret	 0
$LN19@Insert_n@31:
  00289	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
__tryend$?_Insert_n@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@IABQAVCColorBar@@@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$145794[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@PAPAVCColorBar@@PAV1@@std@@YAXPAPAVCColorBar@@0ABQAV1@@Z ; std::fill<CColorBar * *,CColorBar *>
  002be	83 c4 0c	 add	 esp, 12			; 0000000cH

; 1230 : 			}
; 1231 : 		else

  002c1	eb 6c		 jmp	 SHORT $LN14@Insert_n@31
$LN3@Insert_n@31:

; 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$145804[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$145805[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$145805[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$145805[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@PAPAVCColorBar@@@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEPAPAVCColorBar@@PAPAV2@00@Z ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_Umove<CColorBar * *>
  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$145805[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$145805[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@PAPAVCColorBar@@PAPAV1@@stdext@@YAPAPAVCColorBar@@PAPAV1@00@Z ; stdext::_Unchecked_move_backward<CColorBar * *,CColorBar * *>
  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$145804[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@PAPAVCColorBar@@PAV1@@std@@YAXPAPAVCColorBar@@0ABQAV1@@Z ; std::fill<CColorBar * *,CColorBar *>
  0032c	83 c4 0c	 add	 esp, 12			; 0000000cH
$LN14@Insert_n@31:

; 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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@IABQAVCColorBar@@@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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@IABQAVCColorBar@@@Z
  00016	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?_Insert_n@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@IABQAVCColorBar@@@Z ENDP ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_Insert_n
; Function compile flags: /Odtp
;	COMDAT ?_Buy@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAE_NI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Capacity$ = 8						; size = 4
?_Buy@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAE_NI@Z PROC ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_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@39

; 1110 : 			return (false);

  0002b	32 c0		 xor	 al, al
  0002d	eb 4b		 jmp	 SHORT $LN5@Buy@39
  0002f	eb 47		 jmp	 SHORT $LN3@Buy@39
$LN4@Buy@39:

; 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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEIXZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::max_size
  00039	3b 45 08	 cmp	 eax, DWORD PTR __Capacity$[ebp]
  0003c	73 07		 jae	 SHORT $LN2@Buy@39

; 1112 : 			_Xlen();	// result too long

  0003e	e8 00 00 00 00	 call	 ?_Xlen@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@KAXXZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_Xlen

; 1113 : 		else

  00043	eb 33		 jmp	 SHORT $LN3@Buy@39
$LN2@Buy@39:

; 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@PAVCTestPattern@@@std@@QAEPAPAVCTestPattern@@I@Z ; std::allocator<CTestPattern *>::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@39:

; 1118 : 			}
; 1119 : 		return (true);

  00078	b0 01		 mov	 al, 1
$LN5@Buy@39:

; 1120 : 		}

  0007a	8b e5		 mov	 esp, ebp
  0007c	5d		 pop	 ebp
  0007d	c2 04 00	 ret	 4
?_Buy@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAE_NI@Z ENDP ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_Buy
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?insert@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@V?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@ABQAVCTestPattern@@@Z
_TEXT	SEGMENT
tv77 = -28						; size = 4
_this$ = -24						; size = 4
$T339811 = -20						; size = 8
$T339808 = -12						; size = 8
__Off$ = -4						; size = 4
___$ReturnUdt$ = 8					; size = 4
__Where$ = 12						; size = 8
__Val$ = 20						; size = 4
?insert@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@V?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@ABQAVCTestPattern@@@Z PROC ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEIXZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::size
  00011	85 c0		 test	 eax, eax
  00013	75 09		 jne	 SHORT $LN3@insert@33
  00015	c7 45 e4 00 00
	00 00		 mov	 DWORD PTR tv77[ebp], 0
  0001c	eb 18		 jmp	 SHORT $LN4@insert@33
$LN3@insert@33:
  0001e	8d 45 f4	 lea	 eax, DWORD PTR $T339808[ebp]
  00021	50		 push	 eax
  00022	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00025	e8 00 00 00 00	 call	 ?begin@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@XZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEHABV01@@Z ; std::_Vector_const_iterator<CTestPattern *,std::allocator<CTestPattern *> >::operator-
  00033	89 45 e4	 mov	 DWORD PTR tv77[ebp], eax
$LN4@insert@33:
  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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@IABQAVCTestPattern@@@Z ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_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 $T339811[ebp]
  0005d	51		 push	 ecx
  0005e	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00061	e8 00 00 00 00	 call	 ?begin@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@XZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::begin
  00066	8b c8		 mov	 ecx, eax
  00068	e8 00 00 00 00	 call	 ??H?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBE?AV01@H@Z ; std::_Vector_iterator<CTestPattern *,std::allocator<CTestPattern *> >::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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@V?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@ABQAVCTestPattern@@@Z ENDP ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::insert
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?insert@?$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@ABQAVCColorBar@@@Z
_TEXT	SEGMENT
tv77 = -28						; size = 4
_this$ = -24						; size = 4
$T339817 = -20						; size = 8
$T339814 = -12						; size = 8
__Off$ = -4						; size = 4
___$ReturnUdt$ = 8					; size = 4
__Where$ = 12						; size = 8
__Val$ = 20						; size = 4
?insert@?$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@ABQAVCColorBar@@@Z PROC ; std::vector<CColorBar *,std::allocator<CColorBar *> >::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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEIXZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::size
  00011	85 c0		 test	 eax, eax
  00013	75 09		 jne	 SHORT $LN3@insert@34
  00015	c7 45 e4 00 00
	00 00		 mov	 DWORD PTR tv77[ebp], 0
  0001c	eb 18		 jmp	 SHORT $LN4@insert@34
$LN3@insert@34:
  0001e	8d 45 f4	 lea	 eax, DWORD PTR $T339814[ebp]
  00021	50		 push	 eax
  00022	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00025	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
  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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEHABV01@@Z ; std::_Vector_const_iterator<CColorBar *,std::allocator<CColorBar *> >::operator-
  00033	89 45 e4	 mov	 DWORD PTR tv77[ebp], eax
$LN4@insert@34:
  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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEXV?$_Vector_const_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@2@IABQAVCColorBar@@@Z ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_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 $T339817[ebp]
  0005d	51		 push	 ecx
  0005e	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00061	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
  00066	8b c8		 mov	 ecx, eax
  00068	e8 00 00 00 00	 call	 ??H?$_Vector_iterator@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBE?AV01@H@Z ; std::_Vector_iterator<CColorBar *,std::allocator<CColorBar *> >::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@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@ABQAVCColorBar@@@Z ENDP ; std::vector<CColorBar *,std::allocator<CColorBar *> >::insert
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?push_back@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEXABQAVCTestPattern@@@Z
_TEXT	SEGMENT
_this$ = -28						; size = 4
$T339822 = -24						; size = 8
$T339821 = -16						; size = 8
$T339820 = -8						; size = 8
__Val$ = 8						; size = 4
?push_back@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEXABQAVCTestPattern@@@Z PROC ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEIXZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QBEIXZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::capacity
  0001c	3b f0		 cmp	 esi, eax
  0001e	73 1d		 jae	 SHORT $LN2@push_back@29

; 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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAEPAPAVCTestPattern@@PAPAV3@IABQAV3@@Z ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_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@29
$LN2@push_back@29:

; 823  : 			insert(end(), _Val);

  0003d	8d 55 f0	 lea	 edx, DWORD PTR $T339821[ebp]
  00040	52		 push	 edx
  00041	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00044	e8 00 00 00 00	 call	 ?end@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@XZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::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 $T339820[ebp], ecx
  00051	89 55 fc	 mov	 DWORD PTR $T339820[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 $T339820[ebp+4]
  0005b	51		 push	 ecx
  0005c	8b 55 f8	 mov	 edx, DWORD PTR $T339820[ebp]
  0005f	52		 push	 edx
  00060	8d 45 e8	 lea	 eax, DWORD PTR $T339822[ebp]
  00063	50		 push	 eax
  00064	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00067	e8 00 00 00 00	 call	 ?insert@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE?AV?$_Vector_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@V?$_Vector_const_iterator@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@2@ABQAVCTestPattern@@@Z ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::insert
$LN3@push_back@29:

; 824  : 		}

  0006c	5e		 pop	 esi
  0006d	8b e5		 mov	 esp, ebp
  0006f	5d		 pop	 ebp
  00070	c2 04 00	 ret	 4
?push_back@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEXABQAVCTestPattern@@@Z ENDP ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::push_back
_TEXT	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@XZ$0
__ehfuncinfo$??0?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -20						; size = 4
$T339825 = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@XZ PROC ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::vector<CTestPattern *,std::allocator<CTestPattern *> >, 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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@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 $T339825[ebp], esp
  0002e	e8 00 00 00 00	 call	 ??0?$allocator@PAVCTestPattern@@@std@@QAE@XZ ; std::allocator<CTestPattern *>::allocator<CTestPattern *>
  00033	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00036	e8 00 00 00 00	 call	 ??0?$_Vector_val@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAE@V?$allocator@PAVCTestPattern@@@1@@Z ; std::_Vector_val<CTestPattern *,std::allocator<CTestPattern *> >::_Vector_val<CTestPattern *,std::allocator<CTestPattern *> >
  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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@IAE_NI@Z ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::_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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@XZ
__ehhandler$??0?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@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@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@XZ ENDP ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::vector<CTestPattern *,std::allocator<CTestPattern *> >
; Function compile flags: /Odtp
;	COMDAT ?push_back@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAEXABQAVCColorBar@@@Z
_TEXT	SEGMENT
_this$ = -28						; size = 4
$T339837 = -24						; size = 8
$T339836 = -16						; size = 8
$T339835 = -8						; size = 8
__Val$ = 8						; size = 4
?push_back@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAEXABQAVCColorBar@@@Z PROC ; std::vector<CColorBar *,std::allocator<CColorBar *> >::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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEIXZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QBEIXZ ; std::vector<CColorBar *,std::allocator<CColorBar *> >::capacity
  0001c	3b f0		 cmp	 esi, eax
  0001e	73 1d		 jae	 SHORT $LN2@push_back@30

; 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@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@IAEPAPAVCColorBar@@PAPAV3@IABQAV3@@Z ; std::vector<CColorBar *,std::allocator<CColorBar *> >::_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@30
$LN2@push_back@30:

; 823  : 			insert(end(), _Val);

  0003d	8d 55 f0	 lea	 edx, DWORD PTR $T339836[ebp]
  00040	52		 push	 edx
  00041	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00044	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
  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 $T339835[ebp], ecx
  00051	89 55 fc	 mov	 DWORD PTR $T339835[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 $T339835[ebp+4]
  0005b	51		 push	 ecx
  0005c	8b 55 f8	 mov	 edx, DWORD PTR $T339835[ebp]
  0005f	52		 push	 edx
  00060	8d 45 e8	 lea	 eax, DWORD PTR $T339837[ebp]
  00063	50		 push	 eax
  00064	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00067	e8 00 00 00 00	 call	 ?insert@?$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@ABQAVCColorBar@@@Z ; std::vector<CColorBar *,std::allocator<CColorBar *> >::insert
$LN3@push_back@30:

; 824  : 		}

  0006c	5e		 pop	 esi
  0006d	8b e5		 mov	 esp, ebp
  0006f	5d		 pop	 ebp
  00070	c2 04 00	 ret	 4
?push_back@?$vector@PAVCColorBar@@V?$allocator@PAVCColorBar@@@std@@@std@@QAEXABQAVCColorBar@@@Z ENDP ; std::vector<CColorBar *,std::allocator<CColorBar *> >::push_back
PUBLIC	?UpdateResult@CCalSetting@@QAEHHHH@Z		; CCalSetting::UpdateResult
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\calibration.cpp
;	COMDAT ?UpdateResult@CCalSetting@@QAEHHHH@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
_j$ = -12						; size = 4
_i$ = -8						; size = 4
_min_found$ = -4					; size = 4
_diff$ = 8						; size = 4
_threshold$ = 12					; size = 4
_only_one$ = 16						; size = 4
?UpdateResult@CCalSetting@@QAEHHHH@Z PROC		; CCalSetting::UpdateResult, COMDAT
; _this$ = ecx

; 274  : {

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

; 275  :     int i, j;
; 276  :     BOOL min_found = FALSE;

  0000a	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _min_found$[ebp], 0

; 277  : 
; 278  :     if (diff > max_diff)

  00011	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  00014	8b 4d 08	 mov	 ecx, DWORD PTR _diff$[ebp]
  00017	3b 48 2c	 cmp	 ecx, DWORD PTR [eax+44]
  0001a	76 09		 jbe	 SHORT $LN10@UpdateResu

; 279  :     {
; 280  :         max_diff = diff;

  0001c	8b 55 f0	 mov	 edx, DWORD PTR _this$[ebp]
  0001f	8b 45 08	 mov	 eax, DWORD PTR _diff$[ebp]
  00022	89 42 2c	 mov	 DWORD PTR [edx+44], eax
$LN10@UpdateResu:

; 281  :     }
; 282  :     i = current_value - min;

  00025	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00028	8b 55 f0	 mov	 edx, DWORD PTR _this$[ebp]
  0002b	8b 41 20	 mov	 eax, DWORD PTR [ecx+32]
  0002e	2b 42 14	 sub	 eax, DWORD PTR [edx+20]
  00031	89 45 f8	 mov	 DWORD PTR _i$[ebp], eax

; 283  :     if (diff < min_diff)

  00034	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00037	8b 55 08	 mov	 edx, DWORD PTR _diff$[ebp]
  0003a	3b 51 28	 cmp	 edx, DWORD PTR [ecx+40]
  0003d	0f 83 87 00 00
	00		 jae	 $LN9@UpdateResu

; 284  :     {
; 285  :         min_diff = diff;

  00043	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  00046	8b 4d 08	 mov	 ecx, DWORD PTR _diff$[ebp]
  00049	89 48 28	 mov	 DWORD PTR [eax+40], ecx

; 286  : 
; 287  :         for (j=0 ; j<mask_nb ; j++)

  0004c	c7 45 f4 00 00
	00 00		 mov	 DWORD PTR _j$[ebp], 0
  00053	eb 09		 jmp	 SHORT $LN8@UpdateResu
$LN7@UpdateResu:
  00055	8b 55 f4	 mov	 edx, DWORD PTR _j$[ebp]
  00058	83 c2 01	 add	 edx, 1
  0005b	89 55 f4	 mov	 DWORD PTR _j$[ebp], edx
$LN8@UpdateResu:
  0005e	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  00061	8b 4d f4	 mov	 ecx, DWORD PTR _j$[ebp]
  00064	3b 48 1c	 cmp	 ecx, DWORD PTR [eax+28]
  00067	7d 12		 jge	 SHORT $LN6@UpdateResu

; 288  :         {
; 289  :             mask_output[j] = 0;

  00069	8b 55 f0	 mov	 edx, DWORD PTR _this$[ebp]
  0006c	8b 42 10	 mov	 eax, DWORD PTR [edx+16]
  0006f	8b 4d f4	 mov	 ecx, DWORD PTR _j$[ebp]
  00072	c7 04 88 00 00
	00 00		 mov	 DWORD PTR [eax+ecx*4], 0

; 290  :         }

  00079	eb da		 jmp	 SHORT $LN7@UpdateResu
$LN6@UpdateResu:

; 291  :         mask_output[i/32] = (1 << (i%32));

  0007b	8b 4d f8	 mov	 ecx, DWORD PTR _i$[ebp]
  0007e	81 e1 1f 00 00
	80		 and	 ecx, -2147483617	; 8000001fH
  00084	79 05		 jns	 SHORT $LN13@UpdateResu
  00086	49		 dec	 ecx
  00087	83 c9 e0	 or	 ecx, -32		; ffffffe0H
  0008a	41		 inc	 ecx
$LN13@UpdateResu:
  0008b	be 01 00 00 00	 mov	 esi, 1
  00090	d3 e6		 shl	 esi, cl
  00092	8b 45 f8	 mov	 eax, DWORD PTR _i$[ebp]
  00095	99		 cdq
  00096	83 e2 1f	 and	 edx, 31			; 0000001fH
  00099	03 c2		 add	 eax, edx
  0009b	c1 f8 05	 sar	 eax, 5
  0009e	8b 55 f0	 mov	 edx, DWORD PTR _this$[ebp]
  000a1	8b 4a 10	 mov	 ecx, DWORD PTR [edx+16]
  000a4	89 34 81	 mov	 DWORD PTR [ecx+eax*4], esi

; 292  : 
; 293  :         if ((threshold >= 0) && ((max_diff - min_diff) > threshold))

  000a7	83 7d 0c 00	 cmp	 DWORD PTR _threshold$[ebp], 0
  000ab	7c 1b		 jl	 SHORT $LN5@UpdateResu
  000ad	8b 55 f0	 mov	 edx, DWORD PTR _this$[ebp]
  000b0	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  000b3	8b 4a 2c	 mov	 ecx, DWORD PTR [edx+44]
  000b6	2b 48 28	 sub	 ecx, DWORD PTR [eax+40]
  000b9	3b 4d 0c	 cmp	 ecx, DWORD PTR _threshold$[ebp]
  000bc	76 0a		 jbe	 SHORT $LN5@UpdateResu

; 294  :         {
; 295  :             desc = TRUE;

  000be	8b 55 f0	 mov	 edx, DWORD PTR _this$[ebp]
  000c1	c7 42 30 01 00
	00 00		 mov	 DWORD PTR [edx+48], 1
$LN5@UpdateResu:

; 296  :         }
; 297  :     }

  000c8	eb 7b		 jmp	 SHORT $LN4@UpdateResu
$LN9@UpdateResu:

; 298  :     else if ((diff == min_diff) && !only_one)

  000ca	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  000cd	8b 4d 08	 mov	 ecx, DWORD PTR _diff$[ebp]
  000d0	3b 48 28	 cmp	 ecx, DWORD PTR [eax+40]
  000d3	75 49		 jne	 SHORT $LN3@UpdateResu
  000d5	83 7d 10 00	 cmp	 DWORD PTR _only_one$[ebp], 0
  000d9	75 43		 jne	 SHORT $LN3@UpdateResu

; 299  :     {
; 300  :         mask_output[i/32] |= (1 << (i%32));

  000db	8b 45 f8	 mov	 eax, DWORD PTR _i$[ebp]
  000de	99		 cdq
  000df	83 e2 1f	 and	 edx, 31			; 0000001fH
  000e2	03 c2		 add	 eax, edx
  000e4	c1 f8 05	 sar	 eax, 5
  000e7	8b 55 f0	 mov	 edx, DWORD PTR _this$[ebp]
  000ea	8b 52 10	 mov	 edx, DWORD PTR [edx+16]
  000ed	8b 4d f8	 mov	 ecx, DWORD PTR _i$[ebp]
  000f0	81 e1 1f 00 00
	80		 and	 ecx, -2147483617	; 8000001fH
  000f6	79 05		 jns	 SHORT $LN14@UpdateResu
  000f8	49		 dec	 ecx
  000f9	83 c9 e0	 or	 ecx, -32		; ffffffe0H
  000fc	41		 inc	 ecx
$LN14@UpdateResu:
  000fd	be 01 00 00 00	 mov	 esi, 1
  00102	d3 e6		 shl	 esi, cl
  00104	0b 34 82	 or	 esi, DWORD PTR [edx+eax*4]
  00107	8b 45 f8	 mov	 eax, DWORD PTR _i$[ebp]
  0010a	99		 cdq
  0010b	83 e2 1f	 and	 edx, 31			; 0000001fH
  0010e	03 c2		 add	 eax, edx
  00110	c1 f8 05	 sar	 eax, 5
  00113	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00116	8b 51 10	 mov	 edx, DWORD PTR [ecx+16]
  00119	89 34 82	 mov	 DWORD PTR [edx+eax*4], esi
  0011c	eb 27		 jmp	 SHORT $LN4@UpdateResu
$LN3@UpdateResu:

; 301  :     }
; 302  :     else if ((threshold >= 0) && ((diff - min_diff) > threshold))

  0011e	83 7d 0c 00	 cmp	 DWORD PTR _threshold$[ebp], 0
  00122	7c 21		 jl	 SHORT $LN4@UpdateResu
  00124	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  00127	8b 4d 08	 mov	 ecx, DWORD PTR _diff$[ebp]
  0012a	2b 48 28	 sub	 ecx, DWORD PTR [eax+40]
  0012d	3b 4d 0c	 cmp	 ecx, DWORD PTR _threshold$[ebp]
  00130	76 13		 jbe	 SHORT $LN4@UpdateResu

; 303  :     {
; 304  :         end = TRUE;

  00132	8b 55 f0	 mov	 edx, DWORD PTR _this$[ebp]
  00135	c7 42 34 01 00
	00 00		 mov	 DWORD PTR [edx+52], 1

; 305  :         min_found = desc;

  0013c	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  0013f	8b 48 30	 mov	 ecx, DWORD PTR [eax+48]
  00142	89 4d fc	 mov	 DWORD PTR _min_found$[ebp], ecx
$LN4@UpdateResu:

; 306  :     }
; 307  :     LOG(3, _T("Automatic Calibration - value %d => result = %d min = %d"), current_value, diff, min_diff);

  00145	8b 55 f0	 mov	 edx, DWORD PTR _this$[ebp]
  00148	8b 42 28	 mov	 eax, DWORD PTR [edx+40]
  0014b	50		 push	 eax
  0014c	8b 4d 08	 mov	 ecx, DWORD PTR _diff$[ebp]
  0014f	51		 push	 ecx
  00150	8b 55 f0	 mov	 edx, DWORD PTR _this$[ebp]
  00153	8b 42 20	 mov	 eax, DWORD PTR [edx+32]
  00156	50		 push	 eax
  00157	68 00 00 00 00	 push	 OFFSET ??_C@_1HC@OCGKBHGJ@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAv?$AAa?$AAl?$AAu?$AAe?$AA?5?$AA?$CF?$AAd@
  0015c	6a 03		 push	 3
  0015e	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00163	83 c4 14	 add	 esp, 20			; 00000014H

; 308  :     return min_found;

  00166	8b 45 fc	 mov	 eax, DWORD PTR _min_found$[ebp]

; 309  : }

  00169	5e		 pop	 esi
  0016a	8b e5		 mov	 esp, ebp
  0016c	5d		 pop	 ebp
  0016d	c2 0c 00	 ret	 12			; 0000000cH
?UpdateResult@CCalSetting@@QAEHHHH@Z ENDP		; CCalSetting::UpdateResult
_TEXT	ENDS
PUBLIC	?SetRange@CCalSetting@@QAEXHH@Z			; CCalSetting::SetRange
; Function compile flags: /Odtp
;	COMDAT ?SetRange@CCalSetting@@QAEXHH@Z
_TEXT	SEGMENT
_this$ = -12						; size = 4
_j$ = -8						; size = 4
_i$ = -4						; size = 4
_min_val$ = 8						; size = 4
_max_val$ = 12						; size = 4
?SetRange@CCalSetting@@QAEXHH@Z PROC			; CCalSetting::SetRange, COMDAT
; _this$ = ecx

; 113  : {

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

; 114  :     int i, j;
; 115  : 
; 116  :     min_value = min_val;

  0000a	8b 45 f4	 mov	 eax, DWORD PTR _this$[ebp]
  0000d	8b 4d 08	 mov	 ecx, DWORD PTR _min_val$[ebp]
  00010	89 48 04	 mov	 DWORD PTR [eax+4], ecx

; 117  :     max_value = max_val;

  00013	8b 55 f4	 mov	 edx, DWORD PTR _this$[ebp]
  00016	8b 45 0c	 mov	 eax, DWORD PTR _max_val$[ebp]
  00019	89 42 08	 mov	 DWORD PTR [edx+8], eax

; 118  :     for (i=0 ; i<mask_nb ; i++)

  0001c	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _i$[ebp], 0
  00023	eb 09		 jmp	 SHORT $LN6@SetRange@2
$LN5@SetRange@2:
  00025	8b 4d fc	 mov	 ecx, DWORD PTR _i$[ebp]
  00028	83 c1 01	 add	 ecx, 1
  0002b	89 4d fc	 mov	 DWORD PTR _i$[ebp], ecx
$LN6@SetRange@2:
  0002e	8b 55 f4	 mov	 edx, DWORD PTR _this$[ebp]
  00031	8b 45 fc	 mov	 eax, DWORD PTR _i$[ebp]
  00034	3b 42 1c	 cmp	 eax, DWORD PTR [edx+28]
  00037	7d 12		 jge	 SHORT $LN4@SetRange@2

; 119  :     {
; 120  :         mask_input[i] = 0;

  00039	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  0003c	8b 51 0c	 mov	 edx, DWORD PTR [ecx+12]
  0003f	8b 45 fc	 mov	 eax, DWORD PTR _i$[ebp]
  00042	c7 04 82 00 00
	00 00		 mov	 DWORD PTR [edx+eax*4], 0

; 121  :     }

  00049	eb da		 jmp	 SHORT $LN5@SetRange@2
$LN4@SetRange@2:

; 122  :     for (i=min_val ; i<=max_val ; i++)

  0004b	8b 4d 08	 mov	 ecx, DWORD PTR _min_val$[ebp]
  0004e	89 4d fc	 mov	 DWORD PTR _i$[ebp], ecx
  00051	eb 09		 jmp	 SHORT $LN3@SetRange@2
$LN2@SetRange@2:
  00053	8b 55 fc	 mov	 edx, DWORD PTR _i$[ebp]
  00056	83 c2 01	 add	 edx, 1
  00059	89 55 fc	 mov	 DWORD PTR _i$[ebp], edx
$LN3@SetRange@2:
  0005c	8b 45 fc	 mov	 eax, DWORD PTR _i$[ebp]
  0005f	3b 45 0c	 cmp	 eax, DWORD PTR _max_val$[ebp]
  00062	7f 4f		 jg	 SHORT $LN1@SetRange@2

; 123  :     {
; 124  :         j = i - min;

  00064	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  00067	8b 55 fc	 mov	 edx, DWORD PTR _i$[ebp]
  0006a	2b 51 14	 sub	 edx, DWORD PTR [ecx+20]
  0006d	89 55 f8	 mov	 DWORD PTR _j$[ebp], edx

; 125  :         mask_input[j/32] |= (1 << (j%32));

  00070	8b 45 f8	 mov	 eax, DWORD PTR _j$[ebp]
  00073	99		 cdq
  00074	83 e2 1f	 and	 edx, 31			; 0000001fH
  00077	03 c2		 add	 eax, edx
  00079	c1 f8 05	 sar	 eax, 5
  0007c	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  0007f	8b 51 0c	 mov	 edx, DWORD PTR [ecx+12]
  00082	8b 4d f8	 mov	 ecx, DWORD PTR _j$[ebp]
  00085	81 e1 1f 00 00
	80		 and	 ecx, -2147483617	; 8000001fH
  0008b	79 05		 jns	 SHORT $LN9@SetRange@2
  0008d	49		 dec	 ecx
  0008e	83 c9 e0	 or	 ecx, -32		; ffffffe0H
  00091	41		 inc	 ecx
$LN9@SetRange@2:
  00092	be 01 00 00 00	 mov	 esi, 1
  00097	d3 e6		 shl	 esi, cl
  00099	0b 34 82	 or	 esi, DWORD PTR [edx+eax*4]
  0009c	8b 45 f8	 mov	 eax, DWORD PTR _j$[ebp]
  0009f	99		 cdq
  000a0	83 e2 1f	 and	 edx, 31			; 0000001fH
  000a3	03 c2		 add	 eax, edx
  000a5	c1 f8 05	 sar	 eax, 5
  000a8	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  000ab	8b 51 0c	 mov	 edx, DWORD PTR [ecx+12]
  000ae	89 34 82	 mov	 DWORD PTR [edx+eax*4], esi

; 126  :     }

  000b1	eb a0		 jmp	 SHORT $LN2@SetRange@2
$LN1@SetRange@2:

; 127  :     LOG(3, _T("Automatic Calibration - range => min = %d max = %d"), min_value, max_value);

  000b3	8b 45 f4	 mov	 eax, DWORD PTR _this$[ebp]
  000b6	8b 48 08	 mov	 ecx, DWORD PTR [eax+8]
  000b9	51		 push	 ecx
  000ba	8b 55 f4	 mov	 edx, DWORD PTR _this$[ebp]
  000bd	8b 42 04	 mov	 eax, DWORD PTR [edx+4]
  000c0	50		 push	 eax
  000c1	68 00 00 00 00	 push	 OFFSET ??_C@_1GG@LEFHFPEN@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAr?$AAa?$AAn?$AAg?$AAe?$AA?5?$AA?$DN?$AA?$DO@
  000c6	6a 03		 push	 3
  000c8	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  000cd	83 c4 10	 add	 esp, 16			; 00000010H

; 128  : }

  000d0	5e		 pop	 esi
  000d1	8b e5		 mov	 esp, ebp
  000d3	5d		 pop	 ebp
  000d4	c2 08 00	 ret	 8
?SetRange@CCalSetting@@QAEXHH@Z ENDP			; CCalSetting::SetRange
_TEXT	ENDS
PUBLIC	?SetFullRange@CCalSetting@@QAEXXZ		; CCalSetting::SetFullRange
; Function compile flags: /Odtp
;	COMDAT ?SetFullRange@CCalSetting@@QAEXXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?SetFullRange@CCalSetting@@QAEXXZ PROC			; CCalSetting::SetFullRange, COMDAT
; _this$ = ecx

; 108  : {

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

; 109  :     SetRange(min, max);

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b 48 18	 mov	 ecx, DWORD PTR [eax+24]
  0000d	51		 push	 ecx
  0000e	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00011	8b 42 14	 mov	 eax, DWORD PTR [edx+20]
  00014	50		 push	 eax
  00015	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00018	e8 00 00 00 00	 call	 ?SetRange@CCalSetting@@QAEXHH@Z ; CCalSetting::SetRange

; 110  : }

  0001d	8b e5		 mov	 esp, ebp
  0001f	5d		 pop	 ebp
  00020	c3		 ret	 0
?SetFullRange@CCalSetting@@QAEXXZ ENDP			; CCalSetting::SetFullRange
_TEXT	ENDS
PUBLIC	?Restore@CCalSetting@@QAEXXZ			; CCalSetting::Restore
; Function compile flags: /Odtp
;	COMDAT ?Restore@CCalSetting@@QAEXXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?Restore@CCalSetting@@QAEXXZ PROC			; CCalSetting::Restore, COMDAT
; _this$ = ecx

; 102  : {

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

; 103  :     Adjust(saved_value);

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b 48 24	 mov	 ecx, DWORD PTR [eax+36]
  0000d	51		 push	 ecx
  0000e	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00011	e8 00 00 00 00	 call	 ?Adjust@CCalSetting@@IAEXH@Z ; CCalSetting::Adjust

; 104  :     LOG(2, _T("Automatic Calibration - restored value = %d"), saved_value);

  00016	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00019	8b 42 24	 mov	 eax, DWORD PTR [edx+36]
  0001c	50		 push	 eax
  0001d	68 00 00 00 00	 push	 OFFSET ??_C@_1FI@GKHJOHH@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAr?$AAe?$AAs?$AAt?$AAo?$AAr?$AAe?$AAd@
  00022	6a 02		 push	 2
  00024	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00029	83 c4 0c	 add	 esp, 12			; 0000000cH

; 105  : }

  0002c	8b e5		 mov	 esp, ebp
  0002e	5d		 pop	 ebp
  0002f	c3		 ret	 0
?Restore@CCalSetting@@QAEXXZ ENDP			; CCalSetting::Restore
_TEXT	ENDS
PUBLIC	?Save@CCalSetting@@QAEXXZ			; CCalSetting::Save
; Function compile flags: /Odtp
;	COMDAT ?Save@CCalSetting@@QAEXXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?Save@CCalSetting@@QAEXXZ PROC				; CCalSetting::Save, COMDAT
; _this$ = ecx

; 96   : {

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

; 97   :     saved_value = current_value;

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000d	8b 51 20	 mov	 edx, DWORD PTR [ecx+32]
  00010	89 50 24	 mov	 DWORD PTR [eax+36], edx

; 98   :     LOG(2, _T("Automatic Calibration - saved value = %d"), saved_value);

  00013	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00016	8b 48 24	 mov	 ecx, DWORD PTR [eax+36]
  00019	51		 push	 ecx
  0001a	68 00 00 00 00	 push	 OFFSET ??_C@_1FC@HFOFCKJD@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAs?$AAa?$AAv?$AAe?$AAd?$AA?5?$AAv?$AAa@
  0001f	6a 02		 push	 2
  00021	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00026	83 c4 0c	 add	 esp, 12			; 0000000cH

; 99   : }

  00029	8b e5		 mov	 esp, ebp
  0002b	5d		 pop	 ebp
  0002c	c3		 ret	 0
?Save@CCalSetting@@QAEXXZ ENDP				; CCalSetting::Save
_TEXT	ENDS
PUBLIC	??0CCalSetting@@QAE@PAVCSliderSetting@@@Z	; CCalSetting::CCalSetting
; Function compile flags: /Odtp
;	COMDAT ??0CCalSetting@@QAE@PAVCSliderSetting@@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_pSetting$ = 8						; size = 4
??0CCalSetting@@QAE@PAVCSliderSetting@@@Z PROC		; CCalSetting::CCalSetting, COMDAT
; _this$ = ecx

; 59   : {

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

; 60   :     m_pSetting = pSetting;

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b 4d 08	 mov	 ecx, DWORD PTR _pSetting$[ebp]
  0000d	89 08		 mov	 DWORD PTR [eax], ecx

; 61   :     min = pSetting->GetMin();

  0000f	8b 4d 08	 mov	 ecx, DWORD PTR _pSetting$[ebp]
  00012	e8 00 00 00 00	 call	 ?GetMin@CSliderSetting@@QAEJXZ ; CSliderSetting::GetMin
  00017	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  0001a	89 42 14	 mov	 DWORD PTR [edx+20], eax

; 62   :     max = pSetting->GetMax();

  0001d	8b 4d 08	 mov	 ecx, DWORD PTR _pSetting$[ebp]
  00020	e8 00 00 00 00	 call	 ?GetMax@CSliderSetting@@QAEJXZ ; CSliderSetting::GetMax
  00025	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00028	89 41 18	 mov	 DWORD PTR [ecx+24], eax

; 63   :     mask_nb = (max-min+1) / 32;

  0002b	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  0002e	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00031	8b 4a 18	 mov	 ecx, DWORD PTR [edx+24]
  00034	2b 48 14	 sub	 ecx, DWORD PTR [eax+20]
  00037	83 c1 01	 add	 ecx, 1
  0003a	8b c1		 mov	 eax, ecx
  0003c	99		 cdq
  0003d	83 e2 1f	 and	 edx, 31			; 0000001fH
  00040	03 c2		 add	 eax, edx
  00042	c1 f8 05	 sar	 eax, 5
  00045	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00048	89 42 1c	 mov	 DWORD PTR [edx+28], eax

; 64   :     if ((max-min+1) % 32)

  0004b	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0004e	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00051	8b 50 18	 mov	 edx, DWORD PTR [eax+24]
  00054	2b 51 14	 sub	 edx, DWORD PTR [ecx+20]
  00057	83 c2 01	 add	 edx, 1
  0005a	81 e2 1f 00 00
	80		 and	 edx, -2147483617	; 8000001fH
  00060	79 05		 jns	 SHORT $LN4@CCalSettin
  00062	4a		 dec	 edx
  00063	83 ca e0	 or	 edx, -32		; ffffffe0H
  00066	42		 inc	 edx
$LN4@CCalSettin:
  00067	85 d2		 test	 edx, edx
  00069	74 0f		 je	 SHORT $LN1@CCalSettin

; 65   :     {
; 66   :         mask_nb++;

  0006b	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0006e	8b 48 1c	 mov	 ecx, DWORD PTR [eax+28]
  00071	83 c1 01	 add	 ecx, 1
  00074	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00077	89 4a 1c	 mov	 DWORD PTR [edx+28], ecx
$LN1@CCalSettin:

; 67   :     }
; 68   :     mask_input = (unsigned int*) malloc(mask_nb * sizeof(unsigned int)),
; 69   :     mask_output = (unsigned int*) malloc(mask_nb * sizeof(unsigned int)),
; 70   :     current_value = pSetting->GetValue();

  0007a	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0007d	8b 48 1c	 mov	 ecx, DWORD PTR [eax+28]
  00080	c1 e1 02	 shl	 ecx, 2
  00083	51		 push	 ecx
  00084	e8 00 00 00 00	 call	 _malloc
  00089	83 c4 04	 add	 esp, 4
  0008c	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  0008f	89 42 0c	 mov	 DWORD PTR [edx+12], eax
  00092	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00095	8b 48 1c	 mov	 ecx, DWORD PTR [eax+28]
  00098	c1 e1 02	 shl	 ecx, 2
  0009b	51		 push	 ecx
  0009c	e8 00 00 00 00	 call	 _malloc
  000a1	83 c4 04	 add	 esp, 4
  000a4	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  000a7	89 42 10	 mov	 DWORD PTR [edx+16], eax
  000aa	8b 4d 08	 mov	 ecx, DWORD PTR _pSetting$[ebp]
  000ad	e8 00 00 00 00	 call	 ?GetValue@CSliderSetting@@QAEJXZ ; CSliderSetting::GetValue
  000b2	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000b5	89 41 20	 mov	 DWORD PTR [ecx+32], eax

; 71   :     SetFullRange();

  000b8	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000bb	e8 00 00 00 00	 call	 ?SetFullRange@CCalSetting@@QAEXXZ ; CCalSetting::SetFullRange

; 72   :     InitResult();

  000c0	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000c3	e8 00 00 00 00	 call	 ?InitResult@CCalSetting@@QAEXXZ ; CCalSetting::InitResult

; 73   : }

  000c8	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  000cb	8b e5		 mov	 esp, ebp
  000cd	5d		 pop	 ebp
  000ce	c2 04 00	 ret	 4
??0CCalSetting@@QAE@PAVCSliderSetting@@@Z ENDP		; CCalSetting::CCalSetting
PUBLIC	?Stop@CCalibration@@QAEXXZ			; CCalibration::Stop
; Function compile flags: /Odtp
;	COMDAT ?Stop@CCalibration@@QAEXXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?Stop@CCalibration@@QAEXXZ PROC				; CCalibration::Stop, COMDAT
; _this$ = ecx

; 957  : {

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

; 958  :     if ( (m_TypeCalibration != CAL_MANUAL)
; 959  :       && (m_TypeCalibration != CAL_CHECK_YUV_RANGE) )

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	83 78 20 00	 cmp	 DWORD PTR [eax+32], 0
  0000e	0f 84 a9 00 00
	00		 je	 $LN2@Stop
  00014	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00017	83 79 20 04	 cmp	 DWORD PTR [ecx+32], 4
  0001b	0f 84 9c 00 00
	00		 je	 $LN2@Stop

; 960  :     {
; 961  :         OSD_ShowInfosScreen(0, 0);

  00021	83 ec 08	 sub	 esp, 8
  00024	d9 ee		 fldz
  00026	dd 1c 24	 fstp	 QWORD PTR [esp]
  00029	6a 00		 push	 0
  0002b	e8 00 00 00 00	 call	 ?OSD_ShowInfosScreen@@YAXHN@Z ; OSD_ShowInfosScreen
  00030	83 c4 0c	 add	 esp, 12			; 0000000cH

; 962  :         if ( (current_step != -1)
; 963  :           || (MessageBox(GetMainWnd(), _T("Do you want to keep the current settings ?"), _T("DScaler Question"), MB_ICONQUESTION | MB_YESNO | MB_DEFBUTTON1) == IDNO) )

  00033	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00036	83 7a 48 ff	 cmp	 DWORD PTR [edx+72], -1
  0003a	75 1d		 jne	 SHORT $LN7@Stop
  0003c	6a 24		 push	 36			; 00000024H
  0003e	68 00 00 00 00	 push	 OFFSET ??_C@_1CC@LABEMKEJ@?$AAD?$AAS?$AAc?$AAa?$AAl?$AAe?$AAr?$AA?5?$AAQ?$AAu?$AAe?$AAs?$AAt?$AAi?$AAo?$AAn?$AA?$AA@
  00043	68 00 00 00 00	 push	 OFFSET ??_C@_1FG@CFJGHNFM@?$AAD?$AAo?$AA?5?$AAy?$AAo?$AAu?$AA?5?$AAw?$AAa?$AAn?$AAt?$AA?5?$AAt?$AAo?$AA?5?$AAk?$AAe?$AAe?$AAp?$AA?5?$AAt?$AAh?$AAe?$AA?5?$AAc?$AAu?$AAr?$AAr?$AAe?$AAn?$AAt?$AA?5@
  00048	e8 00 00 00 00	 call	 ?GetMainWnd@@YAPAUHWND__@@XZ ; GetMainWnd
  0004d	50		 push	 eax
  0004e	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__MessageBoxW@16
  00054	83 f8 07	 cmp	 eax, 7
  00057	75 64		 jne	 SHORT $LN2@Stop
$LN7@Stop:

; 964  :         {
; 965  :             if (m_Brightness != NULL)

  00059	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0005c	83 78 28 00	 cmp	 DWORD PTR [eax+40], 0
  00060	74 0b		 je	 SHORT $LN6@Stop

; 966  :                 m_Brightness->Restore();

  00062	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00065	8b 49 28	 mov	 ecx, DWORD PTR [ecx+40]
  00068	e8 00 00 00 00	 call	 ?Restore@CCalSetting@@QAEXXZ ; CCalSetting::Restore
$LN6@Stop:

; 967  :             if (m_Contrast != NULL)

  0006d	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00070	83 7a 2c 00	 cmp	 DWORD PTR [edx+44], 0
  00074	74 0b		 je	 SHORT $LN5@Stop

; 968  :                 m_Contrast->Restore();

  00076	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00079	8b 48 2c	 mov	 ecx, DWORD PTR [eax+44]
  0007c	e8 00 00 00 00	 call	 ?Restore@CCalSetting@@QAEXXZ ; CCalSetting::Restore
$LN5@Stop:

; 969  :             if (m_Saturation_U != NULL)

  00081	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00084	83 79 30 00	 cmp	 DWORD PTR [ecx+48], 0
  00088	74 0b		 je	 SHORT $LN4@Stop

; 970  :                 m_Saturation_U->Restore();

  0008a	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  0008d	8b 4a 30	 mov	 ecx, DWORD PTR [edx+48]
  00090	e8 00 00 00 00	 call	 ?Restore@CCalSetting@@QAEXXZ ; CCalSetting::Restore
$LN4@Stop:

; 971  :             if (m_Saturation_V != NULL)

  00095	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00098	83 78 34 00	 cmp	 DWORD PTR [eax+52], 0
  0009c	74 0b		 je	 SHORT $LN3@Stop

; 972  :                 m_Saturation_V->Restore();

  0009e	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000a1	8b 49 34	 mov	 ecx, DWORD PTR [ecx+52]
  000a4	e8 00 00 00 00	 call	 ?Restore@CCalSetting@@QAEXXZ ; CCalSetting::Restore
$LN3@Stop:

; 973  :             if (m_Hue != NULL)

  000a9	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  000ac	83 7a 38 00	 cmp	 DWORD PTR [edx+56], 0
  000b0	74 0b		 je	 SHORT $LN2@Stop

; 974  :                 m_Hue->Restore();

  000b2	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  000b5	8b 48 38	 mov	 ecx, DWORD PTR [eax+56]
  000b8	e8 00 00 00 00	 call	 ?Restore@CCalSetting@@QAEXXZ ; CCalSetting::Restore
$LN2@Stop:

; 975  :         }
; 976  :     }
; 977  : 
; 978  :     // Erase the OSD screen
; 979  :     OSD_Clear();

  000bd	e8 00 00 00 00	 call	 ?OSD_Clear@@YAXXZ	; OSD_Clear

; 980  : 
; 981  :     if (m_TypeCalibration == CAL_CHECK_YUV_RANGE)

  000c2	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000c5	83 79 20 04	 cmp	 DWORD PTR [ecx+32], 4
  000c9	75 14		 jne	 SHORT $LN1@Stop

; 982  :     {
; 983  :         m_CurTestPat = NULL;

  000cb	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  000ce	c7 42 18 00 00
	00 00		 mov	 DWORD PTR [edx+24], 0

; 984  :         m_CurSubPat = NULL;

  000d5	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  000d8	c7 40 1c 00 00
	00 00		 mov	 DWORD PTR [eax+28], 0
$LN1@Stop:

; 985  :     }
; 986  : 
; 987  :     m_IsRunning = FALSE;

  000df	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000e2	c7 41 24 00 00
	00 00		 mov	 DWORD PTR [ecx+36], 0

; 988  : }

  000e9	8b e5		 mov	 esp, ebp
  000eb	5d		 pop	 ebp
  000ec	c3		 ret	 0
?Stop@CCalibration@@QAEXXZ ENDP				; CCalibration::Stop
_TEXT	ENDS
PUBLIC	__$ArrayPad$
PUBLIC	?LoadTestPatterns@CCalibration@@QAEXXZ		; CCalibration::LoadTestPatterns
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?LoadTestPatterns@CCalibration@@QAEXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?LoadTestPatterns@CCalibration@@QAEXXZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$?LoadTestPatterns@CCalibration@@QAEXXZ$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?LoadTestPatterns@CCalibration@@QAEXXZ$1
	DD	02H
	DD	FLAT:__unwindfunclet$?LoadTestPatterns@CCalibration@@QAEXXZ$2
	DD	03H
	DD	FLAT:__unwindfunclet$?LoadTestPatterns@CCalibration@@QAEXXZ$3
	DD	03H
	DD	FLAT:__unwindfunclet$?LoadTestPatterns@CCalibration@@QAEXXZ$4
	DD	05H
	DD	FLAT:__unwindfunclet$?LoadTestPatterns@CCalibration@@QAEXXZ$5
	DD	03H
	DD	FLAT:__unwindfunclet$?LoadTestPatterns@CCalibration@@QAEXXZ$5
	DD	03H
	DD	FLAT:__unwindfunclet$?LoadTestPatterns@CCalibration@@QAEXXZ$6
	DD	03H
	DD	FLAT:__unwindfunclet$?LoadTestPatterns@CCalibration@@QAEXXZ$7
	DD	03H
	DD	FLAT:__unwindfunclet$?LoadTestPatterns@CCalibration@@QAEXXZ$8
	DD	0aH
	DD	FLAT:__unwindfunclet$?LoadTestPatterns@CCalibration@@QAEXXZ$9
	DD	03H
	DD	FLAT:__unwindfunclet$?LoadTestPatterns@CCalibration@@QAEXXZ$9
	DD	03H
	DD	FLAT:__unwindfunclet$?LoadTestPatterns@CCalibration@@QAEXXZ$10
__ehfuncinfo$?LoadTestPatterns@CCalibration@@QAEXXZ DD 019930522H
	DD	0eH
	DD	FLAT:__unwindtable$?LoadTestPatterns@CCalibration@@QAEXXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?LoadTestPatterns@CCalibration@@QAEXXZ
_TEXT	SEGMENT
tv264 = -1388						; size = 4
tv243 = -1384						; size = 4
tv219 = -1380						; size = 4
tv283 = -1376						; size = 4
tv294 = -1372						; size = 4
tv189 = -1368						; size = 4
tv274 = -1364						; size = 4
tv74 = -1360						; size = 4
tv270 = -1356						; size = 4
tv293 = -1352						; size = 4
_this$ = -1348						; size = 4
$T346845 = -1344					; size = 4
$T346837 = -1340					; size = 4
$T346836 = -1336					; size = 4
$T346833 = -1332					; size = 28
$T346832 = -1304					; size = 4
$T346831 = -1300					; size = 4
$T346828 = -1296					; size = 4
$T346827 = -1292					; size = 4
$T346826 = -1288					; size = 28
$T346823 = -1260					; size = 28
$T346822 = -1232					; size = 4
$T346821 = -1228					; size = 4
$T346820 = -1224					; size = 28
$T346819 = -1196					; size = 28
_FullPath$ = -1168					; size = 28
_Buffer$ = -1140					; size = 4
_color_bar$ = -1136					; size = 4
_st$ = -1132						; size = 48
_pattern$ = -1080					; size = 4
_BufferLine$ = -1076					; size = 1024
_PaternPath$ = -48					; size = 28
__$ArrayPad$ = -20					; size = 4
_File$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
?LoadTestPatterns@CCalibration@@QAEXXZ PROC		; CCalibration::LoadTestPatterns, COMDAT
; _this$ = ecx

; 551  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?LoadTestPatterns@CCalibration@@QAEXXZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	81 ec 60 05 00
	00		 sub	 esp, 1376		; 00000560H
  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001c	33 c5		 xor	 eax, ebp
  0001e	89 45 ec	 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 bc fa ff
	ff		 mov	 DWORD PTR _this$[ebp], ecx
  00032	c7 85 c0 fa ff
	ff 00 00 00 00	 mov	 DWORD PTR $T346845[ebp], 0

; 552  :     CTestPattern* pattern;
; 553  :     TCHAR BufferLine[512];
; 554  :     TCHAR* Buffer;
; 555  :     struct _stat st;
; 556  :     FILE* File;
; 557  :     tstring PaternPath(GetInstallationPath() + _T("\\patterns\\"));

  0003c	8d 85 54 fb ff
	ff		 lea	 eax, DWORD PTR $T346819[ebp]
  00042	50		 push	 eax
  00043	e8 00 00 00 00	 call	 ?GetInstallationPath@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ ; GetInstallationPath
  00048	83 c4 04	 add	 esp, 4
  0004b	89 85 b8 fa ff
	ff		 mov	 DWORD PTR tv293[ebp], eax
  00051	8b 8d b8 fa ff
	ff		 mov	 ecx, DWORD PTR tv293[ebp]
  00057	89 8d b4 fa ff
	ff		 mov	 DWORD PTR tv270[ebp], ecx
  0005d	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00064	68 00 00 00 00	 push	 OFFSET ??_C@_1BG@GFADEHJB@?$AA?2?$AAp?$AAa?$AAt?$AAt?$AAe?$AAr?$AAn?$AAs?$AA?2?$AA?$AA@
  00069	8b 95 b4 fa ff
	ff		 mov	 edx, DWORD PTR tv270[ebp]
  0006f	52		 push	 edx
  00070	8d 45 d0	 lea	 eax, DWORD PTR _PaternPath$[ebp]
  00073	50		 push	 eax
  00074	e8 00 00 00 00	 call	 ??$?H_WU?$char_traits@_W@std@@V?$allocator@_W@1@@std@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@ABV10@PB_W@Z ; std::operator+<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
  00079	83 c4 0c	 add	 esp, 12			; 0000000cH
  0007c	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  00080	8d 8d 54 fb ff
	ff		 lea	 ecx, DWORD PTR $T346819[ebp]
  00086	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> >

; 558  :     tstring FullPath;

  0008b	8d 8d 70 fb ff
	ff		 lea	 ecx, DWORD PTR _FullPath$[ebp]
  00091	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> >
  00096	c6 45 fc 03	 mov	 BYTE PTR __$EHRec$[ebp+8], 3

; 559  :     CColorBar* color_bar;
; 560  : 
; 561  :     FullPath = PaternPath + _T("card_calibr.d3u");

  0009a	68 00 00 00 00	 push	 OFFSET ??_C@_1CA@GNLDKAKF@?$AAc?$AAa?$AAr?$AAd?$AA_?$AAc?$AAa?$AAl?$AAi?$AAb?$AAr?$AA?4?$AAd?$AA3?$AAu?$AA?$AA@
  0009f	8d 4d d0	 lea	 ecx, DWORD PTR _PaternPath$[ebp]
  000a2	51		 push	 ecx
  000a3	8d 95 38 fb ff
	ff		 lea	 edx, DWORD PTR $T346820[ebp]
  000a9	52		 push	 edx
  000aa	e8 00 00 00 00	 call	 ??$?H_WU?$char_traits@_W@std@@V?$allocator@_W@1@@std@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@ABV10@PB_W@Z ; std::operator+<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
  000af	83 c4 0c	 add	 esp, 12			; 0000000cH
  000b2	89 85 b0 fa ff
	ff		 mov	 DWORD PTR tv74[ebp], eax
  000b8	8b 85 b0 fa ff
	ff		 mov	 eax, DWORD PTR tv74[ebp]
  000be	89 85 ac fa ff
	ff		 mov	 DWORD PTR tv274[ebp], eax
  000c4	c6 45 fc 04	 mov	 BYTE PTR __$EHRec$[ebp+8], 4
  000c8	8b 8d ac fa ff
	ff		 mov	 ecx, DWORD PTR tv274[ebp]
  000ce	51		 push	 ecx
  000cf	8d 8d 70 fb ff
	ff		 lea	 ecx, DWORD PTR _FullPath$[ebp]
  000d5	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=
  000da	c6 45 fc 03	 mov	 BYTE PTR __$EHRec$[ebp+8], 3
  000de	8d 8d 38 fb ff
	ff		 lea	 ecx, DWORD PTR $T346820[ebp]
  000e4	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> >

; 562  :     File = _tfopen(FullPath.c_str(), _T("r"));

  000e9	68 00 00 00 00	 push	 OFFSET ??_C@_13BPINEIPE@?$AAr?$AA?$AA@
  000ee	8d 8d 70 fb ff
	ff		 lea	 ecx, DWORD PTR _FullPath$[ebp]
  000f4	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
  000f9	50		 push	 eax
  000fa	e8 00 00 00 00	 call	 __wfopen
  000ff	83 c4 08	 add	 esp, 8
  00102	89 45 f0	 mov	 DWORD PTR _File$[ebp], eax

; 563  :     if(File != NULL)

  00105	83 7d f0 00	 cmp	 DWORD PTR _File$[ebp], 0
  00109	0f 84 67 03 00
	00		 je	 $LN19@LoadTestPa
$LN18@LoadTestPa:

; 564  :     {
; 565  :         while(!feof(File))

  0010f	8b 55 f0	 mov	 edx, DWORD PTR _File$[ebp]
  00112	52		 push	 edx
  00113	e8 00 00 00 00	 call	 _feof
  00118	83 c4 04	 add	 esp, 4
  0011b	85 c0		 test	 eax, eax
  0011d	0f 85 47 03 00
	00		 jne	 $LN17@LoadTestPa

; 566  :         {
; 567  :             if(_fgetts(BufferLine, 512, File))

  00123	8b 45 f0	 mov	 eax, DWORD PTR _File$[ebp]
  00126	50		 push	 eax
  00127	68 00 02 00 00	 push	 512			; 00000200H
  0012c	8d 8d cc fb ff
	ff		 lea	 ecx, DWORD PTR _BufferLine$[ebp]
  00132	51		 push	 ecx
  00133	e8 00 00 00 00	 call	 _fgetws
  00138	83 c4 0c	 add	 esp, 12			; 0000000cH
  0013b	85 c0		 test	 eax, eax
  0013d	0f 84 22 03 00
	00		 je	 $LN16@LoadTestPa

; 568  :             {
; 569  :                 BufferLine[511] = '\0';

  00143	33 d2		 xor	 edx, edx
  00145	66 89 55 ca	 mov	 WORD PTR _BufferLine$[ebp+1022], dx

; 570  :                 Buffer = BufferLine;

  00149	8d 85 cc fb ff
	ff		 lea	 eax, DWORD PTR _BufferLine$[ebp]
  0014f	89 85 8c fb ff
	ff		 mov	 DWORD PTR _Buffer$[ebp], eax
$LN15@LoadTestPa:

; 571  :                 while(_tcslen(Buffer) > 0 && *Buffer <= ' ')

  00155	8b 8d 8c fb ff
	ff		 mov	 ecx, DWORD PTR _Buffer$[ebp]
  0015b	51		 push	 ecx
  0015c	e8 00 00 00 00	 call	 _wcslen
  00161	83 c4 04	 add	 esp, 4
  00164	85 c0		 test	 eax, eax
  00166	76 1f		 jbe	 SHORT $LN14@LoadTestPa
  00168	8b 95 8c fb ff
	ff		 mov	 edx, DWORD PTR _Buffer$[ebp]
  0016e	0f b7 02	 movzx	 eax, WORD PTR [edx]
  00171	83 f8 20	 cmp	 eax, 32			; 00000020H
  00174	7f 11		 jg	 SHORT $LN14@LoadTestPa

; 572  :                 {
; 573  :                     Buffer++;

  00176	8b 8d 8c fb ff
	ff		 mov	 ecx, DWORD PTR _Buffer$[ebp]
  0017c	83 c1 02	 add	 ecx, 2
  0017f	89 8d 8c fb ff
	ff		 mov	 DWORD PTR _Buffer$[ebp], ecx

; 574  :                 }

  00185	eb ce		 jmp	 SHORT $LN15@LoadTestPa
$LN14@LoadTestPa:

; 575  :                 if(_tcslen(Buffer) == 0 || *Buffer == '#' || *Buffer == ';')

  00187	8b 95 8c fb ff
	ff		 mov	 edx, DWORD PTR _Buffer$[ebp]
  0018d	52		 push	 edx
  0018e	e8 00 00 00 00	 call	 _wcslen
  00193	83 c4 04	 add	 esp, 4
  00196	85 c0		 test	 eax, eax
  00198	74 1c		 je	 SHORT $LN12@LoadTestPa
  0019a	8b 85 8c fb ff
	ff		 mov	 eax, DWORD PTR _Buffer$[ebp]
  001a0	0f b7 08	 movzx	 ecx, WORD PTR [eax]
  001a3	83 f9 23	 cmp	 ecx, 35			; 00000023H
  001a6	74 0e		 je	 SHORT $LN12@LoadTestPa
  001a8	8b 95 8c fb ff
	ff		 mov	 edx, DWORD PTR _Buffer$[ebp]
  001ae	0f b7 02	 movzx	 eax, WORD PTR [edx]
  001b1	83 f8 3b	 cmp	 eax, 59			; 0000003bH
  001b4	75 05		 jne	 SHORT $LN11@LoadTestPa
$LN12@LoadTestPa:

; 576  :                 {
; 577  :                     continue;

  001b6	e9 54 ff ff ff	 jmp	 $LN18@LoadTestPa
$LN11@LoadTestPa:

; 578  :                 }
; 579  :                 // take care of stuff that is at end of the line
; 580  :                 while(_tcslen(Buffer) > 0 && Buffer[_tcslen(Buffer) - 1] <= ' ')

  001bb	8b 8d 8c fb ff
	ff		 mov	 ecx, DWORD PTR _Buffer$[ebp]
  001c1	51		 push	 ecx
  001c2	e8 00 00 00 00	 call	 _wcslen
  001c7	83 c4 04	 add	 esp, 4
  001ca	85 c0		 test	 eax, eax
  001cc	76 3d		 jbe	 SHORT $LN10@LoadTestPa
  001ce	8b 95 8c fb ff
	ff		 mov	 edx, DWORD PTR _Buffer$[ebp]
  001d4	52		 push	 edx
  001d5	e8 00 00 00 00	 call	 _wcslen
  001da	83 c4 04	 add	 esp, 4
  001dd	8b 8d 8c fb ff
	ff		 mov	 ecx, DWORD PTR _Buffer$[ebp]
  001e3	0f b7 54 41 fe	 movzx	 edx, WORD PTR [ecx+eax*2-2]
  001e8	83 fa 20	 cmp	 edx, 32			; 00000020H
  001eb	7f 1e		 jg	 SHORT $LN10@LoadTestPa

; 581  :                 {
; 582  :                     Buffer[_tcslen(Buffer) - 1] = '\0';

  001ed	8b 85 8c fb ff
	ff		 mov	 eax, DWORD PTR _Buffer$[ebp]
  001f3	50		 push	 eax
  001f4	e8 00 00 00 00	 call	 _wcslen
  001f9	83 c4 04	 add	 esp, 4
  001fc	33 c9		 xor	 ecx, ecx
  001fe	8b 95 8c fb ff
	ff		 mov	 edx, DWORD PTR _Buffer$[ebp]
  00204	66 89 4c 42 fe	 mov	 WORD PTR [edx+eax*2-2], cx

; 583  :                 }

  00209	eb b0		 jmp	 SHORT $LN11@LoadTestPa
$LN10@LoadTestPa:

; 584  :                 if (_tcslen(Buffer) == 0 || _tcslen(Buffer) > 118)

  0020b	8b 85 8c fb ff
	ff		 mov	 eax, DWORD PTR _Buffer$[ebp]
  00211	50		 push	 eax
  00212	e8 00 00 00 00	 call	 _wcslen
  00217	83 c4 04	 add	 esp, 4
  0021a	85 c0		 test	 eax, eax
  0021c	74 14		 je	 SHORT $LN8@LoadTestPa
  0021e	8b 8d 8c fb ff
	ff		 mov	 ecx, DWORD PTR _Buffer$[ebp]
  00224	51		 push	 ecx
  00225	e8 00 00 00 00	 call	 _wcslen
  0022a	83 c4 04	 add	 esp, 4
  0022d	83 f8 76	 cmp	 eax, 118		; 00000076H
  00230	76 05		 jbe	 SHORT $LN9@LoadTestPa
$LN8@LoadTestPa:

; 585  :                 {
; 586  :                     continue;

  00232	e9 d8 fe ff ff	 jmp	 $LN18@LoadTestPa
$LN9@LoadTestPa:

; 587  :                 }
; 588  :                 if (!_tcsncmp(&Buffer[1], _T(":\\"), 2) || (Buffer[0] == '\\'))

  00237	6a 02		 push	 2
  00239	68 00 00 00 00	 push	 OFFSET ??_C@_15GKAHMKIN@?$AA?3?$AA?2?$AA?$AA@
  0023e	8b 95 8c fb ff
	ff		 mov	 edx, DWORD PTR _Buffer$[ebp]
  00244	83 c2 02	 add	 edx, 2
  00247	52		 push	 edx
  00248	e8 00 00 00 00	 call	 _wcsncmp
  0024d	83 c4 0c	 add	 esp, 12			; 0000000cH
  00250	85 c0		 test	 eax, eax
  00252	74 12		 je	 SHORT $LN6@LoadTestPa
  00254	8b 85 8c fb ff
	ff		 mov	 eax, DWORD PTR _Buffer$[ebp]
  0025a	0f b7 08	 movzx	 ecx, WORD PTR [eax]
  0025d	83 f9 5c	 cmp	 ecx, 92			; 0000005cH
  00260	0f 85 fd 00 00
	00		 jne	 $LN7@LoadTestPa
$LN6@LoadTestPa:

; 589  :                 {
; 590  :                     if (!_tstat(Buffer, &st))

  00266	8d 95 94 fb ff
	ff		 lea	 edx, DWORD PTR _st$[ebp]
  0026c	52		 push	 edx
  0026d	8b 85 8c fb ff
	ff		 mov	 eax, DWORD PTR _Buffer$[ebp]
  00273	50		 push	 eax
  00274	e8 00 00 00 00	 call	 __wstat64i32
  00279	83 c4 08	 add	 esp, 8
  0027c	85 c0		 test	 eax, eax
  0027e	0f 85 da 00 00
	00		 jne	 $LN5@LoadTestPa

; 591  :                     {
; 592  :                         pattern = new CTestPattern(Buffer);

  00284	6a 54		 push	 84			; 00000054H
  00286	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  0028b	83 c4 04	 add	 esp, 4
  0028e	89 85 30 fb ff
	ff		 mov	 DWORD PTR $T346822[ebp], eax
  00294	c6 45 fc 05	 mov	 BYTE PTR __$EHRec$[ebp+8], 5
  00298	83 bd 30 fb ff
	ff 00		 cmp	 DWORD PTR $T346822[ebp], 0
  0029f	74 3f		 je	 SHORT $LN22@LoadTestPa
  002a1	8b 8d 8c fb ff
	ff		 mov	 ecx, DWORD PTR _Buffer$[ebp]
  002a7	51		 push	 ecx
  002a8	8d 8d 14 fb ff
	ff		 lea	 ecx, DWORD PTR $T346823[ebp]
  002ae	e8 00 00 00 00	 call	 ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@PB_W@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> >
  002b3	c6 45 fc 06	 mov	 BYTE PTR __$EHRec$[ebp+8], 6
  002b7	8b 95 c0 fa ff
	ff		 mov	 edx, DWORD PTR $T346845[ebp]
  002bd	83 ca 01	 or	 edx, 1
  002c0	89 95 c0 fa ff
	ff		 mov	 DWORD PTR $T346845[ebp], edx
  002c6	8d 85 14 fb ff
	ff		 lea	 eax, DWORD PTR $T346823[ebp]
  002cc	50		 push	 eax
  002cd	8b 8d 30 fb ff
	ff		 mov	 ecx, DWORD PTR $T346822[ebp]
  002d3	e8 00 00 00 00	 call	 ??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z ; CTestPattern::CTestPattern
  002d8	89 85 a8 fa ff
	ff		 mov	 DWORD PTR tv189[ebp], eax
  002de	eb 0a		 jmp	 SHORT $LN23@LoadTestPa
$LN22@LoadTestPa:
  002e0	c7 85 a8 fa ff
	ff 00 00 00 00	 mov	 DWORD PTR tv189[ebp], 0
$LN23@LoadTestPa:
  002ea	8b 8d a8 fa ff
	ff		 mov	 ecx, DWORD PTR tv189[ebp]
  002f0	89 8d 34 fb ff
	ff		 mov	 DWORD PTR $T346821[ebp], ecx
  002f6	c7 45 fc 07 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 7
  002fd	8b 95 34 fb ff
	ff		 mov	 edx, DWORD PTR $T346821[ebp]
  00303	89 95 c8 fb ff
	ff		 mov	 DWORD PTR _pattern$[ebp], edx
  00309	c7 45 fc 03 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 3
  00310	8b 85 c0 fa ff
	ff		 mov	 eax, DWORD PTR $T346845[ebp]
  00316	83 e0 01	 and	 eax, 1
  00319	74 12		 je	 SHORT $LN37@LoadTestPa
  0031b	83 a5 c0 fa ff
	ff fe		 and	 DWORD PTR $T346845[ebp], -2 ; fffffffeH
  00322	8d 8d 14 fb ff
	ff		 lea	 ecx, DWORD PTR $T346823[ebp]
  00328	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> >
$LN37@LoadTestPa:

; 593  :                         if ((pattern->GetWidth() * pattern->GetHeight()) > 0)

  0032d	8b 8d c8 fb ff
	ff		 mov	 ecx, DWORD PTR _pattern$[ebp]
  00333	e8 00 00 00 00	 call	 ?GetWidth@CTestPattern@@QAEHXZ ; CTestPattern::GetWidth
  00338	8b f0		 mov	 esi, eax
  0033a	8b 8d c8 fb ff
	ff		 mov	 ecx, DWORD PTR _pattern$[ebp]
  00340	e8 00 00 00 00	 call	 ?GetHeight@CTestPattern@@QAEHXZ ; CTestPattern::GetHeight
  00345	0f af f0	 imul	 esi, eax
  00348	85 f6		 test	 esi, esi
  0034a	7e 12		 jle	 SHORT $LN5@LoadTestPa

; 594  :                         {
; 595  :                             m_TestPatterns.push_back(pattern);

  0034c	8d 8d c8 fb ff
	ff		 lea	 ecx, DWORD PTR _pattern$[ebp]
  00352	51		 push	 ecx
  00353	8b 8d bc fa ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00359	e8 00 00 00 00	 call	 ?push_back@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEXABQAVCTestPattern@@@Z ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::push_back
$LN5@LoadTestPa:

; 596  :                         }
; 597  :                     }
; 598  :                 }
; 599  :                 else

  0035e	e9 02 01 00 00	 jmp	 $LN16@LoadTestPa
$LN7@LoadTestPa:

; 600  :                 {
; 601  :                     FullPath = PaternPath + Buffer;

  00363	8b 95 8c fb ff
	ff		 mov	 edx, DWORD PTR _Buffer$[ebp]
  00369	52		 push	 edx
  0036a	8d 45 d0	 lea	 eax, DWORD PTR _PaternPath$[ebp]
  0036d	50		 push	 eax
  0036e	8d 8d f8 fa ff
	ff		 lea	 ecx, DWORD PTR $T346826[ebp]
  00374	51		 push	 ecx
  00375	e8 00 00 00 00	 call	 ??$?H_WU?$char_traits@_W@std@@V?$allocator@_W@1@@std@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@ABV10@PB_W@Z ; std::operator+<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
  0037a	83 c4 0c	 add	 esp, 12			; 0000000cH
  0037d	89 85 a4 fa ff
	ff		 mov	 DWORD PTR tv294[ebp], eax
  00383	8b 95 a4 fa ff
	ff		 mov	 edx, DWORD PTR tv294[ebp]
  00389	89 95 a0 fa ff
	ff		 mov	 DWORD PTR tv283[ebp], edx
  0038f	c6 45 fc 08	 mov	 BYTE PTR __$EHRec$[ebp+8], 8
  00393	8b 85 a0 fa ff
	ff		 mov	 eax, DWORD PTR tv283[ebp]
  00399	50		 push	 eax
  0039a	8d 8d 70 fb ff
	ff		 lea	 ecx, DWORD PTR _FullPath$[ebp]
  003a0	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=
  003a5	c6 45 fc 03	 mov	 BYTE PTR __$EHRec$[ebp+8], 3
  003a9	8d 8d f8 fa ff
	ff		 lea	 ecx, DWORD PTR $T346826[ebp]
  003af	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> >

; 602  :                     if (!_tstat(FullPath.c_str(), &st))

  003b4	8d 8d 94 fb ff
	ff		 lea	 ecx, DWORD PTR _st$[ebp]
  003ba	51		 push	 ecx
  003bb	8d 8d 70 fb ff
	ff		 lea	 ecx, DWORD PTR _FullPath$[ebp]
  003c1	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
  003c6	50		 push	 eax
  003c7	e8 00 00 00 00	 call	 __wstat64i32
  003cc	83 c4 08	 add	 esp, 8
  003cf	85 c0		 test	 eax, eax
  003d1	0f 85 8e 00 00
	00		 jne	 $LN16@LoadTestPa

; 603  :                     {
; 604  :                         pattern = new CTestPattern(FullPath);

  003d7	6a 54		 push	 84			; 00000054H
  003d9	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  003de	83 c4 04	 add	 esp, 4
  003e1	89 85 f0 fa ff
	ff		 mov	 DWORD PTR $T346828[ebp], eax
  003e7	c6 45 fc 09	 mov	 BYTE PTR __$EHRec$[ebp+8], 9
  003eb	83 bd f0 fa ff
	ff 00		 cmp	 DWORD PTR $T346828[ebp], 0
  003f2	74 1a		 je	 SHORT $LN24@LoadTestPa
  003f4	8d 95 70 fb ff
	ff		 lea	 edx, DWORD PTR _FullPath$[ebp]
  003fa	52		 push	 edx
  003fb	8b 8d f0 fa ff
	ff		 mov	 ecx, DWORD PTR $T346828[ebp]
  00401	e8 00 00 00 00	 call	 ??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z ; CTestPattern::CTestPattern
  00406	89 85 9c fa ff
	ff		 mov	 DWORD PTR tv219[ebp], eax
  0040c	eb 0a		 jmp	 SHORT $LN25@LoadTestPa
$LN24@LoadTestPa:
  0040e	c7 85 9c fa ff
	ff 00 00 00 00	 mov	 DWORD PTR tv219[ebp], 0
$LN25@LoadTestPa:
  00418	8b 85 9c fa ff
	ff		 mov	 eax, DWORD PTR tv219[ebp]
  0041e	89 85 f4 fa ff
	ff		 mov	 DWORD PTR $T346827[ebp], eax
  00424	c6 45 fc 03	 mov	 BYTE PTR __$EHRec$[ebp+8], 3
  00428	8b 8d f4 fa ff
	ff		 mov	 ecx, DWORD PTR $T346827[ebp]
  0042e	89 8d c8 fb ff
	ff		 mov	 DWORD PTR _pattern$[ebp], ecx

; 605  :                         if ((pattern->GetWidth() * pattern->GetHeight()) > 0)

  00434	8b 8d c8 fb ff
	ff		 mov	 ecx, DWORD PTR _pattern$[ebp]
  0043a	e8 00 00 00 00	 call	 ?GetWidth@CTestPattern@@QAEHXZ ; CTestPattern::GetWidth
  0043f	8b f0		 mov	 esi, eax
  00441	8b 8d c8 fb ff
	ff		 mov	 ecx, DWORD PTR _pattern$[ebp]
  00447	e8 00 00 00 00	 call	 ?GetHeight@CTestPattern@@QAEHXZ ; CTestPattern::GetHeight
  0044c	0f af f0	 imul	 esi, eax
  0044f	85 f6		 test	 esi, esi
  00451	7e 12		 jle	 SHORT $LN16@LoadTestPa

; 606  :                         {
; 607  :                             m_TestPatterns.push_back(pattern);

  00453	8d 95 c8 fb ff
	ff		 lea	 edx, DWORD PTR _pattern$[ebp]
  00459	52		 push	 edx
  0045a	8b 8d bc fa ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00460	e8 00 00 00 00	 call	 ?push_back@?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAEXABQAVCTestPattern@@@Z ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::push_back
$LN16@LoadTestPa:

; 608  :                         }
; 609  :                     }
; 610  :                 }
; 611  :             }
; 612  :         }

  00465	e9 a5 fc ff ff	 jmp	 $LN18@LoadTestPa
$LN17@LoadTestPa:

; 613  :         fclose(File);

  0046a	8b 45 f0	 mov	 eax, DWORD PTR _File$[ebp]
  0046d	50		 push	 eax
  0046e	e8 00 00 00 00	 call	 _fclose
  00473	83 c4 04	 add	 esp, 4
$LN19@LoadTestPa:

; 614  :     }
; 615  : 
; 616  :     m_YUVRangePat = new CTestPattern(_T("Check YUV Range"), 720, 480);

  00476	6a 54		 push	 84			; 00000054H
  00478	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  0047d	83 c4 04	 add	 esp, 4
  00480	89 85 e8 fa ff
	ff		 mov	 DWORD PTR $T346832[ebp], eax
  00486	c6 45 fc 0a	 mov	 BYTE PTR __$EHRec$[ebp+8], 10 ; 0000000aH
  0048a	83 bd e8 fa ff
	ff 00		 cmp	 DWORD PTR $T346832[ebp], 0
  00491	74 47		 je	 SHORT $LN26@LoadTestPa
  00493	68 00 00 00 00	 push	 OFFSET ??_C@_1CA@JNGLAOPL@?$AAC?$AAh?$AAe?$AAc?$AAk?$AA?5?$AAY?$AAU?$AAV?$AA?5?$AAR?$AAa?$AAn?$AAg?$AAe?$AA?$AA@
  00498	8d 8d cc fa ff
	ff		 lea	 ecx, DWORD PTR $T346833[ebp]
  0049e	e8 00 00 00 00	 call	 ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@PB_W@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> >
  004a3	c6 45 fc 0b	 mov	 BYTE PTR __$EHRec$[ebp+8], 11 ; 0000000bH
  004a7	8b 8d c0 fa ff
	ff		 mov	 ecx, DWORD PTR $T346845[ebp]
  004ad	83 c9 02	 or	 ecx, 2
  004b0	89 8d c0 fa ff
	ff		 mov	 DWORD PTR $T346845[ebp], ecx
  004b6	68 e0 01 00 00	 push	 480			; 000001e0H
  004bb	68 d0 02 00 00	 push	 720			; 000002d0H
  004c0	8d 95 cc fa ff
	ff		 lea	 edx, DWORD PTR $T346833[ebp]
  004c6	52		 push	 edx
  004c7	8b 8d e8 fa ff
	ff		 mov	 ecx, DWORD PTR $T346832[ebp]
  004cd	e8 00 00 00 00	 call	 ??0CTestPattern@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HH@Z ; CTestPattern::CTestPattern
  004d2	89 85 98 fa ff
	ff		 mov	 DWORD PTR tv243[ebp], eax
  004d8	eb 0a		 jmp	 SHORT $LN27@LoadTestPa
$LN26@LoadTestPa:
  004da	c7 85 98 fa ff
	ff 00 00 00 00	 mov	 DWORD PTR tv243[ebp], 0
$LN27@LoadTestPa:
  004e4	8b 85 98 fa ff
	ff		 mov	 eax, DWORD PTR tv243[ebp]
  004ea	89 85 ec fa ff
	ff		 mov	 DWORD PTR $T346831[ebp], eax
  004f0	c7 45 fc 0c 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 12 ; 0000000cH
  004f7	8b 8d bc fa ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  004fd	8b 95 ec fa ff
	ff		 mov	 edx, DWORD PTR $T346831[ebp]
  00503	89 51 6c	 mov	 DWORD PTR [ecx+108], edx
  00506	c7 45 fc 03 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 3
  0050d	8b 85 c0 fa ff
	ff		 mov	 eax, DWORD PTR $T346845[ebp]
  00513	83 e0 02	 and	 eax, 2
  00516	74 12		 je	 SHORT $LN43@LoadTestPa
  00518	83 a5 c0 fa ff
	ff fd		 and	 DWORD PTR $T346845[ebp], -3 ; fffffffdH
  0051f	8d 8d cc fa ff
	ff		 lea	 ecx, DWORD PTR $T346833[ebp]
  00525	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> >
$LN43@LoadTestPa:

; 617  :     color_bar = new CColorBar(0, 10000, 0, 10000, DRAW_NO, 0, 0, FALSE, 0, 0, 0, 0, 0, 0);

  0052a	6a 54		 push	 84			; 00000054H
  0052c	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  00531	83 c4 04	 add	 esp, 4
  00534	89 85 c4 fa ff
	ff		 mov	 DWORD PTR $T346837[ebp], eax
  0053a	c6 45 fc 0d	 mov	 BYTE PTR __$EHRec$[ebp+8], 13 ; 0000000dH
  0053e	83 bd c4 fa ff
	ff 00		 cmp	 DWORD PTR $T346837[ebp], 0
  00545	74 35		 je	 SHORT $LN28@LoadTestPa
  00547	6a 00		 push	 0
  00549	6a 00		 push	 0
  0054b	6a 00		 push	 0
  0054d	6a 00		 push	 0
  0054f	6a 00		 push	 0
  00551	6a 00		 push	 0
  00553	6a 00		 push	 0
  00555	6a 00		 push	 0
  00557	6a 00		 push	 0
  00559	6a 07		 push	 7
  0055b	68 10 27 00 00	 push	 10000			; 00002710H
  00560	6a 00		 push	 0
  00562	68 10 27 00 00	 push	 10000			; 00002710H
  00567	6a 00		 push	 0
  00569	8b 8d c4 fa ff
	ff		 mov	 ecx, DWORD PTR $T346837[ebp]
  0056f	e8 00 00 00 00	 call	 ??0CColorBar@@QAE@GGGGW4eTypeDraw@@HHHEEEEEE@Z ; CColorBar::CColorBar
  00574	89 85 94 fa ff
	ff		 mov	 DWORD PTR tv264[ebp], eax
  0057a	eb 0a		 jmp	 SHORT $LN29@LoadTestPa
$LN28@LoadTestPa:
  0057c	c7 85 94 fa ff
	ff 00 00 00 00	 mov	 DWORD PTR tv264[ebp], 0
$LN29@LoadTestPa:
  00586	8b 8d 94 fa ff
	ff		 mov	 ecx, DWORD PTR tv264[ebp]
  0058c	89 8d c8 fa ff
	ff		 mov	 DWORD PTR $T346836[ebp], ecx
  00592	c6 45 fc 03	 mov	 BYTE PTR __$EHRec$[ebp+8], 3
  00596	8b 95 c8 fa ff
	ff		 mov	 edx, DWORD PTR $T346836[ebp]
  0059c	89 95 90 fb ff
	ff		 mov	 DWORD PTR _color_bar$[ebp], edx

; 618  :     m_YUVRangePat->m_ColorBars.push_back(color_bar);

  005a2	8d 85 90 fb ff
	ff		 lea	 eax, DWORD PTR _color_bar$[ebp]
  005a8	50		 push	 eax
  005a9	8b 8d bc fa ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  005af	8b 49 6c	 mov	 ecx, DWORD PTR [ecx+108]
  005b2	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

; 619  :     m_YUVRangePat->CreateGlobalSubPattern();

  005b7	8b 95 bc fa ff
	ff		 mov	 edx, DWORD PTR _this$[ebp]
  005bd	8b 4a 6c	 mov	 ecx, DWORD PTR [edx+108]
  005c0	e8 00 00 00 00	 call	 ?CreateGlobalSubPattern@CTestPattern@@QAEXXZ ; CTestPattern::CreateGlobalSubPattern

; 620  : }

  005c5	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  005c9	8d 8d 70 fb ff
	ff		 lea	 ecx, DWORD PTR _FullPath$[ebp]
  005cf	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> >
  005d4	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  005db	8d 4d d0	 lea	 ecx, DWORD PTR _PaternPath$[ebp]
  005de	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> >
  005e3	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  005e6	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  005ed	59		 pop	 ecx
  005ee	5e		 pop	 esi
  005ef	8b 4d ec	 mov	 ecx, DWORD PTR __$ArrayPad$[ebp]
  005f2	33 cd		 xor	 ecx, ebp
  005f4	e8 00 00 00 00	 call	 @__security_check_cookie@4
  005f9	8b e5		 mov	 esp, ebp
  005fb	5d		 pop	 ebp
  005fc	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?LoadTestPatterns@CCalibration@@QAEXXZ$0:
  00000	8d 8d 54 fb ff
	ff		 lea	 ecx, DWORD PTR $T346819[ebp]
  00006	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$?LoadTestPatterns@CCalibration@@QAEXXZ$1:
  0000b	8d 4d d0	 lea	 ecx, DWORD PTR _PaternPath$[ebp]
  0000e	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$?LoadTestPatterns@CCalibration@@QAEXXZ$2:
  00013	8d 8d 70 fb ff
	ff		 lea	 ecx, DWORD PTR _FullPath$[ebp]
  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> >
__unwindfunclet$?LoadTestPatterns@CCalibration@@QAEXXZ$3:
  0001e	8d 8d 38 fb ff
	ff		 lea	 ecx, DWORD PTR $T346820[ebp]
  00024	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$?LoadTestPatterns@CCalibration@@QAEXXZ$4:
  00029	8b 85 30 fb ff
	ff		 mov	 eax, DWORD PTR $T346822[ebp]
  0002f	50		 push	 eax
  00030	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00035	59		 pop	 ecx
  00036	c3		 ret	 0
__unwindfunclet$?LoadTestPatterns@CCalibration@@QAEXXZ$5:
  00037	8b 85 c0 fa ff
	ff		 mov	 eax, DWORD PTR $T346845[ebp]
  0003d	83 e0 01	 and	 eax, 1
  00040	0f 84 12 00 00
	00		 je	 $LN36@LoadTestPa
  00046	83 a5 c0 fa ff
	ff fe		 and	 DWORD PTR $T346845[ebp], -2 ; fffffffeH
  0004d	8d 8d 14 fb ff
	ff		 lea	 ecx, DWORD PTR $T346823[ebp]
  00053	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> >
$LN36@LoadTestPa:
  00058	c3		 ret	 0
__unwindfunclet$?LoadTestPatterns@CCalibration@@QAEXXZ$6:
  00059	8d 8d f8 fa ff
	ff		 lea	 ecx, DWORD PTR $T346826[ebp]
  0005f	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$?LoadTestPatterns@CCalibration@@QAEXXZ$7:
  00064	8b 85 f0 fa ff
	ff		 mov	 eax, DWORD PTR $T346828[ebp]
  0006a	50		 push	 eax
  0006b	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00070	59		 pop	 ecx
  00071	c3		 ret	 0
__unwindfunclet$?LoadTestPatterns@CCalibration@@QAEXXZ$8:
  00072	8b 85 e8 fa ff
	ff		 mov	 eax, DWORD PTR $T346832[ebp]
  00078	50		 push	 eax
  00079	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  0007e	59		 pop	 ecx
  0007f	c3		 ret	 0
__unwindfunclet$?LoadTestPatterns@CCalibration@@QAEXXZ$9:
  00080	8b 85 c0 fa ff
	ff		 mov	 eax, DWORD PTR $T346845[ebp]
  00086	83 e0 02	 and	 eax, 2
  00089	0f 84 12 00 00
	00		 je	 $LN42@LoadTestPa
  0008f	83 a5 c0 fa ff
	ff fd		 and	 DWORD PTR $T346845[ebp], -3 ; fffffffdH
  00096	8d 8d cc fa ff
	ff		 lea	 ecx, DWORD PTR $T346833[ebp]
  0009c	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> >
$LN42@LoadTestPa:
  000a1	c3		 ret	 0
__unwindfunclet$?LoadTestPatterns@CCalibration@@QAEXXZ$10:
  000a2	8b 85 c4 fa ff
	ff		 mov	 eax, DWORD PTR $T346837[ebp]
  000a8	50		 push	 eax
  000a9	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  000ae	59		 pop	 ecx
  000af	c3		 ret	 0
__ehhandler$?LoadTestPatterns@CCalibration@@QAEXXZ:
  000b0	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  000b4	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  000b7	8b 8a 98 fa ff
	ff		 mov	 ecx, DWORD PTR [edx-1384]
  000bd	33 c8		 xor	 ecx, eax
  000bf	e8 00 00 00 00	 call	 @__security_check_cookie@4
  000c4	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  000c7	33 c8		 xor	 ecx, eax
  000c9	e8 00 00 00 00	 call	 @__security_check_cookie@4
  000ce	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?LoadTestPatterns@CCalibration@@QAEXXZ
  000d3	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?LoadTestPatterns@CCalibration@@QAEXXZ ENDP		; CCalibration::LoadTestPatterns
PUBLIC	??0CCalibration@@QAE@XZ				; CCalibration::CCalibration
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0CCalibration@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0CCalibration@@QAE@XZ$0
__ehfuncinfo$??0CCalibration@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0CCalibration@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0CCalibration@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0CCalibration@@QAE@XZ PROC				; CCalibration::CCalibration, COMDAT
; _this$ = ecx

; 360  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0CCalibration@@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	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00029	e8 00 00 00 00	 call	 ??0?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@XZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::vector<CTestPattern *,std::allocator<CTestPattern *> >
  0002e	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 361  :     m_CurTestPat = NULL;

  00035	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  00038	c7 40 18 00 00
	00 00		 mov	 DWORD PTR [eax+24], 0

; 362  :     m_CurSubPat = NULL;

  0003f	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00042	c7 41 1c 00 00
	00 00		 mov	 DWORD PTR [ecx+28], 0

; 363  :     m_TypeCalibration = CAL_MANUAL;

  00049	8b 55 f0	 mov	 edx, DWORD PTR _this$[ebp]
  0004c	c7 42 20 00 00
	00 00		 mov	 DWORD PTR [edx+32], 0

; 364  :     m_IsRunning = FALSE;

  00053	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  00056	c7 40 24 00 00
	00 00		 mov	 DWORD PTR [eax+36], 0

; 365  : 
; 366  :     m_Brightness   = NULL;

  0005d	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00060	c7 41 28 00 00
	00 00		 mov	 DWORD PTR [ecx+40], 0

; 367  :     m_Contrast     = NULL;

  00067	8b 55 f0	 mov	 edx, DWORD PTR _this$[ebp]
  0006a	c7 42 2c 00 00
	00 00		 mov	 DWORD PTR [edx+44], 0

; 368  :     m_Saturation_U = NULL;

  00071	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  00074	c7 40 30 00 00
	00 00		 mov	 DWORD PTR [eax+48], 0

; 369  :     m_Saturation_V = NULL;

  0007b	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0007e	c7 41 34 00 00
	00 00		 mov	 DWORD PTR [ecx+52], 0

; 370  :     m_Hue          = NULL;

  00085	8b 55 f0	 mov	 edx, DWORD PTR _this$[ebp]
  00088	c7 42 38 00 00
	00 00		 mov	 DWORD PTR [edx+56], 0

; 371  : 
; 372  :     m_YUVRangePat = NULL;

  0008f	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  00092	c7 40 6c 00 00
	00 00		 mov	 DWORD PTR [eax+108], 0

; 373  : 
; 374  :     last_tick_count = -1;

  00099	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0009c	c7 41 3c ff ff
	ff ff		 mov	 DWORD PTR [ecx+60], -1

; 375  :     LoadTestPatterns();

  000a3	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  000a6	e8 00 00 00 00	 call	 ?LoadTestPatterns@CCalibration@@QAEXXZ ; CCalibration::LoadTestPatterns

; 376  : 
; 377  : #ifdef TEST_CONV_COLORSPACE
; 378  :     // Tests of conversion RGB <=> YCbCr
; 379  :     unsigned char r, g, b, y, cb, cr;
; 380  :     CColorBar* bar = m_TestPatterns[0]->m_ColorBars[0];
; 381  :     r = 0, g = 0; b = 0;
; 382  :     bar->RGB2YUV(r, g, b, &y, &cb, &cr);
; 383  :     LOG(1, _T("RGB(%u, %u, %u) => YCbCr(%u, %u, %u)"), r, g, b, y, cb, cr);
; 384  :     r = 255, g = 255; b = 255;
; 385  :     bar->RGB2YUV(r, g, b, &y, &cb, &cr);
; 386  :     LOG(1, _T("RGB(%u, %u, %u) => YCbCr(%u, %u, %u)"), r, g, b, y, cb, cr);
; 387  :     r = 255, g = 0; b = 0;
; 388  :     bar->RGB2YUV(r, g, b, &y, &cb, &cr);
; 389  :     LOG(1, _T("RGB(%u, %u, %u) => YCbCr(%u, %u, %u)"), r, g, b, y, cb, cr);
; 390  :     r = 0, g = 255; b = 0;
; 391  :     bar->RGB2YUV(r, g, b, &y, &cb, &cr);
; 392  :     LOG(1, _T("RGB(%u, %u, %u) => YCbCr(%u, %u, %u)"), r, g, b, y, cb, cr);
; 393  :     r = 0, g = 0; b = 255;
; 394  :     bar->RGB2YUV(r, g, b, &y, &cb, &cr);
; 395  :     LOG(1, _T("RGB(%u, %u, %u) => YCbCr(%u, %u, %u)"), r, g, b, y, cb, cr);
; 396  :     r = 191, g = 0; b = 0;
; 397  :     bar->RGB2YUV(r, g, b, &y, &cb, &cr);
; 398  :     LOG(1, _T("RGB(%u, %u, %u) => YCbCr(%u, %u, %u)"), r, g, b, y, cb, cr);
; 399  :     r = 0, g = 191; b = 0;
; 400  :     bar->RGB2YUV(r, g, b, &y, &cb, &cr);
; 401  :     LOG(1, _T("RGB(%u, %u, %u) => YCbCr(%u, %u, %u)"), r, g, b, y, cb, cr);
; 402  :     r = 0, g = 0; b = 191;
; 403  :     bar->RGB2YUV(r, g, b, &y, &cb, &cr);
; 404  :     LOG(1, _T("RGB(%u, %u, %u) => YCbCr(%u, %u, %u)"), r, g, b, y, cb, cr);
; 405  :     r = 191, g = 191; b = 0;
; 406  :     bar->RGB2YUV(r, g, b, &y, &cb, &cr);
; 407  :     LOG(1, _T("RGB(%u, %u, %u) => YCbCr(%u, %u, %u)"), r, g, b, y, cb, cr);
; 408  :     r = 191, g = 0; b = 191;
; 409  :     bar->RGB2YUV(r, g, b, &y, &cb, &cr);
; 410  :     LOG(1, _T("RGB(%u, %u, %u) => YCbCr(%u, %u, %u)"), r, g, b, y, cb, cr);
; 411  :     r = 0, g = 191; b = 191;
; 412  :     bar->RGB2YUV(r, g, b, &y, &cb, &cr);
; 413  :     LOG(1, _T("RGB(%u, %u, %u) => YCbCr(%u, %u, %u)"), r, g, b, y, cb, cr);
; 414  :     r = 191, g = 191; b = 191;
; 415  :     bar->RGB2YUV(r, g, b, &y, &cb, &cr);
; 416  :     LOG(1, _T("RGB(%u, %u, %u) => YCbCr(%u, %u, %u)"), r, g, b, y, cb, cr);
; 417  :     y = 16, cb = 128; cr = 128;
; 418  :     bar->YUV2RGB(y, cb, cr, &r, &g, &b);
; 419  :     LOG(1, _T("YCbCr(%u, %u, %u) => RGB(%u, %u, %u)"), y, cb, cr, r, g, b);
; 420  :     y = 235, cb = 128; cr = 128;
; 421  :     bar->YUV2RGB(y, cb, cr, &r, &g, &b);
; 422  :     LOG(1, _T("YCbCr(%u, %u, %u) => RGB(%u, %u, %u)"), y, cb, cr, r, g, b);
; 423  :     y = 65, cb = 100; cr = 212;
; 424  :     bar->YUV2RGB(y, cb, cr, &r, &g, &b);
; 425  :     LOG(1, _T("YCbCr(%u, %u, %u) => RGB(%u, %u, %u)"), y, cb, cr, r, g, b);
; 426  :     y = 112, cb = 72; cr = 58;
; 427  :     bar->YUV2RGB(y, cb, cr, &r, &g, &b);
; 428  :     LOG(1, _T("YCbCr(%u, %u, %u) => RGB(%u, %u, %u)"), y, cb, cr, r, g, b);
; 429  :     y = 35, cb = 212; cr = 114;
; 430  :     bar->YUV2RGB(y, cb, cr, &r, &g, &b);
; 431  :     LOG(1, _T("YCbCr(%u, %u, %u) => RGB(%u, %u, %u)"), y, cb, cr, r, g, b);
; 432  :     y = 162, cb = 44; cr = 142;
; 433  :     bar->YUV2RGB(y, cb, cr, &r, &g, &b);
; 434  :     LOG(1, _T("YCbCr(%u, %u, %u) => RGB(%u, %u, %u)"), y, cb, cr, r, g, b);
; 435  :     y = 84, cb = 184; cr = 198;
; 436  :     bar->YUV2RGB(y, cb, cr, &r, &g, &b);
; 437  :     LOG(1, _T("YCbCr(%u, %u, %u) => RGB(%u, %u, %u)"), y, cb, cr, r, g, b);
; 438  :     y = 131, cb = 156; cr = 44;
; 439  :     bar->YUV2RGB(y, cb, cr, &r, &g, &b);
; 440  :     LOG(1, _T("YCbCr(%u, %u, %u) => RGB(%u, %u, %u)"), y, cb, cr, r, g, b);
; 441  :     y = 180, cb = 128; cr = 128;
; 442  :     bar->YUV2RGB(y, cb, cr, &r, &g, &b);
; 443  :     LOG(1, _T("YCbCr(%u, %u, %u) => RGB(%u, %u, %u)"), y, cb, cr, r, g, b);
; 444  : 
; 445  :     r = 0, g = 0; b = 0;
; 446  :     bar->RGB2YUV(r, g, b, &y, &cb, &cr);
; 447  :     bar->YUV2RGB(y, cb, cr, &r, &g, &b);
; 448  :     LOG(1, _T("RGB(0, 0, 0) => YCbCr(%u, %u, %u) => RGB(%u, %u, %u)"), y, cb, cr, r, g, b);
; 449  :     r = 255, g = 255; b = 255;
; 450  :     bar->RGB2YUV(r, g, b, &y, &cb, &cr);
; 451  :     bar->YUV2RGB(y, cb, cr, &r, &g, &b);
; 452  :     LOG(1, _T("RGB(255, 255, 255) => YCbCr(%u, %u, %u) => RGB(%u, %u, %u)"), y, cb, cr, r, g, b);
; 453  :     r = 255, g = 0; b = 0;
; 454  :     bar->RGB2YUV(r, g, b, &y, &cb, &cr);
; 455  :     bar->YUV2RGB(y, cb, cr, &r, &g, &b);
; 456  :     LOG(1, _T("RGB(255, 0, 0) => YCbCr(%u, %u, %u) => RGB(%u, %u, %u)"), y, cb, cr, r, g, b);
; 457  :     r = 0, g = 255; b = 0;
; 458  :     bar->RGB2YUV(r, g, b, &y, &cb, &cr);
; 459  :     bar->YUV2RGB(y, cb, cr, &r, &g, &b);
; 460  :     LOG(1, _T("RGB(0, 255, 0) => YCbCr(%u, %u, %u) => RGB(%u, %u, %u)"), y, cb, cr, r, g, b);
; 461  :     r = 0, g = 0; b = 255;
; 462  :     bar->RGB2YUV(r, g, b, &y, &cb, &cr);
; 463  :     bar->YUV2RGB(y, cb, cr, &r, &g, &b);
; 464  :     LOG(1, _T("RGB(0, 0, 255) => YCbCr(%u, %u, %u) => RGB(%u, %u, %u)"), y, cb, cr, r, g, b);
; 465  :     r = 191, g = 0; b = 0;
; 466  :     bar->RGB2YUV(r, g, b, &y, &cb, &cr);
; 467  :     bar->YUV2RGB(y, cb, cr, &r, &g, &b);
; 468  :     LOG(1, _T("RGB(191, 0, 0) => YCbCr(%u, %u, %u) => RGB(%u, %u, %u)"), y, cb, cr, r, g, b);
; 469  :     r = 0, g = 191; b = 0;
; 470  :     bar->RGB2YUV(r, g, b, &y, &cb, &cr);
; 471  :     bar->YUV2RGB(y, cb, cr, &r, &g, &b);
; 472  :     LOG(1, _T("RGB(0, 191, 0) => YCbCr(%u, %u, %u) => RGB(%u, %u, %u)"), y, cb, cr, r, g, b);
; 473  :     r = 0, g = 0; b = 191;
; 474  :     bar->RGB2YUV(r, g, b, &y, &cb, &cr);
; 475  :     bar->YUV2RGB(y, cb, cr, &r, &g, &b);
; 476  :     LOG(1, _T("RGB(0, 0, 191) => YCbCr(%u, %u, %u) => RGB(%u, %u, %u)"), y, cb, cr, r, g, b);
; 477  :     r = 191, g = 191; b = 0;
; 478  :     bar->RGB2YUV(r, g, b, &y, &cb, &cr);
; 479  :     bar->YUV2RGB(y, cb, cr, &r, &g, &b);
; 480  :     LOG(1, _T("RGB(191, 191, 0) => YCbCr(%u, %u, %u) => RGB(%u, %u, %u)"), y, cb, cr, r, g, b);
; 481  :     r = 191, g = 0; b = 191;
; 482  :     bar->RGB2YUV(r, g, b, &y, &cb, &cr);
; 483  :     bar->YUV2RGB(y, cb, cr, &r, &g, &b);
; 484  :     LOG(1, _T("RGB(191, 0, 191) => YCbCr(%u, %u, %u) => RGB(%u, %u, %u)"), y, cb, cr, r, g, b);
; 485  :     r = 0, g = 191; b = 191;
; 486  :     bar->RGB2YUV(r, g, b, &y, &cb, &cr);
; 487  :     bar->YUV2RGB(y, cb, cr, &r, &g, &b);
; 488  :     LOG(1, _T("RGB(0, 191, 191) => YCbCr(%u, %u, %u) => RGB(%u, %u, %u)"), y, cb, cr, r, g, b);
; 489  :     r = 191, g = 191; b = 191;
; 490  :     bar->RGB2YUV(r, g, b, &y, &cb, &cr);
; 491  :     bar->YUV2RGB(y, cb, cr, &r, &g, &b);
; 492  :     LOG(1, _T("RGB(191, 191, 191) => YCbCr(%u, %u, %u) => RGB(%u, %u, %u)"), y, cb, cr, r, g, b);
; 493  : 
; 494  :     y = 16, cb = 128; cr = 128;
; 495  :     bar->YUV2RGB(y, cb, cr, &r, &g, &b);
; 496  :     bar->RGB2YUV(r, g, b, &y, &cb, &cr);
; 497  :     LOG(1, _T("YCbCr(16, 128, 128) => RGB(%u, %u, %u) => YCbCr(%u, %u, %u)"), r, g, b, y, cb, cr);
; 498  :     y = 235, cb = 128; cr = 128;
; 499  :     bar->YUV2RGB(y, cb, cr, &r, &g, &b);
; 500  :     bar->RGB2YUV(r, g, b, &y, &cb, &cr);
; 501  :     LOG(1, _T("YCbCr(235, 128, 128) => RGB(%u, %u, %u) => YCbCr(%u, %u, %u)"), r, g, b, y, cb, cr);
; 502  :     y = 65, cb = 100; cr = 212;
; 503  :     bar->YUV2RGB(y, cb, cr, &r, &g, &b);
; 504  :     bar->RGB2YUV(r, g, b, &y, &cb, &cr);
; 505  :     LOG(1, _T("YCbCr(65, 100, 212) => RGB(%u, %u, %u) => YCbCr(%u, %u, %u)"), r, g, b, y, cb, cr);
; 506  :     y = 112, cb = 72; cr = 58;
; 507  :     bar->YUV2RGB(y, cb, cr, &r, &g, &b);
; 508  :     bar->RGB2YUV(r, g, b, &y, &cb, &cr);
; 509  :     LOG(1, _T("YCbCr(112, 72, 58) => RGB(%u, %u, %u) => YCbCr(%u, %u, %u)"), r, g, b, y, cb, cr);
; 510  :     y = 35, cb = 212; cr = 114;
; 511  :     bar->YUV2RGB(y, cb, cr, &r, &g, &b);
; 512  :     bar->RGB2YUV(r, g, b, &y, &cb, &cr);
; 513  :     LOG(1, _T("YCbCr(35, 212, 114) => RGB(%u, %u, %u) => YCbCr(%u, %u, %u)"), r, g, b, y, cb, cr);
; 514  :     y = 162, cb = 44; cr = 142;
; 515  :     bar->YUV2RGB(y, cb, cr, &r, &g, &b);
; 516  :     bar->RGB2YUV(r, g, b, &y, &cb, &cr);
; 517  :     LOG(1, _T("YCbCr(162, 44, 142) => RGB(%u, %u, %u) => YCbCr(%u, %u, %u)"), r, g, b, y, cb, cr);
; 518  :     y = 84, cb = 184; cr = 198;
; 519  :     bar->YUV2RGB(y, cb, cr, &r, &g, &b);
; 520  :     bar->RGB2YUV(r, g, b, &y, &cb, &cr);
; 521  :     LOG(1, _T("YCbCr(84, 184, 198) => RGB(%u, %u, %u) => YCbCr(%u, %u, %u)"), r, g, b, y, cb, cr);
; 522  :     y = 131, cb = 156; cr = 44;
; 523  :     bar->YUV2RGB(y, cb, cr, &r, &g, &b);
; 524  :     bar->RGB2YUV(r, g, b, &y, &cb, &cr);
; 525  :     LOG(1, _T("YCbCr(131, 156, 44) => RGB(%u, %u, %u) => YCbCr(%u, %u, %u)"), r, g, b, y, cb, cr);
; 526  :     y = 180, cb = 128; cr = 128;
; 527  :     bar->YUV2RGB(y, cb, cr, &r, &g, &b);
; 528  :     bar->RGB2YUV(r, g, b, &y, &cb, &cr);
; 529  :     LOG(1, _T("YCbCr(180, 128, 128) => RGB(%u, %u, %u) => YCbCr(%u, %u, %u)"), r, g, b, y, cb, cr);
; 530  : #endif
; 531  : }

  000ab	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  000b2	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  000b5	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  000b8	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000bf	59		 pop	 ecx
  000c0	8b e5		 mov	 esp, ebp
  000c2	5d		 pop	 ebp
  000c3	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0CCalibration@@QAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$vector@PAVCTestPattern@@V?$allocator@PAVCTestPattern@@@std@@@std@@QAE@XZ ; std::vector<CTestPattern *,std::allocator<CTestPattern *> >::~vector<CTestPattern *,std::allocator<CTestPattern *> >
__ehhandler$??0CCalibration@@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$??0CCalibration@@QAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0CCalibration@@QAE@XZ ENDP				; CCalibration::CCalibration
PUBLIC	?SetRange@CCalSetting@@QAEXH@Z			; CCalSetting::SetRange
; Function compile flags: /Odtp
;	COMDAT ?SetRange@CCalSetting@@QAEXH@Z
_TEXT	SEGMENT
_this$ = -12						; size = 4
_max_val$ = -8						; size = 4
_min_val$ = -4						; size = 4
_delta$ = 8						; size = 4
?SetRange@CCalSetting@@QAEXH@Z PROC			; CCalSetting::SetRange, COMDAT
; _this$ = ecx

; 131  : {

  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

; 132  :     int min_val, max_val;
; 133  : 
; 134  :     min_val = m_pSetting->GetValue() - delta;

  00009	8b 45 f4	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	8b 08		 mov	 ecx, DWORD PTR [eax]
  0000e	e8 00 00 00 00	 call	 ?GetValue@CSliderSetting@@QAEJXZ ; CSliderSetting::GetValue
  00013	2b 45 08	 sub	 eax, DWORD PTR _delta$[ebp]
  00016	89 45 fc	 mov	 DWORD PTR _min_val$[ebp], eax

; 135  :     if (min_val < min)

  00019	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  0001c	8b 55 fc	 mov	 edx, DWORD PTR _min_val$[ebp]
  0001f	3b 51 14	 cmp	 edx, DWORD PTR [ecx+20]
  00022	7d 09		 jge	 SHORT $LN2@SetRange@3

; 136  :     {
; 137  :         min_val = min;

  00024	8b 45 f4	 mov	 eax, DWORD PTR _this$[ebp]
  00027	8b 48 14	 mov	 ecx, DWORD PTR [eax+20]
  0002a	89 4d fc	 mov	 DWORD PTR _min_val$[ebp], ecx
$LN2@SetRange@3:

; 138  :     }
; 139  :     max_val = m_pSetting->GetValue() + delta;

  0002d	8b 55 f4	 mov	 edx, DWORD PTR _this$[ebp]
  00030	8b 0a		 mov	 ecx, DWORD PTR [edx]
  00032	e8 00 00 00 00	 call	 ?GetValue@CSliderSetting@@QAEJXZ ; CSliderSetting::GetValue
  00037	03 45 08	 add	 eax, DWORD PTR _delta$[ebp]
  0003a	89 45 f8	 mov	 DWORD PTR _max_val$[ebp], eax

; 140  :     if (max_val > max)

  0003d	8b 45 f4	 mov	 eax, DWORD PTR _this$[ebp]
  00040	8b 4d f8	 mov	 ecx, DWORD PTR _max_val$[ebp]
  00043	3b 48 18	 cmp	 ecx, DWORD PTR [eax+24]
  00046	7e 09		 jle	 SHORT $LN1@SetRange@3

; 141  :     {
; 142  :         max_val = max;

  00048	8b 55 f4	 mov	 edx, DWORD PTR _this$[ebp]
  0004b	8b 42 18	 mov	 eax, DWORD PTR [edx+24]
  0004e	89 45 f8	 mov	 DWORD PTR _max_val$[ebp], eax
$LN1@SetRange@3:

; 143  :     }
; 144  :     SetRange(min_val, max_val);

  00051	8b 4d f8	 mov	 ecx, DWORD PTR _max_val$[ebp]
  00054	51		 push	 ecx
  00055	8b 55 fc	 mov	 edx, DWORD PTR _min_val$[ebp]
  00058	52		 push	 edx
  00059	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  0005c	e8 00 00 00 00	 call	 ?SetRange@CCalSetting@@QAEXHH@Z ; CCalSetting::SetRange

; 145  : }

  00061	8b e5		 mov	 esp, ebp
  00063	5d		 pop	 ebp
  00064	c2 04 00	 ret	 4
?SetRange@CCalSetting@@QAEXH@Z ENDP			; CCalSetting::SetRange
PUBLIC	?AdjustDefault@CCalSetting@@QAEXXZ		; CCalSetting::AdjustDefault
; Function compile flags: /Odtp
;	COMDAT ?AdjustDefault@CCalSetting@@QAEXXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?AdjustDefault@CCalSetting@@QAEXXZ PROC			; CCalSetting::AdjustDefault, COMDAT
; _this$ = ecx

; 210  : {

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

; 211  :     m_pSetting->ChangeValue(RESET_SILENT);

  00007	6a 0b		 push	 11			; 0000000bH
  00009	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	8b 08		 mov	 ecx, DWORD PTR [eax]
  0000e	e8 00 00 00 00	 call	 ?ChangeValue@CSimpleSetting@@QAEXW4eCHANGEVALUE@@@Z ; CSimpleSetting::ChangeValue

; 212  :     current_value = m_pSetting->GetValue();

  00013	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00016	8b 09		 mov	 ecx, DWORD PTR [ecx]
  00018	e8 00 00 00 00	 call	 ?GetValue@CSliderSetting@@QAEJXZ ; CSliderSetting::GetValue
  0001d	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00020	89 42 20	 mov	 DWORD PTR [edx+32], eax

; 213  : }

  00023	8b e5		 mov	 esp, ebp
  00025	5d		 pop	 ebp
  00026	c3		 ret	 0
?AdjustDefault@CCalSetting@@QAEXXZ ENDP			; CCalSetting::AdjustDefault
PUBLIC	?Start@CCalibration@@QAEXW4eTypeCalibration@@@Z	; CCalibration::Start
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Start@CCalibration@@QAEXW4eTypeCalibration@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Start@CCalibration@@QAEXW4eTypeCalibration@@@Z$0
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Start@CCalibration@@QAEXW4eTypeCalibration@@@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Start@CCalibration@@QAEXW4eTypeCalibration@@@Z$2
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Start@CCalibration@@QAEXW4eTypeCalibration@@@Z$3
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Start@CCalibration@@QAEXW4eTypeCalibration@@@Z$4
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?Start@CCalibration@@QAEXW4eTypeCalibration@@@Z$5
__ehfuncinfo$?Start@CCalibration@@QAEXW4eTypeCalibration@@@Z DD 019930522H
	DD	06H
	DD	FLAT:__unwindtable$?Start@CCalibration@@QAEXW4eTypeCalibration@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?Start@CCalibration@@QAEXW4eTypeCalibration@@@Z
_TEXT	SEGMENT
tv306 = -160						; size = 4
tv300 = -156						; size = 4
tv278 = -152						; size = 4
tv246 = -148						; size = 4
tv224 = -144						; size = 4
tv202 = -140						; size = 4
tv180 = -136						; size = 4
tv160 = -132						; size = 4
tv151 = -128						; size = 4
tv142 = -124						; size = 4
tv133 = -120						; size = 4
tv92 = -116						; size = 4
_this$ = -112						; size = 4
$T359805 = -108						; size = 4
$T359804 = -104						; size = 4
$T359801 = -100						; size = 4
$T359800 = -96						; size = 4
$T359797 = -92						; size = 4
$T359796 = -88						; size = 4
$T359793 = -84						; size = 4
$T359792 = -80						; size = 4
$T359789 = -76						; size = 4
$T359788 = -72						; size = 4
$T359785 = -68						; size = 4
$T359784 = -64						; size = 4
$T359781 = -60						; size = 4
$T359780 = -56						; size = 4
$T359777 = -52						; size = 4
$T359776 = -48						; size = 4
$T359773 = -44						; size = 4
$T359772 = -40						; size = 4
$T359769 = -36						; size = 4
$T359768 = -32						; size = 4
$T359765 = -28						; size = 4
$T359764 = -24						; size = 4
_OkToStart$ = -20					; size = 4
_pSource$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
_type$ = 8						; size = 4
?Start@CCalibration@@QAEXW4eTypeCalibration@@@Z PROC	; CCalibration::Start, COMDAT
; _this$ = ecx

; 799  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?Start@CCalibration@@QAEXW4eTypeCalibration@@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	81 ec 94 00 00
	00		 sub	 esp, 148		; 00000094H
  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001c	33 c5		 xor	 eax, ebp
  0001e	50		 push	 eax
  0001f	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00022	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00028	89 4d 90	 mov	 DWORD PTR _this$[ebp], ecx

; 800  :     BOOL OkToStart = FALSE;

  0002b	c7 45 ec 00 00
	00 00		 mov	 DWORD PTR _OkToStart$[ebp], 0

; 801  : 
; 802  :     CSource* pSource = Providers_GetCurrentSource();

  00032	e8 00 00 00 00	 call	 ?Providers_GetCurrentSource@@YAPAVCSource@@XZ ; Providers_GetCurrentSource
  00037	89 45 f0	 mov	 DWORD PTR _pSource$[ebp], eax

; 803  :     if (pSource == NULL)

  0003a	83 7d f0 00	 cmp	 DWORD PTR _pSource$[ebp], 0
  0003e	75 05		 jne	 SHORT $LN30@Start@6

; 804  :         return;

  00040	e9 7d 06 00 00	 jmp	 $LN31@Start@6
$LN30@Start@6:

; 805  : 
; 806  :     if (type == CAL_CHECK_YUV_RANGE)

  00045	83 7d 08 04	 cmp	 DWORD PTR _type$[ebp], 4
  00049	75 3c		 jne	 SHORT $LN29@Start@6

; 807  :     {
; 808  :         if (m_YUVRangePat != NULL)

  0004b	8b 45 90	 mov	 eax, DWORD PTR _this$[ebp]
  0004e	83 78 6c 00	 cmp	 DWORD PTR [eax+108], 0
  00052	74 27		 je	 SHORT $LN28@Start@6

; 809  :         {
; 810  :             m_YUVRangePat->SetSize(pSource->GetWidth(), pSource->GetHeight());

  00054	8b 4d f0	 mov	 ecx, DWORD PTR _pSource$[ebp]
  00057	8b 11		 mov	 edx, DWORD PTR [ecx]
  00059	8b 4d f0	 mov	 ecx, DWORD PTR _pSource$[ebp]
  0005c	8b 42 78	 mov	 eax, DWORD PTR [edx+120]
  0005f	ff d0		 call	 eax
  00061	50		 push	 eax
  00062	8b 4d f0	 mov	 ecx, DWORD PTR _pSource$[ebp]
  00065	8b 11		 mov	 edx, DWORD PTR [ecx]
  00067	8b 4d f0	 mov	 ecx, DWORD PTR _pSource$[ebp]
  0006a	8b 42 74	 mov	 eax, DWORD PTR [edx+116]
  0006d	ff d0		 call	 eax
  0006f	50		 push	 eax
  00070	8b 4d 90	 mov	 ecx, DWORD PTR _this$[ebp]
  00073	8b 49 6c	 mov	 ecx, DWORD PTR [ecx+108]
  00076	e8 00 00 00 00	 call	 ?SetSize@CTestPattern@@QAEXHH@Z ; CTestPattern::SetSize
$LN28@Start@6:

; 811  :         }
; 812  :         m_CurTestPat = m_YUVRangePat;

  0007b	8b 55 90	 mov	 edx, DWORD PTR _this$[ebp]
  0007e	8b 45 90	 mov	 eax, DWORD PTR _this$[ebp]
  00081	8b 48 6c	 mov	 ecx, DWORD PTR [eax+108]
  00084	89 4a 18	 mov	 DWORD PTR [edx+24], ecx
$LN29@Start@6:

; 813  :     }
; 814  : 
; 815  :     if (m_CurTestPat == NULL)

  00087	8b 55 90	 mov	 edx, DWORD PTR _this$[ebp]
  0008a	83 7a 18 00	 cmp	 DWORD PTR [edx+24], 0
  0008e	75 05		 jne	 SHORT $LN27@Start@6

; 816  :         return;

  00090	e9 2d 06 00 00	 jmp	 $LN31@Start@6
$LN27@Start@6:

; 817  : 
; 818  :     if (m_Brightness != NULL)

  00095	8b 45 90	 mov	 eax, DWORD PTR _this$[ebp]
  00098	83 78 28 00	 cmp	 DWORD PTR [eax+40], 0
  0009c	74 35		 je	 SHORT $LN26@Start@6

; 819  :     {
; 820  :         delete m_Brightness;

  0009e	8b 4d 90	 mov	 ecx, DWORD PTR _this$[ebp]
  000a1	8b 51 28	 mov	 edx, DWORD PTR [ecx+40]
  000a4	89 55 e4	 mov	 DWORD PTR $T359765[ebp], edx
  000a7	8b 45 e4	 mov	 eax, DWORD PTR $T359765[ebp]
  000aa	89 45 e8	 mov	 DWORD PTR $T359764[ebp], eax
  000ad	83 7d e8 00	 cmp	 DWORD PTR $T359764[ebp], 0
  000b1	74 0f		 je	 SHORT $LN33@Start@6
  000b3	6a 01		 push	 1
  000b5	8b 4d e8	 mov	 ecx, DWORD PTR $T359764[ebp]
  000b8	e8 00 00 00 00	 call	 ??_GCCalSetting@@QAEPAXI@Z
  000bd	89 45 8c	 mov	 DWORD PTR tv92[ebp], eax
  000c0	eb 07		 jmp	 SHORT $LN34@Start@6
$LN33@Start@6:
  000c2	c7 45 8c 00 00
	00 00		 mov	 DWORD PTR tv92[ebp], 0
$LN34@Start@6:

; 821  :         m_Brightness = NULL;

  000c9	8b 4d 90	 mov	 ecx, DWORD PTR _this$[ebp]
  000cc	c7 41 28 00 00
	00 00		 mov	 DWORD PTR [ecx+40], 0
$LN26@Start@6:

; 822  :     }
; 823  :     if (m_Contrast != NULL)

  000d3	8b 55 90	 mov	 edx, DWORD PTR _this$[ebp]
  000d6	83 7a 2c 00	 cmp	 DWORD PTR [edx+44], 0
  000da	74 35		 je	 SHORT $LN25@Start@6

; 824  :     {
; 825  :         delete m_Contrast;

  000dc	8b 45 90	 mov	 eax, DWORD PTR _this$[ebp]
  000df	8b 48 2c	 mov	 ecx, DWORD PTR [eax+44]
  000e2	89 4d dc	 mov	 DWORD PTR $T359769[ebp], ecx
  000e5	8b 55 dc	 mov	 edx, DWORD PTR $T359769[ebp]
  000e8	89 55 e0	 mov	 DWORD PTR $T359768[ebp], edx
  000eb	83 7d e0 00	 cmp	 DWORD PTR $T359768[ebp], 0
  000ef	74 0f		 je	 SHORT $LN35@Start@6
  000f1	6a 01		 push	 1
  000f3	8b 4d e0	 mov	 ecx, DWORD PTR $T359768[ebp]
  000f6	e8 00 00 00 00	 call	 ??_GCCalSetting@@QAEPAXI@Z
  000fb	89 45 88	 mov	 DWORD PTR tv133[ebp], eax
  000fe	eb 07		 jmp	 SHORT $LN36@Start@6
$LN35@Start@6:
  00100	c7 45 88 00 00
	00 00		 mov	 DWORD PTR tv133[ebp], 0
$LN36@Start@6:

; 826  :         m_Contrast = NULL;

  00107	8b 45 90	 mov	 eax, DWORD PTR _this$[ebp]
  0010a	c7 40 2c 00 00
	00 00		 mov	 DWORD PTR [eax+44], 0
$LN25@Start@6:

; 827  :     }
; 828  :     if (m_Saturation_U != NULL)

  00111	8b 4d 90	 mov	 ecx, DWORD PTR _this$[ebp]
  00114	83 79 30 00	 cmp	 DWORD PTR [ecx+48], 0
  00118	74 35		 je	 SHORT $LN24@Start@6

; 829  :     {
; 830  :         delete m_Saturation_U;

  0011a	8b 55 90	 mov	 edx, DWORD PTR _this$[ebp]
  0011d	8b 42 30	 mov	 eax, DWORD PTR [edx+48]
  00120	89 45 d4	 mov	 DWORD PTR $T359773[ebp], eax
  00123	8b 4d d4	 mov	 ecx, DWORD PTR $T359773[ebp]
  00126	89 4d d8	 mov	 DWORD PTR $T359772[ebp], ecx
  00129	83 7d d8 00	 cmp	 DWORD PTR $T359772[ebp], 0
  0012d	74 0f		 je	 SHORT $LN37@Start@6
  0012f	6a 01		 push	 1
  00131	8b 4d d8	 mov	 ecx, DWORD PTR $T359772[ebp]
  00134	e8 00 00 00 00	 call	 ??_GCCalSetting@@QAEPAXI@Z
  00139	89 45 84	 mov	 DWORD PTR tv142[ebp], eax
  0013c	eb 07		 jmp	 SHORT $LN38@Start@6
$LN37@Start@6:
  0013e	c7 45 84 00 00
	00 00		 mov	 DWORD PTR tv142[ebp], 0
$LN38@Start@6:

; 831  :         m_Saturation_U = NULL;

  00145	8b 55 90	 mov	 edx, DWORD PTR _this$[ebp]
  00148	c7 42 30 00 00
	00 00		 mov	 DWORD PTR [edx+48], 0
$LN24@Start@6:

; 832  :     }
; 833  :     if (m_Saturation_V != NULL)

  0014f	8b 45 90	 mov	 eax, DWORD PTR _this$[ebp]
  00152	83 78 34 00	 cmp	 DWORD PTR [eax+52], 0
  00156	74 35		 je	 SHORT $LN23@Start@6

; 834  :     {
; 835  :         delete m_Saturation_V;

  00158	8b 4d 90	 mov	 ecx, DWORD PTR _this$[ebp]
  0015b	8b 51 34	 mov	 edx, DWORD PTR [ecx+52]
  0015e	89 55 cc	 mov	 DWORD PTR $T359777[ebp], edx
  00161	8b 45 cc	 mov	 eax, DWORD PTR $T359777[ebp]
  00164	89 45 d0	 mov	 DWORD PTR $T359776[ebp], eax
  00167	83 7d d0 00	 cmp	 DWORD PTR $T359776[ebp], 0
  0016b	74 0f		 je	 SHORT $LN39@Start@6
  0016d	6a 01		 push	 1
  0016f	8b 4d d0	 mov	 ecx, DWORD PTR $T359776[ebp]
  00172	e8 00 00 00 00	 call	 ??_GCCalSetting@@QAEPAXI@Z
  00177	89 45 80	 mov	 DWORD PTR tv151[ebp], eax
  0017a	eb 07		 jmp	 SHORT $LN40@Start@6
$LN39@Start@6:
  0017c	c7 45 80 00 00
	00 00		 mov	 DWORD PTR tv151[ebp], 0
$LN40@Start@6:

; 836  :         m_Saturation_V = NULL;

  00183	8b 4d 90	 mov	 ecx, DWORD PTR _this$[ebp]
  00186	c7 41 34 00 00
	00 00		 mov	 DWORD PTR [ecx+52], 0
$LN23@Start@6:

; 837  :     }
; 838  :     if (m_Hue != NULL)

  0018d	8b 55 90	 mov	 edx, DWORD PTR _this$[ebp]
  00190	83 7a 38 00	 cmp	 DWORD PTR [edx+56], 0
  00194	74 3b		 je	 SHORT $LN22@Start@6

; 839  :     {
; 840  :         delete m_Hue;

  00196	8b 45 90	 mov	 eax, DWORD PTR _this$[ebp]
  00199	8b 48 38	 mov	 ecx, DWORD PTR [eax+56]
  0019c	89 4d c4	 mov	 DWORD PTR $T359781[ebp], ecx
  0019f	8b 55 c4	 mov	 edx, DWORD PTR $T359781[ebp]
  001a2	89 55 c8	 mov	 DWORD PTR $T359780[ebp], edx
  001a5	83 7d c8 00	 cmp	 DWORD PTR $T359780[ebp], 0
  001a9	74 12		 je	 SHORT $LN41@Start@6
  001ab	6a 01		 push	 1
  001ad	8b 4d c8	 mov	 ecx, DWORD PTR $T359780[ebp]
  001b0	e8 00 00 00 00	 call	 ??_GCCalSetting@@QAEPAXI@Z
  001b5	89 85 7c ff ff
	ff		 mov	 DWORD PTR tv160[ebp], eax
  001bb	eb 0a		 jmp	 SHORT $LN42@Start@6
$LN41@Start@6:
  001bd	c7 85 7c ff ff
	ff 00 00 00 00	 mov	 DWORD PTR tv160[ebp], 0
$LN42@Start@6:

; 841  :         m_Hue = NULL;

  001c7	8b 45 90	 mov	 eax, DWORD PTR _this$[ebp]
  001ca	c7 40 38 00 00
	00 00		 mov	 DWORD PTR [eax+56], 0
$LN22@Start@6:

; 842  :     }
; 843  : 
; 844  :     /// \todo this is bad coding sort this out
; 845  :     if (pSource->GetBrightness() != NULL)

  001d1	8b 4d f0	 mov	 ecx, DWORD PTR _pSource$[ebp]
  001d4	8b 11		 mov	 edx, DWORD PTR [ecx]
  001d6	8b 4d f0	 mov	 ecx, DWORD PTR _pSource$[ebp]
  001d9	8b 42 2c	 mov	 eax, DWORD PTR [edx+44]
  001dc	ff d0		 call	 eax
  001de	85 c0		 test	 eax, eax
  001e0	74 71		 je	 SHORT $LN21@Start@6

; 846  :     {
; 847  :         m_Brightness = new CCalSetting(pSource->GetBrightness());

  001e2	6a 38		 push	 56			; 00000038H
  001e4	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  001e9	83 c4 04	 add	 esp, 4
  001ec	89 45 bc	 mov	 DWORD PTR $T359785[ebp], eax
  001ef	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  001f6	83 7d bc 00	 cmp	 DWORD PTR $T359785[ebp], 0
  001fa	74 1e		 je	 SHORT $LN43@Start@6
  001fc	8b 4d f0	 mov	 ecx, DWORD PTR _pSource$[ebp]
  001ff	8b 11		 mov	 edx, DWORD PTR [ecx]
  00201	8b 4d f0	 mov	 ecx, DWORD PTR _pSource$[ebp]
  00204	8b 42 2c	 mov	 eax, DWORD PTR [edx+44]
  00207	ff d0		 call	 eax
  00209	50		 push	 eax
  0020a	8b 4d bc	 mov	 ecx, DWORD PTR $T359785[ebp]
  0020d	e8 00 00 00 00	 call	 ??0CCalSetting@@QAE@PAVCSliderSetting@@@Z ; CCalSetting::CCalSetting
  00212	89 85 78 ff ff
	ff		 mov	 DWORD PTR tv180[ebp], eax
  00218	eb 0a		 jmp	 SHORT $LN44@Start@6
$LN43@Start@6:
  0021a	c7 85 78 ff ff
	ff 00 00 00 00	 mov	 DWORD PTR tv180[ebp], 0
$LN44@Start@6:
  00224	8b 8d 78 ff ff
	ff		 mov	 ecx, DWORD PTR tv180[ebp]
  0022a	89 4d c0	 mov	 DWORD PTR $T359784[ebp], ecx
  0022d	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00234	8b 55 90	 mov	 edx, DWORD PTR _this$[ebp]
  00237	8b 45 c0	 mov	 eax, DWORD PTR $T359784[ebp]
  0023a	89 42 28	 mov	 DWORD PTR [edx+40], eax

; 848  :         m_Brightness->Update();

  0023d	8b 4d 90	 mov	 ecx, DWORD PTR _this$[ebp]
  00240	8b 49 28	 mov	 ecx, DWORD PTR [ecx+40]
  00243	e8 00 00 00 00	 call	 ?Update@CCalSetting@@QAEHXZ ; CCalSetting::Update

; 849  :         m_Brightness->Save();

  00248	8b 55 90	 mov	 edx, DWORD PTR _this$[ebp]
  0024b	8b 4a 28	 mov	 ecx, DWORD PTR [edx+40]
  0024e	e8 00 00 00 00	 call	 ?Save@CCalSetting@@QAEXXZ ; CCalSetting::Save
$LN21@Start@6:

; 850  :     }
; 851  :     if (pSource->GetContrast() != NULL)

  00253	8b 45 f0	 mov	 eax, DWORD PTR _pSource$[ebp]
  00256	8b 10		 mov	 edx, DWORD PTR [eax]
  00258	8b 4d f0	 mov	 ecx, DWORD PTR _pSource$[ebp]
  0025b	8b 42 30	 mov	 eax, DWORD PTR [edx+48]
  0025e	ff d0		 call	 eax
  00260	85 c0		 test	 eax, eax
  00262	74 71		 je	 SHORT $LN20@Start@6

; 852  :     {
; 853  :         m_Contrast = new CCalSetting(pSource->GetContrast());

  00264	6a 38		 push	 56			; 00000038H
  00266	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  0026b	83 c4 04	 add	 esp, 4
  0026e	89 45 b4	 mov	 DWORD PTR $T359789[ebp], eax
  00271	c7 45 fc 01 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 1
  00278	83 7d b4 00	 cmp	 DWORD PTR $T359789[ebp], 0
  0027c	74 1e		 je	 SHORT $LN45@Start@6
  0027e	8b 4d f0	 mov	 ecx, DWORD PTR _pSource$[ebp]
  00281	8b 11		 mov	 edx, DWORD PTR [ecx]
  00283	8b 4d f0	 mov	 ecx, DWORD PTR _pSource$[ebp]
  00286	8b 42 30	 mov	 eax, DWORD PTR [edx+48]
  00289	ff d0		 call	 eax
  0028b	50		 push	 eax
  0028c	8b 4d b4	 mov	 ecx, DWORD PTR $T359789[ebp]
  0028f	e8 00 00 00 00	 call	 ??0CCalSetting@@QAE@PAVCSliderSetting@@@Z ; CCalSetting::CCalSetting
  00294	89 85 74 ff ff
	ff		 mov	 DWORD PTR tv202[ebp], eax
  0029a	eb 0a		 jmp	 SHORT $LN46@Start@6
$LN45@Start@6:
  0029c	c7 85 74 ff ff
	ff 00 00 00 00	 mov	 DWORD PTR tv202[ebp], 0
$LN46@Start@6:
  002a6	8b 8d 74 ff ff
	ff		 mov	 ecx, DWORD PTR tv202[ebp]
  002ac	89 4d b8	 mov	 DWORD PTR $T359788[ebp], ecx
  002af	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  002b6	8b 55 90	 mov	 edx, DWORD PTR _this$[ebp]
  002b9	8b 45 b8	 mov	 eax, DWORD PTR $T359788[ebp]
  002bc	89 42 2c	 mov	 DWORD PTR [edx+44], eax

; 854  :         m_Contrast->Update();

  002bf	8b 4d 90	 mov	 ecx, DWORD PTR _this$[ebp]
  002c2	8b 49 2c	 mov	 ecx, DWORD PTR [ecx+44]
  002c5	e8 00 00 00 00	 call	 ?Update@CCalSetting@@QAEHXZ ; CCalSetting::Update

; 855  :         m_Contrast->Save();

  002ca	8b 55 90	 mov	 edx, DWORD PTR _this$[ebp]
  002cd	8b 4a 2c	 mov	 ecx, DWORD PTR [edx+44]
  002d0	e8 00 00 00 00	 call	 ?Save@CCalSetting@@QAEXXZ ; CCalSetting::Save
$LN20@Start@6:

; 856  :     }
; 857  :     if (pSource->GetSaturationU() != NULL)

  002d5	8b 45 f0	 mov	 eax, DWORD PTR _pSource$[ebp]
  002d8	8b 10		 mov	 edx, DWORD PTR [eax]
  002da	8b 4d f0	 mov	 ecx, DWORD PTR _pSource$[ebp]
  002dd	8b 42 3c	 mov	 eax, DWORD PTR [edx+60]
  002e0	ff d0		 call	 eax
  002e2	85 c0		 test	 eax, eax
  002e4	74 71		 je	 SHORT $LN19@Start@6

; 858  :     {
; 859  :         m_Saturation_U = new CCalSetting(pSource->GetSaturationU());

  002e6	6a 38		 push	 56			; 00000038H
  002e8	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  002ed	83 c4 04	 add	 esp, 4
  002f0	89 45 ac	 mov	 DWORD PTR $T359793[ebp], eax
  002f3	c7 45 fc 02 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 2
  002fa	83 7d ac 00	 cmp	 DWORD PTR $T359793[ebp], 0
  002fe	74 1e		 je	 SHORT $LN47@Start@6
  00300	8b 4d f0	 mov	 ecx, DWORD PTR _pSource$[ebp]
  00303	8b 11		 mov	 edx, DWORD PTR [ecx]
  00305	8b 4d f0	 mov	 ecx, DWORD PTR _pSource$[ebp]
  00308	8b 42 3c	 mov	 eax, DWORD PTR [edx+60]
  0030b	ff d0		 call	 eax
  0030d	50		 push	 eax
  0030e	8b 4d ac	 mov	 ecx, DWORD PTR $T359793[ebp]
  00311	e8 00 00 00 00	 call	 ??0CCalSetting@@QAE@PAVCSliderSetting@@@Z ; CCalSetting::CCalSetting
  00316	89 85 70 ff ff
	ff		 mov	 DWORD PTR tv224[ebp], eax
  0031c	eb 0a		 jmp	 SHORT $LN48@Start@6
$LN47@Start@6:
  0031e	c7 85 70 ff ff
	ff 00 00 00 00	 mov	 DWORD PTR tv224[ebp], 0
$LN48@Start@6:
  00328	8b 8d 70 ff ff
	ff		 mov	 ecx, DWORD PTR tv224[ebp]
  0032e	89 4d b0	 mov	 DWORD PTR $T359792[ebp], ecx
  00331	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00338	8b 55 90	 mov	 edx, DWORD PTR _this$[ebp]
  0033b	8b 45 b0	 mov	 eax, DWORD PTR $T359792[ebp]
  0033e	89 42 30	 mov	 DWORD PTR [edx+48], eax

; 860  :         m_Saturation_U->Update();

  00341	8b 4d 90	 mov	 ecx, DWORD PTR _this$[ebp]
  00344	8b 49 30	 mov	 ecx, DWORD PTR [ecx+48]
  00347	e8 00 00 00 00	 call	 ?Update@CCalSetting@@QAEHXZ ; CCalSetting::Update

; 861  :         m_Saturation_U->Save();

  0034c	8b 55 90	 mov	 edx, DWORD PTR _this$[ebp]
  0034f	8b 4a 30	 mov	 ecx, DWORD PTR [edx+48]
  00352	e8 00 00 00 00	 call	 ?Save@CCalSetting@@QAEXXZ ; CCalSetting::Save
$LN19@Start@6:

; 862  :     }
; 863  :     if (pSource->GetSaturationV() != NULL)

  00357	8b 45 f0	 mov	 eax, DWORD PTR _pSource$[ebp]
  0035a	8b 10		 mov	 edx, DWORD PTR [eax]
  0035c	8b 4d f0	 mov	 ecx, DWORD PTR _pSource$[ebp]
  0035f	8b 42 40	 mov	 eax, DWORD PTR [edx+64]
  00362	ff d0		 call	 eax
  00364	85 c0		 test	 eax, eax
  00366	74 71		 je	 SHORT $LN18@Start@6

; 864  :     {
; 865  :         m_Saturation_V = new CCalSetting(pSource->GetSaturationV());

  00368	6a 38		 push	 56			; 00000038H
  0036a	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  0036f	83 c4 04	 add	 esp, 4
  00372	89 45 a4	 mov	 DWORD PTR $T359797[ebp], eax
  00375	c7 45 fc 03 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 3
  0037c	83 7d a4 00	 cmp	 DWORD PTR $T359797[ebp], 0
  00380	74 1e		 je	 SHORT $LN49@Start@6
  00382	8b 4d f0	 mov	 ecx, DWORD PTR _pSource$[ebp]
  00385	8b 11		 mov	 edx, DWORD PTR [ecx]
  00387	8b 4d f0	 mov	 ecx, DWORD PTR _pSource$[ebp]
  0038a	8b 42 40	 mov	 eax, DWORD PTR [edx+64]
  0038d	ff d0		 call	 eax
  0038f	50		 push	 eax
  00390	8b 4d a4	 mov	 ecx, DWORD PTR $T359797[ebp]
  00393	e8 00 00 00 00	 call	 ??0CCalSetting@@QAE@PAVCSliderSetting@@@Z ; CCalSetting::CCalSetting
  00398	89 85 6c ff ff
	ff		 mov	 DWORD PTR tv246[ebp], eax
  0039e	eb 0a		 jmp	 SHORT $LN50@Start@6
$LN49@Start@6:
  003a0	c7 85 6c ff ff
	ff 00 00 00 00	 mov	 DWORD PTR tv246[ebp], 0
$LN50@Start@6:
  003aa	8b 8d 6c ff ff
	ff		 mov	 ecx, DWORD PTR tv246[ebp]
  003b0	89 4d a8	 mov	 DWORD PTR $T359796[ebp], ecx
  003b3	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  003ba	8b 55 90	 mov	 edx, DWORD PTR _this$[ebp]
  003bd	8b 45 a8	 mov	 eax, DWORD PTR $T359796[ebp]
  003c0	89 42 34	 mov	 DWORD PTR [edx+52], eax

; 866  :         m_Saturation_V->Update();

  003c3	8b 4d 90	 mov	 ecx, DWORD PTR _this$[ebp]
  003c6	8b 49 34	 mov	 ecx, DWORD PTR [ecx+52]
  003c9	e8 00 00 00 00	 call	 ?Update@CCalSetting@@QAEHXZ ; CCalSetting::Update

; 867  :         m_Saturation_V->Save();

  003ce	8b 55 90	 mov	 edx, DWORD PTR _this$[ebp]
  003d1	8b 4a 34	 mov	 ecx, DWORD PTR [edx+52]
  003d4	e8 00 00 00 00	 call	 ?Save@CCalSetting@@QAEXXZ ; CCalSetting::Save
$LN18@Start@6:

; 868  :     }
; 869  :     // This case if for cards which have only one unique color setting
; 870  :     if (pSource->GetSaturationU() == NULL && pSource->GetSaturationV() == NULL && pSource->GetSaturation() != NULL)

  003d9	8b 45 f0	 mov	 eax, DWORD PTR _pSource$[ebp]
  003dc	8b 10		 mov	 edx, DWORD PTR [eax]
  003de	8b 4d f0	 mov	 ecx, DWORD PTR _pSource$[ebp]
  003e1	8b 42 3c	 mov	 eax, DWORD PTR [edx+60]
  003e4	ff d0		 call	 eax
  003e6	85 c0		 test	 eax, eax
  003e8	0f 85 97 00 00
	00		 jne	 $LN17@Start@6
  003ee	8b 4d f0	 mov	 ecx, DWORD PTR _pSource$[ebp]
  003f1	8b 11		 mov	 edx, DWORD PTR [ecx]
  003f3	8b 4d f0	 mov	 ecx, DWORD PTR _pSource$[ebp]
  003f6	8b 42 40	 mov	 eax, DWORD PTR [edx+64]
  003f9	ff d0		 call	 eax
  003fb	85 c0		 test	 eax, eax
  003fd	0f 85 82 00 00
	00		 jne	 $LN17@Start@6
  00403	8b 4d f0	 mov	 ecx, DWORD PTR _pSource$[ebp]
  00406	8b 11		 mov	 edx, DWORD PTR [ecx]
  00408	8b 4d f0	 mov	 ecx, DWORD PTR _pSource$[ebp]
  0040b	8b 42 38	 mov	 eax, DWORD PTR [edx+56]
  0040e	ff d0		 call	 eax
  00410	85 c0		 test	 eax, eax
  00412	74 71		 je	 SHORT $LN17@Start@6

; 871  :     {
; 872  :         m_Saturation_U = new CCalSetting(pSource->GetSaturation());

  00414	6a 38		 push	 56			; 00000038H
  00416	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  0041b	83 c4 04	 add	 esp, 4
  0041e	89 45 9c	 mov	 DWORD PTR $T359801[ebp], eax
  00421	c7 45 fc 04 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 4
  00428	83 7d 9c 00	 cmp	 DWORD PTR $T359801[ebp], 0
  0042c	74 1e		 je	 SHORT $LN51@Start@6
  0042e	8b 4d f0	 mov	 ecx, DWORD PTR _pSource$[ebp]
  00431	8b 11		 mov	 edx, DWORD PTR [ecx]
  00433	8b 4d f0	 mov	 ecx, DWORD PTR _pSource$[ebp]
  00436	8b 42 38	 mov	 eax, DWORD PTR [edx+56]
  00439	ff d0		 call	 eax
  0043b	50		 push	 eax
  0043c	8b 4d 9c	 mov	 ecx, DWORD PTR $T359801[ebp]
  0043f	e8 00 00 00 00	 call	 ??0CCalSetting@@QAE@PAVCSliderSetting@@@Z ; CCalSetting::CCalSetting
  00444	89 85 68 ff ff
	ff		 mov	 DWORD PTR tv278[ebp], eax
  0044a	eb 0a		 jmp	 SHORT $LN52@Start@6
$LN51@Start@6:
  0044c	c7 85 68 ff ff
	ff 00 00 00 00	 mov	 DWORD PTR tv278[ebp], 0
$LN52@Start@6:
  00456	8b 8d 68 ff ff
	ff		 mov	 ecx, DWORD PTR tv278[ebp]
  0045c	89 4d a0	 mov	 DWORD PTR $T359800[ebp], ecx
  0045f	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00466	8b 55 90	 mov	 edx, DWORD PTR _this$[ebp]
  00469	8b 45 a0	 mov	 eax, DWORD PTR $T359800[ebp]
  0046c	89 42 30	 mov	 DWORD PTR [edx+48], eax

; 873  :         m_Saturation_U->Update();

  0046f	8b 4d 90	 mov	 ecx, DWORD PTR _this$[ebp]
  00472	8b 49 30	 mov	 ecx, DWORD PTR [ecx+48]
  00475	e8 00 00 00 00	 call	 ?Update@CCalSetting@@QAEHXZ ; CCalSetting::Update

; 874  :         m_Saturation_U->Save();

  0047a	8b 55 90	 mov	 edx, DWORD PTR _this$[ebp]
  0047d	8b 4a 30	 mov	 ecx, DWORD PTR [edx+48]
  00480	e8 00 00 00 00	 call	 ?Save@CCalSetting@@QAEXXZ ; CCalSetting::Save
$LN17@Start@6:

; 875  :     }
; 876  :     if (pSource->GetHue() != NULL)

  00485	8b 45 f0	 mov	 eax, DWORD PTR _pSource$[ebp]
  00488	8b 10		 mov	 edx, DWORD PTR [eax]
  0048a	8b 4d f0	 mov	 ecx, DWORD PTR _pSource$[ebp]
  0048d	8b 42 34	 mov	 eax, DWORD PTR [edx+52]
  00490	ff d0		 call	 eax
  00492	85 c0		 test	 eax, eax
  00494	74 71		 je	 SHORT $LN16@Start@6

; 877  :     {
; 878  :         m_Hue = new CCalSetting(pSource->GetHue());

  00496	6a 38		 push	 56			; 00000038H
  00498	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  0049d	83 c4 04	 add	 esp, 4
  004a0	89 45 94	 mov	 DWORD PTR $T359805[ebp], eax
  004a3	c7 45 fc 05 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 5
  004aa	83 7d 94 00	 cmp	 DWORD PTR $T359805[ebp], 0
  004ae	74 1e		 je	 SHORT $LN53@Start@6
  004b0	8b 4d f0	 mov	 ecx, DWORD PTR _pSource$[ebp]
  004b3	8b 11		 mov	 edx, DWORD PTR [ecx]
  004b5	8b 4d f0	 mov	 ecx, DWORD PTR _pSource$[ebp]
  004b8	8b 42 34	 mov	 eax, DWORD PTR [edx+52]
  004bb	ff d0		 call	 eax
  004bd	50		 push	 eax
  004be	8b 4d 94	 mov	 ecx, DWORD PTR $T359805[ebp]
  004c1	e8 00 00 00 00	 call	 ??0CCalSetting@@QAE@PAVCSliderSetting@@@Z ; CCalSetting::CCalSetting
  004c6	89 85 64 ff ff
	ff		 mov	 DWORD PTR tv300[ebp], eax
  004cc	eb 0a		 jmp	 SHORT $LN54@Start@6
$LN53@Start@6:
  004ce	c7 85 64 ff ff
	ff 00 00 00 00	 mov	 DWORD PTR tv300[ebp], 0
$LN54@Start@6:
  004d8	8b 8d 64 ff ff
	ff		 mov	 ecx, DWORD PTR tv300[ebp]
  004de	89 4d 98	 mov	 DWORD PTR $T359804[ebp], ecx
  004e1	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  004e8	8b 55 90	 mov	 edx, DWORD PTR _this$[ebp]
  004eb	8b 45 98	 mov	 eax, DWORD PTR $T359804[ebp]
  004ee	89 42 38	 mov	 DWORD PTR [edx+56], eax

; 879  :         m_Hue->Update();

  004f1	8b 4d 90	 mov	 ecx, DWORD PTR _this$[ebp]
  004f4	8b 49 38	 mov	 ecx, DWORD PTR [ecx+56]
  004f7	e8 00 00 00 00	 call	 ?Update@CCalSetting@@QAEHXZ ; CCalSetting::Update

; 880  :         m_Hue->Save();

  004fc	8b 55 90	 mov	 edx, DWORD PTR _this$[ebp]
  004ff	8b 4a 38	 mov	 ecx, DWORD PTR [edx+56]
  00502	e8 00 00 00 00	 call	 ?Save@CCalSetting@@QAEXXZ ; CCalSetting::Save
$LN16@Start@6:

; 881  :     }
; 882  : 
; 883  :     m_TypeCalibration = type;

  00507	8b 45 90	 mov	 eax, DWORD PTR _this$[ebp]
  0050a	8b 4d 08	 mov	 ecx, DWORD PTR _type$[ebp]
  0050d	89 48 20	 mov	 DWORD PTR [eax+32], ecx

; 884  : 
; 885  :     switch (m_TypeCalibration)

  00510	8b 55 90	 mov	 edx, DWORD PTR _this$[ebp]
  00513	8b 42 20	 mov	 eax, DWORD PTR [edx+32]
  00516	89 85 60 ff ff
	ff		 mov	 DWORD PTR tv306[ebp], eax
  0051c	83 bd 60 ff ff
	ff 04		 cmp	 DWORD PTR tv306[ebp], 4
  00523	0f 87 4d 01 00
	00		 ja	 $LN2@Start@6
  00529	8b 8d 60 ff ff
	ff		 mov	 ecx, DWORD PTR tv306[ebp]
  0052f	ff 24 8d 00 00
	00 00		 jmp	 DWORD PTR $LN62@Start@6[ecx*4]
$LN13@Start@6:

; 886  :     {
; 887  :     case CAL_AUTO_BRIGHT_CONTRAST:
; 888  :         initial_step = 1;

  00536	8b 55 90	 mov	 edx, DWORD PTR _this$[ebp]
  00539	c7 42 40 01 00
	00 00		 mov	 DWORD PTR [edx+64], 1

; 889  :         nb_steps = 11;

  00540	8b 45 90	 mov	 eax, DWORD PTR _this$[ebp]
  00543	c7 40 44 0b 00
	00 00		 mov	 DWORD PTR [eax+68], 11	; 0000000bH

; 890  :         if (m_Brightness != NULL && m_Contrast != NULL)

  0054a	8b 4d 90	 mov	 ecx, DWORD PTR _this$[ebp]
  0054d	83 79 28 00	 cmp	 DWORD PTR [ecx+40], 0
  00551	74 26		 je	 SHORT $LN12@Start@6
  00553	8b 55 90	 mov	 edx, DWORD PTR _this$[ebp]
  00556	83 7a 2c 00	 cmp	 DWORD PTR [edx+44], 0
  0055a	74 1d		 je	 SHORT $LN12@Start@6

; 891  :         {
; 892  :             OkToStart = TRUE;

  0055c	c7 45 ec 01 00
	00 00		 mov	 DWORD PTR _OkToStart$[ebp], 1

; 893  :             m_Brightness->AdjustDefault();

  00563	8b 45 90	 mov	 eax, DWORD PTR _this$[ebp]
  00566	8b 48 28	 mov	 ecx, DWORD PTR [eax+40]
  00569	e8 00 00 00 00	 call	 ?AdjustDefault@CCalSetting@@QAEXXZ ; CCalSetting::AdjustDefault

; 894  :             m_Contrast->AdjustDefault();

  0056e	8b 4d 90	 mov	 ecx, DWORD PTR _this$[ebp]
  00571	8b 49 2c	 mov	 ecx, DWORD PTR [ecx+44]
  00574	e8 00 00 00 00	 call	 ?AdjustDefault@CCalSetting@@QAEXXZ ; CCalSetting::AdjustDefault
$LN12@Start@6:

; 895  :         }
; 896  :         break;

  00579	e9 f8 00 00 00	 jmp	 $LN14@Start@6
$LN11@Start@6:

; 897  :     case CAL_AUTO_COLOR:
; 898  :         initial_step = 12;

  0057e	8b 55 90	 mov	 edx, DWORD PTR _this$[ebp]
  00581	c7 42 40 0c 00
	00 00		 mov	 DWORD PTR [edx+64], 12	; 0000000cH

; 899  :         nb_steps = 12;

  00588	8b 45 90	 mov	 eax, DWORD PTR _this$[ebp]
  0058b	c7 40 44 0c 00
	00 00		 mov	 DWORD PTR [eax+68], 12	; 0000000cH

; 900  :         if (m_Saturation_U != NULL)

  00592	8b 4d 90	 mov	 ecx, DWORD PTR _this$[ebp]
  00595	83 79 30 00	 cmp	 DWORD PTR [ecx+48], 0
  00599	74 3a		 je	 SHORT $LN8@Start@6

; 901  :         {
; 902  :             OkToStart = TRUE;

  0059b	c7 45 ec 01 00
	00 00		 mov	 DWORD PTR _OkToStart$[ebp], 1

; 903  :             m_Saturation_U->AdjustDefault();

  005a2	8b 55 90	 mov	 edx, DWORD PTR _this$[ebp]
  005a5	8b 4a 30	 mov	 ecx, DWORD PTR [edx+48]
  005a8	e8 00 00 00 00	 call	 ?AdjustDefault@CCalSetting@@QAEXXZ ; CCalSetting::AdjustDefault

; 904  :             if (m_Saturation_V != NULL)

  005ad	8b 45 90	 mov	 eax, DWORD PTR _this$[ebp]
  005b0	83 78 34 00	 cmp	 DWORD PTR [eax+52], 0
  005b4	74 0b		 je	 SHORT $LN9@Start@6

; 905  :             {
; 906  :                 m_Saturation_V->AdjustDefault();

  005b6	8b 4d 90	 mov	 ecx, DWORD PTR _this$[ebp]
  005b9	8b 49 34	 mov	 ecx, DWORD PTR [ecx+52]
  005bc	e8 00 00 00 00	 call	 ?AdjustDefault@CCalSetting@@QAEXXZ ; CCalSetting::AdjustDefault
$LN9@Start@6:

; 907  :             }
; 908  :             if (m_Hue != NULL)

  005c1	8b 55 90	 mov	 edx, DWORD PTR _this$[ebp]
  005c4	83 7a 38 00	 cmp	 DWORD PTR [edx+56], 0
  005c8	74 0b		 je	 SHORT $LN8@Start@6

; 909  :             {
; 910  :                 m_Hue->AdjustDefault();

  005ca	8b 45 90	 mov	 eax, DWORD PTR _this$[ebp]
  005cd	8b 48 38	 mov	 ecx, DWORD PTR [eax+56]
  005d0	e8 00 00 00 00	 call	 ?AdjustDefault@CCalSetting@@QAEXXZ ; CCalSetting::AdjustDefault
$LN8@Start@6:

; 911  :             }
; 912  :         }
; 913  :         break;

  005d5	e9 9c 00 00 00	 jmp	 $LN14@Start@6
$LN7@Start@6:

; 914  :     case CAL_AUTO_FULL:
; 915  :         initial_step = 1;

  005da	8b 4d 90	 mov	 ecx, DWORD PTR _this$[ebp]
  005dd	c7 41 40 01 00
	00 00		 mov	 DWORD PTR [ecx+64], 1

; 916  :         nb_steps = 23;

  005e4	8b 55 90	 mov	 edx, DWORD PTR _this$[ebp]
  005e7	c7 42 44 17 00
	00 00		 mov	 DWORD PTR [edx+68], 23	; 00000017H

; 917  :         if (m_Brightness != NULL && m_Contrast != NULL && m_Saturation_U != NULL)

  005ee	8b 45 90	 mov	 eax, DWORD PTR _this$[ebp]
  005f1	83 78 28 00	 cmp	 DWORD PTR [eax+40], 0
  005f5	74 62		 je	 SHORT $LN4@Start@6
  005f7	8b 4d 90	 mov	 ecx, DWORD PTR _this$[ebp]
  005fa	83 79 2c 00	 cmp	 DWORD PTR [ecx+44], 0
  005fe	74 59		 je	 SHORT $LN4@Start@6
  00600	8b 55 90	 mov	 edx, DWORD PTR _this$[ebp]
  00603	83 7a 30 00	 cmp	 DWORD PTR [edx+48], 0
  00607	74 50		 je	 SHORT $LN4@Start@6

; 918  :         {
; 919  :             OkToStart = TRUE;

  00609	c7 45 ec 01 00
	00 00		 mov	 DWORD PTR _OkToStart$[ebp], 1

; 920  :             m_Brightness->AdjustDefault();

  00610	8b 45 90	 mov	 eax, DWORD PTR _this$[ebp]
  00613	8b 48 28	 mov	 ecx, DWORD PTR [eax+40]
  00616	e8 00 00 00 00	 call	 ?AdjustDefault@CCalSetting@@QAEXXZ ; CCalSetting::AdjustDefault

; 921  :             m_Contrast->AdjustDefault();

  0061b	8b 4d 90	 mov	 ecx, DWORD PTR _this$[ebp]
  0061e	8b 49 2c	 mov	 ecx, DWORD PTR [ecx+44]
  00621	e8 00 00 00 00	 call	 ?AdjustDefault@CCalSetting@@QAEXXZ ; CCalSetting::AdjustDefault

; 922  :             m_Saturation_U->AdjustDefault();

  00626	8b 55 90	 mov	 edx, DWORD PTR _this$[ebp]
  00629	8b 4a 30	 mov	 ecx, DWORD PTR [edx+48]
  0062c	e8 00 00 00 00	 call	 ?AdjustDefault@CCalSetting@@QAEXXZ ; CCalSetting::AdjustDefault

; 923  :             if (m_Saturation_V != NULL)

  00631	8b 45 90	 mov	 eax, DWORD PTR _this$[ebp]
  00634	83 78 34 00	 cmp	 DWORD PTR [eax+52], 0
  00638	74 0b		 je	 SHORT $LN5@Start@6

; 924  :             {
; 925  :                 m_Saturation_V->AdjustDefault();

  0063a	8b 4d 90	 mov	 ecx, DWORD PTR _this$[ebp]
  0063d	8b 49 34	 mov	 ecx, DWORD PTR [ecx+52]
  00640	e8 00 00 00 00	 call	 ?AdjustDefault@CCalSetting@@QAEXXZ ; CCalSetting::AdjustDefault
$LN5@Start@6:

; 926  :             }
; 927  :             if (m_Hue != NULL)

  00645	8b 55 90	 mov	 edx, DWORD PTR _this$[ebp]
  00648	83 7a 38 00	 cmp	 DWORD PTR [edx+56], 0
  0064c	74 0b		 je	 SHORT $LN4@Start@6

; 928  :             {
; 929  :                 m_Hue->AdjustDefault();

  0064e	8b 45 90	 mov	 eax, DWORD PTR _this$[ebp]
  00651	8b 48 38	 mov	 ecx, DWORD PTR [eax+56]
  00654	e8 00 00 00 00	 call	 ?AdjustDefault@CCalSetting@@QAEXXZ ; CCalSetting::AdjustDefault
$LN4@Start@6:

; 930  :             }
; 931  :         }
; 932  :         break;

  00659	eb 1b		 jmp	 SHORT $LN14@Start@6
$LN3@Start@6:

; 933  :     case CAL_MANUAL:
; 934  :     case CAL_CHECK_YUV_RANGE:
; 935  :         initial_step = 0;

  0065b	8b 4d 90	 mov	 ecx, DWORD PTR _this$[ebp]
  0065e	c7 41 40 00 00
	00 00		 mov	 DWORD PTR [ecx+64], 0

; 936  :         nb_steps = 1;

  00665	8b 55 90	 mov	 edx, DWORD PTR _this$[ebp]
  00668	c7 42 44 01 00
	00 00		 mov	 DWORD PTR [edx+68], 1

; 937  :         OkToStart = TRUE;

  0066f	c7 45 ec 01 00
	00 00		 mov	 DWORD PTR _OkToStart$[ebp], 1
$LN2@Start@6:
$LN14@Start@6:

; 938  :         break;
; 939  :     default:
; 940  :         break;
; 941  :     }
; 942  :     if (OkToStart)

  00676	83 7d ec 00	 cmp	 DWORD PTR _OkToStart$[ebp], 0
  0067a	74 46		 je	 SHORT $LN1@Start@6

; 943  :     {
; 944  :         current_step = initial_step;

  0067c	8b 45 90	 mov	 eax, DWORD PTR _this$[ebp]
  0067f	8b 4d 90	 mov	 ecx, DWORD PTR _this$[ebp]
  00682	8b 51 40	 mov	 edx, DWORD PTR [ecx+64]
  00685	89 50 48	 mov	 DWORD PTR [eax+72], edx

; 945  :         full_range = FALSE;

  00688	8b 45 90	 mov	 eax, DWORD PTR _this$[ebp]
  0068b	c7 40 4c 00 00
	00 00		 mov	 DWORD PTR [eax+76], 0

; 946  :         nb_tries = 0;

  00692	8b 4d 90	 mov	 ecx, DWORD PTR _this$[ebp]
  00695	c7 41 50 00 00
	00 00		 mov	 DWORD PTR [ecx+80], 0

; 947  :         first_calc = TRUE;

  0069c	8b 55 90	 mov	 edx, DWORD PTR _this$[ebp]
  0069f	c7 42 5c 01 00
	00 00		 mov	 DWORD PTR [edx+92], 1

; 948  : 
; 949  :         // Display the specific OSD screen
; 950  :         OSD_ShowInfosScreen(0, 0);

  006a6	83 ec 08	 sub	 esp, 8
  006a9	d9 ee		 fldz
  006ab	dd 1c 24	 fstp	 QWORD PTR [esp]
  006ae	6a 00		 push	 0
  006b0	e8 00 00 00 00	 call	 ?OSD_ShowInfosScreen@@YAXHN@Z ; OSD_ShowInfosScreen
  006b5	83 c4 0c	 add	 esp, 12			; 0000000cH

; 951  : 
; 952  :         m_IsRunning = TRUE;

  006b8	8b 45 90	 mov	 eax, DWORD PTR _this$[ebp]
  006bb	c7 40 24 01 00
	00 00		 mov	 DWORD PTR [eax+36], 1
$LN1@Start@6:
$LN31@Start@6:

; 953  :     }
; 954  : }

  006c2	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  006c5	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  006cc	59		 pop	 ecx
  006cd	8b e5		 mov	 esp, ebp
  006cf	5d		 pop	 ebp
  006d0	c2 04 00	 ret	 4
  006d3	90		 npad	 1
$LN62@Start@6:
  006d4	00 00 00 00	 DD	 $LN3@Start@6
  006d8	00 00 00 00	 DD	 $LN13@Start@6
  006dc	00 00 00 00	 DD	 $LN11@Start@6
  006e0	00 00 00 00	 DD	 $LN7@Start@6
  006e4	00 00 00 00	 DD	 $LN3@Start@6
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Start@CCalibration@@QAEXW4eTypeCalibration@@@Z$0:
  00000	8b 45 bc	 mov	 eax, DWORD PTR $T359785[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
__unwindfunclet$?Start@CCalibration@@QAEXW4eTypeCalibration@@@Z$1:
  0000b	8b 45 b4	 mov	 eax, DWORD PTR $T359789[ebp]
  0000e	50		 push	 eax
  0000f	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00014	59		 pop	 ecx
  00015	c3		 ret	 0
__unwindfunclet$?Start@CCalibration@@QAEXW4eTypeCalibration@@@Z$2:
  00016	8b 45 ac	 mov	 eax, DWORD PTR $T359793[ebp]
  00019	50		 push	 eax
  0001a	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  0001f	59		 pop	 ecx
  00020	c3		 ret	 0
__unwindfunclet$?Start@CCalibration@@QAEXW4eTypeCalibration@@@Z$3:
  00021	8b 45 a4	 mov	 eax, DWORD PTR $T359797[ebp]
  00024	50		 push	 eax
  00025	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  0002a	59		 pop	 ecx
  0002b	c3		 ret	 0
__unwindfunclet$?Start@CCalibration@@QAEXW4eTypeCalibration@@@Z$4:
  0002c	8b 45 9c	 mov	 eax, DWORD PTR $T359801[ebp]
  0002f	50		 push	 eax
  00030	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00035	59		 pop	 ecx
  00036	c3		 ret	 0
__unwindfunclet$?Start@CCalibration@@QAEXW4eTypeCalibration@@@Z$5:
  00037	8b 45 94	 mov	 eax, DWORD PTR $T359805[ebp]
  0003a	50		 push	 eax
  0003b	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00040	59		 pop	 ecx
  00041	c3		 ret	 0
__ehhandler$?Start@CCalibration@@QAEXW4eTypeCalibration@@@Z:
  00042	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00046	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00049	8b 8a 68 ff ff
	ff		 mov	 ecx, DWORD PTR [edx-152]
  0004f	33 c8		 xor	 ecx, eax
  00051	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00056	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?Start@CCalibration@@QAEXW4eTypeCalibration@@@Z
  0005b	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?Start@CCalibration@@QAEXW4eTypeCalibration@@@Z ENDP	; CCalibration::Start
PUBLIC	?AdjustBest@CCalSetting@@QAEXXZ			; CCalSetting::AdjustBest
; Function compile flags: /Odtp
;	COMDAT ?AdjustBest@CCalSetting@@QAEXXZ
_TEXT	SEGMENT
_this$ = -20						; size = 4
_nb_min$ = -16						; size = 4
_best_val_max$ = -12					; size = 4
_mask$ = -8						; size = 4
_best_val_min$ = -4					; size = 4
?AdjustBest@CCalSetting@@QAEXXZ PROC			; CCalSetting::AdjustBest, COMDAT
; _this$ = ecx

; 238  : {

  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

; 239  :     int nb_min;
; 240  :     int best_val_min;
; 241  :     int best_val_max;
; 242  :     unsigned int* mask;
; 243  : 
; 244  :     nb_min = GetResult(&mask, &best_val_min, &best_val_max);

  00009	8d 45 f4	 lea	 eax, DWORD PTR _best_val_max$[ebp]
  0000c	50		 push	 eax
  0000d	8d 4d fc	 lea	 ecx, DWORD PTR _best_val_min$[ebp]
  00010	51		 push	 ecx
  00011	8d 55 f8	 lea	 edx, DWORD PTR _mask$[ebp]
  00014	52		 push	 edx
  00015	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00018	e8 00 00 00 00	 call	 ?GetResult@CCalSetting@@QAEHPAPAIPAH1@Z ; CCalSetting::GetResult
  0001d	89 45 f0	 mov	 DWORD PTR _nb_min$[ebp], eax

; 245  :     free(mask);

  00020	8b 45 f8	 mov	 eax, DWORD PTR _mask$[ebp]
  00023	50		 push	 eax
  00024	e8 00 00 00 00	 call	 _free
  00029	83 c4 04	 add	 esp, 4

; 246  :     if (nb_min > 0)

  0002c	83 7d f0 00	 cmp	 DWORD PTR _nb_min$[ebp], 0
  00030	7e 0e		 jle	 SHORT $LN2@AdjustBest

; 247  :     {
; 248  :         // Set the setting to one of the best found values
; 249  :         Adjust(best_val_max);

  00032	8b 4d f4	 mov	 ecx, DWORD PTR _best_val_max$[ebp]
  00035	51		 push	 ecx
  00036	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00039	e8 00 00 00 00	 call	 ?Adjust@CCalSetting@@IAEXH@Z ; CCalSetting::Adjust

; 250  :     }
; 251  :     else

  0003e	eb 08		 jmp	 SHORT $LN1@AdjustBest
$LN2@AdjustBest:

; 252  :     {
; 253  :         // Set the setting to its default value
; 254  :         AdjustDefault();

  00040	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00043	e8 00 00 00 00	 call	 ?AdjustDefault@CCalSetting@@QAEXXZ ; CCalSetting::AdjustDefault
$LN1@AdjustBest:

; 255  :     }
; 256  :     LOG(2, _T("Automatic Calibration - finished - %d values between %d and %d => %d"), nb_min, best_val_min, best_val_max, current_value);

  00048	8b 55 ec	 mov	 edx, DWORD PTR _this$[ebp]
  0004b	8b 42 20	 mov	 eax, DWORD PTR [edx+32]
  0004e	50		 push	 eax
  0004f	8b 4d f4	 mov	 ecx, DWORD PTR _best_val_max$[ebp]
  00052	51		 push	 ecx
  00053	8b 55 fc	 mov	 edx, DWORD PTR _best_val_min$[ebp]
  00056	52		 push	 edx
  00057	8b 45 f0	 mov	 eax, DWORD PTR _nb_min$[ebp]
  0005a	50		 push	 eax
  0005b	68 00 00 00 00	 push	 OFFSET ??_C@_1IK@IBKBBCCF@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAf?$AAi?$AAn?$AAi?$AAs?$AAh?$AAe?$AAd@
  00060	6a 02		 push	 2
  00062	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00067	83 c4 18	 add	 esp, 24			; 00000018H

; 257  : }

  0006a	8b e5		 mov	 esp, ebp
  0006c	5d		 pop	 ebp
  0006d	c3		 ret	 0
?AdjustBest@CCalSetting@@QAEXXZ ENDP			; CCalSetting::AdjustBest
PUBLIC	?step_process@CCalibration@@AAEHPAUTDeinterlaceInfo@@IIHHPAH@Z ; CCalibration::step_process
; Function compile flags: /Odtp
;	COMDAT ?step_process@CCalibration@@AAEHPAUTDeinterlaceInfo@@IIHHPAH@Z
_TEXT	SEGMENT
tv161 = -40						; size = 4
tv149 = -36						; size = 4
tv137 = -32						; size = 4
_this$ = -28						; size = 4
_YUV$ = -24						; size = 4
_val$ = -20						; size = 16
_idx$ = -4						; size = 4
_pInfo$ = 8						; size = 4
_sig_component$ = 12					; size = 4
_nb_calc$ = 16						; size = 4
_stop_when_found$ = 20					; size = 4
_only_one$ = 24						; size = 4
_best_found$ = 28					; size = 4
?step_process@CCalibration@@AAEHPAUTDeinterlaceInfo@@IIHHPAH@Z PROC ; CCalibration::step_process, COMDAT
; _this$ = ecx

; 1454 : {

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

; 1455 :     int val[4];
; 1456 :     BOOL YUV;
; 1457 :     int idx;
; 1458 : //    int dif;
; 1459 : 
; 1460 :     // Calculations with current settings
; 1461 :     m_CurSubPat->CalcCurrentSubPattern(TRUE, 1, pInfo);

  00009	8b 45 08	 mov	 eax, DWORD PTR _pInfo$[ebp]
  0000c	50		 push	 eax
  0000d	6a 01		 push	 1
  0000f	6a 01		 push	 1
  00011	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00014	8b 49 1c	 mov	 ecx, DWORD PTR [ecx+28]
  00017	e8 00 00 00 00	 call	 ?CalcCurrentSubPattern@CSubPattern@@QAEHHIPAUTDeinterlaceInfo@@@Z ; CSubPattern::CalcCurrentSubPattern

; 1462 : 
; 1463 :     // See how good is the red result
; 1464 :     if ((sig_component >= 1) && (sig_component <= 4))

  0001c	83 7d 0c 01	 cmp	 DWORD PTR _sig_component$[ebp], 1
  00020	72 18		 jb	 SHORT $LN19@step_proce
  00022	83 7d 0c 04	 cmp	 DWORD PTR _sig_component$[ebp], 4
  00026	77 12		 ja	 SHORT $LN19@step_proce

; 1465 :     {
; 1466 :         YUV = TRUE;

  00028	c7 45 e8 01 00
	00 00		 mov	 DWORD PTR _YUV$[ebp], 1

; 1467 :         idx = sig_component - 1;

  0002f	8b 55 0c	 mov	 edx, DWORD PTR _sig_component$[ebp]
  00032	83 ea 01	 sub	 edx, 1
  00035	89 55 fc	 mov	 DWORD PTR _idx$[ebp], edx
  00038	eb 1c		 jmp	 SHORT $LN18@step_proce
$LN19@step_proce:

; 1468 :     }
; 1469 :     else if ((sig_component >= 5) && (sig_component <= 8))

  0003a	83 7d 0c 05	 cmp	 DWORD PTR _sig_component$[ebp], 5
  0003e	72 16		 jb	 SHORT $LN18@step_proce
  00040	83 7d 0c 08	 cmp	 DWORD PTR _sig_component$[ebp], 8
  00044	77 10		 ja	 SHORT $LN18@step_proce

; 1470 :     {
; 1471 :         YUV = FALSE;

  00046	c7 45 e8 00 00
	00 00		 mov	 DWORD PTR _YUV$[ebp], 0

; 1472 :         idx = sig_component - 5;

  0004d	8b 45 0c	 mov	 eax, DWORD PTR _sig_component$[ebp]
  00050	83 e8 05	 sub	 eax, 5
  00053	89 45 fc	 mov	 DWORD PTR _idx$[ebp], eax
$LN18@step_proce:

; 1473 :     }
; 1474 :     m_CurSubPat->GetSumDeltaColor(YUV, &val[0], &val[1], &val[2], &val[3]);

  00056	8d 4d f8	 lea	 ecx, DWORD PTR _val$[ebp+12]
  00059	51		 push	 ecx
  0005a	8d 55 f4	 lea	 edx, DWORD PTR _val$[ebp+8]
  0005d	52		 push	 edx
  0005e	8d 45 f0	 lea	 eax, DWORD PTR _val$[ebp+4]
  00061	50		 push	 eax
  00062	8d 4d ec	 lea	 ecx, DWORD PTR _val$[ebp]
  00065	51		 push	 ecx
  00066	8b 55 e8	 mov	 edx, DWORD PTR _YUV$[ebp]
  00069	52		 push	 edx
  0006a	8b 45 e4	 mov	 eax, DWORD PTR _this$[ebp]
  0006d	8b 48 1c	 mov	 ecx, DWORD PTR [eax+28]
  00070	e8 00 00 00 00	 call	 ?GetSumDeltaColor@CSubPattern@@QAEXHPAH000@Z ; CSubPattern::GetSumDeltaColor

; 1475 : //    dif = val[idx];
; 1476 :     total_dif += val[idx];

  00075	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00078	8b 51 54	 mov	 edx, DWORD PTR [ecx+84]
  0007b	8b 45 fc	 mov	 eax, DWORD PTR _idx$[ebp]
  0007e	03 54 85 ec	 add	 edx, DWORD PTR _val$[ebp+eax*4]
  00082	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00085	89 51 54	 mov	 DWORD PTR [ecx+84], edx

; 1477 :     nb_calcul++;

  00088	8b 55 e4	 mov	 edx, DWORD PTR _this$[ebp]
  0008b	8b 42 58	 mov	 eax, DWORD PTR [edx+88]
  0008e	83 c0 01	 add	 eax, 1
  00091	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00094	89 41 58	 mov	 DWORD PTR [ecx+88], eax

; 1478 : 
; 1479 :     // Waiting at least 5 calculations
; 1480 :     if (nb_calcul < nb_calc)

  00097	8b 55 e4	 mov	 edx, DWORD PTR _this$[ebp]
  0009a	8b 42 58	 mov	 eax, DWORD PTR [edx+88]
  0009d	3b 45 10	 cmp	 eax, DWORD PTR _nb_calc$[ebp]
  000a0	73 11		 jae	 SHORT $LN16@step_proce

; 1481 :     {
; 1482 :         last_tick_count = -1;

  000a2	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  000a5	c7 41 3c ff ff
	ff ff		 mov	 DWORD PTR [ecx+60], -1

; 1483 :         return FALSE;

  000ac	33 c0		 xor	 eax, eax
  000ae	e9 b7 01 00 00	 jmp	 $LN20@step_proce
$LN16@step_proce:

; 1484 :     }
; 1485 : 
; 1486 :     if (setting1 != (CCalSetting* )NULL)

  000b3	8b 55 e4	 mov	 edx, DWORD PTR _this$[ebp]
  000b6	83 7a 60 00	 cmp	 DWORD PTR [edx+96], 0
  000ba	74 37		 je	 SHORT $LN15@step_proce

; 1487 :     {
; 1488 :        * best_found = setting1->UpdateResult(total_dif, stop_when_found ? DELTA_STOP*nb_calc : -1, only_one);

  000bc	83 7d 14 00	 cmp	 DWORD PTR _stop_when_found$[ebp], 0
  000c0	74 0b		 je	 SHORT $LN22@step_proce
  000c2	8b 45 10	 mov	 eax, DWORD PTR _nb_calc$[ebp]
  000c5	6b c0 05	 imul	 eax, 5
  000c8	89 45 e0	 mov	 DWORD PTR tv137[ebp], eax
  000cb	eb 07		 jmp	 SHORT $LN23@step_proce
$LN22@step_proce:
  000cd	c7 45 e0 ff ff
	ff ff		 mov	 DWORD PTR tv137[ebp], -1
$LN23@step_proce:
  000d4	8b 4d 18	 mov	 ecx, DWORD PTR _only_one$[ebp]
  000d7	51		 push	 ecx
  000d8	8b 55 e0	 mov	 edx, DWORD PTR tv137[ebp]
  000db	52		 push	 edx
  000dc	8b 45 e4	 mov	 eax, DWORD PTR _this$[ebp]
  000df	8b 48 54	 mov	 ecx, DWORD PTR [eax+84]
  000e2	51		 push	 ecx
  000e3	8b 55 e4	 mov	 edx, DWORD PTR _this$[ebp]
  000e6	8b 4a 60	 mov	 ecx, DWORD PTR [edx+96]
  000e9	e8 00 00 00 00	 call	 ?UpdateResult@CCalSetting@@QAEHHHH@Z ; CCalSetting::UpdateResult
  000ee	8b 4d 1c	 mov	 ecx, DWORD PTR _best_found$[ebp]
  000f1	89 01		 mov	 DWORD PTR [ecx], eax
$LN15@step_proce:

; 1489 : //       * best_found = setting1->UpdateResult(dif, stop_when_found ? DELTA_STOP : -1, only_one);
; 1490 :     }
; 1491 :     if (setting2 != (CCalSetting* )NULL)

  000f3	8b 55 e4	 mov	 edx, DWORD PTR _this$[ebp]
  000f6	83 7a 64 00	 cmp	 DWORD PTR [edx+100], 0
  000fa	74 37		 je	 SHORT $LN14@step_proce

; 1492 :     {
; 1493 :        * best_found = setting2->UpdateResult(total_dif, stop_when_found ? DELTA_STOP*nb_calc : -1, only_one);

  000fc	83 7d 14 00	 cmp	 DWORD PTR _stop_when_found$[ebp], 0
  00100	74 0b		 je	 SHORT $LN24@step_proce
  00102	8b 45 10	 mov	 eax, DWORD PTR _nb_calc$[ebp]
  00105	6b c0 05	 imul	 eax, 5
  00108	89 45 dc	 mov	 DWORD PTR tv149[ebp], eax
  0010b	eb 07		 jmp	 SHORT $LN25@step_proce
$LN24@step_proce:
  0010d	c7 45 dc ff ff
	ff ff		 mov	 DWORD PTR tv149[ebp], -1
$LN25@step_proce:
  00114	8b 4d 18	 mov	 ecx, DWORD PTR _only_one$[ebp]
  00117	51		 push	 ecx
  00118	8b 55 dc	 mov	 edx, DWORD PTR tv149[ebp]
  0011b	52		 push	 edx
  0011c	8b 45 e4	 mov	 eax, DWORD PTR _this$[ebp]
  0011f	8b 48 54	 mov	 ecx, DWORD PTR [eax+84]
  00122	51		 push	 ecx
  00123	8b 55 e4	 mov	 edx, DWORD PTR _this$[ebp]
  00126	8b 4a 64	 mov	 ecx, DWORD PTR [edx+100]
  00129	e8 00 00 00 00	 call	 ?UpdateResult@CCalSetting@@QAEHHHH@Z ; CCalSetting::UpdateResult
  0012e	8b 4d 1c	 mov	 ecx, DWORD PTR _best_found$[ebp]
  00131	89 01		 mov	 DWORD PTR [ecx], eax
$LN14@step_proce:

; 1494 : //       * best_found = setting2->UpdateResult(dif, stop_when_found ? DELTA_STOP : -1, only_one);
; 1495 :     }
; 1496 :     if (setting3 != (CCalSetting* )NULL)

  00133	8b 55 e4	 mov	 edx, DWORD PTR _this$[ebp]
  00136	83 7a 68 00	 cmp	 DWORD PTR [edx+104], 0
  0013a	74 37		 je	 SHORT $LN13@step_proce

; 1497 :     {
; 1498 :        * best_found = setting3->UpdateResult(total_dif, stop_when_found ? DELTA_STOP*nb_calc : -1, only_one);

  0013c	83 7d 14 00	 cmp	 DWORD PTR _stop_when_found$[ebp], 0
  00140	74 0b		 je	 SHORT $LN26@step_proce
  00142	8b 45 10	 mov	 eax, DWORD PTR _nb_calc$[ebp]
  00145	6b c0 05	 imul	 eax, 5
  00148	89 45 d8	 mov	 DWORD PTR tv161[ebp], eax
  0014b	eb 07		 jmp	 SHORT $LN27@step_proce
$LN26@step_proce:
  0014d	c7 45 d8 ff ff
	ff ff		 mov	 DWORD PTR tv161[ebp], -1
$LN27@step_proce:
  00154	8b 4d 18	 mov	 ecx, DWORD PTR _only_one$[ebp]
  00157	51		 push	 ecx
  00158	8b 55 d8	 mov	 edx, DWORD PTR tv161[ebp]
  0015b	52		 push	 edx
  0015c	8b 45 e4	 mov	 eax, DWORD PTR _this$[ebp]
  0015f	8b 48 54	 mov	 ecx, DWORD PTR [eax+84]
  00162	51		 push	 ecx
  00163	8b 55 e4	 mov	 edx, DWORD PTR _this$[ebp]
  00166	8b 4a 68	 mov	 ecx, DWORD PTR [edx+104]
  00169	e8 00 00 00 00	 call	 ?UpdateResult@CCalSetting@@QAEHHHH@Z ; CCalSetting::UpdateResult
  0016e	8b 4d 1c	 mov	 ecx, DWORD PTR _best_found$[ebp]
  00171	89 01		 mov	 DWORD PTR [ecx], eax
$LN13@step_proce:

; 1499 : //       * best_found = setting3->UpdateResult(dif, stop_when_found ? DELTA_STOP : -1, only_one);
; 1500 :     }
; 1501 : 
; 1502 :     nb_calcul = 0;

  00173	8b 55 e4	 mov	 edx, DWORD PTR _this$[ebp]
  00176	c7 42 58 00 00
	00 00		 mov	 DWORD PTR [edx+88], 0

; 1503 :     total_dif = 0;

  0017d	8b 45 e4	 mov	 eax, DWORD PTR _this$[ebp]
  00180	c7 40 54 00 00
	00 00		 mov	 DWORD PTR [eax+84], 0

; 1504 : 
; 1505 :     // Increase the third setting
; 1506 :     if ((setting3 != (CCalSetting* )NULL) && setting3->AdjustNext())

  00187	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  0018a	83 79 68 00	 cmp	 DWORD PTR [ecx+104], 0
  0018e	74 1b		 je	 SHORT $LN12@step_proce
  00190	8b 55 e4	 mov	 edx, DWORD PTR _this$[ebp]
  00193	8b 4a 68	 mov	 ecx, DWORD PTR [edx+104]
  00196	e8 00 00 00 00	 call	 ?AdjustNext@CCalSetting@@QAEHXZ ; CCalSetting::AdjustNext
  0019b	85 c0		 test	 eax, eax
  0019d	74 0c		 je	 SHORT $LN12@step_proce

; 1507 :     {
; 1508 :         return FALSE;

  0019f	33 c0		 xor	 eax, eax
  001a1	e9 c4 00 00 00	 jmp	 $LN20@step_proce
  001a6	e9 bf 00 00 00	 jmp	 $LN20@step_proce
$LN12@step_proce:

; 1509 :     }
; 1510 :     // Increase the second setting
; 1511 :     else if ((setting2 != (CCalSetting* )NULL) && setting2->AdjustNext())

  001ab	8b 45 e4	 mov	 eax, DWORD PTR _this$[ebp]
  001ae	83 78 64 00	 cmp	 DWORD PTR [eax+100], 0
  001b2	74 2f		 je	 SHORT $LN10@step_proce
  001b4	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  001b7	8b 49 64	 mov	 ecx, DWORD PTR [ecx+100]
  001ba	e8 00 00 00 00	 call	 ?AdjustNext@CCalSetting@@QAEHXZ ; CCalSetting::AdjustNext
  001bf	85 c0		 test	 eax, eax
  001c1	74 20		 je	 SHORT $LN10@step_proce

; 1512 :     {
; 1513 :         if (setting3 != (CCalSetting* )NULL)

  001c3	8b 55 e4	 mov	 edx, DWORD PTR _this$[ebp]
  001c6	83 7a 68 00	 cmp	 DWORD PTR [edx+104], 0
  001ca	74 0b		 je	 SHORT $LN9@step_proce

; 1514 :         {
; 1515 :             // Set the third setting to its minimum
; 1516 :             setting3->AdjustMin();

  001cc	8b 45 e4	 mov	 eax, DWORD PTR _this$[ebp]
  001cf	8b 48 68	 mov	 ecx, DWORD PTR [eax+104]
  001d2	e8 00 00 00 00	 call	 ?AdjustMin@CCalSetting@@QAEXXZ ; CCalSetting::AdjustMin
$LN9@step_proce:

; 1517 :         }
; 1518 :         return FALSE;

  001d7	33 c0		 xor	 eax, eax
  001d9	e9 8c 00 00 00	 jmp	 $LN20@step_proce
  001de	e9 87 00 00 00	 jmp	 $LN20@step_proce
$LN10@step_proce:

; 1519 :     }
; 1520 :     // Increase the first setting
; 1521 :     else if ((setting1 != (CCalSetting* )NULL) && setting1->AdjustNext())

  001e3	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  001e6	83 79 60 00	 cmp	 DWORD PTR [ecx+96], 0
  001ea	74 3d		 je	 SHORT $LN7@step_proce
  001ec	8b 55 e4	 mov	 edx, DWORD PTR _this$[ebp]
  001ef	8b 4a 60	 mov	 ecx, DWORD PTR [edx+96]
  001f2	e8 00 00 00 00	 call	 ?AdjustNext@CCalSetting@@QAEHXZ ; CCalSetting::AdjustNext
  001f7	85 c0		 test	 eax, eax
  001f9	74 2e		 je	 SHORT $LN7@step_proce

; 1522 :     {
; 1523 :         if (setting2 != (CCalSetting* )NULL)

  001fb	8b 45 e4	 mov	 eax, DWORD PTR _this$[ebp]
  001fe	83 78 64 00	 cmp	 DWORD PTR [eax+100], 0
  00202	74 0b		 je	 SHORT $LN6@step_proce

; 1524 :         {
; 1525 :             // Set the second setting to its minimum
; 1526 :             setting2->AdjustMin();

  00204	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00207	8b 49 64	 mov	 ecx, DWORD PTR [ecx+100]
  0020a	e8 00 00 00 00	 call	 ?AdjustMin@CCalSetting@@QAEXXZ ; CCalSetting::AdjustMin
$LN6@step_proce:

; 1527 :         }
; 1528 :         if (setting3 != (CCalSetting* )NULL)

  0020f	8b 55 e4	 mov	 edx, DWORD PTR _this$[ebp]
  00212	83 7a 68 00	 cmp	 DWORD PTR [edx+104], 0
  00216	74 0b		 je	 SHORT $LN5@step_proce

; 1529 :         {
; 1530 :             // Set the third setting to its minimum
; 1531 :             setting3->AdjustMin();

  00218	8b 45 e4	 mov	 eax, DWORD PTR _this$[ebp]
  0021b	8b 48 68	 mov	 ecx, DWORD PTR [eax+104]
  0021e	e8 00 00 00 00	 call	 ?AdjustMin@CCalSetting@@QAEXXZ ; CCalSetting::AdjustMin
$LN5@step_proce:

; 1532 :         }
; 1533 :         return FALSE;

  00223	33 c0		 xor	 eax, eax
  00225	eb 43		 jmp	 SHORT $LN20@step_proce

; 1534 :     }
; 1535 :     else

  00227	eb 41		 jmp	 SHORT $LN20@step_proce
$LN7@step_proce:

; 1536 :     {
; 1537 :         // Set the settings to the best values found
; 1538 :         if (setting1 != (CCalSetting* )NULL)

  00229	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  0022c	83 79 60 00	 cmp	 DWORD PTR [ecx+96], 0
  00230	74 0b		 je	 SHORT $LN3@step_proce

; 1539 :         {
; 1540 :             setting1->AdjustBest();

  00232	8b 55 e4	 mov	 edx, DWORD PTR _this$[ebp]
  00235	8b 4a 60	 mov	 ecx, DWORD PTR [edx+96]
  00238	e8 00 00 00 00	 call	 ?AdjustBest@CCalSetting@@QAEXXZ ; CCalSetting::AdjustBest
$LN3@step_proce:

; 1541 :         }
; 1542 :         if (setting2 != (CCalSetting* )NULL)

  0023d	8b 45 e4	 mov	 eax, DWORD PTR _this$[ebp]
  00240	83 78 64 00	 cmp	 DWORD PTR [eax+100], 0
  00244	74 0b		 je	 SHORT $LN2@step_proce

; 1543 :         {
; 1544 :             setting2->AdjustBest();

  00246	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00249	8b 49 64	 mov	 ecx, DWORD PTR [ecx+100]
  0024c	e8 00 00 00 00	 call	 ?AdjustBest@CCalSetting@@QAEXXZ ; CCalSetting::AdjustBest
$LN2@step_proce:

; 1545 :         }
; 1546 :         if (setting3 != (CCalSetting* )NULL)

  00251	8b 55 e4	 mov	 edx, DWORD PTR _this$[ebp]
  00254	83 7a 68 00	 cmp	 DWORD PTR [edx+104], 0
  00258	74 0b		 je	 SHORT $LN1@step_proce

; 1547 :         {
; 1548 :             setting3->AdjustBest();

  0025a	8b 45 e4	 mov	 eax, DWORD PTR _this$[ebp]
  0025d	8b 48 68	 mov	 ecx, DWORD PTR [eax+104]
  00260	e8 00 00 00 00	 call	 ?AdjustBest@CCalSetting@@QAEXXZ ; CCalSetting::AdjustBest
$LN1@step_proce:

; 1549 :         }
; 1550 :         return TRUE;

  00265	b8 01 00 00 00	 mov	 eax, 1
$LN20@step_proce:

; 1551 :     }
; 1552 : }

  0026a	8b e5		 mov	 esp, ebp
  0026c	5d		 pop	 ebp
  0026d	c2 18 00	 ret	 24			; 00000018H
?step_process@CCalibration@@AAEHPAUTDeinterlaceInfo@@IIHHPAH@Z ENDP ; CCalibration::step_process
_TEXT	ENDS
PUBLIC	?Make@CCalibration@@QAEXPAUTDeinterlaceInfo@@H@Z ; CCalibration::Make
; Function compile flags: /Odtp
;	COMDAT ?Make@CCalibration@@QAEXPAUTDeinterlaceInfo@@H@Z
_TEXT	SEGMENT
tv158 = -44						; size = 4
tv80 = -40						; size = 4
_this$ = -36						; size = 4
_max$ = -32						; size = 4
_new_settings$ = -28					; size = 4
_nb3$ = -24						; size = 4
_nb1$ = -20						; size = 4
_nb2$ = -16						; size = 4
_mask$ = -12						; size = 4
_min$ = -8						; size = 4
_found$ = -4						; size = 4
_pInfo$ = 8						; size = 4
_tick_count$ = 12					; size = 4
?Make@CCalibration@@QAEXPAUTDeinterlaceInfo@@H@Z PROC	; CCalibration::Make, COMDAT
; _this$ = ecx

; 1006 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 2c	 sub	 esp, 44			; 0000002cH
  00006	89 4d dc	 mov	 DWORD PTR _this$[ebp], ecx

; 1007 :     int nb1, nb2, nb3;
; 1008 :     int min, max;
; 1009 :     unsigned int* mask;
; 1010 :     BOOL new_settings;
; 1011 :     BOOL found;
; 1012 : 
; 1013 :     if (!m_IsRunning
; 1014 :      || (m_CurTestPat == NULL))

  00009	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	83 78 24 00	 cmp	 DWORD PTR [eax+36], 0
  00010	74 09		 je	 SHORT $LN94@Make
  00012	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00015	83 79 18 00	 cmp	 DWORD PTR [ecx+24], 0
  00019	75 05		 jne	 SHORT $LN95@Make
$LN94@Make:

; 1015 :         return;

  0001b	e9 4c 0b 00 00	 jmp	 $LN96@Make
$LN95@Make:

; 1016 : 
; 1017 :     if ((last_tick_count != -1) && ((tick_count - last_tick_count) < MIN_TIME_BETWEEN_CALC))

  00020	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  00023	83 7a 3c ff	 cmp	 DWORD PTR [edx+60], -1
  00027	74 2b		 je	 SHORT $LN93@Make
  00029	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  0002c	8b 4d 0c	 mov	 ecx, DWORD PTR _tick_count$[ebp]
  0002f	2b 48 3c	 sub	 ecx, DWORD PTR [eax+60]
  00032	83 f9 23	 cmp	 ecx, 35			; 00000023H
  00035	7d 1d		 jge	 SHORT $LN93@Make

; 1018 :     {
; 1019 :         if (m_CurSubPat != NULL)

  00037	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  0003a	83 7a 1c 00	 cmp	 DWORD PTR [edx+28], 0
  0003e	74 0f		 je	 SHORT $LN92@Make

; 1020 :         {
; 1021 :             m_CurSubPat->Draw(pInfo);

  00040	8b 45 08	 mov	 eax, DWORD PTR _pInfo$[ebp]
  00043	50		 push	 eax
  00044	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00047	8b 49 1c	 mov	 ecx, DWORD PTR [ecx+28]
  0004a	e8 00 00 00 00	 call	 ?Draw@CSubPattern@@QAEXPAUTDeinterlaceInfo@@@Z ; CSubPattern::Draw
$LN92@Make:

; 1022 :         }
; 1023 :         return;

  0004f	e9 18 0b 00 00	 jmp	 $LN96@Make
$LN93@Make:

; 1024 :     }
; 1025 : 
; 1026 :     last_tick_count = tick_count;

  00054	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  00057	8b 45 0c	 mov	 eax, DWORD PTR _tick_count$[ebp]
  0005a	89 42 3c	 mov	 DWORD PTR [edx+60], eax

; 1027 : 
; 1028 :     switch (current_step)

  0005d	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00060	8b 51 48	 mov	 edx, DWORD PTR [ecx+72]
  00063	89 55 d8	 mov	 DWORD PTR tv80[ebp], edx
  00066	8b 45 d8	 mov	 eax, DWORD PTR tv80[ebp]
  00069	83 c0 01	 add	 eax, 1
  0006c	89 45 d8	 mov	 DWORD PTR tv80[ebp], eax
  0006f	83 7d d8 18	 cmp	 DWORD PTR tv80[ebp], 24	; 00000018H
  00073	0f 87 aa 0a 00
	00		 ja	 $LN90@Make
  00079	8b 4d d8	 mov	 ecx, DWORD PTR tv80[ebp]
  0007c	ff 24 8d 00 00
	00 00		 jmp	 DWORD PTR $LN100@Make[ecx*4]
$LN89@Make:

; 1029 :     {
; 1030 :     case -1:    // Automatic calibration finished
; 1031 :         Stop();

  00083	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00086	e8 00 00 00 00	 call	 ?Stop@CCalibration@@QAEXXZ ; CCalibration::Stop

; 1032 :         break;

  0008b	e9 93 0a 00 00	 jmp	 $LN90@Make
$LN88@Make:

; 1033 : 
; 1034 :     case 0:     // Manual calibration
; 1035 :         m_CurSubPat = GetSubPattern(ADJ_MANUAL);

  00090	6a 00		 push	 0
  00092	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00095	e8 00 00 00 00	 call	 ?GetSubPattern@CCalibration@@QAEPAVCSubPattern@@W4eTypeAdjust@@@Z ; CCalibration::GetSubPattern
  0009a	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  0009d	89 42 1c	 mov	 DWORD PTR [edx+28], eax

; 1036 :         if (m_CurSubPat == NULL)

  000a0	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  000a3	83 78 1c 00	 cmp	 DWORD PTR [eax+28], 0
  000a7	75 05		 jne	 SHORT $LN87@Make

; 1037 :         {
; 1038 :             break;

  000a9	e9 75 0a 00 00	 jmp	 $LN90@Make
$LN87@Make:

; 1039 :         }
; 1040 : 
; 1041 :         new_settings = FALSE;

  000ae	c7 45 e4 00 00
	00 00		 mov	 DWORD PTR _new_settings$[ebp], 0

; 1042 :         if (m_Brightness != NULL)

  000b5	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  000b8	83 79 28 00	 cmp	 DWORD PTR [ecx+40], 0
  000bc	74 11		 je	 SHORT $LN86@Make

; 1043 :             new_settings |= m_Brightness->Update();

  000be	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  000c1	8b 4a 28	 mov	 ecx, DWORD PTR [edx+40]
  000c4	e8 00 00 00 00	 call	 ?Update@CCalSetting@@QAEHXZ ; CCalSetting::Update
  000c9	0b 45 e4	 or	 eax, DWORD PTR _new_settings$[ebp]
  000cc	89 45 e4	 mov	 DWORD PTR _new_settings$[ebp], eax
$LN86@Make:

; 1044 :         if (m_Contrast != NULL)

  000cf	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  000d2	83 78 2c 00	 cmp	 DWORD PTR [eax+44], 0
  000d6	74 11		 je	 SHORT $LN85@Make

; 1045 :             new_settings |= m_Contrast->Update();

  000d8	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  000db	8b 49 2c	 mov	 ecx, DWORD PTR [ecx+44]
  000de	e8 00 00 00 00	 call	 ?Update@CCalSetting@@QAEHXZ ; CCalSetting::Update
  000e3	0b 45 e4	 or	 eax, DWORD PTR _new_settings$[ebp]
  000e6	89 45 e4	 mov	 DWORD PTR _new_settings$[ebp], eax
$LN85@Make:

; 1046 :         if (m_Saturation_U != NULL)

  000e9	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  000ec	83 7a 30 00	 cmp	 DWORD PTR [edx+48], 0
  000f0	74 11		 je	 SHORT $LN84@Make

; 1047 :             new_settings |= m_Saturation_U->Update();

  000f2	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  000f5	8b 48 30	 mov	 ecx, DWORD PTR [eax+48]
  000f8	e8 00 00 00 00	 call	 ?Update@CCalSetting@@QAEHXZ ; CCalSetting::Update
  000fd	0b 45 e4	 or	 eax, DWORD PTR _new_settings$[ebp]
  00100	89 45 e4	 mov	 DWORD PTR _new_settings$[ebp], eax
$LN84@Make:

; 1048 :         if (m_Saturation_V != NULL)

  00103	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00106	83 79 34 00	 cmp	 DWORD PTR [ecx+52], 0
  0010a	74 11		 je	 SHORT $LN83@Make

; 1049 :             new_settings |= m_Saturation_V->Update();

  0010c	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  0010f	8b 4a 34	 mov	 ecx, DWORD PTR [edx+52]
  00112	e8 00 00 00 00	 call	 ?Update@CCalSetting@@QAEHXZ ; CCalSetting::Update
  00117	0b 45 e4	 or	 eax, DWORD PTR _new_settings$[ebp]
  0011a	89 45 e4	 mov	 DWORD PTR _new_settings$[ebp], eax
$LN83@Make:

; 1050 :         if (m_Hue != NULL)

  0011d	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00120	83 78 38 00	 cmp	 DWORD PTR [eax+56], 0
  00124	74 11		 je	 SHORT $LN82@Make

; 1051 :             new_settings |= m_Hue->Update();

  00126	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00129	8b 49 38	 mov	 ecx, DWORD PTR [ecx+56]
  0012c	e8 00 00 00 00	 call	 ?Update@CCalSetting@@QAEHXZ ; CCalSetting::Update
  00131	0b 45 e4	 or	 eax, DWORD PTR _new_settings$[ebp]
  00134	89 45 e4	 mov	 DWORD PTR _new_settings$[ebp], eax
$LN82@Make:

; 1052 : 
; 1053 :         // Calculations with current setitngs
; 1054 :         if ( m_CurSubPat->CalcCurrentSubPattern(first_calc || new_settings, NB_CALCULATIONS_LOW, pInfo)
; 1055 :           && (m_TypeCalibration != CAL_MANUAL)
; 1056 :           && (m_TypeCalibration != CAL_CHECK_YUV_RANGE) )

  00137	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  0013a	83 7a 5c 00	 cmp	 DWORD PTR [edx+92], 0
  0013e	75 0f		 jne	 SHORT $LN98@Make
  00140	83 7d e4 00	 cmp	 DWORD PTR _new_settings$[ebp], 0
  00144	75 09		 jne	 SHORT $LN98@Make
  00146	c7 45 d4 00 00
	00 00		 mov	 DWORD PTR tv158[ebp], 0
  0014d	eb 07		 jmp	 SHORT $LN99@Make
$LN98@Make:
  0014f	c7 45 d4 01 00
	00 00		 mov	 DWORD PTR tv158[ebp], 1
$LN99@Make:
  00156	8b 45 08	 mov	 eax, DWORD PTR _pInfo$[ebp]
  00159	50		 push	 eax
  0015a	6a 0a		 push	 10			; 0000000aH
  0015c	8b 4d d4	 mov	 ecx, DWORD PTR tv158[ebp]
  0015f	51		 push	 ecx
  00160	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  00163	8b 4a 1c	 mov	 ecx, DWORD PTR [edx+28]
  00166	e8 00 00 00 00	 call	 ?CalcCurrentSubPattern@CSubPattern@@QAEHHIPAUTDeinterlaceInfo@@@Z ; CSubPattern::CalcCurrentSubPattern
  0016b	85 c0		 test	 eax, eax
  0016d	74 2a		 je	 SHORT $LN81@Make
  0016f	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00172	83 78 20 00	 cmp	 DWORD PTR [eax+32], 0
  00176	74 21		 je	 SHORT $LN81@Make
  00178	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  0017b	83 79 20 04	 cmp	 DWORD PTR [ecx+32], 4
  0017f	74 18		 je	 SHORT $LN81@Make

; 1057 :         {
; 1058 :             current_step = -1;

  00181	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  00184	c7 42 48 ff ff
	ff ff		 mov	 DWORD PTR [edx+72], -1

; 1059 :             last_tick_count = tick_count + 500;

  0018b	8b 45 0c	 mov	 eax, DWORD PTR _tick_count$[ebp]
  0018e	05 f4 01 00 00	 add	 eax, 500		; 000001f4H
  00193	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00196	89 41 3c	 mov	 DWORD PTR [ecx+60], eax
$LN81@Make:

; 1060 :         }
; 1061 :         first_calc = FALSE;

  00199	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  0019c	c7 42 5c 00 00
	00 00		 mov	 DWORD PTR [edx+92], 0

; 1062 :         break;

  001a3	e9 7b 09 00 00	 jmp	 $LN90@Make
$LN80@Make:

; 1063 : 
; 1064 :     case 1:
; 1065 :         m_Brightness->SetRange((nb_tries == 0) ? 75 : 25);

  001a8	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  001ab	8b 48 50	 mov	 ecx, DWORD PTR [eax+80]
  001ae	f7 d9		 neg	 ecx
  001b0	1b c9		 sbb	 ecx, ecx
  001b2	83 e1 ce	 and	 ecx, -50		; ffffffceH
  001b5	83 c1 4b	 add	 ecx, 75			; 0000004bH
  001b8	51		 push	 ecx
  001b9	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  001bc	8b 4a 28	 mov	 ecx, DWORD PTR [edx+40]
  001bf	e8 00 00 00 00	 call	 ?SetRange@CCalSetting@@QAEXH@Z ; CCalSetting::SetRange

; 1066 :         if (step_init(ADJ_BRIGHTNESS, m_Brightness, (CCalSetting* )NULL, (CCalSetting* )NULL))

  001c4	6a 00		 push	 0
  001c6	6a 00		 push	 0
  001c8	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  001cb	8b 48 28	 mov	 ecx, DWORD PTR [eax+40]
  001ce	51		 push	 ecx
  001cf	6a 01		 push	 1
  001d1	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  001d4	e8 00 00 00 00	 call	 ?step_init@CCalibration@@AAEHW4eTypeAdjust@@PAVCCalSetting@@11@Z ; CCalibration::step_init
  001d9	85 c0		 test	 eax, eax
  001db	74 2a		 je	 SHORT $LN79@Make

; 1067 :         {
; 1068 :             LOG(2, _T("Automatic Calibration - brightness - reduced range - try %d"), nb_tries+1);

  001dd	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  001e0	8b 42 50	 mov	 eax, DWORD PTR [edx+80]
  001e3	83 c0 01	 add	 eax, 1
  001e6	50		 push	 eax
  001e7	68 00 00 00 00	 push	 OFFSET ??_C@_1HI@JPJHJDPN@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAb?$AAr?$AAi?$AAg?$AAh?$AAt?$AAn?$AAe@
  001ec	6a 02		 push	 2
  001ee	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  001f3	83 c4 0c	 add	 esp, 12			; 0000000cH

; 1069 :             current_step++;

  001f6	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  001f9	8b 51 48	 mov	 edx, DWORD PTR [ecx+72]
  001fc	83 c2 01	 add	 edx, 1
  001ff	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00202	89 50 48	 mov	 DWORD PTR [eax+72], edx

; 1070 :         }
; 1071 :         else

  00205	eb 12		 jmp	 SHORT $LN78@Make
$LN79@Make:

; 1072 :         {
; 1073 :             // We stop calibration
; 1074 :             current_step = initial_step + nb_steps;

  00207	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  0020a	8b 51 40	 mov	 edx, DWORD PTR [ecx+64]
  0020d	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00210	03 50 44	 add	 edx, DWORD PTR [eax+68]
  00213	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00216	89 51 48	 mov	 DWORD PTR [ecx+72], edx
$LN78@Make:

; 1075 :         }
; 1076 :         break;

  00219	e9 05 09 00 00	 jmp	 $LN90@Make
$LN77@Make:

; 1077 : 
; 1078 :     case 2:     // Step to find a short range for brightness setting
; 1079 :         if (step_process(pInfo, 1, NB_CALCULATIONS_LOW, TRUE, FALSE, &found))

  0021e	8d 55 fc	 lea	 edx, DWORD PTR _found$[ebp]
  00221	52		 push	 edx
  00222	6a 00		 push	 0
  00224	6a 01		 push	 1
  00226	6a 0a		 push	 10			; 0000000aH
  00228	6a 01		 push	 1
  0022a	8b 45 08	 mov	 eax, DWORD PTR _pInfo$[ebp]
  0022d	50		 push	 eax
  0022e	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00231	e8 00 00 00 00	 call	 ?step_process@CCalibration@@AAEHPAUTDeinterlaceInfo@@IIHHPAH@Z ; CCalibration::step_process
  00236	85 c0		 test	 eax, eax
  00238	74 19		 je	 SHORT $LN76@Make

; 1080 :         {
; 1081 :             current_step += (found ? 3 : 1);

  0023a	33 c9		 xor	 ecx, ecx
  0023c	83 7d fc 00	 cmp	 DWORD PTR _found$[ebp], 0
  00240	0f 95 c1	 setne	 cl
  00243	8d 4c 09 01	 lea	 ecx, DWORD PTR [ecx+ecx+1]
  00247	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  0024a	03 4a 48	 add	 ecx, DWORD PTR [edx+72]
  0024d	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00250	89 48 48	 mov	 DWORD PTR [eax+72], ecx
$LN76@Make:

; 1082 :         }
; 1083 :         break;

  00253	e9 cb 08 00 00	 jmp	 $LN90@Make
$LN75@Make:

; 1084 : 
; 1085 :     case 3:
; 1086 :         m_Brightness->SetFullRange();

  00258	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  0025b	8b 49 28	 mov	 ecx, DWORD PTR [ecx+40]
  0025e	e8 00 00 00 00	 call	 ?SetFullRange@CCalSetting@@QAEXXZ ; CCalSetting::SetFullRange

; 1087 :         if (step_init(ADJ_BRIGHTNESS, m_Brightness, (CCalSetting* )NULL, (CCalSetting* )NULL))

  00263	6a 00		 push	 0
  00265	6a 00		 push	 0
  00267	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  0026a	8b 42 28	 mov	 eax, DWORD PTR [edx+40]
  0026d	50		 push	 eax
  0026e	6a 01		 push	 1
  00270	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00273	e8 00 00 00 00	 call	 ?step_init@CCalibration@@AAEHW4eTypeAdjust@@PAVCCalSetting@@11@Z ; CCalibration::step_init
  00278	85 c0		 test	 eax, eax
  0027a	74 2a		 je	 SHORT $LN74@Make

; 1088 :         {
; 1089 :             LOG(2, _T("Automatic Calibration - brightness - full range - try %d"), nb_tries+1);

  0027c	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  0027f	8b 51 50	 mov	 edx, DWORD PTR [ecx+80]
  00282	83 c2 01	 add	 edx, 1
  00285	52		 push	 edx
  00286	68 00 00 00 00	 push	 OFFSET ??_C@_1HC@MMMFCCMM@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAb?$AAr?$AAi?$AAg?$AAh?$AAt?$AAn?$AAe@
  0028b	6a 02		 push	 2
  0028d	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00292	83 c4 0c	 add	 esp, 12			; 0000000cH

; 1090 :             current_step++;

  00295	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00298	8b 48 48	 mov	 ecx, DWORD PTR [eax+72]
  0029b	83 c1 01	 add	 ecx, 1
  0029e	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  002a1	89 4a 48	 mov	 DWORD PTR [edx+72], ecx

; 1091 :         }
; 1092 :         else

  002a4	eb 12		 jmp	 SHORT $LN73@Make
$LN74@Make:

; 1093 :         {
; 1094 :             // We stop calibration
; 1095 :             current_step = initial_step + nb_steps;

  002a6	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  002a9	8b 48 40	 mov	 ecx, DWORD PTR [eax+64]
  002ac	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  002af	03 4a 44	 add	 ecx, DWORD PTR [edx+68]
  002b2	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  002b5	89 48 48	 mov	 DWORD PTR [eax+72], ecx
$LN73@Make:

; 1096 :         }
; 1097 :         break;

  002b8	e9 66 08 00 00	 jmp	 $LN90@Make
$LN72@Make:

; 1098 : 
; 1099 :     case 4:     // Step to find a short range for brightness setting
; 1100 :         if (step_process(pInfo, 1, NB_CALCULATIONS_LOW, TRUE, FALSE, &found))

  002bd	8d 4d fc	 lea	 ecx, DWORD PTR _found$[ebp]
  002c0	51		 push	 ecx
  002c1	6a 00		 push	 0
  002c3	6a 01		 push	 1
  002c5	6a 0a		 push	 10			; 0000000aH
  002c7	6a 01		 push	 1
  002c9	8b 55 08	 mov	 edx, DWORD PTR _pInfo$[ebp]
  002cc	52		 push	 edx
  002cd	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  002d0	e8 00 00 00 00	 call	 ?step_process@CCalibration@@AAEHPAUTDeinterlaceInfo@@IIHHPAH@Z ; CCalibration::step_process
  002d5	85 c0		 test	 eax, eax
  002d7	74 0f		 je	 SHORT $LN71@Make

; 1101 :         {
; 1102 :             current_step++;

  002d9	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  002dc	8b 48 48	 mov	 ecx, DWORD PTR [eax+72]
  002df	83 c1 01	 add	 ecx, 1
  002e2	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  002e5	89 4a 48	 mov	 DWORD PTR [edx+72], ecx
$LN71@Make:

; 1103 :         }
; 1104 :         break;

  002e8	e9 36 08 00 00	 jmp	 $LN90@Make
$LN70@Make:

; 1105 : 
; 1106 :     case 5:
; 1107 :         m_Contrast->SetRange((nb_tries == 0) ? 50 : 25);

  002ed	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  002f0	8b 48 50	 mov	 ecx, DWORD PTR [eax+80]
  002f3	f7 d9		 neg	 ecx
  002f5	1b c9		 sbb	 ecx, ecx
  002f7	83 e1 e7	 and	 ecx, -25		; ffffffe7H
  002fa	83 c1 32	 add	 ecx, 50			; 00000032H
  002fd	51		 push	 ecx
  002fe	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  00301	8b 4a 2c	 mov	 ecx, DWORD PTR [edx+44]
  00304	e8 00 00 00 00	 call	 ?SetRange@CCalSetting@@QAEXH@Z ; CCalSetting::SetRange

; 1108 :         if (step_init(ADJ_CONTRAST, m_Contrast, (CCalSetting* )NULL, (CCalSetting* )NULL))

  00309	6a 00		 push	 0
  0030b	6a 00		 push	 0
  0030d	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00310	8b 48 2c	 mov	 ecx, DWORD PTR [eax+44]
  00313	51		 push	 ecx
  00314	6a 02		 push	 2
  00316	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00319	e8 00 00 00 00	 call	 ?step_init@CCalibration@@AAEHW4eTypeAdjust@@PAVCCalSetting@@11@Z ; CCalibration::step_init
  0031e	85 c0		 test	 eax, eax
  00320	74 2a		 je	 SHORT $LN69@Make

; 1109 :         {
; 1110 :             LOG(2, _T("Automatic Calibration - contrast - reduced range - try %d"), nb_tries+1);

  00322	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  00325	8b 42 50	 mov	 eax, DWORD PTR [edx+80]
  00328	83 c0 01	 add	 eax, 1
  0032b	50		 push	 eax
  0032c	68 00 00 00 00	 push	 OFFSET ??_C@_1HE@BGINHCLM@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAc?$AAo?$AAn?$AAt?$AAr?$AAa?$AAs?$AAt@
  00331	6a 02		 push	 2
  00333	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00338	83 c4 0c	 add	 esp, 12			; 0000000cH

; 1111 :             current_step++;

  0033b	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  0033e	8b 51 48	 mov	 edx, DWORD PTR [ecx+72]
  00341	83 c2 01	 add	 edx, 1
  00344	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00347	89 50 48	 mov	 DWORD PTR [eax+72], edx

; 1112 :         }
; 1113 :         else

  0034a	eb 12		 jmp	 SHORT $LN68@Make
$LN69@Make:

; 1114 :         {
; 1115 :             // We stop calibration
; 1116 :             current_step = initial_step + nb_steps;

  0034c	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  0034f	8b 51 40	 mov	 edx, DWORD PTR [ecx+64]
  00352	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00355	03 50 44	 add	 edx, DWORD PTR [eax+68]
  00358	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  0035b	89 51 48	 mov	 DWORD PTR [ecx+72], edx
$LN68@Make:

; 1117 :         }
; 1118 :         break;

  0035e	e9 c0 07 00 00	 jmp	 $LN90@Make
$LN67@Make:

; 1119 : 
; 1120 :     case 6:     // Step to find a short range for contrast setting
; 1121 :         if (step_process(pInfo, 1, NB_CALCULATIONS_LOW, TRUE, FALSE, &found))

  00363	8d 55 fc	 lea	 edx, DWORD PTR _found$[ebp]
  00366	52		 push	 edx
  00367	6a 00		 push	 0
  00369	6a 01		 push	 1
  0036b	6a 0a		 push	 10			; 0000000aH
  0036d	6a 01		 push	 1
  0036f	8b 45 08	 mov	 eax, DWORD PTR _pInfo$[ebp]
  00372	50		 push	 eax
  00373	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00376	e8 00 00 00 00	 call	 ?step_process@CCalibration@@AAEHPAUTDeinterlaceInfo@@IIHHPAH@Z ; CCalibration::step_process
  0037b	85 c0		 test	 eax, eax
  0037d	74 19		 je	 SHORT $LN66@Make

; 1122 :         {
; 1123 :             current_step += (found ? 3 : 1);

  0037f	33 c9		 xor	 ecx, ecx
  00381	83 7d fc 00	 cmp	 DWORD PTR _found$[ebp], 0
  00385	0f 95 c1	 setne	 cl
  00388	8d 4c 09 01	 lea	 ecx, DWORD PTR [ecx+ecx+1]
  0038c	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  0038f	03 4a 48	 add	 ecx, DWORD PTR [edx+72]
  00392	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00395	89 48 48	 mov	 DWORD PTR [eax+72], ecx
$LN66@Make:

; 1124 :         }
; 1125 :         break;

  00398	e9 86 07 00 00	 jmp	 $LN90@Make
$LN65@Make:

; 1126 : 
; 1127 :     case 7:
; 1128 :         m_Contrast->SetFullRange();

  0039d	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  003a0	8b 49 2c	 mov	 ecx, DWORD PTR [ecx+44]
  003a3	e8 00 00 00 00	 call	 ?SetFullRange@CCalSetting@@QAEXXZ ; CCalSetting::SetFullRange

; 1129 :         if (step_init(ADJ_CONTRAST, m_Contrast, (CCalSetting* )NULL, (CCalSetting* )NULL))

  003a8	6a 00		 push	 0
  003aa	6a 00		 push	 0
  003ac	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  003af	8b 42 2c	 mov	 eax, DWORD PTR [edx+44]
  003b2	50		 push	 eax
  003b3	6a 02		 push	 2
  003b5	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  003b8	e8 00 00 00 00	 call	 ?step_init@CCalibration@@AAEHW4eTypeAdjust@@PAVCCalSetting@@11@Z ; CCalibration::step_init
  003bd	85 c0		 test	 eax, eax
  003bf	74 2a		 je	 SHORT $LN64@Make

; 1130 :         {
; 1131 :             LOG(2, _T("Automatic Calibration - contrast - full range - try %d"), nb_tries+1);

  003c1	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  003c4	8b 51 50	 mov	 edx, DWORD PTR [ecx+80]
  003c7	83 c2 01	 add	 edx, 1
  003ca	52		 push	 edx
  003cb	68 00 00 00 00	 push	 OFFSET ??_C@_1GO@IAMNBDKG@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAc?$AAo?$AAn?$AAt?$AAr?$AAa?$AAs?$AAt@
  003d0	6a 02		 push	 2
  003d2	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  003d7	83 c4 0c	 add	 esp, 12			; 0000000cH

; 1132 :             current_step++;

  003da	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  003dd	8b 48 48	 mov	 ecx, DWORD PTR [eax+72]
  003e0	83 c1 01	 add	 ecx, 1
  003e3	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  003e6	89 4a 48	 mov	 DWORD PTR [edx+72], ecx

; 1133 :         }
; 1134 :         else

  003e9	eb 12		 jmp	 SHORT $LN63@Make
$LN64@Make:

; 1135 :         {
; 1136 :             // We stop calibration
; 1137 :             current_step = initial_step + nb_steps;

  003eb	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  003ee	8b 48 40	 mov	 ecx, DWORD PTR [eax+64]
  003f1	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  003f4	03 4a 44	 add	 ecx, DWORD PTR [edx+68]
  003f7	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  003fa	89 48 48	 mov	 DWORD PTR [eax+72], ecx
$LN63@Make:

; 1138 :         }
; 1139 :         break;

  003fd	e9 21 07 00 00	 jmp	 $LN90@Make
$LN62@Make:

; 1140 : 
; 1141 :     case 8:     // Step to find a short range for contrast setting
; 1142 :         if (step_process(pInfo, 1, NB_CALCULATIONS_LOW, TRUE, FALSE, &found))

  00402	8d 4d fc	 lea	 ecx, DWORD PTR _found$[ebp]
  00405	51		 push	 ecx
  00406	6a 00		 push	 0
  00408	6a 01		 push	 1
  0040a	6a 0a		 push	 10			; 0000000aH
  0040c	6a 01		 push	 1
  0040e	8b 55 08	 mov	 edx, DWORD PTR _pInfo$[ebp]
  00411	52		 push	 edx
  00412	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00415	e8 00 00 00 00	 call	 ?step_process@CCalibration@@AAEHPAUTDeinterlaceInfo@@IIHHPAH@Z ; CCalibration::step_process
  0041a	85 c0		 test	 eax, eax
  0041c	74 0f		 je	 SHORT $LN61@Make

; 1143 :         {
; 1144 :             current_step++;

  0041e	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00421	8b 48 48	 mov	 ecx, DWORD PTR [eax+72]
  00424	83 c1 01	 add	 ecx, 1
  00427	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  0042a	89 4a 48	 mov	 DWORD PTR [edx+72], ecx
$LN61@Make:

; 1145 :         }
; 1146 :         break;

  0042d	e9 f1 06 00 00	 jmp	 $LN90@Make
$LN60@Make:

; 1147 : 
; 1148 :     case 9:
; 1149 :         nb_tries++;

  00432	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00435	8b 48 50	 mov	 ecx, DWORD PTR [eax+80]
  00438	83 c1 01	 add	 ecx, 1
  0043b	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  0043e	89 4a 50	 mov	 DWORD PTR [edx+80], ecx

; 1150 :         if (nb_tries < 2)

  00441	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00444	83 78 50 02	 cmp	 DWORD PTR [eax+80], 2
  00448	7d 11		 jge	 SHORT $LN59@Make

; 1151 :         {
; 1152 :             current_step -= 8;

  0044a	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  0044d	8b 51 48	 mov	 edx, DWORD PTR [ecx+72]
  00450	83 ea 08	 sub	 edx, 8
  00453	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00456	89 50 48	 mov	 DWORD PTR [eax+72], edx

; 1153 :         }
; 1154 :         else

  00459	eb 19		 jmp	 SHORT $LN58@Make
$LN59@Make:

; 1155 :         {
; 1156 :             nb_tries = 0;

  0045b	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  0045e	c7 41 50 00 00
	00 00		 mov	 DWORD PTR [ecx+80], 0

; 1157 :             current_step++;

  00465	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  00468	8b 42 48	 mov	 eax, DWORD PTR [edx+72]
  0046b	83 c0 01	 add	 eax, 1
  0046e	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00471	89 41 48	 mov	 DWORD PTR [ecx+72], eax
$LN58@Make:

; 1158 :         }
; 1159 :         break;

  00474	e9 aa 06 00 00	 jmp	 $LN90@Make
$LN57@Make:

; 1160 : 
; 1161 :     case 10:
; 1162 :         if (m_Brightness->GetResult(&mask, &min, &max) > 0)

  00479	8d 55 e0	 lea	 edx, DWORD PTR _max$[ebp]
  0047c	52		 push	 edx
  0047d	8d 45 f8	 lea	 eax, DWORD PTR _min$[ebp]
  00480	50		 push	 eax
  00481	8d 4d f4	 lea	 ecx, DWORD PTR _mask$[ebp]
  00484	51		 push	 ecx
  00485	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  00488	8b 4a 28	 mov	 ecx, DWORD PTR [edx+40]
  0048b	e8 00 00 00 00	 call	 ?GetResult@CCalSetting@@QAEHPAPAIPAH1@Z ; CCalSetting::GetResult
  00490	85 c0		 test	 eax, eax
  00492	7e 11		 jle	 SHORT $LN56@Make

; 1163 :         {
; 1164 :             m_Brightness->SetRange(mask);

  00494	8b 45 f4	 mov	 eax, DWORD PTR _mask$[ebp]
  00497	50		 push	 eax
  00498	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  0049b	8b 49 28	 mov	 ecx, DWORD PTR [ecx+40]
  0049e	e8 00 00 00 00	 call	 ?SetRange@CCalSetting@@QAEXPAI@Z ; CCalSetting::SetRange

; 1165 :         }
; 1166 :         else

  004a3	eb 0d		 jmp	 SHORT $LN55@Make
$LN56@Make:

; 1167 :         {
; 1168 :             m_Brightness->SetRange(0);

  004a5	6a 00		 push	 0
  004a7	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  004aa	8b 4a 28	 mov	 ecx, DWORD PTR [edx+40]
  004ad	e8 00 00 00 00	 call	 ?SetRange@CCalSetting@@QAEXH@Z ; CCalSetting::SetRange
$LN55@Make:

; 1169 :         }
; 1170 :         free(mask);

  004b2	8b 45 f4	 mov	 eax, DWORD PTR _mask$[ebp]
  004b5	50		 push	 eax
  004b6	e8 00 00 00 00	 call	 _free
  004bb	83 c4 04	 add	 esp, 4

; 1171 :         nb1 = m_Brightness->GetRange(NULL, &min, &max);

  004be	8d 4d e0	 lea	 ecx, DWORD PTR _max$[ebp]
  004c1	51		 push	 ecx
  004c2	8d 55 f8	 lea	 edx, DWORD PTR _min$[ebp]
  004c5	52		 push	 edx
  004c6	6a 00		 push	 0
  004c8	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  004cb	8b 48 28	 mov	 ecx, DWORD PTR [eax+40]
  004ce	e8 00 00 00 00	 call	 ?GetRange@CCalSetting@@QAEHPAPAIPAH1@Z ; CCalSetting::GetRange
  004d3	89 45 ec	 mov	 DWORD PTR _nb1$[ebp], eax

; 1172 :         if (m_Contrast->GetResult(&mask, &min, &max) > 0)

  004d6	8d 4d e0	 lea	 ecx, DWORD PTR _max$[ebp]
  004d9	51		 push	 ecx
  004da	8d 55 f8	 lea	 edx, DWORD PTR _min$[ebp]
  004dd	52		 push	 edx
  004de	8d 45 f4	 lea	 eax, DWORD PTR _mask$[ebp]
  004e1	50		 push	 eax
  004e2	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  004e5	8b 49 2c	 mov	 ecx, DWORD PTR [ecx+44]
  004e8	e8 00 00 00 00	 call	 ?GetResult@CCalSetting@@QAEHPAPAIPAH1@Z ; CCalSetting::GetResult
  004ed	85 c0		 test	 eax, eax
  004ef	7e 11		 jle	 SHORT $LN54@Make

; 1173 :         {
; 1174 :             m_Contrast->SetRange(mask);

  004f1	8b 55 f4	 mov	 edx, DWORD PTR _mask$[ebp]
  004f4	52		 push	 edx
  004f5	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  004f8	8b 48 2c	 mov	 ecx, DWORD PTR [eax+44]
  004fb	e8 00 00 00 00	 call	 ?SetRange@CCalSetting@@QAEXPAI@Z ; CCalSetting::SetRange

; 1175 :         }
; 1176 :         else

  00500	eb 0d		 jmp	 SHORT $LN53@Make
$LN54@Make:

; 1177 :         {
; 1178 :             m_Contrast->SetRange(0);

  00502	6a 00		 push	 0
  00504	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00507	8b 49 2c	 mov	 ecx, DWORD PTR [ecx+44]
  0050a	e8 00 00 00 00	 call	 ?SetRange@CCalSetting@@QAEXH@Z ; CCalSetting::SetRange
$LN53@Make:

; 1179 :         }
; 1180 :         free(mask);

  0050f	8b 55 f4	 mov	 edx, DWORD PTR _mask$[ebp]
  00512	52		 push	 edx
  00513	e8 00 00 00 00	 call	 _free
  00518	83 c4 04	 add	 esp, 4

; 1181 :         nb2 = m_Contrast->GetRange(NULL, &min, &max);

  0051b	8d 45 e0	 lea	 eax, DWORD PTR _max$[ebp]
  0051e	50		 push	 eax
  0051f	8d 4d f8	 lea	 ecx, DWORD PTR _min$[ebp]
  00522	51		 push	 ecx
  00523	6a 00		 push	 0
  00525	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  00528	8b 4a 2c	 mov	 ecx, DWORD PTR [edx+44]
  0052b	e8 00 00 00 00	 call	 ?GetRange@CCalSetting@@QAEHPAPAIPAH1@Z ; CCalSetting::GetRange
  00530	89 45 f0	 mov	 DWORD PTR _nb2$[ebp], eax

; 1182 :         if ((nb1 == 1) && (nb2 == 1))

  00533	83 7d ec 01	 cmp	 DWORD PTR _nb1$[ebp], 1
  00537	75 1a		 jne	 SHORT $LN52@Make
  00539	83 7d f0 01	 cmp	 DWORD PTR _nb2$[ebp], 1
  0053d	75 14		 jne	 SHORT $LN52@Make

; 1183 :         {
; 1184 :             current_step += 2;

  0053f	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00542	8b 48 48	 mov	 ecx, DWORD PTR [eax+72]
  00545	83 c1 02	 add	 ecx, 2
  00548	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  0054b	89 4a 48	 mov	 DWORD PTR [edx+72], ecx

; 1185 :             break;

  0054e	e9 d0 05 00 00	 jmp	 $LN90@Make
$LN52@Make:

; 1186 :         }
; 1187 :         if (step_init(ADJ_BRIGHTNESS_CONTRAST, m_Brightness, m_Contrast, (CCalSetting* )NULL))

  00553	6a 00		 push	 0
  00555	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00558	8b 48 2c	 mov	 ecx, DWORD PTR [eax+44]
  0055b	51		 push	 ecx
  0055c	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  0055f	8b 42 28	 mov	 eax, DWORD PTR [edx+40]
  00562	50		 push	 eax
  00563	6a 03		 push	 3
  00565	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00568	e8 00 00 00 00	 call	 ?step_init@CCalibration@@AAEHW4eTypeAdjust@@PAVCCalSetting@@11@Z ; CCalibration::step_init
  0056d	85 c0		 test	 eax, eax
  0056f	74 28		 je	 SHORT $LN51@Make

; 1188 :         {
; 1189 :             LOG(2, _T("Automatic Calibration - brightness + contrast - %d %d"), nb1, nb2);

  00571	8b 4d f0	 mov	 ecx, DWORD PTR _nb2$[ebp]
  00574	51		 push	 ecx
  00575	8b 55 ec	 mov	 edx, DWORD PTR _nb1$[ebp]
  00578	52		 push	 edx
  00579	68 00 00 00 00	 push	 OFFSET ??_C@_1GM@GMEHBFDI@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAb?$AAr?$AAi?$AAg?$AAh?$AAt?$AAn?$AAe@
  0057e	6a 02		 push	 2
  00580	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00585	83 c4 10	 add	 esp, 16			; 00000010H

; 1190 :             current_step++;

  00588	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  0058b	8b 48 48	 mov	 ecx, DWORD PTR [eax+72]
  0058e	83 c1 01	 add	 ecx, 1
  00591	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  00594	89 4a 48	 mov	 DWORD PTR [edx+72], ecx

; 1191 :         }
; 1192 :         else

  00597	eb 0f		 jmp	 SHORT $LN50@Make
$LN51@Make:

; 1193 :         {
; 1194 :             current_step += 2;

  00599	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  0059c	8b 48 48	 mov	 ecx, DWORD PTR [eax+72]
  0059f	83 c1 02	 add	 ecx, 2
  005a2	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  005a5	89 4a 48	 mov	 DWORD PTR [edx+72], ecx
$LN50@Make:

; 1195 :         }
; 1196 :         break;

  005a8	e9 76 05 00 00	 jmp	 $LN90@Make
$LN49@Make:

; 1197 : 
; 1198 :     case 11:     // Step to adjust fine brightness + contradt
; 1199 :         if (step_process(pInfo, 1, NB_CALCULATIONS_HIGH, FALSE, TRUE, &found))

  005ad	8d 45 fc	 lea	 eax, DWORD PTR _found$[ebp]
  005b0	50		 push	 eax
  005b1	6a 01		 push	 1
  005b3	6a 00		 push	 0
  005b5	6a 32		 push	 50			; 00000032H
  005b7	6a 01		 push	 1
  005b9	8b 4d 08	 mov	 ecx, DWORD PTR _pInfo$[ebp]
  005bc	51		 push	 ecx
  005bd	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  005c0	e8 00 00 00 00	 call	 ?step_process@CCalibration@@AAEHPAUTDeinterlaceInfo@@IIHHPAH@Z ; CCalibration::step_process
  005c5	85 c0		 test	 eax, eax
  005c7	74 0f		 je	 SHORT $LN48@Make

; 1200 :         {
; 1201 :             current_step++;

  005c9	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  005cc	8b 42 48	 mov	 eax, DWORD PTR [edx+72]
  005cf	83 c0 01	 add	 eax, 1
  005d2	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  005d5	89 41 48	 mov	 DWORD PTR [ecx+72], eax
$LN48@Make:

; 1202 :         }
; 1203 :         break;

  005d8	e9 46 05 00 00	 jmp	 $LN90@Make
$LN47@Make:

; 1204 : 
; 1205 :     case 12:
; 1206 :         m_Saturation_U->SetRange(75);

  005dd	6a 4b		 push	 75			; 0000004bH
  005df	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  005e2	8b 4a 30	 mov	 ecx, DWORD PTR [edx+48]
  005e5	e8 00 00 00 00	 call	 ?SetRange@CCalSetting@@QAEXH@Z ; CCalSetting::SetRange

; 1207 :         if (step_init(ADJ_SATURATION_U, m_Saturation_U, (CCalSetting* )NULL, (CCalSetting* )NULL))

  005ea	6a 00		 push	 0
  005ec	6a 00		 push	 0
  005ee	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  005f1	8b 48 30	 mov	 ecx, DWORD PTR [eax+48]
  005f4	51		 push	 ecx
  005f5	6a 04		 push	 4
  005f7	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  005fa	e8 00 00 00 00	 call	 ?step_init@CCalibration@@AAEHW4eTypeAdjust@@PAVCCalSetting@@11@Z ; CCalibration::step_init
  005ff	85 c0		 test	 eax, eax
  00601	74 2a		 je	 SHORT $LN46@Make

; 1208 :         {
; 1209 :             LOG(2, _T("Automatic Calibration - saturation U - reduced range - try %d"), nb_tries+1);

  00603	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  00606	8b 42 50	 mov	 eax, DWORD PTR [edx+80]
  00609	83 c0 01	 add	 eax, 1
  0060c	50		 push	 eax
  0060d	68 00 00 00 00	 push	 OFFSET ??_C@_1HM@EDNAJJNN@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAs?$AAa?$AAt?$AAu?$AAr?$AAa?$AAt?$AAi@
  00612	6a 02		 push	 2
  00614	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00619	83 c4 0c	 add	 esp, 12			; 0000000cH

; 1210 :             current_step++;

  0061c	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  0061f	8b 51 48	 mov	 edx, DWORD PTR [ecx+72]
  00622	83 c2 01	 add	 edx, 1
  00625	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00628	89 50 48	 mov	 DWORD PTR [eax+72], edx

; 1211 :         }
; 1212 :         else

  0062b	eb 12		 jmp	 SHORT $LN45@Make
$LN46@Make:

; 1213 :         {
; 1214 :             // We stop calibration
; 1215 :             current_step = initial_step + nb_steps;

  0062d	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00630	8b 51 40	 mov	 edx, DWORD PTR [ecx+64]
  00633	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00636	03 50 44	 add	 edx, DWORD PTR [eax+68]
  00639	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  0063c	89 51 48	 mov	 DWORD PTR [ecx+72], edx
$LN45@Make:

; 1216 :         }
; 1217 :         break;

  0063f	e9 df 04 00 00	 jmp	 $LN90@Make
$LN44@Make:

; 1218 : 
; 1219 :     case 13:     // Step to find a short range for saturation U setting
; 1220 :         if (step_process(pInfo, 2, NB_CALCULATIONS_LOW, TRUE, FALSE, &found))

  00644	8d 55 fc	 lea	 edx, DWORD PTR _found$[ebp]
  00647	52		 push	 edx
  00648	6a 00		 push	 0
  0064a	6a 01		 push	 1
  0064c	6a 0a		 push	 10			; 0000000aH
  0064e	6a 02		 push	 2
  00650	8b 45 08	 mov	 eax, DWORD PTR _pInfo$[ebp]
  00653	50		 push	 eax
  00654	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00657	e8 00 00 00 00	 call	 ?step_process@CCalibration@@AAEHPAUTDeinterlaceInfo@@IIHHPAH@Z ; CCalibration::step_process
  0065c	85 c0		 test	 eax, eax
  0065e	74 19		 je	 SHORT $LN43@Make

; 1221 :         {
; 1222 :             current_step += (found ? 3 : 1);

  00660	33 c9		 xor	 ecx, ecx
  00662	83 7d fc 00	 cmp	 DWORD PTR _found$[ebp], 0
  00666	0f 95 c1	 setne	 cl
  00669	8d 4c 09 01	 lea	 ecx, DWORD PTR [ecx+ecx+1]
  0066d	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  00670	03 4a 48	 add	 ecx, DWORD PTR [edx+72]
  00673	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00676	89 48 48	 mov	 DWORD PTR [eax+72], ecx
$LN43@Make:

; 1223 :         }
; 1224 :         break;

  00679	e9 a5 04 00 00	 jmp	 $LN90@Make
$LN42@Make:

; 1225 : 
; 1226 :     case 14:
; 1227 :         m_Saturation_U->SetFullRange();

  0067e	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00681	8b 49 30	 mov	 ecx, DWORD PTR [ecx+48]
  00684	e8 00 00 00 00	 call	 ?SetFullRange@CCalSetting@@QAEXXZ ; CCalSetting::SetFullRange

; 1228 :         if (step_init(ADJ_SATURATION_U, m_Saturation_U, (CCalSetting* )NULL, (CCalSetting* )NULL))

  00689	6a 00		 push	 0
  0068b	6a 00		 push	 0
  0068d	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  00690	8b 42 30	 mov	 eax, DWORD PTR [edx+48]
  00693	50		 push	 eax
  00694	6a 04		 push	 4
  00696	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00699	e8 00 00 00 00	 call	 ?step_init@CCalibration@@AAEHW4eTypeAdjust@@PAVCCalSetting@@11@Z ; CCalibration::step_init
  0069e	85 c0		 test	 eax, eax
  006a0	74 2a		 je	 SHORT $LN41@Make

; 1229 :         {
; 1230 :             LOG(2, _T("Automatic Calibration - saturation U - full range - try %d"), nb_tries+1);

  006a2	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  006a5	8b 51 50	 mov	 edx, DWORD PTR [ecx+80]
  006a8	83 c2 01	 add	 edx, 1
  006ab	52		 push	 edx
  006ac	68 00 00 00 00	 push	 OFFSET ??_C@_1HG@JGIFMOMN@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAs?$AAa?$AAt?$AAu?$AAr?$AAa?$AAt?$AAi@
  006b1	6a 02		 push	 2
  006b3	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  006b8	83 c4 0c	 add	 esp, 12			; 0000000cH

; 1231 :             current_step++;

  006bb	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  006be	8b 48 48	 mov	 ecx, DWORD PTR [eax+72]
  006c1	83 c1 01	 add	 ecx, 1
  006c4	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  006c7	89 4a 48	 mov	 DWORD PTR [edx+72], ecx

; 1232 :         }
; 1233 :         else

  006ca	eb 12		 jmp	 SHORT $LN40@Make
$LN41@Make:

; 1234 :         {
; 1235 :             // We stop calibration
; 1236 :             current_step = initial_step + nb_steps;

  006cc	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  006cf	8b 48 40	 mov	 ecx, DWORD PTR [eax+64]
  006d2	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  006d5	03 4a 44	 add	 ecx, DWORD PTR [edx+68]
  006d8	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  006db	89 48 48	 mov	 DWORD PTR [eax+72], ecx
$LN40@Make:

; 1237 :         }
; 1238 :         break;

  006de	e9 40 04 00 00	 jmp	 $LN90@Make
$LN39@Make:

; 1239 : 
; 1240 :     case 15:     // Step to find a short range for saturation U setting
; 1241 :         if (step_process(pInfo, 2, NB_CALCULATIONS_LOW, TRUE, FALSE, &found))

  006e3	8d 4d fc	 lea	 ecx, DWORD PTR _found$[ebp]
  006e6	51		 push	 ecx
  006e7	6a 00		 push	 0
  006e9	6a 01		 push	 1
  006eb	6a 0a		 push	 10			; 0000000aH
  006ed	6a 02		 push	 2
  006ef	8b 55 08	 mov	 edx, DWORD PTR _pInfo$[ebp]
  006f2	52		 push	 edx
  006f3	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  006f6	e8 00 00 00 00	 call	 ?step_process@CCalibration@@AAEHPAUTDeinterlaceInfo@@IIHHPAH@Z ; CCalibration::step_process
  006fb	85 c0		 test	 eax, eax
  006fd	74 0f		 je	 SHORT $LN38@Make

; 1242 :         {
; 1243 :             current_step++;

  006ff	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00702	8b 48 48	 mov	 ecx, DWORD PTR [eax+72]
  00705	83 c1 01	 add	 ecx, 1
  00708	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  0070b	89 4a 48	 mov	 DWORD PTR [edx+72], ecx
$LN38@Make:

; 1244 :         }
; 1245 :         break;

  0070e	e9 10 04 00 00	 jmp	 $LN90@Make
$LN37@Make:

; 1246 : 
; 1247 :     case 16:
; 1248 :         if (m_Saturation_V == NULL)

  00713	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00716	83 78 34 00	 cmp	 DWORD PTR [eax+52], 0
  0071a	75 14		 jne	 SHORT $LN36@Make

; 1249 :         {
; 1250 :             current_step += 4;

  0071c	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  0071f	8b 51 48	 mov	 edx, DWORD PTR [ecx+72]
  00722	83 c2 04	 add	 edx, 4
  00725	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00728	89 50 48	 mov	 DWORD PTR [eax+72], edx

; 1251 :             break;

  0072b	e9 f3 03 00 00	 jmp	 $LN90@Make
$LN36@Make:

; 1252 :         }
; 1253 :         m_Saturation_V->SetRange(75);

  00730	6a 4b		 push	 75			; 0000004bH
  00732	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00735	8b 49 34	 mov	 ecx, DWORD PTR [ecx+52]
  00738	e8 00 00 00 00	 call	 ?SetRange@CCalSetting@@QAEXH@Z ; CCalSetting::SetRange

; 1254 :         if (step_init(ADJ_SATURATION_V, m_Saturation_V, (CCalSetting* )NULL, (CCalSetting* )NULL))

  0073d	6a 00		 push	 0
  0073f	6a 00		 push	 0
  00741	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  00744	8b 42 34	 mov	 eax, DWORD PTR [edx+52]
  00747	50		 push	 eax
  00748	6a 05		 push	 5
  0074a	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  0074d	e8 00 00 00 00	 call	 ?step_init@CCalibration@@AAEHW4eTypeAdjust@@PAVCCalSetting@@11@Z ; CCalibration::step_init
  00752	85 c0		 test	 eax, eax
  00754	74 2a		 je	 SHORT $LN35@Make

; 1255 :         {
; 1256 :             LOG(2, _T("Automatic Calibration - saturation V - reduced range - try %d"), nb_tries+1);

  00756	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00759	8b 51 50	 mov	 edx, DWORD PTR [ecx+80]
  0075c	83 c2 01	 add	 edx, 1
  0075f	52		 push	 edx
  00760	68 00 00 00 00	 push	 OFFSET ??_C@_1HM@EBDOGDAH@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAs?$AAa?$AAt?$AAu?$AAr?$AAa?$AAt?$AAi@
  00765	6a 02		 push	 2
  00767	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  0076c	83 c4 0c	 add	 esp, 12			; 0000000cH

; 1257 :             current_step++;

  0076f	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00772	8b 48 48	 mov	 ecx, DWORD PTR [eax+72]
  00775	83 c1 01	 add	 ecx, 1
  00778	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  0077b	89 4a 48	 mov	 DWORD PTR [edx+72], ecx

; 1258 :         }
; 1259 :         else

  0077e	eb 12		 jmp	 SHORT $LN34@Make
$LN35@Make:

; 1260 :         {
; 1261 :             // We stop calibration
; 1262 :             current_step = initial_step + nb_steps;

  00780	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00783	8b 48 40	 mov	 ecx, DWORD PTR [eax+64]
  00786	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  00789	03 4a 44	 add	 ecx, DWORD PTR [edx+68]
  0078c	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  0078f	89 48 48	 mov	 DWORD PTR [eax+72], ecx
$LN34@Make:

; 1263 :         }
; 1264 :         break;

  00792	e9 8c 03 00 00	 jmp	 $LN90@Make
$LN33@Make:

; 1265 : 
; 1266 :     case 17:    // Step to find a short range for saturation V setting
; 1267 :         if (step_process(pInfo, 3, NB_CALCULATIONS_LOW, TRUE, FALSE, &found))

  00797	8d 4d fc	 lea	 ecx, DWORD PTR _found$[ebp]
  0079a	51		 push	 ecx
  0079b	6a 00		 push	 0
  0079d	6a 01		 push	 1
  0079f	6a 0a		 push	 10			; 0000000aH
  007a1	6a 03		 push	 3
  007a3	8b 55 08	 mov	 edx, DWORD PTR _pInfo$[ebp]
  007a6	52		 push	 edx
  007a7	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  007aa	e8 00 00 00 00	 call	 ?step_process@CCalibration@@AAEHPAUTDeinterlaceInfo@@IIHHPAH@Z ; CCalibration::step_process
  007af	85 c0		 test	 eax, eax
  007b1	74 19		 je	 SHORT $LN32@Make

; 1268 :         {
; 1269 :             current_step += (found ? 3 : 1);

  007b3	33 c0		 xor	 eax, eax
  007b5	83 7d fc 00	 cmp	 DWORD PTR _found$[ebp], 0
  007b9	0f 95 c0	 setne	 al
  007bc	8d 44 00 01	 lea	 eax, DWORD PTR [eax+eax+1]
  007c0	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  007c3	03 41 48	 add	 eax, DWORD PTR [ecx+72]
  007c6	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  007c9	89 42 48	 mov	 DWORD PTR [edx+72], eax
$LN32@Make:

; 1270 :         }
; 1271 :         break;

  007cc	e9 52 03 00 00	 jmp	 $LN90@Make
$LN31@Make:

; 1272 : 
; 1273 :     case 18:
; 1274 :         if (m_Saturation_V == NULL)

  007d1	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  007d4	83 78 34 00	 cmp	 DWORD PTR [eax+52], 0
  007d8	75 14		 jne	 SHORT $LN30@Make

; 1275 :         {
; 1276 :             current_step += 2;

  007da	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  007dd	8b 51 48	 mov	 edx, DWORD PTR [ecx+72]
  007e0	83 c2 02	 add	 edx, 2
  007e3	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  007e6	89 50 48	 mov	 DWORD PTR [eax+72], edx

; 1277 :             break;

  007e9	e9 35 03 00 00	 jmp	 $LN90@Make
$LN30@Make:

; 1278 :         }
; 1279 :         m_Saturation_V->SetFullRange();

  007ee	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  007f1	8b 49 34	 mov	 ecx, DWORD PTR [ecx+52]
  007f4	e8 00 00 00 00	 call	 ?SetFullRange@CCalSetting@@QAEXXZ ; CCalSetting::SetFullRange

; 1280 :         if (step_init(ADJ_SATURATION_V, m_Saturation_V, (CCalSetting* )NULL, (CCalSetting* )NULL))

  007f9	6a 00		 push	 0
  007fb	6a 00		 push	 0
  007fd	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  00800	8b 42 34	 mov	 eax, DWORD PTR [edx+52]
  00803	50		 push	 eax
  00804	6a 05		 push	 5
  00806	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00809	e8 00 00 00 00	 call	 ?step_init@CCalibration@@AAEHW4eTypeAdjust@@PAVCCalSetting@@11@Z ; CCalibration::step_init
  0080e	85 c0		 test	 eax, eax
  00810	74 2a		 je	 SHORT $LN29@Make

; 1281 :         {
; 1282 :             LOG(2, _T("Automatic Calibration - saturation V - full range - try %d"), nb_tries+1);

  00812	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00815	8b 51 50	 mov	 edx, DWORD PTR [ecx+80]
  00818	83 c2 01	 add	 edx, 1
  0081b	52		 push	 edx
  0081c	68 00 00 00 00	 push	 OFFSET ??_C@_1HG@NAFHPLKJ@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAs?$AAa?$AAt?$AAu?$AAr?$AAa?$AAt?$AAi@
  00821	6a 02		 push	 2
  00823	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00828	83 c4 0c	 add	 esp, 12			; 0000000cH

; 1283 :             current_step++;

  0082b	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  0082e	8b 48 48	 mov	 ecx, DWORD PTR [eax+72]
  00831	83 c1 01	 add	 ecx, 1
  00834	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  00837	89 4a 48	 mov	 DWORD PTR [edx+72], ecx

; 1284 :         }
; 1285 :         else

  0083a	eb 12		 jmp	 SHORT $LN28@Make
$LN29@Make:

; 1286 :         {
; 1287 :             // We stop calibration
; 1288 :             current_step = initial_step + nb_steps;

  0083c	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  0083f	8b 48 40	 mov	 ecx, DWORD PTR [eax+64]
  00842	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  00845	03 4a 44	 add	 ecx, DWORD PTR [edx+68]
  00848	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  0084b	89 48 48	 mov	 DWORD PTR [eax+72], ecx
$LN28@Make:

; 1289 :         }
; 1290 :         break;

  0084e	e9 d0 02 00 00	 jmp	 $LN90@Make
$LN27@Make:

; 1291 : 
; 1292 :     case 19:    // Step to find a short range for saturation V setting
; 1293 :         if (step_process(pInfo, 3, NB_CALCULATIONS_LOW, TRUE, FALSE, &found))

  00853	8d 4d fc	 lea	 ecx, DWORD PTR _found$[ebp]
  00856	51		 push	 ecx
  00857	6a 00		 push	 0
  00859	6a 01		 push	 1
  0085b	6a 0a		 push	 10			; 0000000aH
  0085d	6a 03		 push	 3
  0085f	8b 55 08	 mov	 edx, DWORD PTR _pInfo$[ebp]
  00862	52		 push	 edx
  00863	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00866	e8 00 00 00 00	 call	 ?step_process@CCalibration@@AAEHPAUTDeinterlaceInfo@@IIHHPAH@Z ; CCalibration::step_process
  0086b	85 c0		 test	 eax, eax
  0086d	74 0f		 je	 SHORT $LN26@Make

; 1294 :         {
; 1295 :             current_step++;

  0086f	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00872	8b 48 48	 mov	 ecx, DWORD PTR [eax+72]
  00875	83 c1 01	 add	 ecx, 1
  00878	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  0087b	89 4a 48	 mov	 DWORD PTR [edx+72], ecx
$LN26@Make:

; 1296 :         }
; 1297 :         break;

  0087e	e9 a0 02 00 00	 jmp	 $LN90@Make
$LN25@Make:

; 1298 : 
; 1299 :     case 20:
; 1300 :         if (m_Hue == NULL)

  00883	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00886	83 78 38 00	 cmp	 DWORD PTR [eax+56], 0
  0088a	75 14		 jne	 SHORT $LN24@Make

; 1301 :         {
; 1302 :             current_step += 2;

  0088c	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  0088f	8b 51 48	 mov	 edx, DWORD PTR [ecx+72]
  00892	83 c2 02	 add	 edx, 2
  00895	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00898	89 50 48	 mov	 DWORD PTR [eax+72], edx

; 1303 :             break;

  0089b	e9 83 02 00 00	 jmp	 $LN90@Make
$LN24@Make:

; 1304 :         }
; 1305 :         m_Hue->SetRange(30);

  008a0	6a 1e		 push	 30			; 0000001eH
  008a2	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  008a5	8b 49 38	 mov	 ecx, DWORD PTR [ecx+56]
  008a8	e8 00 00 00 00	 call	 ?SetRange@CCalSetting@@QAEXH@Z ; CCalSetting::SetRange

; 1306 :         if (step_init(ADJ_HUE, m_Hue, (CCalSetting* )NULL, (CCalSetting* )NULL))

  008ad	6a 00		 push	 0
  008af	6a 00		 push	 0
  008b1	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  008b4	8b 42 38	 mov	 eax, DWORD PTR [edx+56]
  008b7	50		 push	 eax
  008b8	6a 07		 push	 7
  008ba	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  008bd	e8 00 00 00 00	 call	 ?step_init@CCalibration@@AAEHW4eTypeAdjust@@PAVCCalSetting@@11@Z ; CCalibration::step_init
  008c2	85 c0		 test	 eax, eax
  008c4	74 2a		 je	 SHORT $LN23@Make

; 1307 :         {
; 1308 :             LOG(2, _T("Automatic Calibration - hue - reduced range - try %d"), nb_tries+1);

  008c6	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  008c9	8b 51 50	 mov	 edx, DWORD PTR [ecx+80]
  008cc	83 c2 01	 add	 edx, 1
  008cf	52		 push	 edx
  008d0	68 00 00 00 00	 push	 OFFSET ??_C@_1GK@JINJMOLL@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAh?$AAu?$AAe?$AA?5?$AA?9?$AA?5?$AAr?$AAe@
  008d5	6a 02		 push	 2
  008d7	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  008dc	83 c4 0c	 add	 esp, 12			; 0000000cH

; 1309 :             current_step++;

  008df	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  008e2	8b 48 48	 mov	 ecx, DWORD PTR [eax+72]
  008e5	83 c1 01	 add	 ecx, 1
  008e8	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  008eb	89 4a 48	 mov	 DWORD PTR [edx+72], ecx

; 1310 :         }
; 1311 :         else

  008ee	eb 12		 jmp	 SHORT $LN22@Make
$LN23@Make:

; 1312 :         {
; 1313 :             // We stop calibration
; 1314 :             current_step = initial_step + nb_steps;

  008f0	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  008f3	8b 48 40	 mov	 ecx, DWORD PTR [eax+64]
  008f6	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  008f9	03 4a 44	 add	 ecx, DWORD PTR [edx+68]
  008fc	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  008ff	89 48 48	 mov	 DWORD PTR [eax+72], ecx
$LN22@Make:

; 1315 :         }
; 1316 :         break;

  00902	e9 1c 02 00 00	 jmp	 $LN90@Make
$LN21@Make:

; 1317 : 
; 1318 :     case 21:    // Step to find a short range for hue setting
; 1319 :         if (step_process(pInfo, 2, NB_CALCULATIONS_LOW, TRUE, FALSE, &found))

  00907	8d 4d fc	 lea	 ecx, DWORD PTR _found$[ebp]
  0090a	51		 push	 ecx
  0090b	6a 00		 push	 0
  0090d	6a 01		 push	 1
  0090f	6a 0a		 push	 10			; 0000000aH
  00911	6a 02		 push	 2
  00913	8b 55 08	 mov	 edx, DWORD PTR _pInfo$[ebp]
  00916	52		 push	 edx
  00917	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  0091a	e8 00 00 00 00	 call	 ?step_process@CCalibration@@AAEHPAUTDeinterlaceInfo@@IIHHPAH@Z ; CCalibration::step_process
  0091f	85 c0		 test	 eax, eax
  00921	74 0f		 je	 SHORT $LN20@Make

; 1320 :         {
; 1321 :             current_step++;

  00923	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00926	8b 48 48	 mov	 ecx, DWORD PTR [eax+72]
  00929	83 c1 01	 add	 ecx, 1
  0092c	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  0092f	89 4a 48	 mov	 DWORD PTR [edx+72], ecx
$LN20@Make:

; 1322 :         }
; 1323 :         break;

  00932	e9 ec 01 00 00	 jmp	 $LN90@Make
$LN19@Make:

; 1324 : 
; 1325 :     case 22:
; 1326 :         if (m_Saturation_U->GetResult(&mask, &min, &max) > 0)

  00937	8d 45 e0	 lea	 eax, DWORD PTR _max$[ebp]
  0093a	50		 push	 eax
  0093b	8d 4d f8	 lea	 ecx, DWORD PTR _min$[ebp]
  0093e	51		 push	 ecx
  0093f	8d 55 f4	 lea	 edx, DWORD PTR _mask$[ebp]
  00942	52		 push	 edx
  00943	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00946	8b 48 30	 mov	 ecx, DWORD PTR [eax+48]
  00949	e8 00 00 00 00	 call	 ?GetResult@CCalSetting@@QAEHPAPAIPAH1@Z ; CCalSetting::GetResult
  0094e	85 c0		 test	 eax, eax
  00950	7e 11		 jle	 SHORT $LN18@Make

; 1327 :         {
; 1328 :             m_Saturation_U->SetRange(mask);

  00952	8b 4d f4	 mov	 ecx, DWORD PTR _mask$[ebp]
  00955	51		 push	 ecx
  00956	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  00959	8b 4a 30	 mov	 ecx, DWORD PTR [edx+48]
  0095c	e8 00 00 00 00	 call	 ?SetRange@CCalSetting@@QAEXPAI@Z ; CCalSetting::SetRange

; 1329 :         }
; 1330 :         else

  00961	eb 0d		 jmp	 SHORT $LN17@Make
$LN18@Make:

; 1331 :         {
; 1332 :             m_Saturation_U->SetRange(0);

  00963	6a 00		 push	 0
  00965	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00968	8b 48 30	 mov	 ecx, DWORD PTR [eax+48]
  0096b	e8 00 00 00 00	 call	 ?SetRange@CCalSetting@@QAEXH@Z ; CCalSetting::SetRange
$LN17@Make:

; 1333 :         }
; 1334 :         free(mask);

  00970	8b 4d f4	 mov	 ecx, DWORD PTR _mask$[ebp]
  00973	51		 push	 ecx
  00974	e8 00 00 00 00	 call	 _free
  00979	83 c4 04	 add	 esp, 4

; 1335 :         nb1 = m_Saturation_U->GetRange(NULL, &min, &max);

  0097c	8d 55 e0	 lea	 edx, DWORD PTR _max$[ebp]
  0097f	52		 push	 edx
  00980	8d 45 f8	 lea	 eax, DWORD PTR _min$[ebp]
  00983	50		 push	 eax
  00984	6a 00		 push	 0
  00986	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00989	8b 49 30	 mov	 ecx, DWORD PTR [ecx+48]
  0098c	e8 00 00 00 00	 call	 ?GetRange@CCalSetting@@QAEHPAPAIPAH1@Z ; CCalSetting::GetRange
  00991	89 45 ec	 mov	 DWORD PTR _nb1$[ebp], eax

; 1336 :         if (m_Saturation_V != NULL)

  00994	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  00997	83 7a 34 00	 cmp	 DWORD PTR [edx+52], 0
  0099b	74 5f		 je	 SHORT $LN16@Make

; 1337 :         {
; 1338 :             if (m_Saturation_V->GetResult(&mask, &min, &max) > 0)

  0099d	8d 45 e0	 lea	 eax, DWORD PTR _max$[ebp]
  009a0	50		 push	 eax
  009a1	8d 4d f8	 lea	 ecx, DWORD PTR _min$[ebp]
  009a4	51		 push	 ecx
  009a5	8d 55 f4	 lea	 edx, DWORD PTR _mask$[ebp]
  009a8	52		 push	 edx
  009a9	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  009ac	8b 48 34	 mov	 ecx, DWORD PTR [eax+52]
  009af	e8 00 00 00 00	 call	 ?GetResult@CCalSetting@@QAEHPAPAIPAH1@Z ; CCalSetting::GetResult
  009b4	85 c0		 test	 eax, eax
  009b6	7e 11		 jle	 SHORT $LN15@Make

; 1339 :             {
; 1340 :                 m_Saturation_V->SetRange(mask);

  009b8	8b 4d f4	 mov	 ecx, DWORD PTR _mask$[ebp]
  009bb	51		 push	 ecx
  009bc	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  009bf	8b 4a 34	 mov	 ecx, DWORD PTR [edx+52]
  009c2	e8 00 00 00 00	 call	 ?SetRange@CCalSetting@@QAEXPAI@Z ; CCalSetting::SetRange

; 1341 :             }
; 1342 :             else

  009c7	eb 0d		 jmp	 SHORT $LN14@Make
$LN15@Make:

; 1343 :             {
; 1344 :                 m_Saturation_V->SetRange(0);

  009c9	6a 00		 push	 0
  009cb	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  009ce	8b 48 34	 mov	 ecx, DWORD PTR [eax+52]
  009d1	e8 00 00 00 00	 call	 ?SetRange@CCalSetting@@QAEXH@Z ; CCalSetting::SetRange
$LN14@Make:

; 1345 :             }
; 1346 :             free(mask);

  009d6	8b 4d f4	 mov	 ecx, DWORD PTR _mask$[ebp]
  009d9	51		 push	 ecx
  009da	e8 00 00 00 00	 call	 _free
  009df	83 c4 04	 add	 esp, 4

; 1347 :             nb2 = m_Saturation_V->GetRange(NULL, &min, &max);

  009e2	8d 55 e0	 lea	 edx, DWORD PTR _max$[ebp]
  009e5	52		 push	 edx
  009e6	8d 45 f8	 lea	 eax, DWORD PTR _min$[ebp]
  009e9	50		 push	 eax
  009ea	6a 00		 push	 0
  009ec	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  009ef	8b 49 34	 mov	 ecx, DWORD PTR [ecx+52]
  009f2	e8 00 00 00 00	 call	 ?GetRange@CCalSetting@@QAEHPAPAIPAH1@Z ; CCalSetting::GetRange
  009f7	89 45 f0	 mov	 DWORD PTR _nb2$[ebp], eax

; 1348 :         }
; 1349 :         else

  009fa	eb 07		 jmp	 SHORT $LN13@Make
$LN16@Make:

; 1350 :         {
; 1351 :             nb2 = 1;

  009fc	c7 45 f0 01 00
	00 00		 mov	 DWORD PTR _nb2$[ebp], 1
$LN13@Make:

; 1352 :         }
; 1353 :         if (m_Hue != NULL)

  00a03	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  00a06	83 7a 38 00	 cmp	 DWORD PTR [edx+56], 0
  00a0a	74 5f		 je	 SHORT $LN12@Make

; 1354 :         {
; 1355 :             if (m_Hue->GetResult(&mask, &min, &max) > 0)

  00a0c	8d 45 e0	 lea	 eax, DWORD PTR _max$[ebp]
  00a0f	50		 push	 eax
  00a10	8d 4d f8	 lea	 ecx, DWORD PTR _min$[ebp]
  00a13	51		 push	 ecx
  00a14	8d 55 f4	 lea	 edx, DWORD PTR _mask$[ebp]
  00a17	52		 push	 edx
  00a18	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00a1b	8b 48 38	 mov	 ecx, DWORD PTR [eax+56]
  00a1e	e8 00 00 00 00	 call	 ?GetResult@CCalSetting@@QAEHPAPAIPAH1@Z ; CCalSetting::GetResult
  00a23	85 c0		 test	 eax, eax
  00a25	7e 11		 jle	 SHORT $LN11@Make

; 1356 :             {
; 1357 :                 m_Hue->SetRange(mask);

  00a27	8b 4d f4	 mov	 ecx, DWORD PTR _mask$[ebp]
  00a2a	51		 push	 ecx
  00a2b	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  00a2e	8b 4a 38	 mov	 ecx, DWORD PTR [edx+56]
  00a31	e8 00 00 00 00	 call	 ?SetRange@CCalSetting@@QAEXPAI@Z ; CCalSetting::SetRange

; 1358 :             }
; 1359 :             else

  00a36	eb 0d		 jmp	 SHORT $LN10@Make
$LN11@Make:

; 1360 :             {
; 1361 :                 m_Hue->SetRange(0);

  00a38	6a 00		 push	 0
  00a3a	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00a3d	8b 48 38	 mov	 ecx, DWORD PTR [eax+56]
  00a40	e8 00 00 00 00	 call	 ?SetRange@CCalSetting@@QAEXH@Z ; CCalSetting::SetRange
$LN10@Make:

; 1362 :             }
; 1363 :             free(mask);

  00a45	8b 4d f4	 mov	 ecx, DWORD PTR _mask$[ebp]
  00a48	51		 push	 ecx
  00a49	e8 00 00 00 00	 call	 _free
  00a4e	83 c4 04	 add	 esp, 4

; 1364 :             nb3 = m_Hue->GetRange(NULL, &min, &max);

  00a51	8d 55 e0	 lea	 edx, DWORD PTR _max$[ebp]
  00a54	52		 push	 edx
  00a55	8d 45 f8	 lea	 eax, DWORD PTR _min$[ebp]
  00a58	50		 push	 eax
  00a59	6a 00		 push	 0
  00a5b	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00a5e	8b 49 38	 mov	 ecx, DWORD PTR [ecx+56]
  00a61	e8 00 00 00 00	 call	 ?GetRange@CCalSetting@@QAEHPAPAIPAH1@Z ; CCalSetting::GetRange
  00a66	89 45 e8	 mov	 DWORD PTR _nb3$[ebp], eax

; 1365 :         }
; 1366 :         else

  00a69	eb 07		 jmp	 SHORT $LN9@Make
$LN12@Make:

; 1367 :         {
; 1368 :             nb3 = 1;

  00a6b	c7 45 e8 01 00
	00 00		 mov	 DWORD PTR _nb3$[ebp], 1
$LN9@Make:

; 1369 :         }
; 1370 :         if ((nb1 == 1) && (nb2 == 1) && (nb3 == 1))

  00a72	83 7d ec 01	 cmp	 DWORD PTR _nb1$[ebp], 1
  00a76	75 20		 jne	 SHORT $LN8@Make
  00a78	83 7d f0 01	 cmp	 DWORD PTR _nb2$[ebp], 1
  00a7c	75 1a		 jne	 SHORT $LN8@Make
  00a7e	83 7d e8 01	 cmp	 DWORD PTR _nb3$[ebp], 1
  00a82	75 14		 jne	 SHORT $LN8@Make

; 1371 :         {
; 1372 :             current_step += 2;

  00a84	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  00a87	8b 42 48	 mov	 eax, DWORD PTR [edx+72]
  00a8a	83 c0 02	 add	 eax, 2
  00a8d	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00a90	89 41 48	 mov	 DWORD PTR [ecx+72], eax

; 1373 :             break;

  00a93	e9 8b 00 00 00	 jmp	 $LN90@Make
$LN8@Make:

; 1374 :         }
; 1375 :         if (step_init(ADJ_COLOR, m_Saturation_U, m_Saturation_V, m_Hue))

  00a98	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  00a9b	8b 42 38	 mov	 eax, DWORD PTR [edx+56]
  00a9e	50		 push	 eax
  00a9f	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00aa2	8b 51 34	 mov	 edx, DWORD PTR [ecx+52]
  00aa5	52		 push	 edx
  00aa6	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00aa9	8b 48 30	 mov	 ecx, DWORD PTR [eax+48]
  00aac	51		 push	 ecx
  00aad	6a 06		 push	 6
  00aaf	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00ab2	e8 00 00 00 00	 call	 ?step_init@CCalibration@@AAEHW4eTypeAdjust@@PAVCCalSetting@@11@Z ; CCalibration::step_init
  00ab7	85 c0		 test	 eax, eax
  00ab9	74 2c		 je	 SHORT $LN7@Make

; 1376 :         {
; 1377 :             LOG(2, _T("Automatic Calibration - saturation U + saturation V + hue - %d %d %d"), nb1, nb2, nb3);

  00abb	8b 55 e8	 mov	 edx, DWORD PTR _nb3$[ebp]
  00abe	52		 push	 edx
  00abf	8b 45 f0	 mov	 eax, DWORD PTR _nb2$[ebp]
  00ac2	50		 push	 eax
  00ac3	8b 4d ec	 mov	 ecx, DWORD PTR _nb1$[ebp]
  00ac6	51		 push	 ecx
  00ac7	68 00 00 00 00	 push	 OFFSET ??_C@_1IK@HGDKNJBL@?$AAA?$AAu?$AAt?$AAo?$AAm?$AAa?$AAt?$AAi?$AAc?$AA?5?$AAC?$AAa?$AAl?$AAi?$AAb?$AAr?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AA?9?$AA?5?$AAs?$AAa?$AAt?$AAu?$AAr?$AAa?$AAt?$AAi@
  00acc	6a 02		 push	 2
  00ace	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00ad3	83 c4 14	 add	 esp, 20			; 00000014H

; 1378 :             current_step++;

  00ad6	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  00ad9	8b 42 48	 mov	 eax, DWORD PTR [edx+72]
  00adc	83 c0 01	 add	 eax, 1
  00adf	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00ae2	89 41 48	 mov	 DWORD PTR [ecx+72], eax

; 1379 :         }
; 1380 :         else

  00ae5	eb 0f		 jmp	 SHORT $LN6@Make
$LN7@Make:

; 1381 :         {
; 1382 :             current_step += 2;

  00ae7	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  00aea	8b 42 48	 mov	 eax, DWORD PTR [edx+72]
  00aed	83 c0 02	 add	 eax, 2
  00af0	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00af3	89 41 48	 mov	 DWORD PTR [ecx+72], eax
$LN6@Make:

; 1383 :         }
; 1384 :         break;

  00af6	eb 2b		 jmp	 SHORT $LN90@Make
$LN5@Make:

; 1385 : 
; 1386 :     case 23:    // Step to adjust fine color saturation and hue
; 1387 :         if (step_process(pInfo, 4, NB_CALCULATIONS_HIGH, FALSE, TRUE, &found))

  00af8	8d 55 fc	 lea	 edx, DWORD PTR _found$[ebp]
  00afb	52		 push	 edx
  00afc	6a 01		 push	 1
  00afe	6a 00		 push	 0
  00b00	6a 32		 push	 50			; 00000032H
  00b02	6a 04		 push	 4
  00b04	8b 45 08	 mov	 eax, DWORD PTR _pInfo$[ebp]
  00b07	50		 push	 eax
  00b08	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00b0b	e8 00 00 00 00	 call	 ?step_process@CCalibration@@AAEHPAUTDeinterlaceInfo@@IIHHPAH@Z ; CCalibration::step_process
  00b10	85 c0		 test	 eax, eax
  00b12	74 0f		 je	 SHORT $LN90@Make

; 1388 :         {
; 1389 :             current_step++;

  00b14	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00b17	8b 51 48	 mov	 edx, DWORD PTR [ecx+72]
  00b1a	83 c2 01	 add	 edx, 1
  00b1d	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00b20	89 50 48	 mov	 DWORD PTR [eax+72], edx
$LN90@Make:

; 1390 :         }
; 1391 :         break;
; 1392 : 
; 1393 :     default:
; 1394 :         break;
; 1395 :     }
; 1396 : 
; 1397 :     // Test to check if all steps are already done
; 1398 :     if ((current_step > 0) && ((current_step - initial_step) >= nb_steps))

  00b23	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00b26	83 79 48 00	 cmp	 DWORD PTR [ecx+72], 0
  00b2a	7e 28		 jle	 SHORT $LN2@Make
  00b2c	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  00b2f	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00b32	8b 4a 48	 mov	 ecx, DWORD PTR [edx+72]
  00b35	2b 48 40	 sub	 ecx, DWORD PTR [eax+64]
  00b38	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  00b3b	3b 4a 44	 cmp	 ecx, DWORD PTR [edx+68]
  00b3e	72 14		 jb	 SHORT $LN2@Make

; 1399 :     {
; 1400 :         current_step = 0;

  00b40	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00b43	c7 40 48 00 00
	00 00		 mov	 DWORD PTR [eax+72], 0

; 1401 :         first_calc = TRUE;

  00b4a	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00b4d	c7 41 5c 01 00
	00 00		 mov	 DWORD PTR [ecx+92], 1
$LN2@Make:

; 1402 :     }
; 1403 : 
; 1404 :     if (m_CurSubPat != NULL)

  00b54	8b 55 dc	 mov	 edx, DWORD PTR _this$[ebp]
  00b57	83 7a 1c 00	 cmp	 DWORD PTR [edx+28], 0
  00b5b	74 0f		 je	 SHORT $LN96@Make

; 1405 :     {
; 1406 :         m_CurSubPat->Draw(pInfo);

  00b5d	8b 45 08	 mov	 eax, DWORD PTR _pInfo$[ebp]
  00b60	50		 push	 eax
  00b61	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00b64	8b 49 1c	 mov	 ecx, DWORD PTR [ecx+28]
  00b67	e8 00 00 00 00	 call	 ?Draw@CSubPattern@@QAEXPAUTDeinterlaceInfo@@@Z ; CSubPattern::Draw
$LN96@Make:

; 1407 :     }
; 1408 : }

  00b6c	8b e5		 mov	 esp, ebp
  00b6e	5d		 pop	 ebp
  00b6f	c2 08 00	 ret	 8
  00b72	8b ff		 npad	 2
$LN100@Make:
  00b74	00 00 00 00	 DD	 $LN89@Make
  00b78	00 00 00 00	 DD	 $LN88@Make
  00b7c	00 00 00 00	 DD	 $LN80@Make
  00b80	00 00 00 00	 DD	 $LN77@Make
  00b84	00 00 00 00	 DD	 $LN75@Make
  00b88	00 00 00 00	 DD	 $LN72@Make
  00b8c	00 00 00 00	 DD	 $LN70@Make
  00b90	00 00 00 00	 DD	 $LN67@Make
  00b94	00 00 00 00	 DD	 $LN65@Make
  00b98	00 00 00 00	 DD	 $LN62@Make
  00b9c	00 00 00 00	 DD	 $LN60@Make
  00ba0	00 00 00 00	 DD	 $LN57@Make
  00ba4	00 00 00 00	 DD	 $LN49@Make
  00ba8	00 00 00 00	 DD	 $LN47@Make
  00bac	00 00 00 00	 DD	 $LN44@Make
  00bb0	00 00 00 00	 DD	 $LN42@Make
  00bb4	00 00 00 00	 DD	 $LN39@Make
  00bb8	00 00 00 00	 DD	 $LN37@Make
  00bbc	00 00 00 00	 DD	 $LN33@Make
  00bc0	00 00 00 00	 DD	 $LN31@Make
  00bc4	00 00 00 00	 DD	 $LN27@Make
  00bc8	00 00 00 00	 DD	 $LN25@Make
  00bcc	00 00 00 00	 DD	 $LN21@Make
  00bd0	00 00 00 00	 DD	 $LN19@Make
  00bd4	00 00 00 00	 DD	 $LN5@Make
?Make@CCalibration@@QAEXPAUTDeinterlaceInfo@@H@Z ENDP	; CCalibration::Make
; Function compile flags: /Odtp
;	COMDAT ??__EpCalibration@@YAXXZ
text$yc	SEGMENT
??__EpCalibration@@YAXXZ PROC				; `dynamic initializer for 'pCalibration'', COMDAT

; 1556 : SmartPtr<CCalibration> pCalibration;

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	b9 00 00 00 00	 mov	 ecx, OFFSET ?pCalibration@@3V?$SmartPtr@VCCalibration@@@@A ; pCalibration
  00008	e8 00 00 00 00	 call	 ??0?$SmartPtr@VCCalibration@@@@QAE@XZ ; SmartPtr<CCalibration>::SmartPtr<CCalibration>
  0000d	68 00 00 00 00	 push	 OFFSET ??__FpCalibration@@YAXXZ ; `dynamic atexit destructor for 'pCalibration''
  00012	e8 00 00 00 00	 call	 _atexit
  00017	83 c4 04	 add	 esp, 4
  0001a	5d		 pop	 ebp
  0001b	c3		 ret	 0
??__EpCalibration@@YAXXZ ENDP				; `dynamic initializer for 'pCalibration''
; Function compile flags: /Odtp
;	COMDAT ??__FpCalibration@@YAXXZ
text$yd	SEGMENT
??__FpCalibration@@YAXXZ PROC				; `dynamic atexit destructor for 'pCalibration'', COMDAT
  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	b9 00 00 00 00	 mov	 ecx, OFFSET ?pCalibration@@3V?$SmartPtr@VCCalibration@@@@A ; pCalibration
  00008	e8 00 00 00 00	 call	 ??1?$SmartPtr@VCCalibration@@@@QAE@XZ ; SmartPtr<CCalibration>::~SmartPtr<CCalibration>
  0000d	5d		 pop	 ebp
  0000e	c3		 ret	 0
??__FpCalibration@@YAXXZ ENDP				; `dynamic atexit destructor for 'pCalibration''
PUBLIC	?pCalibration@@3V?$SmartPtr@VCCalibration@@@@A	; pCalibration
?pCalibration@@3V?$SmartPtr@VCCalibration@@@@A DQ 01H DUP (?) ; pCalibration
_pCalibration$initializer$ DD FLAT:??__EpCalibration@@YAXXZ
END
