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

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

INCLUDELIB OLDNAMES

PUBLIC	??_C@_08FOLOGJGH@2?32?5Comb?$AA@		; `string'
PUBLIC	??_C@_0BL@GHPICJPI@2?32?5Pulldown?5Use?5Comb?5Info?$AA@ ; `string'
PUBLIC	??_C@_08EJMFHNCE@3?32?5Comb?$AA@		; `string'
PUBLIC	??_C@_0BL@JHEDCLJ@3?32?5Pulldown?5Use?5Comb?5Info?$AA@ ; `string'
PUBLIC	??_C@_0BB@GLBGNMMM@Progressive?5Scan?$AA@	; `string'
PUBLIC	??_C@_07CMNGCOAG@3?32?55th?$AA@			; `string'
PUBLIC	??_C@_0CB@NHIEKJIM@3?32?5Pulldown?5Skip?55th?5Full?5Frame@ ; `string'
PUBLIC	??_C@_07JEGKEJGD@3?32?54th?$AA@			; `string'
PUBLIC	??_C@_0CB@GOHPHCGE@3?32?5Pulldown?5Skip?54th?5Full?5Frame@ ; `string'
PUBLIC	??_C@_07KBIFECGE@3?32?53rd?$AA@			; `string'
PUBLIC	??_C@_0CB@JHAGIPDD@3?32?5Pulldown?5Skip?53rd?5Full?5Frame@ ; `string'
PUBLIC	??_C@_07MAFHPBF@3?32?52nd?$AA@			; `string'
PUBLIC	??_C@_0CB@GCLKPJJK@3?32?5Pulldown?5Skip?52nd?5Full?5Frame@ ; `string'
PUBLIC	??_C@_07EAIMPCIJ@3?32?51st?$AA@			; `string'
PUBLIC	??_C@_0CB@BGIIHJAO@3?32?5Pulldown?5Skip?51st?5Full?5Frame@ ; `string'
PUBLIC	??_C@_08FOEJJKGG@2?32?5Even?$AA@		; `string'
PUBLIC	??_C@_0BK@BHKBJNPM@2?32?5Pulldown?5Flip?5on?5Even?$AA@ ; `string'
PUBLIC	??_C@_07FEGNICBM@2?32?5Odd?$AA@			; `string'
PUBLIC	??_C@_0BJ@NFCNFFPK@2?32?5Pulldown?5Flip?5on?5Odd?$AA@ ; `string'
PUBLIC	??$_Uninit_move@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_move<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *,std::allocator<SmartPtr<CSettingsHolder> >,std::_Undefined_move_tag>
PUBLIC	??$_Unchecked_uninitialized_move@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@stdext@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@Z ; stdext::_Unchecked_uninitialized_move<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *,std::allocator<SmartPtr<CSettingsHolder> > >
PUBLIC	??$_Umove@PAV?$SmartPtr@VCSettingsHolder@@@@@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEPAV?$SmartPtr@VCSettingsHolder@@@@PAV2@00@Z ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Umove<SmartPtr<CSettingsHolder> *>
PUBLIC	??$_Fill@PAV?$SmartPtr@VCSettingsHolder@@@@V1@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@0ABV1@@Z ; std::_Fill<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> >
PUBLIC	??$fill@PAV?$SmartPtr@VCSettingsHolder@@@@V1@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@0ABV1@@Z ; std::fill<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> >
PUBLIC	??$_Move_cat@PAV?$SmartPtr@VCSettingsHolder@@@@@std@@YA?AU_Undefined_move_tag@0@ABQAV?$SmartPtr@VCSettingsHolder@@@@@Z ; std::_Move_cat<SmartPtr<CSettingsHolder> *>
PUBLIC	??$_Copy_backward_opt@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@Uforward_iterator_tag@std@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00Uforward_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_backward_opt<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *,std::forward_iterator_tag>
PUBLIC	??$_Copy_backward_opt@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00Urandom_access_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_backward_opt<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *>
PUBLIC	??$_Move_backward_opt@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Move_backward_opt<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *,std::random_access_iterator_tag,std::_Undefined_move_tag>
PUBLIC	??$_Unchecked_move_backward@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@@stdext@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00@Z ; stdext::_Unchecked_move_backward<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *>
PUBLIC	?_Insert_n@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@IABV?$SmartPtr@VCSettingsHolder@@@@@Z ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Insert_n
PUBLIC	??G?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBEHABV01@@Z ; std::_Vector_const_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::operator-
PUBLIC	??Y?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_const_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::operator+=
PUBLIC	??Y?$_Vector_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::operator+=
PUBLIC	??H?$_Vector_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBE?AV01@H@Z ; std::_Vector_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::operator+
PUBLIC	?insert@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@V?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@ABV?$SmartPtr@VCSettingsHolder@@@@@Z ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::insert
PUBLIC	??$_Uninit_fill_n@PAV?$SmartPtr@VCSettingsHolder@@@@IV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_fill_n<SmartPtr<CSettingsHolder> *,unsigned int,SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >
PUBLIC	??$unchecked_uninitialized_fill_n@PAV?$SmartPtr@VCSettingsHolder@@@@IV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@stdext@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@Z ; stdext::unchecked_uninitialized_fill_n<SmartPtr<CSettingsHolder> *,unsigned int,SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >
PUBLIC	?_Ufill@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEPAV?$SmartPtr@VCSettingsHolder@@@@PAV3@IABV3@@Z ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Ufill
PUBLIC	?push_back@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAEXABV?$SmartPtr@VCSettingsHolder@@@@@Z ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::push_back
PUBLIC	??B?$DynamicFunctionParent@P6APAU_DEINTERLACE_METHOD@@J@Z@@QBEHXZ ; DynamicFunctionParent<_DEINTERLACE_METHOD * (__cdecl*)(long)>::operator int
PUBLIC	??0?$DynamicFunctionParent@P6APAU_DEINTERLACE_METHOD@@J@Z@@QAE@PB_WPBD@Z ; DynamicFunctionParent<_DEINTERLACE_METHOD * (__cdecl*)(long)>::DynamicFunctionParent<_DEINTERLACE_METHOD * (__cdecl*)(long)>
PUBLIC	??0?$DynamicFunctionC1@PAU_DEINTERLACE_METHOD@@J@@QAE@PB_WPBD@Z ; DynamicFunctionC1<_DEINTERLACE_METHOD *,long>::DynamicFunctionC1<_DEINTERLACE_METHOD *,long>
PUBLIC	??R?$DynamicFunctionC1@PAU_DEINTERLACE_METHOD@@J@@QBEPAU_DEINTERLACE_METHOD@@J@Z ; DynamicFunctionC1<_DEINTERLACE_METHOD *,long>::operator()
PUBLIC	??A?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAEAAV?$SmartPtr@VCSettingsHolder@@@@I@Z ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::operator[]
PUBLIC	?capacity@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::capacity
PUBLIC	?size@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::size
PUBLIC	?begin@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@XZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::begin
PUBLIC	?end@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@XZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::end
PUBLIC	??0?$_Iterator_with_base@Urandom_access_iterator_tag@std@@V?$SmartPtr@VCSettingsHolder@@@@HPBV3@ABV3@V_Iterator_base_aux@2@@std@@QAE@XZ ; std::_Iterator_with_base<std::random_access_iterator_tag,SmartPtr<CSettingsHolder>,int,SmartPtr<CSettingsHolder> const *,SmartPtr<CSettingsHolder> const &,std::_Iterator_base_aux>::_Iterator_with_base<std::random_access_iterator_tag,SmartPtr<CSettingsHolder>,int,SmartPtr<CSettingsHolder> const *,SmartPtr<CSettingsHolder> const &,std::_Iterator_base_aux>
PUBLIC	??0?$_Ranit@V?$SmartPtr@VCSettingsHolder@@@@HPBV1@ABV1@@std@@QAE@XZ ; std::_Ranit<SmartPtr<CSettingsHolder>,int,SmartPtr<CSettingsHolder> const *,SmartPtr<CSettingsHolder> const &>::_Ranit<SmartPtr<CSettingsHolder>,int,SmartPtr<CSettingsHolder> const *,SmartPtr<CSettingsHolder> const &>
PUBLIC	??0?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@PAV?$SmartPtr@VCSettingsHolder@@@@PBV_Container_base_aux@1@@Z ; std::_Vector_const_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Vector_const_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >
PUBLIC	??0?$_Vector_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@PAV?$SmartPtr@VCSettingsHolder@@@@PBV_Container_base_aux@1@@Z ; std::_Vector_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Vector_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >
PUBLIC	?_Make_iter@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBE?AV?$_Vector_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@V?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@@Z ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Make_iter
PUBLIC	??8?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::operator==
PUBLIC	??9?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::operator!=
PUBLIC	?erase@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@V?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@0@Z ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::erase
PUBLIC	?clear@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAEXXZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::clear
PUBLIC	??$_Iter_random@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAV?$SmartPtr@VCSettingsHolder@@@@0@Z ; std::_Iter_random<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *>
PUBLIC	??4?$SmartPtr@VCSettingsHolder@@@@QAEAAV0@ABV0@@Z ; SmartPtr<CSettingsHolder>::operator=
PUBLIC	??$_Copy_opt@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@Uforward_iterator_tag@std@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00Uforward_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_opt<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *,std::forward_iterator_tag>
PUBLIC	??$_Copy_opt@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00Urandom_access_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_opt<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *>
PUBLIC	??$unchecked_copy@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@@stdext@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00@Z ; stdext::unchecked_copy<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *>
PUBLIC	??$_Checked_base@PAV?$SmartPtr@VCSettingsHolder@@@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@AAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z ; std::_Checked_base<SmartPtr<CSettingsHolder> *>
PUBLIC	??$_Checked_base@PAV?$SmartPtr@VCSettingsHolder@@@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<CSettingsHolder> *>
PUBLIC	??$_Construct@V?$SmartPtr@VCSettingsHolder@@@@V1@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@ABV1@@Z ; std::_Construct<SmartPtr<CSettingsHolder>,SmartPtr<CSettingsHolder> >
PUBLIC	?construct@?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAEXPAV?$SmartPtr@VCSettingsHolder@@@@ABV3@@Z ; std::allocator<SmartPtr<CSettingsHolder> >::construct
PUBLIC	??$_Uninit_copy@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_copy<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *,std::allocator<SmartPtr<CSettingsHolder> > >
PUBLIC	??$unchecked_uninitialized_copy@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@stdext@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@Z ; stdext::unchecked_uninitialized_copy<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *,std::allocator<SmartPtr<CSettingsHolder> > >
PUBLIC	??$_Ucopy@PAV?$SmartPtr@VCSettingsHolder@@@@@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEPAV?$SmartPtr@VCSettingsHolder@@@@PAV2@00@Z ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Ucopy<SmartPtr<CSettingsHolder> *>
PUBLIC	??4?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAEAAV01@ABV01@@Z ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::operator=
PUBLIC	?deallocate@?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@QAEXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@I@Z ; std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >::deallocate
PUBLIC	??$_Allocate@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@IPAV10@@Z ; std::_Allocate<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >
PUBLIC	?allocate@?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@QAEPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@I@Z ; std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >::allocate
PUBLIC	?capacity@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBEIXZ ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::capacity
PUBLIC	?size@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBEIXZ ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::size
PUBLIC	?max_size@?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@QBEIXZ ; std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >::max_size
PUBLIC	?max_size@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBEIXZ ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::max_size
PUBLIC	?_Xlen@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@KAXXZ ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_Xlen
PUBLIC	??$_Uninit_move@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Swap_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_move<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >
PUBLIC	??$_Unchecked_uninitialized_move@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@stdext@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@00AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@Z ; stdext::_Unchecked_uninitialized_move<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >
PUBLIC	??$_Umove@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@1@PAV21@00@Z ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_Umove<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
PUBLIC	??$_Fill@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V12@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0ABV10@@Z ; std::_Fill<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >
PUBLIC	??$fill@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V12@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0ABV10@@Z ; std::fill<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >
PUBLIC	??$_Move_cat@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@YA?AU_Swap_move_tag@0@ABQAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@@Z ; std::_Move_cat<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
PUBLIC	??$?8_W_W@std@@YA_NABV?$allocator@_W@0@0@Z	; std::operator==<wchar_t,wchar_t>
PUBLIC	?swap@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXAAV12@@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::swap
PUBLIC	??$swap@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@YAXAAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0@Z ; std::swap<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
PUBLIC	??$_Move_backward_opt@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@Uforward_iterator_tag@2@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00Uforward_iterator_tag@0@U_Swap_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Move_backward_opt<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::forward_iterator_tag>
PUBLIC	??$_Move_backward_opt@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00Urandom_access_iterator_tag@0@U_Swap_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Move_backward_opt<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
PUBLIC	??$_Unchecked_move_backward@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@@stdext@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@00@Z ; stdext::_Unchecked_move_backward<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
PUBLIC	?_Insert_n@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEXV?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@IABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_Insert_n
PUBLIC	??G?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBEHABV01@@Z ; std::_Vector_const_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::operator-
PUBLIC	??Y?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAEAAV01@H@Z ; std::_Vector_const_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::operator+=
PUBLIC	??Y?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAEAAV01@H@Z ; std::_Vector_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::operator+=
PUBLIC	??H?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBE?AV01@H@Z ; std::_Vector_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::operator+
PUBLIC	?insert@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAE?AV?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@V?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::insert
PUBLIC	??$_Construct@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V12@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@ABV10@@Z ; std::_Construct<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >
PUBLIC	?construct@?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@QAEXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@ABV32@@Z ; std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >::construct
PUBLIC	??$_Uninit_fill_n@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@IABV10@AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_fill_n<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,unsigned int,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >
PUBLIC	??$unchecked_uninitialized_fill_n@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@stdext@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IABV12@AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@Z ; stdext::unchecked_uninitialized_fill_n<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,unsigned int,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >
PUBLIC	?_Ufill@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@PAV32@IABV32@@Z ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_Ufill
PUBLIC	?push_back@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAEXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::push_back
PUBLIC	?begin@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAE?AV?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@XZ ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::begin
PUBLIC	?end@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAE?AV?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@XZ ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::end
PUBLIC	??0?$_Iterator_with_base@Urandom_access_iterator_tag@std@@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@HPBV32@ABV32@V_Iterator_base_aux@2@@std@@QAE@XZ ; std::_Iterator_with_base<std::random_access_iterator_tag,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,int,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > const *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > const &,std::_Iterator_base_aux>::_Iterator_with_base<std::random_access_iterator_tag,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,int,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > const *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > const &,std::_Iterator_base_aux>
PUBLIC	??0?$_Ranit@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HPBV12@ABV12@@std@@QAE@XZ ; std::_Ranit<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,int,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > const *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > const &>::_Ranit<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,int,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > const *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > const &>
PUBLIC	??0?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAE@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@1@PBV_Container_base_aux@1@@Z ; std::_Vector_const_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_Vector_const_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >
PUBLIC	??0?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAE@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@1@PBV_Container_base_aux@1@@Z ; std::_Vector_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_Vector_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >
PUBLIC	?_Make_iter@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBE?AV?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@V?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@@Z ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_Make_iter
PUBLIC	??_G?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEPAXI@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::`scalar deleting destructor'
PUBLIC	??$_Destroy@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@@Z ; std::_Destroy<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >
PUBLIC	?destroy@?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@QAEXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z ; std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >::destroy
PUBLIC	??$_Destroy_range@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Nonscalar_ptr_iterator_tag@0@@Z ; std::_Destroy_range<std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >
PUBLIC	??$_Destroy_range@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@@Z ; std::_Destroy_range<std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >
PUBLIC	?_Destroy@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@0@Z ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_Destroy
PUBLIC	??8?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::operator==
PUBLIC	??9?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::operator!=
PUBLIC	??$_Iter_random@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@@std@@YA?AUrandom_access_iterator_tag@0@ABQAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0@Z ; std::_Iter_random<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
PUBLIC	??$_Ptr_cat@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0@Z ; std::_Ptr_cat<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
PUBLIC	??$_Checked_base@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@AAPAV10@U_Unchanged_checked_iterator_base_type_tag@0@@Z ; std::_Checked_base<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
PUBLIC	??$_Checked_base@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@AAPAV10@@Z ; std::_Checked_base<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
PUBLIC	??$_Copy_opt@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@Uforward_iterator_tag@2@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00Uforward_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_opt<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::forward_iterator_tag>
PUBLIC	??$_Copy_opt@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00Urandom_access_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_opt<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
PUBLIC	??$unchecked_copy@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@@stdext@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@00@Z ; stdext::unchecked_copy<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
PUBLIC	?erase@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAE?AV?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@V?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@0@Z ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::erase
PUBLIC	?clear@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAEXXZ ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::clear
PUBLIC	??0?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAE@XZ ; std::allocator<SmartPtr<CSettingsHolder> >::allocator<SmartPtr<CSettingsHolder> >
PUBLIC	??$?0V?$SmartPtr@VCSettingsHolder@@@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@1@@Z ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><SmartPtr<CSettingsHolder> >
PUBLIC	??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@1@@Z ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSettingsHolder> > >::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSettingsHolder> > >
PUBLIC	??0?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAE@ABV01@@Z ; std::allocator<SmartPtr<CSettingsHolder> >::allocator<SmartPtr<CSettingsHolder> >
PUBLIC	??0?$_Vector_val@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@1@@Z ; std::_Vector_val<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Vector_val<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >
PUBLIC	??$_Allocate@V?$SmartPtr@VCSettingsHolder@@@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@IPAV1@@Z ; std::_Allocate<SmartPtr<CSettingsHolder> >
PUBLIC	?allocate@?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAEPAV?$SmartPtr@VCSettingsHolder@@@@I@Z ; std::allocator<SmartPtr<CSettingsHolder> >::allocate
PUBLIC	?max_size@?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@QBEIXZ ; std::allocator<SmartPtr<CSettingsHolder> >::max_size
PUBLIC	?max_size@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::max_size
PUBLIC	?_Xlen@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@KAXXZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Xlen
PUBLIC	?_Buy@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE_NI@Z ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Buy
PUBLIC	??0?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >
PUBLIC	??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSettingsHolder> > >::~_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSettingsHolder> > >
PUBLIC	??1?$_Vector_val@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@XZ ; std::_Vector_val<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::~_Vector_val<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >
PUBLIC	?deallocate@?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAEXPAV?$SmartPtr@VCSettingsHolder@@@@I@Z ; std::allocator<SmartPtr<CSettingsHolder> >::deallocate
PUBLIC	??$_Ptr_cat@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VCSettingsHolder@@@@0@Z ; std::_Ptr_cat<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *>
PUBLIC	??_G?$SmartPtr@VCSettingsHolder@@@@QAEPAXI@Z	; SmartPtr<CSettingsHolder>::`scalar deleting destructor'
PUBLIC	??$_Destroy@V?$SmartPtr@VCSettingsHolder@@@@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@@Z ; std::_Destroy<SmartPtr<CSettingsHolder> >
PUBLIC	?destroy@?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAEXPAV?$SmartPtr@VCSettingsHolder@@@@@Z ; std::allocator<SmartPtr<CSettingsHolder> >::destroy
PUBLIC	??$_Destroy_range@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@0AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@@Z ; std::_Destroy_range<std::allocator<SmartPtr<CSettingsHolder> > >
PUBLIC	??$_Destroy_range@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@0AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@@Z ; std::_Destroy_range<std::allocator<SmartPtr<CSettingsHolder> > >
PUBLIC	?_Destroy@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXPAV?$SmartPtr@VCSettingsHolder@@@@0@Z ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Destroy
PUBLIC	?_Tidy@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXXZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Tidy
PUBLIC	??1?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::~vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >
PUBLIC	?DeinterlaceNames@@3PAPBDA			; DeinterlaceNames
PUBLIC	?nInitialTicks@@3JA				; nInitialTicks
PUBLIC	?nLastTicks@@3JA				; nLastTicks
PUBLIC	?nTotalDeintModeChanges@@3JA			; nTotalDeintModeChanges
PUBLIC	?ProgressiveMethods@@3PAU_DEINTERLACE_METHOD@@A	; ProgressiveMethods
PUBLIC	?FilmDeintMethods@@3PAU_DEINTERLACE_METHOD@@A	; FilmDeintMethods
PUBLIC	?NumVideoModes@@3JA				; NumVideoModes
PUBLIC	?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A ; VideoDeintMethods
PUBLIC	?bIsFilmMode@@3HA				; bIsFilmMode
PUBLIC	?gVideoPulldownMode@@3JA			; gVideoPulldownMode
PUBLIC	?gFilmPulldownMode@@3W4eFilmPulldownMode@@A	; gFilmPulldownMode
PUBLIC	?gProgMode@@3W4eProgressivePulldownMode@@A	; gProgMode
PUBLIC	?bIsProgressiveMode@@3HA			; bIsProgressiveMode
PUBLIC	??_C@_0BJ@NCNPNPAD@GetDeinterlacePluginInfo?$AA@ ; `string'
PUBLIC	??_C@_1BC@FCKODJLK@?$AAD?$AAI?$AA_?$AA?$CK?$AA?4?$AAd?$AAl?$AAl?$AA?$AA@ ; `string'
PUBLIC	??_C@_19BHIGINDB@?$AA?4?$AAd?$AAl?$AAl?$AA?$AA@	; `string'
PUBLIC	??_C@_1CC@NGMDNIBC@?$AAC?$AAr?$AAa?$AAs?$AAh?$AA?5?$AAL?$AAo?$AAa?$AAd?$AAi?$AAn?$AAg?$AA?5?$AA?$CF?$AAs?$AA?$AA@ ; `string'
EXTRN	__imp__AppendMenuA@16:PROC
EXTRN	__imp__FindClose@4:PROC
EXTRN	__imp__FindFirstFileW@8:PROC
EXTRN	__imp__FindNextFileW@8:PROC
EXTRN	__imp__GetMenuStringW@20:PROC
EXTRN	_qsort:PROC
?DeinterlaceNames@@3PAPBDA DD 064H DUP (?)		; DeinterlaceNames
?nLastTicks@@3JA DD 01H DUP (?)				; nLastTicks
?nTotalDeintModeChanges@@3JA DD 01H DUP (?)		; nTotalDeintModeChanges
?NumVideoModes@@3JA DD 01H DUP (?)			; NumVideoModes
?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A DD 064H DUP (?) ; VideoDeintMethods
?bIsFilmMode@@3HA DD 01H DUP (?)			; bIsFilmMode
?gVideoPulldownMode@@3JA DD 01H DUP (?)			; gVideoPulldownMode
?bIsProgressiveMode@@3HA DD 01H DUP (?)			; bIsProgressiveMode
;	COMDAT ??_C@_1CC@NGMDNIBC@?$AAC?$AAr?$AAa?$AAs?$AAh?$AA?5?$AAL?$AAo?$AAa?$AAd?$AAi?$AAn?$AAg?$AA?5?$AA?$CF?$AAs?$AA?$AA@
CONST	SEGMENT
??_C@_1CC@NGMDNIBC@?$AAC?$AAr?$AAa?$AAs?$AAh?$AA?5?$AAL?$AAo?$AAa?$AAd?$AAi?$AAn?$AAg?$AA?5?$AA?$CF?$AAs?$AA?$AA@ DB 'C'
	DB	00H, 'r', 00H, 'a', 00H, 's', 00H, 'h', 00H, ' ', 00H, 'L', 00H
	DB	'o', 00H, 'a', 00H, 'd', 00H, 'i', 00H, 'n', 00H, 'g', 00H, ' '
	DB	00H, '%', 00H, 's', 00H, 00H, 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_19BHIGINDB@?$AA?4?$AAd?$AAl?$AAl?$AA?$AA@
CONST	SEGMENT
??_C@_19BHIGINDB@?$AA?4?$AAd?$AAl?$AAl?$AA?$AA@ DB '.', 00H, 'd', 00H, 'l'
	DB	00H, 'l', 00H, 00H, 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_1BC@FCKODJLK@?$AAD?$AAI?$AA_?$AA?$CK?$AA?4?$AAd?$AAl?$AAl?$AA?$AA@
CONST	SEGMENT
??_C@_1BC@FCKODJLK@?$AAD?$AAI?$AA_?$AA?$CK?$AA?4?$AAd?$AAl?$AAl?$AA?$AA@ DB 'D'
	DB	00H, 'I', 00H, '_', 00H, '*', 00H, '.', 00H, 'd', 00H, 'l', 00H
	DB	'l', 00H, 00H, 00H				; `string'
CONST	ENDS
;	COMDAT ?MenuId@?1??AddUIForDeintPlugin@@YAXPAUHMENU__@@PAU_DEINTERLACE_METHOD@@@Z@4KA
_DATA	SEGMENT
?MenuId@?1??AddUIForDeintPlugin@@YAXPAUHMENU__@@PAU_DEINTERLACE_METHOD@@@Z@4KA DD 01770H ; `AddUIForDeintPlugin'::`2'::MenuId
_DATA	ENDS
;	COMDAT ??_C@_0BJ@NCNPNPAD@GetDeinterlacePluginInfo?$AA@
CONST	SEGMENT
??_C@_0BJ@NCNPNPAD@GetDeinterlacePluginInfo?$AA@ DB 'GetDeinterlacePlugin'
	DB	'Info', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_08FOLOGJGH@2?32?5Comb?$AA@
CONST	SEGMENT
??_C@_08FOLOGJGH@2?32?5Comb?$AA@ DB '2:2 Comb', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BL@GHPICJPI@2?32?5Pulldown?5Use?5Comb?5Info?$AA@
CONST	SEGMENT
??_C@_0BL@GHPICJPI@2?32?5Pulldown?5Use?5Comb?5Info?$AA@ DB '2:2 Pulldown '
	DB	'Use Comb Info', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_08EJMFHNCE@3?32?5Comb?$AA@
CONST	SEGMENT
??_C@_08EJMFHNCE@3?32?5Comb?$AA@ DB '3:2 Comb', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BL@JHEDCLJ@3?32?5Pulldown?5Use?5Comb?5Info?$AA@
CONST	SEGMENT
??_C@_0BL@JHEDCLJ@3?32?5Pulldown?5Use?5Comb?5Info?$AA@ DB '3:2 Pulldown U'
	DB	'se Comb Info', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0BB@GLBGNMMM@Progressive?5Scan?$AA@
CONST	SEGMENT
??_C@_0BB@GLBGNMMM@Progressive?5Scan?$AA@ DB 'Progressive Scan', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_07CMNGCOAG@3?32?55th?$AA@
CONST	SEGMENT
??_C@_07CMNGCOAG@3?32?55th?$AA@ DB '3:2 5th', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0CB@NHIEKJIM@3?32?5Pulldown?5Skip?55th?5Full?5Frame@
CONST	SEGMENT
??_C@_0CB@NHIEKJIM@3?32?5Pulldown?5Skip?55th?5Full?5Frame@ DB '3:2 Pulldo'
	DB	'wn Skip 5th Full Frame', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_07JEGKEJGD@3?32?54th?$AA@
CONST	SEGMENT
??_C@_07JEGKEJGD@3?32?54th?$AA@ DB '3:2 4th', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0CB@GOHPHCGE@3?32?5Pulldown?5Skip?54th?5Full?5Frame@
CONST	SEGMENT
??_C@_0CB@GOHPHCGE@3?32?5Pulldown?5Skip?54th?5Full?5Frame@ DB '3:2 Pulldo'
	DB	'wn Skip 4th Full Frame', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_07KBIFECGE@3?32?53rd?$AA@
CONST	SEGMENT
??_C@_07KBIFECGE@3?32?53rd?$AA@ DB '3:2 3rd', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0CB@JHAGIPDD@3?32?5Pulldown?5Skip?53rd?5Full?5Frame@
CONST	SEGMENT
??_C@_0CB@JHAGIPDD@3?32?5Pulldown?5Skip?53rd?5Full?5Frame@ DB '3:2 Pulldo'
	DB	'wn Skip 3rd Full Frame', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_07MAFHPBF@3?32?52nd?$AA@
CONST	SEGMENT
??_C@_07MAFHPBF@3?32?52nd?$AA@ DB '3:2 2nd', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0CB@GCLKPJJK@3?32?5Pulldown?5Skip?52nd?5Full?5Frame@
CONST	SEGMENT
??_C@_0CB@GCLKPJJK@3?32?5Pulldown?5Skip?52nd?5Full?5Frame@ DB '3:2 Pulldo'
	DB	'wn Skip 2nd Full Frame', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_07EAIMPCIJ@3?32?51st?$AA@
CONST	SEGMENT
??_C@_07EAIMPCIJ@3?32?51st?$AA@ DB '3:2 1st', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0CB@BGIIHJAO@3?32?5Pulldown?5Skip?51st?5Full?5Frame@
CONST	SEGMENT
??_C@_0CB@BGIIHJAO@3?32?5Pulldown?5Skip?51st?5Full?5Frame@ DB '3:2 Pulldo'
	DB	'wn Skip 1st Full Frame', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_08FOEJJKGG@2?32?5Even?$AA@
CONST	SEGMENT
??_C@_08FOEJJKGG@2?32?5Even?$AA@ DB '2:2 Even', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BK@BHKBJNPM@2?32?5Pulldown?5Flip?5on?5Even?$AA@
CONST	SEGMENT
??_C@_0BK@BHKBJNPM@2?32?5Pulldown?5Flip?5on?5Even?$AA@ DB '2:2 Pulldown F'
	DB	'lip on Even', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_07FEGNICBM@2?32?5Odd?$AA@
CONST	SEGMENT
??_C@_07FEGNICBM@2?32?5Odd?$AA@ DB '2:2 Odd', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BJ@NFCNFFPK@2?32?5Pulldown?5Flip?5on?5Odd?$AA@
CONST	SEGMENT
??_C@_0BJ@NFCNFFPK@2?32?5Pulldown?5Flip?5on?5Odd?$AA@ DB '2:2 Pulldown Fl'
	DB	'ip on Odd', 00H				; `string'
?nInitialTicks@@3JA DD 0ffffffffH			; nInitialTicks
?gFilmPulldownMode@@3W4eFilmPulldownMode@@A DD 09H	; gFilmPulldownMode
?ProgressiveMethods@@3PAU_DEINTERLACE_METHOD@@A DD 064H	; ProgressiveMethods
	DD	03H
	DD	FLAT:??_C@_0BJ@NFCNFFPK@2?32?5Pulldown?5Flip?5on?5Odd?$AA@
	DD	FLAT:??_C@_07FEGNICBM@2?32?5Odd?$AA@
	DD	00H
	DD	01H
	DD	FLAT:?ProgMode@@YAHPAUTDeinterlaceInfo@@@Z
	DD	019H
	DD	01eH
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	01H
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	ORG $+4
	DD	064H
	DD	03H
	DD	FLAT:??_C@_0BK@BHKBJNPM@2?32?5Pulldown?5Flip?5on?5Even?$AA@
	DD	FLAT:??_C@_08FOEJJKGG@2?32?5Even?$AA@
	DD	00H
	DD	01H
	DD	FLAT:?ProgMode@@YAHPAUTDeinterlaceInfo@@@Z
	DD	019H
	DD	01eH
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	01H
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	ORG $+4
	DD	064H
	DD	03H
	DD	FLAT:??_C@_0CB@BGIIHJAO@3?32?5Pulldown?5Skip?51st?5Full?5Frame@
	DD	FLAT:??_C@_07EAIMPCIJ@3?32?51st?$AA@
	DD	00H
	DD	01H
	DD	FLAT:?ProgMode@@YAHPAUTDeinterlaceInfo@@@Z
	DD	03e8H
	DD	018H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	02H
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	ORG $+4
	DD	064H
	DD	03H
	DD	FLAT:??_C@_0CB@GCLKPJJK@3?32?5Pulldown?5Skip?52nd?5Full?5Frame@
	DD	FLAT:??_C@_07MAFHPBF@3?32?52nd?$AA@
	DD	00H
	DD	01H
	DD	FLAT:?ProgMode@@YAHPAUTDeinterlaceInfo@@@Z
	DD	03e8H
	DD	018H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	02H
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	ORG $+4
	DD	064H
	DD	03H
	DD	FLAT:??_C@_0CB@JHAGIPDD@3?32?5Pulldown?5Skip?53rd?5Full?5Frame@
	DD	FLAT:??_C@_07KBIFECGE@3?32?53rd?$AA@
	DD	00H
	DD	01H
	DD	FLAT:?ProgMode@@YAHPAUTDeinterlaceInfo@@@Z
	DD	03e8H
	DD	018H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	02H
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	ORG $+4
	DD	064H
	DD	03H
	DD	FLAT:??_C@_0CB@GOHPHCGE@3?32?5Pulldown?5Skip?54th?5Full?5Frame@
	DD	FLAT:??_C@_07JEGKEJGD@3?32?54th?$AA@
	DD	00H
	DD	01H
	DD	FLAT:?ProgMode@@YAHPAUTDeinterlaceInfo@@@Z
	DD	03e8H
	DD	018H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	02H
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	ORG $+4
	DD	064H
	DD	03H
	DD	FLAT:??_C@_0CB@NHIEKJIM@3?32?5Pulldown?5Skip?55th?5Full?5Frame@
	DD	FLAT:??_C@_07CMNGCOAG@3?32?55th?$AA@
	DD	00H
	DD	01H
	DD	FLAT:?ProgMode@@YAHPAUTDeinterlaceInfo@@@Z
	DD	03e8H
	DD	018H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	02H
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	ORG $+4
	DD	064H
	DD	03H
	DD	FLAT:??_C@_0BB@GLBGNMMM@Progressive?5Scan?$AA@
	DD	00H
	DD	00H
	DD	00H
	DD	FLAT:?ProgMode@@YAHPAUTDeinterlaceInfo@@@Z
	DD	032H
	DD	03cH
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	01H
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	ORG $+4
?FilmDeintMethods@@3PAU_DEINTERLACE_METHOD@@A DD 064H	; FilmDeintMethods
	DD	03H
	DD	FLAT:??_C@_0BJ@NFCNFFPK@2?32?5Pulldown?5Flip?5on?5Odd?$AA@
	DD	FLAT:??_C@_07FEGNICBM@2?32?5Odd?$AA@
	DD	00H
	DD	01H
	DD	FLAT:?FilmModePALOdd@@YAHPAUTDeinterlaceInfo@@@Z
	DD	019H
	DD	01eH
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	02H
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	ORG $+4
	DD	064H
	DD	03H
	DD	FLAT:??_C@_0BK@BHKBJNPM@2?32?5Pulldown?5Flip?5on?5Even?$AA@
	DD	FLAT:??_C@_08FOEJJKGG@2?32?5Even?$AA@
	DD	00H
	DD	01H
	DD	FLAT:?FilmModePALEven@@YAHPAUTDeinterlaceInfo@@@Z
	DD	019H
	DD	01eH
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	02H
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	ORG $+4
	DD	064H
	DD	03H
	DD	FLAT:??_C@_0CB@BGIIHJAO@3?32?5Pulldown?5Skip?51st?5Full?5Frame@
	DD	FLAT:??_C@_07EAIMPCIJ@3?32?51st?$AA@
	DD	00H
	DD	01H
	DD	FLAT:?FilmModeNTSC1st@@YAHPAUTDeinterlaceInfo@@@Z
	DD	03e8H
	DD	018H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	02H
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	ORG $+4
	DD	064H
	DD	03H
	DD	FLAT:??_C@_0CB@GCLKPJJK@3?32?5Pulldown?5Skip?52nd?5Full?5Frame@
	DD	FLAT:??_C@_07MAFHPBF@3?32?52nd?$AA@
	DD	00H
	DD	01H
	DD	FLAT:?FilmModeNTSC2nd@@YAHPAUTDeinterlaceInfo@@@Z
	DD	03e8H
	DD	018H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	02H
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	ORG $+4
	DD	064H
	DD	03H
	DD	FLAT:??_C@_0CB@JHAGIPDD@3?32?5Pulldown?5Skip?53rd?5Full?5Frame@
	DD	FLAT:??_C@_07KBIFECGE@3?32?53rd?$AA@
	DD	00H
	DD	01H
	DD	FLAT:?FilmModeNTSC3rd@@YAHPAUTDeinterlaceInfo@@@Z
	DD	03e8H
	DD	018H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	02H
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	ORG $+4
	DD	064H
	DD	03H
	DD	FLAT:??_C@_0CB@GOHPHCGE@3?32?5Pulldown?5Skip?54th?5Full?5Frame@
	DD	FLAT:??_C@_07JEGKEJGD@3?32?54th?$AA@
	DD	00H
	DD	01H
	DD	FLAT:?FilmModeNTSC4th@@YAHPAUTDeinterlaceInfo@@@Z
	DD	03e8H
	DD	018H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	02H
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	ORG $+4
	DD	064H
	DD	03H
	DD	FLAT:??_C@_0CB@NHIEKJIM@3?32?5Pulldown?5Skip?55th?5Full?5Frame@
	DD	FLAT:??_C@_07CMNGCOAG@3?32?55th?$AA@
	DD	00H
	DD	01H
	DD	FLAT:?FilmModeNTSC5th@@YAHPAUTDeinterlaceInfo@@@Z
	DD	03e8H
	DD	018H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	02H
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	ORG $+4
	DD	064H
	DD	03H
	DD	FLAT:??_C@_0BL@JHEDCLJ@3?32?5Pulldown?5Use?5Comb?5Info?$AA@
	DD	FLAT:??_C@_08EJMFHNCE@3?32?5Comb?$AA@
	DD	00H
	DD	01H
	DD	FLAT:?FilmModeNTSCComb@@YAHPAUTDeinterlaceInfo@@@Z
	DD	03e8H
	DD	03cH
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	03H
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	ORG $+4
	DD	064H
	DD	03H
	DD	FLAT:??_C@_0BL@GHPICJPI@2?32?5Pulldown?5Use?5Comb?5Info?$AA@
	DD	FLAT:??_C@_08FOLOGJGH@2?32?5Comb?$AA@
	DD	00H
	DD	01H
	DD	FLAT:?FilmModePALComb@@YAHPAUTDeinterlaceInfo@@@Z
	DD	03e8H
	DD	03cH
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	03H
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	ORG $+4
?gProgMode@@3W4eProgressivePulldownMode@@A DD 07H	; gProgMode
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
;	COMDAT ??$?8_W_W@std@@YA_NABV?$allocator@_W@0@0@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
___formal$ = 12						; size = 4
??$?8_W_W@std@@YA_NABV?$allocator@_W@0@0@Z PROC		; std::operator==<wchar_t,wchar_t>, COMDAT

; 174  : 	{	// test for allocator equality (always true)

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

; 175  : 	return (true);

  00003	b0 01		 mov	 al, 1

; 176  : 	}

  00005	5d		 pop	 ebp
  00006	c3		 ret	 0
??$?8_W_W@std@@YA_NABV?$allocator@_W@0@0@Z ENDP		; std::operator==<wchar_t,wchar_t>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
_TEXT	ENDS
;	COMDAT ??$_Checked_base@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@AAPAV10@U_Unchanged_checked_iterator_base_type_tag@0@@Z
_TEXT	SEGMENT
__It$ = 8						; size = 4
___formal$ = 12						; size = 1
??$_Checked_base@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@AAPAV10@U_Unchanged_checked_iterator_base_type_tag@0@@Z PROC ; std::_Checked_base<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>, 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@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@AAPAV10@U_Unchanged_checked_iterator_base_type_tag@0@@Z ENDP ; std::_Checked_base<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Checked_base@PAV?$SmartPtr@VCSettingsHolder@@@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@AAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z
_TEXT	SEGMENT
__It$ = 8						; size = 4
___formal$ = 12						; size = 1
??$_Checked_base@PAV?$SmartPtr@VCSettingsHolder@@@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@AAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z PROC ; std::_Checked_base<SmartPtr<CSettingsHolder> *>, 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@PAV?$SmartPtr@VCSettingsHolder@@@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@AAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z ENDP ; std::_Checked_base<SmartPtr<CSettingsHolder> *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Move_cat@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@YA?AU_Swap_move_tag@0@ABQAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@@Z
_TEXT	SEGMENT
__Cat$ = -1						; size = 1
___formal$ = 8						; size = 4
??$_Move_cat@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@YA?AU_Swap_move_tag@0@ABQAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@@Z PROC ; std::_Move_cat<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>, 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@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@YA?AU_Swap_move_tag@0@ABQAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@@Z ENDP ; std::_Move_cat<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Move_cat@PAV?$SmartPtr@VCSettingsHolder@@@@@std@@YA?AU_Undefined_move_tag@0@ABQAV?$SmartPtr@VCSettingsHolder@@@@@Z
_TEXT	SEGMENT
__Cat$ = -1						; size = 1
___formal$ = 8						; size = 4
??$_Move_cat@PAV?$SmartPtr@VCSettingsHolder@@@@@std@@YA?AU_Undefined_move_tag@0@ABQAV?$SmartPtr@VCSettingsHolder@@@@@Z PROC ; std::_Move_cat<SmartPtr<CSettingsHolder> *>, 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@PAV?$SmartPtr@VCSettingsHolder@@@@@std@@YA?AU_Undefined_move_tag@0@ABQAV?$SmartPtr@VCSettingsHolder@@@@@Z ENDP ; std::_Move_cat<SmartPtr<CSettingsHolder> *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Ptr_cat@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0@Z
_TEXT	SEGMENT
__Cat$ = -1						; size = 1
___formal$ = 8						; size = 4
___formal$ = 12						; size = 4
??$_Ptr_cat@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0@Z PROC ; std::_Ptr_cat<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>, 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@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0@Z ENDP ; std::_Ptr_cat<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Iter_random@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@@std@@YA?AUrandom_access_iterator_tag@0@ABQAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0@Z
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
___formal$ = 12						; size = 4
___formal$ = 16						; size = 4
??$_Iter_random@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@@std@@YA?AUrandom_access_iterator_tag@0@ABQAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0@Z PROC ; std::_Iter_random<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>, 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@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@@std@@YA?AUrandom_access_iterator_tag@0@ABQAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0@Z ENDP ; std::_Iter_random<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Checked_base@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@AAPAV10@@Z
_TEXT	SEGMENT
__Base_tag$ = -1					; size = 1
__It$ = 8						; size = 4
??$_Checked_base@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@AAPAV10@@Z PROC ; std::_Checked_base<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>, 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@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@AAPAV10@U_Unchanged_checked_iterator_base_type_tag@0@@Z ; std::_Checked_base<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
  00012	83 c4 08	 add	 esp, 8

; 1166 : 	}

  00015	8b e5		 mov	 esp, ebp
  00017	5d		 pop	 ebp
  00018	c3		 ret	 0
??$_Checked_base@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@AAPAV10@@Z ENDP ; std::_Checked_base<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Ptr_cat@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VCSettingsHolder@@@@0@Z
_TEXT	SEGMENT
__Cat$ = -1						; size = 1
___formal$ = 8						; size = 4
___formal$ = 12						; size = 4
??$_Ptr_cat@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VCSettingsHolder@@@@0@Z PROC ; std::_Ptr_cat<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *>, 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@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VCSettingsHolder@@@@0@Z ENDP ; std::_Ptr_cat<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Iter_random@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAV?$SmartPtr@VCSettingsHolder@@@@0@Z
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
___formal$ = 12						; size = 4
___formal$ = 16						; size = 4
??$_Iter_random@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAV?$SmartPtr@VCSettingsHolder@@@@0@Z PROC ; std::_Iter_random<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *>, 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@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAV?$SmartPtr@VCSettingsHolder@@@@0@Z ENDP ; std::_Iter_random<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Checked_base@PAV?$SmartPtr@VCSettingsHolder@@@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@AAPAV1@@Z
_TEXT	SEGMENT
__Base_tag$ = -1					; size = 1
__It$ = 8						; size = 4
??$_Checked_base@PAV?$SmartPtr@VCSettingsHolder@@@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@AAPAV1@@Z PROC ; std::_Checked_base<SmartPtr<CSettingsHolder> *>, 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@PAV?$SmartPtr@VCSettingsHolder@@@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@AAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z ; std::_Checked_base<SmartPtr<CSettingsHolder> *>
  00012	83 c4 08	 add	 esp, 8

; 1166 : 	}

  00015	8b e5		 mov	 esp, ebp
  00017	5d		 pop	 ebp
  00018	c3		 ret	 0
??$_Checked_base@PAV?$SmartPtr@VCSettingsHolder@@@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@AAPAV1@@Z ENDP ; std::_Checked_base<SmartPtr<CSettingsHolder> *>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ??$?0V?$SmartPtr@VCSettingsHolder@@@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@1@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___formal$ = 8						; size = 4
??$?0V?$SmartPtr@VCSettingsHolder@@@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@1@@Z PROC ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><SmartPtr<CSettingsHolder> >, 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
??$?0V?$SmartPtr@VCSettingsHolder@@@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@1@@Z ENDP ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><SmartPtr<CSettingsHolder> >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?max_size@?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@QBEIXZ
_TEXT	SEGMENT
tv65 = -12						; size = 4
_this$ = -8						; size = 4
__Count$ = -4						; size = 4
?max_size@?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@QBEIXZ PROC ; std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >::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 49 92
	24 09		 mov	 DWORD PTR __Count$[ebp], 153391689 ; 09249249H

; 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@33
  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@33
$LN3@max_size@33:
  0001e	c7 45 f4 01 00
	00 00		 mov	 DWORD PTR tv65[ebp], 1
$LN4@max_size@33:
  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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@QBEIXZ ENDP ; std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >::max_size
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
_TEXT	ENDS
;	COMDAT ?max_size@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBEIXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?max_size@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBEIXZ PROC ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@QBEIXZ ; std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >::max_size

; 732  : 		}

  00012	8b e5		 mov	 esp, ebp
  00014	5d		 pop	 ebp
  00015	c3		 ret	 0
?max_size@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBEIXZ ENDP ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::max_size
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ?deallocate@?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@QAEXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@I@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Ptr$ = 8						; size = 4
___formal$ = 12						; size = 4
?deallocate@?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@QAEXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@I@Z PROC ; std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >::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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@QAEXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@I@Z ENDP ; std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >::deallocate
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?max_size@?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@QBEIXZ
_TEXT	SEGMENT
tv65 = -12						; size = 4
_this$ = -8						; size = 4
__Count$ = -4						; size = 4
?max_size@?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@QBEIXZ PROC ; std::allocator<SmartPtr<CSettingsHolder> >::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 1f		 mov	 DWORD PTR __Count$[ebp], 536870911 ; 1fffffffH

; 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@34
  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@34
$LN3@max_size@34:
  0001e	c7 45 f4 01 00
	00 00		 mov	 DWORD PTR tv65[ebp], 1
$LN4@max_size@34:
  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@V?$SmartPtr@VCSettingsHolder@@@@@std@@QBEIXZ ENDP ; std::allocator<SmartPtr<CSettingsHolder> >::max_size
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___formal$ = 8						; size = 4
??0?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAE@ABV01@@Z PROC ; std::allocator<SmartPtr<CSettingsHolder> >::allocator<SmartPtr<CSettingsHolder> >, 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@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAE@ABV01@@Z ENDP ; std::allocator<SmartPtr<CSettingsHolder> >::allocator<SmartPtr<CSettingsHolder> >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
_TEXT	ENDS
;	COMDAT ?max_size@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBEIXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?max_size@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBEIXZ PROC ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::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@V?$SmartPtr@VCSettingsHolder@@@@@std@@QBEIXZ ; std::allocator<SmartPtr<CSettingsHolder> >::max_size

; 732  : 		}

  00012	8b e5		 mov	 esp, ebp
  00014	5d		 pop	 ebp
  00015	c3		 ret	 0
?max_size@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBEIXZ ENDP ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::max_size
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?size@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBEIXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?size@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBEIXZ PROC ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::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	99		 cdq
  00014	b9 1c 00 00 00	 mov	 ecx, 28			; 0000001cH
  00019	f7 f9		 idiv	 ecx

; 727  : 		}

  0001b	8b e5		 mov	 esp, ebp
  0001d	5d		 pop	 ebp
  0001e	c3		 ret	 0
?size@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBEIXZ ENDP ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::size
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?capacity@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBEIXZ
_TEXT	SEGMENT
tv70 = -8						; size = 4
_this$ = -4						; size = 4
?capacity@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBEIXZ PROC ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::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@31
  00012	c7 45 f8 00 00
	00 00		 mov	 DWORD PTR tv70[ebp], 0
  00019	eb 17		 jmp	 SHORT $LN4@capacity@31
$LN3@capacity@31:
  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	99		 cdq
  00028	b9 1c 00 00 00	 mov	 ecx, 28			; 0000001cH
  0002d	f7 f9		 idiv	 ecx
  0002f	89 45 f8	 mov	 DWORD PTR tv70[ebp], eax
$LN4@capacity@31:
  00032	8b 45 f8	 mov	 eax, DWORD PTR tv70[ebp]

; 636  : 		}

  00035	8b e5		 mov	 esp, ebp
  00037	5d		 pop	 ebp
  00038	c3		 ret	 0
?capacity@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBEIXZ ENDP ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::capacity
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ?deallocate@?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAEXPAV?$SmartPtr@VCSettingsHolder@@@@I@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Ptr$ = 8						; size = 4
___formal$ = 12						; size = 4
?deallocate@?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAEXPAV?$SmartPtr@VCSettingsHolder@@@@I@Z PROC ; std::allocator<SmartPtr<CSettingsHolder> >::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@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAEXPAV?$SmartPtr@VCSettingsHolder@@@@I@Z ENDP ; std::allocator<SmartPtr<CSettingsHolder> >::deallocate
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??0?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAE@XZ PROC ; std::allocator<SmartPtr<CSettingsHolder> >::allocator<SmartPtr<CSettingsHolder> >, 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@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAE@XZ ENDP ; std::allocator<SmartPtr<CSettingsHolder> >::allocator<SmartPtr<CSettingsHolder> >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
_TEXT	ENDS
;	COMDAT ?size@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBEIXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?size@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBEIXZ PROC ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::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 03	 sar	 eax, 3

; 727  : 		}

  00016	8b e5		 mov	 esp, ebp
  00018	5d		 pop	 ebp
  00019	c3		 ret	 0
?size@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBEIXZ ENDP ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::size
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?capacity@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBEIXZ
_TEXT	SEGMENT
tv70 = -8						; size = 4
_this$ = -4						; size = 4
?capacity@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBEIXZ PROC ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::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@32
  00012	c7 45 f8 00 00
	00 00		 mov	 DWORD PTR tv70[ebp], 0
  00019	eb 12		 jmp	 SHORT $LN4@capacity@32
$LN3@capacity@32:
  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 03	 sar	 eax, 3
  0002a	89 45 f8	 mov	 DWORD PTR tv70[ebp], eax
$LN4@capacity@32:
  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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBEIXZ ENDP ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::capacity
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\dynamicfunction.h
_TEXT	ENDS
;	COMDAT ??B?$DynamicFunctionParent@P6APAU_DEINTERLACE_METHOD@@J@Z@@QBEHXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??B?$DynamicFunctionParent@P6APAU_DEINTERLACE_METHOD@@J@Z@@QBEHXZ PROC ; DynamicFunctionParent<_DEINTERLACE_METHOD * (__cdecl*)(long)>::operator int, COMDAT
; _this$ = ecx

; 39   :     {

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

; 40   :         return m_pFunc != 0;

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	33 c9		 xor	 ecx, ecx
  0000c	83 38 00	 cmp	 DWORD PTR [eax], 0
  0000f	0f 95 c1	 setne	 cl
  00012	8b c1		 mov	 eax, ecx

; 41   :     }

  00014	8b e5		 mov	 esp, ebp
  00016	5d		 pop	 ebp
  00017	c3		 ret	 0
??B?$DynamicFunctionParent@P6APAU_DEINTERLACE_METHOD@@J@Z@@QBEHXZ ENDP ; DynamicFunctionParent<_DEINTERLACE_METHOD * (__cdecl*)(long)>::operator int
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??R?$DynamicFunctionC1@PAU_DEINTERLACE_METHOD@@J@@QBEPAU_DEINTERLACE_METHOD@@J@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_Param1$ = 8						; size = 4
??R?$DynamicFunctionC1@PAU_DEINTERLACE_METHOD@@J@@QBEPAU_DEINTERLACE_METHOD@@J@Z PROC ; DynamicFunctionC1<_DEINTERLACE_METHOD *,long>::operator(), COMDAT
; _this$ = ecx

; 57   :     {

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

; 58   :         return m_pFunc(Param1);

  00007	8b 45 08	 mov	 eax, DWORD PTR _Param1$[ebp]
  0000a	50		 push	 eax
  0000b	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000e	8b 11		 mov	 edx, DWORD PTR [ecx]
  00010	ff d2		 call	 edx
  00012	83 c4 04	 add	 esp, 4

; 59   :     }

  00015	8b e5		 mov	 esp, ebp
  00017	5d		 pop	 ebp
  00018	c2 04 00	 ret	 4
??R?$DynamicFunctionC1@PAU_DEINTERLACE_METHOD@@J@@QBEPAU_DEINTERLACE_METHOD@@J@Z ENDP ; DynamicFunctionC1<_DEINTERLACE_METHOD *,long>::operator()
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
_TEXT	ENDS
;	COMDAT ??A?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAEAAV?$SmartPtr@VCSettingsHolder@@@@I@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Pos$ = 8						; size = 4
??A?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAEAAV?$SmartPtr@VCSettingsHolder@@@@I@Z PROC ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::size
  0000f	39 45 08	 cmp	 DWORD PTR __Pos$[ebp], eax
  00012	72 05		 jb	 SHORT $LN2@operator@12
  00014	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN2@operator@12:
  00019	33 c0		 xor	 eax, eax
  0001b	75 fc		 jne	 SHORT $LN2@operator@12

; 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 c2	 lea	 eax, DWORD PTR [edx+eax*8]

; 786  : 		}

  00029	8b e5		 mov	 esp, ebp
  0002b	5d		 pop	 ebp
  0002c	c2 04 00	 ret	 4
??A?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAEAAV?$SmartPtr@VCSettingsHolder@@@@I@Z ENDP ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::operator[]
_TEXT	ENDS
PUBLIC	?Deinterlace_SetMenu@@YAXPAUHMENU__@@@Z		; Deinterlace_SetMenu
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\deinterlace.cpp
;	COMDAT ?Deinterlace_SetMenu@@YAXPAUHMENU__@@@Z
_TEXT	SEGMENT
tv232 = -12						; size = 4
tv72 = -8						; size = 4
_i$ = -4						; size = 4
_hMenu$ = 8						; size = 4
?Deinterlace_SetMenu@@YAXPAUHMENU__@@@Z PROC		; Deinterlace_SetMenu, COMDAT

; 873  : {

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

; 874  :     int i;
; 875  : 
; 876  : 
; 877  :     EnableMenuItem(hMenu, IDM_PROGRESSIVE_SCAN, bIsProgressiveMode ? MF_ENABLED : MF_GRAYED);

  00006	33 c0		 xor	 eax, eax
  00008	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?bIsProgressiveMode@@3HA, 0 ; bIsProgressiveMode
  0000f	0f 94 c0	 sete	 al
  00012	50		 push	 eax
  00013	68 07 09 00 00	 push	 2311			; 00000907H
  00018	8b 4d 08	 mov	 ecx, DWORD PTR _hMenu$[ebp]
  0001b	51		 push	 ecx
  0001c	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 878  :     CheckMenuItemBool(hMenu, IDM_PROGRESSIVE_SCAN, (bIsProgressiveMode && !bIsFilmMode));

  00022	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?bIsProgressiveMode@@3HA, 0 ; bIsProgressiveMode
  00029	74 12		 je	 SHORT $LN12@Deinterlac
  0002b	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?bIsFilmMode@@3HA, 0 ; bIsFilmMode
  00032	75 09		 jne	 SHORT $LN12@Deinterlac
  00034	c7 45 f8 08 00
	00 00		 mov	 DWORD PTR tv72[ebp], 8
  0003b	eb 07		 jmp	 SHORT $LN13@Deinterlac
$LN12@Deinterlac:
  0003d	c7 45 f8 00 00
	00 00		 mov	 DWORD PTR tv72[ebp], 0
$LN13@Deinterlac:
  00044	8b 55 f8	 mov	 edx, DWORD PTR tv72[ebp]
  00047	52		 push	 edx
  00048	68 07 09 00 00	 push	 2311			; 00000907H
  0004d	8b 45 08	 mov	 eax, DWORD PTR _hMenu$[ebp]
  00050	50		 push	 eax
  00051	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CheckMenuItem@12

; 879  : 
; 880  :     if(bIsFilmMode)

  00057	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?bIsFilmMode@@3HA, 0 ; bIsFilmMode
  0005e	0f 84 ec 01 00
	00		 je	 $LN9@Deinterlac

; 881  :     {
; 882  :         if(bIsProgressiveMode)

  00064	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?bIsProgressiveMode@@3HA, 0 ; bIsProgressiveMode
  0006b	0f 84 f1 00 00
	00		 je	 $LN8@Deinterlac

; 883  :         {
; 884  :             CheckMenuItemBool(hMenu, IDM_22PULLODD, (gProgMode == PROG_22_PULLDOWN_ODD) );

  00071	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?gProgMode@@3W4eProgressivePulldownMode@@A ; gProgMode
  00077	f7 d9		 neg	 ecx
  00079	1b c9		 sbb	 ecx, ecx
  0007b	83 e1 f8	 and	 ecx, -8			; fffffff8H
  0007e	83 c1 08	 add	 ecx, 8
  00081	51		 push	 ecx
  00082	68 18 02 00 00	 push	 536			; 00000218H
  00087	8b 55 08	 mov	 edx, DWORD PTR _hMenu$[ebp]
  0008a	52		 push	 edx
  0008b	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CheckMenuItem@12

; 885  :             CheckMenuItemBool(hMenu, IDM_22PULLEVEN, (gProgMode == PROG_22_PULLDOWN_EVEN) );

  00091	a1 00 00 00 00	 mov	 eax, DWORD PTR ?gProgMode@@3W4eProgressivePulldownMode@@A ; gProgMode
  00096	83 e8 01	 sub	 eax, 1
  00099	f7 d8		 neg	 eax
  0009b	1b c0		 sbb	 eax, eax
  0009d	83 e0 f8	 and	 eax, -8			; fffffff8H
  000a0	83 c0 08	 add	 eax, 8
  000a3	50		 push	 eax
  000a4	68 19 02 00 00	 push	 537			; 00000219H
  000a9	8b 4d 08	 mov	 ecx, DWORD PTR _hMenu$[ebp]
  000ac	51		 push	 ecx
  000ad	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CheckMenuItem@12

; 886  :             CheckMenuItemBool(hMenu, IDM_32PULL1, (gProgMode == PROG_32_PULLDOWN_0) );

  000b3	33 d2		 xor	 edx, edx
  000b5	83 3d 00 00 00
	00 02		 cmp	 DWORD PTR ?gProgMode@@3W4eProgressivePulldownMode@@A, 2 ; gProgMode
  000bc	0f 95 c2	 setne	 dl
  000bf	83 ea 01	 sub	 edx, 1
  000c2	83 e2 08	 and	 edx, 8
  000c5	52		 push	 edx
  000c6	68 1a 02 00 00	 push	 538			; 0000021aH
  000cb	8b 45 08	 mov	 eax, DWORD PTR _hMenu$[ebp]
  000ce	50		 push	 eax
  000cf	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CheckMenuItem@12

; 887  :             CheckMenuItemBool(hMenu, IDM_32PULL2, (gProgMode == PROG_32_PULLDOWN_1) );

  000d5	33 c9		 xor	 ecx, ecx
  000d7	83 3d 00 00 00
	00 03		 cmp	 DWORD PTR ?gProgMode@@3W4eProgressivePulldownMode@@A, 3 ; gProgMode
  000de	0f 95 c1	 setne	 cl
  000e1	83 e9 01	 sub	 ecx, 1
  000e4	83 e1 08	 and	 ecx, 8
  000e7	51		 push	 ecx
  000e8	68 1b 02 00 00	 push	 539			; 0000021bH
  000ed	8b 55 08	 mov	 edx, DWORD PTR _hMenu$[ebp]
  000f0	52		 push	 edx
  000f1	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CheckMenuItem@12

; 888  :             CheckMenuItemBool(hMenu, IDM_32PULL3, (gProgMode == PROG_32_PULLDOWN_2) );

  000f7	33 c0		 xor	 eax, eax
  000f9	83 3d 00 00 00
	00 04		 cmp	 DWORD PTR ?gProgMode@@3W4eProgressivePulldownMode@@A, 4 ; gProgMode
  00100	0f 95 c0	 setne	 al
  00103	83 e8 01	 sub	 eax, 1
  00106	83 e0 08	 and	 eax, 8
  00109	50		 push	 eax
  0010a	68 1c 02 00 00	 push	 540			; 0000021cH
  0010f	8b 4d 08	 mov	 ecx, DWORD PTR _hMenu$[ebp]
  00112	51		 push	 ecx
  00113	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CheckMenuItem@12

; 889  :             CheckMenuItemBool(hMenu, IDM_32PULL4, (gProgMode == PROG_32_PULLDOWN_3) );

  00119	33 d2		 xor	 edx, edx
  0011b	83 3d 00 00 00
	00 05		 cmp	 DWORD PTR ?gProgMode@@3W4eProgressivePulldownMode@@A, 5 ; gProgMode
  00122	0f 95 c2	 setne	 dl
  00125	83 ea 01	 sub	 edx, 1
  00128	83 e2 08	 and	 edx, 8
  0012b	52		 push	 edx
  0012c	68 1d 02 00 00	 push	 541			; 0000021dH
  00131	8b 45 08	 mov	 eax, DWORD PTR _hMenu$[ebp]
  00134	50		 push	 eax
  00135	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CheckMenuItem@12

; 890  :             CheckMenuItemBool(hMenu, IDM_32PULL5, (gProgMode == PROG_32_PULLDOWN_4) );

  0013b	33 c9		 xor	 ecx, ecx
  0013d	83 3d 00 00 00
	00 06		 cmp	 DWORD PTR ?gProgMode@@3W4eProgressivePulldownMode@@A, 6 ; gProgMode
  00144	0f 95 c1	 setne	 cl
  00147	83 e9 01	 sub	 ecx, 1
  0014a	83 e1 08	 and	 ecx, 8
  0014d	51		 push	 ecx
  0014e	68 1e 02 00 00	 push	 542			; 0000021eH
  00153	8b 55 08	 mov	 edx, DWORD PTR _hMenu$[ebp]
  00156	52		 push	 edx
  00157	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CheckMenuItem@12

; 891  :         }
; 892  :         else

  0015d	e9 ec 00 00 00	 jmp	 $LN7@Deinterlac
$LN8@Deinterlac:

; 893  :         {
; 894  :             CheckMenuItemBool(hMenu, IDM_22PULLODD, (gFilmPulldownMode == FILM_22_PULLDOWN_ODD) );

  00162	a1 00 00 00 00	 mov	 eax, DWORD PTR ?gFilmPulldownMode@@3W4eFilmPulldownMode@@A ; gFilmPulldownMode
  00167	f7 d8		 neg	 eax
  00169	1b c0		 sbb	 eax, eax
  0016b	83 e0 f8	 and	 eax, -8			; fffffff8H
  0016e	83 c0 08	 add	 eax, 8
  00171	50		 push	 eax
  00172	68 18 02 00 00	 push	 536			; 00000218H
  00177	8b 4d 08	 mov	 ecx, DWORD PTR _hMenu$[ebp]
  0017a	51		 push	 ecx
  0017b	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CheckMenuItem@12

; 895  :             CheckMenuItemBool(hMenu, IDM_22PULLEVEN, (gFilmPulldownMode == FILM_22_PULLDOWN_EVEN) );

  00181	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?gFilmPulldownMode@@3W4eFilmPulldownMode@@A ; gFilmPulldownMode
  00187	83 ea 01	 sub	 edx, 1
  0018a	f7 da		 neg	 edx
  0018c	1b d2		 sbb	 edx, edx
  0018e	83 e2 f8	 and	 edx, -8			; fffffff8H
  00191	83 c2 08	 add	 edx, 8
  00194	52		 push	 edx
  00195	68 19 02 00 00	 push	 537			; 00000219H
  0019a	8b 45 08	 mov	 eax, DWORD PTR _hMenu$[ebp]
  0019d	50		 push	 eax
  0019e	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CheckMenuItem@12

; 896  :             CheckMenuItemBool(hMenu, IDM_32PULL1, (gFilmPulldownMode == FILM_32_PULLDOWN_0) );

  001a4	33 c9		 xor	 ecx, ecx
  001a6	83 3d 00 00 00
	00 02		 cmp	 DWORD PTR ?gFilmPulldownMode@@3W4eFilmPulldownMode@@A, 2 ; gFilmPulldownMode
  001ad	0f 95 c1	 setne	 cl
  001b0	83 e9 01	 sub	 ecx, 1
  001b3	83 e1 08	 and	 ecx, 8
  001b6	51		 push	 ecx
  001b7	68 1a 02 00 00	 push	 538			; 0000021aH
  001bc	8b 55 08	 mov	 edx, DWORD PTR _hMenu$[ebp]
  001bf	52		 push	 edx
  001c0	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CheckMenuItem@12

; 897  :             CheckMenuItemBool(hMenu, IDM_32PULL2, (gFilmPulldownMode == FILM_32_PULLDOWN_1) );

  001c6	33 c0		 xor	 eax, eax
  001c8	83 3d 00 00 00
	00 03		 cmp	 DWORD PTR ?gFilmPulldownMode@@3W4eFilmPulldownMode@@A, 3 ; gFilmPulldownMode
  001cf	0f 95 c0	 setne	 al
  001d2	83 e8 01	 sub	 eax, 1
  001d5	83 e0 08	 and	 eax, 8
  001d8	50		 push	 eax
  001d9	68 1b 02 00 00	 push	 539			; 0000021bH
  001de	8b 4d 08	 mov	 ecx, DWORD PTR _hMenu$[ebp]
  001e1	51		 push	 ecx
  001e2	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CheckMenuItem@12

; 898  :             CheckMenuItemBool(hMenu, IDM_32PULL3, (gFilmPulldownMode == FILM_32_PULLDOWN_2) );

  001e8	33 d2		 xor	 edx, edx
  001ea	83 3d 00 00 00
	00 04		 cmp	 DWORD PTR ?gFilmPulldownMode@@3W4eFilmPulldownMode@@A, 4 ; gFilmPulldownMode
  001f1	0f 95 c2	 setne	 dl
  001f4	83 ea 01	 sub	 edx, 1
  001f7	83 e2 08	 and	 edx, 8
  001fa	52		 push	 edx
  001fb	68 1c 02 00 00	 push	 540			; 0000021cH
  00200	8b 45 08	 mov	 eax, DWORD PTR _hMenu$[ebp]
  00203	50		 push	 eax
  00204	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CheckMenuItem@12

; 899  :             CheckMenuItemBool(hMenu, IDM_32PULL4, (gFilmPulldownMode == FILM_32_PULLDOWN_3) );

  0020a	33 c9		 xor	 ecx, ecx
  0020c	83 3d 00 00 00
	00 05		 cmp	 DWORD PTR ?gFilmPulldownMode@@3W4eFilmPulldownMode@@A, 5 ; gFilmPulldownMode
  00213	0f 95 c1	 setne	 cl
  00216	83 e9 01	 sub	 ecx, 1
  00219	83 e1 08	 and	 ecx, 8
  0021c	51		 push	 ecx
  0021d	68 1d 02 00 00	 push	 541			; 0000021dH
  00222	8b 55 08	 mov	 edx, DWORD PTR _hMenu$[ebp]
  00225	52		 push	 edx
  00226	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CheckMenuItem@12

; 900  :             CheckMenuItemBool(hMenu, IDM_32PULL5, (gFilmPulldownMode == FILM_32_PULLDOWN_4) );

  0022c	33 c0		 xor	 eax, eax
  0022e	83 3d 00 00 00
	00 06		 cmp	 DWORD PTR ?gFilmPulldownMode@@3W4eFilmPulldownMode@@A, 6 ; gFilmPulldownMode
  00235	0f 95 c0	 setne	 al
  00238	83 e8 01	 sub	 eax, 1
  0023b	83 e0 08	 and	 eax, 8
  0023e	50		 push	 eax
  0023f	68 1e 02 00 00	 push	 542			; 0000021eH
  00244	8b 4d 08	 mov	 ecx, DWORD PTR _hMenu$[ebp]
  00247	51		 push	 ecx
  00248	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CheckMenuItem@12
$LN7@Deinterlac:

; 901  :         }
; 902  :     }
; 903  :     else

  0024e	eb 77		 jmp	 SHORT $LN6@Deinterlac
$LN9@Deinterlac:

; 904  :     {
; 905  :         CheckMenuItem(hMenu, IDM_22PULLODD, MF_UNCHECKED);

  00250	6a 00		 push	 0
  00252	68 18 02 00 00	 push	 536			; 00000218H
  00257	8b 55 08	 mov	 edx, DWORD PTR _hMenu$[ebp]
  0025a	52		 push	 edx
  0025b	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CheckMenuItem@12

; 906  :         CheckMenuItem(hMenu, IDM_22PULLEVEN, MF_UNCHECKED);

  00261	6a 00		 push	 0
  00263	68 19 02 00 00	 push	 537			; 00000219H
  00268	8b 45 08	 mov	 eax, DWORD PTR _hMenu$[ebp]
  0026b	50		 push	 eax
  0026c	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CheckMenuItem@12

; 907  :         CheckMenuItem(hMenu, IDM_32PULL1, MF_UNCHECKED);

  00272	6a 00		 push	 0
  00274	68 1a 02 00 00	 push	 538			; 0000021aH
  00279	8b 4d 08	 mov	 ecx, DWORD PTR _hMenu$[ebp]
  0027c	51		 push	 ecx
  0027d	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CheckMenuItem@12

; 908  :         CheckMenuItem(hMenu, IDM_32PULL2, MF_UNCHECKED);

  00283	6a 00		 push	 0
  00285	68 1b 02 00 00	 push	 539			; 0000021bH
  0028a	8b 55 08	 mov	 edx, DWORD PTR _hMenu$[ebp]
  0028d	52		 push	 edx
  0028e	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CheckMenuItem@12

; 909  :         CheckMenuItem(hMenu, IDM_32PULL3, MF_UNCHECKED);

  00294	6a 00		 push	 0
  00296	68 1c 02 00 00	 push	 540			; 0000021cH
  0029b	8b 45 08	 mov	 eax, DWORD PTR _hMenu$[ebp]
  0029e	50		 push	 eax
  0029f	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CheckMenuItem@12

; 910  :         CheckMenuItem(hMenu, IDM_32PULL4, MF_UNCHECKED);

  002a5	6a 00		 push	 0
  002a7	68 1d 02 00 00	 push	 541			; 0000021dH
  002ac	8b 4d 08	 mov	 ecx, DWORD PTR _hMenu$[ebp]
  002af	51		 push	 ecx
  002b0	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CheckMenuItem@12

; 911  :         CheckMenuItem(hMenu, IDM_32PULL5, MF_UNCHECKED);

  002b6	6a 00		 push	 0
  002b8	68 1e 02 00 00	 push	 542			; 0000021eH
  002bd	8b 55 08	 mov	 edx, DWORD PTR _hMenu$[ebp]
  002c0	52		 push	 edx
  002c1	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CheckMenuItem@12
$LN6@Deinterlac:

; 912  :     }
; 913  : 
; 914  :     for(i = 0; i < NumVideoModes; i++)

  002c7	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _i$[ebp], 0
  002ce	eb 09		 jmp	 SHORT $LN5@Deinterlac
$LN4@Deinterlac:
  002d0	8b 45 fc	 mov	 eax, DWORD PTR _i$[ebp]
  002d3	83 c0 01	 add	 eax, 1
  002d6	89 45 fc	 mov	 DWORD PTR _i$[ebp], eax
$LN5@Deinterlac:
  002d9	8b 4d fc	 mov	 ecx, DWORD PTR _i$[ebp]
  002dc	3b 0d 00 00 00
	00		 cmp	 ecx, DWORD PTR ?NumVideoModes@@3JA ; NumVideoModes
  002e2	0f 8d 84 00 00
	00		 jge	 $LN3@Deinterlac

; 915  :     {
; 916  :         EnableMenuItem(hMenu, VideoDeintMethods[i]->MenuId, bIsProgressiveMode ? MF_GRAYED : MF_ENABLED);

  002e8	33 d2		 xor	 edx, edx
  002ea	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?bIsProgressiveMode@@3HA, 0 ; bIsProgressiveMode
  002f1	0f 95 c2	 setne	 dl
  002f4	52		 push	 edx
  002f5	8b 45 fc	 mov	 eax, DWORD PTR _i$[ebp]
  002f8	8b 0c 85 00 00
	00 00		 mov	 ecx, DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[eax*4]
  002ff	8b 51 54	 mov	 edx, DWORD PTR [ecx+84]
  00302	52		 push	 edx
  00303	8b 45 08	 mov	 eax, DWORD PTR _hMenu$[ebp]
  00306	50		 push	 eax
  00307	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 917  :         if(!bIsProgressiveMode && !bIsFilmMode)

  0030d	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?bIsProgressiveMode@@3HA, 0 ; bIsProgressiveMode
  00314	75 37		 jne	 SHORT $LN2@Deinterlac
  00316	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?bIsFilmMode@@3HA, 0 ; bIsFilmMode
  0031d	75 2e		 jne	 SHORT $LN2@Deinterlac

; 918  :         {
; 919  :             CheckMenuItemBool(hMenu, VideoDeintMethods[i]->MenuId, (gVideoPulldownMode == i));

  0031f	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?gVideoPulldownMode@@3JA ; gVideoPulldownMode
  00325	2b 4d fc	 sub	 ecx, DWORD PTR _i$[ebp]
  00328	f7 d9		 neg	 ecx
  0032a	1b c9		 sbb	 ecx, ecx
  0032c	83 e1 f8	 and	 ecx, -8			; fffffff8H
  0032f	83 c1 08	 add	 ecx, 8
  00332	51		 push	 ecx
  00333	8b 55 fc	 mov	 edx, DWORD PTR _i$[ebp]
  00336	8b 04 95 00 00
	00 00		 mov	 eax, DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[edx*4]
  0033d	8b 48 54	 mov	 ecx, DWORD PTR [eax+84]
  00340	51		 push	 ecx
  00341	8b 55 08	 mov	 edx, DWORD PTR _hMenu$[ebp]
  00344	52		 push	 edx
  00345	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CheckMenuItem@12

; 920  :         }
; 921  :         else

  0034b	eb 1a		 jmp	 SHORT $LN1@Deinterlac
$LN2@Deinterlac:

; 922  :         {
; 923  :             CheckMenuItemBool(hMenu, VideoDeintMethods[i]->MenuId, FALSE);

  0034d	6a 00		 push	 0
  0034f	8b 45 fc	 mov	 eax, DWORD PTR _i$[ebp]
  00352	8b 0c 85 00 00
	00 00		 mov	 ecx, DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[eax*4]
  00359	8b 51 54	 mov	 edx, DWORD PTR [ecx+84]
  0035c	52		 push	 edx
  0035d	8b 45 08	 mov	 eax, DWORD PTR _hMenu$[ebp]
  00360	50		 push	 eax
  00361	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CheckMenuItem@12
$LN1@Deinterlac:

; 924  :         }
; 925  :     }

  00367	e9 64 ff ff ff	 jmp	 $LN4@Deinterlac
$LN3@Deinterlac:

; 926  : 
; 927  :     EnableMenuItem(hMenu, IDM_DEINTERLACE_SHOWVIDEOMETHODUI, bIsProgressiveMode || (VideoDeintMethods[gVideoPulldownMode]->pfnPluginShowUI == NULL) ? MF_GRAYED : MF_ENABLED);

  0036c	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?bIsProgressiveMode@@3HA, 0 ; bIsProgressiveMode
  00373	75 1c		 jne	 SHORT $LN14@Deinterlac
  00375	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?gVideoPulldownMode@@3JA ; gVideoPulldownMode
  0037b	8b 14 8d 00 00
	00 00		 mov	 edx, DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[ecx*4]
  00382	83 7a 38 00	 cmp	 DWORD PTR [edx+56], 0
  00386	74 09		 je	 SHORT $LN14@Deinterlac
  00388	c7 45 f4 00 00
	00 00		 mov	 DWORD PTR tv232[ebp], 0
  0038f	eb 07		 jmp	 SHORT $LN15@Deinterlac
$LN14@Deinterlac:
  00391	c7 45 f4 01 00
	00 00		 mov	 DWORD PTR tv232[ebp], 1
$LN15@Deinterlac:
  00398	8b 45 f4	 mov	 eax, DWORD PTR tv232[ebp]
  0039b	50		 push	 eax
  0039c	68 18 80 00 00	 push	 32792			; 00008018H
  003a1	8b 4d 08	 mov	 ecx, DWORD PTR _hMenu$[ebp]
  003a4	51		 push	 ecx
  003a5	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 928  : }

  003ab	8b e5		 mov	 esp, ebp
  003ad	5d		 pop	 ebp
  003ae	c3		 ret	 0
?Deinterlace_SetMenu@@YAXPAUHMENU__@@@Z ENDP		; Deinterlace_SetMenu
_TEXT	ENDS
PUBLIC	?AddUIForDeintPlugin@@YAXPAUHMENU__@@PAU_DEINTERLACE_METHOD@@@Z ; AddUIForDeintPlugin
; Function compile flags: /Odtp
;	COMDAT ?AddUIForDeintPlugin@@YAXPAUHMENU__@@PAU_DEINTERLACE_METHOD@@@Z
_TEXT	SEGMENT
_hMenu$ = 8						; size = 4
_DeintMethod$ = 12					; size = 4
?AddUIForDeintPlugin@@YAXPAUHMENU__@@PAU_DEINTERLACE_METHOD@@@Z PROC ; AddUIForDeintPlugin, COMDAT

; 771  : {

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

; 772  :     static DWORD MenuId = 6000;
; 773  :     if(DeintMethod->MenuId == 0)

  00003	8b 45 0c	 mov	 eax, DWORD PTR _DeintMethod$[ebp]
  00006	83 78 54 00	 cmp	 DWORD PTR [eax+84], 0
  0000a	75 19		 jne	 SHORT $LN1@AddUIForDe

; 774  :     {
; 775  :         DeintMethod->MenuId = MenuId++;

  0000c	8b 4d 0c	 mov	 ecx, DWORD PTR _DeintMethod$[ebp]
  0000f	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?MenuId@?1??AddUIForDeintPlugin@@YAXPAUHMENU__@@PAU_DEINTERLACE_METHOD@@@Z@4KA
  00015	89 51 54	 mov	 DWORD PTR [ecx+84], edx
  00018	a1 00 00 00 00	 mov	 eax, DWORD PTR ?MenuId@?1??AddUIForDeintPlugin@@YAXPAUHMENU__@@PAU_DEINTERLACE_METHOD@@@Z@4KA
  0001d	83 c0 01	 add	 eax, 1
  00020	a3 00 00 00 00	 mov	 DWORD PTR ?MenuId@?1??AddUIForDeintPlugin@@YAXPAUHMENU__@@PAU_DEINTERLACE_METHOD@@@Z@4KA, eax
$LN1@AddUIForDe:

; 776  :     }
; 777  :     AppendMenuA(hMenu, MF_STRING | MF_ENABLED, DeintMethod->MenuId, DeintMethod->szName);

  00025	8b 4d 0c	 mov	 ecx, DWORD PTR _DeintMethod$[ebp]
  00028	8b 51 08	 mov	 edx, DWORD PTR [ecx+8]
  0002b	52		 push	 edx
  0002c	8b 45 0c	 mov	 eax, DWORD PTR _DeintMethod$[ebp]
  0002f	8b 48 54	 mov	 ecx, DWORD PTR [eax+84]
  00032	51		 push	 ecx
  00033	6a 00		 push	 0
  00035	8b 55 08	 mov	 edx, DWORD PTR _hMenu$[ebp]
  00038	52		 push	 edx
  00039	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__AppendMenuA@16

; 778  : }

  0003f	5d		 pop	 ebp
  00040	c3		 ret	 0
?AddUIForDeintPlugin@@YAXPAUHMENU__@@PAU_DEINTERLACE_METHOD@@@Z ENDP ; AddUIForDeintPlugin
_TEXT	ENDS
PUBLIC	?DeintMethodCompare@@YAHPBX0@Z			; DeintMethodCompare
; Function compile flags: /Odtp
;	COMDAT ?DeintMethodCompare@@YAHPBX0@Z
_TEXT	SEGMENT
_pMethod2$ = -8						; size = 4
_pMethod1$ = -4						; size = 4
_arg1$ = 8						; size = 4
_arg2$ = 12						; size = 4
?DeintMethodCompare@@YAHPBX0@Z PROC			; DeintMethodCompare, COMDAT

; 752  : {

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

; 753  :     DEINTERLACE_METHOD* pMethod1 = *(DEINTERLACE_METHOD**)arg1;

  00006	8b 45 08	 mov	 eax, DWORD PTR _arg1$[ebp]
  00009	8b 08		 mov	 ecx, DWORD PTR [eax]
  0000b	89 4d fc	 mov	 DWORD PTR _pMethod1$[ebp], ecx

; 754  :     DEINTERLACE_METHOD* pMethod2 = *(DEINTERLACE_METHOD**)arg2;

  0000e	8b 55 0c	 mov	 edx, DWORD PTR _arg2$[ebp]
  00011	8b 02		 mov	 eax, DWORD PTR [edx]
  00013	89 45 f8	 mov	 DWORD PTR _pMethod2$[ebp], eax

; 755  : 
; 756  :     if(pMethod1->nMethodIndex < pMethod2->nMethodIndex)

  00016	8b 4d fc	 mov	 ecx, DWORD PTR _pMethod1$[ebp]
  00019	8b 55 f8	 mov	 edx, DWORD PTR _pMethod2$[ebp]
  0001c	8b 41 2c	 mov	 eax, DWORD PTR [ecx+44]
  0001f	3b 42 2c	 cmp	 eax, DWORD PTR [edx+44]
  00022	7d 07		 jge	 SHORT $LN4@DeintMetho

; 757  :     {
; 758  :         return -1;

  00024	83 c8 ff	 or	 eax, -1
  00027	eb 1b		 jmp	 SHORT $LN5@DeintMetho
  00029	eb 19		 jmp	 SHORT $LN5@DeintMetho
$LN4@DeintMetho:

; 759  :     }
; 760  :     else if(pMethod1->nMethodIndex > pMethod2->nMethodIndex)

  0002b	8b 4d fc	 mov	 ecx, DWORD PTR _pMethod1$[ebp]
  0002e	8b 55 f8	 mov	 edx, DWORD PTR _pMethod2$[ebp]
  00031	8b 41 2c	 mov	 eax, DWORD PTR [ecx+44]
  00034	3b 42 2c	 cmp	 eax, DWORD PTR [edx+44]
  00037	7e 09		 jle	 SHORT $LN2@DeintMetho

; 761  :     {
; 762  :         return 1;

  00039	b8 01 00 00 00	 mov	 eax, 1
  0003e	eb 04		 jmp	 SHORT $LN5@DeintMetho

; 763  :     }
; 764  :     else

  00040	eb 02		 jmp	 SHORT $LN5@DeintMetho
$LN2@DeintMetho:

; 765  :     {
; 766  :         return 0;

  00042	33 c0		 xor	 eax, eax
$LN5@DeintMetho:

; 767  :     }
; 768  : }

  00044	8b e5		 mov	 esp, ebp
  00046	5d		 pop	 ebp
  00047	c3		 ret	 0
?DeintMethodCompare@@YAHPBX0@Z ENDP			; DeintMethodCompare
_TEXT	ENDS
PUBLIC	?GetDeinterlaceModeName@@YAPADXZ		; GetDeinterlaceModeName
; Function compile flags: /Odtp
;	COMDAT ?GetDeinterlaceModeName@@YAPADXZ
_TEXT	SEGMENT
?GetDeinterlaceModeName@@YAPADXZ PROC			; GetDeinterlaceModeName, COMDAT

; 528  : {

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

; 529  :     if(bIsProgressiveMode)

  00003	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?bIsProgressiveMode@@3HA, 0 ; bIsProgressiveMode
  0000a	74 12		 je	 SHORT $LN4@GetDeinter

; 530  :     {
; 531  :         return ProgressiveMethods[gProgMode].szName;

  0000c	a1 00 00 00 00	 mov	 eax, DWORD PTR ?gProgMode@@3W4eProgressivePulldownMode@@A ; gProgMode
  00011	6b c0 64	 imul	 eax, 100		; 00000064H
  00014	8b 80 08 00 00
	00		 mov	 eax, DWORD PTR ?ProgressiveMethods@@3PAU_DEINTERLACE_METHOD@@A[eax+8]
  0001a	eb 2e		 jmp	 SHORT $LN5@GetDeinter
  0001c	eb 2c		 jmp	 SHORT $LN5@GetDeinter
$LN4@GetDeinter:

; 532  :     }
; 533  :     else if(bIsFilmMode)

  0001e	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?bIsFilmMode@@3HA, 0 ; bIsFilmMode
  00025	74 13		 je	 SHORT $LN2@GetDeinter

; 534  :     {
; 535  :         return FilmDeintMethods[gFilmPulldownMode].szName;

  00027	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?gFilmPulldownMode@@3W4eFilmPulldownMode@@A ; gFilmPulldownMode
  0002d	6b c9 64	 imul	 ecx, 100		; 00000064H
  00030	8b 81 08 00 00
	00		 mov	 eax, DWORD PTR ?FilmDeintMethods@@3PAU_DEINTERLACE_METHOD@@A[ecx+8]
  00036	eb 12		 jmp	 SHORT $LN5@GetDeinter

; 536  :     }
; 537  :     else

  00038	eb 10		 jmp	 SHORT $LN5@GetDeinter
$LN2@GetDeinter:

; 538  :     {
; 539  :         return VideoDeintMethods[gVideoPulldownMode]->szName;

  0003a	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?gVideoPulldownMode@@3JA ; gVideoPulldownMode
  00040	8b 04 95 00 00
	00 00		 mov	 eax, DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[edx*4]
  00047	8b 40 08	 mov	 eax, DWORD PTR [eax+8]
$LN5@GetDeinter:

; 540  :     }
; 541  : }

  0004a	5d		 pop	 ebp
  0004b	c3		 ret	 0
?GetDeinterlaceModeName@@YAPADXZ ENDP			; GetDeinterlaceModeName
_TEXT	ENDS
PUBLIC	?GetProgMode@@YA?AW4eProgressivePulldownMode@@XZ ; GetProgMode
; Function compile flags: /Odtp
;	COMDAT ?GetProgMode@@YA?AW4eProgressivePulldownMode@@XZ
_TEXT	SEGMENT
?GetProgMode@@YA?AW4eProgressivePulldownMode@@XZ PROC	; GetProgMode, COMDAT

; 307  : {

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

; 308  :     return gProgMode;

  00003	a1 00 00 00 00	 mov	 eax, DWORD PTR ?gProgMode@@3W4eProgressivePulldownMode@@A ; gProgMode

; 309  : }

  00008	5d		 pop	 ebp
  00009	c3		 ret	 0
?GetProgMode@@YA?AW4eProgressivePulldownMode@@XZ ENDP	; GetProgMode
_TEXT	ENDS
PUBLIC	?GetFilmMode@@YA?AW4eFilmPulldownMode@@XZ	; GetFilmMode
; Function compile flags: /Odtp
;	COMDAT ?GetFilmMode@@YA?AW4eFilmPulldownMode@@XZ
_TEXT	SEGMENT
?GetFilmMode@@YA?AW4eFilmPulldownMode@@XZ PROC		; GetFilmMode, COMDAT

; 295  : {

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

; 296  :     if(bIsFilmMode)

  00003	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?bIsFilmMode@@3HA, 0 ; bIsFilmMode
  0000a	74 09		 je	 SHORT $LN2@GetFilmMod@2

; 297  :     {
; 298  :         return gFilmPulldownMode;

  0000c	a1 00 00 00 00	 mov	 eax, DWORD PTR ?gFilmPulldownMode@@3W4eFilmPulldownMode@@A ; gFilmPulldownMode
  00011	eb 07		 jmp	 SHORT $LN3@GetFilmMod@2

; 299  :     }
; 300  :     else

  00013	eb 05		 jmp	 SHORT $LN3@GetFilmMod@2
$LN2@GetFilmMod@2:

; 301  :     {
; 302  :         return FILMPULLDOWNMODES_LAST_ONE;

  00015	b8 09 00 00 00	 mov	 eax, 9
$LN3@GetFilmMod@2:

; 303  :     }
; 304  : }

  0001a	5d		 pop	 ebp
  0001b	c3		 ret	 0
?GetFilmMode@@YA?AW4eFilmPulldownMode@@XZ ENDP		; GetFilmMode
_TEXT	ENDS
PUBLIC	?InHalfHeightMode@@YAHXZ			; InHalfHeightMode
; Function compile flags: /Odtp
;	COMDAT ?InHalfHeightMode@@YAHXZ
_TEXT	SEGMENT
?InHalfHeightMode@@YAHXZ PROC				; InHalfHeightMode, COMDAT

; 276  : {

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

; 277  :     if(bIsFilmMode || bIsProgressiveMode)

  00003	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?bIsFilmMode@@3HA, 0 ; bIsFilmMode
  0000a	75 09		 jne	 SHORT $LN4@InHalfHeig
  0000c	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?bIsProgressiveMode@@3HA, 0 ; bIsProgressiveMode
  00013	74 06		 je	 SHORT $LN5@InHalfHeig
$LN4@InHalfHeig:

; 278  :     {
; 279  :         return FALSE;

  00015	33 c0		 xor	 eax, eax
  00017	eb 27		 jmp	 SHORT $LN6@InHalfHeig

; 280  :     }
; 281  :     else

  00019	eb 25		 jmp	 SHORT $LN6@InHalfHeig
$LN5@InHalfHeig:

; 282  :     {
; 283  :         if(VideoDeintMethods[gVideoPulldownMode] != NULL)

  0001b	a1 00 00 00 00	 mov	 eax, DWORD PTR ?gVideoPulldownMode@@3JA ; gVideoPulldownMode
  00020	83 3c 85 00 00
	00 00 00	 cmp	 DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[eax*4], 0
  00028	74 14		 je	 SHORT $LN2@InHalfHeig

; 284  :         {
; 285  :             return VideoDeintMethods[gVideoPulldownMode]->bIsHalfHeight;

  0002a	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?gVideoPulldownMode@@3JA ; gVideoPulldownMode
  00030	8b 14 8d 00 00
	00 00		 mov	 edx, DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[ecx*4]
  00037	8b 42 10	 mov	 eax, DWORD PTR [edx+16]
  0003a	eb 04		 jmp	 SHORT $LN6@InHalfHeig

; 286  :         }
; 287  :         else

  0003c	eb 02		 jmp	 SHORT $LN6@InHalfHeig
$LN2@InHalfHeig:

; 288  :         {
; 289  :             return FALSE;

  0003e	33 c0		 xor	 eax, eax
$LN6@InHalfHeig:

; 290  :         }
; 291  :     }
; 292  : }

  00040	5d		 pop	 ebp
  00041	c3		 ret	 0
?InHalfHeightMode@@YAHXZ ENDP				; InHalfHeightMode
_TEXT	ENDS
PUBLIC	?IsFilmMode@@YAHXZ				; IsFilmMode
; Function compile flags: /Odtp
;	COMDAT ?IsFilmMode@@YAHXZ
_TEXT	SEGMENT
?IsFilmMode@@YAHXZ PROC					; IsFilmMode, COMDAT

; 271  : {

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

; 272  :     return bIsFilmMode;

  00003	a1 00 00 00 00	 mov	 eax, DWORD PTR ?bIsFilmMode@@3HA ; bIsFilmMode

; 273  : }

  00008	5d		 pop	 ebp
  00009	c3		 ret	 0
?IsFilmMode@@YAHXZ ENDP					; IsFilmMode
_TEXT	ENDS
PUBLIC	?IsProgressiveMode@@YAHXZ			; IsProgressiveMode
; Function compile flags: /Odtp
;	COMDAT ?IsProgressiveMode@@YAHXZ
_TEXT	SEGMENT
?IsProgressiveMode@@YAHXZ PROC				; IsProgressiveMode, COMDAT

; 266  : {

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

; 267  :     return bIsProgressiveMode;

  00003	a1 00 00 00 00	 mov	 eax, DWORD PTR ?bIsProgressiveMode@@3HA ; bIsProgressiveMode

; 268  : }

  00008	5d		 pop	 ebp
  00009	c3		 ret	 0
?IsProgressiveMode@@YAHXZ ENDP				; IsProgressiveMode
_TEXT	ENDS
PUBLIC	?GetFilmDeintMethod@@YAPAU_DEINTERLACE_METHOD@@W4eFilmPulldownMode@@@Z ; GetFilmDeintMethod
; Function compile flags: /Odtp
;	COMDAT ?GetFilmDeintMethod@@YAPAU_DEINTERLACE_METHOD@@W4eFilmPulldownMode@@@Z
_TEXT	SEGMENT
_Mode$ = 8						; size = 4
?GetFilmDeintMethod@@YAPAU_DEINTERLACE_METHOD@@W4eFilmPulldownMode@@@Z PROC ; GetFilmDeintMethod, COMDAT

; 254  : {

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

; 255  :     if(Mode < FILMPULLDOWNMODES_LAST_ONE)

  00003	83 7d 08 09	 cmp	 DWORD PTR _Mode$[ebp], 9
  00007	7d 0f		 jge	 SHORT $LN2@GetFilmDei

; 256  :     {
; 257  :         return FilmDeintMethods + Mode;

  00009	8b 45 08	 mov	 eax, DWORD PTR _Mode$[ebp]
  0000c	6b c0 64	 imul	 eax, 100		; 00000064H
  0000f	05 00 00 00 00	 add	 eax, OFFSET ?FilmDeintMethods@@3PAU_DEINTERLACE_METHOD@@A ; FilmDeintMethods
  00014	eb 04		 jmp	 SHORT $LN3@GetFilmDei

; 258  :     }
; 259  :     else

  00016	eb 02		 jmp	 SHORT $LN3@GetFilmDei
$LN2@GetFilmDei:

; 260  :     {
; 261  :         return NULL;

  00018	33 c0		 xor	 eax, eax
$LN3@GetFilmDei:

; 262  :     }
; 263  : }

  0001a	5d		 pop	 ebp
  0001b	c3		 ret	 0
?GetFilmDeintMethod@@YAPAU_DEINTERLACE_METHOD@@W4eFilmPulldownMode@@@Z ENDP ; GetFilmDeintMethod
_TEXT	ENDS
PUBLIC	?GetVideoDeintIndex@@YAPAU_DEINTERLACE_METHOD@@H@Z ; GetVideoDeintIndex
; Function compile flags: /Odtp
;	COMDAT ?GetVideoDeintIndex@@YAPAU_DEINTERLACE_METHOD@@H@Z
_TEXT	SEGMENT
_i$ = -4						; size = 4
_Index$ = 8						; size = 4
?GetVideoDeintIndex@@YAPAU_DEINTERLACE_METHOD@@H@Z PROC	; GetVideoDeintIndex, COMDAT

; 240  : {

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

; 241  :     int i;
; 242  :     for(i = 0; i < NumVideoModes; i++)

  00004	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _i$[ebp], 0
  0000b	eb 09		 jmp	 SHORT $LN4@GetVideoDe
$LN3@GetVideoDe:
  0000d	8b 45 fc	 mov	 eax, DWORD PTR _i$[ebp]
  00010	83 c0 01	 add	 eax, 1
  00013	89 45 fc	 mov	 DWORD PTR _i$[ebp], eax
$LN4@GetVideoDe:
  00016	8b 4d fc	 mov	 ecx, DWORD PTR _i$[ebp]
  00019	3b 0d 00 00 00
	00		 cmp	 ecx, DWORD PTR ?NumVideoModes@@3JA ; NumVideoModes
  0001f	7d 20		 jge	 SHORT $LN2@GetVideoDe

; 243  :     {
; 244  :         if(VideoDeintMethods[i]->nMethodIndex == Index)

  00021	8b 55 fc	 mov	 edx, DWORD PTR _i$[ebp]
  00024	8b 04 95 00 00
	00 00		 mov	 eax, DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[edx*4]
  0002b	8b 48 2c	 mov	 ecx, DWORD PTR [eax+44]
  0002e	3b 4d 08	 cmp	 ecx, DWORD PTR _Index$[ebp]
  00031	75 0c		 jne	 SHORT $LN1@GetVideoDe

; 245  :         {
; 246  :             return VideoDeintMethods[i];

  00033	8b 55 fc	 mov	 edx, DWORD PTR _i$[ebp]
  00036	8b 04 95 00 00
	00 00		 mov	 eax, DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[edx*4]
  0003d	eb 07		 jmp	 SHORT $LN5@GetVideoDe
$LN1@GetVideoDe:

; 247  :         }
; 248  :     }

  0003f	eb cc		 jmp	 SHORT $LN3@GetVideoDe
$LN2@GetVideoDe:

; 249  :     //must get something
; 250  :     return VideoDeintMethods[0];

  00041	a1 00 00 00 00	 mov	 eax, DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A
$LN5@GetVideoDe:

; 251  : }

  00046	8b e5		 mov	 esp, ebp
  00048	5d		 pop	 ebp
  00049	c3		 ret	 0
?GetVideoDeintIndex@@YAPAU_DEINTERLACE_METHOD@@H@Z ENDP	; GetVideoDeintIndex
_TEXT	ENDS
PUBLIC	?GetVideoDeintMethod@@YAPAU_DEINTERLACE_METHOD@@H@Z ; GetVideoDeintMethod
; Function compile flags: /Odtp
;	COMDAT ?GetVideoDeintMethod@@YAPAU_DEINTERLACE_METHOD@@H@Z
_TEXT	SEGMENT
_Mode$ = 8						; size = 4
?GetVideoDeintMethod@@YAPAU_DEINTERLACE_METHOD@@H@Z PROC ; GetVideoDeintMethod, COMDAT

; 228  : {

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

; 229  :     if(Mode < NumVideoModes)

  00003	8b 45 08	 mov	 eax, DWORD PTR _Mode$[ebp]
  00006	3b 05 00 00 00
	00		 cmp	 eax, DWORD PTR ?NumVideoModes@@3JA ; NumVideoModes
  0000c	7d 0e		 jge	 SHORT $LN2@GetVideoDe@2

; 230  :     {
; 231  :         return VideoDeintMethods[Mode];

  0000e	8b 4d 08	 mov	 ecx, DWORD PTR _Mode$[ebp]
  00011	8b 04 8d 00 00
	00 00		 mov	 eax, DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[ecx*4]
  00018	eb 04		 jmp	 SHORT $LN3@GetVideoDe@2

; 232  :     }
; 233  :     else

  0001a	eb 02		 jmp	 SHORT $LN3@GetVideoDe@2
$LN2@GetVideoDe@2:

; 234  :     {
; 235  :         return NULL;

  0001c	33 c0		 xor	 eax, eax
$LN3@GetVideoDe@2:

; 236  :     }
; 237  : }

  0001e	5d		 pop	 ebp
  0001f	c3		 ret	 0
?GetVideoDeintMethod@@YAPAU_DEINTERLACE_METHOD@@H@Z ENDP ; GetVideoDeintMethod
_TEXT	ENDS
PUBLIC	?GetProgressiveMethod@@YAPAU_DEINTERLACE_METHOD@@H@Z ; GetProgressiveMethod
; Function compile flags: /Odtp
;	COMDAT ?GetProgressiveMethod@@YAPAU_DEINTERLACE_METHOD@@H@Z
_TEXT	SEGMENT
_Mode$ = 8						; size = 4
?GetProgressiveMethod@@YAPAU_DEINTERLACE_METHOD@@H@Z PROC ; GetProgressiveMethod, COMDAT

; 223  : {

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

; 224  :     return &(ProgressiveMethods[Mode]);

  00003	8b 45 08	 mov	 eax, DWORD PTR _Mode$[ebp]
  00006	6b c0 64	 imul	 eax, 100		; 00000064H
  00009	05 00 00 00 00	 add	 eax, OFFSET ?ProgressiveMethods@@3PAU_DEINTERLACE_METHOD@@A ; ProgressiveMethods

; 225  : }

  0000e	5d		 pop	 ebp
  0000f	c3		 ret	 0
?GetProgressiveMethod@@YAPAU_DEINTERLACE_METHOD@@H@Z ENDP ; GetProgressiveMethod
_TEXT	ENDS
PUBLIC	?GetCurrentDeintMethod@@YAPAU_DEINTERLACE_METHOD@@XZ ; GetCurrentDeintMethod
; Function compile flags: /Odtp
;	COMDAT ?GetCurrentDeintMethod@@YAPAU_DEINTERLACE_METHOD@@XZ
_TEXT	SEGMENT
?GetCurrentDeintMethod@@YAPAU_DEINTERLACE_METHOD@@XZ PROC ; GetCurrentDeintMethod, COMDAT

; 207  : {

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

; 208  :     if(bIsProgressiveMode)

  00003	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?bIsProgressiveMode@@3HA, 0 ; bIsProgressiveMode
  0000a	74 11		 je	 SHORT $LN4@GetCurrent@3

; 209  :     {
; 210  :         return ProgressiveMethods + gProgMode;

  0000c	a1 00 00 00 00	 mov	 eax, DWORD PTR ?gProgMode@@3W4eProgressivePulldownMode@@A ; gProgMode
  00011	6b c0 64	 imul	 eax, 100		; 00000064H
  00014	05 00 00 00 00	 add	 eax, OFFSET ?ProgressiveMethods@@3PAU_DEINTERLACE_METHOD@@A ; ProgressiveMethods
  00019	eb 28		 jmp	 SHORT $LN5@GetCurrent@3
  0001b	eb 26		 jmp	 SHORT $LN5@GetCurrent@3
$LN4@GetCurrent@3:

; 211  :     }
; 212  :     else if(bIsFilmMode)

  0001d	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?bIsFilmMode@@3HA, 0 ; bIsFilmMode
  00024	74 11		 je	 SHORT $LN2@GetCurrent@3

; 213  :     {
; 214  :         return FilmDeintMethods + gFilmPulldownMode;

  00026	a1 00 00 00 00	 mov	 eax, DWORD PTR ?gFilmPulldownMode@@3W4eFilmPulldownMode@@A ; gFilmPulldownMode
  0002b	6b c0 64	 imul	 eax, 100		; 00000064H
  0002e	05 00 00 00 00	 add	 eax, OFFSET ?FilmDeintMethods@@3PAU_DEINTERLACE_METHOD@@A ; FilmDeintMethods
  00033	eb 0e		 jmp	 SHORT $LN5@GetCurrent@3

; 215  :     }
; 216  :     else

  00035	eb 0c		 jmp	 SHORT $LN5@GetCurrent@3
$LN2@GetCurrent@3:

; 217  :     {
; 218  :         return VideoDeintMethods[gVideoPulldownMode];

  00037	a1 00 00 00 00	 mov	 eax, DWORD PTR ?gVideoPulldownMode@@3JA ; gVideoPulldownMode
  0003c	8b 04 85 00 00
	00 00		 mov	 eax, DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[eax*4]
$LN5@GetCurrent@3:

; 219  :     }
; 220  : }

  00043	5d		 pop	 ebp
  00044	c3		 ret	 0
?GetCurrentDeintMethod@@YAPAU_DEINTERLACE_METHOD@@XZ ENDP ; GetCurrentDeintMethod
_TEXT	ENDS
PUBLIC	?ResetDeinterlaceStats@@YAXXZ			; ResetDeinterlaceStats
; Function compile flags: /Odtp
;	COMDAT ?ResetDeinterlaceStats@@YAXXZ
_TEXT	SEGMENT
tv91 = -12						; size = 4
_CurrentTickCount$ = -8					; size = 4
_i$ = -4						; size = 4
?ResetDeinterlaceStats@@YAXXZ PROC			; ResetDeinterlaceStats, COMDAT

; 179  : {

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

; 180  :     DWORD CurrentTickCount = GetTickCount();

  00006	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__GetTickCount@0
  0000c	89 45 f8	 mov	 DWORD PTR _CurrentTickCount$[ebp], eax

; 181  :     int i;
; 182  : 
; 183  :     for(i = 0; i < PROGPULLDOWNMODES_LAST_ONE; i++)

  0000f	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _i$[ebp], 0
  00016	eb 09		 jmp	 SHORT $LN9@ResetDeint
$LN8@ResetDeint:
  00018	8b 45 fc	 mov	 eax, DWORD PTR _i$[ebp]
  0001b	83 c0 01	 add	 eax, 1
  0001e	89 45 fc	 mov	 DWORD PTR _i$[ebp], eax
$LN9@ResetDeint:
  00021	83 7d fc 08	 cmp	 DWORD PTR _i$[ebp], 8
  00025	7d 22		 jge	 SHORT $LN7@ResetDeint

; 184  :     {
; 185  :         ProgressiveMethods[i].ModeChanges = 0;

  00027	8b 4d fc	 mov	 ecx, DWORD PTR _i$[ebp]
  0002a	6b c9 64	 imul	 ecx, 100		; 00000064H
  0002d	c7 81 44 00 00
	00 00 00 00 00	 mov	 DWORD PTR ?ProgressiveMethods@@3PAU_DEINTERLACE_METHOD@@A[ecx+68], 0

; 186  :         ProgressiveMethods[i].ModeTicks = 0;

  00037	8b 55 fc	 mov	 edx, DWORD PTR _i$[ebp]
  0003a	6b d2 64	 imul	 edx, 100		; 00000064H
  0003d	c7 82 48 00 00
	00 00 00 00 00	 mov	 DWORD PTR ?ProgressiveMethods@@3PAU_DEINTERLACE_METHOD@@A[edx+72], 0

; 187  :     }

  00047	eb cf		 jmp	 SHORT $LN8@ResetDeint
$LN7@ResetDeint:

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

  00049	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _i$[ebp], 0
  00050	eb 09		 jmp	 SHORT $LN6@ResetDeint
$LN5@ResetDeint:
  00052	8b 45 fc	 mov	 eax, DWORD PTR _i$[ebp]
  00055	83 c0 01	 add	 eax, 1
  00058	89 45 fc	 mov	 DWORD PTR _i$[ebp], eax
$LN6@ResetDeint:
  0005b	83 7d fc 09	 cmp	 DWORD PTR _i$[ebp], 9
  0005f	7d 22		 jge	 SHORT $LN4@ResetDeint

; 189  :     {
; 190  :         FilmDeintMethods[i].ModeChanges = 0;

  00061	8b 4d fc	 mov	 ecx, DWORD PTR _i$[ebp]
  00064	6b c9 64	 imul	 ecx, 100		; 00000064H
  00067	c7 81 44 00 00
	00 00 00 00 00	 mov	 DWORD PTR ?FilmDeintMethods@@3PAU_DEINTERLACE_METHOD@@A[ecx+68], 0

; 191  :         FilmDeintMethods[i].ModeTicks = 0;

  00071	8b 55 fc	 mov	 edx, DWORD PTR _i$[ebp]
  00074	6b d2 64	 imul	 edx, 100		; 00000064H
  00077	c7 82 48 00 00
	00 00 00 00 00	 mov	 DWORD PTR ?FilmDeintMethods@@3PAU_DEINTERLACE_METHOD@@A[edx+72], 0

; 192  :     }

  00081	eb cf		 jmp	 SHORT $LN5@ResetDeint
$LN4@ResetDeint:

; 193  :     for(i = 0; i < NumVideoModes; i++)

  00083	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _i$[ebp], 0
  0008a	eb 09		 jmp	 SHORT $LN3@ResetDeint
$LN2@ResetDeint:
  0008c	8b 45 fc	 mov	 eax, DWORD PTR _i$[ebp]
  0008f	83 c0 01	 add	 eax, 1
  00092	89 45 fc	 mov	 DWORD PTR _i$[ebp], eax
$LN3@ResetDeint:
  00095	8b 4d fc	 mov	 ecx, DWORD PTR _i$[ebp]
  00098	3b 0d 00 00 00
	00		 cmp	 ecx, DWORD PTR ?NumVideoModes@@3JA ; NumVideoModes
  0009e	7d 24		 jge	 SHORT $LN1@ResetDeint

; 194  :     {
; 195  :         VideoDeintMethods[i]->ModeChanges = 0;

  000a0	8b 55 fc	 mov	 edx, DWORD PTR _i$[ebp]
  000a3	8b 04 95 00 00
	00 00		 mov	 eax, DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[edx*4]
  000aa	c7 40 44 00 00
	00 00		 mov	 DWORD PTR [eax+68], 0

; 196  :         VideoDeintMethods[i]->ModeTicks = 0;

  000b1	8b 4d fc	 mov	 ecx, DWORD PTR _i$[ebp]
  000b4	8b 14 8d 00 00
	00 00		 mov	 edx, DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[ecx*4]
  000bb	c7 42 48 00 00
	00 00		 mov	 DWORD PTR [edx+72], 0

; 197  :     }

  000c2	eb c8		 jmp	 SHORT $LN2@ResetDeint
$LN1@ResetDeint:

; 198  : 
; 199  :     nInitialTicks = CurrentTickCount;

  000c4	8b 45 f8	 mov	 eax, DWORD PTR _CurrentTickCount$[ebp]
  000c7	a3 00 00 00 00	 mov	 DWORD PTR ?nInitialTicks@@3JA, eax ; nInitialTicks

; 200  :     nLastTicks = CurrentTickCount;

  000cc	8b 4d f8	 mov	 ecx, DWORD PTR _CurrentTickCount$[ebp]
  000cf	89 0d 00 00 00
	00		 mov	 DWORD PTR ?nLastTicks@@3JA, ecx ; nLastTicks

; 201  : 
; 202  :     GetCurrentDeintMethod()->ModeChanges++;

  000d5	e8 00 00 00 00	 call	 ?GetCurrentDeintMethod@@YAPAU_DEINTERLACE_METHOD@@XZ ; GetCurrentDeintMethod
  000da	83 c0 44	 add	 eax, 68			; 00000044H
  000dd	89 45 f4	 mov	 DWORD PTR tv91[ebp], eax
  000e0	8b 55 f4	 mov	 edx, DWORD PTR tv91[ebp]
  000e3	8b 02		 mov	 eax, DWORD PTR [edx]
  000e5	83 c0 01	 add	 eax, 1
  000e8	8b 4d f4	 mov	 ecx, DWORD PTR tv91[ebp]
  000eb	89 01		 mov	 DWORD PTR [ecx], eax

; 203  :     nTotalDeintModeChanges = 1;

  000ed	c7 05 00 00 00
	00 01 00 00 00	 mov	 DWORD PTR ?nTotalDeintModeChanges@@3JA, 1 ; nTotalDeintModeChanges

; 204  : }

  000f7	8b e5		 mov	 esp, ebp
  000f9	5d		 pop	 ebp
  000fa	c3		 ret	 0
?ResetDeinterlaceStats@@YAXXZ ENDP			; ResetDeinterlaceStats
_TEXT	ENDS
PUBLIC	?Deinterlace_SetStatus@@YAXPBD@Z		; Deinterlace_SetStatus
; Function compile flags: /Odtp
;	COMDAT ?Deinterlace_SetStatus@@YAXPBD@Z
_TEXT	SEGMENT
_StatusText$ = 8					; size = 4
?Deinterlace_SetStatus@@YAXPBD@Z PROC			; Deinterlace_SetStatus, COMDAT

; 174  : {

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

; 175  :     PostMessageToMainWindow(UWM_DEINTERLACE_SETSTATUS, 0, (LPARAM)StatusText);

  00003	8b 45 08	 mov	 eax, DWORD PTR _StatusText$[ebp]
  00006	50		 push	 eax
  00007	6a 00		 push	 0
  00009	68 06 90 00 00	 push	 36870			; 00009006H
  0000e	e8 00 00 00 00	 call	 ?PostMessageToMainWindow@@YAXIIJ@Z ; PostMessageToMainWindow
  00013	83 c4 0c	 add	 esp, 12			; 0000000cH

; 176  : }

  00016	5d		 pop	 ebp
  00017	c3		 ret	 0
?Deinterlace_SetStatus@@YAXPBD@Z ENDP			; Deinterlace_SetStatus
; Function compile flags: /Odtp
;	COMDAT ??_G?$SmartPtr@VCSettingsHolder@@@@QAEPAXI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___flags$ = 8						; size = 4
??_G?$SmartPtr@VCSettingsHolder@@@@QAEPAXI@Z PROC	; SmartPtr<CSettingsHolder>::`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	 ??1?$SmartPtr@VCSettingsHolder@@@@QAE@XZ ; SmartPtr<CSettingsHolder>::~SmartPtr<CSettingsHolder>
  0000f	8b 45 08	 mov	 eax, DWORD PTR ___flags$[ebp]
  00012	83 e0 01	 and	 eax, 1
  00015	74 0c		 je	 SHORT $LN1@scalar@59
  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@59:
  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
??_G?$SmartPtr@VCSettingsHolder@@@@QAEPAXI@Z ENDP	; SmartPtr<CSettingsHolder>::`scalar deleting destructor'
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ??$_Destroy@V?$SmartPtr@VCSettingsHolder@@@@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
??$_Destroy@V?$SmartPtr@VCSettingsHolder@@@@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@@Z PROC ; std::_Destroy<SmartPtr<CSettingsHolder> >, COMDAT

; 58   : 	{	// destroy object at _Ptr

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

; 59   : 	_DESTRUCTOR(_Ty, _Ptr);

  00003	6a 00		 push	 0
  00005	8b 4d 08	 mov	 ecx, DWORD PTR __Ptr$[ebp]
  00008	e8 00 00 00 00	 call	 ??_G?$SmartPtr@VCSettingsHolder@@@@QAEPAXI@Z

; 60   : 	}

  0000d	5d		 pop	 ebp
  0000e	c3		 ret	 0
??$_Destroy@V?$SmartPtr@VCSettingsHolder@@@@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@@Z ENDP ; std::_Destroy<SmartPtr<CSettingsHolder> >
_TEXT	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??$_Construct@V?$SmartPtr@VCSettingsHolder@@@@V1@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@ABV1@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??$_Construct@V?$SmartPtr@VCSettingsHolder@@@@V1@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@ABV1@@Z$0
__ehfuncinfo$??$_Construct@V?$SmartPtr@VCSettingsHolder@@@@V1@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@ABV1@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??$_Construct@V?$SmartPtr@VCSettingsHolder@@@@V1@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@ABV1@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??$_Construct@V?$SmartPtr@VCSettingsHolder@@@@V1@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@ABV1@@Z
_TEXT	SEGMENT
tv74 = -28						; size = 4
$T310697 = -24						; size = 4
$T310696 = -20						; size = 4
__Vptr$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
__Ptr$ = 8						; size = 4
__Val$ = 12						; size = 4
??$_Construct@V?$SmartPtr@VCSettingsHolder@@@@V1@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@ABV1@@Z PROC ; std::_Construct<SmartPtr<CSettingsHolder>,SmartPtr<CSettingsHolder> >, COMDAT

; 50   : 	{	// construct object at _Ptr with value _Val

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??$_Construct@V?$SmartPtr@VCSettingsHolder@@@@V1@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@ABV1@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 10	 sub	 esp, 16			; 00000010H
  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

; 51   : 	void _FARQ *_Vptr = _Ptr;

  00025	8b 45 08	 mov	 eax, DWORD PTR __Ptr$[ebp]
  00028	89 45 f0	 mov	 DWORD PTR __Vptr$[ebp], eax

; 52   : 	::new (_Vptr) _T1(_Val);

  0002b	8b 4d f0	 mov	 ecx, DWORD PTR __Vptr$[ebp]
  0002e	51		 push	 ecx
  0002f	6a 08		 push	 8
  00031	e8 00 00 00 00	 call	 ??2@YAPAXIPAX@Z		; operator new
  00036	83 c4 08	 add	 esp, 8
  00039	89 45 e8	 mov	 DWORD PTR $T310697[ebp], eax
  0003c	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00043	83 7d e8 00	 cmp	 DWORD PTR $T310697[ebp], 0
  00047	74 11		 je	 SHORT $LN3@Construct@13
  00049	8b 55 0c	 mov	 edx, DWORD PTR __Val$[ebp]
  0004c	52		 push	 edx
  0004d	8b 4d e8	 mov	 ecx, DWORD PTR $T310697[ebp]
  00050	e8 00 00 00 00	 call	 ??0?$SmartPtr@VCSettingsHolder@@@@QAE@ABV0@@Z ; SmartPtr<CSettingsHolder>::SmartPtr<CSettingsHolder>
  00055	89 45 e4	 mov	 DWORD PTR tv74[ebp], eax
  00058	eb 07		 jmp	 SHORT $LN4@Construct@13
$LN3@Construct@13:
  0005a	c7 45 e4 00 00
	00 00		 mov	 DWORD PTR tv74[ebp], 0
$LN4@Construct@13:
  00061	8b 45 e4	 mov	 eax, DWORD PTR tv74[ebp]
  00064	89 45 ec	 mov	 DWORD PTR $T310696[ebp], eax
  00067	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1

; 53   : 	}

  0006e	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00071	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00078	59		 pop	 ecx
  00079	8b e5		 mov	 esp, ebp
  0007b	5d		 pop	 ebp
  0007c	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??$_Construct@V?$SmartPtr@VCSettingsHolder@@@@V1@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@ABV1@@Z$0:
  00000	8b 45 f0	 mov	 eax, DWORD PTR __Vptr$[ebp]
  00003	50		 push	 eax
  00004	8b 4d e8	 mov	 ecx, DWORD PTR $T310697[ebp]
  00007	51		 push	 ecx
  00008	e8 00 00 00 00	 call	 ??3@YAXPAX0@Z		; operator delete
  0000d	83 c4 08	 add	 esp, 8
  00010	c3		 ret	 0
__ehhandler$??$_Construct@V?$SmartPtr@VCSettingsHolder@@@@V1@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@ABV1@@Z:
  00011	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00015	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00018	8b 4a ec	 mov	 ecx, DWORD PTR [edx-20]
  0001b	33 c8		 xor	 ecx, eax
  0001d	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00022	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??$_Construct@V?$SmartPtr@VCSettingsHolder@@@@V1@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@ABV1@@Z
  00027	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??$_Construct@V?$SmartPtr@VCSettingsHolder@@@@V1@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@ABV1@@Z ENDP ; std::_Construct<SmartPtr<CSettingsHolder>,SmartPtr<CSettingsHolder> >
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\smartptr.h
;	COMDAT ??4?$SmartPtr@VCSettingsHolder@@@@QAEAAV0@ABV0@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_otherPtr$ = 8						; size = 4
??4?$SmartPtr@VCSettingsHolder@@@@QAEAAV0@ABV0@@Z PROC	; SmartPtr<CSettingsHolder>::operator=, COMDAT
; _this$ = ecx

; 111  :     {

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

; 112  :         if (this != &otherPtr)

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	3b 45 08	 cmp	 eax, DWORD PTR _otherPtr$[ebp]
  0000d	74 21		 je	 SHORT $LN1@operator@196

; 113  :         {
; 114  :             Clear();

  0000f	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00012	e8 00 00 00 00	 call	 ?Clear@?$SmartPtr@VCSettingsHolder@@@@QAEXXZ ; SmartPtr<CSettingsHolder>::Clear

; 115  :             acquire(otherPtr.counter);

  00017	8b 4d 08	 mov	 ecx, DWORD PTR _otherPtr$[ebp]
  0001a	8b 51 04	 mov	 edx, DWORD PTR [ecx+4]
  0001d	52		 push	 edx
  0001e	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00021	e8 00 00 00 00	 call	 ?acquire@?$SmartPtr@VCSettingsHolder@@@@AAEXPAUCounter@@@Z ; SmartPtr<CSettingsHolder>::acquire

; 116  :             rawPtr = otherPtr.rawPtr;

  00026	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00029	8b 4d 08	 mov	 ecx, DWORD PTR _otherPtr$[ebp]
  0002c	8b 11		 mov	 edx, DWORD PTR [ecx]
  0002e	89 10		 mov	 DWORD PTR [eax], edx
$LN1@operator@196:

; 117  :         }
; 118  :         return *this;

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

; 119  :     }

  00033	8b e5		 mov	 esp, ebp
  00035	5d		 pop	 ebp
  00036	c2 04 00	 ret	 4
??4?$SmartPtr@VCSettingsHolder@@@@QAEAAV0@ABV0@@Z ENDP	; SmartPtr<CSettingsHolder>::operator=
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ?destroy@?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAEXPAV?$SmartPtr@VCSettingsHolder@@@@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Ptr$ = 8						; size = 4
?destroy@?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAEXPAV?$SmartPtr@VCSettingsHolder@@@@@Z PROC ; std::allocator<SmartPtr<CSettingsHolder> >::destroy, COMDAT
; _this$ = ecx

; 159  : 		{	// destroy object at _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

; 160  : 		_Destroy(_Ptr);

  00007	8b 45 08	 mov	 eax, DWORD PTR __Ptr$[ebp]
  0000a	50		 push	 eax
  0000b	e8 00 00 00 00	 call	 ??$_Destroy@V?$SmartPtr@VCSettingsHolder@@@@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@@Z ; std::_Destroy<SmartPtr<CSettingsHolder> >
  00010	83 c4 04	 add	 esp, 4

; 161  : 		}

  00013	8b e5		 mov	 esp, ebp
  00015	5d		 pop	 ebp
  00016	c2 04 00	 ret	 4
?destroy@?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAEXPAV?$SmartPtr@VCSettingsHolder@@@@@Z ENDP ; std::allocator<SmartPtr<CSettingsHolder> >::destroy
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?construct@?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAEXPAV?$SmartPtr@VCSettingsHolder@@@@ABV3@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Ptr$ = 8						; size = 4
__Val$ = 12						; size = 4
?construct@?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAEXPAV?$SmartPtr@VCSettingsHolder@@@@ABV3@@Z PROC ; std::allocator<SmartPtr<CSettingsHolder> >::construct, COMDAT
; _this$ = ecx

; 154  : 		{	// construct object at _Ptr with value _Val

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

; 155  : 		_Construct(_Ptr, _Val);

  00007	8b 45 0c	 mov	 eax, DWORD PTR __Val$[ebp]
  0000a	50		 push	 eax
  0000b	8b 4d 08	 mov	 ecx, DWORD PTR __Ptr$[ebp]
  0000e	51		 push	 ecx
  0000f	e8 00 00 00 00	 call	 ??$_Construct@V?$SmartPtr@VCSettingsHolder@@@@V1@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@ABV1@@Z ; std::_Construct<SmartPtr<CSettingsHolder>,SmartPtr<CSettingsHolder> >
  00014	83 c4 08	 add	 esp, 8

; 156  : 		}

  00017	8b e5		 mov	 esp, ebp
  00019	5d		 pop	 ebp
  0001a	c2 08 00	 ret	 8
?construct@?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAEXPAV?$SmartPtr@VCSettingsHolder@@@@ABV3@@Z ENDP ; std::allocator<SmartPtr<CSettingsHolder> >::construct
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
_TEXT	ENDS
;	COMDAT ??$_Fill@PAV?$SmartPtr@VCSettingsHolder@@@@V1@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@0ABV1@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Val$ = 16						; size = 4
??$_Fill@PAV?$SmartPtr@VCSettingsHolder@@@@V1@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@0ABV1@@Z PROC ; std::_Fill<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> >, 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@26
$LN2@Fill@26:
  00005	8b 45 08	 mov	 eax, DWORD PTR __First$[ebp]
  00008	83 c0 08	 add	 eax, 8
  0000b	89 45 08	 mov	 DWORD PTR __First$[ebp], eax
$LN3@Fill@26:
  0000e	8b 4d 08	 mov	 ecx, DWORD PTR __First$[ebp]
  00011	3b 4d 0c	 cmp	 ecx, DWORD PTR __Last$[ebp]
  00014	74 0e		 je	 SHORT $LN4@Fill@26

; 3133 : 		*_First = _Val;

  00016	8b 55 10	 mov	 edx, DWORD PTR __Val$[ebp]
  00019	52		 push	 edx
  0001a	8b 4d 08	 mov	 ecx, DWORD PTR __First$[ebp]
  0001d	e8 00 00 00 00	 call	 ??4?$SmartPtr@VCSettingsHolder@@@@QAEAAV0@ABV0@@Z ; SmartPtr<CSettingsHolder>::operator=
  00022	eb e1		 jmp	 SHORT $LN2@Fill@26
$LN4@Fill@26:

; 3134 : 	}

  00024	5d		 pop	 ebp
  00025	c3		 ret	 0
??$_Fill@PAV?$SmartPtr@VCSettingsHolder@@@@V1@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@0ABV1@@Z ENDP ; std::_Fill<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> >
_TEXT	ENDS
;	COMDAT xdata$x
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\memory
xdata$x	SEGMENT
__unwindtable$??$_Uninit_fill_n@PAV?$SmartPtr@VCSettingsHolder@@@@IV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z DD 0ffffffffH
	DD	00H
	DD	0ffffffffH
	DD	00H
__catchsym$??$_Uninit_fill_n@PAV?$SmartPtr@VCSettingsHolder@@@@IV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z$2 DD 00H
	DD	00H
	DD	00H
	DD	FLAT:__catch$??$_Uninit_fill_n@PAV?$SmartPtr@VCSettingsHolder@@@@IV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z$0
__tryblocktable$??$_Uninit_fill_n@PAV?$SmartPtr@VCSettingsHolder@@@@IV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z DD 00H
	DD	00H
	DD	01H
	DD	01H
	DD	FLAT:__catchsym$??$_Uninit_fill_n@PAV?$SmartPtr@VCSettingsHolder@@@@IV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z$2
__ehfuncinfo$??$_Uninit_fill_n@PAV?$SmartPtr@VCSettingsHolder@@@@IV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??$_Uninit_fill_n@PAV?$SmartPtr@VCSettingsHolder@@@@IV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
	DD	01H
	DD	FLAT:__tryblocktable$??$_Uninit_fill_n@PAV?$SmartPtr@VCSettingsHolder@@@@IV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??$_Uninit_fill_n@PAV?$SmartPtr@VCSettingsHolder@@@@IV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__Next$ = -20						; size = 4
__$EHRec$ = -16						; size = 16
__First$ = 8						; size = 4
__Count$ = 12						; size = 4
__Val$ = 16						; size = 4
__Al$ = 20						; size = 4
___formal$ = 24						; size = 1
___formal$ = 28						; size = 1
??$_Uninit_fill_n@PAV?$SmartPtr@VCSettingsHolder@@@@IV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Uninit_fill_n<SmartPtr<CSettingsHolder> *,unsigned int,SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >, COMDAT

; 389  : 	{	// copy _Count *_Val to raw _First, using _Al, arbitrary type

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??$_Uninit_fill_n@PAV?$SmartPtr@VCSettingsHolder@@@@IV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	51		 push	 ecx
  00012	51		 push	 ecx
  00013	53		 push	 ebx
  00014	56		 push	 esi
  00015	57		 push	 edi
  00016	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001b	33 c5		 xor	 eax, ebp
  0001d	50		 push	 eax
  0001e	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp+4]
  00021	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00027	89 65 f0	 mov	 DWORD PTR __$EHRec$[ebp], esp

; 390  : 
; 391  :  #if _HAS_ITERATOR_DEBUGGING
; 392  : //	if (_Count < 0)
; 393  : //		_DEBUG_ERROR("negative count in uninitialized fill");
; 394  :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 395  : 
; 396  : 	_FwdIt _Next = _First;

  0002a	8b 45 08	 mov	 eax, DWORD PTR __First$[ebp]
  0002d	89 45 ec	 mov	 DWORD PTR __Next$[ebp], eax

; 397  : 
; 398  : 	_TRY_BEGIN

  00030	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+12], 0

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

  00037	eb 12		 jmp	 SHORT $LN6@Uninit_fil@8
$LN5@Uninit_fil@8:
  00039	8b 4d 0c	 mov	 ecx, DWORD PTR __Count$[ebp]
  0003c	83 e9 01	 sub	 ecx, 1
  0003f	89 4d 0c	 mov	 DWORD PTR __Count$[ebp], ecx
  00042	8b 55 08	 mov	 edx, DWORD PTR __First$[ebp]
  00045	83 c2 08	 add	 edx, 8
  00048	89 55 08	 mov	 DWORD PTR __First$[ebp], edx
$LN6@Uninit_fil@8:
  0004b	83 7d 0c 00	 cmp	 DWORD PTR __Count$[ebp], 0
  0004f	76 12		 jbe	 SHORT $LN4@Uninit_fil@8

; 400  : 		_Al.construct(_First, _Val);

  00051	8b 45 10	 mov	 eax, DWORD PTR __Val$[ebp]
  00054	50		 push	 eax
  00055	8b 4d 08	 mov	 ecx, DWORD PTR __First$[ebp]
  00058	51		 push	 ecx
  00059	8b 4d 14	 mov	 ecx, DWORD PTR __Al$[ebp]
  0005c	e8 00 00 00 00	 call	 ?construct@?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAEXPAV?$SmartPtr@VCSettingsHolder@@@@ABV3@@Z ; std::allocator<SmartPtr<CSettingsHolder> >::construct
  00061	eb d6		 jmp	 SHORT $LN5@Uninit_fil@8
$LN4@Uninit_fil@8:
  00063	eb 37		 jmp	 SHORT $LN10@Uninit_fil@8
__catch$??$_Uninit_fill_n@PAV?$SmartPtr@VCSettingsHolder@@@@IV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z$0:

; 401  : 	_CATCH_ALL
; 402  : 	for (; _Next != _First; ++_Next)

  00065	eb 09		 jmp	 SHORT $LN3@Uninit_fil@8
$LN2@Uninit_fil@8:
  00067	8b 55 ec	 mov	 edx, DWORD PTR __Next$[ebp]
  0006a	83 c2 08	 add	 edx, 8
  0006d	89 55 ec	 mov	 DWORD PTR __Next$[ebp], edx
$LN3@Uninit_fil@8:
  00070	8b 45 ec	 mov	 eax, DWORD PTR __Next$[ebp]
  00073	3b 45 08	 cmp	 eax, DWORD PTR __First$[ebp]
  00076	74 0e		 je	 SHORT $LN1@Uninit_fil@8

; 403  : 		_Al.destroy(_Next);

  00078	8b 4d ec	 mov	 ecx, DWORD PTR __Next$[ebp]
  0007b	51		 push	 ecx
  0007c	8b 4d 14	 mov	 ecx, DWORD PTR __Al$[ebp]
  0007f	e8 00 00 00 00	 call	 ?destroy@?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAEXPAV?$SmartPtr@VCSettingsHolder@@@@@Z ; std::allocator<SmartPtr<CSettingsHolder> >::destroy
  00084	eb e1		 jmp	 SHORT $LN2@Uninit_fil@8
$LN1@Uninit_fil@8:

; 404  : 	_RERAISE;

  00086	6a 00		 push	 0
  00088	6a 00		 push	 0
  0008a	e8 00 00 00 00	 call	 __CxxThrowException@8

; 405  : 	_CATCH_END

  0008f	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
  00096	b8 00 00 00 00	 mov	 eax, $LN9@Uninit_fil@8
  0009b	c3		 ret	 0
$LN10@Uninit_fil@8:
  0009c	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
$LN9@Uninit_fil@8:

; 406  : 	}

  000a3	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp+4]
  000a6	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000ad	59		 pop	 ecx
  000ae	5f		 pop	 edi
  000af	5e		 pop	 esi
  000b0	5b		 pop	 ebx
  000b1	8b e5		 mov	 esp, ebp
  000b3	5d		 pop	 ebp
  000b4	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__ehhandler$??$_Uninit_fill_n@PAV?$SmartPtr@VCSettingsHolder@@@@IV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@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 e8	 mov	 ecx, DWORD PTR [edx-24]
  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$??$_Uninit_fill_n@PAV?$SmartPtr@VCSettingsHolder@@@@IV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
  00016	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??$_Uninit_fill_n@PAV?$SmartPtr@VCSettingsHolder@@@@IV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Uninit_fill_n<SmartPtr<CSettingsHolder> *,unsigned int,SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
;	COMDAT ??$_Destroy_range@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@0AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_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@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@0AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@@Z PROC ; std::_Destroy_range<std::allocator<SmartPtr<CSettingsHolder> > >, COMDAT

; 232  : 	{	// destroy [_First, _Last), arbitrary type

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

; 233  : 	for (; _First != _Last; ++_First)

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

; 234  : 		_Al.destroy(_First);

  00016	8b 55 08	 mov	 edx, DWORD PTR __First$[ebp]
  00019	52		 push	 edx
  0001a	8b 4d 10	 mov	 ecx, DWORD PTR __Al$[ebp]
  0001d	e8 00 00 00 00	 call	 ?destroy@?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAEXPAV?$SmartPtr@VCSettingsHolder@@@@@Z ; std::allocator<SmartPtr<CSettingsHolder> >::destroy
  00022	eb e1		 jmp	 SHORT $LN2@Destroy_ra@15
$LN4@Destroy_ra@15:

; 235  : 	}

  00024	5d		 pop	 ebp
  00025	c3		 ret	 0
??$_Destroy_range@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@0AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@@Z ENDP ; std::_Destroy_range<std::allocator<SmartPtr<CSettingsHolder> > >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Allocate@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@IPAV10@@Z
_TEXT	SEGMENT
$T310734 = -12						; size = 12
__Count$ = 8						; size = 4
___formal$ = 12						; size = 4
??$_Allocate@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@IPAV10@@Z PROC ; std::_Allocate<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >, 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@36

; 38   : 		_Count = 0;

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

; 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 1c	 cmp	 eax, 28			; 0000001cH
  00020	73 18		 jae	 SHORT $LN2@Allocate@36

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

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

; 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	6b c9 1c	 imul	 ecx, 28			; 0000001cH
  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@36:

; 44   : 	}

  00049	8b e5		 mov	 esp, ebp
  0004b	5d		 pop	 ebp
  0004c	c3		 ret	 0
??$_Allocate@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@IPAV10@@Z ENDP ; std::_Allocate<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Allocate@V?$SmartPtr@VCSettingsHolder@@@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@IPAV1@@Z
_TEXT	SEGMENT
$T310737 = -12						; size = 12
__Count$ = 8						; size = 4
___formal$ = 12						; size = 4
??$_Allocate@V?$SmartPtr@VCSettingsHolder@@@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@IPAV1@@Z PROC ; std::_Allocate<SmartPtr<CSettingsHolder> >, 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@37

; 38   : 		_Count = 0;

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

; 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 08	 cmp	 eax, 8
  00020	73 18		 jae	 SHORT $LN2@Allocate@37

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

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

; 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 03	 shl	 ecx, 3
  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@37:

; 44   : 	}

  00049	8b e5		 mov	 esp, ebp
  0004b	5d		 pop	 ebp
  0004c	c3		 ret	 0
??$_Allocate@V?$SmartPtr@VCSettingsHolder@@@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@IPAV1@@Z ENDP ; std::_Allocate<SmartPtr<CSettingsHolder> >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
_TEXT	ENDS
;	COMDAT ??$fill@PAV?$SmartPtr@VCSettingsHolder@@@@V1@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@0ABV1@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Val$ = 16						; size = 4
??$fill@PAV?$SmartPtr@VCSettingsHolder@@@@V1@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@0ABV1@@Z PROC ; std::fill<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> >, 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@PAV?$SmartPtr@VCSettingsHolder@@@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<CSettingsHolder> *>
  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@PAV?$SmartPtr@VCSettingsHolder@@@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<CSettingsHolder> *>
  0001d	83 c4 04	 add	 esp, 4
  00020	50		 push	 eax
  00021	e8 00 00 00 00	 call	 ??$_Fill@PAV?$SmartPtr@VCSettingsHolder@@@@V1@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@0ABV1@@Z ; std::_Fill<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> >
  00026	83 c4 0c	 add	 esp, 12			; 0000000cH

; 3162 : 	}

  00029	5d		 pop	 ebp
  0002a	c3		 ret	 0
??$fill@PAV?$SmartPtr@VCSettingsHolder@@@@V1@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@0ABV1@@Z ENDP ; std::fill<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\memory
_TEXT	ENDS
;	COMDAT ??$unchecked_uninitialized_fill_n@PAV?$SmartPtr@VCSettingsHolder@@@@IV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@stdext@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@Z
_TEXT	SEGMENT
$T310743 = -2						; size = 1
$T310742 = -1						; size = 1
__First$ = 8						; size = 4
__Count$ = 12						; size = 4
__Val$ = 16						; size = 4
__Al$ = 20						; size = 4
??$unchecked_uninitialized_fill_n@PAV?$SmartPtr@VCSettingsHolder@@@@IV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@stdext@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@Z PROC ; stdext::unchecked_uninitialized_fill_n<SmartPtr<CSettingsHolder> *,unsigned int,SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >, 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 $T310742[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@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VCSettingsHolder@@@@0@Z ; std::_Ptr_cat<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *>
  00016	83 c4 08	 add	 esp, 8
  00019	88 45 fe	 mov	 BYTE PTR $T310743[ebp], al
  0001c	0f b6 45 ff	 movzx	 eax, BYTE PTR $T310742[ebp]
  00020	50		 push	 eax
  00021	0f b6 4d fe	 movzx	 ecx, BYTE PTR $T310743[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@PAV?$SmartPtr@VCSettingsHolder@@@@IV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_fill_n<SmartPtr<CSettingsHolder> *,unsigned int,SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >
  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@PAV?$SmartPtr@VCSettingsHolder@@@@IV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@stdext@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@Z ENDP ; stdext::unchecked_uninitialized_fill_n<SmartPtr<CSettingsHolder> *,unsigned int,SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ??$_Destroy_range@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@0AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@@Z
_TEXT	SEGMENT
$T310746 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Al$ = 16						; size = 4
??$_Destroy_range@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@0AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@@Z PROC ; std::_Destroy_range<std::allocator<SmartPtr<CSettingsHolder> > >, 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@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VCSettingsHolder@@@@0@Z ; std::_Ptr_cat<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *>
  00011	83 c4 08	 add	 esp, 8
  00014	88 45 ff	 mov	 BYTE PTR $T310746[ebp], al
  00017	0f b6 55 ff	 movzx	 edx, BYTE PTR $T310746[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@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@0AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@@Z ; std::_Destroy_range<std::allocator<SmartPtr<CSettingsHolder> > >
  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@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@0AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@@Z ENDP ; std::_Destroy_range<std::allocator<SmartPtr<CSettingsHolder> > >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$_Iterator_with_base@Urandom_access_iterator_tag@std@@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@HPBV32@ABV32@V_Iterator_base_aux@2@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??0?$_Iterator_with_base@Urandom_access_iterator_tag@std@@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@HPBV32@ABV32@V_Iterator_base_aux@2@@std@@QAE@XZ PROC ; std::_Iterator_with_base<std::random_access_iterator_tag,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,int,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > const *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > const &,std::_Iterator_base_aux>::_Iterator_with_base<std::random_access_iterator_tag,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,int,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > const *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > 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@@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@HPBV32@ABV32@V_Iterator_base_aux@2@@std@@QAE@XZ ENDP ; std::_Iterator_with_base<std::random_access_iterator_tag,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,int,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > const *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > const &,std::_Iterator_base_aux>::_Iterator_with_base<std::random_access_iterator_tag,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,int,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > const *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > const &,std::_Iterator_base_aux>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$_Iterator_with_base@Urandom_access_iterator_tag@std@@V?$SmartPtr@VCSettingsHolder@@@@HPBV3@ABV3@V_Iterator_base_aux@2@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??0?$_Iterator_with_base@Urandom_access_iterator_tag@std@@V?$SmartPtr@VCSettingsHolder@@@@HPBV3@ABV3@V_Iterator_base_aux@2@@std@@QAE@XZ PROC ; std::_Iterator_with_base<std::random_access_iterator_tag,SmartPtr<CSettingsHolder>,int,SmartPtr<CSettingsHolder> const *,SmartPtr<CSettingsHolder> const &,std::_Iterator_base_aux>::_Iterator_with_base<std::random_access_iterator_tag,SmartPtr<CSettingsHolder>,int,SmartPtr<CSettingsHolder> const *,SmartPtr<CSettingsHolder> 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@@V?$SmartPtr@VCSettingsHolder@@@@HPBV3@ABV3@V_Iterator_base_aux@2@@std@@QAE@XZ ENDP ; std::_Iterator_with_base<std::random_access_iterator_tag,SmartPtr<CSettingsHolder>,int,SmartPtr<CSettingsHolder> const *,SmartPtr<CSettingsHolder> const &,std::_Iterator_base_aux>::_Iterator_with_base<std::random_access_iterator_tag,SmartPtr<CSettingsHolder>,int,SmartPtr<CSettingsHolder> const *,SmartPtr<CSettingsHolder> const &,std::_Iterator_base_aux>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$_Ranit@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HPBV12@ABV12@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??0?$_Ranit@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HPBV12@ABV12@@std@@QAE@XZ PROC ; std::_Ranit<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,int,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > const *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > const &>::_Ranit<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,int,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > const *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > 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@@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@HPBV32@ABV32@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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HPBV12@ABV12@@std@@QAE@XZ ENDP ; std::_Ranit<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,int,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > const *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > const &>::_Ranit<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,int,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > const *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > const &>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$_Ranit@V?$SmartPtr@VCSettingsHolder@@@@HPBV1@ABV1@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??0?$_Ranit@V?$SmartPtr@VCSettingsHolder@@@@HPBV1@ABV1@@std@@QAE@XZ PROC ; std::_Ranit<SmartPtr<CSettingsHolder>,int,SmartPtr<CSettingsHolder> const *,SmartPtr<CSettingsHolder> const &>::_Ranit<SmartPtr<CSettingsHolder>,int,SmartPtr<CSettingsHolder> const *,SmartPtr<CSettingsHolder> 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@@V?$SmartPtr@VCSettingsHolder@@@@HPBV3@ABV3@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@V?$SmartPtr@VCSettingsHolder@@@@HPBV1@ABV1@@std@@QAE@XZ ENDP ; std::_Ranit<SmartPtr<CSettingsHolder>,int,SmartPtr<CSettingsHolder> const *,SmartPtr<CSettingsHolder> const &>::_Ranit<SmartPtr<CSettingsHolder>,int,SmartPtr<CSettingsHolder> const *,SmartPtr<CSettingsHolder> const &>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
_TEXT	ENDS
;	COMDAT ??8?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBE_NABV01@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Right$ = 8						; size = 4
??8?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBE_NABV01@@Z PROC ; std::_Vector_const_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::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@197
  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@197
$LN4@operator@197:
  00029	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN2@operator@197:
  0002e	33 c0		 xor	 eax, eax
  00030	75 fc		 jne	 SHORT $LN2@operator@197

; 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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBE_NABV01@@Z ENDP ; std::_Vector_const_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::operator==
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAE@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@1@PBV_Container_base_aux@1@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Ptr$ = 8						; size = 4
__Pvector$ = 12						; size = 4
??0?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAE@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@1@PBV_Container_base_aux@1@@Z PROC ; std::_Vector_const_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_Vector_const_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >, 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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HPBV12@ABV12@@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@30
  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@30
  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@30
$LN4@Vector_con@30:
  0002b	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN2@Vector_con@30:
  00030	33 c9		 xor	 ecx, ecx
  00032	75 fc		 jne	 SHORT $LN2@Vector_con@30

; 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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAE@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@1@PBV_Container_base_aux@1@@Z ENDP ; std::_Vector_const_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_Vector_const_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??8?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBE_NABV01@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Right$ = 8						; size = 4
??8?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBE_NABV01@@Z PROC ; std::_Vector_const_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::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@198
  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@198
$LN4@operator@198:
  00029	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN2@operator@198:
  0002e	33 c0		 xor	 eax, eax
  00030	75 fc		 jne	 SHORT $LN2@operator@198

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

; 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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@PAV?$SmartPtr@VCSettingsHolder@@@@PBV_Container_base_aux@1@@Z ENDP ; std::_Vector_const_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Vector_const_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ?allocate@?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@QAEPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@I@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Count$ = 8						; size = 4
?allocate@?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@QAEPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@I@Z PROC ; std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >::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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@IPAV10@@Z ; std::_Allocate<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >
  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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@QAEPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@I@Z ENDP ; std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >::allocate
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
_TEXT	ENDS
;	COMDAT ??9?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBE_NABV01@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Right$ = 8						; size = 4
??9?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBE_NABV01@@Z PROC ; std::_Vector_const_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBE_NABV01@@Z ENDP ; std::_Vector_const_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::operator!=
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??G?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBEHABV01@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Right$ = 8						; size = 4
??G?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBEHABV01@@Z PROC ; std::_Vector_const_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::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@199
  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@199
$LN4@operator@199:
  00029	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN2@operator@199:
  0002e	33 c0		 xor	 eax, eax
  00030	75 fc		 jne	 SHORT $LN2@operator@199

; 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	99		 cdq
  0003f	b9 1c 00 00 00	 mov	 ecx, 28			; 0000001cH
  00044	f7 f9		 idiv	 ecx

; 195  : 		}

  00046	8b e5		 mov	 esp, ebp
  00048	5d		 pop	 ebp
  00049	c2 04 00	 ret	 4
??G?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBEHABV01@@Z ENDP ; std::_Vector_const_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::operator-
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAE@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@1@PBV_Container_base_aux@1@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Ptr$ = 8						; size = 4
__Pvector$ = 12						; size = 4
??0?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAE@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@1@PBV_Container_base_aux@1@@Z PROC ; std::_Vector_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_Vector_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >, 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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAE@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@1@PBV_Container_base_aux@1@@Z ; std::_Vector_const_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_Vector_const_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >

; 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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAE@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@1@PBV_Container_base_aux@1@@Z ENDP ; std::_Vector_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_Vector_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??9?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBE_NABV01@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Right$ = 8						; size = 4
??9?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBE_NABV01@@Z PROC ; std::_Vector_const_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBE_NABV01@@Z ENDP ; std::_Vector_const_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::operator!=
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??G?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBEHABV01@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Right$ = 8						; size = 4
??G?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBEHABV01@@Z PROC ; std::_Vector_const_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::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@200
  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@200
$LN4@operator@200:
  00029	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN2@operator@200:
  0002e	33 c0		 xor	 eax, eax
  00030	75 fc		 jne	 SHORT $LN2@operator@200

; 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 03	 sar	 eax, 3

; 195  : 		}

  00041	8b e5		 mov	 esp, ebp
  00043	5d		 pop	 ebp
  00044	c2 04 00	 ret	 4
??G?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBEHABV01@@Z ENDP ; std::_Vector_const_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::operator-
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$_Vector_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@PAV?$SmartPtr@VCSettingsHolder@@@@PBV_Container_base_aux@1@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Ptr$ = 8						; size = 4
__Pvector$ = 12						; size = 4
??0?$_Vector_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@PAV?$SmartPtr@VCSettingsHolder@@@@PBV_Container_base_aux@1@@Z PROC ; std::_Vector_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Vector_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >, 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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@PAV?$SmartPtr@VCSettingsHolder@@@@PBV_Container_base_aux@1@@Z ; std::_Vector_const_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Vector_const_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >

; 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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@PAV?$SmartPtr@VCSettingsHolder@@@@PBV_Container_base_aux@1@@Z ENDP ; std::_Vector_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Vector_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?_Make_iter@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBE?AV?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@V?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___$ReturnUdt$ = 8					; size = 4
__Where$ = 12						; size = 8
?_Make_iter@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBE?AV?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@V?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@@Z PROC ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAE@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@1@PBV_Container_base_aux@1@@Z ; std::_Vector_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_Vector_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >
  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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBE?AV?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@V?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@@Z ENDP ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_Make_iter
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ?allocate@?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAEPAV?$SmartPtr@VCSettingsHolder@@@@I@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Count$ = 8						; size = 4
?allocate@?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAEPAV?$SmartPtr@VCSettingsHolder@@@@I@Z PROC ; std::allocator<SmartPtr<CSettingsHolder> >::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@V?$SmartPtr@VCSettingsHolder@@@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@IPAV1@@Z ; std::_Allocate<SmartPtr<CSettingsHolder> >
  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@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAEPAV?$SmartPtr@VCSettingsHolder@@@@I@Z ENDP ; std::allocator<SmartPtr<CSettingsHolder> >::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@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@1@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@1@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@1@@Z$1
__ehfuncinfo$??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@1@@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@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@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@1@@Z
_TEXT	SEGMENT
tv133 = -32						; size = 4
_this$ = -28						; size = 4
$T310785 = -24						; size = 4
$T310784 = -20						; size = 4
$T310783 = -16						; size = 4
__$EHRec$ = -12						; size = 12
__Al$ = 8						; size = 1
??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@1@@Z PROC ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSettingsHolder> > >::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSettingsHolder> > >, 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@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@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	 ??$?0V?$SmartPtr@VCSettingsHolder@@@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@1@@Z ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><SmartPtr<CSettingsHolder> >

; 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 $T310785[ebp], eax
  00056	8b 4d e8	 mov	 ecx, DWORD PTR $T310785[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 $T310784[ebp], eax
  00067	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  0006b	83 7d ec 00	 cmp	 DWORD PTR $T310784[ebp], 0
  0006f	74 11		 je	 SHORT $LN3@Container_@38
  00071	8b 55 e4	 mov	 edx, DWORD PTR _this$[ebp]
  00074	52		 push	 edx
  00075	8b 4d ec	 mov	 ecx, DWORD PTR $T310784[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_@38
$LN3@Container_@38:
  00082	c7 45 e0 00 00
	00 00		 mov	 DWORD PTR tv133[ebp], 0
$LN4@Container_@38:
  00089	8b 45 e0	 mov	 eax, DWORD PTR tv133[ebp]
  0008c	89 45 f0	 mov	 DWORD PTR $T310783[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 $T310783[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@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@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@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@1@@Z$1:
  00008	8b 45 e8	 mov	 eax, DWORD PTR $T310785[ebp]
  0000b	50		 push	 eax
  0000c	8b 4d ec	 mov	 ecx, DWORD PTR $T310784[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@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@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@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@1@@Z
  0002f	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@1@@Z ENDP ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSettingsHolder> > >::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSettingsHolder> > >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ?_Make_iter@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBE?AV?$_Vector_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@V?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___$ReturnUdt$ = 8					; size = 4
__Where$ = 12						; size = 8
?_Make_iter@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBE?AV?$_Vector_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@V?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@@Z PROC ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@PAV?$SmartPtr@VCSettingsHolder@@@@PBV_Container_base_aux@1@@Z ; std::_Vector_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Vector_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >
  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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBE?AV?$_Vector_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@V?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@@Z ENDP ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Make_iter
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?end@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAE?AV?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
___$ReturnUdt$ = 8					; size = 4
?end@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAE?AV?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@XZ PROC ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAE@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@1@PBV_Container_base_aux@1@@Z ; std::_Vector_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_Vector_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >
  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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAE?AV?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@XZ ENDP ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::end
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?begin@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAE?AV?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
___$ReturnUdt$ = 8					; size = 4
?begin@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAE?AV?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@XZ PROC ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAE@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@1@PBV_Container_base_aux@1@@Z ; std::_Vector_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_Vector_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >
  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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAE?AV?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@XZ ENDP ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::begin
_TEXT	ENDS
;	COMDAT xdata$x
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
xdata$x	SEGMENT
__unwindtable$??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@XZ$0
__ehfuncinfo$??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@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@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@XZ PROC ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSettingsHolder> > >::~_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSettingsHolder> > >, 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@V?$SmartPtr@VCSettingsHolder@@@@@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@V?$SmartPtr@VCSettingsHolder@@@@@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@V?$SmartPtr@VCSettingsHolder@@@@@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@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@XZ ENDP ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSettingsHolder> > >::~_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSettingsHolder> > >
;	COMDAT xdata$x
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
xdata$x	SEGMENT
__unwindtable$??0?$_Vector_val@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@1@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$_Vector_val@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@1@@Z$0
__ehfuncinfo$??0?$_Vector_val@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@1@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0?$_Vector_val@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@1@@Z
_TEXT	SEGMENT
_this$ = -20						; size = 4
$T310813 = -16						; size = 4
__$EHRec$ = -12						; size = 12
__Al$ = 8						; size = 1
??0?$_Vector_val@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@1@@Z PROC ; std::_Vector_val<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Vector_val<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >, 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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@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 $T310813[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@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAE@ABV01@@Z ; std::allocator<SmartPtr<CSettingsHolder> >::allocator<SmartPtr<CSettingsHolder> >
  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@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@1@@Z ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSettingsHolder> > >::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSettingsHolder> > >
  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@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAE@ABV01@@Z ; std::allocator<SmartPtr<CSettingsHolder> >::allocator<SmartPtr<CSettingsHolder> >

; 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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@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@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSettingsHolder> > >::~_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSettingsHolder> > >
__ehhandler$??0?$_Vector_val@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@1@@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0?$_Vector_val@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@1@@Z ENDP ; std::_Vector_val<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Vector_val<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >
; Function compile flags: /Odtp
;	COMDAT ?_Ufill@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEPAV?$SmartPtr@VCSettingsHolder@@@@PAV3@IABV3@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Ptr$ = 8						; size = 4
__Count$ = 12						; size = 4
__Val$ = 16						; size = 4
?_Ufill@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEPAV?$SmartPtr@VCSettingsHolder@@@@PAV3@IABV3@@Z PROC ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_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@PAV?$SmartPtr@VCSettingsHolder@@@@IV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@stdext@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@Z ; stdext::unchecked_uninitialized_fill_n<SmartPtr<CSettingsHolder> *,unsigned int,SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >
  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 ca	 lea	 eax, DWORD PTR [edx+ecx*8]

; 1254 : 		}

  0002b	8b e5		 mov	 esp, ebp
  0002d	5d		 pop	 ebp
  0002e	c2 0c 00	 ret	 12			; 0000000cH
?_Ufill@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEPAV?$SmartPtr@VCSettingsHolder@@@@PAV3@IABV3@@Z ENDP ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Ufill
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?_Destroy@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXPAV?$SmartPtr@VCSettingsHolder@@@@0@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
?_Destroy@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXPAV?$SmartPtr@VCSettingsHolder@@@@0@Z PROC ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_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@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@0AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@@Z ; std::_Destroy_range<std::allocator<SmartPtr<CSettingsHolder> > >
  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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXPAV?$SmartPtr@VCSettingsHolder@@@@0@Z ENDP ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Destroy
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?end@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
___$ReturnUdt$ = 8					; size = 4
?end@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@XZ PROC ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@PAV?$SmartPtr@VCSettingsHolder@@@@PBV_Container_base_aux@1@@Z ; std::_Vector_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Vector_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >
  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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@XZ ENDP ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::end
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?begin@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
___$ReturnUdt$ = 8					; size = 4
?begin@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@XZ PROC ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@PAV?$SmartPtr@VCSettingsHolder@@@@PBV_Container_base_aux@1@@Z ; std::_Vector_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Vector_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >
  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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@XZ ENDP ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::begin
_TEXT	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1?$_Vector_val@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$_Vector_val@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@XZ$0
__ehfuncinfo$??1?$_Vector_val@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$_Vector_val@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$_Vector_val@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@XZ PROC ; std::_Vector_val<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::~_Vector_val<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >, 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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@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@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSettingsHolder> > >::~_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSettingsHolder> > >
  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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@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@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSettingsHolder> > >::~_Container_base_aux_alloc_real<std::allocator<SmartPtr<CSettingsHolder> > >
__ehhandler$??1?$_Vector_val@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1?$_Vector_val@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@XZ ENDP ; std::_Vector_val<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::~_Vector_val<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
;	COMDAT ??$_Copy_backward_opt@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@Uforward_iterator_tag@std@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00Uforward_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__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@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@Uforward_iterator_tag@std@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00Uforward_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Copy_backward_opt<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *,std::forward_iterator_tag>, COMDAT

; 2647 : 	{	// copy [_First, _Last) backwards to [..., _Dest), arbitrary iterators

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
$LN2@Copy_backw@28:

; 2648 : 	_DEBUG_RANGE(_First, _Last);
; 2649 : 	while (_First != _Last)

  00003	8b 45 08	 mov	 eax, DWORD PTR __First$[ebp]
  00006	3b 45 0c	 cmp	 eax, DWORD PTR __Last$[ebp]
  00009	74 20		 je	 SHORT $LN1@Copy_backw@28

; 2650 : 		*--_Dest = *--_Last;

  0000b	8b 4d 0c	 mov	 ecx, DWORD PTR __Last$[ebp]
  0000e	83 e9 08	 sub	 ecx, 8
  00011	89 4d 0c	 mov	 DWORD PTR __Last$[ebp], ecx
  00014	8b 55 10	 mov	 edx, DWORD PTR __Dest$[ebp]
  00017	83 ea 08	 sub	 edx, 8
  0001a	89 55 10	 mov	 DWORD PTR __Dest$[ebp], edx
  0001d	8b 45 0c	 mov	 eax, DWORD PTR __Last$[ebp]
  00020	50		 push	 eax
  00021	8b 4d 10	 mov	 ecx, DWORD PTR __Dest$[ebp]
  00024	e8 00 00 00 00	 call	 ??4?$SmartPtr@VCSettingsHolder@@@@QAEAAV0@ABV0@@Z ; SmartPtr<CSettingsHolder>::operator=
  00029	eb d8		 jmp	 SHORT $LN2@Copy_backw@28
$LN1@Copy_backw@28:

; 2651 : 	return (_Dest);

  0002b	8b 45 10	 mov	 eax, DWORD PTR __Dest$[ebp]

; 2652 : 	}

  0002e	5d		 pop	 ebp
  0002f	c3		 ret	 0
??$_Copy_backward_opt@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@Uforward_iterator_tag@std@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00Uforward_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Copy_backward_opt<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *,std::forward_iterator_tag>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Copy_backward_opt@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00Urandom_access_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
$T321616 = -7						; size = 1
$T321615 = -6						; size = 1
$T321614 = -5						; size = 1
__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@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00Urandom_access_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Copy_backward_opt<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *>, COMDAT

; 2659 : 	{	// copy [_First, _Last) backwards to [..., _Dest), arbitrary iterators

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

; 2660 : 	// if _OutIt is range checked, this will make sure there is enough space for the copy
; 2661 : 	_OutIt _Result = _Dest - (_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 03	 sar	 eax, 3
  0000f	c1 e0 03	 shl	 eax, 3
  00012	8b 4d 10	 mov	 ecx, DWORD PTR __Dest$[ebp]
  00015	2b c8		 sub	 ecx, eax
  00017	89 4d fc	 mov	 DWORD PTR __Result$[ebp], ecx

; 2662 : 	_Copy_backward_opt(_First, _Last, _CHECKED_BASE(_Dest),
; 2663 : 		forward_iterator_tag(), _Nonscalar_ptr_iterator_tag(), _Range_checked_iterator_tag());

  0001a	33 d2		 xor	 edx, edx
  0001c	88 55 fb	 mov	 BYTE PTR $T321614[ebp], dl
  0001f	33 c0		 xor	 eax, eax
  00021	88 45 fa	 mov	 BYTE PTR $T321615[ebp], al
  00024	0f b6 4d fb	 movzx	 ecx, BYTE PTR $T321614[ebp]
  00028	51		 push	 ecx
  00029	0f b6 55 fa	 movzx	 edx, BYTE PTR $T321615[ebp]
  0002d	52		 push	 edx
  0002e	0f b6 45 f9	 movzx	 eax, BYTE PTR $T321616[ebp]
  00032	50		 push	 eax
  00033	8d 4d 10	 lea	 ecx, DWORD PTR __Dest$[ebp]
  00036	51		 push	 ecx
  00037	e8 00 00 00 00	 call	 ??$_Checked_base@PAV?$SmartPtr@VCSettingsHolder@@@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<CSettingsHolder> *>
  0003c	83 c4 04	 add	 esp, 4
  0003f	50		 push	 eax
  00040	8b 55 0c	 mov	 edx, DWORD PTR __Last$[ebp]
  00043	52		 push	 edx
  00044	8b 45 08	 mov	 eax, DWORD PTR __First$[ebp]
  00047	50		 push	 eax
  00048	e8 00 00 00 00	 call	 ??$_Copy_backward_opt@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@Uforward_iterator_tag@std@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00Uforward_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_backward_opt<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *,std::forward_iterator_tag>
  0004d	83 c4 18	 add	 esp, 24			; 00000018H

; 2664 : 	return _Result;

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

; 2665 : 	}

  00053	8b e5		 mov	 esp, ebp
  00055	5d		 pop	 ebp
  00056	c3		 ret	 0
??$_Copy_backward_opt@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00Urandom_access_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Copy_backward_opt<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *>
_TEXT	ENDS
;	COMDAT xdata$x
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\memory
xdata$x	SEGMENT
__unwindtable$??$_Uninit_copy@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z DD 0ffffffffH
	DD	00H
	DD	0ffffffffH
	DD	00H
__catchsym$??$_Uninit_copy@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z$2 DD 00H
	DD	00H
	DD	00H
	DD	FLAT:__catch$??$_Uninit_copy@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z$0
__tryblocktable$??$_Uninit_copy@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z DD 00H
	DD	00H
	DD	01H
	DD	01H
	DD	FLAT:__catchsym$??$_Uninit_copy@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z$2
__ehfuncinfo$??$_Uninit_copy@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??$_Uninit_copy@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
	DD	01H
	DD	FLAT:__tryblocktable$??$_Uninit_copy@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??$_Uninit_copy@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__Next$ = -20						; size = 4
__$EHRec$ = -16						; size = 16
__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_copy@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Uninit_copy<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *,std::allocator<SmartPtr<CSettingsHolder> > >, COMDAT

; 122  : 	{	// copy [_First, _Last) to raw _Dest, using _Al, arbitrary type

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??$_Uninit_copy@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	51		 push	 ecx
  00012	51		 push	 ecx
  00013	53		 push	 ebx
  00014	56		 push	 esi
  00015	57		 push	 edi
  00016	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001b	33 c5		 xor	 eax, ebp
  0001d	50		 push	 eax
  0001e	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp+4]
  00021	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00027	89 65 f0	 mov	 DWORD PTR __$EHRec$[ebp], esp

; 123  : 	_DEBUG_RANGE(_First, _Last);
; 124  : 	_DEBUG_POINTER(_Dest);
; 125  : 	_FwdIt _Next = _Dest;

  0002a	8b 45 10	 mov	 eax, DWORD PTR __Dest$[ebp]
  0002d	89 45 ec	 mov	 DWORD PTR __Next$[ebp], eax

; 126  : 
; 127  : 	_TRY_BEGIN

  00030	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+12], 0

; 128  : 	for (; _First != _Last; ++_Dest, ++_First)

  00037	eb 12		 jmp	 SHORT $LN6@Uninit_cop@27
$LN5@Uninit_cop@27:
  00039	8b 4d 10	 mov	 ecx, DWORD PTR __Dest$[ebp]
  0003c	83 c1 08	 add	 ecx, 8
  0003f	89 4d 10	 mov	 DWORD PTR __Dest$[ebp], ecx
  00042	8b 55 08	 mov	 edx, DWORD PTR __First$[ebp]
  00045	83 c2 08	 add	 edx, 8
  00048	89 55 08	 mov	 DWORD PTR __First$[ebp], edx
$LN6@Uninit_cop@27:
  0004b	8b 45 08	 mov	 eax, DWORD PTR __First$[ebp]
  0004e	3b 45 0c	 cmp	 eax, DWORD PTR __Last$[ebp]
  00051	74 12		 je	 SHORT $LN4@Uninit_cop@27

; 129  : 		_Al.construct(_Dest, *_First);

  00053	8b 4d 08	 mov	 ecx, DWORD PTR __First$[ebp]
  00056	51		 push	 ecx
  00057	8b 55 10	 mov	 edx, DWORD PTR __Dest$[ebp]
  0005a	52		 push	 edx
  0005b	8b 4d 14	 mov	 ecx, DWORD PTR __Al$[ebp]
  0005e	e8 00 00 00 00	 call	 ?construct@?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAEXPAV?$SmartPtr@VCSettingsHolder@@@@ABV3@@Z ; std::allocator<SmartPtr<CSettingsHolder> >::construct
  00063	eb d4		 jmp	 SHORT $LN5@Uninit_cop@27
$LN4@Uninit_cop@27:
  00065	eb 37		 jmp	 SHORT $LN10@Uninit_cop@27
__catch$??$_Uninit_copy@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z$0:

; 130  : 	_CATCH_ALL
; 131  : 	for (; _Next != _Dest; ++_Next)

  00067	eb 09		 jmp	 SHORT $LN3@Uninit_cop@27
$LN2@Uninit_cop@27:
  00069	8b 45 ec	 mov	 eax, DWORD PTR __Next$[ebp]
  0006c	83 c0 08	 add	 eax, 8
  0006f	89 45 ec	 mov	 DWORD PTR __Next$[ebp], eax
$LN3@Uninit_cop@27:
  00072	8b 4d ec	 mov	 ecx, DWORD PTR __Next$[ebp]
  00075	3b 4d 10	 cmp	 ecx, DWORD PTR __Dest$[ebp]
  00078	74 0e		 je	 SHORT $LN1@Uninit_cop@27

; 132  : 		_Al.destroy(_Next);

  0007a	8b 55 ec	 mov	 edx, DWORD PTR __Next$[ebp]
  0007d	52		 push	 edx
  0007e	8b 4d 14	 mov	 ecx, DWORD PTR __Al$[ebp]
  00081	e8 00 00 00 00	 call	 ?destroy@?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAEXPAV?$SmartPtr@VCSettingsHolder@@@@@Z ; std::allocator<SmartPtr<CSettingsHolder> >::destroy
  00086	eb e1		 jmp	 SHORT $LN2@Uninit_cop@27
$LN1@Uninit_cop@27:

; 133  : 	_RERAISE;

  00088	6a 00		 push	 0
  0008a	6a 00		 push	 0
  0008c	e8 00 00 00 00	 call	 __CxxThrowException@8

; 134  : 	_CATCH_END

  00091	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
  00098	b8 00 00 00 00	 mov	 eax, __tryend$??$_Uninit_copy@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z$1
  0009d	c3		 ret	 0
$LN10@Uninit_cop@27:
  0009e	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
__tryend$??$_Uninit_copy@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z$1:

; 135  : 	return (_Dest);

  000a5	8b 45 10	 mov	 eax, DWORD PTR __Dest$[ebp]
$LN9@Uninit_cop@27:

; 136  : 	}

  000a8	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp+4]
  000ab	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000b2	59		 pop	 ecx
  000b3	5f		 pop	 edi
  000b4	5e		 pop	 esi
  000b5	5b		 pop	 ebx
  000b6	8b e5		 mov	 esp, ebp
  000b8	5d		 pop	 ebp
  000b9	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__ehhandler$??$_Uninit_copy@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@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 e8	 mov	 ecx, DWORD PTR [edx-24]
  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$??$_Uninit_copy@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
  00016	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??$_Uninit_copy@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Uninit_copy<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *,std::allocator<SmartPtr<CSettingsHolder> > >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
;	COMDAT ??$_Copy_opt@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@Uforward_iterator_tag@std@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00Uforward_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__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@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@Uforward_iterator_tag@std@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00Uforward_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Copy_opt<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *,std::forward_iterator_tag>, COMDAT

; 2443 : 	{	// copy [_First, _Last) to [_Dest, ...), arbitrary iterators

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

; 2444 : 	_DEBUG_RANGE(_First, _Last);
; 2445 : 	for (; _First != _Last; ++_Dest, ++_First)

  00003	eb 12		 jmp	 SHORT $LN3@Copy_opt@21
$LN2@Copy_opt@21:
  00005	8b 45 10	 mov	 eax, DWORD PTR __Dest$[ebp]
  00008	83 c0 08	 add	 eax, 8
  0000b	89 45 10	 mov	 DWORD PTR __Dest$[ebp], eax
  0000e	8b 4d 08	 mov	 ecx, DWORD PTR __First$[ebp]
  00011	83 c1 08	 add	 ecx, 8
  00014	89 4d 08	 mov	 DWORD PTR __First$[ebp], ecx
$LN3@Copy_opt@21:
  00017	8b 55 08	 mov	 edx, DWORD PTR __First$[ebp]
  0001a	3b 55 0c	 cmp	 edx, DWORD PTR __Last$[ebp]
  0001d	74 0e		 je	 SHORT $LN1@Copy_opt@21

; 2446 : 		*_Dest = *_First;

  0001f	8b 45 08	 mov	 eax, DWORD PTR __First$[ebp]
  00022	50		 push	 eax
  00023	8b 4d 10	 mov	 ecx, DWORD PTR __Dest$[ebp]
  00026	e8 00 00 00 00	 call	 ??4?$SmartPtr@VCSettingsHolder@@@@QAEAAV0@ABV0@@Z ; SmartPtr<CSettingsHolder>::operator=
  0002b	eb d8		 jmp	 SHORT $LN2@Copy_opt@21
$LN1@Copy_opt@21:

; 2447 : 	return (_Dest);

  0002d	8b 45 10	 mov	 eax, DWORD PTR __Dest$[ebp]

; 2448 : 	}

  00030	5d		 pop	 ebp
  00031	c3		 ret	 0
??$_Copy_opt@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@Uforward_iterator_tag@std@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00Uforward_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Copy_opt<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *,std::forward_iterator_tag>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Move_backward_opt@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
$T321637 = -2						; size = 1
$T321636 = -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@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Move_backward_opt<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *,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 $T321636[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@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VCSettingsHolder@@@@0@Z ; std::_Ptr_cat<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *>
  00016	83 c4 08	 add	 esp, 8
  00019	88 45 fe	 mov	 BYTE PTR $T321637[ebp], al
  0001c	0f b6 45 ff	 movzx	 eax, BYTE PTR $T321636[ebp]
  00020	50		 push	 eax
  00021	0f b6 4d fe	 movzx	 ecx, BYTE PTR $T321637[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@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00Urandom_access_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_backward_opt<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *>
  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@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Move_backward_opt<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *,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_copy@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@stdext@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@Z
_TEXT	SEGMENT
$T321641 = -2						; size = 1
$T321640 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
__Al$ = 20						; size = 4
??$unchecked_uninitialized_copy@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@stdext@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@Z PROC ; stdext::unchecked_uninitialized_copy<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *,std::allocator<SmartPtr<CSettingsHolder> > >, 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 $T321640[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@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VCSettingsHolder@@@@0@Z ; std::_Ptr_cat<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *>
  00016	83 c4 08	 add	 esp, 8
  00019	88 45 fe	 mov	 BYTE PTR $T321641[ebp], al
  0001c	0f b6 45 ff	 movzx	 eax, BYTE PTR $T321640[ebp]
  00020	50		 push	 eax
  00021	0f b6 4d fe	 movzx	 ecx, BYTE PTR $T321641[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@PAV?$SmartPtr@VCSettingsHolder@@@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<CSettingsHolder> *>
  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@PAV?$SmartPtr@VCSettingsHolder@@@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<CSettingsHolder> *>
  00044	83 c4 04	 add	 esp, 4
  00047	50		 push	 eax
  00048	e8 00 00 00 00	 call	 ??$_Uninit_copy@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_copy<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *,std::allocator<SmartPtr<CSettingsHolder> > >
  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@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@stdext@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@Z ENDP ; stdext::unchecked_uninitialized_copy<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *,std::allocator<SmartPtr<CSettingsHolder> > >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
_TEXT	ENDS
;	COMDAT ??$_Copy_opt@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00Urandom_access_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
$T321646 = -7						; size = 1
$T321645 = -6						; size = 1
$T321644 = -5						; size = 1
__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@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00Urandom_access_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Copy_opt<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *>, COMDAT

; 2455 : 	{	// copy [_First, _Last) to [_Dest, ...), random_access iterators

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

; 2456 : 	// if _OutIt is range checked, this will make sure there is enough space for the copy
; 2457 : 	_OutIt _Result = _Dest + (_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 03	 sar	 eax, 3
  0000f	8b 4d 10	 mov	 ecx, DWORD PTR __Dest$[ebp]
  00012	8d 14 c1	 lea	 edx, DWORD PTR [ecx+eax*8]
  00015	89 55 fc	 mov	 DWORD PTR __Result$[ebp], edx

; 2458 : 	_Copy_opt(_First, _Last, _CHECKED_BASE(_Dest), 
; 2459 : 		forward_iterator_tag(), _Nonscalar_ptr_iterator_tag(), _Range_checked_iterator_tag());

  00018	33 c0		 xor	 eax, eax
  0001a	88 45 fb	 mov	 BYTE PTR $T321644[ebp], al
  0001d	33 c9		 xor	 ecx, ecx
  0001f	88 4d fa	 mov	 BYTE PTR $T321645[ebp], cl
  00022	0f b6 55 fb	 movzx	 edx, BYTE PTR $T321644[ebp]
  00026	52		 push	 edx
  00027	0f b6 45 fa	 movzx	 eax, BYTE PTR $T321645[ebp]
  0002b	50		 push	 eax
  0002c	0f b6 4d f9	 movzx	 ecx, BYTE PTR $T321646[ebp]
  00030	51		 push	 ecx
  00031	8d 55 10	 lea	 edx, DWORD PTR __Dest$[ebp]
  00034	52		 push	 edx
  00035	e8 00 00 00 00	 call	 ??$_Checked_base@PAV?$SmartPtr@VCSettingsHolder@@@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<CSettingsHolder> *>
  0003a	83 c4 04	 add	 esp, 4
  0003d	50		 push	 eax
  0003e	8b 45 0c	 mov	 eax, DWORD PTR __Last$[ebp]
  00041	50		 push	 eax
  00042	8b 4d 08	 mov	 ecx, DWORD PTR __First$[ebp]
  00045	51		 push	 ecx
  00046	e8 00 00 00 00	 call	 ??$_Copy_opt@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@Uforward_iterator_tag@std@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00Uforward_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_opt<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *,std::forward_iterator_tag>
  0004b	83 c4 18	 add	 esp, 24			; 00000018H

; 2460 : 	return _Result;

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

; 2461 : 	}

  00051	8b e5		 mov	 esp, ebp
  00053	5d		 pop	 ebp
  00054	c3		 ret	 0
??$_Copy_opt@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00Urandom_access_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Copy_opt<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Unchecked_move_backward@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@@stdext@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00@Z
_TEXT	SEGMENT
$T321651 = -3						; size = 1
$T321650 = -2						; size = 1
$T321649 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
??$_Unchecked_move_backward@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@@stdext@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00@Z PROC ; stdext::_Unchecked_move_backward<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *>, 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 $T321649[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@PAV?$SmartPtr@VCSettingsHolder@@@@@std@@YA?AU_Undefined_move_tag@0@ABQAV?$SmartPtr@VCSettingsHolder@@@@@Z ; std::_Move_cat<SmartPtr<CSettingsHolder> *>
  00012	83 c4 04	 add	 esp, 4
  00015	88 45 fe	 mov	 BYTE PTR $T321650[ebp], al
  00018	0f b6 55 ff	 movzx	 edx, BYTE PTR $T321649[ebp]
  0001c	52		 push	 edx
  0001d	0f b6 45 fe	 movzx	 eax, BYTE PTR $T321650[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 $T321651[ebp]
  0002d	50		 push	 eax
  0002e	e8 00 00 00 00	 call	 ??$_Iter_random@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAV?$SmartPtr@VCSettingsHolder@@@@0@Z ; std::_Iter_random<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *>
  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@PAV?$SmartPtr@VCSettingsHolder@@@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<CSettingsHolder> *>
  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@PAV?$SmartPtr@VCSettingsHolder@@@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<CSettingsHolder> *>
  00054	83 c4 04	 add	 esp, 4
  00057	50		 push	 eax
  00058	e8 00 00 00 00	 call	 ??$_Move_backward_opt@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Move_backward_opt<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *,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@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@@stdext@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00@Z ENDP ; stdext::_Unchecked_move_backward<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
_TEXT	ENDS
;	COMDAT ??$_Ucopy@PAV?$SmartPtr@VCSettingsHolder@@@@@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEPAV?$SmartPtr@VCSettingsHolder@@@@PAV2@00@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Ptr$ = 16						; size = 4
??$_Ucopy@PAV?$SmartPtr@VCSettingsHolder@@@@@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEPAV?$SmartPtr@VCSettingsHolder@@@@PAV2@00@Z PROC ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Ucopy<SmartPtr<CSettingsHolder> *>, COMDAT
; _this$ = ecx

; 1143 : 		pointer _Ucopy(_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

; 1144 : 		{	// copy initializing [_First, _Last), using allocator
; 1145 : 		return (_STDEXT unchecked_uninitialized_copy(_First, _Last,
; 1146 : 			_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_copy@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@stdext@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@Z ; stdext::unchecked_uninitialized_copy<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *,std::allocator<SmartPtr<CSettingsHolder> > >
  0001f	83 c4 10	 add	 esp, 16			; 00000010H

; 1147 : 		}

  00022	8b e5		 mov	 esp, ebp
  00024	5d		 pop	 ebp
  00025	c2 0c 00	 ret	 12			; 0000000cH
??$_Ucopy@PAV?$SmartPtr@VCSettingsHolder@@@@@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEPAV?$SmartPtr@VCSettingsHolder@@@@PAV2@00@Z ENDP ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Ucopy<SmartPtr<CSettingsHolder> *>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
_TEXT	ENDS
;	COMDAT ??$unchecked_copy@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@@stdext@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00@Z
_TEXT	SEGMENT
$T321658 = -3						; size = 1
$T321657 = -2						; size = 1
$T321656 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
??$unchecked_copy@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@@stdext@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00@Z PROC ; stdext::unchecked_copy<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *>, 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 $T321656[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@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VCSettingsHolder@@@@0@Z ; std::_Ptr_cat<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *>
  00016	83 c4 08	 add	 esp, 8
  00019	88 45 fe	 mov	 BYTE PTR $T321657[ebp], al
  0001c	0f b6 45 ff	 movzx	 eax, BYTE PTR $T321656[ebp]
  00020	50		 push	 eax
  00021	0f b6 4d fe	 movzx	 ecx, BYTE PTR $T321657[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 $T321658[ebp]
  00031	51		 push	 ecx
  00032	e8 00 00 00 00	 call	 ??$_Iter_random@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAV?$SmartPtr@VCSettingsHolder@@@@0@Z ; std::_Iter_random<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *>
  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@PAV?$SmartPtr@VCSettingsHolder@@@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<CSettingsHolder> *>
  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@PAV?$SmartPtr@VCSettingsHolder@@@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<CSettingsHolder> *>
  00058	83 c4 04	 add	 esp, 4
  0005b	50		 push	 eax
  0005c	e8 00 00 00 00	 call	 ??$_Copy_opt@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00Urandom_access_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_opt<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *>
  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@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@@stdext@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00@Z ENDP ; stdext::unchecked_copy<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
_TEXT	ENDS
;	COMDAT ??Y?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAEAAV01@H@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Off$ = 8						; size = 4
??Y?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAEAAV01@H@Z PROC ; std::_Vector_const_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::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@463
  00017	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN7@operator@463:
  0001c	33 c9		 xor	 ecx, ecx
  0001e	75 fc		 jne	 SHORT $LN7@operator@463

; 161  : 		_SCL_SECURE_VALIDATE_RANGE(

  00020	8b 75 08	 mov	 esi, DWORD PTR __Off$[ebp]
  00023	6b f6 1c	 imul	 esi, 28			; 0000001cH
  00026	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00029	03 72 04	 add	 esi, DWORD PTR [edx+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@463
  00039	8b 75 08	 mov	 esi, DWORD PTR __Off$[ebp]
  0003c	6b f6 1c	 imul	 esi, 28			; 0000001cH
  0003f	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00042	03 70 04	 add	 esi, DWORD PTR [eax+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@463
$LN4@operator@463:

; 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@463:
  00057	33 c9		 xor	 ecx, ecx
  00059	75 fc		 jne	 SHORT $LN2@operator@463

; 164  : 		_Myptr += _Off;

  0005b	8b 55 08	 mov	 edx, DWORD PTR __Off$[ebp]
  0005e	6b d2 1c	 imul	 edx, 28			; 0000001cH
  00061	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00064	03 50 04	 add	 edx, DWORD PTR [eax+4]
  00067	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0006a	89 51 04	 mov	 DWORD PTR [ecx+4], edx

; 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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAEAAV01@H@Z ENDP ; std::_Vector_const_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::operator+=
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??Y?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAEAAV01@H@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Off$ = 8						; size = 4
??Y?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAEAAV01@H@Z PROC ; std::_Vector_const_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::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@464
  00017	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN7@operator@464:
  0001c	33 c9		 xor	 ecx, ecx
  0001e	75 fc		 jne	 SHORT $LN7@operator@464

; 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 c8	 lea	 esi, DWORD PTR [eax+ecx*8]
  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@464
  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 c8	 lea	 esi, DWORD PTR [eax+ecx*8]
  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@464
$LN4@operator@464:

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

; 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 d1	 lea	 eax, DWORD PTR [ecx+edx*8]
  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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAEAAV01@H@Z ENDP ; std::_Vector_const_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::operator+=
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??Y?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAEAAV01@H@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Off$ = 8						; size = 4
??Y?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAEAAV01@H@Z PROC ; std::_Vector_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAEAAV01@H@Z ; std::_Vector_const_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAEAAV01@H@Z ENDP ; std::_Vector_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::operator+=
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??Y?$_Vector_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAEAAV01@H@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Off$ = 8						; size = 4
??Y?$_Vector_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAEAAV01@H@Z PROC ; std::_Vector_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_const_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAEAAV01@H@Z ENDP ; std::_Vector_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::operator+=
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??H?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBE?AV01@H@Z PROC ; std::_Vector_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAEAAV01@H@Z ; std::_Vector_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBE?AV01@H@Z ENDP ; std::_Vector_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::operator+
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??H?$_Vector_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBE?AV01@H@Z PROC ; std::_Vector_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBE?AV01@H@Z ENDP ; std::_Vector_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::operator+
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?_Tidy@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?_Tidy@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXXZ PROC ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_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@38

; 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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXPAV?$SmartPtr@VCSettingsHolder@@@@0@Z ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_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 03	 sar	 ecx, 3
  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@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAEXPAV?$SmartPtr@VCSettingsHolder@@@@I@Z ; std::allocator<SmartPtr<CSettingsHolder> >::deallocate
$LN1@Tidy@38:

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

; 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@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@@stdext@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00@Z ; stdext::unchecked_copy<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *>
  00058	83 c4 0c	 add	 esp, 12			; 0000000cH
  0005b	89 45 ec	 mov	 DWORD PTR __Ptr$144072[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$144072[ebp]
  00068	52		 push	 edx
  00069	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0006c	e8 00 00 00 00	 call	 ?_Destroy@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXPAV?$SmartPtr@VCSettingsHolder@@@@0@Z ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Destroy

; 1054 : 			_Mylast = _Ptr;

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

; 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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@V?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@0@Z ENDP ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::erase
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?clear@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAEXXZ
_TEXT	SEGMENT
_this$ = -44						; size = 4
$T321681 = -40						; size = 8
$T321680 = -32						; size = 8
$T321679 = -24						; size = 8
$T321678 = -16						; size = 8
$T321677 = -8						; size = 8
?clear@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAEXXZ PROC ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::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 $T321678[ebp]
  0000c	50		 push	 eax
  0000d	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  00010	e8 00 00 00 00	 call	 ?end@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@XZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::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 $T321677[ebp], ecx
  0001d	89 55 fc	 mov	 DWORD PTR $T321677[ebp+4], edx
  00020	8d 45 e0	 lea	 eax, DWORD PTR $T321680[ebp]
  00023	50		 push	 eax
  00024	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  00027	e8 00 00 00 00	 call	 ?begin@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@XZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::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 $T321679[ebp], ecx
  00034	89 55 ec	 mov	 DWORD PTR $T321679[ebp+4], edx
  00037	8b 45 fc	 mov	 eax, DWORD PTR $T321677[ebp+4]
  0003a	50		 push	 eax
  0003b	8b 4d f8	 mov	 ecx, DWORD PTR $T321677[ebp]
  0003e	51		 push	 ecx
  0003f	8b 55 ec	 mov	 edx, DWORD PTR $T321679[ebp+4]
  00042	52		 push	 edx
  00043	8b 45 e8	 mov	 eax, DWORD PTR $T321679[ebp]
  00046	50		 push	 eax
  00047	8d 4d d8	 lea	 ecx, DWORD PTR $T321681[ebp]
  0004a	51		 push	 ecx
  0004b	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  0004e	e8 00 00 00 00	 call	 ?erase@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@V?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@0@Z ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::erase

; 1066 : 		}

  00053	8b e5		 mov	 esp, ebp
  00055	5d		 pop	 ebp
  00056	c3		 ret	 0
?clear@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAEXXZ ENDP ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::clear
_TEXT	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@XZ$0
__ehfuncinfo$??1?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@XZ PROC ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::~vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >, 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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXXZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@XZ
__ehhandler$??1?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@XZ ENDP ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::~vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\memory
;	COMDAT ??$_Uninit_move@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@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@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Uninit_move<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *,std::allocator<SmartPtr<CSettingsHolder> >,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@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@stdext@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@Z ; stdext::unchecked_uninitialized_copy<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *,std::allocator<SmartPtr<CSettingsHolder> > >
  00018	83 c4 10	 add	 esp, 16			; 00000010H

; 206  : 	}

  0001b	5d		 pop	 ebp
  0001c	c3		 ret	 0
??$_Uninit_move@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Uninit_move<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *,std::allocator<SmartPtr<CSettingsHolder> >,std::_Undefined_move_tag>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Unchecked_uninitialized_move@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@stdext@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@Z
_TEXT	SEGMENT
$T325592 = -2						; size = 1
$T325591 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
__Al$ = 20						; size = 4
??$_Unchecked_uninitialized_move@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@stdext@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@Z PROC ; stdext::_Unchecked_uninitialized_move<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *,std::allocator<SmartPtr<CSettingsHolder> > >, 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 $T325591[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@PAV?$SmartPtr@VCSettingsHolder@@@@@std@@YA?AU_Undefined_move_tag@0@ABQAV?$SmartPtr@VCSettingsHolder@@@@@Z ; std::_Move_cat<SmartPtr<CSettingsHolder> *>
  00012	83 c4 04	 add	 esp, 4
  00015	88 45 fe	 mov	 BYTE PTR $T325592[ebp], al
  00018	0f b6 55 ff	 movzx	 edx, BYTE PTR $T325591[ebp]
  0001c	52		 push	 edx
  0001d	0f b6 45 fe	 movzx	 eax, BYTE PTR $T325592[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@PAV?$SmartPtr@VCSettingsHolder@@@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<CSettingsHolder> *>
  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@PAV?$SmartPtr@VCSettingsHolder@@@@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<CSettingsHolder> *>
  00040	83 c4 04	 add	 esp, 4
  00043	50		 push	 eax
  00044	e8 00 00 00 00	 call	 ??$_Uninit_move@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_move<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *,std::allocator<SmartPtr<CSettingsHolder> >,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@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@stdext@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@Z ENDP ; stdext::_Unchecked_uninitialized_move<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *,std::allocator<SmartPtr<CSettingsHolder> > >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
_TEXT	ENDS
;	COMDAT ??$_Umove@PAV?$SmartPtr@VCSettingsHolder@@@@@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEPAV?$SmartPtr@VCSettingsHolder@@@@PAV2@00@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Ptr$ = 16						; size = 4
??$_Umove@PAV?$SmartPtr@VCSettingsHolder@@@@@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEPAV?$SmartPtr@VCSettingsHolder@@@@PAV2@00@Z PROC ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Umove<SmartPtr<CSettingsHolder> *>, 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@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@stdext@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@Z ; stdext::_Unchecked_uninitialized_move<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *,std::allocator<SmartPtr<CSettingsHolder> > >
  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@PAV?$SmartPtr@VCSettingsHolder@@@@@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEPAV?$SmartPtr@VCSettingsHolder@@@@PAV2@00@Z ENDP ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Umove<SmartPtr<CSettingsHolder> *>
_TEXT	ENDS
PUBLIC	?UnloadDeinterlacePlugins@@YAXXZ		; UnloadDeinterlacePlugins
;	COMDAT xdata$x
; File c:\develop\dscaler423a\dscaler\deinterlace.cpp
xdata$x	SEGMENT
__unwindtable$?UnloadDeinterlacePlugins@@YAXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?UnloadDeinterlacePlugins@@YAXXZ$0
__ehfuncinfo$?UnloadDeinterlacePlugins@@YAXXZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?UnloadDeinterlacePlugins@@YAXXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?UnloadDeinterlacePlugins@@YAXXZ
_TEXT	SEGMENT
tv129 = -28						; size = 4
tv130 = -24						; size = 4
$T325597 = -20						; size = 4
_i$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
?UnloadDeinterlacePlugins@@YAXXZ PROC			; UnloadDeinterlacePlugins, COMDAT

; 736  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?UnloadDeinterlacePlugins@@YAXXZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 10	 sub	 esp, 16			; 00000010H
  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

; 737  :     int i;
; 738  :     for(i = 0; i < NumVideoModes; i++)

  00025	c7 45 f0 00 00
	00 00		 mov	 DWORD PTR _i$[ebp], 0
  0002c	eb 09		 jmp	 SHORT $LN4@UnloadDein
$LN3@UnloadDein:
  0002e	8b 45 f0	 mov	 eax, DWORD PTR _i$[ebp]
  00031	83 c0 01	 add	 eax, 1
  00034	89 45 f0	 mov	 DWORD PTR _i$[ebp], eax
$LN4@UnloadDein:
  00037	8b 4d f0	 mov	 ecx, DWORD PTR _i$[ebp]
  0003a	3b 0d 00 00 00
	00		 cmp	 ecx, DWORD PTR ?NumVideoModes@@3JA ; NumVideoModes
  00040	7d 76		 jge	 SHORT $LN2@UnloadDein

; 739  :     {
; 740  :         if(VideoDeintMethods[i]->pfnPluginExit!=NULL)

  00042	8b 55 f0	 mov	 edx, DWORD PTR _i$[ebp]
  00045	8b 04 95 00 00
	00 00		 mov	 eax, DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[edx*4]
  0004c	83 78 3c 00	 cmp	 DWORD PTR [eax+60], 0
  00050	74 0f		 je	 SHORT $LN1@UnloadDein

; 741  :         {
; 742  :             VideoDeintMethods[i]->pfnPluginExit();

  00052	8b 4d f0	 mov	 ecx, DWORD PTR _i$[ebp]
  00055	8b 14 8d 00 00
	00 00		 mov	 edx, DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[ecx*4]
  0005c	8b 42 3c	 mov	 eax, DWORD PTR [edx+60]
  0005f	ff d0		 call	 eax
$LN1@UnloadDein:

; 743  :         }
; 744  :         VideoDeintMethods[i] = NULL;

  00061	8b 4d f0	 mov	 ecx, DWORD PTR _i$[ebp]
  00064	c7 04 8d 00 00
	00 00 00 00 00
	00		 mov	 DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[ecx*4], 0

; 745  :         SettingsMaster->Unregister(DeinterlaceHolders[i]);

  0006f	8b 55 f0	 mov	 edx, DWORD PTR _i$[ebp]
  00072	52		 push	 edx
  00073	b9 00 00 00 00	 mov	 ecx, OFFSET ?DeinterlaceHolders@@3V?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@A ; DeinterlaceHolders
  00078	e8 00 00 00 00	 call	 ??A?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAEAAV?$SmartPtr@VCSettingsHolder@@@@I@Z ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::operator[]
  0007d	83 ec 08	 sub	 esp, 8
  00080	8b cc		 mov	 ecx, esp
  00082	89 65 ec	 mov	 DWORD PTR $T325597[ebp], esp
  00085	50		 push	 eax
  00086	e8 00 00 00 00	 call	 ??0?$SmartPtr@VCSettingsHolder@@@@QAE@ABV0@@Z ; SmartPtr<CSettingsHolder>::SmartPtr<CSettingsHolder>
  0008b	89 45 e8	 mov	 DWORD PTR tv130[ebp], eax
  0008e	8b 45 e8	 mov	 eax, DWORD PTR tv130[ebp]
  00091	89 45 e4	 mov	 DWORD PTR tv129[ebp], eax
  00094	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  0009b	b9 00 00 00 00	 mov	 ecx, OFFSET ?SettingsMaster@@3V?$SmartPtr@VCSettingsMaster@@@@A ; SettingsMaster
  000a0	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCSettingsMaster@@@@QBEPAVCSettingsMaster@@XZ ; SmartPtr<CSettingsMaster>::operator->
  000a5	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  000ac	8b c8		 mov	 ecx, eax
  000ae	e8 00 00 00 00	 call	 ?Unregister@CSettingsMaster@@QAEXV?$SmartPtr@VCSettingsHolder@@@@@Z ; CSettingsMaster::Unregister

; 746  :     }

  000b3	e9 76 ff ff ff	 jmp	 $LN3@UnloadDein
$LN2@UnloadDein:

; 747  :     DeinterlaceHolders.clear();

  000b8	b9 00 00 00 00	 mov	 ecx, OFFSET ?DeinterlaceHolders@@3V?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@A ; DeinterlaceHolders
  000bd	e8 00 00 00 00	 call	 ?clear@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAEXXZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::clear

; 748  :     NumVideoModes = 0;

  000c2	c7 05 00 00 00
	00 00 00 00 00	 mov	 DWORD PTR ?NumVideoModes@@3JA, 0 ; NumVideoModes

; 749  : }

  000cc	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  000cf	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000d6	59		 pop	 ecx
  000d7	8b e5		 mov	 esp, ebp
  000d9	5d		 pop	 ebp
  000da	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?UnloadDeinterlacePlugins@@YAXXZ$0:
  00000	8b 4d ec	 mov	 ecx, DWORD PTR $T325597[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VCSettingsHolder@@@@QAE@XZ ; SmartPtr<CSettingsHolder>::~SmartPtr<CSettingsHolder>
__ehhandler$?UnloadDeinterlacePlugins@@YAXXZ:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a ec	 mov	 ecx, DWORD PTR [edx-20]
  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$?UnloadDeinterlacePlugins@@YAXXZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?UnloadDeinterlacePlugins@@YAXXZ ENDP			; UnloadDeinterlacePlugins
; Function compile flags: /Odtp
;	COMDAT ??_G?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEPAXI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___flags$ = 8						; size = 4
??_G?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEPAXI@Z PROC ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::`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	 ??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> >
  0000f	8b 45 08	 mov	 eax, DWORD PTR ___flags$[ebp]
  00012	83 e0 01	 and	 eax, 1
  00015	74 0c		 je	 SHORT $LN1@scalar@151
  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@151:
  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
??_G?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEPAXI@Z ENDP ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::`scalar deleting destructor'
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ??$_Destroy@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
??$_Destroy@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@@Z PROC ; std::_Destroy<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >, COMDAT

; 58   : 	{	// destroy object at _Ptr

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

; 59   : 	_DESTRUCTOR(_Ty, _Ptr);

  00003	6a 00		 push	 0
  00005	8b 4d 08	 mov	 ecx, DWORD PTR __Ptr$[ebp]
  00008	e8 00 00 00 00	 call	 ??_G?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEPAXI@Z

; 60   : 	}

  0000d	5d		 pop	 ebp
  0000e	c3		 ret	 0
??$_Destroy@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@@Z ENDP ; std::_Destroy<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?destroy@?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@QAEXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Ptr$ = 8						; size = 4
?destroy@?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@QAEXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z PROC ; std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >::destroy, COMDAT
; _this$ = ecx

; 159  : 		{	// destroy object at _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

; 160  : 		_Destroy(_Ptr);

  00007	8b 45 08	 mov	 eax, DWORD PTR __Ptr$[ebp]
  0000a	50		 push	 eax
  0000b	e8 00 00 00 00	 call	 ??$_Destroy@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@@Z ; std::_Destroy<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >
  00010	83 c4 04	 add	 esp, 4

; 161  : 		}

  00013	8b e5		 mov	 esp, ebp
  00015	5d		 pop	 ebp
  00016	c2 04 00	 ret	 4
?destroy@?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@QAEXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z ENDP ; std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >::destroy
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Destroy_range@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Nonscalar_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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Nonscalar_ptr_iterator_tag@0@@Z PROC ; std::_Destroy_range<std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >, COMDAT

; 232  : 	{	// destroy [_First, _Last), arbitrary type

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

; 233  : 	for (; _First != _Last; ++_First)

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

; 234  : 		_Al.destroy(_First);

  00016	8b 55 08	 mov	 edx, DWORD PTR __First$[ebp]
  00019	52		 push	 edx
  0001a	8b 4d 10	 mov	 ecx, DWORD PTR __Al$[ebp]
  0001d	e8 00 00 00 00	 call	 ?destroy@?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@QAEXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z ; std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >::destroy
  00022	eb e1		 jmp	 SHORT $LN2@Destroy_ra@25
$LN4@Destroy_ra@25:

; 235  : 	}

  00024	5d		 pop	 ebp
  00025	c3		 ret	 0
??$_Destroy_range@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Nonscalar_ptr_iterator_tag@0@@Z ENDP ; std::_Destroy_range<std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Destroy_range@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@@Z
_TEXT	SEGMENT
$T327213 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Al$ = 16						; size = 4
??$_Destroy_range@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@@Z PROC ; std::_Destroy_range<std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >, 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@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0@Z ; std::_Ptr_cat<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
  00011	83 c4 08	 add	 esp, 8
  00014	88 45 ff	 mov	 BYTE PTR $T327213[ebp], al
  00017	0f b6 55 ff	 movzx	 edx, BYTE PTR $T327213[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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Nonscalar_ptr_iterator_tag@0@@Z ; std::_Destroy_range<std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >
  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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@@Z ENDP ; std::_Destroy_range<std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
_TEXT	ENDS
;	COMDAT ?_Destroy@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@0@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
?_Destroy@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@0@Z PROC ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@@Z ; std::_Destroy_range<std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >
  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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@0@Z ENDP ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_Destroy
PUBLIC	__$ArrayPad$
;	COMDAT xdata$x
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xstring
xdata$x	SEGMENT
__unwindtable$?swap@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXAAV12@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?swap@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXAAV12@@Z$0
__ehfuncinfo$?swap@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXAAV12@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?swap@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXAAV12@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?swap@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXAAV12@@Z
_TEXT	SEGMENT
_this$ = -72						; size = 4
__Tmp$145579 = -68					; size = 28
__Tres$145577 = -40					; size = 4
__Tbx$145575 = -36					; size = 16
__$ArrayPad$ = -20					; size = 4
__Tlen$145576 = -16					; size = 4
__$EHRec$ = -12						; size = 12
__Right$ = 8						; size = 4
?swap@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXAAV12@@Z PROC ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::swap, COMDAT
; _this$ = ecx

; 1735 : 		{	// exchange contents with _Right

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?swap@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXAAV12@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 3c	 sub	 esp, 60			; 0000003cH
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	89 45 ec	 mov	 DWORD PTR __$ArrayPad$[ebp], eax
  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 b8	 mov	 DWORD PTR _this$[ebp], ecx

; 1736 : 		if (this == &_Right)

  0002b	8b 45 b8	 mov	 eax, DWORD PTR _this$[ebp]
  0002e	3b 45 08	 cmp	 eax, DWORD PTR __Right$[ebp]
  00031	75 05		 jne	 SHORT $LN4@swap@4
  00033	e9 ef 00 00 00	 jmp	 $LN5@swap@4
$LN4@swap@4:

; 1737 : 			;	// same object, do nothing
; 1738 : 		else if (_Mybase::_Alval == _Right._Alval)

  00038	8b 4d 08	 mov	 ecx, DWORD PTR __Right$[ebp]
  0003b	51		 push	 ecx
  0003c	8b 55 b8	 mov	 edx, DWORD PTR _this$[ebp]
  0003f	52		 push	 edx
  00040	e8 00 00 00 00	 call	 ??$?8_W_W@std@@YA_NABV?$allocator@_W@0@0@Z ; std::operator==<wchar_t,wchar_t>
  00045	83 c4 08	 add	 esp, 8
  00048	0f b6 c0	 movzx	 eax, al
  0004b	85 c0		 test	 eax, eax
  0004d	0f 84 9a 00 00
	00		 je	 $LN2@swap@4

; 1739 : 			{	// same allocator, swap control information
; 1740 : 
; 1741 :  #if _HAS_ITERATOR_DEBUGGING
; 1742 : 			this->_Swap_all(_Right);
; 1743 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 1744 : 
; 1745 : 			_Bxty _Tbx = _Bx;

  00053	8b 4d b8	 mov	 ecx, DWORD PTR _this$[ebp]
  00056	83 c1 04	 add	 ecx, 4
  00059	8b 11		 mov	 edx, DWORD PTR [ecx]
  0005b	89 55 dc	 mov	 DWORD PTR __Tbx$145575[ebp], edx
  0005e	8b 41 04	 mov	 eax, DWORD PTR [ecx+4]
  00061	89 45 e0	 mov	 DWORD PTR __Tbx$145575[ebp+4], eax
  00064	8b 51 08	 mov	 edx, DWORD PTR [ecx+8]
  00067	89 55 e4	 mov	 DWORD PTR __Tbx$145575[ebp+8], edx
  0006a	8b 41 0c	 mov	 eax, DWORD PTR [ecx+12]
  0006d	89 45 e8	 mov	 DWORD PTR __Tbx$145575[ebp+12], eax

; 1746 : 			_Bx = _Right._Bx, _Right._Bx = _Tbx;

  00070	8b 4d 08	 mov	 ecx, DWORD PTR __Right$[ebp]
  00073	83 c1 04	 add	 ecx, 4
  00076	8b 55 b8	 mov	 edx, DWORD PTR _this$[ebp]
  00079	83 c2 04	 add	 edx, 4
  0007c	8b 01		 mov	 eax, DWORD PTR [ecx]
  0007e	89 02		 mov	 DWORD PTR [edx], eax
  00080	8b 41 04	 mov	 eax, DWORD PTR [ecx+4]
  00083	89 42 04	 mov	 DWORD PTR [edx+4], eax
  00086	8b 41 08	 mov	 eax, DWORD PTR [ecx+8]
  00089	89 42 08	 mov	 DWORD PTR [edx+8], eax
  0008c	8b 49 0c	 mov	 ecx, DWORD PTR [ecx+12]
  0008f	89 4a 0c	 mov	 DWORD PTR [edx+12], ecx
  00092	8b 55 08	 mov	 edx, DWORD PTR __Right$[ebp]
  00095	83 c2 04	 add	 edx, 4
  00098	8b 45 dc	 mov	 eax, DWORD PTR __Tbx$145575[ebp]
  0009b	89 02		 mov	 DWORD PTR [edx], eax
  0009d	8b 4d e0	 mov	 ecx, DWORD PTR __Tbx$145575[ebp+4]
  000a0	89 4a 04	 mov	 DWORD PTR [edx+4], ecx
  000a3	8b 45 e4	 mov	 eax, DWORD PTR __Tbx$145575[ebp+8]
  000a6	89 42 08	 mov	 DWORD PTR [edx+8], eax
  000a9	8b 4d e8	 mov	 ecx, DWORD PTR __Tbx$145575[ebp+12]
  000ac	89 4a 0c	 mov	 DWORD PTR [edx+12], ecx

; 1747 : 
; 1748 : 			size_type _Tlen = _Mysize;

  000af	8b 55 b8	 mov	 edx, DWORD PTR _this$[ebp]
  000b2	8b 42 14	 mov	 eax, DWORD PTR [edx+20]
  000b5	89 45 f0	 mov	 DWORD PTR __Tlen$145576[ebp], eax

; 1749 : 			_Mysize = _Right._Mysize, _Right._Mysize = _Tlen;

  000b8	8b 4d b8	 mov	 ecx, DWORD PTR _this$[ebp]
  000bb	8b 55 08	 mov	 edx, DWORD PTR __Right$[ebp]
  000be	8b 42 14	 mov	 eax, DWORD PTR [edx+20]
  000c1	89 41 14	 mov	 DWORD PTR [ecx+20], eax
  000c4	8b 4d 08	 mov	 ecx, DWORD PTR __Right$[ebp]
  000c7	8b 55 f0	 mov	 edx, DWORD PTR __Tlen$145576[ebp]
  000ca	89 51 14	 mov	 DWORD PTR [ecx+20], edx

; 1750 : 
; 1751 : 			size_type _Tres = _Myres;

  000cd	8b 45 b8	 mov	 eax, DWORD PTR _this$[ebp]
  000d0	8b 48 18	 mov	 ecx, DWORD PTR [eax+24]
  000d3	89 4d d8	 mov	 DWORD PTR __Tres$145577[ebp], ecx

; 1752 : 			_Myres = _Right._Myres, _Right._Myres = _Tres;

  000d6	8b 55 b8	 mov	 edx, DWORD PTR _this$[ebp]
  000d9	8b 45 08	 mov	 eax, DWORD PTR __Right$[ebp]
  000dc	8b 48 18	 mov	 ecx, DWORD PTR [eax+24]
  000df	89 4a 18	 mov	 DWORD PTR [edx+24], ecx
  000e2	8b 55 08	 mov	 edx, DWORD PTR __Right$[ebp]
  000e5	8b 45 d8	 mov	 eax, DWORD PTR __Tres$145577[ebp]
  000e8	89 42 18	 mov	 DWORD PTR [edx+24], eax

; 1753 : 			}
; 1754 : 		else

  000eb	eb 3a		 jmp	 SHORT $LN5@swap@4
$LN2@swap@4:

; 1755 : 			{	// different allocator, do multiple assigns
; 1756 : 			_Myt _Tmp = *this;

  000ed	8b 4d b8	 mov	 ecx, DWORD PTR _this$[ebp]
  000f0	51		 push	 ecx
  000f1	8d 4d bc	 lea	 ecx, DWORD PTR __Tmp$145579[ebp]
  000f4	e8 00 00 00 00	 call	 ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@ABV01@@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
  000f9	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 1757 : 
; 1758 : 			*this = _Right;

  00100	8b 55 08	 mov	 edx, DWORD PTR __Right$[ebp]
  00103	52		 push	 edx
  00104	8b 4d b8	 mov	 ecx, DWORD PTR _this$[ebp]
  00107	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=

; 1759 : 			_Right = _Tmp;

  0010c	8d 45 bc	 lea	 eax, DWORD PTR __Tmp$145579[ebp]
  0010f	50		 push	 eax
  00110	8b 4d 08	 mov	 ecx, DWORD PTR __Right$[ebp]
  00113	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=

; 1760 : 			}

  00118	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0011f	8d 4d bc	 lea	 ecx, DWORD PTR __Tmp$145579[ebp]
  00122	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@swap@4:

; 1761 : 		}

  00127	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0012a	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00131	59		 pop	 ecx
  00132	8b 4d ec	 mov	 ecx, DWORD PTR __$ArrayPad$[ebp]
  00135	33 cd		 xor	 ecx, ebp
  00137	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0013c	8b e5		 mov	 esp, ebp
  0013e	5d		 pop	 ebp
  0013f	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?swap@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXAAV12@@Z$0:
  00000	8d 4d bc	 lea	 ecx, DWORD PTR __Tmp$145579[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> >
__ehhandler$?swap@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXAAV12@@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 c0	 mov	 ecx, DWORD PTR [edx-64]
  00012	33 c8		 xor	 ecx, eax
  00014	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00019	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  0001c	33 c8		 xor	 ecx, eax
  0001e	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00023	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?swap@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXAAV12@@Z
  00028	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?swap@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXAAV12@@Z ENDP ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::swap
; Function compile flags: /Odtp
;	COMDAT ??$swap@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@YAXAAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0@Z
_TEXT	SEGMENT
__Left$ = 8						; size = 4
__Right$ = 12						; size = 4
??$swap@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@YAXAAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0@Z PROC ; std::swap<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >, COMDAT

; 2205 : 	{	// swap _Left and _Right strings

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

; 2206 : 	_Left.swap(_Right);

  00003	8b 45 0c	 mov	 eax, DWORD PTR __Right$[ebp]
  00006	50		 push	 eax
  00007	8b 4d 08	 mov	 ecx, DWORD PTR __Left$[ebp]
  0000a	e8 00 00 00 00	 call	 ?swap@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXAAV12@@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::swap

; 2207 : 	}

  0000f	5d		 pop	 ebp
  00010	c3		 ret	 0
??$swap@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@YAXAAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0@Z ENDP ; std::swap<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
_TEXT	ENDS
;	COMDAT xdata$x
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
xdata$x	SEGMENT
__unwindtable$??$_Construct@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V12@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@ABV10@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??$_Construct@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V12@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@ABV10@@Z$0
__ehfuncinfo$??$_Construct@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V12@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@ABV10@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??$_Construct@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V12@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@ABV10@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??$_Construct@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V12@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@ABV10@@Z
_TEXT	SEGMENT
tv74 = -28						; size = 4
$T329405 = -24						; size = 4
$T329404 = -20						; size = 4
__Vptr$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
__Ptr$ = 8						; size = 4
__Val$ = 12						; size = 4
??$_Construct@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V12@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@ABV10@@Z PROC ; std::_Construct<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >, COMDAT

; 50   : 	{	// construct object at _Ptr with value _Val

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??$_Construct@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V12@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@ABV10@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 10	 sub	 esp, 16			; 00000010H
  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

; 51   : 	void _FARQ *_Vptr = _Ptr;

  00025	8b 45 08	 mov	 eax, DWORD PTR __Ptr$[ebp]
  00028	89 45 f0	 mov	 DWORD PTR __Vptr$[ebp], eax

; 52   : 	::new (_Vptr) _T1(_Val);

  0002b	8b 4d f0	 mov	 ecx, DWORD PTR __Vptr$[ebp]
  0002e	51		 push	 ecx
  0002f	6a 1c		 push	 28			; 0000001cH
  00031	e8 00 00 00 00	 call	 ??2@YAPAXIPAX@Z		; operator new
  00036	83 c4 08	 add	 esp, 8
  00039	89 45 e8	 mov	 DWORD PTR $T329405[ebp], eax
  0003c	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00043	83 7d e8 00	 cmp	 DWORD PTR $T329405[ebp], 0
  00047	74 11		 je	 SHORT $LN3@Construct@33
  00049	8b 55 0c	 mov	 edx, DWORD PTR __Val$[ebp]
  0004c	52		 push	 edx
  0004d	8b 4d e8	 mov	 ecx, DWORD PTR $T329405[ebp]
  00050	e8 00 00 00 00	 call	 ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@ABV01@@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
  00055	89 45 e4	 mov	 DWORD PTR tv74[ebp], eax
  00058	eb 07		 jmp	 SHORT $LN4@Construct@33
$LN3@Construct@33:
  0005a	c7 45 e4 00 00
	00 00		 mov	 DWORD PTR tv74[ebp], 0
$LN4@Construct@33:
  00061	8b 45 e4	 mov	 eax, DWORD PTR tv74[ebp]
  00064	89 45 ec	 mov	 DWORD PTR $T329404[ebp], eax
  00067	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1

; 53   : 	}

  0006e	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00071	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00078	59		 pop	 ecx
  00079	8b e5		 mov	 esp, ebp
  0007b	5d		 pop	 ebp
  0007c	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??$_Construct@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V12@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@ABV10@@Z$0:
  00000	8b 45 f0	 mov	 eax, DWORD PTR __Vptr$[ebp]
  00003	50		 push	 eax
  00004	8b 4d e8	 mov	 ecx, DWORD PTR $T329405[ebp]
  00007	51		 push	 ecx
  00008	e8 00 00 00 00	 call	 ??3@YAXPAX0@Z		; operator delete
  0000d	83 c4 08	 add	 esp, 8
  00010	c3		 ret	 0
__ehhandler$??$_Construct@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V12@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@ABV10@@Z:
  00011	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00015	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00018	8b 4a ec	 mov	 ecx, DWORD PTR [edx-20]
  0001b	33 c8		 xor	 ecx, eax
  0001d	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00022	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??$_Construct@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V12@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@ABV10@@Z
  00027	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??$_Construct@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V12@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@ABV10@@Z ENDP ; std::_Construct<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
;	COMDAT ??$_Move_backward_opt@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@Uforward_iterator_tag@2@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00Uforward_iterator_tag@0@U_Swap_move_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
___formal$ = 20						; size = 1
___formal$ = 24						; size = 1
___formal$ = 28						; size = 1
??$_Move_backward_opt@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@Uforward_iterator_tag@2@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00Uforward_iterator_tag@0@U_Swap_move_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Move_backward_opt<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::forward_iterator_tag>, COMDAT

; 2735 : 	{	// use swap instead of the copy constructor

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
$LN2@Move_backw:

; 2736 : 	_DEBUG_RANGE(_First, _Last);
; 2737 : 	while (_First != _Last)

  00003	8b 45 08	 mov	 eax, DWORD PTR __First$[ebp]
  00006	3b 45 0c	 cmp	 eax, DWORD PTR __Last$[ebp]
  00009	74 24		 je	 SHORT $LN1@Move_backw

; 2738 : 		_STD swap(*--_Dest, *--_Last);

  0000b	8b 4d 0c	 mov	 ecx, DWORD PTR __Last$[ebp]
  0000e	83 e9 1c	 sub	 ecx, 28			; 0000001cH
  00011	89 4d 0c	 mov	 DWORD PTR __Last$[ebp], ecx
  00014	8b 55 10	 mov	 edx, DWORD PTR __Dest$[ebp]
  00017	83 ea 1c	 sub	 edx, 28			; 0000001cH
  0001a	89 55 10	 mov	 DWORD PTR __Dest$[ebp], edx
  0001d	8b 45 0c	 mov	 eax, DWORD PTR __Last$[ebp]
  00020	50		 push	 eax
  00021	8b 4d 10	 mov	 ecx, DWORD PTR __Dest$[ebp]
  00024	51		 push	 ecx
  00025	e8 00 00 00 00	 call	 ??$swap@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@YAXAAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0@Z ; std::swap<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
  0002a	83 c4 08	 add	 esp, 8
  0002d	eb d4		 jmp	 SHORT $LN2@Move_backw
$LN1@Move_backw:

; 2739 : 	return (_Dest);

  0002f	8b 45 10	 mov	 eax, DWORD PTR __Dest$[ebp]

; 2740 : 	}

  00032	5d		 pop	 ebp
  00033	c3		 ret	 0
??$_Move_backward_opt@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@Uforward_iterator_tag@2@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00Uforward_iterator_tag@0@U_Swap_move_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Move_backward_opt<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::forward_iterator_tag>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Copy_opt@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@Uforward_iterator_tag@2@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00Uforward_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__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@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@Uforward_iterator_tag@2@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00Uforward_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Copy_opt<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::forward_iterator_tag>, COMDAT

; 2443 : 	{	// copy [_First, _Last) to [_Dest, ...), arbitrary iterators

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

; 2444 : 	_DEBUG_RANGE(_First, _Last);
; 2445 : 	for (; _First != _Last; ++_Dest, ++_First)

  00003	eb 12		 jmp	 SHORT $LN3@Copy_opt@26
$LN2@Copy_opt@26:
  00005	8b 45 10	 mov	 eax, DWORD PTR __Dest$[ebp]
  00008	83 c0 1c	 add	 eax, 28			; 0000001cH
  0000b	89 45 10	 mov	 DWORD PTR __Dest$[ebp], eax
  0000e	8b 4d 08	 mov	 ecx, DWORD PTR __First$[ebp]
  00011	83 c1 1c	 add	 ecx, 28			; 0000001cH
  00014	89 4d 08	 mov	 DWORD PTR __First$[ebp], ecx
$LN3@Copy_opt@26:
  00017	8b 55 08	 mov	 edx, DWORD PTR __First$[ebp]
  0001a	3b 55 0c	 cmp	 edx, DWORD PTR __Last$[ebp]
  0001d	74 0e		 je	 SHORT $LN1@Copy_opt@26

; 2446 : 		*_Dest = *_First;

  0001f	8b 45 08	 mov	 eax, DWORD PTR __First$[ebp]
  00022	50		 push	 eax
  00023	8b 4d 10	 mov	 ecx, DWORD PTR __Dest$[ebp]
  00026	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=
  0002b	eb d8		 jmp	 SHORT $LN2@Copy_opt@26
$LN1@Copy_opt@26:

; 2447 : 	return (_Dest);

  0002d	8b 45 10	 mov	 eax, DWORD PTR __Dest$[ebp]

; 2448 : 	}

  00030	5d		 pop	 ebp
  00031	c3		 ret	 0
??$_Copy_opt@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@Uforward_iterator_tag@2@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00Uforward_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Copy_opt<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::forward_iterator_tag>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ?construct@?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@QAEXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@ABV32@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Ptr$ = 8						; size = 4
__Val$ = 12						; size = 4
?construct@?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@QAEXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@ABV32@@Z PROC ; std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >::construct, COMDAT
; _this$ = ecx

; 154  : 		{	// construct object at _Ptr with value _Val

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

; 155  : 		_Construct(_Ptr, _Val);

  00007	8b 45 0c	 mov	 eax, DWORD PTR __Val$[ebp]
  0000a	50		 push	 eax
  0000b	8b 4d 08	 mov	 ecx, DWORD PTR __Ptr$[ebp]
  0000e	51		 push	 ecx
  0000f	e8 00 00 00 00	 call	 ??$_Construct@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V12@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@ABV10@@Z ; std::_Construct<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >
  00014	83 c4 08	 add	 esp, 8

; 156  : 		}

  00017	8b e5		 mov	 esp, ebp
  00019	5d		 pop	 ebp
  0001a	c2 08 00	 ret	 8
?construct@?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@QAEXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@ABV32@@Z ENDP ; std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >::construct
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
_TEXT	ENDS
;	COMDAT ??$_Move_backward_opt@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00Urandom_access_iterator_tag@0@U_Swap_move_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
$T329424 = -6						; size = 1
$T329423 = -5						; size = 1
__Result$ = -4						; size = 4
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
___formal$ = 20						; size = 1
__Move_cat$ = 24					; size = 1
___formal$ = 28						; size = 1
??$_Move_backward_opt@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00Urandom_access_iterator_tag@0@U_Swap_move_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Move_backward_opt<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>, COMDAT

; 2747 : 	{	// use swap to instead of the copy constructor

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

; 2748 : 	// if _OutIt is range checked, this will make sure there is enough space for the copy
; 2749 : 	_BidIt2 _Result = _Dest - (_Last - _First);

  00006	8b 45 0c	 mov	 eax, DWORD PTR __Last$[ebp]
  00009	2b 45 08	 sub	 eax, DWORD PTR __First$[ebp]
  0000c	99		 cdq
  0000d	b9 1c 00 00 00	 mov	 ecx, 28			; 0000001cH
  00012	f7 f9		 idiv	 ecx
  00014	6b c0 1c	 imul	 eax, 28			; 0000001cH
  00017	8b 55 10	 mov	 edx, DWORD PTR __Dest$[ebp]
  0001a	2b d0		 sub	 edx, eax
  0001c	89 55 fc	 mov	 DWORD PTR __Result$[ebp], edx

; 2750 : 	_Move_backward_opt(_First, _Last, _CHECKED_BASE(_Dest),
; 2751 : 		forward_iterator_tag(), _Move_cat, _Range_checked_iterator_tag());

  0001f	33 c0		 xor	 eax, eax
  00021	88 45 fb	 mov	 BYTE PTR $T329423[ebp], al
  00024	0f b6 4d fb	 movzx	 ecx, BYTE PTR $T329423[ebp]
  00028	51		 push	 ecx
  00029	0f b6 55 18	 movzx	 edx, BYTE PTR __Move_cat$[ebp]
  0002d	52		 push	 edx
  0002e	0f b6 45 fa	 movzx	 eax, BYTE PTR $T329424[ebp]
  00032	50		 push	 eax
  00033	8d 4d 10	 lea	 ecx, DWORD PTR __Dest$[ebp]
  00036	51		 push	 ecx
  00037	e8 00 00 00 00	 call	 ??$_Checked_base@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@AAPAV10@@Z ; std::_Checked_base<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
  0003c	83 c4 04	 add	 esp, 4
  0003f	50		 push	 eax
  00040	8b 55 0c	 mov	 edx, DWORD PTR __Last$[ebp]
  00043	52		 push	 edx
  00044	8b 45 08	 mov	 eax, DWORD PTR __First$[ebp]
  00047	50		 push	 eax
  00048	e8 00 00 00 00	 call	 ??$_Move_backward_opt@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@Uforward_iterator_tag@2@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00Uforward_iterator_tag@0@U_Swap_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Move_backward_opt<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::forward_iterator_tag>
  0004d	83 c4 18	 add	 esp, 24			; 00000018H

; 2752 : 	return _Result;

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

; 2753 : 	}

  00053	8b e5		 mov	 esp, ebp
  00055	5d		 pop	 ebp
  00056	c3		 ret	 0
??$_Move_backward_opt@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00Urandom_access_iterator_tag@0@U_Swap_move_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Move_backward_opt<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Fill@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V12@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0ABV10@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Val$ = 16						; size = 4
??$_Fill@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V12@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0ABV10@@Z PROC ; std::_Fill<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >, 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@36
$LN2@Fill@36:
  00005	8b 45 08	 mov	 eax, DWORD PTR __First$[ebp]
  00008	83 c0 1c	 add	 eax, 28			; 0000001cH
  0000b	89 45 08	 mov	 DWORD PTR __First$[ebp], eax
$LN3@Fill@36:
  0000e	8b 4d 08	 mov	 ecx, DWORD PTR __First$[ebp]
  00011	3b 4d 0c	 cmp	 ecx, DWORD PTR __Last$[ebp]
  00014	74 0e		 je	 SHORT $LN4@Fill@36

; 3133 : 		*_First = _Val;

  00016	8b 55 10	 mov	 edx, DWORD PTR __Val$[ebp]
  00019	52		 push	 edx
  0001a	8b 4d 08	 mov	 ecx, DWORD PTR __First$[ebp]
  0001d	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=
  00022	eb e1		 jmp	 SHORT $LN2@Fill@36
$LN4@Fill@36:

; 3134 : 	}

  00024	5d		 pop	 ebp
  00025	c3		 ret	 0
??$_Fill@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V12@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0ABV10@@Z ENDP ; std::_Fill<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >
_TEXT	ENDS
;	COMDAT xdata$x
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\memory
xdata$x	SEGMENT
__unwindtable$??$_Uninit_fill_n@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@IABV10@AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z DD 0ffffffffH
	DD	00H
	DD	0ffffffffH
	DD	00H
__catchsym$??$_Uninit_fill_n@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@IABV10@AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z$2 DD 00H
	DD	00H
	DD	00H
	DD	FLAT:__catch$??$_Uninit_fill_n@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@IABV10@AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z$0
__tryblocktable$??$_Uninit_fill_n@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@IABV10@AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z DD 00H
	DD	00H
	DD	01H
	DD	01H
	DD	FLAT:__catchsym$??$_Uninit_fill_n@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@IABV10@AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z$2
__ehfuncinfo$??$_Uninit_fill_n@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@IABV10@AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??$_Uninit_fill_n@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@IABV10@AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
	DD	01H
	DD	FLAT:__tryblocktable$??$_Uninit_fill_n@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@IABV10@AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??$_Uninit_fill_n@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@IABV10@AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
__Next$ = -20						; size = 4
__$EHRec$ = -16						; size = 16
__First$ = 8						; size = 4
__Count$ = 12						; size = 4
__Val$ = 16						; size = 4
__Al$ = 20						; size = 4
___formal$ = 24						; size = 1
___formal$ = 28						; size = 1
??$_Uninit_fill_n@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@IABV10@AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Uninit_fill_n<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,unsigned int,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >, COMDAT

; 389  : 	{	// copy _Count *_Val to raw _First, using _Al, arbitrary type

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??$_Uninit_fill_n@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@IABV10@AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	51		 push	 ecx
  00012	51		 push	 ecx
  00013	53		 push	 ebx
  00014	56		 push	 esi
  00015	57		 push	 edi
  00016	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001b	33 c5		 xor	 eax, ebp
  0001d	50		 push	 eax
  0001e	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp+4]
  00021	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00027	89 65 f0	 mov	 DWORD PTR __$EHRec$[ebp], esp

; 390  : 
; 391  :  #if _HAS_ITERATOR_DEBUGGING
; 392  : //	if (_Count < 0)
; 393  : //		_DEBUG_ERROR("negative count in uninitialized fill");
; 394  :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 395  : 
; 396  : 	_FwdIt _Next = _First;

  0002a	8b 45 08	 mov	 eax, DWORD PTR __First$[ebp]
  0002d	89 45 ec	 mov	 DWORD PTR __Next$[ebp], eax

; 397  : 
; 398  : 	_TRY_BEGIN

  00030	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+12], 0

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

  00037	eb 12		 jmp	 SHORT $LN6@Uninit_fil@22
$LN5@Uninit_fil@22:
  00039	8b 4d 0c	 mov	 ecx, DWORD PTR __Count$[ebp]
  0003c	83 e9 01	 sub	 ecx, 1
  0003f	89 4d 0c	 mov	 DWORD PTR __Count$[ebp], ecx
  00042	8b 55 08	 mov	 edx, DWORD PTR __First$[ebp]
  00045	83 c2 1c	 add	 edx, 28			; 0000001cH
  00048	89 55 08	 mov	 DWORD PTR __First$[ebp], edx
$LN6@Uninit_fil@22:
  0004b	83 7d 0c 00	 cmp	 DWORD PTR __Count$[ebp], 0
  0004f	76 12		 jbe	 SHORT $LN4@Uninit_fil@22

; 400  : 		_Al.construct(_First, _Val);

  00051	8b 45 10	 mov	 eax, DWORD PTR __Val$[ebp]
  00054	50		 push	 eax
  00055	8b 4d 08	 mov	 ecx, DWORD PTR __First$[ebp]
  00058	51		 push	 ecx
  00059	8b 4d 14	 mov	 ecx, DWORD PTR __Al$[ebp]
  0005c	e8 00 00 00 00	 call	 ?construct@?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@QAEXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@ABV32@@Z ; std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >::construct
  00061	eb d6		 jmp	 SHORT $LN5@Uninit_fil@22
$LN4@Uninit_fil@22:
  00063	eb 37		 jmp	 SHORT $LN10@Uninit_fil@22
__catch$??$_Uninit_fill_n@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@IABV10@AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z$0:

; 401  : 	_CATCH_ALL
; 402  : 	for (; _Next != _First; ++_Next)

  00065	eb 09		 jmp	 SHORT $LN3@Uninit_fil@22
$LN2@Uninit_fil@22:
  00067	8b 55 ec	 mov	 edx, DWORD PTR __Next$[ebp]
  0006a	83 c2 1c	 add	 edx, 28			; 0000001cH
  0006d	89 55 ec	 mov	 DWORD PTR __Next$[ebp], edx
$LN3@Uninit_fil@22:
  00070	8b 45 ec	 mov	 eax, DWORD PTR __Next$[ebp]
  00073	3b 45 08	 cmp	 eax, DWORD PTR __First$[ebp]
  00076	74 0e		 je	 SHORT $LN1@Uninit_fil@22

; 403  : 		_Al.destroy(_Next);

  00078	8b 4d ec	 mov	 ecx, DWORD PTR __Next$[ebp]
  0007b	51		 push	 ecx
  0007c	8b 4d 14	 mov	 ecx, DWORD PTR __Al$[ebp]
  0007f	e8 00 00 00 00	 call	 ?destroy@?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@QAEXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z ; std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >::destroy
  00084	eb e1		 jmp	 SHORT $LN2@Uninit_fil@22
$LN1@Uninit_fil@22:

; 404  : 	_RERAISE;

  00086	6a 00		 push	 0
  00088	6a 00		 push	 0
  0008a	e8 00 00 00 00	 call	 __CxxThrowException@8

; 405  : 	_CATCH_END

  0008f	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
  00096	b8 00 00 00 00	 mov	 eax, $LN9@Uninit_fil@22
  0009b	c3		 ret	 0
$LN10@Uninit_fil@22:
  0009c	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
$LN9@Uninit_fil@22:

; 406  : 	}

  000a3	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp+4]
  000a6	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000ad	59		 pop	 ecx
  000ae	5f		 pop	 edi
  000af	5e		 pop	 esi
  000b0	5b		 pop	 ebx
  000b1	8b e5		 mov	 esp, ebp
  000b3	5d		 pop	 ebp
  000b4	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__ehhandler$??$_Uninit_fill_n@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@IABV10@AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@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 e8	 mov	 ecx, DWORD PTR [edx-24]
  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$??$_Uninit_fill_n@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@IABV10@AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
  00016	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??$_Uninit_fill_n@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@IABV10@AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Uninit_fill_n<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,unsigned int,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
;	COMDAT ??$_Copy_opt@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00Urandom_access_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
$T329446 = -7						; size = 1
$T329445 = -6						; size = 1
$T329444 = -5						; size = 1
__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@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00Urandom_access_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Copy_opt<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>, COMDAT

; 2455 : 	{	// copy [_First, _Last) to [_Dest, ...), random_access iterators

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

; 2456 : 	// if _OutIt is range checked, this will make sure there is enough space for the copy
; 2457 : 	_OutIt _Result = _Dest + (_Last - _First);

  00006	8b 45 0c	 mov	 eax, DWORD PTR __Last$[ebp]
  00009	2b 45 08	 sub	 eax, DWORD PTR __First$[ebp]
  0000c	99		 cdq
  0000d	b9 1c 00 00 00	 mov	 ecx, 28			; 0000001cH
  00012	f7 f9		 idiv	 ecx
  00014	6b c0 1c	 imul	 eax, 28			; 0000001cH
  00017	03 45 10	 add	 eax, DWORD PTR __Dest$[ebp]
  0001a	89 45 fc	 mov	 DWORD PTR __Result$[ebp], eax

; 2458 : 	_Copy_opt(_First, _Last, _CHECKED_BASE(_Dest), 
; 2459 : 		forward_iterator_tag(), _Nonscalar_ptr_iterator_tag(), _Range_checked_iterator_tag());

  0001d	33 d2		 xor	 edx, edx
  0001f	88 55 fb	 mov	 BYTE PTR $T329444[ebp], dl
  00022	33 c0		 xor	 eax, eax
  00024	88 45 fa	 mov	 BYTE PTR $T329445[ebp], al
  00027	0f b6 4d fb	 movzx	 ecx, BYTE PTR $T329444[ebp]
  0002b	51		 push	 ecx
  0002c	0f b6 55 fa	 movzx	 edx, BYTE PTR $T329445[ebp]
  00030	52		 push	 edx
  00031	0f b6 45 f9	 movzx	 eax, BYTE PTR $T329446[ebp]
  00035	50		 push	 eax
  00036	8d 4d 10	 lea	 ecx, DWORD PTR __Dest$[ebp]
  00039	51		 push	 ecx
  0003a	e8 00 00 00 00	 call	 ??$_Checked_base@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@AAPAV10@@Z ; std::_Checked_base<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
  0003f	83 c4 04	 add	 esp, 4
  00042	50		 push	 eax
  00043	8b 55 0c	 mov	 edx, DWORD PTR __Last$[ebp]
  00046	52		 push	 edx
  00047	8b 45 08	 mov	 eax, DWORD PTR __First$[ebp]
  0004a	50		 push	 eax
  0004b	e8 00 00 00 00	 call	 ??$_Copy_opt@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@Uforward_iterator_tag@2@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00Uforward_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_opt<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::forward_iterator_tag>
  00050	83 c4 18	 add	 esp, 24			; 00000018H

; 2460 : 	return _Result;

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

; 2461 : 	}

  00056	8b e5		 mov	 esp, ebp
  00058	5d		 pop	 ebp
  00059	c3		 ret	 0
??$_Copy_opt@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00Urandom_access_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Copy_opt<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Unchecked_move_backward@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@@stdext@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@00@Z
_TEXT	SEGMENT
$T329451 = -3						; size = 1
$T329450 = -2						; size = 1
$T329449 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
??$_Unchecked_move_backward@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@@stdext@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@00@Z PROC ; stdext::_Unchecked_move_backward<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>, 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 $T329449[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@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@YA?AU_Swap_move_tag@0@ABQAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@@Z ; std::_Move_cat<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
  00012	83 c4 04	 add	 esp, 4
  00015	88 45 fe	 mov	 BYTE PTR $T329450[ebp], al
  00018	0f b6 55 ff	 movzx	 edx, BYTE PTR $T329449[ebp]
  0001c	52		 push	 edx
  0001d	0f b6 45 fe	 movzx	 eax, BYTE PTR $T329450[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 $T329451[ebp]
  0002d	50		 push	 eax
  0002e	e8 00 00 00 00	 call	 ??$_Iter_random@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@@std@@YA?AUrandom_access_iterator_tag@0@ABQAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0@Z ; std::_Iter_random<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
  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@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@AAPAV10@@Z ; std::_Checked_base<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
  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@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@AAPAV10@@Z ; std::_Checked_base<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
  00054	83 c4 04	 add	 esp, 4
  00057	50		 push	 eax
  00058	e8 00 00 00 00	 call	 ??$_Move_backward_opt@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00Urandom_access_iterator_tag@0@U_Swap_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Move_backward_opt<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
  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@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@@stdext@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@00@Z ENDP ; stdext::_Unchecked_move_backward<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$fill@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V12@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0ABV10@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Val$ = 16						; size = 4
??$fill@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V12@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0ABV10@@Z PROC ; std::fill<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >, 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@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@AAPAV10@@Z ; std::_Checked_base<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
  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@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@AAPAV10@@Z ; std::_Checked_base<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
  0001d	83 c4 04	 add	 esp, 4
  00020	50		 push	 eax
  00021	e8 00 00 00 00	 call	 ??$_Fill@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V12@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0ABV10@@Z ; std::_Fill<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >
  00026	83 c4 0c	 add	 esp, 12			; 0000000cH

; 3162 : 	}

  00029	5d		 pop	 ebp
  0002a	c3		 ret	 0
??$fill@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V12@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0ABV10@@Z ENDP ; std::fill<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\memory
_TEXT	ENDS
;	COMDAT ??$unchecked_uninitialized_fill_n@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@stdext@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IABV12@AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@Z
_TEXT	SEGMENT
$T329457 = -2						; size = 1
$T329456 = -1						; size = 1
__First$ = 8						; size = 4
__Count$ = 12						; size = 4
__Val$ = 16						; size = 4
__Al$ = 20						; size = 4
??$unchecked_uninitialized_fill_n@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@stdext@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IABV12@AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@Z PROC ; stdext::unchecked_uninitialized_fill_n<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,unsigned int,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >, 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 $T329456[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@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0@Z ; std::_Ptr_cat<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
  00016	83 c4 08	 add	 esp, 8
  00019	88 45 fe	 mov	 BYTE PTR $T329457[ebp], al
  0001c	0f b6 45 ff	 movzx	 eax, BYTE PTR $T329456[ebp]
  00020	50		 push	 eax
  00021	0f b6 4d fe	 movzx	 ecx, BYTE PTR $T329457[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@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@IABV10@AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_fill_n<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,unsigned int,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >
  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@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@stdext@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IABV12@AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@Z ENDP ; stdext::unchecked_uninitialized_fill_n<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,unsigned int,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
_TEXT	ENDS
;	COMDAT ??$unchecked_copy@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@@stdext@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@00@Z
_TEXT	SEGMENT
$T329462 = -3						; size = 1
$T329461 = -2						; size = 1
$T329460 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
??$unchecked_copy@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@@stdext@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@00@Z PROC ; stdext::unchecked_copy<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>, 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 $T329460[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@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0@Z ; std::_Ptr_cat<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
  00016	83 c4 08	 add	 esp, 8
  00019	88 45 fe	 mov	 BYTE PTR $T329461[ebp], al
  0001c	0f b6 45 ff	 movzx	 eax, BYTE PTR $T329460[ebp]
  00020	50		 push	 eax
  00021	0f b6 4d fe	 movzx	 ecx, BYTE PTR $T329461[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 $T329462[ebp]
  00031	51		 push	 ecx
  00032	e8 00 00 00 00	 call	 ??$_Iter_random@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@@std@@YA?AUrandom_access_iterator_tag@0@ABQAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0@Z ; std::_Iter_random<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
  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@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@AAPAV10@@Z ; std::_Checked_base<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
  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@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@AAPAV10@@Z ; std::_Checked_base<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
  00058	83 c4 04	 add	 esp, 4
  0005b	50		 push	 eax
  0005c	e8 00 00 00 00	 call	 ??$_Copy_opt@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00Urandom_access_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_opt<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
  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@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@@stdext@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@00@Z ENDP ; stdext::unchecked_copy<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
_TEXT	ENDS
;	COMDAT ?_Ufill@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@PAV32@IABV32@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Ptr$ = 8						; size = 4
__Count$ = 12						; size = 4
__Val$ = 16						; size = 4
?_Ufill@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@PAV32@IABV32@@Z PROC ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_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@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@stdext@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@IABV12@AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@Z ; stdext::unchecked_uninitialized_fill_n<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,unsigned int,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >
  0001f	83 c4 10	 add	 esp, 16			; 00000010H

; 1253 : 		return (_Ptr + _Count);

  00022	8b 45 0c	 mov	 eax, DWORD PTR __Count$[ebp]
  00025	6b c0 1c	 imul	 eax, 28			; 0000001cH
  00028	03 45 08	 add	 eax, DWORD PTR __Ptr$[ebp]

; 1254 : 		}

  0002b	8b e5		 mov	 esp, ebp
  0002d	5d		 pop	 ebp
  0002e	c2 0c 00	 ret	 12			; 0000000cH
?_Ufill@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@PAV32@IABV32@@Z ENDP ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_Ufill
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?erase@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAE?AV?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@V?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@0@Z
_TEXT	SEGMENT
_this$ = -24						; size = 4
__Ptr$144197 = -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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAE?AV?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@V?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@0@Z PROC ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBE?AV?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@V?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@@Z ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBE?AV?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@V?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@@Z ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::operator!=
  0003d	0f b6 c8	 movzx	 ecx, al
  00040	85 c9		 test	 ecx, ecx
  00042	74 36		 je	 SHORT $LN1@erase@28

; 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@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@@stdext@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@00@Z ; stdext::unchecked_copy<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
  00058	83 c4 0c	 add	 esp, 12			; 0000000cH
  0005b	89 45 ec	 mov	 DWORD PTR __Ptr$144197[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$144197[ebp]
  00068	52		 push	 edx
  00069	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0006c	e8 00 00 00 00	 call	 ?_Destroy@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@0@Z ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_Destroy

; 1054 : 			_Mylast = _Ptr;

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

; 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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAE?AV?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@V?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@0@Z ENDP ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::erase
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?clear@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAEXXZ
_TEXT	SEGMENT
_this$ = -44						; size = 4
$T329473 = -40						; size = 8
$T329472 = -32						; size = 8
$T329471 = -24						; size = 8
$T329470 = -16						; size = 8
$T329469 = -8						; size = 8
?clear@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAEXXZ PROC ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::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 $T329470[ebp]
  0000c	50		 push	 eax
  0000d	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  00010	e8 00 00 00 00	 call	 ?end@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAE?AV?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@XZ ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::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 $T329469[ebp], ecx
  0001d	89 55 fc	 mov	 DWORD PTR $T329469[ebp+4], edx
  00020	8d 45 e0	 lea	 eax, DWORD PTR $T329472[ebp]
  00023	50		 push	 eax
  00024	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  00027	e8 00 00 00 00	 call	 ?begin@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAE?AV?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@XZ ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::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 $T329471[ebp], ecx
  00034	89 55 ec	 mov	 DWORD PTR $T329471[ebp+4], edx
  00037	8b 45 fc	 mov	 eax, DWORD PTR $T329469[ebp+4]
  0003a	50		 push	 eax
  0003b	8b 4d f8	 mov	 ecx, DWORD PTR $T329469[ebp]
  0003e	51		 push	 ecx
  0003f	8b 55 ec	 mov	 edx, DWORD PTR $T329471[ebp+4]
  00042	52		 push	 edx
  00043	8b 45 e8	 mov	 eax, DWORD PTR $T329471[ebp]
  00046	50		 push	 eax
  00047	8d 4d d8	 lea	 ecx, DWORD PTR $T329473[ebp]
  0004a	51		 push	 ecx
  0004b	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  0004e	e8 00 00 00 00	 call	 ?erase@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAE?AV?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@V?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@0@Z ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::erase

; 1066 : 		}

  00053	8b e5		 mov	 esp, ebp
  00055	5d		 pop	 ebp
  00056	c3		 ret	 0
?clear@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAEXXZ ENDP ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::clear
PUBLIC	__$ArrayPad$
;	COMDAT xdata$x
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\memory
xdata$x	SEGMENT
__unwindtable$??$_Uninit_move@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Swap_move_tag@0@U_Range_checked_iterator_tag@0@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??$_Uninit_move@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Swap_move_tag@0@U_Range_checked_iterator_tag@0@@Z$2
	DD	00H
	DD	00H
	DD	00H
	DD	00H
__catchsym$??$_Uninit_move@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Swap_move_tag@0@U_Range_checked_iterator_tag@0@@Z$3 DD 00H
	DD	00H
	DD	00H
	DD	FLAT:__catch$??$_Uninit_move@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Swap_move_tag@0@U_Range_checked_iterator_tag@0@@Z$0
__tryblocktable$??$_Uninit_move@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Swap_move_tag@0@U_Range_checked_iterator_tag@0@@Z DD 01H
	DD	01H
	DD	02H
	DD	01H
	DD	FLAT:__catchsym$??$_Uninit_move@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Swap_move_tag@0@U_Range_checked_iterator_tag@0@@Z$3
__ehfuncinfo$??$_Uninit_move@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Swap_move_tag@0@U_Range_checked_iterator_tag@0@@Z DD 019930522H
	DD	03H
	DD	FLAT:__unwindtable$??$_Uninit_move@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Swap_move_tag@0@U_Range_checked_iterator_tag@0@@Z
	DD	01H
	DD	FLAT:__tryblocktable$??$_Uninit_move@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Swap_move_tag@0@U_Range_checked_iterator_tag@0@@Z
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??$_Uninit_move@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Swap_move_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
$T333815 = -56						; size = 4
__Val$ = -52						; size = 28
__$ArrayPad$ = -24					; size = 4
__Next$ = -20						; size = 4
__$EHRec$ = -16						; size = 16
__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@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Swap_move_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Uninit_move<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >, COMDAT

; 212  : 	{	// use swap to instead of the copy constructor

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??$_Uninit_move@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Swap_move_tag@0@U_Range_checked_iterator_tag@0@@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 28	 sub	 esp, 40			; 00000028H
  00015	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001a	33 c5		 xor	 eax, ebp
  0001c	89 45 e8	 mov	 DWORD PTR __$ArrayPad$[ebp], eax
  0001f	53		 push	 ebx
  00020	56		 push	 esi
  00021	57		 push	 edi
  00022	50		 push	 eax
  00023	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp+4]
  00026	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  0002c	89 65 f0	 mov	 DWORD PTR __$EHRec$[ebp], esp

; 213  : 	_DEBUG_RANGE(_First, _Last);
; 214  : 	_DEBUG_POINTER(_Dest);
; 215  : 	_FwdIt _Next = _Dest;

  0002f	8b 45 10	 mov	 eax, DWORD PTR __Dest$[ebp]
  00032	89 45 ec	 mov	 DWORD PTR __Next$[ebp], eax

; 216  : 	// empty value used in the construction
; 217  : 	typename _Alloc::value_type _Val;

  00035	8d 4d cc	 lea	 ecx, DWORD PTR __Val$[ebp]
  00038	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> >
  0003d	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+12], 0

; 218  : 
; 219  : 	_TRY_BEGIN

  00044	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+12], 1

; 220  : 	for (; _First != _Last; ++_Dest, ++_First)

  00048	eb 12		 jmp	 SHORT $LN6@Uninit_mov
$LN5@Uninit_mov:
  0004a	8b 4d 10	 mov	 ecx, DWORD PTR __Dest$[ebp]
  0004d	83 c1 1c	 add	 ecx, 28			; 0000001cH
  00050	89 4d 10	 mov	 DWORD PTR __Dest$[ebp], ecx
  00053	8b 55 08	 mov	 edx, DWORD PTR __First$[ebp]
  00056	83 c2 1c	 add	 edx, 28			; 0000001cH
  00059	89 55 08	 mov	 DWORD PTR __First$[ebp], edx
$LN6@Uninit_mov:
  0005c	8b 45 08	 mov	 eax, DWORD PTR __First$[ebp]
  0005f	3b 45 0c	 cmp	 eax, DWORD PTR __Last$[ebp]
  00062	74 22		 je	 SHORT $LN4@Uninit_mov

; 221  : 		{
; 222  : 		_Al.construct(_Dest, _Val);

  00064	8d 4d cc	 lea	 ecx, DWORD PTR __Val$[ebp]
  00067	51		 push	 ecx
  00068	8b 55 10	 mov	 edx, DWORD PTR __Dest$[ebp]
  0006b	52		 push	 edx
  0006c	8b 4d 14	 mov	 ecx, DWORD PTR __Al$[ebp]
  0006f	e8 00 00 00 00	 call	 ?construct@?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@QAEXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@ABV32@@Z ; std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >::construct

; 223  : 		_STD swap(*_Dest, *_First);

  00074	8b 45 08	 mov	 eax, DWORD PTR __First$[ebp]
  00077	50		 push	 eax
  00078	8b 4d 10	 mov	 ecx, DWORD PTR __Dest$[ebp]
  0007b	51		 push	 ecx
  0007c	e8 00 00 00 00	 call	 ??$swap@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@YAXAAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0@Z ; std::swap<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
  00081	83 c4 08	 add	 esp, 8

; 224  : 		}

  00084	eb c4		 jmp	 SHORT $LN5@Uninit_mov
$LN4@Uninit_mov:
  00086	eb 37		 jmp	 SHORT $LN10@Uninit_mov
__catch$??$_Uninit_move@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Swap_move_tag@0@U_Range_checked_iterator_tag@0@@Z$0:

; 225  : 	_CATCH_ALL
; 226  : 	for (; _Next != _Dest; ++_Next)

  00088	eb 09		 jmp	 SHORT $LN3@Uninit_mov
$LN2@Uninit_mov:
  0008a	8b 55 ec	 mov	 edx, DWORD PTR __Next$[ebp]
  0008d	83 c2 1c	 add	 edx, 28			; 0000001cH
  00090	89 55 ec	 mov	 DWORD PTR __Next$[ebp], edx
$LN3@Uninit_mov:
  00093	8b 45 ec	 mov	 eax, DWORD PTR __Next$[ebp]
  00096	3b 45 10	 cmp	 eax, DWORD PTR __Dest$[ebp]
  00099	74 0e		 je	 SHORT $LN1@Uninit_mov

; 227  : 		_Al.destroy(_Next);

  0009b	8b 4d ec	 mov	 ecx, DWORD PTR __Next$[ebp]
  0009e	51		 push	 ecx
  0009f	8b 4d 14	 mov	 ecx, DWORD PTR __Al$[ebp]
  000a2	e8 00 00 00 00	 call	 ?destroy@?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@QAEXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z ; std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >::destroy
  000a7	eb e1		 jmp	 SHORT $LN2@Uninit_mov
$LN1@Uninit_mov:

; 228  : 	_RERAISE;

  000a9	6a 00		 push	 0
  000ab	6a 00		 push	 0
  000ad	e8 00 00 00 00	 call	 __CxxThrowException@8

; 229  : 	_CATCH_END

  000b2	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+12], 0
  000b9	b8 00 00 00 00	 mov	 eax, __tryend$??$_Uninit_move@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Swap_move_tag@0@U_Range_checked_iterator_tag@0@@Z$1
  000be	c3		 ret	 0
$LN10@Uninit_mov:
  000bf	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+12], 0
__tryend$??$_Uninit_move@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Swap_move_tag@0@U_Range_checked_iterator_tag@0@@Z$1:

; 230  : 	return (_Dest);

  000c6	8b 55 10	 mov	 edx, DWORD PTR __Dest$[ebp]
  000c9	89 55 c8	 mov	 DWORD PTR $T333815[ebp], edx
  000cc	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
  000d3	8d 4d cc	 lea	 ecx, DWORD PTR __Val$[ebp]
  000d6	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> >
  000db	8b 45 c8	 mov	 eax, DWORD PTR $T333815[ebp]
$LN9@Uninit_mov:

; 231  : 	}

  000de	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp+4]
  000e1	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000e8	59		 pop	 ecx
  000e9	5f		 pop	 edi
  000ea	5e		 pop	 esi
  000eb	5b		 pop	 ebx
  000ec	8b 4d e8	 mov	 ecx, DWORD PTR __$ArrayPad$[ebp]
  000ef	33 cd		 xor	 ecx, ebp
  000f1	e8 00 00 00 00	 call	 @__security_check_cookie@4
  000f6	8b e5		 mov	 esp, ebp
  000f8	5d		 pop	 ebp
  000f9	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??$_Uninit_move@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Swap_move_tag@0@U_Range_checked_iterator_tag@0@@Z$2:
  00000	8d 4d cc	 lea	 ecx, DWORD PTR __Val$[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> >
__ehhandler$??$_Uninit_move@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Swap_move_tag@0@U_Range_checked_iterator_tag@0@@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 c4	 mov	 ecx, DWORD PTR [edx-60]
  00012	33 c8		 xor	 ecx, eax
  00014	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00019	8b 4a f4	 mov	 ecx, DWORD PTR [edx-12]
  0001c	33 c8		 xor	 ecx, eax
  0001e	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00023	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??$_Uninit_move@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Swap_move_tag@0@U_Range_checked_iterator_tag@0@@Z
  00028	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??$_Uninit_move@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Swap_move_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Uninit_move<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >
; Function compile flags: /Odtp
;	COMDAT ??$_Unchecked_uninitialized_move@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@stdext@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@00AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@Z
_TEXT	SEGMENT
$T333833 = -2						; size = 1
$T333832 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
__Al$ = 20						; size = 4
??$_Unchecked_uninitialized_move@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@stdext@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@00AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@Z PROC ; stdext::_Unchecked_uninitialized_move<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >, 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 $T333832[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@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@YA?AU_Swap_move_tag@0@ABQAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@@Z ; std::_Move_cat<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
  00012	83 c4 04	 add	 esp, 4
  00015	88 45 fe	 mov	 BYTE PTR $T333833[ebp], al
  00018	0f b6 55 ff	 movzx	 edx, BYTE PTR $T333832[ebp]
  0001c	52		 push	 edx
  0001d	0f b6 45 fe	 movzx	 eax, BYTE PTR $T333833[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@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@AAPAV10@@Z ; std::_Checked_base<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
  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@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@AAPAV10@@Z ; std::_Checked_base<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
  00040	83 c4 04	 add	 esp, 4
  00043	50		 push	 eax
  00044	e8 00 00 00 00	 call	 ??$_Uninit_move@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PAV10@00AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@0@U_Swap_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_move<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >
  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@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@stdext@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@00AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@Z ENDP ; stdext::_Unchecked_uninitialized_move<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
_TEXT	ENDS
;	COMDAT ??$_Umove@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@1@PAV21@00@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Ptr$ = 16						; size = 4
??$_Umove@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@1@PAV21@00@Z PROC ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_Umove<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>, 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@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@stdext@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@00AAV?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@Z ; stdext::_Unchecked_uninitialized_move<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >
  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@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@1@PAV21@00@Z ENDP ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_Umove<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?_Xlen@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@KAXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?_Xlen@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@KAXXZ$0
__ehfuncinfo$?_Xlen@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@KAXXZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?_Xlen@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@KAXXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?_Xlen@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@KAXXZ
_TEXT	SEGMENT
$T339244 = -80						; size = 28
$T339243 = -52						; size = 40
__$EHRec$ = -12						; size = 12
?_Xlen@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@KAXXZ PROC ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@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 $T339244[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 $T339244[ebp]
  0003c	50		 push	 eax
  0003d	8d 4d cc	 lea	 ecx, DWORD PTR $T339243[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 $T339243[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 $T339244[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@33:

; 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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@KAXXZ$0:
  00000	8d 4d b0	 lea	 ecx, DWORD PTR $T339244[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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@KAXXZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?_Xlen@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@KAXXZ ENDP ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_Xlen
PUBLIC	__$ArrayPad$
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?_Insert_n@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEXV?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@IABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z DD 0ffffffffH
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?_Insert_n@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEXV?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@IABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z$4
	DD	02H
	DD	00H
	DD	02H
	DD	00H
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?_Insert_n@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEXV?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@IABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z$5
__catchsym$?_Insert_n@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEXV?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@IABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z$6 DD 00H
	DD	00H
	DD	00H
	DD	FLAT:__catch$?_Insert_n@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEXV?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@IABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z$0
__catchsym$?_Insert_n@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEXV?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@IABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z$7 DD 00H
	DD	00H
	DD	00H
	DD	FLAT:__catch$?_Insert_n@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEXV?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@IABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z$2
__tryblocktable$?_Insert_n@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEXV?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@IABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z DD 00H
	DD	00H
	DD	01H
	DD	01H
	DD	FLAT:__catchsym$?_Insert_n@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEXV?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@IABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z$6
	DD	03H
	DD	03H
	DD	04H
	DD	01H
	DD	FLAT:__catchsym$?_Insert_n@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEXV?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@IABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z$7
__ehfuncinfo$?_Insert_n@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEXV?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@IABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z DD 019930522H
	DD	06H
	DD	FLAT:__unwindtable$?_Insert_n@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEXV?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@IABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z
	DD	02H
	DD	FLAT:__tryblocktable$?_Insert_n@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEXV?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@IABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?_Insert_n@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEXV?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@IABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z
_TEXT	SEGMENT
tv84 = -100						; size = 4
_this$ = -96						; size = 4
__Tmp$144339 = -92					; size = 28
__Oldend$144340 = -64					; size = 4
__Tmp$144329 = -60					; size = 28
__$ArrayPad$ = -32					; size = 4
__Newvec$144317 = -28					; size = 4
__Ptr$144318 = -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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEXV?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@IABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z PROC ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEXV?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@IABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@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 54	 sub	 esp, 84			; 00000054H
  00015	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001a	33 c5		 xor	 eax, ebp
  0001c	89 45 e0	 mov	 DWORD PTR __$ArrayPad$[ebp], eax
  0001f	53		 push	 ebx
  00020	56		 push	 esi
  00021	57		 push	 edi
  00022	50		 push	 eax
  00023	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp+4]
  00026	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  0002c	89 65 f0	 mov	 DWORD PTR __$EHRec$[ebp], esp
  0002f	89 4d a0	 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();

  00032	8b 4d a0	 mov	 ecx, DWORD PTR _this$[ebp]
  00035	e8 00 00 00 00	 call	 ?capacity@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBEIXZ ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::capacity
  0003a	89 45 ec	 mov	 DWORD PTR __Capacity$[ebp], eax

; 1167 : 
; 1168 : 		if (_Count == 0)

  0003d	83 7d 10 00	 cmp	 DWORD PTR __Count$[ebp], 0
  00041	75 05		 jne	 SHORT $LN12@Insert_n@25
  00043	e9 2f 03 00 00	 jmp	 $LN14@Insert_n@25
$LN12@Insert_n@25:

; 1169 : 			;
; 1170 : 		else if (max_size() - size() < _Count)

  00048	8b 4d a0	 mov	 ecx, DWORD PTR _this$[ebp]
  0004b	e8 00 00 00 00	 call	 ?max_size@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBEIXZ ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::max_size
  00050	8b f0		 mov	 esi, eax
  00052	8b 4d a0	 mov	 ecx, DWORD PTR _this$[ebp]
  00055	e8 00 00 00 00	 call	 ?size@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBEIXZ ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::size
  0005a	2b f0		 sub	 esi, eax
  0005c	3b 75 10	 cmp	 esi, DWORD PTR __Count$[ebp]
  0005f	73 0a		 jae	 SHORT $LN10@Insert_n@25

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

  00061	e8 00 00 00 00	 call	 ?_Xlen@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@KAXXZ ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_Xlen
  00066	e9 0c 03 00 00	 jmp	 $LN14@Insert_n@25
$LN10@Insert_n@25:

; 1172 : 		else if (_Capacity < size() + _Count)

  0006b	8b 4d a0	 mov	 ecx, DWORD PTR _this$[ebp]
  0006e	e8 00 00 00 00	 call	 ?size@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBEIXZ ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::size
  00073	03 45 10	 add	 eax, DWORD PTR __Count$[ebp]
  00076	39 45 ec	 cmp	 DWORD PTR __Capacity$[ebp], eax
  00079	0f 83 77 01 00
	00		 jae	 $LN8@Insert_n@25

; 1173 : 			{	// not enough room, reallocate
; 1174 : 			_Capacity = max_size() - _Capacity / 2 < _Capacity
; 1175 : 				? 0 : _Capacity + _Capacity / 2;	// try to grow by 50%

  0007f	8b 4d a0	 mov	 ecx, DWORD PTR _this$[ebp]
  00082	e8 00 00 00 00	 call	 ?max_size@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBEIXZ ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::max_size
  00087	8b 4d ec	 mov	 ecx, DWORD PTR __Capacity$[ebp]
  0008a	d1 e9		 shr	 ecx, 1
  0008c	2b c1		 sub	 eax, ecx
  0008e	3b 45 ec	 cmp	 eax, DWORD PTR __Capacity$[ebp]
  00091	73 09		 jae	 SHORT $LN15@Insert_n@25
  00093	c7 45 9c 00 00
	00 00		 mov	 DWORD PTR tv84[ebp], 0
  0009a	eb 0b		 jmp	 SHORT $LN16@Insert_n@25
$LN15@Insert_n@25:
  0009c	8b 55 ec	 mov	 edx, DWORD PTR __Capacity$[ebp]
  0009f	d1 ea		 shr	 edx, 1
  000a1	03 55 ec	 add	 edx, DWORD PTR __Capacity$[ebp]
  000a4	89 55 9c	 mov	 DWORD PTR tv84[ebp], edx
$LN16@Insert_n@25:
  000a7	8b 45 9c	 mov	 eax, DWORD PTR tv84[ebp]
  000aa	89 45 ec	 mov	 DWORD PTR __Capacity$[ebp], eax

; 1176 : 			if (_Capacity < size() + _Count)

  000ad	8b 4d a0	 mov	 ecx, DWORD PTR _this$[ebp]
  000b0	e8 00 00 00 00	 call	 ?size@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBEIXZ ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::size
  000b5	03 45 10	 add	 eax, DWORD PTR __Count$[ebp]
  000b8	39 45 ec	 cmp	 DWORD PTR __Capacity$[ebp], eax
  000bb	73 0e		 jae	 SHORT $LN7@Insert_n@25

; 1177 : 				_Capacity = size() + _Count;

  000bd	8b 4d a0	 mov	 ecx, DWORD PTR _this$[ebp]
  000c0	e8 00 00 00 00	 call	 ?size@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBEIXZ ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::size
  000c5	03 45 10	 add	 eax, DWORD PTR __Count$[ebp]
  000c8	89 45 ec	 mov	 DWORD PTR __Capacity$[ebp], eax
$LN7@Insert_n@25:

; 1178 : 			pointer _Newvec = this->_Alval.allocate(_Capacity);

  000cb	8b 4d ec	 mov	 ecx, DWORD PTR __Capacity$[ebp]
  000ce	51		 push	 ecx
  000cf	8b 4d a0	 mov	 ecx, DWORD PTR _this$[ebp]
  000d2	83 c1 08	 add	 ecx, 8
  000d5	e8 00 00 00 00	 call	 ?allocate@?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@QAEPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@I@Z ; std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >::allocate
  000da	89 45 e4	 mov	 DWORD PTR __Newvec$144317[ebp], eax

; 1179 : 			pointer _Ptr = _Newvec;

  000dd	8b 55 e4	 mov	 edx, DWORD PTR __Newvec$144317[ebp]
  000e0	89 55 e8	 mov	 DWORD PTR __Ptr$144318[ebp], edx

; 1180 : 
; 1181 : 			_TRY_BEGIN

  000e3	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

  000ea	8b 45 e4	 mov	 eax, DWORD PTR __Newvec$144317[ebp]
  000ed	50		 push	 eax
  000ee	8b 4d 0c	 mov	 ecx, DWORD PTR __Where$[ebp+4]
  000f1	51		 push	 ecx
  000f2	8b 55 a0	 mov	 edx, DWORD PTR _this$[ebp]
  000f5	8b 42 0c	 mov	 eax, DWORD PTR [edx+12]
  000f8	50		 push	 eax
  000f9	8b 4d a0	 mov	 ecx, DWORD PTR _this$[ebp]
  000fc	e8 00 00 00 00	 call	 ??$_Umove@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@1@PAV21@00@Z ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_Umove<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
  00101	89 45 e8	 mov	 DWORD PTR __Ptr$144318[ebp], eax

; 1184 : 			_Ptr = _Ufill(_Ptr, _Count, _Val);	// add new stuff

  00104	8b 4d 14	 mov	 ecx, DWORD PTR __Val$[ebp]
  00107	51		 push	 ecx
  00108	8b 55 10	 mov	 edx, DWORD PTR __Count$[ebp]
  0010b	52		 push	 edx
  0010c	8b 45 e8	 mov	 eax, DWORD PTR __Ptr$144318[ebp]
  0010f	50		 push	 eax
  00110	8b 4d a0	 mov	 ecx, DWORD PTR _this$[ebp]
  00113	e8 00 00 00 00	 call	 ?_Ufill@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@PAV32@IABV32@@Z ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_Ufill
  00118	89 45 e8	 mov	 DWORD PTR __Ptr$144318[ebp], eax

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

  0011b	8b 4d e8	 mov	 ecx, DWORD PTR __Ptr$144318[ebp]
  0011e	51		 push	 ecx
  0011f	8b 55 a0	 mov	 edx, DWORD PTR _this$[ebp]
  00122	8b 42 10	 mov	 eax, DWORD PTR [edx+16]
  00125	50		 push	 eax
  00126	8b 4d 0c	 mov	 ecx, DWORD PTR __Where$[ebp+4]
  00129	51		 push	 ecx
  0012a	8b 4d a0	 mov	 ecx, DWORD PTR _this$[ebp]
  0012d	e8 00 00 00 00	 call	 ??$_Umove@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@1@PAV21@00@Z ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_Umove<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
  00132	eb 39		 jmp	 SHORT $LN17@Insert_n@25
__catch$?_Insert_n@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEXV?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@IABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z$0:

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

  00134	8b 55 e8	 mov	 edx, DWORD PTR __Ptr$144318[ebp]
  00137	52		 push	 edx
  00138	8b 45 e4	 mov	 eax, DWORD PTR __Newvec$144317[ebp]
  0013b	50		 push	 eax
  0013c	8b 4d a0	 mov	 ecx, DWORD PTR _this$[ebp]
  0013f	e8 00 00 00 00	 call	 ?_Destroy@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@0@Z ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_Destroy

; 1188 : 			this->_Alval.deallocate(_Newvec, _Capacity);

  00144	8b 4d ec	 mov	 ecx, DWORD PTR __Capacity$[ebp]
  00147	51		 push	 ecx
  00148	8b 55 e4	 mov	 edx, DWORD PTR __Newvec$144317[ebp]
  0014b	52		 push	 edx
  0014c	8b 4d a0	 mov	 ecx, DWORD PTR _this$[ebp]
  0014f	83 c1 08	 add	 ecx, 8
  00152	e8 00 00 00 00	 call	 ?deallocate@?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@QAEXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@I@Z ; std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >::deallocate

; 1189 : 			_RERAISE;

  00157	6a 00		 push	 0
  00159	6a 00		 push	 0
  0015b	e8 00 00 00 00	 call	 __CxxThrowException@8

; 1190 : 			_CATCH_END

  00160	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
  00167	b8 00 00 00 00	 mov	 eax, __tryend$?_Insert_n@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEXV?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@IABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z$1
  0016c	c3		 ret	 0
$LN17@Insert_n@25:
  0016d	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
__tryend$?_Insert_n@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEXV?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@IABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z$1:

; 1191 : 
; 1192 : 			_Count += size();

  00174	8b 4d a0	 mov	 ecx, DWORD PTR _this$[ebp]
  00177	e8 00 00 00 00	 call	 ?size@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBEIXZ ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::size
  0017c	03 45 10	 add	 eax, DWORD PTR __Count$[ebp]
  0017f	89 45 10	 mov	 DWORD PTR __Count$[ebp], eax

; 1193 : 			if (_Myfirst != 0)

  00182	8b 45 a0	 mov	 eax, DWORD PTR _this$[ebp]
  00185	83 78 0c 00	 cmp	 DWORD PTR [eax+12], 0
  00189	74 3f		 je	 SHORT $LN5@Insert_n@25

; 1194 : 				{	// destroy and deallocate old array
; 1195 : 				_Destroy(_Myfirst, _Mylast);

  0018b	8b 4d a0	 mov	 ecx, DWORD PTR _this$[ebp]
  0018e	8b 51 10	 mov	 edx, DWORD PTR [ecx+16]
  00191	52		 push	 edx
  00192	8b 45 a0	 mov	 eax, DWORD PTR _this$[ebp]
  00195	8b 48 0c	 mov	 ecx, DWORD PTR [eax+12]
  00198	51		 push	 ecx
  00199	8b 4d a0	 mov	 ecx, DWORD PTR _this$[ebp]
  0019c	e8 00 00 00 00	 call	 ?_Destroy@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@0@Z ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_Destroy

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

  001a1	8b 55 a0	 mov	 edx, DWORD PTR _this$[ebp]
  001a4	8b 45 a0	 mov	 eax, DWORD PTR _this$[ebp]
  001a7	8b 4a 14	 mov	 ecx, DWORD PTR [edx+20]
  001aa	2b 48 0c	 sub	 ecx, DWORD PTR [eax+12]
  001ad	8b c1		 mov	 eax, ecx
  001af	99		 cdq
  001b0	b9 1c 00 00 00	 mov	 ecx, 28			; 0000001cH
  001b5	f7 f9		 idiv	 ecx
  001b7	50		 push	 eax
  001b8	8b 55 a0	 mov	 edx, DWORD PTR _this$[ebp]
  001bb	8b 42 0c	 mov	 eax, DWORD PTR [edx+12]
  001be	50		 push	 eax
  001bf	8b 4d a0	 mov	 ecx, DWORD PTR _this$[ebp]
  001c2	83 c1 08	 add	 ecx, 8
  001c5	e8 00 00 00 00	 call	 ?deallocate@?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@std@@QAEXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@I@Z ; std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >::deallocate
$LN5@Insert_n@25:

; 1197 : 				}
; 1198 : 
; 1199 :  #if _HAS_ITERATOR_DEBUGGING
; 1200 : 			this->_Orphan_all();
; 1201 :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 1202 : 
; 1203 : 			_Myend = _Newvec + _Capacity;

  001ca	8b 4d ec	 mov	 ecx, DWORD PTR __Capacity$[ebp]
  001cd	6b c9 1c	 imul	 ecx, 28			; 0000001cH
  001d0	03 4d e4	 add	 ecx, DWORD PTR __Newvec$144317[ebp]
  001d3	8b 55 a0	 mov	 edx, DWORD PTR _this$[ebp]
  001d6	89 4a 14	 mov	 DWORD PTR [edx+20], ecx

; 1204 : 			_Mylast = _Newvec + _Count;

  001d9	8b 45 10	 mov	 eax, DWORD PTR __Count$[ebp]
  001dc	6b c0 1c	 imul	 eax, 28			; 0000001cH
  001df	03 45 e4	 add	 eax, DWORD PTR __Newvec$144317[ebp]
  001e2	8b 4d a0	 mov	 ecx, DWORD PTR _this$[ebp]
  001e5	89 41 10	 mov	 DWORD PTR [ecx+16], eax

; 1205 : 			_Myfirst = _Newvec;

  001e8	8b 55 a0	 mov	 edx, DWORD PTR _this$[ebp]
  001eb	8b 45 e4	 mov	 eax, DWORD PTR __Newvec$144317[ebp]
  001ee	89 42 0c	 mov	 DWORD PTR [edx+12], eax
  001f1	e9 81 01 00 00	 jmp	 $LN14@Insert_n@25
$LN8@Insert_n@25:

; 1206 : 			}
; 1207 : 		else if ((size_type)(_Mylast - _VEC_ITER_BASE(_Where)) < _Count)

  001f6	8b 4d a0	 mov	 ecx, DWORD PTR _this$[ebp]
  001f9	8b 41 10	 mov	 eax, DWORD PTR [ecx+16]
  001fc	2b 45 0c	 sub	 eax, DWORD PTR __Where$[ebp+4]
  001ff	99		 cdq
  00200	b9 1c 00 00 00	 mov	 ecx, 28			; 0000001cH
  00205	f7 f9		 idiv	 ecx
  00207	3b 45 10	 cmp	 eax, DWORD PTR __Count$[ebp]
  0020a	0f 83 e1 00 00
	00		 jae	 $LN3@Insert_n@25

; 1208 : 			{	// new stuff spills off end
; 1209 : 			_Ty _Tmp = _Val;	// in case _Val is in sequence

  00210	8b 55 14	 mov	 edx, DWORD PTR __Val$[ebp]
  00213	52		 push	 edx
  00214	8d 4d c4	 lea	 ecx, DWORD PTR __Tmp$144329[ebp]
  00217	e8 00 00 00 00	 call	 ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@ABV01@@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
  0021c	c7 45 fc 02 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+12], 2

; 1210 : 
; 1211 : 			_Umove(_VEC_ITER_BASE(_Where), _Mylast,
; 1212 : 				_VEC_ITER_BASE(_Where) + _Count);	// copy suffix

  00223	8b 45 10	 mov	 eax, DWORD PTR __Count$[ebp]
  00226	6b c0 1c	 imul	 eax, 28			; 0000001cH
  00229	03 45 0c	 add	 eax, DWORD PTR __Where$[ebp+4]
  0022c	50		 push	 eax
  0022d	8b 4d a0	 mov	 ecx, DWORD PTR _this$[ebp]
  00230	8b 51 10	 mov	 edx, DWORD PTR [ecx+16]
  00233	52		 push	 edx
  00234	8b 45 0c	 mov	 eax, DWORD PTR __Where$[ebp+4]
  00237	50		 push	 eax
  00238	8b 4d a0	 mov	 ecx, DWORD PTR _this$[ebp]
  0023b	e8 00 00 00 00	 call	 ??$_Umove@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@1@PAV21@00@Z ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_Umove<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>

; 1213 : 
; 1214 : 			_TRY_BEGIN

  00240	c6 45 fc 03	 mov	 BYTE PTR __$EHRec$[ebp+12], 3

; 1215 : 			_Ufill(_Mylast, _Count - (_Mylast - _VEC_ITER_BASE(_Where)),
; 1216 : 				_Tmp);	// insert new stuff off end

  00244	8d 4d c4	 lea	 ecx, DWORD PTR __Tmp$144329[ebp]
  00247	51		 push	 ecx
  00248	8b 55 a0	 mov	 edx, DWORD PTR _this$[ebp]
  0024b	8b 42 10	 mov	 eax, DWORD PTR [edx+16]
  0024e	2b 45 0c	 sub	 eax, DWORD PTR __Where$[ebp+4]
  00251	99		 cdq
  00252	b9 1c 00 00 00	 mov	 ecx, 28			; 0000001cH
  00257	f7 f9		 idiv	 ecx
  00259	8b 55 10	 mov	 edx, DWORD PTR __Count$[ebp]
  0025c	2b d0		 sub	 edx, eax
  0025e	52		 push	 edx
  0025f	8b 45 a0	 mov	 eax, DWORD PTR _this$[ebp]
  00262	8b 48 10	 mov	 ecx, DWORD PTR [eax+16]
  00265	51		 push	 ecx
  00266	8b 4d a0	 mov	 ecx, DWORD PTR _this$[ebp]
  00269	e8 00 00 00 00	 call	 ?_Ufill@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@PAV32@IABV32@@Z ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_Ufill
  0026e	eb 35		 jmp	 SHORT $LN19@Insert_n@25
__catch$?_Insert_n@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEXV?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@IABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z$2:

; 1217 : 			_CATCH_ALL
; 1218 : 			_Destroy(_VEC_ITER_BASE(_Where) + _Count, _Mylast + _Count);

  00270	8b 55 10	 mov	 edx, DWORD PTR __Count$[ebp]
  00273	6b d2 1c	 imul	 edx, 28			; 0000001cH
  00276	8b 45 a0	 mov	 eax, DWORD PTR _this$[ebp]
  00279	03 50 10	 add	 edx, DWORD PTR [eax+16]
  0027c	52		 push	 edx
  0027d	8b 4d 10	 mov	 ecx, DWORD PTR __Count$[ebp]
  00280	6b c9 1c	 imul	 ecx, 28			; 0000001cH
  00283	03 4d 0c	 add	 ecx, DWORD PTR __Where$[ebp+4]
  00286	51		 push	 ecx
  00287	8b 4d a0	 mov	 ecx, DWORD PTR _this$[ebp]
  0028a	e8 00 00 00 00	 call	 ?_Destroy@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@0@Z ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_Destroy

; 1219 : 			_RERAISE;

  0028f	6a 00		 push	 0
  00291	6a 00		 push	 0
  00293	e8 00 00 00 00	 call	 __CxxThrowException@8

; 1220 : 			_CATCH_END

  00298	c7 45 fc 02 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+12], 2
  0029f	b8 00 00 00 00	 mov	 eax, __tryend$?_Insert_n@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEXV?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@IABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z$3
  002a4	c3		 ret	 0
$LN19@Insert_n@25:
  002a5	c7 45 fc 02 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+12], 2
__tryend$?_Insert_n@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEXV?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@IABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z$3:

; 1221 : 
; 1222 : 			_Mylast += _Count;

  002ac	8b 55 10	 mov	 edx, DWORD PTR __Count$[ebp]
  002af	6b d2 1c	 imul	 edx, 28			; 0000001cH
  002b2	8b 45 a0	 mov	 eax, DWORD PTR _this$[ebp]
  002b5	03 50 10	 add	 edx, DWORD PTR [eax+16]
  002b8	8b 4d a0	 mov	 ecx, DWORD PTR _this$[ebp]
  002bb	89 51 10	 mov	 DWORD PTR [ecx+16], edx

; 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

  002be	8d 55 c4	 lea	 edx, DWORD PTR __Tmp$144329[ebp]
  002c1	52		 push	 edx
  002c2	8b 45 10	 mov	 eax, DWORD PTR __Count$[ebp]
  002c5	6b c0 1c	 imul	 eax, 28			; 0000001cH
  002c8	8b 4d a0	 mov	 ecx, DWORD PTR _this$[ebp]
  002cb	8b 51 10	 mov	 edx, DWORD PTR [ecx+16]
  002ce	2b d0		 sub	 edx, eax
  002d0	52		 push	 edx
  002d1	8b 45 0c	 mov	 eax, DWORD PTR __Where$[ebp+4]
  002d4	50		 push	 eax
  002d5	e8 00 00 00 00	 call	 ??$fill@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V12@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0ABV10@@Z ; std::fill<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >
  002da	83 c4 0c	 add	 esp, 12			; 0000000cH

; 1230 : 			}

  002dd	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
  002e4	8d 4d c4	 lea	 ecx, DWORD PTR __Tmp$144329[ebp]
  002e7	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> >

; 1231 : 		else

  002ec	e9 86 00 00 00	 jmp	 $LN14@Insert_n@25
$LN3@Insert_n@25:

; 1232 : 			{	// new stuff can all be assigned
; 1233 : 			_Ty _Tmp = _Val;	// in case _Val is in sequence

  002f1	8b 4d 14	 mov	 ecx, DWORD PTR __Val$[ebp]
  002f4	51		 push	 ecx
  002f5	8d 4d a4	 lea	 ecx, DWORD PTR __Tmp$144339[ebp]
  002f8	e8 00 00 00 00	 call	 ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@ABV01@@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
  002fd	c7 45 fc 05 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+12], 5

; 1234 : 
; 1235 : 			pointer _Oldend = _Mylast;

  00304	8b 55 a0	 mov	 edx, DWORD PTR _this$[ebp]
  00307	8b 42 10	 mov	 eax, DWORD PTR [edx+16]
  0030a	89 45 c0	 mov	 DWORD PTR __Oldend$144340[ebp], eax

; 1236 : 			_Mylast = _Umove(_Oldend - _Count, _Oldend,
; 1237 : 				_Mylast);	// copy suffix

  0030d	8b 4d a0	 mov	 ecx, DWORD PTR _this$[ebp]
  00310	8b 51 10	 mov	 edx, DWORD PTR [ecx+16]
  00313	52		 push	 edx
  00314	8b 45 c0	 mov	 eax, DWORD PTR __Oldend$144340[ebp]
  00317	50		 push	 eax
  00318	8b 4d 10	 mov	 ecx, DWORD PTR __Count$[ebp]
  0031b	6b c9 1c	 imul	 ecx, 28			; 0000001cH
  0031e	8b 55 c0	 mov	 edx, DWORD PTR __Oldend$144340[ebp]
  00321	2b d1		 sub	 edx, ecx
  00323	52		 push	 edx
  00324	8b 4d a0	 mov	 ecx, DWORD PTR _this$[ebp]
  00327	e8 00 00 00 00	 call	 ??$_Umove@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@1@PAV21@00@Z ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_Umove<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
  0032c	8b 4d a0	 mov	 ecx, DWORD PTR _this$[ebp]
  0032f	89 41 10	 mov	 DWORD PTR [ecx+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

  00332	8b 55 c0	 mov	 edx, DWORD PTR __Oldend$144340[ebp]
  00335	52		 push	 edx
  00336	8b 45 10	 mov	 eax, DWORD PTR __Count$[ebp]
  00339	6b c0 1c	 imul	 eax, 28			; 0000001cH
  0033c	8b 4d c0	 mov	 ecx, DWORD PTR __Oldend$144340[ebp]
  0033f	2b c8		 sub	 ecx, eax
  00341	51		 push	 ecx
  00342	8b 55 0c	 mov	 edx, DWORD PTR __Where$[ebp+4]
  00345	52		 push	 edx
  00346	e8 00 00 00 00	 call	 ??$_Unchecked_move_backward@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@@stdext@@YAPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@PAV12@00@Z ; stdext::_Unchecked_move_backward<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *>
  0034b	83 c4 0c	 add	 esp, 12			; 0000000cH

; 1245 : 			std::fill(_VEC_ITER_BASE(_Where), _VEC_ITER_BASE(_Where) + _Count,
; 1246 : 				_Tmp);	// insert into hole

  0034e	8d 45 a4	 lea	 eax, DWORD PTR __Tmp$144339[ebp]
  00351	50		 push	 eax
  00352	8b 4d 10	 mov	 ecx, DWORD PTR __Count$[ebp]
  00355	6b c9 1c	 imul	 ecx, 28			; 0000001cH
  00358	03 4d 0c	 add	 ecx, DWORD PTR __Where$[ebp+4]
  0035b	51		 push	 ecx
  0035c	8b 55 0c	 mov	 edx, DWORD PTR __Where$[ebp+4]
  0035f	52		 push	 edx
  00360	e8 00 00 00 00	 call	 ??$fill@PAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V12@@std@@YAXPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@0ABV10@@Z ; std::fill<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > *,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >
  00365	83 c4 0c	 add	 esp, 12			; 0000000cH

; 1247 : 			}

  00368	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
  0036f	8d 4d a4	 lea	 ecx, DWORD PTR __Tmp$144339[ebp]
  00372	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> >
$LN14@Insert_n@25:

; 1248 : 		}

  00377	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp+4]
  0037a	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00381	59		 pop	 ecx
  00382	5f		 pop	 edi
  00383	5e		 pop	 esi
  00384	5b		 pop	 ebx
  00385	8b 4d e0	 mov	 ecx, DWORD PTR __$ArrayPad$[ebp]
  00388	33 cd		 xor	 ecx, ebp
  0038a	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0038f	8b e5		 mov	 esp, ebp
  00391	5d		 pop	 ebp
  00392	c2 10 00	 ret	 16			; 00000010H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?_Insert_n@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEXV?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@IABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z$4:
  00000	8d 4d c4	 lea	 ecx, DWORD PTR __Tmp$144329[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$?_Insert_n@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEXV?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@IABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z$5:
  00008	8d 4d a4	 lea	 ecx, DWORD PTR __Tmp$144339[ebp]
  0000b	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$?_Insert_n@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEXV?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@IABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z:
  00010	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00014	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00017	8b 4a 98	 mov	 ecx, DWORD PTR [edx-104]
  0001a	33 c8		 xor	 ecx, eax
  0001c	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00021	8b 4a ec	 mov	 ecx, DWORD PTR [edx-20]
  00024	33 c8		 xor	 ecx, eax
  00026	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0002b	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?_Insert_n@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEXV?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@IABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z
  00030	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?_Insert_n@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEXV?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@IABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z ENDP ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_Insert_n
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?_Xlen@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@KAXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?_Xlen@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@KAXXZ$0
__ehfuncinfo$?_Xlen@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@KAXXZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?_Xlen@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@KAXXZ
_TEXT	SEGMENT
$T339281 = -80						; size = 28
$T339280 = -52						; size = 40
__$EHRec$ = -12						; size = 12
?_Xlen@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@KAXXZ PROC ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@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 $T339281[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 $T339281[ebp]
  0003c	50		 push	 eax
  0003d	8d 4d cc	 lea	 ecx, DWORD PTR $T339280[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 $T339280[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 $T339281[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@34:

; 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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@KAXXZ$0:
  00000	8d 4d b0	 lea	 ecx, DWORD PTR $T339281[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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@KAXXZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?_Xlen@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@KAXXZ ENDP ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Xlen
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?_Insert_n@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@IABV?$SmartPtr@VCSettingsHolder@@@@@Z DD 0ffffffffH
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?_Insert_n@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@IABV?$SmartPtr@VCSettingsHolder@@@@@Z$4
	DD	02H
	DD	00H
	DD	02H
	DD	00H
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?_Insert_n@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@IABV?$SmartPtr@VCSettingsHolder@@@@@Z$5
__catchsym$?_Insert_n@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@IABV?$SmartPtr@VCSettingsHolder@@@@@Z$6 DD 00H
	DD	00H
	DD	00H
	DD	FLAT:__catch$?_Insert_n@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@IABV?$SmartPtr@VCSettingsHolder@@@@@Z$0
__catchsym$?_Insert_n@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@IABV?$SmartPtr@VCSettingsHolder@@@@@Z$7 DD 00H
	DD	00H
	DD	00H
	DD	FLAT:__catch$?_Insert_n@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@IABV?$SmartPtr@VCSettingsHolder@@@@@Z$2
__tryblocktable$?_Insert_n@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@IABV?$SmartPtr@VCSettingsHolder@@@@@Z DD 00H
	DD	00H
	DD	01H
	DD	01H
	DD	FLAT:__catchsym$?_Insert_n@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@IABV?$SmartPtr@VCSettingsHolder@@@@@Z$6
	DD	03H
	DD	03H
	DD	04H
	DD	01H
	DD	FLAT:__catchsym$?_Insert_n@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@IABV?$SmartPtr@VCSettingsHolder@@@@@Z$7
__ehfuncinfo$?_Insert_n@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@IABV?$SmartPtr@VCSettingsHolder@@@@@Z DD 019930522H
	DD	06H
	DD	FLAT:__unwindtable$?_Insert_n@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@IABV?$SmartPtr@VCSettingsHolder@@@@@Z
	DD	02H
	DD	FLAT:__tryblocktable$?_Insert_n@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@IABV?$SmartPtr@VCSettingsHolder@@@@@Z
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?_Insert_n@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@IABV?$SmartPtr@VCSettingsHolder@@@@@Z
_TEXT	SEGMENT
tv84 = -56						; size = 4
_this$ = -52						; size = 4
__Tmp$144256 = -48					; size = 8
__Oldend$144257 = -40					; size = 4
__Tmp$144246 = -36					; size = 8
__Newvec$144234 = -28					; size = 4
__Ptr$144235 = -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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@IABV?$SmartPtr@VCSettingsHolder@@@@@Z PROC ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@IABV?$SmartPtr@VCSettingsHolder@@@@@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 28	 sub	 esp, 40			; 00000028H
  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 cc	 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 cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00032	e8 00 00 00 00	 call	 ?capacity@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::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@26
  00040	e9 1e 03 00 00	 jmp	 $LN14@Insert_n@26
$LN12@Insert_n@26:

; 1169 : 			;
; 1170 : 		else if (max_size() - size() < _Count)

  00045	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00048	e8 00 00 00 00	 call	 ?max_size@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::max_size
  0004d	8b f0		 mov	 esi, eax
  0004f	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00052	e8 00 00 00 00	 call	 ?size@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::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@26

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

  0005e	e8 00 00 00 00	 call	 ?_Xlen@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@KAXXZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Xlen
  00063	e9 fb 02 00 00	 jmp	 $LN14@Insert_n@26
$LN10@Insert_n@26:

; 1172 : 		else if (_Capacity < size() + _Count)

  00068	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  0006b	e8 00 00 00 00	 call	 ?size@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::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@26

; 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 cc	 mov	 ecx, DWORD PTR _this$[ebp]
  0007f	e8 00 00 00 00	 call	 ?max_size@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::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@26
  00090	c7 45 c8 00 00
	00 00		 mov	 DWORD PTR tv84[ebp], 0
  00097	eb 0b		 jmp	 SHORT $LN16@Insert_n@26
$LN15@Insert_n@26:
  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 c8	 mov	 DWORD PTR tv84[ebp], edx
$LN16@Insert_n@26:
  000a4	8b 45 c8	 mov	 eax, DWORD PTR tv84[ebp]
  000a7	89 45 ec	 mov	 DWORD PTR __Capacity$[ebp], eax

; 1176 : 			if (_Capacity < size() + _Count)

  000aa	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  000ad	e8 00 00 00 00	 call	 ?size@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::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@26

; 1177 : 				_Capacity = size() + _Count;

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

; 1178 : 			pointer _Newvec = this->_Alval.allocate(_Capacity);

  000c8	8b 4d ec	 mov	 ecx, DWORD PTR __Capacity$[ebp]
  000cb	51		 push	 ecx
  000cc	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  000cf	83 c1 08	 add	 ecx, 8
  000d2	e8 00 00 00 00	 call	 ?allocate@?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAEPAV?$SmartPtr@VCSettingsHolder@@@@I@Z ; std::allocator<SmartPtr<CSettingsHolder> >::allocate
  000d7	89 45 e4	 mov	 DWORD PTR __Newvec$144234[ebp], eax

; 1179 : 			pointer _Ptr = _Newvec;

  000da	8b 55 e4	 mov	 edx, DWORD PTR __Newvec$144234[ebp]
  000dd	89 55 e8	 mov	 DWORD PTR __Ptr$144235[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$144234[ebp]
  000ea	50		 push	 eax
  000eb	8b 4d 0c	 mov	 ecx, DWORD PTR __Where$[ebp+4]
  000ee	51		 push	 ecx
  000ef	8b 55 cc	 mov	 edx, DWORD PTR _this$[ebp]
  000f2	8b 42 0c	 mov	 eax, DWORD PTR [edx+12]
  000f5	50		 push	 eax
  000f6	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  000f9	e8 00 00 00 00	 call	 ??$_Umove@PAV?$SmartPtr@VCSettingsHolder@@@@@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEPAV?$SmartPtr@VCSettingsHolder@@@@PAV2@00@Z ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Umove<SmartPtr<CSettingsHolder> *>
  000fe	89 45 e8	 mov	 DWORD PTR __Ptr$144235[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$144235[ebp]
  0010c	50		 push	 eax
  0010d	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00110	e8 00 00 00 00	 call	 ?_Ufill@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEPAV?$SmartPtr@VCSettingsHolder@@@@PAV3@IABV3@@Z ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Ufill
  00115	89 45 e8	 mov	 DWORD PTR __Ptr$144235[ebp], eax

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

  00118	8b 4d e8	 mov	 ecx, DWORD PTR __Ptr$144235[ebp]
  0011b	51		 push	 ecx
  0011c	8b 55 cc	 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 cc	 mov	 ecx, DWORD PTR _this$[ebp]
  0012a	e8 00 00 00 00	 call	 ??$_Umove@PAV?$SmartPtr@VCSettingsHolder@@@@@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEPAV?$SmartPtr@VCSettingsHolder@@@@PAV2@00@Z ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Umove<SmartPtr<CSettingsHolder> *>
  0012f	eb 39		 jmp	 SHORT $LN17@Insert_n@26
__catch$?_Insert_n@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@IABV?$SmartPtr@VCSettingsHolder@@@@@Z$0:

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

  00131	8b 55 e8	 mov	 edx, DWORD PTR __Ptr$144235[ebp]
  00134	52		 push	 edx
  00135	8b 45 e4	 mov	 eax, DWORD PTR __Newvec$144234[ebp]
  00138	50		 push	 eax
  00139	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  0013c	e8 00 00 00 00	 call	 ?_Destroy@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXPAV?$SmartPtr@VCSettingsHolder@@@@0@Z ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_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$144234[ebp]
  00148	52		 push	 edx
  00149	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  0014c	83 c1 08	 add	 ecx, 8
  0014f	e8 00 00 00 00	 call	 ?deallocate@?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAEXPAV?$SmartPtr@VCSettingsHolder@@@@I@Z ; std::allocator<SmartPtr<CSettingsHolder> >::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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@IABV?$SmartPtr@VCSettingsHolder@@@@@Z$1
  00169	c3		 ret	 0
$LN17@Insert_n@26:
  0016a	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
__tryend$?_Insert_n@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@IABV?$SmartPtr@VCSettingsHolder@@@@@Z$1:

; 1191 : 
; 1192 : 			_Count += size();

  00171	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00174	e8 00 00 00 00	 call	 ?size@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::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 cc	 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@26

; 1194 : 				{	// destroy and deallocate old array
; 1195 : 				_Destroy(_Myfirst, _Mylast);

  00188	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  0018b	8b 51 10	 mov	 edx, DWORD PTR [ecx+16]
  0018e	52		 push	 edx
  0018f	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  00192	8b 48 0c	 mov	 ecx, DWORD PTR [eax+12]
  00195	51		 push	 ecx
  00196	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00199	e8 00 00 00 00	 call	 ?_Destroy@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXPAV?$SmartPtr@VCSettingsHolder@@@@0@Z ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Destroy

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

  0019e	8b 55 cc	 mov	 edx, DWORD PTR _this$[ebp]
  001a1	8b 45 cc	 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 03	 sar	 ecx, 3
  001ad	51		 push	 ecx
  001ae	8b 55 cc	 mov	 edx, DWORD PTR _this$[ebp]
  001b1	8b 42 0c	 mov	 eax, DWORD PTR [edx+12]
  001b4	50		 push	 eax
  001b5	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  001b8	83 c1 08	 add	 ecx, 8
  001bb	e8 00 00 00 00	 call	 ?deallocate@?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAEXPAV?$SmartPtr@VCSettingsHolder@@@@I@Z ; std::allocator<SmartPtr<CSettingsHolder> >::deallocate
$LN5@Insert_n@26:

; 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$144234[ebp]
  001c6	8d 04 ca	 lea	 eax, DWORD PTR [edx+ecx*8]
  001c9	8b 4d cc	 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$144234[ebp]
  001d5	8d 0c d0	 lea	 ecx, DWORD PTR [eax+edx*8]
  001d8	8b 55 cc	 mov	 edx, DWORD PTR _this$[ebp]
  001db	89 4a 10	 mov	 DWORD PTR [edx+16], ecx

; 1205 : 			_Myfirst = _Newvec;

  001de	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  001e1	8b 4d e4	 mov	 ecx, DWORD PTR __Newvec$144234[ebp]
  001e4	89 48 0c	 mov	 DWORD PTR [eax+12], ecx
  001e7	e9 77 01 00 00	 jmp	 $LN14@Insert_n@26
$LN8@Insert_n@26:

; 1206 : 			}
; 1207 : 		else if ((size_type)(_Mylast - _VEC_ITER_BASE(_Where)) < _Count)

  001ec	8b 55 cc	 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 03	 sar	 eax, 3
  001f8	3b 45 10	 cmp	 eax, DWORD PTR __Count$[ebp]
  001fb	0f 83 dc 00 00
	00		 jae	 $LN3@Insert_n@26

; 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	51		 push	 ecx
  00205	8d 4d dc	 lea	 ecx, DWORD PTR __Tmp$144246[ebp]
  00208	e8 00 00 00 00	 call	 ??0?$SmartPtr@VCSettingsHolder@@@@QAE@ABV0@@Z ; SmartPtr<CSettingsHolder>::SmartPtr<CSettingsHolder>
  0020d	c7 45 fc 02 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+12], 2

; 1210 : 
; 1211 : 			_Umove(_VEC_ITER_BASE(_Where), _Mylast,
; 1212 : 				_VEC_ITER_BASE(_Where) + _Count);	// copy suffix

  00214	8b 55 10	 mov	 edx, DWORD PTR __Count$[ebp]
  00217	8b 45 0c	 mov	 eax, DWORD PTR __Where$[ebp+4]
  0021a	8d 0c d0	 lea	 ecx, DWORD PTR [eax+edx*8]
  0021d	51		 push	 ecx
  0021e	8b 55 cc	 mov	 edx, DWORD PTR _this$[ebp]
  00221	8b 42 10	 mov	 eax, DWORD PTR [edx+16]
  00224	50		 push	 eax
  00225	8b 4d 0c	 mov	 ecx, DWORD PTR __Where$[ebp+4]
  00228	51		 push	 ecx
  00229	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  0022c	e8 00 00 00 00	 call	 ??$_Umove@PAV?$SmartPtr@VCSettingsHolder@@@@@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEPAV?$SmartPtr@VCSettingsHolder@@@@PAV2@00@Z ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Umove<SmartPtr<CSettingsHolder> *>

; 1213 : 
; 1214 : 			_TRY_BEGIN

  00231	c6 45 fc 03	 mov	 BYTE PTR __$EHRec$[ebp+12], 3

; 1215 : 			_Ufill(_Mylast, _Count - (_Mylast - _VEC_ITER_BASE(_Where)),
; 1216 : 				_Tmp);	// insert new stuff off end

  00235	8d 55 dc	 lea	 edx, DWORD PTR __Tmp$144246[ebp]
  00238	52		 push	 edx
  00239	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  0023c	8b 48 10	 mov	 ecx, DWORD PTR [eax+16]
  0023f	2b 4d 0c	 sub	 ecx, DWORD PTR __Where$[ebp+4]
  00242	c1 f9 03	 sar	 ecx, 3
  00245	8b 55 10	 mov	 edx, DWORD PTR __Count$[ebp]
  00248	2b d1		 sub	 edx, ecx
  0024a	52		 push	 edx
  0024b	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  0024e	8b 48 10	 mov	 ecx, DWORD PTR [eax+16]
  00251	51		 push	 ecx
  00252	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00255	e8 00 00 00 00	 call	 ?_Ufill@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEPAV?$SmartPtr@VCSettingsHolder@@@@PAV3@IABV3@@Z ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Ufill
  0025a	eb 35		 jmp	 SHORT $LN19@Insert_n@26
__catch$?_Insert_n@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@IABV?$SmartPtr@VCSettingsHolder@@@@@Z$2:

; 1217 : 			_CATCH_ALL
; 1218 : 			_Destroy(_VEC_ITER_BASE(_Where) + _Count, _Mylast + _Count);

  0025c	8b 55 cc	 mov	 edx, DWORD PTR _this$[ebp]
  0025f	8b 42 10	 mov	 eax, DWORD PTR [edx+16]
  00262	8b 4d 10	 mov	 ecx, DWORD PTR __Count$[ebp]
  00265	8d 14 c8	 lea	 edx, DWORD PTR [eax+ecx*8]
  00268	52		 push	 edx
  00269	8b 45 10	 mov	 eax, DWORD PTR __Count$[ebp]
  0026c	8b 4d 0c	 mov	 ecx, DWORD PTR __Where$[ebp+4]
  0026f	8d 14 c1	 lea	 edx, DWORD PTR [ecx+eax*8]
  00272	52		 push	 edx
  00273	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00276	e8 00 00 00 00	 call	 ?_Destroy@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXPAV?$SmartPtr@VCSettingsHolder@@@@0@Z ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Destroy

; 1219 : 			_RERAISE;

  0027b	6a 00		 push	 0
  0027d	6a 00		 push	 0
  0027f	e8 00 00 00 00	 call	 __CxxThrowException@8

; 1220 : 			_CATCH_END

  00284	c7 45 fc 02 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+12], 2
  0028b	b8 00 00 00 00	 mov	 eax, __tryend$?_Insert_n@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@IABV?$SmartPtr@VCSettingsHolder@@@@@Z$3
  00290	c3		 ret	 0
$LN19@Insert_n@26:
  00291	c7 45 fc 02 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+12], 2
__tryend$?_Insert_n@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@IABV?$SmartPtr@VCSettingsHolder@@@@@Z$3:

; 1221 : 
; 1222 : 			_Mylast += _Count;

  00298	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  0029b	8b 48 10	 mov	 ecx, DWORD PTR [eax+16]
  0029e	8b 55 10	 mov	 edx, DWORD PTR __Count$[ebp]
  002a1	8d 04 d1	 lea	 eax, DWORD PTR [ecx+edx*8]
  002a4	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  002a7	89 41 10	 mov	 DWORD PTR [ecx+16], eax

; 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

  002aa	8d 55 dc	 lea	 edx, DWORD PTR __Tmp$144246[ebp]
  002ad	52		 push	 edx
  002ae	8b 45 10	 mov	 eax, DWORD PTR __Count$[ebp]
  002b1	c1 e0 03	 shl	 eax, 3
  002b4	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  002b7	8b 51 10	 mov	 edx, DWORD PTR [ecx+16]
  002ba	2b d0		 sub	 edx, eax
  002bc	52		 push	 edx
  002bd	8b 45 0c	 mov	 eax, DWORD PTR __Where$[ebp+4]
  002c0	50		 push	 eax
  002c1	e8 00 00 00 00	 call	 ??$fill@PAV?$SmartPtr@VCSettingsHolder@@@@V1@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@0ABV1@@Z ; std::fill<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> >
  002c6	83 c4 0c	 add	 esp, 12			; 0000000cH

; 1230 : 			}

  002c9	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
  002d0	8d 4d dc	 lea	 ecx, DWORD PTR __Tmp$144246[ebp]
  002d3	e8 00 00 00 00	 call	 ??1?$SmartPtr@VCSettingsHolder@@@@QAE@XZ ; SmartPtr<CSettingsHolder>::~SmartPtr<CSettingsHolder>

; 1231 : 		else

  002d8	e9 86 00 00 00	 jmp	 $LN14@Insert_n@26
$LN3@Insert_n@26:

; 1232 : 			{	// new stuff can all be assigned
; 1233 : 			_Ty _Tmp = _Val;	// in case _Val is in sequence

  002dd	8b 4d 14	 mov	 ecx, DWORD PTR __Val$[ebp]
  002e0	51		 push	 ecx
  002e1	8d 4d d0	 lea	 ecx, DWORD PTR __Tmp$144256[ebp]
  002e4	e8 00 00 00 00	 call	 ??0?$SmartPtr@VCSettingsHolder@@@@QAE@ABV0@@Z ; SmartPtr<CSettingsHolder>::SmartPtr<CSettingsHolder>
  002e9	c7 45 fc 05 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+12], 5

; 1234 : 
; 1235 : 			pointer _Oldend = _Mylast;

  002f0	8b 55 cc	 mov	 edx, DWORD PTR _this$[ebp]
  002f3	8b 42 10	 mov	 eax, DWORD PTR [edx+16]
  002f6	89 45 d8	 mov	 DWORD PTR __Oldend$144257[ebp], eax

; 1236 : 			_Mylast = _Umove(_Oldend - _Count, _Oldend,
; 1237 : 				_Mylast);	// copy suffix

  002f9	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  002fc	8b 51 10	 mov	 edx, DWORD PTR [ecx+16]
  002ff	52		 push	 edx
  00300	8b 45 d8	 mov	 eax, DWORD PTR __Oldend$144257[ebp]
  00303	50		 push	 eax
  00304	8b 4d 10	 mov	 ecx, DWORD PTR __Count$[ebp]
  00307	c1 e1 03	 shl	 ecx, 3
  0030a	8b 55 d8	 mov	 edx, DWORD PTR __Oldend$144257[ebp]
  0030d	2b d1		 sub	 edx, ecx
  0030f	52		 push	 edx
  00310	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00313	e8 00 00 00 00	 call	 ??$_Umove@PAV?$SmartPtr@VCSettingsHolder@@@@@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEPAV?$SmartPtr@VCSettingsHolder@@@@PAV2@00@Z ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Umove<SmartPtr<CSettingsHolder> *>
  00318	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  0031b	89 41 10	 mov	 DWORD PTR [ecx+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

  0031e	8b 55 d8	 mov	 edx, DWORD PTR __Oldend$144257[ebp]
  00321	52		 push	 edx
  00322	8b 45 10	 mov	 eax, DWORD PTR __Count$[ebp]
  00325	c1 e0 03	 shl	 eax, 3
  00328	8b 4d d8	 mov	 ecx, DWORD PTR __Oldend$144257[ebp]
  0032b	2b c8		 sub	 ecx, eax
  0032d	51		 push	 ecx
  0032e	8b 55 0c	 mov	 edx, DWORD PTR __Where$[ebp+4]
  00331	52		 push	 edx
  00332	e8 00 00 00 00	 call	 ??$_Unchecked_move_backward@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@@stdext@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00@Z ; stdext::_Unchecked_move_backward<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *>
  00337	83 c4 0c	 add	 esp, 12			; 0000000cH

; 1245 : 			std::fill(_VEC_ITER_BASE(_Where), _VEC_ITER_BASE(_Where) + _Count,
; 1246 : 				_Tmp);	// insert into hole

  0033a	8d 45 d0	 lea	 eax, DWORD PTR __Tmp$144256[ebp]
  0033d	50		 push	 eax
  0033e	8b 4d 10	 mov	 ecx, DWORD PTR __Count$[ebp]
  00341	8b 55 0c	 mov	 edx, DWORD PTR __Where$[ebp+4]
  00344	8d 04 ca	 lea	 eax, DWORD PTR [edx+ecx*8]
  00347	50		 push	 eax
  00348	8b 4d 0c	 mov	 ecx, DWORD PTR __Where$[ebp+4]
  0034b	51		 push	 ecx
  0034c	e8 00 00 00 00	 call	 ??$fill@PAV?$SmartPtr@VCSettingsHolder@@@@V1@@std@@YAXPAV?$SmartPtr@VCSettingsHolder@@@@0ABV1@@Z ; std::fill<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> >
  00351	83 c4 0c	 add	 esp, 12			; 0000000cH

; 1247 : 			}

  00354	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
  0035b	8d 4d d0	 lea	 ecx, DWORD PTR __Tmp$144256[ebp]
  0035e	e8 00 00 00 00	 call	 ??1?$SmartPtr@VCSettingsHolder@@@@QAE@XZ ; SmartPtr<CSettingsHolder>::~SmartPtr<CSettingsHolder>
$LN14@Insert_n@26:

; 1248 : 		}

  00363	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp+4]
  00366	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0036d	59		 pop	 ecx
  0036e	5f		 pop	 edi
  0036f	5e		 pop	 esi
  00370	5b		 pop	 ebx
  00371	8b e5		 mov	 esp, ebp
  00373	5d		 pop	 ebp
  00374	c2 10 00	 ret	 16			; 00000010H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?_Insert_n@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@IABV?$SmartPtr@VCSettingsHolder@@@@@Z$4:
  00000	8d 4d dc	 lea	 ecx, DWORD PTR __Tmp$144246[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VCSettingsHolder@@@@QAE@XZ ; SmartPtr<CSettingsHolder>::~SmartPtr<CSettingsHolder>
__unwindfunclet$?_Insert_n@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@IABV?$SmartPtr@VCSettingsHolder@@@@@Z$5:
  00008	8d 4d d0	 lea	 ecx, DWORD PTR __Tmp$144256[ebp]
  0000b	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VCSettingsHolder@@@@QAE@XZ ; SmartPtr<CSettingsHolder>::~SmartPtr<CSettingsHolder>
__ehhandler$?_Insert_n@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@IABV?$SmartPtr@VCSettingsHolder@@@@@Z:
  00010	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00014	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00017	8b 4a c4	 mov	 ecx, DWORD PTR [edx-60]
  0001a	33 c8		 xor	 ecx, eax
  0001c	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00021	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?_Insert_n@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@IABV?$SmartPtr@VCSettingsHolder@@@@@Z
  00026	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?_Insert_n@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@IABV?$SmartPtr@VCSettingsHolder@@@@@Z ENDP ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Insert_n
; Function compile flags: /Odtp
;	COMDAT ?insert@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAE?AV?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@V?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z
_TEXT	SEGMENT
tv77 = -28						; size = 4
_this$ = -24						; size = 4
$T339319 = -20						; size = 8
$T339316 = -12						; size = 8
__Off$ = -4						; size = 4
___$ReturnUdt$ = 8					; size = 4
__Where$ = 12						; size = 8
__Val$ = 20						; size = 4
?insert@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAE?AV?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@V?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z PROC ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBEIXZ ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::size
  00011	85 c0		 test	 eax, eax
  00013	75 09		 jne	 SHORT $LN3@insert@28
  00015	c7 45 e4 00 00
	00 00		 mov	 DWORD PTR tv77[ebp], 0
  0001c	eb 18		 jmp	 SHORT $LN4@insert@28
$LN3@insert@28:
  0001e	8d 45 f4	 lea	 eax, DWORD PTR $T339316[ebp]
  00021	50		 push	 eax
  00022	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00025	e8 00 00 00 00	 call	 ?begin@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAE?AV?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@XZ ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBEHABV01@@Z ; std::_Vector_const_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::operator-
  00033	89 45 e4	 mov	 DWORD PTR tv77[ebp], eax
$LN4@insert@28:
  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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEXV?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@IABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_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 $T339319[ebp]
  0005d	51		 push	 ecx
  0005e	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00061	e8 00 00 00 00	 call	 ?begin@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAE?AV?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@XZ ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::begin
  00066	8b c8		 mov	 ecx, eax
  00068	e8 00 00 00 00	 call	 ??H?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBE?AV01@H@Z ; std::_Vector_iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAE?AV?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@V?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z ENDP ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::insert
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?_Buy@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE_NI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Capacity$ = 8						; size = 4
?_Buy@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE_NI@Z PROC ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_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@32

; 1110 : 			return (false);

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

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

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

  0003e	e8 00 00 00 00	 call	 ?_Xlen@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@KAXXZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Xlen

; 1113 : 		else

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

; 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@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAEPAV?$SmartPtr@VCSettingsHolder@@@@I@Z ; std::allocator<SmartPtr<CSettingsHolder> >::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 c8	 lea	 edx, DWORD PTR [eax+ecx*8]
  00072	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00075	89 50 14	 mov	 DWORD PTR [eax+20], edx
$LN3@Buy@32:

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

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

; 1120 : 		}

  0007a	8b e5		 mov	 esp, ebp
  0007c	5d		 pop	 ebp
  0007d	c2 04 00	 ret	 4
?_Buy@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE_NI@Z ENDP ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Buy
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?insert@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@V?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@ABV?$SmartPtr@VCSettingsHolder@@@@@Z
_TEXT	SEGMENT
tv77 = -28						; size = 4
_this$ = -24						; size = 4
$T339327 = -20						; size = 8
$T339324 = -12						; size = 8
__Off$ = -4						; size = 4
___$ReturnUdt$ = 8					; size = 4
__Where$ = 12						; size = 8
__Val$ = 20						; size = 4
?insert@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@V?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@ABV?$SmartPtr@VCSettingsHolder@@@@@Z PROC ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::size
  00011	85 c0		 test	 eax, eax
  00013	75 09		 jne	 SHORT $LN3@insert@29
  00015	c7 45 e4 00 00
	00 00		 mov	 DWORD PTR tv77[ebp], 0
  0001c	eb 18		 jmp	 SHORT $LN4@insert@29
$LN3@insert@29:
  0001e	8d 45 f4	 lea	 eax, DWORD PTR $T339324[ebp]
  00021	50		 push	 eax
  00022	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00025	e8 00 00 00 00	 call	 ?begin@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@XZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBEHABV01@@Z ; std::_Vector_const_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::operator-
  00033	89 45 e4	 mov	 DWORD PTR tv77[ebp], eax
$LN4@insert@29:
  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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@IABV?$SmartPtr@VCSettingsHolder@@@@@Z ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_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 $T339327[ebp]
  0005d	51		 push	 ecx
  0005e	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00061	e8 00 00 00 00	 call	 ?begin@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@XZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::begin
  00066	8b c8		 mov	 ecx, eax
  00068	e8 00 00 00 00	 call	 ??H?$_Vector_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBE?AV01@H@Z ; std::_Vector_iterator<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@V?$_Vector_const_iterator@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@2@ABV?$SmartPtr@VCSettingsHolder@@@@@Z ENDP ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::insert
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?push_back@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAEXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z
_TEXT	SEGMENT
_this$ = -28						; size = 4
$T339332 = -24						; size = 8
$T339331 = -16						; size = 8
$T339330 = -8						; size = 8
__Val$ = 8						; size = 4
?push_back@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAEXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z PROC ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBEIXZ ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QBEIXZ ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::capacity
  0001c	3b f0		 cmp	 esi, eax
  0001e	73 1d		 jae	 SHORT $LN2@push_back@24

; 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@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@IAEPAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@PAV32@IABV32@@Z ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::_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@24
$LN2@push_back@24:

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

  0003d	8d 55 f0	 lea	 edx, DWORD PTR $T339331[ebp]
  00040	52		 push	 edx
  00041	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00044	e8 00 00 00 00	 call	 ?end@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAE?AV?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@XZ ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::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 $T339330[ebp], ecx
  00051	89 55 fc	 mov	 DWORD PTR $T339330[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 $T339330[ebp+4]
  0005b	51		 push	 ecx
  0005c	8b 55 f8	 mov	 edx, DWORD PTR $T339330[ebp]
  0005f	52		 push	 edx
  00060	8d 45 e8	 lea	 eax, DWORD PTR $T339332[ebp]
  00063	50		 push	 eax
  00064	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00067	e8 00 00 00 00	 call	 ?insert@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAE?AV?$_Vector_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@V?$_Vector_const_iterator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::insert
$LN3@push_back@24:

; 824  : 		}

  0006c	5e		 pop	 esi
  0006d	8b e5		 mov	 esp, ebp
  0006f	5d		 pop	 ebp
  00070	c2 04 00	 ret	 4
?push_back@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAEXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z ENDP ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::push_back
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?push_back@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAEXABV?$SmartPtr@VCSettingsHolder@@@@@Z
_TEXT	SEGMENT
_this$ = -28						; size = 4
$T339337 = -24						; size = 8
$T339336 = -16						; size = 8
$T339335 = -8						; size = 8
__Val$ = 8						; size = 4
?push_back@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAEXABV?$SmartPtr@VCSettingsHolder@@@@@Z PROC ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::capacity
  0001c	3b f0		 cmp	 esi, eax
  0001e	73 1d		 jae	 SHORT $LN2@push_back@25

; 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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEPAV?$SmartPtr@VCSettingsHolder@@@@PAV3@IABV3@@Z ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_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@25
$LN2@push_back@25:

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

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

; 824  : 		}

  0006c	5e		 pop	 esi
  0006d	8b e5		 mov	 esp, ebp
  0006f	5d		 pop	 ebp
  00070	c2 04 00	 ret	 4
?push_back@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAEXABV?$SmartPtr@VCSettingsHolder@@@@@Z ENDP ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::push_back
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??4?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAEAAV01@ABV01@@Z
_TEXT	SEGMENT
_this$ = -12						; size = 4
__Ptr$143648 = -8					; size = 4
__Ptr$143638 = -4					; size = 4
__Right$ = 8						; size = 4
??4?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAEAAV01@ABV01@@Z PROC ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::operator=, COMDAT
; _this$ = ecx

; 563  : 		{	// assign _Right

  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

; 564  : 		if (this != &_Right)

  0000a	8b 45 f4	 mov	 eax, DWORD PTR _this$[ebp]
  0000d	3b 45 08	 cmp	 eax, DWORD PTR __Right$[ebp]
  00010	0f 84 60 01 00
	00		 je	 $LN9@operator@503

; 565  : 			{	// worth doing
; 566  : 
; 567  :  #if _HAS_ITERATOR_DEBUGGING
; 568  : 			this->_Orphan_all();
; 569  :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 570  : 
; 571  : 			if (_Right.size() == 0)

  00016	8b 4d 08	 mov	 ecx, DWORD PTR __Right$[ebp]
  00019	e8 00 00 00 00	 call	 ?size@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::size
  0001e	85 c0		 test	 eax, eax
  00020	75 0d		 jne	 SHORT $LN8@operator@503

; 572  : 				clear();	// new sequence empty, erase existing sequence

  00022	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  00025	e8 00 00 00 00	 call	 ?clear@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAEXXZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::clear
  0002a	e9 47 01 00 00	 jmp	 $LN9@operator@503
$LN8@operator@503:

; 573  : 			else if (_Right.size() <= size())

  0002f	8b 4d 08	 mov	 ecx, DWORD PTR __Right$[ebp]
  00032	e8 00 00 00 00	 call	 ?size@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::size
  00037	8b f0		 mov	 esi, eax
  00039	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  0003c	e8 00 00 00 00	 call	 ?size@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::size
  00041	3b f0		 cmp	 esi, eax
  00043	77 4f		 ja	 SHORT $LN6@operator@503

; 574  : 				{	// enough elements, copy new and destroy old
; 575  : 				pointer _Ptr = _STDEXT unchecked_copy(_Right._Myfirst, _Right._Mylast,
; 576  : 					_Myfirst);	// copy new

  00045	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  00048	8b 51 0c	 mov	 edx, DWORD PTR [ecx+12]
  0004b	52		 push	 edx
  0004c	8b 45 08	 mov	 eax, DWORD PTR __Right$[ebp]
  0004f	8b 48 10	 mov	 ecx, DWORD PTR [eax+16]
  00052	51		 push	 ecx
  00053	8b 55 08	 mov	 edx, DWORD PTR __Right$[ebp]
  00056	8b 42 0c	 mov	 eax, DWORD PTR [edx+12]
  00059	50		 push	 eax
  0005a	e8 00 00 00 00	 call	 ??$unchecked_copy@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@@stdext@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00@Z ; stdext::unchecked_copy<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *>
  0005f	83 c4 0c	 add	 esp, 12			; 0000000cH
  00062	89 45 fc	 mov	 DWORD PTR __Ptr$143638[ebp], eax

; 577  : 				_Destroy(_Ptr, _Mylast);	// destroy old

  00065	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  00068	8b 51 10	 mov	 edx, DWORD PTR [ecx+16]
  0006b	52		 push	 edx
  0006c	8b 45 fc	 mov	 eax, DWORD PTR __Ptr$143638[ebp]
  0006f	50		 push	 eax
  00070	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  00073	e8 00 00 00 00	 call	 ?_Destroy@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXPAV?$SmartPtr@VCSettingsHolder@@@@0@Z ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Destroy

; 578  : 				_Mylast = _Myfirst + _Right.size();

  00078	8b 4d 08	 mov	 ecx, DWORD PTR __Right$[ebp]
  0007b	e8 00 00 00 00	 call	 ?size@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::size
  00080	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  00083	8b 51 0c	 mov	 edx, DWORD PTR [ecx+12]
  00086	8d 04 c2	 lea	 eax, DWORD PTR [edx+eax*8]
  00089	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  0008c	89 41 10	 mov	 DWORD PTR [ecx+16], eax
  0008f	e9 e2 00 00 00	 jmp	 $LN9@operator@503
$LN6@operator@503:

; 579  : 				}
; 580  : 			else if (_Right.size() <= capacity())

  00094	8b 4d 08	 mov	 ecx, DWORD PTR __Right$[ebp]
  00097	e8 00 00 00 00	 call	 ?size@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::size
  0009c	8b f0		 mov	 esi, eax
  0009e	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  000a1	e8 00 00 00 00	 call	 ?capacity@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::capacity
  000a6	3b f0		 cmp	 esi, eax
  000a8	77 50		 ja	 SHORT $LN4@operator@503

; 581  : 				{	// enough room, copy and construct new
; 582  : 				pointer _Ptr = _Right._Myfirst + size();

  000aa	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  000ad	e8 00 00 00 00	 call	 ?size@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::size
  000b2	8b 55 08	 mov	 edx, DWORD PTR __Right$[ebp]
  000b5	8b 4a 0c	 mov	 ecx, DWORD PTR [edx+12]
  000b8	8d 14 c1	 lea	 edx, DWORD PTR [ecx+eax*8]
  000bb	89 55 f8	 mov	 DWORD PTR __Ptr$143648[ebp], edx

; 583  : 				_STDEXT unchecked_copy(_Right._Myfirst, _Ptr, _Myfirst);

  000be	8b 45 f4	 mov	 eax, DWORD PTR _this$[ebp]
  000c1	8b 48 0c	 mov	 ecx, DWORD PTR [eax+12]
  000c4	51		 push	 ecx
  000c5	8b 55 f8	 mov	 edx, DWORD PTR __Ptr$143648[ebp]
  000c8	52		 push	 edx
  000c9	8b 45 08	 mov	 eax, DWORD PTR __Right$[ebp]
  000cc	8b 48 0c	 mov	 ecx, DWORD PTR [eax+12]
  000cf	51		 push	 ecx
  000d0	e8 00 00 00 00	 call	 ??$unchecked_copy@PAV?$SmartPtr@VCSettingsHolder@@@@PAV1@@stdext@@YAPAV?$SmartPtr@VCSettingsHolder@@@@PAV1@00@Z ; stdext::unchecked_copy<SmartPtr<CSettingsHolder> *,SmartPtr<CSettingsHolder> *>
  000d5	83 c4 0c	 add	 esp, 12			; 0000000cH

; 584  : 				_Mylast = _Ucopy(_Ptr, _Right._Mylast, _Mylast);

  000d8	8b 55 f4	 mov	 edx, DWORD PTR _this$[ebp]
  000db	8b 42 10	 mov	 eax, DWORD PTR [edx+16]
  000de	50		 push	 eax
  000df	8b 4d 08	 mov	 ecx, DWORD PTR __Right$[ebp]
  000e2	8b 51 10	 mov	 edx, DWORD PTR [ecx+16]
  000e5	52		 push	 edx
  000e6	8b 45 f8	 mov	 eax, DWORD PTR __Ptr$143648[ebp]
  000e9	50		 push	 eax
  000ea	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  000ed	e8 00 00 00 00	 call	 ??$_Ucopy@PAV?$SmartPtr@VCSettingsHolder@@@@@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEPAV?$SmartPtr@VCSettingsHolder@@@@PAV2@00@Z ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Ucopy<SmartPtr<CSettingsHolder> *>
  000f2	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  000f5	89 41 10	 mov	 DWORD PTR [ecx+16], eax

; 585  : 				}
; 586  : 			else

  000f8	eb 7c		 jmp	 SHORT $LN9@operator@503
$LN4@operator@503:

; 587  : 				{	// not enough room, allocate new array and construct new
; 588  : 				if (_Myfirst != 0)

  000fa	8b 55 f4	 mov	 edx, DWORD PTR _this$[ebp]
  000fd	83 7a 0c 00	 cmp	 DWORD PTR [edx+12], 0
  00101	74 38		 je	 SHORT $LN2@operator@503

; 589  : 					{	// discard old array
; 590  : 					_Destroy(_Myfirst, _Mylast);

  00103	8b 45 f4	 mov	 eax, DWORD PTR _this$[ebp]
  00106	8b 48 10	 mov	 ecx, DWORD PTR [eax+16]
  00109	51		 push	 ecx
  0010a	8b 55 f4	 mov	 edx, DWORD PTR _this$[ebp]
  0010d	8b 42 0c	 mov	 eax, DWORD PTR [edx+12]
  00110	50		 push	 eax
  00111	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  00114	e8 00 00 00 00	 call	 ?_Destroy@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEXPAV?$SmartPtr@VCSettingsHolder@@@@0@Z ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Destroy

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

  00119	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  0011c	8b 55 f4	 mov	 edx, DWORD PTR _this$[ebp]
  0011f	8b 41 14	 mov	 eax, DWORD PTR [ecx+20]
  00122	2b 42 0c	 sub	 eax, DWORD PTR [edx+12]
  00125	c1 f8 03	 sar	 eax, 3
  00128	50		 push	 eax
  00129	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  0012c	8b 51 0c	 mov	 edx, DWORD PTR [ecx+12]
  0012f	52		 push	 edx
  00130	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  00133	83 c1 08	 add	 ecx, 8
  00136	e8 00 00 00 00	 call	 ?deallocate@?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAEXPAV?$SmartPtr@VCSettingsHolder@@@@I@Z ; std::allocator<SmartPtr<CSettingsHolder> >::deallocate
$LN2@operator@503:

; 592  : 					}
; 593  : 				if (_Buy(_Right.size()))

  0013b	8b 4d 08	 mov	 ecx, DWORD PTR __Right$[ebp]
  0013e	e8 00 00 00 00	 call	 ?size@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::size
  00143	50		 push	 eax
  00144	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  00147	e8 00 00 00 00	 call	 ?_Buy@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE_NI@Z ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Buy
  0014c	0f b6 c0	 movzx	 eax, al
  0014f	85 c0		 test	 eax, eax
  00151	74 23		 je	 SHORT $LN9@operator@503

; 594  : 					_Mylast = _Ucopy(_Right._Myfirst, _Right._Mylast,
; 595  : 						_Myfirst);

  00153	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  00156	8b 51 0c	 mov	 edx, DWORD PTR [ecx+12]
  00159	52		 push	 edx
  0015a	8b 45 08	 mov	 eax, DWORD PTR __Right$[ebp]
  0015d	8b 48 10	 mov	 ecx, DWORD PTR [eax+16]
  00160	51		 push	 ecx
  00161	8b 55 08	 mov	 edx, DWORD PTR __Right$[ebp]
  00164	8b 42 0c	 mov	 eax, DWORD PTR [edx+12]
  00167	50		 push	 eax
  00168	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  0016b	e8 00 00 00 00	 call	 ??$_Ucopy@PAV?$SmartPtr@VCSettingsHolder@@@@@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAEPAV?$SmartPtr@VCSettingsHolder@@@@PAV2@00@Z ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Ucopy<SmartPtr<CSettingsHolder> *>
  00170	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  00173	89 41 10	 mov	 DWORD PTR [ecx+16], eax
$LN9@operator@503:

; 596  : 				}
; 597  : 			}
; 598  : 		return (*this);

  00176	8b 45 f4	 mov	 eax, DWORD PTR _this$[ebp]

; 599  : 		}

  00179	5e		 pop	 esi
  0017a	8b e5		 mov	 esp, ebp
  0017c	5d		 pop	 ebp
  0017d	c2 04 00	 ret	 4
??4?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAEAAV01@ABV01@@Z ENDP ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::operator=
_TEXT	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@XZ$0
__ehfuncinfo$??0?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -20						; size = 4
$T339342 = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@XZ PROC ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >, 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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@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 $T339342[ebp], esp
  0002e	e8 00 00 00 00	 call	 ??0?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@QAE@XZ ; std::allocator<SmartPtr<CSettingsHolder> >::allocator<SmartPtr<CSettingsHolder> >
  00033	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00036	e8 00 00 00 00	 call	 ??0?$_Vector_val@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@1@@Z ; std::_Vector_val<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_Vector_val<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >
  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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@IAE_NI@Z ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::_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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@XZ
__ehhandler$??0?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@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@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@XZ ENDP ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\dynamicfunction.h
;	COMDAT ??0?$DynamicFunctionParent@P6APAU_DEINTERLACE_METHOD@@J@Z@@QAE@PB_WPBD@Z
_TEXT	SEGMENT
_this$ = -8						; size = 4
_LibraryModule$ = -4					; size = 4
_LibraryName$ = 8					; size = 4
_FunctionName$ = 12					; size = 4
??0?$DynamicFunctionParent@P6APAU_DEINTERLACE_METHOD@@J@Z@@QAE@PB_WPBD@Z PROC ; DynamicFunctionParent<_DEINTERLACE_METHOD * (__cdecl*)(long)>::DynamicFunctionParent<_DEINTERLACE_METHOD * (__cdecl*)(long)>, COMDAT
; _this$ = ecx

; 30   :     {

  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
  00009	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], 0

; 31   :         HMODULE LibraryModule = LibraryCache::GetLibraryHandle(LibraryName);

  00012	8b 4d 08	 mov	 ecx, DWORD PTR _LibraryName$[ebp]
  00015	51		 push	 ecx
  00016	e8 00 00 00 00	 call	 ?GetLibraryHandle@LibraryCache@@SAPAUHINSTANCE__@@PB_W@Z ; LibraryCache::GetLibraryHandle
  0001b	83 c4 04	 add	 esp, 4
  0001e	89 45 fc	 mov	 DWORD PTR _LibraryModule$[ebp], eax

; 32   :         if(LibraryModule)

  00021	83 7d fc 00	 cmp	 DWORD PTR _LibraryModule$[ebp], 0
  00025	74 13		 je	 SHORT $LN2@DynamicFun@3

; 33   :         {
; 34   :             m_pFunc = (FUNCTYPE)GetProcAddress(LibraryModule,FunctionName);

  00027	8b 55 0c	 mov	 edx, DWORD PTR _FunctionName$[ebp]
  0002a	52		 push	 edx
  0002b	8b 45 fc	 mov	 eax, DWORD PTR _LibraryModule$[ebp]
  0002e	50		 push	 eax
  0002f	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__GetProcAddress@8
  00035	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00038	89 01		 mov	 DWORD PTR [ecx], eax
$LN2@DynamicFun@3:

; 35   :         }
; 36   :     }

  0003a	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  0003d	8b e5		 mov	 esp, ebp
  0003f	5d		 pop	 ebp
  00040	c2 08 00	 ret	 8
??0?$DynamicFunctionParent@P6APAU_DEINTERLACE_METHOD@@J@Z@@QAE@PB_WPBD@Z ENDP ; DynamicFunctionParent<_DEINTERLACE_METHOD * (__cdecl*)(long)>::DynamicFunctionParent<_DEINTERLACE_METHOD * (__cdecl*)(long)>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$DynamicFunctionC1@PAU_DEINTERLACE_METHOD@@J@@QAE@PB_WPBD@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_LibraryName$ = 8					; size = 4
_FunctionName$ = 12					; size = 4
??0?$DynamicFunctionC1@PAU_DEINTERLACE_METHOD@@J@@QAE@PB_WPBD@Z PROC ; DynamicFunctionC1<_DEINTERLACE_METHOD *,long>::DynamicFunctionC1<_DEINTERLACE_METHOD *,long>, COMDAT
; _this$ = ecx

; 53   :     {

  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 _FunctionName$[ebp]
  0000a	50		 push	 eax
  0000b	8b 4d 08	 mov	 ecx, DWORD PTR _LibraryName$[ebp]
  0000e	51		 push	 ecx
  0000f	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00012	e8 00 00 00 00	 call	 ??0?$DynamicFunctionParent@P6APAU_DEINTERLACE_METHOD@@J@Z@@QAE@PB_WPBD@Z ; DynamicFunctionParent<_DEINTERLACE_METHOD * (__cdecl*)(long)>::DynamicFunctionParent<_DEINTERLACE_METHOD * (__cdecl*)(long)>

; 54   :     }

  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?$DynamicFunctionC1@PAU_DEINTERLACE_METHOD@@J@@QAE@PB_WPBD@Z ENDP ; DynamicFunctionC1<_DEINTERLACE_METHOD *,long>::DynamicFunctionC1<_DEINTERLACE_METHOD *,long>
_TEXT	ENDS
PUBLIC	?GetDeinterlaceSettings@@YAXAAV?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@AAV?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@@Z ; GetDeinterlaceSettings
;	COMDAT xdata$x
; File c:\develop\dscaler423a\dscaler\deinterlace.cpp
xdata$x	SEGMENT
__unwindtable$?GetDeinterlaceSettings@@YAXAAV?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@AAV?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?GetDeinterlaceSettings@@YAXAAV?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@AAV?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?GetDeinterlaceSettings@@YAXAAV?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@AAV?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@@Z$1
__ehfuncinfo$?GetDeinterlaceSettings@@YAXAAV?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@AAV?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$?GetDeinterlaceSettings@@YAXAAV?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@AAV?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?GetDeinterlaceSettings@@YAXAAV?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@AAV?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@@Z
_TEXT	SEGMENT
tv85 = -80						; size = 4
tv72 = -76						; size = 4
$T342169 = -72						; size = 28
$T342168 = -44						; size = 28
_i$143596 = -16						; size = 4
__$EHRec$ = -12						; size = 12
_Holders$ = 8						; size = 4
_Names$ = 12						; size = 4
?GetDeinterlaceSettings@@YAXAAV?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@AAV?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@@Z PROC ; GetDeinterlaceSettings, COMDAT

; 860  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?GetDeinterlaceSettings@@YAXAAV?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@AAV?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@@Z
  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

; 861  :     Holders = DeinterlaceHolders;

  00025	68 00 00 00 00	 push	 OFFSET ?DeinterlaceHolders@@3V?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@A ; DeinterlaceHolders
  0002a	8b 4d 08	 mov	 ecx, DWORD PTR _Holders$[ebp]
  0002d	e8 00 00 00 00	 call	 ??4?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAEAAV01@ABV01@@Z ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::operator=

; 862  :     Names.clear();

  00032	8b 4d 0c	 mov	 ecx, DWORD PTR _Names$[ebp]
  00035	e8 00 00 00 00	 call	 ?clear@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAEXXZ ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::clear

; 863  :     for(int i(0); i < NumVideoModes; i++)

  0003a	c7 45 f0 00 00
	00 00		 mov	 DWORD PTR _i$143596[ebp], 0
  00041	eb 09		 jmp	 SHORT $LN3@GetDeinter@2
$LN2@GetDeinter@2:
  00043	8b 45 f0	 mov	 eax, DWORD PTR _i$143596[ebp]
  00046	83 c0 01	 add	 eax, 1
  00049	89 45 f0	 mov	 DWORD PTR _i$143596[ebp], eax
$LN3@GetDeinter@2:
  0004c	8b 4d f0	 mov	 ecx, DWORD PTR _i$143596[ebp]
  0004f	3b 0d 00 00 00
	00		 cmp	 ecx, DWORD PTR ?NumVideoModes@@3JA ; NumVideoModes
  00055	7d 63		 jge	 SHORT $LN4@GetDeinter@2

; 864  :     {
; 865  :         Names.push_back(MBCSToTString(VideoDeintMethods[i]->szName));

  00057	8b 55 f0	 mov	 edx, DWORD PTR _i$143596[ebp]
  0005a	8b 04 95 00 00
	00 00		 mov	 eax, DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[edx*4]
  00061	8b 48 08	 mov	 ecx, DWORD PTR [eax+8]
  00064	51		 push	 ecx
  00065	8d 4d d4	 lea	 ecx, DWORD PTR $T342168[ebp]
  00068	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> >
  0006d	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00074	8d 55 d4	 lea	 edx, DWORD PTR $T342168[ebp]
  00077	52		 push	 edx
  00078	8d 45 b8	 lea	 eax, DWORD PTR $T342169[ebp]
  0007b	50		 push	 eax
  0007c	e8 00 00 00 00	 call	 ?MBCSToUnicode@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z ; MBCSToUnicode
  00081	83 c4 08	 add	 esp, 8
  00084	89 45 b4	 mov	 DWORD PTR tv72[ebp], eax
  00087	8b 4d b4	 mov	 ecx, DWORD PTR tv72[ebp]
  0008a	89 4d b0	 mov	 DWORD PTR tv85[ebp], ecx
  0008d	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  00091	8b 55 b0	 mov	 edx, DWORD PTR tv85[ebp]
  00094	52		 push	 edx
  00095	8b 4d 0c	 mov	 ecx, DWORD PTR _Names$[ebp]
  00098	e8 00 00 00 00	 call	 ?push_back@?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@std@@QAEXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z ; std::vector<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >,std::allocator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > >::push_back
  0009d	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  000a1	8d 4d b8	 lea	 ecx, DWORD PTR $T342169[ebp]
  000a4	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> >
  000a9	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  000b0	8d 4d d4	 lea	 ecx, DWORD PTR $T342168[ebp]
  000b3	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> >
  000b8	eb 89		 jmp	 SHORT $LN2@GetDeinter@2
$LN4@GetDeinter@2:

; 866  :     }
; 867  : }

  000ba	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  000bd	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000c4	59		 pop	 ecx
  000c5	8b e5		 mov	 esp, ebp
  000c7	5d		 pop	 ebp
  000c8	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?GetDeinterlaceSettings@@YAXAAV?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@AAV?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@@Z$0:
  00000	8d 4d d4	 lea	 ecx, DWORD PTR $T342168[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> >
__unwindfunclet$?GetDeinterlaceSettings@@YAXAAV?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@AAV?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@@Z$1:
  00008	8d 4d b8	 lea	 ecx, DWORD PTR $T342169[ebp]
  0000b	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$?GetDeinterlaceSettings@@YAXAAV?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@AAV?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@@Z:
  00010	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00014	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00017	8b 4a b8	 mov	 ecx, DWORD PTR [edx-72]
  0001a	33 c8		 xor	 ecx, eax
  0001c	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00021	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?GetDeinterlaceSettings@@YAXAAV?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@AAV?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@@Z
  00026	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?GetDeinterlaceSettings@@YAXAAV?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@AAV?$vector@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V?$allocator@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@2@@2@@Z ENDP ; GetDeinterlaceSettings
PUBLIC	?ShowVideoModeUI@@YAXXZ				; ShowVideoModeUI
; Function compile flags: /Odtp
;	COMDAT ?ShowVideoModeUI@@YAXXZ
_TEXT	SEGMENT
?ShowVideoModeUI@@YAXXZ PROC				; ShowVideoModeUI, COMDAT

; 637  : {

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

; 638  :     if(VideoDeintMethods[gVideoPulldownMode]->pfnPluginShowUI != NULL)

  00003	a1 00 00 00 00	 mov	 eax, DWORD PTR ?gVideoPulldownMode@@3JA ; gVideoPulldownMode
  00008	8b 0c 85 00 00
	00 00		 mov	 ecx, DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[eax*4]
  0000f	83 79 38 00	 cmp	 DWORD PTR [ecx+56], 0
  00013	74 1b		 je	 SHORT $LN2@ShowVideoM

; 639  :     {
; 640  :         VideoDeintMethods[gVideoPulldownMode]->pfnPluginShowUI(GetMainWnd());

  00015	e8 00 00 00 00	 call	 ?GetMainWnd@@YAPAUHWND__@@XZ ; GetMainWnd
  0001a	50		 push	 eax
  0001b	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?gVideoPulldownMode@@3JA ; gVideoPulldownMode
  00021	8b 04 95 00 00
	00 00		 mov	 eax, DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[edx*4]
  00028	8b 48 38	 mov	 ecx, DWORD PTR [eax+56]
  0002b	ff d1		 call	 ecx
  0002d	83 c4 04	 add	 esp, 4
$LN2@ShowVideoM:

; 641  :     }
; 642  : }

  00030	5d		 pop	 ebp
  00031	c3		 ret	 0
?ShowVideoModeUI@@YAXXZ ENDP				; ShowVideoModeUI
PUBLIC	?SetVideoDeinterlaceMode@@YAXH@Z		; SetVideoDeinterlaceMode
; Function compile flags: /Odtp
;	COMDAT ?SetVideoDeinterlaceMode@@YAXH@Z
_TEXT	SEGMENT
_CurrentTickCount$143082 = -12				; size = 4
_WereInHalfHeight$143083 = -8				; size = 4
_CurrentTickCount$143076 = -4				; size = 4
_Mode$ = 8						; size = 4
?SetVideoDeinterlaceMode@@YAXH@Z PROC			; SetVideoDeinterlaceMode, COMDAT

; 452  : {

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

; 453  :     if(bIsProgressiveMode)

  00006	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?bIsProgressiveMode@@3HA, 0 ; bIsProgressiveMode
  0000d	0f 84 aa 00 00
	00		 je	 $LN12@SetVideoDe

; 454  :     {
; 455  :         if(bIsFilmMode == TRUE)

  00013	83 3d 00 00 00
	00 01		 cmp	 DWORD PTR ?bIsFilmMode@@3HA, 1 ; bIsFilmMode
  0001a	0f 85 98 00 00
	00		 jne	 $LN11@SetVideoDe

; 456  :         {
; 457  :             DWORD CurrentTickCount = GetTickCount();

  00020	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__GetTickCount@0
  00026	89 45 fc	 mov	 DWORD PTR _CurrentTickCount$143076[ebp], eax

; 458  : 
; 459  :             if (nInitialTicks == -1)

  00029	83 3d 00 00 00
	00 ff		 cmp	 DWORD PTR ?nInitialTicks@@3JA, -1 ; nInitialTicks
  00030	75 13		 jne	 SHORT $LN10@SetVideoDe

; 460  :             {
; 461  :                 nInitialTicks = CurrentTickCount;

  00032	8b 45 fc	 mov	 eax, DWORD PTR _CurrentTickCount$143076[ebp]
  00035	a3 00 00 00 00	 mov	 DWORD PTR ?nInitialTicks@@3JA, eax ; nInitialTicks

; 462  :                 nLastTicks = CurrentTickCount;

  0003a	8b 4d fc	 mov	 ecx, DWORD PTR _CurrentTickCount$143076[ebp]
  0003d	89 0d 00 00 00
	00		 mov	 DWORD PTR ?nLastTicks@@3JA, ecx ; nLastTicks

; 463  :             }
; 464  :             else

  00043	eb 27		 jmp	 SHORT $LN9@SetVideoDe
$LN10@SetVideoDe:

; 465  :             {
; 466  :                 ProgressiveMethods[gProgMode].ModeTicks += CurrentTickCount - nLastTicks;

  00045	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?gProgMode@@3W4eProgressivePulldownMode@@A ; gProgMode
  0004b	6b d2 64	 imul	 edx, 100		; 00000064H
  0004e	8b 45 fc	 mov	 eax, DWORD PTR _CurrentTickCount$143076[ebp]
  00051	2b 05 00 00 00
	00		 sub	 eax, DWORD PTR ?nLastTicks@@3JA ; nLastTicks
  00057	03 82 48 00 00
	00		 add	 eax, DWORD PTR ?ProgressiveMethods@@3PAU_DEINTERLACE_METHOD@@A[edx+72]
  0005d	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?gProgMode@@3W4eProgressivePulldownMode@@A ; gProgMode
  00063	6b c9 64	 imul	 ecx, 100		; 00000064H
  00066	89 81 48 00 00
	00		 mov	 DWORD PTR ?ProgressiveMethods@@3PAU_DEINTERLACE_METHOD@@A[ecx+72], eax
$LN9@SetVideoDe:

; 467  :             }
; 468  :             gProgMode = NORMAL_PROGRESSIVE;

  0006c	c7 05 00 00 00
	00 07 00 00 00	 mov	 DWORD PTR ?gProgMode@@3W4eProgressivePulldownMode@@A, 7 ; gProgMode

; 469  :             ProgressiveMethods[gProgMode].ModeChanges++;

  00076	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?gProgMode@@3W4eProgressivePulldownMode@@A ; gProgMode
  0007c	6b d2 64	 imul	 edx, 100		; 00000064H
  0007f	8b 82 44 00 00
	00		 mov	 eax, DWORD PTR ?ProgressiveMethods@@3PAU_DEINTERLACE_METHOD@@A[edx+68]
  00085	83 c0 01	 add	 eax, 1
  00088	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?gProgMode@@3W4eProgressivePulldownMode@@A ; gProgMode
  0008e	6b c9 64	 imul	 ecx, 100		; 00000064H
  00091	89 81 44 00 00
	00		 mov	 DWORD PTR ?ProgressiveMethods@@3PAU_DEINTERLACE_METHOD@@A[ecx+68], eax

; 470  :             nLastTicks = CurrentTickCount;

  00097	8b 55 fc	 mov	 edx, DWORD PTR _CurrentTickCount$143076[ebp]
  0009a	89 15 00 00 00
	00		 mov	 DWORD PTR ?nLastTicks@@3JA, edx ; nLastTicks

; 471  :             bIsFilmMode = FALSE;

  000a0	c7 05 00 00 00
	00 00 00 00 00	 mov	 DWORD PTR ?bIsFilmMode@@3HA, 0 ; bIsFilmMode

; 472  :             Deinterlace_SetStatus(GetDeinterlaceModeName());

  000aa	e8 00 00 00 00	 call	 ?GetDeinterlaceModeName@@YAPADXZ ; GetDeinterlaceModeName
  000af	50		 push	 eax
  000b0	e8 00 00 00 00	 call	 ?Deinterlace_SetStatus@@YAXPBD@Z ; Deinterlace_SetStatus
  000b5	83 c4 04	 add	 esp, 4
$LN11@SetVideoDe:

; 473  :         }
; 474  :     }
; 475  :     else

  000b8	e9 0e 01 00 00	 jmp	 $LN13@SetVideoDe
$LN12@SetVideoDe:

; 476  :     {
; 477  :         if (gVideoPulldownMode != Mode || bIsFilmMode == TRUE)

  000bd	a1 00 00 00 00	 mov	 eax, DWORD PTR ?gVideoPulldownMode@@3JA ; gVideoPulldownMode
  000c2	3b 45 08	 cmp	 eax, DWORD PTR _Mode$[ebp]
  000c5	75 0d		 jne	 SHORT $LN6@SetVideoDe
  000c7	83 3d 00 00 00
	00 01		 cmp	 DWORD PTR ?bIsFilmMode@@3HA, 1 ; bIsFilmMode
  000ce	0f 85 f7 00 00
	00		 jne	 $LN13@SetVideoDe
$LN6@SetVideoDe:

; 478  :         {
; 479  :             DWORD CurrentTickCount = GetTickCount();

  000d4	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__GetTickCount@0
  000da	89 45 f4	 mov	 DWORD PTR _CurrentTickCount$143082[ebp], eax

; 480  :             BOOL WereInHalfHeight = InHalfHeightMode();

  000dd	e8 00 00 00 00	 call	 ?InHalfHeightMode@@YAHXZ ; InHalfHeightMode
  000e2	89 45 f8	 mov	 DWORD PTR _WereInHalfHeight$143083[ebp], eax

; 481  : 
; 482  :             if (nInitialTicks == -1)

  000e5	83 3d 00 00 00
	00 ff		 cmp	 DWORD PTR ?nInitialTicks@@3JA, -1 ; nInitialTicks
  000ec	75 14		 jne	 SHORT $LN5@SetVideoDe

; 483  :             {
; 484  :                 nInitialTicks = CurrentTickCount;

  000ee	8b 4d f4	 mov	 ecx, DWORD PTR _CurrentTickCount$143082[ebp]
  000f1	89 0d 00 00 00
	00		 mov	 DWORD PTR ?nInitialTicks@@3JA, ecx ; nInitialTicks

; 485  :                 nLastTicks = CurrentTickCount;

  000f7	8b 55 f4	 mov	 edx, DWORD PTR _CurrentTickCount$143082[ebp]
  000fa	89 15 00 00 00
	00		 mov	 DWORD PTR ?nLastTicks@@3JA, edx ; nLastTicks

; 486  :             }
; 487  :             else

  00100	eb 58		 jmp	 SHORT $LN4@SetVideoDe
$LN5@SetVideoDe:

; 488  :             {
; 489  :                 if(bIsFilmMode == TRUE)

  00102	83 3d 00 00 00
	00 01		 cmp	 DWORD PTR ?bIsFilmMode@@3HA, 1 ; bIsFilmMode
  00109	75 28		 jne	 SHORT $LN3@SetVideoDe

; 490  :                 {
; 491  :                     FilmDeintMethods[gFilmPulldownMode].ModeTicks += CurrentTickCount - nLastTicks;

  0010b	a1 00 00 00 00	 mov	 eax, DWORD PTR ?gFilmPulldownMode@@3W4eFilmPulldownMode@@A ; gFilmPulldownMode
  00110	6b c0 64	 imul	 eax, 100		; 00000064H
  00113	8b 4d f4	 mov	 ecx, DWORD PTR _CurrentTickCount$143082[ebp]
  00116	2b 0d 00 00 00
	00		 sub	 ecx, DWORD PTR ?nLastTicks@@3JA ; nLastTicks
  0011c	03 88 48 00 00
	00		 add	 ecx, DWORD PTR ?FilmDeintMethods@@3PAU_DEINTERLACE_METHOD@@A[eax+72]
  00122	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?gFilmPulldownMode@@3W4eFilmPulldownMode@@A ; gFilmPulldownMode
  00128	6b d2 64	 imul	 edx, 100		; 00000064H
  0012b	89 8a 48 00 00
	00		 mov	 DWORD PTR ?FilmDeintMethods@@3PAU_DEINTERLACE_METHOD@@A[edx+72], ecx

; 492  :                 }
; 493  :                 else

  00131	eb 27		 jmp	 SHORT $LN4@SetVideoDe
$LN3@SetVideoDe:

; 494  :                 {
; 495  :                     VideoDeintMethods[gVideoPulldownMode]->ModeTicks += CurrentTickCount - nLastTicks;

  00133	a1 00 00 00 00	 mov	 eax, DWORD PTR ?gVideoPulldownMode@@3JA ; gVideoPulldownMode
  00138	8b 0c 85 00 00
	00 00		 mov	 ecx, DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[eax*4]
  0013f	8b 55 f4	 mov	 edx, DWORD PTR _CurrentTickCount$143082[ebp]
  00142	2b 15 00 00 00
	00		 sub	 edx, DWORD PTR ?nLastTicks@@3JA ; nLastTicks
  00148	03 51 48	 add	 edx, DWORD PTR [ecx+72]
  0014b	a1 00 00 00 00	 mov	 eax, DWORD PTR ?gVideoPulldownMode@@3JA ; gVideoPulldownMode
  00150	8b 0c 85 00 00
	00 00		 mov	 ecx, DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[eax*4]
  00157	89 51 48	 mov	 DWORD PTR [ecx+72], edx
$LN4@SetVideoDe:

; 496  :                 }
; 497  :             }
; 498  :             gVideoPulldownMode = Mode;

  0015a	8b 55 08	 mov	 edx, DWORD PTR _Mode$[ebp]
  0015d	89 15 00 00 00
	00		 mov	 DWORD PTR ?gVideoPulldownMode@@3JA, edx ; gVideoPulldownMode

; 499  :             bIsFilmMode = FALSE;

  00163	c7 05 00 00 00
	00 00 00 00 00	 mov	 DWORD PTR ?bIsFilmMode@@3HA, 0 ; bIsFilmMode

; 500  :             nLastTicks = CurrentTickCount;

  0016d	8b 45 f4	 mov	 eax, DWORD PTR _CurrentTickCount$143082[ebp]
  00170	a3 00 00 00 00	 mov	 DWORD PTR ?nLastTicks@@3JA, eax ; nLastTicks

; 501  :             Deinterlace_SetStatus(GetDeinterlaceModeName());

  00175	e8 00 00 00 00	 call	 ?GetDeinterlaceModeName@@YAPADXZ ; GetDeinterlaceModeName
  0017a	50		 push	 eax
  0017b	e8 00 00 00 00	 call	 ?Deinterlace_SetStatus@@YAXPBD@Z ; Deinterlace_SetStatus
  00180	83 c4 04	 add	 esp, 4

; 502  :             nTotalDeintModeChanges++;

  00183	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?nTotalDeintModeChanges@@3JA ; nTotalDeintModeChanges
  00189	83 c1 01	 add	 ecx, 1
  0018c	89 0d 00 00 00
	00		 mov	 DWORD PTR ?nTotalDeintModeChanges@@3JA, ecx ; nTotalDeintModeChanges

; 503  :             VideoDeintMethods[gVideoPulldownMode]->ModeChanges++;

  00192	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?gVideoPulldownMode@@3JA ; gVideoPulldownMode
  00198	8b 04 95 00 00
	00 00		 mov	 eax, DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[edx*4]
  0019f	8b 48 44	 mov	 ecx, DWORD PTR [eax+68]
  001a2	83 c1 01	 add	 ecx, 1
  001a5	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?gVideoPulldownMode@@3JA ; gVideoPulldownMode
  001ab	8b 04 95 00 00
	00 00		 mov	 eax, DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[edx*4]
  001b2	89 48 44	 mov	 DWORD PTR [eax+68], ecx

; 504  :             if(WereInHalfHeight != InHalfHeightMode())

  001b5	e8 00 00 00 00	 call	 ?InHalfHeightMode@@YAHXZ ; InHalfHeightMode
  001ba	39 45 f8	 cmp	 DWORD PTR _WereInHalfHeight$143083[ebp], eax
  001bd	74 0c		 je	 SHORT $LN13@SetVideoDe

; 505  :             {
; 506  :                 WorkoutOverlaySize(TRUE);

  001bf	6a 01		 push	 1
  001c1	6a 01		 push	 1
  001c3	e8 00 00 00 00	 call	 ?WorkoutOverlaySize@@YAXHH@Z ; WorkoutOverlaySize
  001c8	83 c4 08	 add	 esp, 8
$LN13@SetVideoDe:

; 507  :             }
; 508  :         }
; 509  :     }
; 510  : }

  001cb	8b e5		 mov	 esp, ebp
  001cd	5d		 pop	 ebp
  001ce	c3		 ret	 0
?SetVideoDeinterlaceMode@@YAXH@Z ENDP			; SetVideoDeinterlaceMode
_TEXT	ENDS
PUBLIC	?SetFilmDeinterlaceMode@@YAXW4eFilmPulldownMode@@@Z ; SetFilmDeinterlaceMode
; Function compile flags: /Odtp
;	COMDAT ?SetFilmDeinterlaceMode@@YAXW4eFilmPulldownMode@@@Z
_TEXT	SEGMENT
_CurrentTickCount$143064 = -12				; size = 4
_WereInHalfHeight$143065 = -8				; size = 4
_CurrentTickCount$143057 = -4				; size = 4
_Mode$ = 8						; size = 4
?SetFilmDeinterlaceMode@@YAXW4eFilmPulldownMode@@@Z PROC ; SetFilmDeinterlaceMode, COMDAT

; 390  : {

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

; 391  :     if(bIsProgressiveMode)

  00006	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?bIsProgressiveMode@@3HA, 0 ; bIsProgressiveMode
  0000d	0f 84 a4 00 00
	00		 je	 $LN12@SetFilmDei@2

; 392  :     {
; 393  :         if(Mode <= FILM_32_PULLDOWN_4)

  00013	83 7d 08 06	 cmp	 DWORD PTR _Mode$[ebp], 6
  00017	0f 8f 95 00 00
	00		 jg	 $LN11@SetFilmDei@2

; 394  :         {
; 395  :             DWORD CurrentTickCount = GetTickCount();

  0001d	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__GetTickCount@0
  00023	89 45 fc	 mov	 DWORD PTR _CurrentTickCount$143057[ebp], eax

; 396  : 
; 397  :             if (nInitialTicks == -1)

  00026	83 3d 00 00 00
	00 ff		 cmp	 DWORD PTR ?nInitialTicks@@3JA, -1 ; nInitialTicks
  0002d	75 13		 jne	 SHORT $LN10@SetFilmDei@2

; 398  :             {
; 399  :                 nInitialTicks = CurrentTickCount;

  0002f	8b 45 fc	 mov	 eax, DWORD PTR _CurrentTickCount$143057[ebp]
  00032	a3 00 00 00 00	 mov	 DWORD PTR ?nInitialTicks@@3JA, eax ; nInitialTicks

; 400  :                 nLastTicks = CurrentTickCount;

  00037	8b 4d fc	 mov	 ecx, DWORD PTR _CurrentTickCount$143057[ebp]
  0003a	89 0d 00 00 00
	00		 mov	 DWORD PTR ?nLastTicks@@3JA, ecx ; nLastTicks

; 401  :             }
; 402  :             else

  00040	eb 27		 jmp	 SHORT $LN9@SetFilmDei@2
$LN10@SetFilmDei@2:

; 403  :             {
; 404  :                 ProgressiveMethods[gProgMode].ModeTicks += CurrentTickCount - nLastTicks;

  00042	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?gProgMode@@3W4eProgressivePulldownMode@@A ; gProgMode
  00048	6b d2 64	 imul	 edx, 100		; 00000064H
  0004b	8b 45 fc	 mov	 eax, DWORD PTR _CurrentTickCount$143057[ebp]
  0004e	2b 05 00 00 00
	00		 sub	 eax, DWORD PTR ?nLastTicks@@3JA ; nLastTicks
  00054	03 82 48 00 00
	00		 add	 eax, DWORD PTR ?ProgressiveMethods@@3PAU_DEINTERLACE_METHOD@@A[edx+72]
  0005a	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?gProgMode@@3W4eProgressivePulldownMode@@A ; gProgMode
  00060	6b c9 64	 imul	 ecx, 100		; 00000064H
  00063	89 81 48 00 00
	00		 mov	 DWORD PTR ?ProgressiveMethods@@3PAU_DEINTERLACE_METHOD@@A[ecx+72], eax
$LN9@SetFilmDei@2:

; 405  :             }
; 406  :             gProgMode = (eProgressivePulldownMode)Mode;

  00069	8b 55 08	 mov	 edx, DWORD PTR _Mode$[ebp]
  0006c	89 15 00 00 00
	00		 mov	 DWORD PTR ?gProgMode@@3W4eProgressivePulldownMode@@A, edx ; gProgMode

; 407  :             ProgressiveMethods[gProgMode].ModeChanges++;

  00072	a1 00 00 00 00	 mov	 eax, DWORD PTR ?gProgMode@@3W4eProgressivePulldownMode@@A ; gProgMode
  00077	6b c0 64	 imul	 eax, 100		; 00000064H
  0007a	8b 88 44 00 00
	00		 mov	 ecx, DWORD PTR ?ProgressiveMethods@@3PAU_DEINTERLACE_METHOD@@A[eax+68]
  00080	83 c1 01	 add	 ecx, 1
  00083	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?gProgMode@@3W4eProgressivePulldownMode@@A ; gProgMode
  00089	6b d2 64	 imul	 edx, 100		; 00000064H
  0008c	89 8a 44 00 00
	00		 mov	 DWORD PTR ?ProgressiveMethods@@3PAU_DEINTERLACE_METHOD@@A[edx+68], ecx

; 408  :             nLastTicks = CurrentTickCount;

  00092	8b 45 fc	 mov	 eax, DWORD PTR _CurrentTickCount$143057[ebp]
  00095	a3 00 00 00 00	 mov	 DWORD PTR ?nLastTicks@@3JA, eax ; nLastTicks

; 409  :             bIsFilmMode = TRUE;

  0009a	c7 05 00 00 00
	00 01 00 00 00	 mov	 DWORD PTR ?bIsFilmMode@@3HA, 1 ; bIsFilmMode

; 410  :             Deinterlace_SetStatus(GetDeinterlaceModeName());

  000a4	e8 00 00 00 00	 call	 ?GetDeinterlaceModeName@@YAPADXZ ; GetDeinterlaceModeName
  000a9	50		 push	 eax
  000aa	e8 00 00 00 00	 call	 ?Deinterlace_SetStatus@@YAXPBD@Z ; Deinterlace_SetStatus
  000af	83 c4 04	 add	 esp, 4
$LN11@SetFilmDei@2:

; 411  :         }
; 412  :     }
; 413  :     else

  000b2	e9 17 01 00 00	 jmp	 $LN13@SetFilmDei@2
$LN12@SetFilmDei@2:

; 414  :     {
; 415  :         if (gFilmPulldownMode != Mode || bIsFilmMode == FALSE)

  000b7	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?gFilmPulldownMode@@3W4eFilmPulldownMode@@A ; gFilmPulldownMode
  000bd	3b 4d 08	 cmp	 ecx, DWORD PTR _Mode$[ebp]
  000c0	75 0d		 jne	 SHORT $LN6@SetFilmDei@2
  000c2	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?bIsFilmMode@@3HA, 0 ; bIsFilmMode
  000c9	0f 85 ff 00 00
	00		 jne	 $LN13@SetFilmDei@2
$LN6@SetFilmDei@2:

; 416  :         {
; 417  :             DWORD CurrentTickCount = GetTickCount();

  000cf	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__GetTickCount@0
  000d5	89 45 f4	 mov	 DWORD PTR _CurrentTickCount$143064[ebp], eax

; 418  :             BOOL WereInHalfHeight = InHalfHeightMode();

  000d8	e8 00 00 00 00	 call	 ?InHalfHeightMode@@YAHXZ ; InHalfHeightMode
  000dd	89 45 f8	 mov	 DWORD PTR _WereInHalfHeight$143065[ebp], eax

; 419  : 
; 420  :             if (nInitialTicks == -1)

  000e0	83 3d 00 00 00
	00 ff		 cmp	 DWORD PTR ?nInitialTicks@@3JA, -1 ; nInitialTicks
  000e7	75 13		 jne	 SHORT $LN5@SetFilmDei@2

; 421  :             {
; 422  :                 nInitialTicks = CurrentTickCount;

  000e9	8b 55 f4	 mov	 edx, DWORD PTR _CurrentTickCount$143064[ebp]
  000ec	89 15 00 00 00
	00		 mov	 DWORD PTR ?nInitialTicks@@3JA, edx ; nInitialTicks

; 423  :                 nLastTicks = CurrentTickCount;

  000f2	8b 45 f4	 mov	 eax, DWORD PTR _CurrentTickCount$143064[ebp]
  000f5	a3 00 00 00 00	 mov	 DWORD PTR ?nLastTicks@@3JA, eax ; nLastTicks

; 424  :             }
; 425  :             else

  000fa	eb 5a		 jmp	 SHORT $LN4@SetFilmDei@2
$LN5@SetFilmDei@2:

; 426  :             {
; 427  :                 if(bIsFilmMode == TRUE)

  000fc	83 3d 00 00 00
	00 01		 cmp	 DWORD PTR ?bIsFilmMode@@3HA, 1 ; bIsFilmMode
  00103	75 28		 jne	 SHORT $LN3@SetFilmDei@2

; 428  :                 {
; 429  :                     FilmDeintMethods[gFilmPulldownMode].ModeTicks += CurrentTickCount - nLastTicks;

  00105	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?gFilmPulldownMode@@3W4eFilmPulldownMode@@A ; gFilmPulldownMode
  0010b	6b c9 64	 imul	 ecx, 100		; 00000064H
  0010e	8b 55 f4	 mov	 edx, DWORD PTR _CurrentTickCount$143064[ebp]
  00111	2b 15 00 00 00
	00		 sub	 edx, DWORD PTR ?nLastTicks@@3JA ; nLastTicks
  00117	03 91 48 00 00
	00		 add	 edx, DWORD PTR ?FilmDeintMethods@@3PAU_DEINTERLACE_METHOD@@A[ecx+72]
  0011d	a1 00 00 00 00	 mov	 eax, DWORD PTR ?gFilmPulldownMode@@3W4eFilmPulldownMode@@A ; gFilmPulldownMode
  00122	6b c0 64	 imul	 eax, 100		; 00000064H
  00125	89 90 48 00 00
	00		 mov	 DWORD PTR ?FilmDeintMethods@@3PAU_DEINTERLACE_METHOD@@A[eax+72], edx

; 430  :                 }
; 431  :                 else

  0012b	eb 29		 jmp	 SHORT $LN4@SetFilmDei@2
$LN3@SetFilmDei@2:

; 432  :                 {
; 433  :                     VideoDeintMethods[gVideoPulldownMode]->ModeTicks += CurrentTickCount - nLastTicks;

  0012d	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?gVideoPulldownMode@@3JA ; gVideoPulldownMode
  00133	8b 14 8d 00 00
	00 00		 mov	 edx, DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[ecx*4]
  0013a	8b 45 f4	 mov	 eax, DWORD PTR _CurrentTickCount$143064[ebp]
  0013d	2b 05 00 00 00
	00		 sub	 eax, DWORD PTR ?nLastTicks@@3JA ; nLastTicks
  00143	03 42 48	 add	 eax, DWORD PTR [edx+72]
  00146	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?gVideoPulldownMode@@3JA ; gVideoPulldownMode
  0014c	8b 14 8d 00 00
	00 00		 mov	 edx, DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[ecx*4]
  00153	89 42 48	 mov	 DWORD PTR [edx+72], eax
$LN4@SetFilmDei@2:

; 434  :                 }
; 435  :             }
; 436  :             gFilmPulldownMode = Mode;

  00156	8b 45 08	 mov	 eax, DWORD PTR _Mode$[ebp]
  00159	a3 00 00 00 00	 mov	 DWORD PTR ?gFilmPulldownMode@@3W4eFilmPulldownMode@@A, eax ; gFilmPulldownMode

; 437  :             bIsFilmMode = TRUE;

  0015e	c7 05 00 00 00
	00 01 00 00 00	 mov	 DWORD PTR ?bIsFilmMode@@3HA, 1 ; bIsFilmMode

; 438  :             nLastTicks = CurrentTickCount;

  00168	8b 4d f4	 mov	 ecx, DWORD PTR _CurrentTickCount$143064[ebp]
  0016b	89 0d 00 00 00
	00		 mov	 DWORD PTR ?nLastTicks@@3JA, ecx ; nLastTicks

; 439  :             Deinterlace_SetStatus(GetDeinterlaceModeName());

  00171	e8 00 00 00 00	 call	 ?GetDeinterlaceModeName@@YAPADXZ ; GetDeinterlaceModeName
  00176	50		 push	 eax
  00177	e8 00 00 00 00	 call	 ?Deinterlace_SetStatus@@YAXPBD@Z ; Deinterlace_SetStatus
  0017c	83 c4 04	 add	 esp, 4

; 440  :             nTotalDeintModeChanges++;

  0017f	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?nTotalDeintModeChanges@@3JA ; nTotalDeintModeChanges
  00185	83 c2 01	 add	 edx, 1
  00188	89 15 00 00 00
	00		 mov	 DWORD PTR ?nTotalDeintModeChanges@@3JA, edx ; nTotalDeintModeChanges

; 441  :             gProgMode = NORMAL_PROGRESSIVE;

  0018e	c7 05 00 00 00
	00 07 00 00 00	 mov	 DWORD PTR ?gProgMode@@3W4eProgressivePulldownMode@@A, 7 ; gProgMode

; 442  :             FilmDeintMethods[gFilmPulldownMode].ModeChanges++;

  00198	a1 00 00 00 00	 mov	 eax, DWORD PTR ?gFilmPulldownMode@@3W4eFilmPulldownMode@@A ; gFilmPulldownMode
  0019d	6b c0 64	 imul	 eax, 100		; 00000064H
  001a0	8b 88 44 00 00
	00		 mov	 ecx, DWORD PTR ?FilmDeintMethods@@3PAU_DEINTERLACE_METHOD@@A[eax+68]
  001a6	83 c1 01	 add	 ecx, 1
  001a9	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?gFilmPulldownMode@@3W4eFilmPulldownMode@@A ; gFilmPulldownMode
  001af	6b d2 64	 imul	 edx, 100		; 00000064H
  001b2	89 8a 44 00 00
	00		 mov	 DWORD PTR ?FilmDeintMethods@@3PAU_DEINTERLACE_METHOD@@A[edx+68], ecx

; 443  :             if(WereInHalfHeight != InHalfHeightMode())

  001b8	e8 00 00 00 00	 call	 ?InHalfHeightMode@@YAHXZ ; InHalfHeightMode
  001bd	39 45 f8	 cmp	 DWORD PTR _WereInHalfHeight$143065[ebp], eax
  001c0	74 0c		 je	 SHORT $LN13@SetFilmDei@2

; 444  :             {
; 445  :                 WorkoutOverlaySize(TRUE);

  001c2	6a 01		 push	 1
  001c4	6a 01		 push	 1
  001c6	e8 00 00 00 00	 call	 ?WorkoutOverlaySize@@YAXHH@Z ; WorkoutOverlaySize
  001cb	83 c4 08	 add	 esp, 8
$LN13@SetFilmDei@2:

; 446  :             }
; 447  :         }
; 448  :     }
; 449  : }

  001ce	8b e5		 mov	 esp, ebp
  001d0	5d		 pop	 ebp
  001d1	c3		 ret	 0
?SetFilmDeinterlaceMode@@YAXW4eFilmPulldownMode@@@Z ENDP ; SetFilmDeinterlaceMode
_TEXT	ENDS
PUBLIC	?UnsetProgressiveMode@@YAHXZ			; UnsetProgressiveMode
; Function compile flags: /Odtp
;	COMDAT ?UnsetProgressiveMode@@YAHXZ
_TEXT	SEGMENT
_CurrentTickCount$143046 = -4				; size = 4
?UnsetProgressiveMode@@YAHXZ PROC			; UnsetProgressiveMode, COMDAT

; 352  : {

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

; 353  :     if (bIsProgressiveMode)

  00004	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?bIsProgressiveMode@@3HA, 0 ; bIsProgressiveMode
  0000b	0f 84 e4 00 00
	00		 je	 $LN6@UnsetProgr

; 354  :     {
; 355  :         DWORD CurrentTickCount = GetTickCount();

  00011	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__GetTickCount@0
  00017	89 45 fc	 mov	 DWORD PTR _CurrentTickCount$143046[ebp], eax

; 356  : 
; 357  :         if (nInitialTicks == -1)

  0001a	83 3d 00 00 00
	00 ff		 cmp	 DWORD PTR ?nInitialTicks@@3JA, -1 ; nInitialTicks
  00021	75 13		 jne	 SHORT $LN5@UnsetProgr

; 358  :         {
; 359  :             nInitialTicks = CurrentTickCount;

  00023	8b 45 fc	 mov	 eax, DWORD PTR _CurrentTickCount$143046[ebp]
  00026	a3 00 00 00 00	 mov	 DWORD PTR ?nInitialTicks@@3JA, eax ; nInitialTicks

; 360  :             nLastTicks = CurrentTickCount;

  0002b	8b 4d fc	 mov	 ecx, DWORD PTR _CurrentTickCount$143046[ebp]
  0002e	89 0d 00 00 00
	00		 mov	 DWORD PTR ?nLastTicks@@3JA, ecx ; nLastTicks

; 361  :         }
; 362  :         else

  00034	eb 27		 jmp	 SHORT $LN4@UnsetProgr
$LN5@UnsetProgr:

; 363  :         {
; 364  :             ProgressiveMethods[gProgMode].ModeTicks += CurrentTickCount - nLastTicks;

  00036	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?gProgMode@@3W4eProgressivePulldownMode@@A ; gProgMode
  0003c	6b d2 64	 imul	 edx, 100		; 00000064H
  0003f	8b 45 fc	 mov	 eax, DWORD PTR _CurrentTickCount$143046[ebp]
  00042	2b 05 00 00 00
	00		 sub	 eax, DWORD PTR ?nLastTicks@@3JA ; nLastTicks
  00048	03 82 48 00 00
	00		 add	 eax, DWORD PTR ?ProgressiveMethods@@3PAU_DEINTERLACE_METHOD@@A[edx+72]
  0004e	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?gProgMode@@3W4eProgressivePulldownMode@@A ; gProgMode
  00054	6b c9 64	 imul	 ecx, 100		; 00000064H
  00057	89 81 48 00 00
	00		 mov	 DWORD PTR ?ProgressiveMethods@@3PAU_DEINTERLACE_METHOD@@A[ecx+72], eax
$LN4@UnsetProgr:

; 365  :         }
; 366  : 
; 367  :         bIsProgressiveMode = FALSE;

  0005d	c7 05 00 00 00
	00 00 00 00 00	 mov	 DWORD PTR ?bIsProgressiveMode@@3HA, 0 ; bIsProgressiveMode

; 368  :         nLastTicks = CurrentTickCount;

  00067	8b 55 fc	 mov	 edx, DWORD PTR _CurrentTickCount$143046[ebp]
  0006a	89 15 00 00 00
	00		 mov	 DWORD PTR ?nLastTicks@@3JA, edx ; nLastTicks

; 369  :         Deinterlace_SetStatus(GetDeinterlaceModeName());

  00070	e8 00 00 00 00	 call	 ?GetDeinterlaceModeName@@YAPADXZ ; GetDeinterlaceModeName
  00075	50		 push	 eax
  00076	e8 00 00 00 00	 call	 ?Deinterlace_SetStatus@@YAXPBD@Z ; Deinterlace_SetStatus
  0007b	83 c4 04	 add	 esp, 4

; 370  :         nTotalDeintModeChanges++;

  0007e	a1 00 00 00 00	 mov	 eax, DWORD PTR ?nTotalDeintModeChanges@@3JA ; nTotalDeintModeChanges
  00083	83 c0 01	 add	 eax, 1
  00086	a3 00 00 00 00	 mov	 DWORD PTR ?nTotalDeintModeChanges@@3JA, eax ; nTotalDeintModeChanges

; 371  :         if(bIsFilmMode == TRUE)

  0008b	83 3d 00 00 00
	00 01		 cmp	 DWORD PTR ?bIsFilmMode@@3HA, 1 ; bIsFilmMode
  00092	75 22		 jne	 SHORT $LN3@UnsetProgr

; 372  :         {
; 373  :             FilmDeintMethods[gFilmPulldownMode].ModeChanges++;

  00094	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?gFilmPulldownMode@@3W4eFilmPulldownMode@@A ; gFilmPulldownMode
  0009a	6b c9 64	 imul	 ecx, 100		; 00000064H
  0009d	8b 91 44 00 00
	00		 mov	 edx, DWORD PTR ?FilmDeintMethods@@3PAU_DEINTERLACE_METHOD@@A[ecx+68]
  000a3	83 c2 01	 add	 edx, 1
  000a6	a1 00 00 00 00	 mov	 eax, DWORD PTR ?gFilmPulldownMode@@3W4eFilmPulldownMode@@A ; gFilmPulldownMode
  000ab	6b c0 64	 imul	 eax, 100		; 00000064H
  000ae	89 90 44 00 00
	00		 mov	 DWORD PTR ?FilmDeintMethods@@3PAU_DEINTERLACE_METHOD@@A[eax+68], edx

; 374  :         }
; 375  :         else

  000b4	eb 23		 jmp	 SHORT $LN2@UnsetProgr
$LN3@UnsetProgr:

; 376  :         {
; 377  :             VideoDeintMethods[gVideoPulldownMode]->ModeChanges++;

  000b6	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?gVideoPulldownMode@@3JA ; gVideoPulldownMode
  000bc	8b 14 8d 00 00
	00 00		 mov	 edx, DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[ecx*4]
  000c3	8b 42 44	 mov	 eax, DWORD PTR [edx+68]
  000c6	83 c0 01	 add	 eax, 1
  000c9	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?gVideoPulldownMode@@3JA ; gVideoPulldownMode
  000cf	8b 14 8d 00 00
	00 00		 mov	 edx, DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[ecx*4]
  000d6	89 42 44	 mov	 DWORD PTR [edx+68], eax
$LN2@UnsetProgr:

; 378  :         }
; 379  :         if(InHalfHeightMode())

  000d9	e8 00 00 00 00	 call	 ?InHalfHeightMode@@YAHXZ ; InHalfHeightMode
  000de	85 c0		 test	 eax, eax
  000e0	74 0c		 je	 SHORT $LN1@UnsetProgr

; 380  :         {
; 381  :             WorkoutOverlaySize(TRUE);

  000e2	6a 01		 push	 1
  000e4	6a 01		 push	 1
  000e6	e8 00 00 00 00	 call	 ?WorkoutOverlaySize@@YAXHH@Z ; WorkoutOverlaySize
  000eb	83 c4 08	 add	 esp, 8
$LN1@UnsetProgr:

; 382  :         }
; 383  : 
; 384  :         return TRUE;

  000ee	b8 01 00 00 00	 mov	 eax, 1
  000f3	eb 02		 jmp	 SHORT $LN7@UnsetProgr
$LN6@UnsetProgr:

; 385  :     }
; 386  :     return FALSE;

  000f5	33 c0		 xor	 eax, eax
$LN7@UnsetProgr:

; 387  : }

  000f7	8b e5		 mov	 esp, ebp
  000f9	5d		 pop	 ebp
  000fa	c3		 ret	 0
?UnsetProgressiveMode@@YAHXZ ENDP			; UnsetProgressiveMode
_TEXT	ENDS
PUBLIC	?SetProgressiveMode@@YAHXZ			; SetProgressiveMode
; Function compile flags: /Odtp
;	COMDAT ?SetProgressiveMode@@YAHXZ
_TEXT	SEGMENT
_CurrentTickCount$143036 = -8				; size = 4
_WereInHalfHeight$143037 = -4				; size = 4
?SetProgressiveMode@@YAHXZ PROC				; SetProgressiveMode, COMDAT

; 313  : {

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

; 314  :     if (!bIsProgressiveMode)

  00006	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?bIsProgressiveMode@@3HA, 0 ; bIsProgressiveMode
  0000d	0f 85 df 00 00
	00		 jne	 $LN6@SetProgres

; 315  :     {
; 316  :         DWORD CurrentTickCount = GetTickCount();

  00013	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__GetTickCount@0
  00019	89 45 f8	 mov	 DWORD PTR _CurrentTickCount$143036[ebp], eax

; 317  :         BOOL WereInHalfHeight = InHalfHeightMode();

  0001c	e8 00 00 00 00	 call	 ?InHalfHeightMode@@YAHXZ ; InHalfHeightMode
  00021	89 45 fc	 mov	 DWORD PTR _WereInHalfHeight$143037[ebp], eax

; 318  : 
; 319  :         if (nInitialTicks == -1)

  00024	83 3d 00 00 00
	00 ff		 cmp	 DWORD PTR ?nInitialTicks@@3JA, -1 ; nInitialTicks
  0002b	75 13		 jne	 SHORT $LN5@SetProgres

; 320  :         {
; 321  :             nInitialTicks = CurrentTickCount;

  0002d	8b 45 f8	 mov	 eax, DWORD PTR _CurrentTickCount$143036[ebp]
  00030	a3 00 00 00 00	 mov	 DWORD PTR ?nInitialTicks@@3JA, eax ; nInitialTicks

; 322  :             nLastTicks = CurrentTickCount;

  00035	8b 4d f8	 mov	 ecx, DWORD PTR _CurrentTickCount$143036[ebp]
  00038	89 0d 00 00 00
	00		 mov	 DWORD PTR ?nLastTicks@@3JA, ecx ; nLastTicks

; 323  :         }
; 324  :         else

  0003e	eb 5b		 jmp	 SHORT $LN4@SetProgres
$LN5@SetProgres:

; 325  :         {
; 326  :             if(bIsFilmMode == TRUE)

  00040	83 3d 00 00 00
	00 01		 cmp	 DWORD PTR ?bIsFilmMode@@3HA, 1 ; bIsFilmMode
  00047	75 29		 jne	 SHORT $LN3@SetProgres

; 327  :             {
; 328  :                 FilmDeintMethods[gFilmPulldownMode].ModeTicks += CurrentTickCount - nLastTicks;

  00049	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?gFilmPulldownMode@@3W4eFilmPulldownMode@@A ; gFilmPulldownMode
  0004f	6b d2 64	 imul	 edx, 100		; 00000064H
  00052	8b 45 f8	 mov	 eax, DWORD PTR _CurrentTickCount$143036[ebp]
  00055	2b 05 00 00 00
	00		 sub	 eax, DWORD PTR ?nLastTicks@@3JA ; nLastTicks
  0005b	03 82 48 00 00
	00		 add	 eax, DWORD PTR ?FilmDeintMethods@@3PAU_DEINTERLACE_METHOD@@A[edx+72]
  00061	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?gFilmPulldownMode@@3W4eFilmPulldownMode@@A ; gFilmPulldownMode
  00067	6b c9 64	 imul	 ecx, 100		; 00000064H
  0006a	89 81 48 00 00
	00		 mov	 DWORD PTR ?FilmDeintMethods@@3PAU_DEINTERLACE_METHOD@@A[ecx+72], eax

; 329  :             }
; 330  :             else

  00070	eb 29		 jmp	 SHORT $LN4@SetProgres
$LN3@SetProgres:

; 331  :             {
; 332  :                 VideoDeintMethods[gVideoPulldownMode]->ModeTicks += CurrentTickCount - nLastTicks;

  00072	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?gVideoPulldownMode@@3JA ; gVideoPulldownMode
  00078	8b 04 95 00 00
	00 00		 mov	 eax, DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[edx*4]
  0007f	8b 4d f8	 mov	 ecx, DWORD PTR _CurrentTickCount$143036[ebp]
  00082	2b 0d 00 00 00
	00		 sub	 ecx, DWORD PTR ?nLastTicks@@3JA ; nLastTicks
  00088	03 48 48	 add	 ecx, DWORD PTR [eax+72]
  0008b	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?gVideoPulldownMode@@3JA ; gVideoPulldownMode
  00091	8b 04 95 00 00
	00 00		 mov	 eax, DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[edx*4]
  00098	89 48 48	 mov	 DWORD PTR [eax+72], ecx
$LN4@SetProgres:

; 333  :             }
; 334  :         }
; 335  : 
; 336  :         bIsProgressiveMode = TRUE;

  0009b	c7 05 00 00 00
	00 01 00 00 00	 mov	 DWORD PTR ?bIsProgressiveMode@@3HA, 1 ; bIsProgressiveMode

; 337  :         nLastTicks = CurrentTickCount;

  000a5	8b 4d f8	 mov	 ecx, DWORD PTR _CurrentTickCount$143036[ebp]
  000a8	89 0d 00 00 00
	00		 mov	 DWORD PTR ?nLastTicks@@3JA, ecx ; nLastTicks

; 338  :         Deinterlace_SetStatus(GetDeinterlaceModeName());

  000ae	e8 00 00 00 00	 call	 ?GetDeinterlaceModeName@@YAPADXZ ; GetDeinterlaceModeName
  000b3	50		 push	 eax
  000b4	e8 00 00 00 00	 call	 ?Deinterlace_SetStatus@@YAXPBD@Z ; Deinterlace_SetStatus
  000b9	83 c4 04	 add	 esp, 4

; 339  :         nTotalDeintModeChanges++;

  000bc	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?nTotalDeintModeChanges@@3JA ; nTotalDeintModeChanges
  000c2	83 c2 01	 add	 edx, 1
  000c5	89 15 00 00 00
	00		 mov	 DWORD PTR ?nTotalDeintModeChanges@@3JA, edx ; nTotalDeintModeChanges

; 340  :         gProgMode = NORMAL_PROGRESSIVE;

  000cb	c7 05 00 00 00
	00 07 00 00 00	 mov	 DWORD PTR ?gProgMode@@3W4eProgressivePulldownMode@@A, 7 ; gProgMode

; 341  :         if(WereInHalfHeight != InHalfHeightMode())

  000d5	e8 00 00 00 00	 call	 ?InHalfHeightMode@@YAHXZ ; InHalfHeightMode
  000da	39 45 fc	 cmp	 DWORD PTR _WereInHalfHeight$143037[ebp], eax
  000dd	74 0c		 je	 SHORT $LN1@SetProgres

; 342  :         {
; 343  :             WorkoutOverlaySize(TRUE);

  000df	6a 01		 push	 1
  000e1	6a 01		 push	 1
  000e3	e8 00 00 00 00	 call	 ?WorkoutOverlaySize@@YAXHH@Z ; WorkoutOverlaySize
  000e8	83 c4 08	 add	 esp, 8
$LN1@SetProgres:

; 344  :         }
; 345  : 
; 346  :         return TRUE;

  000eb	b8 01 00 00 00	 mov	 eax, 1
  000f0	eb 02		 jmp	 SHORT $LN7@SetProgres
$LN6@SetProgres:

; 347  :     }
; 348  :     return FALSE;

  000f2	33 c0		 xor	 eax, eax
$LN7@SetProgres:

; 349  : }

  000f4	8b e5		 mov	 esp, ebp
  000f6	5d		 pop	 ebp
  000f7	c3		 ret	 0
?SetProgressiveMode@@YAHXZ ENDP				; SetProgressiveMode
PUBLIC	?LoadDeintPlugin@@YAXPB_W@Z			; LoadDeintPlugin
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?LoadDeintPlugin@@YAXPB_W@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?LoadDeintPlugin@@YAXPB_W@Z$0
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?LoadDeintPlugin@@YAXPB_W@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$?LoadDeintPlugin@@YAXPB_W@Z$2
__ehfuncinfo$?LoadDeintPlugin@@YAXPB_W@Z DD 019930522H
	DD	03H
	DD	FLAT:__unwindtable$?LoadDeintPlugin@@YAXPB_W@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?LoadDeintPlugin@@YAXPB_W@Z
_TEXT	SEGMENT
tv169 = -52						; size = 4
tv84 = -48						; size = 4
tv130 = -44						; size = 4
$T350499 = -40						; size = 4
$T350496 = -36						; size = 4
$T350495 = -32						; size = 4
_Holder$143255 = -28					; size = 8
_pMethod$ = -20						; size = 4
_GetDeinterlacePluginInfo$ = -16			; size = 4
__$EHRec$ = -12						; size = 12
_szFileName$ = 8					; size = 4
?LoadDeintPlugin@@YAXPB_W@Z PROC			; LoadDeintPlugin, COMDAT

; 703  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?LoadDeintPlugin@@YAXPB_W@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 28	 sub	 esp, 40			; 00000028H
  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

; 704  :     DynamicFunctionC1<DEINTERLACE_METHOD*, long> GetDeinterlacePluginInfo(szFileName, "GetDeinterlacePluginInfo");

  00025	68 00 00 00 00	 push	 OFFSET ??_C@_0BJ@NCNPNPAD@GetDeinterlacePluginInfo?$AA@
  0002a	8b 45 08	 mov	 eax, DWORD PTR _szFileName$[ebp]
  0002d	50		 push	 eax
  0002e	8d 4d f0	 lea	 ecx, DWORD PTR _GetDeinterlacePluginInfo$[ebp]
  00031	e8 00 00 00 00	 call	 ??0?$DynamicFunctionC1@PAU_DEINTERLACE_METHOD@@J@@QAE@PB_WPBD@Z ; DynamicFunctionC1<_DEINTERLACE_METHOD *,long>::DynamicFunctionC1<_DEINTERLACE_METHOD *,long>

; 705  :     DEINTERLACE_METHOD* pMethod;
; 706  : 
; 707  :     if(!GetDeinterlacePluginInfo)

  00036	8d 4d f0	 lea	 ecx, DWORD PTR _GetDeinterlacePluginInfo$[ebp]
  00039	e8 00 00 00 00	 call	 ??B?$DynamicFunctionParent@P6APAU_DEINTERLACE_METHOD@@J@Z@@QBEHXZ ; DynamicFunctionParent<_DEINTERLACE_METHOD * (__cdecl*)(long)>::operator int
  0003e	85 c0		 test	 eax, eax
  00040	75 05		 jne	 SHORT $LN4@LoadDeintP

; 708  :     {
; 709  :         return;

  00042	e9 46 01 00 00	 jmp	 $LN5@LoadDeintP
$LN4@LoadDeintP:

; 710  :     }
; 711  : 
; 712  :     pMethod = GetDeinterlacePluginInfo(CpuFeatureFlags);

  00047	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?CpuFeatureFlags@@3IA ; CpuFeatureFlags
  0004d	51		 push	 ecx
  0004e	8d 4d f0	 lea	 ecx, DWORD PTR _GetDeinterlacePluginInfo$[ebp]
  00051	e8 00 00 00 00	 call	 ??R?$DynamicFunctionC1@PAU_DEINTERLACE_METHOD@@J@@QBEPAU_DEINTERLACE_METHOD@@J@Z ; DynamicFunctionC1<_DEINTERLACE_METHOD *,long>::operator()
  00056	89 45 ec	 mov	 DWORD PTR _pMethod$[ebp], eax

; 713  :     if(pMethod != NULL)

  00059	83 7d ec 00	 cmp	 DWORD PTR _pMethod$[ebp], 0
  0005d	0f 84 2a 01 00
	00		 je	 $LN5@LoadDeintP

; 714  :     {
; 715  :         if(pMethod->SizeOfStructure == sizeof(DEINTERLACE_METHOD) &&
; 716  :             pMethod->DeinterlaceStructureVersion >= DEINTERLACE_VERSION_3)

  00063	8b 55 ec	 mov	 edx, DWORD PTR _pMethod$[ebp]
  00066	83 3a 64	 cmp	 DWORD PTR [edx], 100	; 00000064H
  00069	0f 85 1e 01 00
	00		 jne	 $LN5@LoadDeintP
  0006f	8b 45 ec	 mov	 eax, DWORD PTR _pMethod$[ebp]
  00072	83 78 04 03	 cmp	 DWORD PTR [eax+4], 3
  00076	0f 8c 11 01 00
	00		 jl	 $LN5@LoadDeintP

; 717  :         {
; 718  :             VideoDeintMethods[NumVideoModes] = pMethod;

  0007c	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?NumVideoModes@@3JA ; NumVideoModes
  00082	8b 55 ec	 mov	 edx, DWORD PTR _pMethod$[ebp]
  00085	89 14 8d 00 00
	00 00		 mov	 DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[ecx*4], edx

; 719  : 
; 720  :             SmartPtr<CSettingsHolder> Holder(new CSettingsHolder(WM_APP + pMethod->nSettingsOffset, pMethod->HelpID));

  0008c	6a 40		 push	 64			; 00000040H
  0008e	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  00093	83 c4 04	 add	 esp, 4
  00096	89 45 dc	 mov	 DWORD PTR $T350496[ebp], eax
  00099	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  000a0	83 7d dc 00	 cmp	 DWORD PTR $T350496[ebp], 0
  000a4	74 20		 je	 SHORT $LN7@LoadDeintP
  000a6	8b 45 ec	 mov	 eax, DWORD PTR _pMethod$[ebp]
  000a9	8b 48 60	 mov	 ecx, DWORD PTR [eax+96]
  000ac	51		 push	 ecx
  000ad	8b 55 ec	 mov	 edx, DWORD PTR _pMethod$[ebp]
  000b0	8b 42 4c	 mov	 eax, DWORD PTR [edx+76]
  000b3	05 00 80 00 00	 add	 eax, 32768		; 00008000H
  000b8	50		 push	 eax
  000b9	8b 4d dc	 mov	 ecx, DWORD PTR $T350496[ebp]
  000bc	e8 00 00 00 00	 call	 ??0CSettingsHolder@@QAE@JI@Z ; CSettingsHolder::CSettingsHolder
  000c1	89 45 d4	 mov	 DWORD PTR tv130[ebp], eax
  000c4	eb 07		 jmp	 SHORT $LN8@LoadDeintP
$LN7@LoadDeintP:
  000c6	c7 45 d4 00 00
	00 00		 mov	 DWORD PTR tv130[ebp], 0
$LN8@LoadDeintP:
  000cd	8b 4d d4	 mov	 ecx, DWORD PTR tv130[ebp]
  000d0	89 4d e0	 mov	 DWORD PTR $T350495[ebp], ecx
  000d3	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  000da	6a 00		 push	 0
  000dc	8b 55 e0	 mov	 edx, DWORD PTR $T350495[ebp]
  000df	52		 push	 edx
  000e0	8d 4d e4	 lea	 ecx, DWORD PTR _Holder$143255[ebp]
  000e3	e8 00 00 00 00	 call	 ??0?$SmartPtr@VCSettingsHolder@@@@QAE@PAVCSettingsHolder@@PAUCounter@@@Z ; SmartPtr<CSettingsHolder>::SmartPtr<CSettingsHolder>
  000e8	c7 45 fc 01 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 1

; 721  :             Holder->AddSettings(pMethod->pSettings, pMethod->nSettings);

  000ef	6a 00		 push	 0
  000f1	8b 45 ec	 mov	 eax, DWORD PTR _pMethod$[ebp]
  000f4	8b 48 24	 mov	 ecx, DWORD PTR [eax+36]
  000f7	51		 push	 ecx
  000f8	8b 55 ec	 mov	 edx, DWORD PTR _pMethod$[ebp]
  000fb	8b 42 28	 mov	 eax, DWORD PTR [edx+40]
  000fe	50		 push	 eax
  000ff	8d 4d e4	 lea	 ecx, DWORD PTR _Holder$143255[ebp]
  00102	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCSettingsHolder@@@@QBEPAVCSettingsHolder@@XZ ; SmartPtr<CSettingsHolder>::operator->
  00107	8b c8		 mov	 ecx, eax
  00109	e8 00 00 00 00	 call	 ?AddSettings@CSettingsHolder@@QAEXPAUSETTING@@HPAVCSettingGroup@@@Z ; CSettingsHolder::AddSettings

; 722  :             Holder->ReadFromIni();

  0010e	8d 4d e4	 lea	 ecx, DWORD PTR _Holder$143255[ebp]
  00111	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCSettingsHolder@@@@QBEPAVCSettingsHolder@@XZ ; SmartPtr<CSettingsHolder>::operator->
  00116	8b c8		 mov	 ecx, eax
  00118	e8 00 00 00 00	 call	 ?ReadFromIni@CSettingsHolder@@QAEXXZ ; CSettingsHolder::ReadFromIni

; 723  :             SettingsMaster->Register(Holder);

  0011d	83 ec 08	 sub	 esp, 8
  00120	8b cc		 mov	 ecx, esp
  00122	89 65 d8	 mov	 DWORD PTR $T350499[ebp], esp
  00125	8d 55 e4	 lea	 edx, DWORD PTR _Holder$143255[ebp]
  00128	52		 push	 edx
  00129	e8 00 00 00 00	 call	 ??0?$SmartPtr@VCSettingsHolder@@@@QAE@ABV0@@Z ; SmartPtr<CSettingsHolder>::SmartPtr<CSettingsHolder>
  0012e	89 45 d0	 mov	 DWORD PTR tv84[ebp], eax
  00131	8b 45 d0	 mov	 eax, DWORD PTR tv84[ebp]
  00134	89 45 cc	 mov	 DWORD PTR tv169[ebp], eax
  00137	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  0013b	b9 00 00 00 00	 mov	 ecx, OFFSET ?SettingsMaster@@3V?$SmartPtr@VCSettingsMaster@@@@A ; SettingsMaster
  00140	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCSettingsMaster@@@@QBEPAVCSettingsMaster@@XZ ; SmartPtr<CSettingsMaster>::operator->
  00145	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  00149	8b c8		 mov	 ecx, eax
  0014b	e8 00 00 00 00	 call	 ?Register@CSettingsMaster@@QAEXV?$SmartPtr@VCSettingsHolder@@@@@Z ; CSettingsMaster::Register

; 724  : 
; 725  :             if(pMethod->pfnPluginInit != NULL)

  00150	8b 4d ec	 mov	 ecx, DWORD PTR _pMethod$[ebp]
  00153	83 79 30 00	 cmp	 DWORD PTR [ecx+48], 0
  00157	74 08		 je	 SHORT $LN1@LoadDeintP

; 726  :             {
; 727  :                 pMethod->pfnPluginInit();

  00159	8b 55 ec	 mov	 edx, DWORD PTR _pMethod$[ebp]
  0015c	8b 42 30	 mov	 eax, DWORD PTR [edx+48]
  0015f	ff d0		 call	 eax
$LN1@LoadDeintP:

; 728  :             }
; 729  :             NumVideoModes++;

  00161	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?NumVideoModes@@3JA ; NumVideoModes
  00167	83 c1 01	 add	 ecx, 1
  0016a	89 0d 00 00 00
	00		 mov	 DWORD PTR ?NumVideoModes@@3JA, ecx ; NumVideoModes

; 730  :             DeinterlaceHolders.push_back(Holder);

  00170	8d 55 e4	 lea	 edx, DWORD PTR _Holder$143255[ebp]
  00173	52		 push	 edx
  00174	b9 00 00 00 00	 mov	 ecx, OFFSET ?DeinterlaceHolders@@3V?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@A ; DeinterlaceHolders
  00179	e8 00 00 00 00	 call	 ?push_back@?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAEXABV?$SmartPtr@VCSettingsHolder@@@@@Z ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::push_back

; 731  :         }

  0017e	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00185	8d 4d e4	 lea	 ecx, DWORD PTR _Holder$143255[ebp]
  00188	e8 00 00 00 00	 call	 ??1?$SmartPtr@VCSettingsHolder@@@@QAE@XZ ; SmartPtr<CSettingsHolder>::~SmartPtr<CSettingsHolder>
$LN5@LoadDeintP:

; 732  :     }
; 733  : }

  0018d	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00190	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00197	59		 pop	 ecx
  00198	8b e5		 mov	 esp, ebp
  0019a	5d		 pop	 ebp
  0019b	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?LoadDeintPlugin@@YAXPB_W@Z$0:
  00000	8b 45 dc	 mov	 eax, DWORD PTR $T350496[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$?LoadDeintPlugin@@YAXPB_W@Z$1:
  0000b	8d 4d e4	 lea	 ecx, DWORD PTR _Holder$143255[ebp]
  0000e	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VCSettingsHolder@@@@QAE@XZ ; SmartPtr<CSettingsHolder>::~SmartPtr<CSettingsHolder>
__unwindfunclet$?LoadDeintPlugin@@YAXPB_W@Z$2:
  00013	8b 4d d8	 mov	 ecx, DWORD PTR $T350499[ebp]
  00016	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VCSettingsHolder@@@@QAE@XZ ; SmartPtr<CSettingsHolder>::~SmartPtr<CSettingsHolder>
__ehhandler$?LoadDeintPlugin@@YAXPB_W@Z:
  0001b	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0001f	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00022	8b 4a d4	 mov	 ecx, DWORD PTR [edx-44]
  00025	33 c8		 xor	 ecx, eax
  00027	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0002c	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?LoadDeintPlugin@@YAXPB_W@Z
  00031	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?LoadDeintPlugin@@YAXPB_W@Z ENDP			; LoadDeintPlugin
PUBLIC	?DecrementDeinterlaceMode@@YAXXZ		; DecrementDeinterlaceMode
; Function compile flags: /Odtp
;	COMDAT ?DecrementDeinterlaceMode@@YAXXZ
_TEXT	SEGMENT
_Mode$ = -4						; size = 4
?DecrementDeinterlaceMode@@YAXXZ PROC			; DecrementDeinterlaceMode, COMDAT

; 602  : {

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

; 603  :     long Mode;
; 604  :     if(bIsProgressiveMode)

  00004	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?bIsProgressiveMode@@3HA, 0 ; bIsProgressiveMode
  0000b	74 04		 je	 SHORT $LN8@DecrementD
  0000d	eb 6c		 jmp	 SHORT $LN9@DecrementD

; 605  :     {
; 606  :         return;

  0000f	eb 6a		 jmp	 SHORT $LN9@DecrementD
$LN8@DecrementD:

; 607  :     }
; 608  :     else if(bIsFilmMode)

  00011	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?bIsFilmMode@@3HA, 0 ; bIsFilmMode
  00018	74 35		 je	 SHORT $LN6@DecrementD

; 609  :     {
; 610  :         Mode = gFilmPulldownMode;

  0001a	a1 00 00 00 00	 mov	 eax, DWORD PTR ?gFilmPulldownMode@@3W4eFilmPulldownMode@@A ; gFilmPulldownMode
  0001f	89 45 fc	 mov	 DWORD PTR _Mode$[ebp], eax

; 611  :         Mode--;

  00022	8b 4d fc	 mov	 ecx, DWORD PTR _Mode$[ebp]
  00025	83 e9 01	 sub	 ecx, 1
  00028	89 4d fc	 mov	 DWORD PTR _Mode$[ebp], ecx

; 612  :         if(Mode < 0)

  0002b	79 14		 jns	 SHORT $LN5@DecrementD

; 613  :         {
; 614  :             SetVideoDeinterlaceMode(NumVideoModes - 1);

  0002d	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?NumVideoModes@@3JA ; NumVideoModes
  00033	83 ea 01	 sub	 edx, 1
  00036	52		 push	 edx
  00037	e8 00 00 00 00	 call	 ?SetVideoDeinterlaceMode@@YAXH@Z ; SetVideoDeinterlaceMode
  0003c	83 c4 04	 add	 esp, 4

; 615  :         }
; 616  :         else

  0003f	eb 0c		 jmp	 SHORT $LN4@DecrementD
$LN5@DecrementD:

; 617  :         {
; 618  :             SetFilmDeinterlaceMode((eFilmPulldownMode)Mode);

  00041	8b 45 fc	 mov	 eax, DWORD PTR _Mode$[ebp]
  00044	50		 push	 eax
  00045	e8 00 00 00 00	 call	 ?SetFilmDeinterlaceMode@@YAXW4eFilmPulldownMode@@@Z ; SetFilmDeinterlaceMode
  0004a	83 c4 04	 add	 esp, 4
$LN4@DecrementD:

; 619  :         }
; 620  :     }
; 621  :     else

  0004d	eb 2c		 jmp	 SHORT $LN9@DecrementD
$LN6@DecrementD:

; 622  :     {
; 623  :         Mode = gVideoPulldownMode;

  0004f	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?gVideoPulldownMode@@3JA ; gVideoPulldownMode
  00055	89 4d fc	 mov	 DWORD PTR _Mode$[ebp], ecx

; 624  :         Mode--;

  00058	8b 55 fc	 mov	 edx, DWORD PTR _Mode$[ebp]
  0005b	83 ea 01	 sub	 edx, 1
  0005e	89 55 fc	 mov	 DWORD PTR _Mode$[ebp], edx

; 625  :         if(Mode < 0)

  00061	79 0c		 jns	 SHORT $LN2@DecrementD

; 626  :         {
; 627  :             SetFilmDeinterlaceMode((eFilmPulldownMode)(FILM_32_PULLDOWN_4));

  00063	6a 06		 push	 6
  00065	e8 00 00 00 00	 call	 ?SetFilmDeinterlaceMode@@YAXW4eFilmPulldownMode@@@Z ; SetFilmDeinterlaceMode
  0006a	83 c4 04	 add	 esp, 4

; 628  :         }
; 629  :         else

  0006d	eb 0c		 jmp	 SHORT $LN9@DecrementD
$LN2@DecrementD:

; 630  :         {
; 631  :             SetVideoDeinterlaceMode(Mode);

  0006f	8b 45 fc	 mov	 eax, DWORD PTR _Mode$[ebp]
  00072	50		 push	 eax
  00073	e8 00 00 00 00	 call	 ?SetVideoDeinterlaceMode@@YAXH@Z ; SetVideoDeinterlaceMode
  00078	83 c4 04	 add	 esp, 4
$LN9@DecrementD:

; 632  :         }
; 633  :     }
; 634  : }

  0007b	8b e5		 mov	 esp, ebp
  0007d	5d		 pop	 ebp
  0007e	c3		 ret	 0
?DecrementDeinterlaceMode@@YAXXZ ENDP			; DecrementDeinterlaceMode
_TEXT	ENDS
PUBLIC	?IncrementDeinterlaceMode@@YAXXZ		; IncrementDeinterlaceMode
; Function compile flags: /Odtp
;	COMDAT ?IncrementDeinterlaceMode@@YAXXZ
_TEXT	SEGMENT
_Mode$ = -4						; size = 4
?IncrementDeinterlaceMode@@YAXXZ PROC			; IncrementDeinterlaceMode, COMDAT

; 567  : {

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

; 568  :     long Mode;
; 569  :     if(bIsProgressiveMode)

  00004	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?bIsProgressiveMode@@3HA, 0 ; bIsProgressiveMode
  0000b	74 04		 je	 SHORT $LN8@IncrementD
  0000d	eb 70		 jmp	 SHORT $LN9@IncrementD

; 570  :     {
; 571  :         return;

  0000f	eb 6e		 jmp	 SHORT $LN9@IncrementD
$LN8@IncrementD:

; 572  :     }
; 573  :     else if(bIsFilmMode)

  00011	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?bIsFilmMode@@3HA, 0 ; bIsFilmMode
  00018	74 31		 je	 SHORT $LN6@IncrementD

; 574  :     {
; 575  :         Mode = gFilmPulldownMode;

  0001a	a1 00 00 00 00	 mov	 eax, DWORD PTR ?gFilmPulldownMode@@3W4eFilmPulldownMode@@A ; gFilmPulldownMode
  0001f	89 45 fc	 mov	 DWORD PTR _Mode$[ebp], eax

; 576  :         Mode++;

  00022	8b 4d fc	 mov	 ecx, DWORD PTR _Mode$[ebp]
  00025	83 c1 01	 add	 ecx, 1
  00028	89 4d fc	 mov	 DWORD PTR _Mode$[ebp], ecx

; 577  :         if(Mode == FILM_32_PULLDOWN_4 + 1)

  0002b	83 7d fc 07	 cmp	 DWORD PTR _Mode$[ebp], 7
  0002f	75 0c		 jne	 SHORT $LN5@IncrementD

; 578  :         {
; 579  :             SetVideoDeinterlaceMode(0);

  00031	6a 00		 push	 0
  00033	e8 00 00 00 00	 call	 ?SetVideoDeinterlaceMode@@YAXH@Z ; SetVideoDeinterlaceMode
  00038	83 c4 04	 add	 esp, 4

; 580  :         }
; 581  :         else

  0003b	eb 0c		 jmp	 SHORT $LN4@IncrementD
$LN5@IncrementD:

; 582  :         {
; 583  :             SetFilmDeinterlaceMode((eFilmPulldownMode)Mode);

  0003d	8b 55 fc	 mov	 edx, DWORD PTR _Mode$[ebp]
  00040	52		 push	 edx
  00041	e8 00 00 00 00	 call	 ?SetFilmDeinterlaceMode@@YAXW4eFilmPulldownMode@@@Z ; SetFilmDeinterlaceMode
  00046	83 c4 04	 add	 esp, 4
$LN4@IncrementD:

; 584  :         }
; 585  :     }
; 586  :     else

  00049	eb 34		 jmp	 SHORT $LN9@IncrementD
$LN6@IncrementD:

; 587  :     {
; 588  :         Mode = gVideoPulldownMode;

  0004b	a1 00 00 00 00	 mov	 eax, DWORD PTR ?gVideoPulldownMode@@3JA ; gVideoPulldownMode
  00050	89 45 fc	 mov	 DWORD PTR _Mode$[ebp], eax

; 589  :         Mode++;

  00053	8b 4d fc	 mov	 ecx, DWORD PTR _Mode$[ebp]
  00056	83 c1 01	 add	 ecx, 1
  00059	89 4d fc	 mov	 DWORD PTR _Mode$[ebp], ecx

; 590  :         if(Mode == NumVideoModes)

  0005c	8b 55 fc	 mov	 edx, DWORD PTR _Mode$[ebp]
  0005f	3b 15 00 00 00
	00		 cmp	 edx, DWORD PTR ?NumVideoModes@@3JA ; NumVideoModes
  00065	75 0c		 jne	 SHORT $LN2@IncrementD

; 591  :         {
; 592  :             SetFilmDeinterlaceMode((eFilmPulldownMode)(0));

  00067	6a 00		 push	 0
  00069	e8 00 00 00 00	 call	 ?SetFilmDeinterlaceMode@@YAXW4eFilmPulldownMode@@@Z ; SetFilmDeinterlaceMode
  0006e	83 c4 04	 add	 esp, 4

; 593  :         }
; 594  :         else

  00071	eb 0c		 jmp	 SHORT $LN9@IncrementD
$LN2@IncrementD:

; 595  :         {
; 596  :             SetVideoDeinterlaceMode(Mode);

  00073	8b 45 fc	 mov	 eax, DWORD PTR _Mode$[ebp]
  00076	50		 push	 eax
  00077	e8 00 00 00 00	 call	 ?SetVideoDeinterlaceMode@@YAXH@Z ; SetVideoDeinterlaceMode
  0007c	83 c4 04	 add	 esp, 4
$LN9@IncrementD:

; 597  :         }
; 598  :     }
; 599  : }

  0007f	8b e5		 mov	 esp, ebp
  00081	5d		 pop	 ebp
  00082	c3		 ret	 0
?IncrementDeinterlaceMode@@YAXXZ ENDP			; IncrementDeinterlaceMode
_TEXT	ENDS
PUBLIC	?SetVideoDeinterlaceIndex@@YAXH@Z		; SetVideoDeinterlaceIndex
; Function compile flags: /Odtp
;	COMDAT ?SetVideoDeinterlaceIndex@@YAXH@Z
_TEXT	SEGMENT
_i$ = -4						; size = 4
_index$ = 8						; size = 4
?SetVideoDeinterlaceIndex@@YAXH@Z PROC			; SetVideoDeinterlaceIndex, COMDAT

; 513  : {

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

; 514  :     int i;
; 515  :     for(i = 0; i < NumVideoModes; i++)

  00004	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _i$[ebp], 0
  0000b	eb 09		 jmp	 SHORT $LN4@SetVideoDe@2
$LN3@SetVideoDe@2:
  0000d	8b 45 fc	 mov	 eax, DWORD PTR _i$[ebp]
  00010	83 c0 01	 add	 eax, 1
  00013	89 45 fc	 mov	 DWORD PTR _i$[ebp], eax
$LN4@SetVideoDe@2:
  00016	8b 4d fc	 mov	 ecx, DWORD PTR _i$[ebp]
  00019	3b 0d 00 00 00
	00		 cmp	 ecx, DWORD PTR ?NumVideoModes@@3JA ; NumVideoModes
  0001f	7d 22		 jge	 SHORT $LN2@SetVideoDe@2

; 516  :     {
; 517  :         if(VideoDeintMethods[i]->nMethodIndex == index)

  00021	8b 55 fc	 mov	 edx, DWORD PTR _i$[ebp]
  00024	8b 04 95 00 00
	00 00		 mov	 eax, DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[edx*4]
  0002b	8b 48 2c	 mov	 ecx, DWORD PTR [eax+44]
  0002e	3b 4d 08	 cmp	 ecx, DWORD PTR _index$[ebp]
  00031	75 0e		 jne	 SHORT $LN1@SetVideoDe@2

; 518  :         {
; 519  :             SetVideoDeinterlaceMode(i);

  00033	8b 55 fc	 mov	 edx, DWORD PTR _i$[ebp]
  00036	52		 push	 edx
  00037	e8 00 00 00 00	 call	 ?SetVideoDeinterlaceMode@@YAXH@Z ; SetVideoDeinterlaceMode
  0003c	83 c4 04	 add	 esp, 4

; 520  :             return;

  0003f	eb 0c		 jmp	 SHORT $LN5@SetVideoDe@2
$LN1@SetVideoDe@2:

; 521  :         }
; 522  :     }

  00041	eb ca		 jmp	 SHORT $LN3@SetVideoDe@2
$LN2@SetVideoDe@2:

; 523  :     //must set it to something
; 524  :     SetVideoDeinterlaceMode(0);

  00043	6a 00		 push	 0
  00045	e8 00 00 00 00	 call	 ?SetVideoDeinterlaceMode@@YAXH@Z ; SetVideoDeinterlaceMode
  0004a	83 c4 04	 add	 esp, 4
$LN5@SetVideoDe@2:

; 525  : }

  0004d	8b e5		 mov	 esp, ebp
  0004f	5d		 pop	 ebp
  00050	c3		 ret	 0
?SetVideoDeinterlaceIndex@@YAXH@Z ENDP			; SetVideoDeinterlaceIndex
PUBLIC	__$ArrayPad$
PUBLIC	?LoadDeinterlacePlugins@@YAHXZ			; LoadDeinterlacePlugins
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?LoadDeinterlacePlugins@@YAHXZ DD 0ffffffffH
	DD	00H
	DD	0ffffffffH
	DD	00H
__catchsym$?LoadDeinterlacePlugins@@YAHXZ$2 DD 00H
	DD	00H
	DD	00H
	DD	FLAT:__catch$?LoadDeinterlacePlugins@@YAHXZ$0
__tryblocktable$?LoadDeinterlacePlugins@@YAHXZ DD 00H
	DD	00H
	DD	01H
	DD	01H
	DD	FLAT:__catchsym$?LoadDeinterlacePlugins@@YAHXZ$2
__ehfuncinfo$?LoadDeinterlacePlugins@@YAHXZ DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$?LoadDeinterlacePlugins@@YAHXZ
	DD	01H
	DD	FLAT:__tryblocktable$?LoadDeinterlacePlugins@@YAHXZ
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?LoadDeinterlacePlugins@@YAHXZ
_TEXT	SEGMENT
_Text$143317 = -696					; size = 64
_RetVal$143295 = -632					; size = 4
_hMenu$ = -628						; size = 4
_hFindFile$ = -624					; size = 4
_i$ = -620						; size = 4
_FindFileData$ = -616					; size = 592
__$ArrayPad$ = -20					; size = 4
__$EHRec$ = -16						; size = 16
?LoadDeinterlacePlugins@@YAHXZ PROC			; LoadDeinterlacePlugins, COMDAT

; 781  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?LoadDeinterlacePlugins@@YAHXZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	51		 push	 ecx
  00012	81 ec a8 02 00
	00		 sub	 esp, 680		; 000002a8H
  00018	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001d	33 c5		 xor	 eax, ebp
  0001f	89 45 ec	 mov	 DWORD PTR __$ArrayPad$[ebp], eax
  00022	53		 push	 ebx
  00023	56		 push	 esi
  00024	57		 push	 edi
  00025	50		 push	 eax
  00026	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp+4]
  00029	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  0002f	89 65 f0	 mov	 DWORD PTR __$EHRec$[ebp], esp

; 782  :     WIN32_FIND_DATA FindFileData;
; 783  :     HANDLE hFindFile;
; 784  :     int i;
; 785  :     HMENU hMenu;
; 786  : 
; 787  :     hFindFile = FindFirstFile(_T("DI_*.dll"), &FindFileData);

  00032	8d 85 98 fd ff
	ff		 lea	 eax, DWORD PTR _FindFileData$[ebp]
  00038	50		 push	 eax
  00039	68 00 00 00 00	 push	 OFFSET ??_C@_1BC@FCKODJLK@?$AAD?$AAI?$AA_?$AA?$CK?$AA?4?$AAd?$AAl?$AAl?$AA?$AA@
  0003e	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__FindFirstFileW@8
  00044	89 85 90 fd ff
	ff		 mov	 DWORD PTR _hFindFile$[ebp], eax

; 788  : 
; 789  :     if (hFindFile != INVALID_HANDLE_VALUE)

  0004a	83 bd 90 fd ff
	ff ff		 cmp	 DWORD PTR _hFindFile$[ebp], -1
  00051	0f 84 ad 00 00
	00		 je	 $LN17@LoadDeinte@2

; 790  :     {
; 791  :         BOOL RetVal = TRUE;

  00057	c7 85 88 fd ff
	ff 01 00 00 00	 mov	 DWORD PTR _RetVal$143295[ebp], 1
$LN16@LoadDeinte@2:

; 792  :         while(RetVal != 0)

  00061	83 bd 88 fd ff
	ff 00		 cmp	 DWORD PTR _RetVal$143295[ebp], 0
  00068	0f 84 89 00 00
	00		 je	 $LN15@LoadDeinte@2

; 793  :         {
; 794  :             // check to see if the extension is .dll
; 795  :             // FindFirst... searches long and short file names so a filter that is named
; 796  :             // FLT_bogus.dllasdf will be found when searching for FLT_*.dll since it's short
; 797  :             // file name is FLT_bo~1.dll
; 798  : 
; 799  :             if(_tcsicmp(_T(".dll"), &FindFileData.cFileName[_tcslen(FindFileData.cFileName)-4]) == 0)

  0006e	8d 8d c4 fd ff
	ff		 lea	 ecx, DWORD PTR _FindFileData$[ebp+44]
  00074	51		 push	 ecx
  00075	e8 00 00 00 00	 call	 _wcslen
  0007a	83 c4 04	 add	 esp, 4
  0007d	8d 94 45 bc fd
	ff ff		 lea	 edx, DWORD PTR _FindFileData$[ebp+eax*2+36]
  00084	52		 push	 edx
  00085	68 00 00 00 00	 push	 OFFSET ??_C@_19BHIGINDB@?$AA?4?$AAd?$AAl?$AAl?$AA?$AA@
  0008a	e8 00 00 00 00	 call	 __wcsicmp
  0008f	83 c4 08	 add	 esp, 8
  00092	85 c0		 test	 eax, eax
  00094	75 42		 jne	 SHORT $LN14@LoadDeinte@2

; 800  :             {
; 801  :                 try
; 802  :                 {

  00096	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+12], 0

; 803  :                     LoadDeintPlugin(FindFileData.cFileName);

  0009d	8d 85 c4 fd ff
	ff		 lea	 eax, DWORD PTR _FindFileData$[ebp+44]
  000a3	50		 push	 eax
  000a4	e8 00 00 00 00	 call	 ?LoadDeintPlugin@@YAXPB_W@Z ; LoadDeintPlugin
  000a9	83 c4 04	 add	 esp, 4

; 804  :                 }

  000ac	eb 23		 jmp	 SHORT $LN20@LoadDeinte@2
__catch$?LoadDeinterlacePlugins@@YAHXZ$0:

; 805  :                 catch(...)
; 806  :                 {
; 807  :                     LOG(1, _T("Crash Loading %s"), FindFileData.cFileName);

  000ae	8d 8d c4 fd ff
	ff		 lea	 ecx, DWORD PTR _FindFileData$[ebp+44]
  000b4	51		 push	 ecx
  000b5	68 00 00 00 00	 push	 OFFSET ??_C@_1CC@NGMDNIBC@?$AAC?$AAr?$AAa?$AAs?$AAh?$AA?5?$AAL?$AAo?$AAa?$AAd?$AAi?$AAn?$AAg?$AA?5?$AA?$CF?$AAs?$AA?$AA@
  000ba	6a 01		 push	 1
  000bc	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  000c1	83 c4 0c	 add	 esp, 12			; 0000000cH

; 808  :                 }

  000c4	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
  000cb	b8 00 00 00 00	 mov	 eax, $LN14@LoadDeinte@2
  000d0	c3		 ret	 0
$LN20@LoadDeinte@2:
  000d1	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
$LN14@LoadDeinte@2:

; 809  :             }
; 810  :             RetVal = FindNextFile(hFindFile, &FindFileData);

  000d8	8d 95 98 fd ff
	ff		 lea	 edx, DWORD PTR _FindFileData$[ebp]
  000de	52		 push	 edx
  000df	8b 85 90 fd ff
	ff		 mov	 eax, DWORD PTR _hFindFile$[ebp]
  000e5	50		 push	 eax
  000e6	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__FindNextFileW@8
  000ec	89 85 88 fd ff
	ff		 mov	 DWORD PTR _RetVal$143295[ebp], eax

; 811  :         }

  000f2	e9 6a ff ff ff	 jmp	 $LN16@LoadDeinte@2
$LN15@LoadDeinte@2:

; 812  :         FindClose(hFindFile);

  000f7	8b 8d 90 fd ff
	ff		 mov	 ecx, DWORD PTR _hFindFile$[ebp]
  000fd	51		 push	 ecx
  000fe	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__FindClose@4
$LN17@LoadDeinte@2:

; 813  :     }
; 814  : 
; 815  :     // put the plug-ins into index order
; 816  :     // this should prevent confusion in the UI
; 817  :     if(NumVideoModes > 1)

  00104	83 3d 00 00 00
	00 01		 cmp	 DWORD PTR ?NumVideoModes@@3JA, 1 ; NumVideoModes
  0010b	7e 1b		 jle	 SHORT $LN12@LoadDeinte@2

; 818  :     {
; 819  :         qsort((void*) VideoDeintMethods, NumVideoModes, sizeof(DEINTERLACE_METHOD*), DeintMethodCompare);

  0010d	68 00 00 00 00	 push	 OFFSET ?DeintMethodCompare@@YAHPBX0@Z ; DeintMethodCompare
  00112	6a 04		 push	 4
  00114	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?NumVideoModes@@3JA ; NumVideoModes
  0011a	52		 push	 edx
  0011b	68 00 00 00 00	 push	 OFFSET ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A ; VideoDeintMethods
  00120	e8 00 00 00 00	 call	 _qsort
  00125	83 c4 10	 add	 esp, 16			; 00000010H
$LN12@LoadDeinte@2:

; 820  :     }
; 821  :     if(NumVideoModes > 0)

  00128	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?NumVideoModes@@3JA, 0 ; NumVideoModes
  0012f	0f 8e 58 01 00
	00		 jle	 $LN11@LoadDeinte@2

; 822  :     {
; 823  :         hMenu = GetVideoDeinterlaceSubmenu();

  00135	e8 00 00 00 00	 call	 ?GetVideoDeinterlaceSubmenu@@YAPAUHMENU__@@XZ ; GetVideoDeinterlaceSubmenu
  0013a	89 85 8c fd ff
	ff		 mov	 DWORD PTR _hMenu$[ebp], eax

; 824  :         if(hMenu == NULL) return FALSE;

  00140	83 bd 8c fd ff
	ff 00		 cmp	 DWORD PTR _hMenu$[ebp], 0
  00147	75 07		 jne	 SHORT $LN10@LoadDeinte@2
  00149	33 c0		 xor	 eax, eax
  0014b	e9 3f 01 00 00	 jmp	 $LN18@LoadDeinte@2
$LN10@LoadDeinte@2:

; 825  : 
; 826  :         // Blank out the names list
; 827  :         for(i = 0; i < 100; ++i)

  00150	c7 85 94 fd ff
	ff 00 00 00 00	 mov	 DWORD PTR _i$[ebp], 0
  0015a	eb 0f		 jmp	 SHORT $LN9@LoadDeinte@2
$LN8@LoadDeinte@2:
  0015c	8b 85 94 fd ff
	ff		 mov	 eax, DWORD PTR _i$[ebp]
  00162	83 c0 01	 add	 eax, 1
  00165	89 85 94 fd ff
	ff		 mov	 DWORD PTR _i$[ebp], eax
$LN9@LoadDeinte@2:
  0016b	83 bd 94 fd ff
	ff 64		 cmp	 DWORD PTR _i$[ebp], 100	; 00000064H
  00172	7d 13		 jge	 SHORT $LN7@LoadDeinte@2

; 828  :         {
; 829  :             DeinterlaceNames[i] = "";

  00174	8b 8d 94 fd ff
	ff		 mov	 ecx, DWORD PTR _i$[ebp]
  0017a	c7 04 8d 00 00
	00 00 00 00 00
	00		 mov	 DWORD PTR ?DeinterlaceNames@@3PAPBDA[ecx*4], OFFSET ??_C@_00CNPNBAHC@?$AA@

; 830  :         }

  00185	eb d5		 jmp	 SHORT $LN8@LoadDeinte@2
$LN7@LoadDeinte@2:

; 831  : 
; 832  :         for(i = 0; i < NumVideoModes; i++)

  00187	c7 85 94 fd ff
	ff 00 00 00 00	 mov	 DWORD PTR _i$[ebp], 0
  00191	eb 0f		 jmp	 SHORT $LN6@LoadDeinte@2
$LN5@LoadDeinte@2:
  00193	8b 95 94 fd ff
	ff		 mov	 edx, DWORD PTR _i$[ebp]
  00199	83 c2 01	 add	 edx, 1
  0019c	89 95 94 fd ff
	ff		 mov	 DWORD PTR _i$[ebp], edx
$LN6@LoadDeinte@2:
  001a2	8b 85 94 fd ff
	ff		 mov	 eax, DWORD PTR _i$[ebp]
  001a8	3b 05 00 00 00
	00		 cmp	 eax, DWORD PTR ?NumVideoModes@@3JA ; NumVideoModes
  001ae	0f 8d 81 00 00
	00		 jge	 $LN4@LoadDeinte@2

; 833  :         {
; 834  :             if(VideoDeintMethods[i]->pfnPluginStart != NULL)

  001b4	8b 8d 94 fd ff
	ff		 mov	 ecx, DWORD PTR _i$[ebp]
  001ba	8b 14 8d 00 00
	00 00		 mov	 edx, DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[ecx*4]
  001c1	83 7a 34 00	 cmp	 DWORD PTR [edx+52], 0
  001c5	74 25		 je	 SHORT $LN3@LoadDeinte@2

; 835  :             {
; 836  :                 VideoDeintMethods[i]->pfnPluginStart(NumVideoModes, VideoDeintMethods, Deinterlace_SetStatus);

  001c7	68 00 00 00 00	 push	 OFFSET ?Deinterlace_SetStatus@@YAXPBD@Z ; Deinterlace_SetStatus
  001cc	68 00 00 00 00	 push	 OFFSET ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A ; VideoDeintMethods
  001d1	a1 00 00 00 00	 mov	 eax, DWORD PTR ?NumVideoModes@@3JA ; NumVideoModes
  001d6	50		 push	 eax
  001d7	8b 8d 94 fd ff
	ff		 mov	 ecx, DWORD PTR _i$[ebp]
  001dd	8b 14 8d 00 00
	00 00		 mov	 edx, DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[ecx*4]
  001e4	8b 42 34	 mov	 eax, DWORD PTR [edx+52]
  001e7	ff d0		 call	 eax
  001e9	83 c4 0c	 add	 esp, 12			; 0000000cH
$LN3@LoadDeinte@2:

; 837  :             }
; 838  :             AddUIForDeintPlugin(hMenu, VideoDeintMethods[i]);

  001ec	8b 8d 94 fd ff
	ff		 mov	 ecx, DWORD PTR _i$[ebp]
  001f2	8b 14 8d 00 00
	00 00		 mov	 edx, DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[ecx*4]
  001f9	52		 push	 edx
  001fa	8b 85 8c fd ff
	ff		 mov	 eax, DWORD PTR _hMenu$[ebp]
  00200	50		 push	 eax
  00201	e8 00 00 00 00	 call	 ?AddUIForDeintPlugin@@YAXPAUHMENU__@@PAU_DEINTERLACE_METHOD@@@Z ; AddUIForDeintPlugin
  00206	83 c4 08	 add	 esp, 8

; 839  : 
; 840  :             // update the names list which will be used in the generic settings
; 841  :             // dialog box
; 842  :             DeinterlaceNames[VideoDeintMethods[i]->nMethodIndex] = VideoDeintMethods[i]->szName;

  00209	8b 8d 94 fd ff
	ff		 mov	 ecx, DWORD PTR _i$[ebp]
  0020f	8b 14 8d 00 00
	00 00		 mov	 edx, DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[ecx*4]
  00216	8b 85 94 fd ff
	ff		 mov	 eax, DWORD PTR _i$[ebp]
  0021c	8b 0c 85 00 00
	00 00		 mov	 ecx, DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[eax*4]
  00223	8b 41 2c	 mov	 eax, DWORD PTR [ecx+44]
  00226	8b 4a 08	 mov	 ecx, DWORD PTR [edx+8]
  00229	89 0c 85 00 00
	00 00		 mov	 DWORD PTR ?DeinterlaceNames@@3PAPBDA[eax*4], ecx

; 843  :         }

  00230	e9 5e ff ff ff	 jmp	 $LN5@LoadDeinte@2
$LN4@LoadDeinte@2:

; 844  :         // Cut the menu in two colums if there are a lot of deinterlace video modes
; 845  :         if (GetMenuItemCount(hMenu) > 29)

  00235	8b 95 8c fd ff
	ff		 mov	 edx, DWORD PTR _hMenu$[ebp]
  0023b	52		 push	 edx
  0023c	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__GetMenuItemCount@4
  00242	83 f8 1d	 cmp	 eax, 29			; 0000001dH
  00245	7e 3d		 jle	 SHORT $LN2@LoadDeinte@2

; 846  :         {
; 847  :             TCHAR Text[32];
; 848  :             GetMenuString(hMenu, IDM_PROGRESSIVE_SCAN, Text, sizeof(Text), MF_BYCOMMAND);

  00247	6a 00		 push	 0
  00249	6a 40		 push	 64			; 00000040H
  0024b	8d 85 48 fd ff
	ff		 lea	 eax, DWORD PTR _Text$143317[ebp]
  00251	50		 push	 eax
  00252	68 07 09 00 00	 push	 2311			; 00000907H
  00257	8b 8d 8c fd ff
	ff		 mov	 ecx, DWORD PTR _hMenu$[ebp]
  0025d	51		 push	 ecx
  0025e	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__GetMenuStringW@20

; 849  :             ModifyMenu(hMenu, IDM_PROGRESSIVE_SCAN, MF_MENUBARBREAK | MF_STRING, IDM_PROGRESSIVE_SCAN, Text);

  00264	8d 95 48 fd ff
	ff		 lea	 edx, DWORD PTR _Text$143317[ebp]
  0026a	52		 push	 edx
  0026b	68 07 09 00 00	 push	 2311			; 00000907H
  00270	6a 20		 push	 32			; 00000020H
  00272	68 07 09 00 00	 push	 2311			; 00000907H
  00277	8b 85 8c fd ff
	ff		 mov	 eax, DWORD PTR _hMenu$[ebp]
  0027d	50		 push	 eax
  0027e	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__ModifyMenuW@20
$LN2@LoadDeinte@2:

; 850  :         }
; 851  :         return TRUE;

  00284	b8 01 00 00 00	 mov	 eax, 1
  00289	eb 04		 jmp	 SHORT $LN18@LoadDeinte@2

; 852  :     }
; 853  :     else

  0028b	eb 02		 jmp	 SHORT $LN18@LoadDeinte@2
$LN11@LoadDeinte@2:

; 854  :     {
; 855  :         return FALSE;

  0028d	33 c0		 xor	 eax, eax
$LN18@LoadDeinte@2:

; 856  :     }
; 857  : }

  0028f	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp+4]
  00292	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00299	59		 pop	 ecx
  0029a	5f		 pop	 edi
  0029b	5e		 pop	 esi
  0029c	5b		 pop	 ebx
  0029d	8b 4d ec	 mov	 ecx, DWORD PTR __$ArrayPad$[ebp]
  002a0	33 cd		 xor	 ecx, ebp
  002a2	e8 00 00 00 00	 call	 @__security_check_cookie@4
  002a7	8b e5		 mov	 esp, ebp
  002a9	5d		 pop	 ebp
  002aa	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__ehhandler$?LoadDeinterlacePlugins@@YAHXZ:
  00000	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00004	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00007	8b 8a 44 fd ff
	ff		 mov	 ecx, DWORD PTR [edx-700]
  0000d	33 c8		 xor	 ecx, eax
  0000f	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00014	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  00017	33 c8		 xor	 ecx, eax
  00019	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0001e	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?LoadDeinterlacePlugins@@YAHXZ
  00023	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?LoadDeinterlacePlugins@@YAHXZ ENDP			; LoadDeinterlacePlugins
PUBLIC	?ProcessDeinterlaceSelection@@YAHPAUHWND__@@G@Z	; ProcessDeinterlaceSelection
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?ProcessDeinterlaceSelection@@YAHPAUHWND__@@G@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?ProcessDeinterlaceSelection@@YAHPAUHWND__@@G@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?ProcessDeinterlaceSelection@@YAHPAUHWND__@@G@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$?ProcessDeinterlaceSelection@@YAHPAUHWND__@@G@Z$2
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?ProcessDeinterlaceSelection@@YAHPAUHWND__@@G@Z$3
	DD	03H
	DD	FLAT:__unwindfunclet$?ProcessDeinterlaceSelection@@YAHPAUHWND__@@G@Z$4
	DD	04H
	DD	FLAT:__unwindfunclet$?ProcessDeinterlaceSelection@@YAHPAUHWND__@@G@Z$5
__ehfuncinfo$?ProcessDeinterlaceSelection@@YAHPAUHWND__@@G@Z DD 019930522H
	DD	06H
	DD	FLAT:__unwindtable$?ProcessDeinterlaceSelection@@YAHPAUHWND__@@G@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?ProcessDeinterlaceSelection@@YAHPAUHWND__@@G@Z
_TEXT	SEGMENT
tv165 = -216						; size = 4
tv185 = -212						; size = 4
tv149 = -208						; size = 4
tv181 = -204						; size = 4
tv81 = -200						; size = 4
$T353097 = -196						; size = 28
$T353096 = -168						; size = 28
$T353095 = -140						; size = 28
$T353094 = -112						; size = 28
$T353093 = -84						; size = 28
$T353092 = -56						; size = 28
_VideoFormat$143162 = -28				; size = 4
_bFound$ = -24						; size = 4
_i$ = -20						; size = 4
_nDeinterlaceIndex$ = -16				; size = 4
__$EHRec$ = -12						; size = 12
_hWnd$ = 8						; size = 4
_wMenuID$ = 12						; size = 2
?ProcessDeinterlaceSelection@@YAHPAUHWND__@@G@Z PROC	; ProcessDeinterlaceSelection, COMDAT

; 645  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?ProcessDeinterlaceSelection@@YAHPAUHWND__@@G@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	81 ec cc 00 00
	00		 sub	 esp, 204		; 000000ccH
  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

; 646  :     int     nDeinterlaceIndex = 0;

  00028	c7 45 f0 00 00
	00 00		 mov	 DWORD PTR _nDeinterlaceIndex$[ebp], 0

; 647  :     int     bFound = FALSE;

  0002f	c7 45 e8 00 00
	00 00		 mov	 DWORD PTR _bFound$[ebp], 0

; 648  :     int     i;
; 649  : 
; 650  :     if(bIsProgressiveMode)

  00036	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?bIsProgressiveMode@@3HA, 0 ; bIsProgressiveMode
  0003d	74 07		 je	 SHORT $LN13@ProcessDei

; 651  :     {
; 652  :         return FALSE;

  0003f	33 c0		 xor	 eax, eax
  00041	e9 76 02 00 00	 jmp	 $LN14@ProcessDei
$LN13@ProcessDei:

; 653  :     }
; 654  : 
; 655  :     if(wMenuID >= IDM_FIRST_DEINTMETHOD && wMenuID <= IDM_LAST_DEINTMETHOD)

  00046	0f b7 45 0c	 movzx	 eax, WORD PTR _wMenuID$[ebp]
  0004a	3d 6c 07 00 00	 cmp	 eax, 1900		; 0000076cH
  0004f	0f 8c cd 00 00
	00		 jl	 $LN12@ProcessDei
  00055	0f b7 4d 0c	 movzx	 ecx, WORD PTR _wMenuID$[ebp]
  00059	81 f9 cf 07 00
	00		 cmp	 ecx, 1999		; 000007cfH
  0005f	0f 8f bd 00 00
	00		 jg	 $LN12@ProcessDei

; 656  :     {
; 657  :         // Usually done through other means than DScaler menus
; 658  :         bFound = TRUE;

  00065	c7 45 e8 01 00
	00 00		 mov	 DWORD PTR _bFound$[ebp], 1

; 659  :         nDeinterlaceIndex = wMenuID - IDM_FIRST_DEINTMETHOD;

  0006c	0f b7 55 0c	 movzx	 edx, WORD PTR _wMenuID$[ebp]
  00070	81 ea 6c 07 00
	00		 sub	 edx, 1900		; 0000076cH
  00076	89 55 f0	 mov	 DWORD PTR _nDeinterlaceIndex$[ebp], edx

; 660  :         SetVideoDeinterlaceIndex(wMenuID - IDM_FIRST_DEINTMETHOD);

  00079	0f b7 45 0c	 movzx	 eax, WORD PTR _wMenuID$[ebp]
  0007d	2d 6c 07 00 00	 sub	 eax, 1900		; 0000076cH
  00082	50		 push	 eax
  00083	e8 00 00 00 00	 call	 ?SetVideoDeinterlaceIndex@@YAXH@Z ; SetVideoDeinterlaceIndex
  00088	83 c4 04	 add	 esp, 4

; 661  :         OSD_ShowText(MBCSToTString(GetDeinterlaceModeName()).c_str(), 0);

  0008b	e8 00 00 00 00	 call	 ?GetDeinterlaceModeName@@YAPADXZ ; GetDeinterlaceModeName
  00090	50		 push	 eax
  00091	8d 4d ac	 lea	 ecx, DWORD PTR $T353093[ebp]
  00094	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> >
  00099	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  000a0	8d 4d ac	 lea	 ecx, DWORD PTR $T353093[ebp]
  000a3	51		 push	 ecx
  000a4	8d 55 90	 lea	 edx, DWORD PTR $T353094[ebp]
  000a7	52		 push	 edx
  000a8	e8 00 00 00 00	 call	 ?MBCSToUnicode@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z ; MBCSToUnicode
  000ad	83 c4 08	 add	 esp, 8
  000b0	89 85 38 ff ff
	ff		 mov	 DWORD PTR tv81[ebp], eax
  000b6	8b 85 38 ff ff
	ff		 mov	 eax, DWORD PTR tv81[ebp]
  000bc	89 85 34 ff ff
	ff		 mov	 DWORD PTR tv181[ebp], eax
  000c2	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  000c6	8b 8d 34 ff ff
	ff		 mov	 ecx, DWORD PTR tv181[ebp]
  000cc	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
  000d1	50		 push	 eax
  000d2	8d 4d c8	 lea	 ecx, DWORD PTR $T353092[ebp]
  000d5	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> >
  000da	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  000de	6a 00		 push	 0
  000e0	6a 00		 push	 0
  000e2	83 ec 08	 sub	 esp, 8
  000e5	d9 ee		 fldz
  000e7	dd 1c 24	 fstp	 QWORD PTR [esp]
  000ea	8d 4d c8	 lea	 ecx, DWORD PTR $T353092[ebp]
  000ed	51		 push	 ecx
  000ee	e8 00 00 00 00	 call	 ?OSD_ShowText@@YAXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@NHH@Z ; OSD_ShowText
  000f3	83 c4 14	 add	 esp, 20			; 00000014H
  000f6	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  000fa	8d 4d c8	 lea	 ecx, DWORD PTR $T353092[ebp]
  000fd	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> >
  00102	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  00106	8d 4d 90	 lea	 ecx, DWORD PTR $T353094[ebp]
  00109	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> >
  0010e	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00115	8d 4d ac	 lea	 ecx, DWORD PTR $T353093[ebp]
  00118	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> >

; 662  :     }
; 663  :     else

  0011d	e9 36 01 00 00	 jmp	 $LN8@ProcessDei
$LN12@ProcessDei:

; 664  :     {
; 665  :         // Usually done through the DScaler menus
; 666  :         for(i = 0; i < NumVideoModes; i++)

  00122	c7 45 ec 00 00
	00 00		 mov	 DWORD PTR _i$[ebp], 0
  00129	eb 09		 jmp	 SHORT $LN10@ProcessDei
$LN9@ProcessDei:
  0012b	8b 55 ec	 mov	 edx, DWORD PTR _i$[ebp]
  0012e	83 c2 01	 add	 edx, 1
  00131	89 55 ec	 mov	 DWORD PTR _i$[ebp], edx
$LN10@ProcessDei:
  00134	8b 45 ec	 mov	 eax, DWORD PTR _i$[ebp]
  00137	3b 05 00 00 00
	00		 cmp	 eax, DWORD PTR ?NumVideoModes@@3JA ; NumVideoModes
  0013d	0f 8d 15 01 00
	00		 jge	 $LN8@ProcessDei

; 667  :         {
; 668  :             if(wMenuID == VideoDeintMethods[i]->MenuId)

  00143	0f b7 4d 0c	 movzx	 ecx, WORD PTR _wMenuID$[ebp]
  00147	8b 55 ec	 mov	 edx, DWORD PTR _i$[ebp]
  0014a	8b 04 95 00 00
	00 00		 mov	 eax, DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[edx*4]
  00151	3b 48 54	 cmp	 ecx, DWORD PTR [eax+84]
  00154	0f 85 f9 00 00
	00		 jne	 $LN7@ProcessDei

; 669  :             {
; 670  :                 bFound = TRUE;

  0015a	c7 45 e8 01 00
	00 00		 mov	 DWORD PTR _bFound$[ebp], 1

; 671  :                 nDeinterlaceIndex = VideoDeintMethods[i]->nMethodIndex;

  00161	8b 4d ec	 mov	 ecx, DWORD PTR _i$[ebp]
  00164	8b 14 8d 00 00
	00 00		 mov	 edx, DWORD PTR ?VideoDeintMethods@@3PAPAU_DEINTERLACE_METHOD@@A[ecx*4]
  0016b	8b 42 2c	 mov	 eax, DWORD PTR [edx+44]
  0016e	89 45 f0	 mov	 DWORD PTR _nDeinterlaceIndex$[ebp], eax

; 672  :                 if(!bIsFilmMode || (Setting_GetValue(WM_OUTTHREADS_GETVALUE, AUTODETECT) == FALSE))

  00171	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?bIsFilmMode@@3HA, 0 ; bIsFilmMode
  00178	74 17		 je	 SHORT $LN5@ProcessDei
  0017a	6a 05		 push	 5
  0017c	68 04 80 00 00	 push	 32772			; 00008004H
  00181	e8 00 00 00 00	 call	 ?Setting_GetValue@@YAJJJ@Z ; Setting_GetValue
  00186	83 c4 08	 add	 esp, 8
  00189	85 c0		 test	 eax, eax
  0018b	0f 85 b8 00 00
	00		 jne	 $LN6@ProcessDei
$LN5@ProcessDei:

; 673  :                 {
; 674  :                     SetVideoDeinterlaceMode(i);

  00191	8b 4d ec	 mov	 ecx, DWORD PTR _i$[ebp]
  00194	51		 push	 ecx
  00195	e8 00 00 00 00	 call	 ?SetVideoDeinterlaceMode@@YAXH@Z ; SetVideoDeinterlaceMode
  0019a	83 c4 04	 add	 esp, 4

; 675  :                     OSD_ShowText(MBCSToTString(GetDeinterlaceModeName()).c_str(), 0);

  0019d	e8 00 00 00 00	 call	 ?GetDeinterlaceModeName@@YAPADXZ ; GetDeinterlaceModeName
  001a2	50		 push	 eax
  001a3	8d 8d 58 ff ff
	ff		 lea	 ecx, DWORD PTR $T353096[ebp]
  001a9	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> >
  001ae	c7 45 fc 03 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 3
  001b5	8d 95 58 ff ff
	ff		 lea	 edx, DWORD PTR $T353096[ebp]
  001bb	52		 push	 edx
  001bc	8d 85 3c ff ff
	ff		 lea	 eax, DWORD PTR $T353097[ebp]
  001c2	50		 push	 eax
  001c3	e8 00 00 00 00	 call	 ?MBCSToUnicode@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z ; MBCSToUnicode
  001c8	83 c4 08	 add	 esp, 8
  001cb	89 85 30 ff ff
	ff		 mov	 DWORD PTR tv149[ebp], eax
  001d1	8b 8d 30 ff ff
	ff		 mov	 ecx, DWORD PTR tv149[ebp]
  001d7	89 8d 2c ff ff
	ff		 mov	 DWORD PTR tv185[ebp], ecx
  001dd	c6 45 fc 04	 mov	 BYTE PTR __$EHRec$[ebp+8], 4
  001e1	8b 8d 2c ff ff
	ff		 mov	 ecx, DWORD PTR tv185[ebp]
  001e7	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
  001ec	50		 push	 eax
  001ed	8d 8d 74 ff ff
	ff		 lea	 ecx, DWORD PTR $T353095[ebp]
  001f3	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> >
  001f8	c6 45 fc 05	 mov	 BYTE PTR __$EHRec$[ebp+8], 5
  001fc	6a 00		 push	 0
  001fe	6a 00		 push	 0
  00200	83 ec 08	 sub	 esp, 8
  00203	d9 ee		 fldz
  00205	dd 1c 24	 fstp	 QWORD PTR [esp]
  00208	8d 95 74 ff ff
	ff		 lea	 edx, DWORD PTR $T353095[ebp]
  0020e	52		 push	 edx
  0020f	e8 00 00 00 00	 call	 ?OSD_ShowText@@YAXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@NHH@Z ; OSD_ShowText
  00214	83 c4 14	 add	 esp, 20			; 00000014H
  00217	c6 45 fc 04	 mov	 BYTE PTR __$EHRec$[ebp+8], 4
  0021b	8d 8d 74 ff ff
	ff		 lea	 ecx, DWORD PTR $T353095[ebp]
  00221	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> >
  00226	c6 45 fc 03	 mov	 BYTE PTR __$EHRec$[ebp+8], 3
  0022a	8d 8d 3c ff ff
	ff		 lea	 ecx, DWORD PTR $T353097[ebp]
  00230	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> >
  00235	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0023c	8d 8d 58 ff ff
	ff		 lea	 ecx, DWORD PTR $T353096[ebp]
  00242	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> >

; 676  :                 }
; 677  :                 else

  00247	eb 08		 jmp	 SHORT $LN4@ProcessDei
$LN6@ProcessDei:

; 678  :                 {
; 679  :                     gVideoPulldownMode = i;

  00249	8b 45 ec	 mov	 eax, DWORD PTR _i$[ebp]
  0024c	a3 00 00 00 00	 mov	 DWORD PTR ?gVideoPulldownMode@@3JA, eax ; gVideoPulldownMode
$LN4@ProcessDei:

; 680  :                 }
; 681  :                 break;

  00251	eb 05		 jmp	 SHORT $LN8@ProcessDei
$LN7@ProcessDei:

; 682  :             }
; 683  :         }

  00253	e9 d3 fe ff ff	 jmp	 $LN9@ProcessDei
$LN8@ProcessDei:

; 684  :     }
; 685  : 
; 686  :     // Now save the current deinterlace setting
; 687  :     if (bFound)

  00258	83 7d e8 00	 cmp	 DWORD PTR _bFound$[ebp], 0
  0025c	74 5b		 je	 SHORT $LN1@ProcessDei

; 688  :     {
; 689  :         eVideoFormat VideoFormat(Providers_GetCurrentSource()->GetFormat());

  0025e	e8 00 00 00 00	 call	 ?Providers_GetCurrentSource@@YAPAVCSource@@XZ ; Providers_GetCurrentSource
  00263	89 85 28 ff ff
	ff		 mov	 DWORD PTR tv165[ebp], eax
  00269	8b 8d 28 ff ff
	ff		 mov	 ecx, DWORD PTR tv165[ebp]
  0026f	8b 11		 mov	 edx, DWORD PTR [ecx]
  00271	8b 8d 28 ff ff
	ff		 mov	 ecx, DWORD PTR tv165[ebp]
  00277	8b 42 64	 mov	 eax, DWORD PTR [edx+100]
  0027a	ff d0		 call	 eax
  0027c	89 45 e4	 mov	 DWORD PTR _VideoFormat$143162[ebp], eax

; 690  :         if(GetTVFormat(VideoFormat)->Is25fps)

  0027f	8b 4d e4	 mov	 ecx, DWORD PTR _VideoFormat$143162[ebp]
  00282	51		 push	 ecx
  00283	e8 00 00 00 00	 call	 ?GetTVFormat@@YAPAUTTVFormat@@W4eVideoFormat@@@Z ; GetTVFormat
  00288	83 c4 04	 add	 esp, 4
  0028b	83 78 10 00	 cmp	 DWORD PTR [eax+16], 0
  0028f	74 15		 je	 SHORT $LN2@ProcessDei

; 691  :         {
; 692  :             Setting_SetValue(WM_FD50_GETVALUE, PALFILMFALLBACKMODE, nDeinterlaceIndex);

  00291	8b 55 f0	 mov	 edx, DWORD PTR _nDeinterlaceIndex$[ebp]
  00294	52		 push	 edx
  00295	6a 02		 push	 2
  00297	68 06 80 00 00	 push	 32774			; 00008006H
  0029c	e8 00 00 00 00	 call	 ?Setting_SetValue@@YAXJJJ@Z ; Setting_SetValue
  002a1	83 c4 0c	 add	 esp, 12			; 0000000cH

; 693  :         }
; 694  :         else

  002a4	eb 13		 jmp	 SHORT $LN1@ProcessDei
$LN2@ProcessDei:

; 695  :         {
; 696  :             Setting_SetValue(WM_FD60_GETVALUE, NTSCFILMFALLBACKMODE, nDeinterlaceIndex);

  002a6	8b 45 f0	 mov	 eax, DWORD PTR _nDeinterlaceIndex$[ebp]
  002a9	50		 push	 eax
  002aa	6a 00		 push	 0
  002ac	68 07 80 00 00	 push	 32775			; 00008007H
  002b1	e8 00 00 00 00	 call	 ?Setting_SetValue@@YAXJJJ@Z ; Setting_SetValue
  002b6	83 c4 0c	 add	 esp, 12			; 0000000cH
$LN1@ProcessDei:

; 697  :         }
; 698  :     }
; 699  :     return bFound;

  002b9	8b 45 e8	 mov	 eax, DWORD PTR _bFound$[ebp]
$LN14@ProcessDei:

; 700  : }

  002bc	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  002bf	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  002c6	59		 pop	 ecx
  002c7	8b e5		 mov	 esp, ebp
  002c9	5d		 pop	 ebp
  002ca	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?ProcessDeinterlaceSelection@@YAHPAUHWND__@@G@Z$0:
  00000	8d 4d ac	 lea	 ecx, DWORD PTR $T353093[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> >
__unwindfunclet$?ProcessDeinterlaceSelection@@YAHPAUHWND__@@G@Z$1:
  00008	8d 4d 90	 lea	 ecx, DWORD PTR $T353094[ebp]
  0000b	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$?ProcessDeinterlaceSelection@@YAHPAUHWND__@@G@Z$2:
  00010	8d 4d c8	 lea	 ecx, DWORD PTR $T353092[ebp]
  00013	e9 00 00 00 00	 jmp	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
__unwindfunclet$?ProcessDeinterlaceSelection@@YAHPAUHWND__@@G@Z$3:
  00018	8d 8d 58 ff ff
	ff		 lea	 ecx, DWORD PTR $T353096[ebp]
  0001e	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> >
__unwindfunclet$?ProcessDeinterlaceSelection@@YAHPAUHWND__@@G@Z$4:
  00023	8d 8d 3c ff ff
	ff		 lea	 ecx, DWORD PTR $T353097[ebp]
  00029	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$?ProcessDeinterlaceSelection@@YAHPAUHWND__@@G@Z$5:
  0002e	8d 8d 74 ff ff
	ff		 lea	 ecx, DWORD PTR $T353095[ebp]
  00034	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$?ProcessDeinterlaceSelection@@YAHPAUHWND__@@G@Z:
  00039	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0003d	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00040	8b 8a 30 ff ff
	ff		 mov	 ecx, DWORD PTR [edx-208]
  00046	33 c8		 xor	 ecx, eax
  00048	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0004d	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?ProcessDeinterlaceSelection@@YAHPAUHWND__@@G@Z
  00052	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?ProcessDeinterlaceSelection@@YAHPAUHWND__@@G@Z ENDP	; ProcessDeinterlaceSelection
PUBLIC	?PrepareDeinterlaceMode@@YAXXZ			; PrepareDeinterlaceMode
; Function compile flags: /Odtp
;	COMDAT ?PrepareDeinterlaceMode@@YAXXZ
_TEXT	SEGMENT
tv66 = -8						; size = 4
_VideoFormat$ = -4					; size = 4
?PrepareDeinterlaceMode@@YAXXZ PROC			; PrepareDeinterlaceMode, COMDAT

; 544  : {

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

; 545  :     bIsProgressiveMode = FALSE;

  00006	c7 05 00 00 00
	00 00 00 00 00	 mov	 DWORD PTR ?bIsProgressiveMode@@3HA, 0 ; bIsProgressiveMode

; 546  :     bIsFilmMode = FALSE;

  00010	c7 05 00 00 00
	00 00 00 00 00	 mov	 DWORD PTR ?bIsFilmMode@@3HA, 0 ; bIsFilmMode

; 547  :     eVideoFormat VideoFormat(Providers_GetCurrentSource()->GetFormat());

  0001a	e8 00 00 00 00	 call	 ?Providers_GetCurrentSource@@YAPAVCSource@@XZ ; Providers_GetCurrentSource
  0001f	89 45 f8	 mov	 DWORD PTR tv66[ebp], eax
  00022	8b 45 f8	 mov	 eax, DWORD PTR tv66[ebp]
  00025	8b 10		 mov	 edx, DWORD PTR [eax]
  00027	8b 4d f8	 mov	 ecx, DWORD PTR tv66[ebp]
  0002a	8b 42 64	 mov	 eax, DWORD PTR [edx+100]
  0002d	ff d0		 call	 eax
  0002f	89 45 fc	 mov	 DWORD PTR _VideoFormat$[ebp], eax

; 548  : 
; 549  :     if(GetTVFormat(VideoFormat)->Is25fps)

  00032	8b 4d fc	 mov	 ecx, DWORD PTR _VideoFormat$[ebp]
  00035	51		 push	 ecx
  00036	e8 00 00 00 00	 call	 ?GetTVFormat@@YAPAUTTVFormat@@W4eVideoFormat@@@Z ; GetTVFormat
  0003b	83 c4 04	 add	 esp, 4
  0003e	83 78 10 00	 cmp	 DWORD PTR [eax+16], 0
  00042	74 1a		 je	 SHORT $LN3@PrepareDei@2

; 550  :     {
; 551  :         SetVideoDeinterlaceIndex(Setting_GetValue(WM_FD50_GETVALUE, PALFILMFALLBACKMODE));

  00044	6a 02		 push	 2
  00046	68 06 80 00 00	 push	 32774			; 00008006H
  0004b	e8 00 00 00 00	 call	 ?Setting_GetValue@@YAJJJ@Z ; Setting_GetValue
  00050	83 c4 08	 add	 esp, 8
  00053	50		 push	 eax
  00054	e8 00 00 00 00	 call	 ?SetVideoDeinterlaceIndex@@YAXH@Z ; SetVideoDeinterlaceIndex
  00059	83 c4 04	 add	 esp, 4

; 552  :     }
; 553  :     else

  0005c	eb 18		 jmp	 SHORT $LN2@PrepareDei@2
$LN3@PrepareDei@2:

; 554  :     {
; 555  :         SetVideoDeinterlaceIndex(Setting_GetValue(WM_FD60_GETVALUE, NTSCFILMFALLBACKMODE));

  0005e	6a 00		 push	 0
  00060	68 07 80 00 00	 push	 32775			; 00008007H
  00065	e8 00 00 00 00	 call	 ?Setting_GetValue@@YAJJJ@Z ; Setting_GetValue
  0006a	83 c4 08	 add	 esp, 8
  0006d	50		 push	 eax
  0006e	e8 00 00 00 00	 call	 ?SetVideoDeinterlaceIndex@@YAXH@Z ; SetVideoDeinterlaceIndex
  00073	83 c4 04	 add	 esp, 4
$LN2@PrepareDei@2:

; 556  :     }
; 557  :     // If that didn't work then go into whatever they loaded up first
; 558  :     if(gVideoPulldownMode == -1)

  00076	83 3d 00 00 00
	00 ff		 cmp	 DWORD PTR ?gVideoPulldownMode@@3JA, -1 ; gVideoPulldownMode
  0007d	75 0a		 jne	 SHORT $LN1@PrepareDei@2

; 559  :     {
; 560  :         SetVideoDeinterlaceMode(0);

  0007f	6a 00		 push	 0
  00081	e8 00 00 00 00	 call	 ?SetVideoDeinterlaceMode@@YAXH@Z ; SetVideoDeinterlaceMode
  00086	83 c4 04	 add	 esp, 4
$LN1@PrepareDei@2:

; 561  :     }
; 562  :     // Update the status bar
; 563  :     Deinterlace_SetStatus(GetDeinterlaceModeName());

  00089	e8 00 00 00 00	 call	 ?GetDeinterlaceModeName@@YAPADXZ ; GetDeinterlaceModeName
  0008e	50		 push	 eax
  0008f	e8 00 00 00 00	 call	 ?Deinterlace_SetStatus@@YAXPBD@Z ; Deinterlace_SetStatus
  00094	83 c4 04	 add	 esp, 4

; 564  : }

  00097	8b e5		 mov	 esp, ebp
  00099	5d		 pop	 ebp
  0009a	c3		 ret	 0
?PrepareDeinterlaceMode@@YAXXZ ENDP			; PrepareDeinterlaceMode
; Function compile flags: /Odtp
;	COMDAT ??__EDeinterlaceHolders@@YAXXZ
text$yc	SEGMENT
??__EDeinterlaceHolders@@YAXXZ PROC			; `dynamic initializer for 'DeinterlaceHolders'', COMDAT

; 48   : vector< SmartPtr<CSettingsHolder> > DeinterlaceHolders;

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	b9 00 00 00 00	 mov	 ecx, OFFSET ?DeinterlaceHolders@@3V?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@A ; DeinterlaceHolders
  00008	e8 00 00 00 00	 call	 ??0?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >
  0000d	68 00 00 00 00	 push	 OFFSET ??__FDeinterlaceHolders@@YAXXZ ; `dynamic atexit destructor for 'DeinterlaceHolders''
  00012	e8 00 00 00 00	 call	 _atexit
  00017	83 c4 04	 add	 esp, 4
  0001a	5d		 pop	 ebp
  0001b	c3		 ret	 0
??__EDeinterlaceHolders@@YAXXZ ENDP			; `dynamic initializer for 'DeinterlaceHolders''
; Function compile flags: /Odtp
;	COMDAT ??__FDeinterlaceHolders@@YAXXZ
text$yd	SEGMENT
??__FDeinterlaceHolders@@YAXXZ PROC			; `dynamic atexit destructor for 'DeinterlaceHolders'', COMDAT
  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	b9 00 00 00 00	 mov	 ecx, OFFSET ?DeinterlaceHolders@@3V?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@A ; DeinterlaceHolders
  00008	e8 00 00 00 00	 call	 ??1?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >::~vector<SmartPtr<CSettingsHolder>,std::allocator<SmartPtr<CSettingsHolder> > >
  0000d	5d		 pop	 ebp
  0000e	c3		 ret	 0
??__FDeinterlaceHolders@@YAXXZ ENDP			; `dynamic atexit destructor for 'DeinterlaceHolders''
PUBLIC	?DeinterlaceHolders@@3V?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@A ; DeinterlaceHolders
?DeinterlaceHolders@@3V?$vector@V?$SmartPtr@VCSettingsHolder@@@@V?$allocator@V?$SmartPtr@VCSettingsHolder@@@@@std@@@std@@A DB 018H DUP (?) ; DeinterlaceHolders
_DeinterlaceHolders$initializer$ DD FLAT:??__EDeinterlaceHolders@@YAXXZ
END
