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

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

INCLUDELIB OLDNAMES

PUBLIC	?GetSource@CStillProvider@@UAE?AV?$SmartPtr@VCSource@@@@H@Z ; CStillProvider::GetSource
PUBLIC	?GetNumberOfSources@CStillProvider@@UAEHXZ	; CStillProvider::GetNumberOfSources
PUBLIC	??_R4CStillProvider@@6B@			; CStillProvider::`RTTI Complete Object Locator'
PUBLIC	??_R3CStillProvider@@8				; CStillProvider::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2CStillProvider@@8				; CStillProvider::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@CStillProvider@@8			; CStillProvider::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVCStillProvider@@@8			; CStillProvider `RTTI Type Descriptor'
PUBLIC	??0?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@QAE@XZ ; std::allocator<SmartPtr<CStillSource> >::allocator<SmartPtr<CStillSource> >
PUBLIC	??$?0V?$SmartPtr@VCStillSource@@@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@V?$SmartPtr@VCStillSource@@@@@1@@Z ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><SmartPtr<CStillSource> >
PUBLIC	??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCStillSource@@@@@1@@Z ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CStillSource> > >::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CStillSource> > >
PUBLIC	??0?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@QAE@ABV01@@Z ; std::allocator<SmartPtr<CStillSource> >::allocator<SmartPtr<CStillSource> >
PUBLIC	??0?$_Vector_val@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCStillSource@@@@@1@@Z ; std::_Vector_val<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_Vector_val<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >
PUBLIC	?_Buy@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAE_NI@Z ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_Buy
PUBLIC	??0?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >
PUBLIC	?end@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@XZ ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::end
PUBLIC	??0?$_Iterator_with_base@Urandom_access_iterator_tag@std@@V?$SmartPtr@VCStillSource@@@@HPBV3@ABV3@V_Iterator_base_aux@2@@std@@QAE@XZ ; std::_Iterator_with_base<std::random_access_iterator_tag,SmartPtr<CStillSource>,int,SmartPtr<CStillSource> const *,SmartPtr<CStillSource> const &,std::_Iterator_base_aux>::_Iterator_with_base<std::random_access_iterator_tag,SmartPtr<CStillSource>,int,SmartPtr<CStillSource> const *,SmartPtr<CStillSource> const &,std::_Iterator_base_aux>
PUBLIC	??0?$_Ranit@V?$SmartPtr@VCStillSource@@@@HPBV1@ABV1@@std@@QAE@XZ ; std::_Ranit<SmartPtr<CStillSource>,int,SmartPtr<CStillSource> const *,SmartPtr<CStillSource> const &>::_Ranit<SmartPtr<CStillSource>,int,SmartPtr<CStillSource> const *,SmartPtr<CStillSource> const &>
PUBLIC	??0?$_Vector_const_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@PAV?$SmartPtr@VCStillSource@@@@PBV_Container_base_aux@1@@Z ; std::_Vector_const_iterator<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_Vector_const_iterator<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >
PUBLIC	??0?$_Vector_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@PAV?$SmartPtr@VCStillSource@@@@PBV_Container_base_aux@1@@Z ; std::_Vector_iterator<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_Vector_iterator<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >
PUBLIC	?begin@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@XZ ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::begin
PUBLIC	??$_Allocate@V?$SmartPtr@VCStillSource@@@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@IPAV1@@Z ; std::_Allocate<SmartPtr<CStillSource> >
PUBLIC	?allocate@?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@QAEPAV?$SmartPtr@VCStillSource@@@@I@Z ; std::allocator<SmartPtr<CStillSource> >::allocate
PUBLIC	?capacity@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::capacity
PUBLIC	?max_size@?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@QBEIXZ ; std::allocator<SmartPtr<CStillSource> >::max_size
PUBLIC	?max_size@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::max_size
PUBLIC	?_Xlen@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@KAXXZ ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_Xlen
PUBLIC	??$_Uninit_copy@PAV?$SmartPtr@VCStillSource@@@@PAV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_copy<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *,std::allocator<SmartPtr<CStillSource> > >
PUBLIC	??$unchecked_uninitialized_copy@PAV?$SmartPtr@VCStillSource@@@@PAV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@stdext@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@Z ; stdext::unchecked_uninitialized_copy<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *,std::allocator<SmartPtr<CStillSource> > >
PUBLIC	??$_Uninit_move@PAV?$SmartPtr@VCStillSource@@@@PAV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_move<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *,std::allocator<SmartPtr<CStillSource> >,std::_Undefined_move_tag>
PUBLIC	??$_Unchecked_uninitialized_move@PAV?$SmartPtr@VCStillSource@@@@PAV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@stdext@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@Z ; stdext::_Unchecked_uninitialized_move<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *,std::allocator<SmartPtr<CStillSource> > >
PUBLIC	??$_Umove@PAV?$SmartPtr@VCStillSource@@@@@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEPAV?$SmartPtr@VCStillSource@@@@PAV2@00@Z ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_Umove<SmartPtr<CStillSource> *>
PUBLIC	??$_Fill@PAV?$SmartPtr@VCStillSource@@@@V1@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@0ABV1@@Z ; std::_Fill<SmartPtr<CStillSource> *,SmartPtr<CStillSource> >
PUBLIC	??$fill@PAV?$SmartPtr@VCStillSource@@@@V1@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@0ABV1@@Z ; std::fill<SmartPtr<CStillSource> *,SmartPtr<CStillSource> >
PUBLIC	??$_Iter_random@PAV?$SmartPtr@VCStillSource@@@@PAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAV?$SmartPtr@VCStillSource@@@@0@Z ; std::_Iter_random<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *>
PUBLIC	??$_Move_cat@PAV?$SmartPtr@VCStillSource@@@@@std@@YA?AU_Undefined_move_tag@0@ABQAV?$SmartPtr@VCStillSource@@@@@Z ; std::_Move_cat<SmartPtr<CStillSource> *>
PUBLIC	??$_Checked_base@PAV?$SmartPtr@VCStillSource@@@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@AAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z ; std::_Checked_base<SmartPtr<CStillSource> *>
PUBLIC	??$_Checked_base@PAV?$SmartPtr@VCStillSource@@@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<CStillSource> *>
PUBLIC	??4?$SmartPtr@VCStillSource@@@@QAEAAV0@ABV0@@Z	; SmartPtr<CStillSource>::operator=
PUBLIC	??$_Copy_backward_opt@PAV?$SmartPtr@VCStillSource@@@@PAV1@Uforward_iterator_tag@std@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00Uforward_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_backward_opt<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *,std::forward_iterator_tag>
PUBLIC	??$_Copy_backward_opt@PAV?$SmartPtr@VCStillSource@@@@PAV1@@std@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00Urandom_access_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_backward_opt<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *>
PUBLIC	??$_Move_backward_opt@PAV?$SmartPtr@VCStillSource@@@@PAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Move_backward_opt<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *,std::random_access_iterator_tag,std::_Undefined_move_tag>
PUBLIC	??$_Unchecked_move_backward@PAV?$SmartPtr@VCStillSource@@@@PAV1@@stdext@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00@Z ; stdext::_Unchecked_move_backward<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *>
PUBLIC	?_Insert_n@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@IABV?$SmartPtr@VCStillSource@@@@@Z ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_Insert_n
PUBLIC	??G?$_Vector_const_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QBEHABV01@@Z ; std::_Vector_const_iterator<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::operator-
PUBLIC	??Y?$_Vector_const_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_const_iterator<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::operator+=
PUBLIC	??Y?$_Vector_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_iterator<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::operator+=
PUBLIC	??H?$_Vector_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QBE?AV01@H@Z ; std::_Vector_iterator<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::operator+
PUBLIC	?insert@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@V?$_Vector_const_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@ABV?$SmartPtr@VCStillSource@@@@@Z ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::insert
PUBLIC	??$_Construct@V?$SmartPtr@VCStillSource@@@@V1@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@ABV1@@Z ; std::_Construct<SmartPtr<CStillSource>,SmartPtr<CStillSource> >
PUBLIC	?construct@?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@QAEXPAV?$SmartPtr@VCStillSource@@@@ABV3@@Z ; std::allocator<SmartPtr<CStillSource> >::construct
PUBLIC	??$_Uninit_fill_n@PAV?$SmartPtr@VCStillSource@@@@IV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_fill_n<SmartPtr<CStillSource> *,unsigned int,SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >
PUBLIC	??$unchecked_uninitialized_fill_n@PAV?$SmartPtr@VCStillSource@@@@IV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@stdext@@YAXPAV?$SmartPtr@VCStillSource@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@Z ; stdext::unchecked_uninitialized_fill_n<SmartPtr<CStillSource> *,unsigned int,SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >
PUBLIC	?_Ufill@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEPAV?$SmartPtr@VCStillSource@@@@PAV3@IABV3@@Z ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_Ufill
PUBLIC	?push_back@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAEXABV?$SmartPtr@VCStillSource@@@@@Z ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::push_back
PUBLIC	??0?$SmartPtr@VCStillSource@@@@QAE@XZ		; SmartPtr<CStillSource>::SmartPtr<CStillSource>
PUBLIC	??4?$SmartPtr@VCStillSource@@@@QAEAAV0@PAVCStillSource@@@Z ; SmartPtr<CStillSource>::operator=
PUBLIC	??C?$SmartPtr@VCStillSource@@@@QBEPAVCStillSource@@XZ ; SmartPtr<CStillSource>::operator->
PUBLIC	??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CStillSource> > >::~_Container_base_aux_alloc_real<std::allocator<SmartPtr<CStillSource> > >
PUBLIC	??1?$_Vector_val@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@XZ ; std::_Vector_val<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::~_Vector_val<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >
PUBLIC	?deallocate@?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@QAEXPAV?$SmartPtr@VCStillSource@@@@I@Z ; std::allocator<SmartPtr<CStillSource> >::deallocate
PUBLIC	??$_Ptr_cat@PAV?$SmartPtr@VCStillSource@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VCStillSource@@@@0@Z ; std::_Ptr_cat<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *>
PUBLIC	??_G?$SmartPtr@VCStillSource@@@@QAEPAXI@Z	; SmartPtr<CStillSource>::`scalar deleting destructor'
PUBLIC	??$_Destroy@V?$SmartPtr@VCStillSource@@@@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@@Z ; std::_Destroy<SmartPtr<CStillSource> >
PUBLIC	?destroy@?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@QAEXPAV?$SmartPtr@VCStillSource@@@@@Z ; std::allocator<SmartPtr<CStillSource> >::destroy
PUBLIC	??$_Destroy_range@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@0AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@0@U_Nonscalar_ptr_iterator_tag@0@@Z ; std::_Destroy_range<std::allocator<SmartPtr<CStillSource> > >
PUBLIC	??$_Destroy_range@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@0AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@0@@Z ; std::_Destroy_range<std::allocator<SmartPtr<CStillSource> > >
PUBLIC	?_Destroy@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXPAV?$SmartPtr@VCStillSource@@@@0@Z ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_Destroy
PUBLIC	?_Tidy@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXXZ ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_Tidy
PUBLIC	??1?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::~vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >
PUBLIC	??_GCStillProvider@@UAEPAXI@Z			; CStillProvider::`scalar deleting destructor'
PUBLIC	?size@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::size
PUBLIC	??A?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAEAAV?$SmartPtr@VCStillSource@@@@I@Z ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::operator[]
PUBLIC	?acquire@?$SmartPtr@VCStillSource@@@@AAEXPAUCounter@@@Z ; SmartPtr<CStillSource>::acquire
PUBLIC	??0?$SmartPtr@VCStillSource@@@@QAE@ABV0@@Z	; SmartPtr<CStillSource>::SmartPtr<CStillSource>
PUBLIC	?Clear@?$SmartPtr@VCStillSource@@@@QAEXXZ	; SmartPtr<CStillSource>::Clear
PUBLIC	??1?$SmartPtr@VCStillSource@@@@QAE@XZ		; SmartPtr<CStillSource>::~SmartPtr<CStillSource>
PUBLIC	?GetRawPointer@?$SmartPtr@VCStillSource@@@@QBEPAVCStillSource@@XZ ; SmartPtr<CStillSource>::GetRawPointer
PUBLIC	?GetCounter@?$SmartPtr@VCStillSource@@@@QBEPAUCounter@@XZ ; SmartPtr<CStillSource>::GetCounter
PUBLIC	??$DynamicPtrCast@VCSource@@VCStillSource@@@@YA?AV?$SmartPtr@VCSource@@@@V?$SmartPtr@VCStillSource@@@@@Z ; DynamicPtrCast<CSource,CStillSource>
PUBLIC	??_C@_1BC@NNKDLOII@?$AAP?$AAa?$AAt?$AAt?$AAe?$AAr?$AAn?$AAs?$AA?$AA@ ; `string'
PUBLIC	??_C@_1DA@PICKGDC@?$AA?2?$AAp?$AAa?$AAt?$AAt?$AAe?$AAr?$AAn?$AAs?$AA?2?$AAp?$AAj?$AA_?$AAc?$AAa?$AAl?$AAi?$AAb?$AAr?$AA?4?$AAd?$AA3?$AAu?$AA?$AA@ ; `string'
PUBLIC	??_C@_1BE@HIALLCDD@?$AAS?$AAn?$AAa?$AAp?$AAs?$AAh?$AAo?$AAt?$AAs?$AA?$AA@ ; `string'
PUBLIC	??_C@_1BM@EANEKOOO@?$AAD?$AAS?$AAc?$AAa?$AAl?$AAe?$AAr?$AA?5?$AAi?$AAn?$AAt?$AAr?$AAo?$AA?$AA@ ; `string'
PUBLIC	??_C@_1BK@FJFPLNFB@?$AA?2?$AAD?$AAS?$AAc?$AAa?$AAl?$AAe?$AAr?$AA?4?$AAd?$AA3?$AAu?$AA?$AA@ ; `string'
PUBLIC	??_7CStillProvider@@6B@				; CStillProvider::`vftable'
EXTRN	??_ECStillProvider@@UAEPAXI@Z:PROC		; CStillProvider::`vector deleting destructor'
;	COMDAT ??_7CStillProvider@@6B@
CONST	SEGMENT
??_7CStillProvider@@6B@ DD FLAT:??_R4CStillProvider@@6B@ ; CStillProvider::`vftable'
	DD	FLAT:?GetNumberOfSources@CStillProvider@@UAEHXZ
	DD	FLAT:?GetSource@CStillProvider@@UAE?AV?$SmartPtr@VCSource@@@@H@Z
	DD	FLAT:??_ECStillProvider@@UAEPAXI@Z
CONST	ENDS
;	COMDAT ??_R4CStillProvider@@6B@
rdata$r	SEGMENT
??_R4CStillProvider@@6B@ DD 00H				; CStillProvider::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVCStillProvider@@@8
	DD	FLAT:??_R3CStillProvider@@8
rdata$r	ENDS
;	COMDAT ??_R3CStillProvider@@8
rdata$r	SEGMENT
??_R3CStillProvider@@8 DD 00H				; CStillProvider::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2CStillProvider@@8
rdata$r	ENDS
;	COMDAT ??_R2CStillProvider@@8
rdata$r	SEGMENT
??_R2CStillProvider@@8 DD FLAT:??_R1A@?0A@EA@CStillProvider@@8 ; CStillProvider::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@ISourceProvider@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@CStillProvider@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@CStillProvider@@8 DD FLAT:??_R0?AVCStillProvider@@@8 ; CStillProvider::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3CStillProvider@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVCStillProvider@@@8
_DATA	SEGMENT
??_R0?AVCStillProvider@@@8 DD FLAT:??_7type_info@@6B@	; CStillProvider `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVCStillProvider@@', 00H
_DATA	ENDS
;	COMDAT ??_C@_1BK@FJFPLNFB@?$AA?2?$AAD?$AAS?$AAc?$AAa?$AAl?$AAe?$AAr?$AA?4?$AAd?$AA3?$AAu?$AA?$AA@
CONST	SEGMENT
??_C@_1BK@FJFPLNFB@?$AA?2?$AAD?$AAS?$AAc?$AAa?$AAl?$AAe?$AAr?$AA?4?$AAd?$AA3?$AAu?$AA?$AA@ DB '\'
	DB	00H, 'D', 00H, 'S', 00H, 'c', 00H, 'a', 00H, 'l', 00H, 'e', 00H
	DB	'r', 00H, '.', 00H, 'd', 00H, '3', 00H, 'u', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1BM@EANEKOOO@?$AAD?$AAS?$AAc?$AAa?$AAl?$AAe?$AAr?$AA?5?$AAi?$AAn?$AAt?$AAr?$AAo?$AA?$AA@
CONST	SEGMENT
??_C@_1BM@EANEKOOO@?$AAD?$AAS?$AAc?$AAa?$AAl?$AAe?$AAr?$AA?5?$AAi?$AAn?$AAt?$AAr?$AAo?$AA?$AA@ DB 'D'
	DB	00H, 'S', 00H, 'c', 00H, 'a', 00H, 'l', 00H, 'e', 00H, 'r', 00H
	DB	' ', 00H, 'i', 00H, 'n', 00H, 't', 00H, 'r', 00H, 'o', 00H, 00H
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_1BE@HIALLCDD@?$AAS?$AAn?$AAa?$AAp?$AAs?$AAh?$AAo?$AAt?$AAs?$AA?$AA@
CONST	SEGMENT
??_C@_1BE@HIALLCDD@?$AAS?$AAn?$AAa?$AAp?$AAs?$AAh?$AAo?$AAt?$AAs?$AA?$AA@ DB 'S'
	DB	00H, 'n', 00H, 'a', 00H, 'p', 00H, 's', 00H, 'h', 00H, 'o', 00H
	DB	't', 00H, 's', 00H, 00H, 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_1DA@PICKGDC@?$AA?2?$AAp?$AAa?$AAt?$AAt?$AAe?$AAr?$AAn?$AAs?$AA?2?$AAp?$AAj?$AA_?$AAc?$AAa?$AAl?$AAi?$AAb?$AAr?$AA?4?$AAd?$AA3?$AAu?$AA?$AA@
CONST	SEGMENT
??_C@_1DA@PICKGDC@?$AA?2?$AAp?$AAa?$AAt?$AAt?$AAe?$AAr?$AAn?$AAs?$AA?2?$AAp?$AAj?$AA_?$AAc?$AAa?$AAl?$AAi?$AAb?$AAr?$AA?4?$AAd?$AA3?$AAu?$AA?$AA@ DB '\'
	DB	00H, 'p', 00H, 'a', 00H, 't', 00H, 't', 00H, 'e', 00H, 'r', 00H
	DB	'n', 00H, 's', 00H, '\', 00H, 'p', 00H, 'j', 00H, '_', 00H, 'c'
	DB	00H, 'a', 00H, 'l', 00H, 'i', 00H, 'b', 00H, 'r', 00H, '.', 00H
	DB	'd', 00H, '3', 00H, 'u', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_1BC@NNKDLOII@?$AAP?$AAa?$AAt?$AAt?$AAe?$AAr?$AAn?$AAs?$AA?$AA@
CONST	SEGMENT
??_C@_1BC@NNKDLOII@?$AAP?$AAa?$AAt?$AAt?$AAe?$AAr?$AAn?$AAs?$AA?$AA@ DB 'P'
	DB	00H, 'a', 00H, 't', 00H, 't', 00H, 'e', 00H, 'r', 00H, 'n', 00H
	DB	's', 00H, 00H, 00H				; `string'
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
;	COMDAT ??$_Checked_base@PAV?$SmartPtr@VCStillSource@@@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@AAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z
_TEXT	SEGMENT
__It$ = 8						; size = 4
___formal$ = 12						; size = 1
??$_Checked_base@PAV?$SmartPtr@VCStillSource@@@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@AAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z PROC ; std::_Checked_base<SmartPtr<CStillSource> *>, 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@VCStillSource@@@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@AAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z ENDP ; std::_Checked_base<SmartPtr<CStillSource> *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Move_cat@PAV?$SmartPtr@VCStillSource@@@@@std@@YA?AU_Undefined_move_tag@0@ABQAV?$SmartPtr@VCStillSource@@@@@Z
_TEXT	SEGMENT
__Cat$ = -1						; size = 1
___formal$ = 8						; size = 4
??$_Move_cat@PAV?$SmartPtr@VCStillSource@@@@@std@@YA?AU_Undefined_move_tag@0@ABQAV?$SmartPtr@VCStillSource@@@@@Z PROC ; std::_Move_cat<SmartPtr<CStillSource> *>, 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@VCStillSource@@@@@std@@YA?AU_Undefined_move_tag@0@ABQAV?$SmartPtr@VCStillSource@@@@@Z ENDP ; std::_Move_cat<SmartPtr<CStillSource> *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Iter_random@PAV?$SmartPtr@VCStillSource@@@@PAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAV?$SmartPtr@VCStillSource@@@@0@Z
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
___formal$ = 12						; size = 4
___formal$ = 16						; size = 4
??$_Iter_random@PAV?$SmartPtr@VCStillSource@@@@PAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAV?$SmartPtr@VCStillSource@@@@0@Z PROC ; std::_Iter_random<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *>, 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@VCStillSource@@@@PAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAV?$SmartPtr@VCStillSource@@@@0@Z ENDP ; std::_Iter_random<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Checked_base@PAV?$SmartPtr@VCStillSource@@@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@AAPAV1@@Z
_TEXT	SEGMENT
__Base_tag$ = -1					; size = 1
__It$ = 8						; size = 4
??$_Checked_base@PAV?$SmartPtr@VCStillSource@@@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@AAPAV1@@Z PROC ; std::_Checked_base<SmartPtr<CStillSource> *>, 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@VCStillSource@@@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@AAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z ; std::_Checked_base<SmartPtr<CStillSource> *>
  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@VCStillSource@@@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@AAPAV1@@Z ENDP ; std::_Checked_base<SmartPtr<CStillSource> *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Ptr_cat@PAV?$SmartPtr@VCStillSource@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VCStillSource@@@@0@Z
_TEXT	SEGMENT
__Cat$ = -1						; size = 1
___formal$ = 8						; size = 4
___formal$ = 12						; size = 4
??$_Ptr_cat@PAV?$SmartPtr@VCStillSource@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VCStillSource@@@@0@Z PROC ; std::_Ptr_cat<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *>, 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@VCStillSource@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VCStillSource@@@@0@Z ENDP ; std::_Ptr_cat<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *>
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\smartptr.h
_TEXT	ENDS
;	COMDAT ?GetCounter@?$SmartPtr@VCStillSource@@@@QBEPAUCounter@@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetCounter@?$SmartPtr@VCStillSource@@@@QBEPAUCounter@@XZ PROC ; SmartPtr<CStillSource>::GetCounter, COMDAT
; _this$ = ecx

; 233  :     {

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

; 234  :         if (counter) return counter;

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	83 78 04 00	 cmp	 DWORD PTR [eax+4], 0
  0000e	74 08		 je	 SHORT $LN1@GetCounter@7
  00010	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00013	8b 41 04	 mov	 eax, DWORD PTR [ecx+4]
  00016	eb 02		 jmp	 SHORT $LN2@GetCounter@7
$LN1@GetCounter@7:

; 235  :         return 0;

  00018	33 c0		 xor	 eax, eax
$LN2@GetCounter@7:

; 236  :     }

  0001a	8b e5		 mov	 esp, ebp
  0001c	5d		 pop	 ebp
  0001d	c3		 ret	 0
?GetCounter@?$SmartPtr@VCStillSource@@@@QBEPAUCounter@@XZ ENDP ; SmartPtr<CStillSource>::GetCounter
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ??$?0V?$SmartPtr@VCStillSource@@@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@V?$SmartPtr@VCStillSource@@@@@1@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___formal$ = 8						; size = 4
??$?0V?$SmartPtr@VCStillSource@@@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@V?$SmartPtr@VCStillSource@@@@@1@@Z PROC ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><SmartPtr<CStillSource> >, 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@VCStillSource@@@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@V?$SmartPtr@VCStillSource@@@@@1@@Z ENDP ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><SmartPtr<CStillSource> >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?max_size@?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@QBEIXZ
_TEXT	SEGMENT
tv65 = -12						; size = 4
_this$ = -8						; size = 4
__Count$ = -4						; size = 4
?max_size@?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@QBEIXZ PROC ; std::allocator<SmartPtr<CStillSource> >::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@10
  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@10
$LN3@max_size@10:
  0001e	c7 45 f4 01 00
	00 00		 mov	 DWORD PTR tv65[ebp], 1
$LN4@max_size@10:
  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@VCStillSource@@@@@std@@QBEIXZ ENDP ; std::allocator<SmartPtr<CStillSource> >::max_size
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?deallocate@?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@QAEXPAV?$SmartPtr@VCStillSource@@@@I@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Ptr$ = 8						; size = 4
___formal$ = 12						; size = 4
?deallocate@?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@QAEXPAV?$SmartPtr@VCStillSource@@@@I@Z PROC ; std::allocator<SmartPtr<CStillSource> >::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@VCStillSource@@@@@std@@QAEXPAV?$SmartPtr@VCStillSource@@@@I@Z ENDP ; std::allocator<SmartPtr<CStillSource> >::deallocate
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___formal$ = 8						; size = 4
??0?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@QAE@ABV01@@Z PROC ; std::allocator<SmartPtr<CStillSource> >::allocator<SmartPtr<CStillSource> >, 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@VCStillSource@@@@@std@@QAE@ABV01@@Z ENDP ; std::allocator<SmartPtr<CStillSource> >::allocator<SmartPtr<CStillSource> >
; 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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QBEIXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?max_size@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QBEIXZ PROC ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::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@VCStillSource@@@@@std@@QBEIXZ ; std::allocator<SmartPtr<CStillSource> >::max_size

; 732  : 		}

  00012	8b e5		 mov	 esp, ebp
  00014	5d		 pop	 ebp
  00015	c3		 ret	 0
?max_size@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QBEIXZ ENDP ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::max_size
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\smartptr.h
_TEXT	ENDS
;	COMDAT ?acquire@?$SmartPtr@VCStillSource@@@@AAEXPAUCounter@@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_c$ = 8							; size = 4
?acquire@?$SmartPtr@VCStillSource@@@@AAEXPAUCounter@@@Z PROC ; SmartPtr<CStillSource>::acquire, COMDAT
; _this$ = ecx

; 262  :     {

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

; 263  :         counter = c;

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

; 264  :         if (c)

  00010	83 7d 08 00	 cmp	 DWORD PTR _c$[ebp], 0
  00014	74 0d		 je	 SHORT $LN2@acquire@9

; 265  :         {
; 266  :             (c->count)++;

  00016	8b 55 08	 mov	 edx, DWORD PTR _c$[ebp]
  00019	8b 02		 mov	 eax, DWORD PTR [edx]
  0001b	83 c0 01	 add	 eax, 1
  0001e	8b 4d 08	 mov	 ecx, DWORD PTR _c$[ebp]
  00021	89 01		 mov	 DWORD PTR [ecx], eax
$LN2@acquire@9:

; 267  :         }
; 268  :     }

  00023	8b e5		 mov	 esp, ebp
  00025	5d		 pop	 ebp
  00026	c2 04 00	 ret	 4
?acquire@?$SmartPtr@VCStillSource@@@@AAEXPAUCounter@@@Z ENDP ; SmartPtr<CStillSource>::acquire
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Clear@?$SmartPtr@VCStillSource@@@@QAEXXZ
_TEXT	SEGMENT
tv88 = -20						; size = 4
_this$ = -16						; size = 4
$T292744 = -12						; size = 4
$T292743 = -8						; size = 4
$T292742 = -4						; size = 4
?Clear@?$SmartPtr@VCStillSource@@@@QAEXXZ PROC		; SmartPtr<CStillSource>::Clear, COMDAT
; _this$ = ecx

; 240  :     {

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

; 241  :         if (counter)

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

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

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

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

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

; 246  :             {
; 247  :                 delete counter;

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

; 248  :                 delete rawPtr;

  00045	8b 55 f0	 mov	 edx, DWORD PTR _this$[ebp]
  00048	8b 02		 mov	 eax, DWORD PTR [edx]
  0004a	89 45 f4	 mov	 DWORD PTR $T292744[ebp], eax
  0004d	8b 4d f4	 mov	 ecx, DWORD PTR $T292744[ebp]
  00050	89 4d f8	 mov	 DWORD PTR $T292743[ebp], ecx
  00053	83 7d f8 00	 cmp	 DWORD PTR $T292743[ebp], 0
  00057	74 13		 je	 SHORT $LN5@Clear@8
  00059	6a 01		 push	 1
  0005b	8b 55 f8	 mov	 edx, DWORD PTR $T292743[ebp]
  0005e	8b 02		 mov	 eax, DWORD PTR [edx]
  00060	8b 4d f8	 mov	 ecx, DWORD PTR $T292743[ebp]
  00063	8b 10		 mov	 edx, DWORD PTR [eax]
  00065	ff d2		 call	 edx
  00067	89 45 ec	 mov	 DWORD PTR tv88[ebp], eax
  0006a	eb 07		 jmp	 SHORT $LN2@Clear@8
$LN5@Clear@8:
  0006c	c7 45 ec 00 00
	00 00		 mov	 DWORD PTR tv88[ebp], 0
$LN2@Clear@8:

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

  00073	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  00076	c7 40 04 00 00
	00 00		 mov	 DWORD PTR [eax+4], 0

; 252  :         rawPtr = 0;

  0007d	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00080	c7 01 00 00 00
	00		 mov	 DWORD PTR [ecx], 0

; 253  :     }

  00086	8b e5		 mov	 esp, ebp
  00088	5d		 pop	 ebp
  00089	c3		 ret	 0
?Clear@?$SmartPtr@VCStillSource@@@@QAEXXZ ENDP		; SmartPtr<CStillSource>::Clear
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ??0?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??0?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@QAE@XZ PROC ; std::allocator<SmartPtr<CStillSource> >::allocator<SmartPtr<CStillSource> >, 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@VCStillSource@@@@@std@@QAE@XZ ENDP ; std::allocator<SmartPtr<CStillSource> >::allocator<SmartPtr<CStillSource> >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
_TEXT	ENDS
;	COMDAT ?capacity@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QBEIXZ
_TEXT	SEGMENT
tv70 = -8						; size = 4
_this$ = -4						; size = 4
?capacity@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QBEIXZ PROC ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::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@10
  00012	c7 45 f8 00 00
	00 00		 mov	 DWORD PTR tv70[ebp], 0
  00019	eb 12		 jmp	 SHORT $LN4@capacity@10
$LN3@capacity@10:
  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@10:
  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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QBEIXZ ENDP ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::capacity
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\smartptr.h
_TEXT	ENDS
;	COMDAT ??1?$SmartPtr@VCStillSource@@@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??1?$SmartPtr@VCStillSource@@@@QAE@XZ PROC		; SmartPtr<CStillSource>::~SmartPtr<CStillSource>, COMDAT
; _this$ = ecx

; 105  :     {

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

; 106  :         Clear();

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

; 107  :     }

  0000f	8b e5		 mov	 esp, ebp
  00011	5d		 pop	 ebp
  00012	c3		 ret	 0
??1?$SmartPtr@VCStillSource@@@@QAE@XZ ENDP		; SmartPtr<CStillSource>::~SmartPtr<CStillSource>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$SmartPtr@VCStillSource@@@@QAE@ABV0@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_otherPtr$ = 8						; size = 4
??0?$SmartPtr@VCStillSource@@@@QAE@ABV0@@Z PROC		; SmartPtr<CStillSource>::SmartPtr<CStillSource>, COMDAT
; _this$ = ecx

; 82   :     SmartPtr(const SmartPtr< X >& otherPtr)

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

; 83   :     {
; 84   :         acquire( otherPtr.counter );

  00007	8b 45 08	 mov	 eax, DWORD PTR _otherPtr$[ebp]
  0000a	8b 48 04	 mov	 ecx, DWORD PTR [eax+4]
  0000d	51		 push	 ecx
  0000e	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00011	e8 00 00 00 00	 call	 ?acquire@?$SmartPtr@VCStillSource@@@@AAEXPAUCounter@@@Z ; SmartPtr<CStillSource>::acquire

; 85   :         rawPtr = otherPtr.rawPtr;

  00016	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00019	8b 45 08	 mov	 eax, DWORD PTR _otherPtr$[ebp]
  0001c	8b 08		 mov	 ecx, DWORD PTR [eax]
  0001e	89 0a		 mov	 DWORD PTR [edx], ecx

; 86   :     }

  00020	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00023	8b e5		 mov	 esp, ebp
  00025	5d		 pop	 ebp
  00026	c2 04 00	 ret	 4
??0?$SmartPtr@VCStillSource@@@@QAE@ABV0@@Z ENDP		; SmartPtr<CStillSource>::SmartPtr<CStillSource>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$SmartPtr@VCStillSource@@@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??0?$SmartPtr@VCStillSource@@@@QAE@XZ PROC		; SmartPtr<CStillSource>::SmartPtr<CStillSource>, COMDAT
; _this$ = ecx

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

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx
  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], 0
  00010	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00013	c7 41 04 00 00
	00 00		 mov	 DWORD PTR [ecx+4], 0
  0001a	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0001d	8b e5		 mov	 esp, ebp
  0001f	5d		 pop	 ebp
  00020	c3		 ret	 0
??0?$SmartPtr@VCStillSource@@@@QAE@XZ ENDP		; SmartPtr<CStillSource>::SmartPtr<CStillSource>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
_TEXT	ENDS
;	COMDAT ?size@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QBEIXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?size@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QBEIXZ PROC ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QBEIXZ ENDP ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::size
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\stillprovider.cpp
_TEXT	ENDS
;	COMDAT ?GetNumberOfSources@CStillProvider@@UAEHXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetNumberOfSources@CStillProvider@@UAEHXZ PROC		; CStillProvider::GetNumberOfSources, COMDAT
; _this$ = ecx

; 64   : {

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

; 65   :     return m_StillSources.size();

  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	83 c1 04	 add	 ecx, 4
  0000d	e8 00 00 00 00	 call	 ?size@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::size

; 66   : }

  00012	8b e5		 mov	 esp, ebp
  00014	5d		 pop	 ebp
  00015	c3		 ret	 0
?GetNumberOfSources@CStillProvider@@UAEHXZ ENDP		; CStillProvider::GetNumberOfSources
; Function compile flags: /Odtp
;	COMDAT ??_G?$SmartPtr@VCStillSource@@@@QAEPAXI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___flags$ = 8						; size = 4
??_G?$SmartPtr@VCStillSource@@@@QAEPAXI@Z PROC		; SmartPtr<CStillSource>::`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@VCStillSource@@@@QAE@XZ ; SmartPtr<CStillSource>::~SmartPtr<CStillSource>
  0000f	8b 45 08	 mov	 eax, DWORD PTR ___flags$[ebp]
  00012	83 e0 01	 and	 eax, 1
  00015	74 0c		 je	 SHORT $LN1@scalar@26
  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@26:
  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@VCStillSource@@@@QAEPAXI@Z ENDP		; SmartPtr<CStillSource>::`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@VCStillSource@@@@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
??$_Destroy@V?$SmartPtr@VCStillSource@@@@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@@Z PROC ; std::_Destroy<SmartPtr<CStillSource> >, 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@VCStillSource@@@@QAEPAXI@Z

; 60   : 	}

  0000d	5d		 pop	 ebp
  0000e	c3		 ret	 0
??$_Destroy@V?$SmartPtr@VCStillSource@@@@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@@Z ENDP ; std::_Destroy<SmartPtr<CStillSource> >
_TEXT	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??$_Construct@V?$SmartPtr@VCStillSource@@@@V1@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@ABV1@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??$_Construct@V?$SmartPtr@VCStillSource@@@@V1@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@ABV1@@Z$0
__ehfuncinfo$??$_Construct@V?$SmartPtr@VCStillSource@@@@V1@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@ABV1@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??$_Construct@V?$SmartPtr@VCStillSource@@@@V1@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@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@VCStillSource@@@@V1@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@ABV1@@Z
_TEXT	SEGMENT
tv74 = -28						; size = 4
$T304701 = -24						; size = 4
$T304700 = -20						; size = 4
__Vptr$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
__Ptr$ = 8						; size = 4
__Val$ = 12						; size = 4
??$_Construct@V?$SmartPtr@VCStillSource@@@@V1@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@ABV1@@Z PROC ; std::_Construct<SmartPtr<CStillSource>,SmartPtr<CStillSource> >, 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@VCStillSource@@@@V1@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@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 $T304701[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 $T304701[ebp], 0
  00047	74 11		 je	 SHORT $LN3@Construct@4
  00049	8b 55 0c	 mov	 edx, DWORD PTR __Val$[ebp]
  0004c	52		 push	 edx
  0004d	8b 4d e8	 mov	 ecx, DWORD PTR $T304701[ebp]
  00050	e8 00 00 00 00	 call	 ??0?$SmartPtr@VCStillSource@@@@QAE@ABV0@@Z ; SmartPtr<CStillSource>::SmartPtr<CStillSource>
  00055	89 45 e4	 mov	 DWORD PTR tv74[ebp], eax
  00058	eb 07		 jmp	 SHORT $LN4@Construct@4
$LN3@Construct@4:
  0005a	c7 45 e4 00 00
	00 00		 mov	 DWORD PTR tv74[ebp], 0
$LN4@Construct@4:
  00061	8b 45 e4	 mov	 eax, DWORD PTR tv74[ebp]
  00064	89 45 ec	 mov	 DWORD PTR $T304700[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@VCStillSource@@@@V1@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@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 $T304701[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@VCStillSource@@@@V1@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@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@VCStillSource@@@@V1@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@ABV1@@Z
  00027	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??$_Construct@V?$SmartPtr@VCStillSource@@@@V1@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@ABV1@@Z ENDP ; std::_Construct<SmartPtr<CStillSource>,SmartPtr<CStillSource> >
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\smartptr.h
;	COMDAT ??4?$SmartPtr@VCStillSource@@@@QAEAAV0@ABV0@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_otherPtr$ = 8						; size = 4
??4?$SmartPtr@VCStillSource@@@@QAEAAV0@ABV0@@Z PROC	; SmartPtr<CStillSource>::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@61

; 113  :         {
; 114  :             Clear();

  0000f	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00012	e8 00 00 00 00	 call	 ?Clear@?$SmartPtr@VCStillSource@@@@QAEXXZ ; SmartPtr<CStillSource>::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@VCStillSource@@@@AAEXPAUCounter@@@Z ; SmartPtr<CStillSource>::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@61:

; 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@VCStillSource@@@@QAEAAV0@ABV0@@Z ENDP	; SmartPtr<CStillSource>::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@VCStillSource@@@@@std@@QAEXPAV?$SmartPtr@VCStillSource@@@@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Ptr$ = 8						; size = 4
?destroy@?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@QAEXPAV?$SmartPtr@VCStillSource@@@@@Z PROC ; std::allocator<SmartPtr<CStillSource> >::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@VCStillSource@@@@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@@Z ; std::_Destroy<SmartPtr<CStillSource> >
  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@VCStillSource@@@@@std@@QAEXPAV?$SmartPtr@VCStillSource@@@@@Z ENDP ; std::allocator<SmartPtr<CStillSource> >::destroy
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?construct@?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@QAEXPAV?$SmartPtr@VCStillSource@@@@ABV3@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Ptr$ = 8						; size = 4
__Val$ = 12						; size = 4
?construct@?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@QAEXPAV?$SmartPtr@VCStillSource@@@@ABV3@@Z PROC ; std::allocator<SmartPtr<CStillSource> >::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@VCStillSource@@@@V1@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@ABV1@@Z ; std::_Construct<SmartPtr<CStillSource>,SmartPtr<CStillSource> >
  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@VCStillSource@@@@@std@@QAEXPAV?$SmartPtr@VCStillSource@@@@ABV3@@Z ENDP ; std::allocator<SmartPtr<CStillSource> >::construct
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
_TEXT	ENDS
;	COMDAT ??$_Fill@PAV?$SmartPtr@VCStillSource@@@@V1@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@0ABV1@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Val$ = 16						; size = 4
??$_Fill@PAV?$SmartPtr@VCStillSource@@@@V1@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@0ABV1@@Z PROC ; std::_Fill<SmartPtr<CStillSource> *,SmartPtr<CStillSource> >, 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@20
$LN2@Fill@20:
  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@20:
  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@20

; 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@VCStillSource@@@@QAEAAV0@ABV0@@Z ; SmartPtr<CStillSource>::operator=
  00022	eb e1		 jmp	 SHORT $LN2@Fill@20
$LN4@Fill@20:

; 3134 : 	}

  00024	5d		 pop	 ebp
  00025	c3		 ret	 0
??$_Fill@PAV?$SmartPtr@VCStillSource@@@@V1@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@0ABV1@@Z ENDP ; std::_Fill<SmartPtr<CStillSource> *,SmartPtr<CStillSource> >
; 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@VCStillSource@@@@@std@@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@0AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@@std@@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@0AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@0@U_Nonscalar_ptr_iterator_tag@0@@Z PROC ; std::_Destroy_range<std::allocator<SmartPtr<CStillSource> > >, 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@7
$LN2@Destroy_ra@7:
  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@7:
  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@7

; 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@VCStillSource@@@@@std@@QAEXPAV?$SmartPtr@VCStillSource@@@@@Z ; std::allocator<SmartPtr<CStillSource> >::destroy
  00022	eb e1		 jmp	 SHORT $LN2@Destroy_ra@7
$LN4@Destroy_ra@7:

; 235  : 	}

  00024	5d		 pop	 ebp
  00025	c3		 ret	 0
??$_Destroy_range@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@0AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@0@U_Nonscalar_ptr_iterator_tag@0@@Z ENDP ; std::_Destroy_range<std::allocator<SmartPtr<CStillSource> > >
_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@VCStillSource@@@@IV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@IV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@IV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z$0
__tryblocktable$??$_Uninit_fill_n@PAV?$SmartPtr@VCStillSource@@@@IV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@IV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z$2
__ehfuncinfo$??$_Uninit_fill_n@PAV?$SmartPtr@VCStillSource@@@@IV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@IV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
	DD	01H
	DD	FLAT:__tryblocktable$??$_Uninit_fill_n@PAV?$SmartPtr@VCStillSource@@@@IV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@IV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@IV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Uninit_fill_n<SmartPtr<CStillSource> *,unsigned int,SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >, 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@VCStillSource@@@@IV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@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@3
$LN5@Uninit_fil@3:
  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@3:
  0004b	83 7d 0c 00	 cmp	 DWORD PTR __Count$[ebp], 0
  0004f	76 12		 jbe	 SHORT $LN4@Uninit_fil@3

; 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@VCStillSource@@@@@std@@QAEXPAV?$SmartPtr@VCStillSource@@@@ABV3@@Z ; std::allocator<SmartPtr<CStillSource> >::construct
  00061	eb d6		 jmp	 SHORT $LN5@Uninit_fil@3
$LN4@Uninit_fil@3:
  00063	eb 37		 jmp	 SHORT $LN10@Uninit_fil@3
__catch$??$_Uninit_fill_n@PAV?$SmartPtr@VCStillSource@@@@IV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@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@3
$LN2@Uninit_fil@3:
  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@3:
  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@3

; 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@VCStillSource@@@@@std@@QAEXPAV?$SmartPtr@VCStillSource@@@@@Z ; std::allocator<SmartPtr<CStillSource> >::destroy
  00084	eb e1		 jmp	 SHORT $LN2@Uninit_fil@3
$LN1@Uninit_fil@3:

; 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@3
  0009b	c3		 ret	 0
$LN10@Uninit_fil@3:
  0009c	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
$LN9@Uninit_fil@3:

; 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@VCStillSource@@@@IV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@IV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@IV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Uninit_fill_n<SmartPtr<CStillSource> *,unsigned int,SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
;	COMDAT ??$_Allocate@V?$SmartPtr@VCStillSource@@@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@IPAV1@@Z
_TEXT	SEGMENT
$T304738 = -12						; size = 12
__Count$ = 8						; size = 4
___formal$ = 12						; size = 4
??$_Allocate@V?$SmartPtr@VCStillSource@@@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@IPAV1@@Z PROC ; std::_Allocate<SmartPtr<CStillSource> >, 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@12

; 38   : 		_Count = 0;

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

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

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

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

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

; 44   : 	}

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

; 3162 : 	}

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

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

; 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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QBEHABV01@@Z ENDP ; std::_Vector_const_iterator<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::operator-
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$_Vector_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@PAV?$SmartPtr@VCStillSource@@@@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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@PAV?$SmartPtr@VCStillSource@@@@PBV_Container_base_aux@1@@Z PROC ; std::_Vector_iterator<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_Vector_iterator<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >, 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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@PAV?$SmartPtr@VCStillSource@@@@PBV_Container_base_aux@1@@Z ; std::_Vector_const_iterator<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_Vector_const_iterator<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >

; 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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@PAV?$SmartPtr@VCStillSource@@@@PBV_Container_base_aux@1@@Z ENDP ; std::_Vector_iterator<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_Vector_iterator<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ?allocate@?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@QAEPAV?$SmartPtr@VCStillSource@@@@I@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Count$ = 8						; size = 4
?allocate@?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@QAEPAV?$SmartPtr@VCStillSource@@@@I@Z PROC ; std::allocator<SmartPtr<CStillSource> >::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@VCStillSource@@@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@IPAV1@@Z ; std::_Allocate<SmartPtr<CStillSource> >
  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@VCStillSource@@@@@std@@QAEPAV?$SmartPtr@VCStillSource@@@@I@Z ENDP ; std::allocator<SmartPtr<CStillSource> >::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@VCStillSource@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCStillSource@@@@@1@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCStillSource@@@@@1@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCStillSource@@@@@1@@Z$1
__ehfuncinfo$??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCStillSource@@@@@1@@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCStillSource@@@@@1@@Z
_TEXT	SEGMENT
tv133 = -32						; size = 4
_this$ = -28						; size = 4
$T304764 = -24						; size = 4
$T304763 = -20						; size = 4
$T304762 = -16						; size = 4
__$EHRec$ = -12						; size = 12
__Al$ = 8						; size = 1
??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCStillSource@@@@@1@@Z PROC ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CStillSource> > >::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CStillSource> > >, 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@VCStillSource@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@V?$SmartPtr@VCStillSource@@@@@1@@Z ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><SmartPtr<CStillSource> >

; 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 $T304764[ebp], eax
  00056	8b 4d e8	 mov	 ecx, DWORD PTR $T304764[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 $T304763[ebp], eax
  00067	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  0006b	83 7d ec 00	 cmp	 DWORD PTR $T304763[ebp], 0
  0006f	74 11		 je	 SHORT $LN3@Container_@11
  00071	8b 55 e4	 mov	 edx, DWORD PTR _this$[ebp]
  00074	52		 push	 edx
  00075	8b 4d ec	 mov	 ecx, DWORD PTR $T304763[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_@11
$LN3@Container_@11:
  00082	c7 45 e0 00 00
	00 00		 mov	 DWORD PTR tv133[ebp], 0
$LN4@Container_@11:
  00089	8b 45 e0	 mov	 eax, DWORD PTR tv133[ebp]
  0008c	89 45 f0	 mov	 DWORD PTR $T304762[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 $T304762[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@VCStillSource@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCStillSource@@@@@1@@Z$1:
  00008	8b 45 e8	 mov	 eax, DWORD PTR $T304764[ebp]
  0000b	50		 push	 eax
  0000c	8b 4d ec	 mov	 ecx, DWORD PTR $T304763[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@VCStillSource@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCStillSource@@@@@1@@Z
  0002f	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCStillSource@@@@@1@@Z ENDP ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CStillSource> > >::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CStillSource> > >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ?_Destroy@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXPAV?$SmartPtr@VCStillSource@@@@0@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
?_Destroy@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXPAV?$SmartPtr@VCStillSource@@@@0@Z PROC ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_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@VCStillSource@@@@@std@@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@0AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@0@@Z ; std::_Destroy_range<std::allocator<SmartPtr<CStillSource> > >
  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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXPAV?$SmartPtr@VCStillSource@@@@0@Z ENDP ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_Destroy
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?begin@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
___$ReturnUdt$ = 8					; size = 4
?begin@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@XZ PROC ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@PAV?$SmartPtr@VCStillSource@@@@PBV_Container_base_aux@1@@Z ; std::_Vector_iterator<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_Vector_iterator<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >
  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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@XZ ENDP ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::begin
_TEXT	ENDS
;	COMDAT xdata$x
; File c:\develop\dscaler423a\dscaler\smartptr.h
xdata$x	SEGMENT
__unwindtable$?GetRawPointer@?$SmartPtr@VCStillSource@@@@QBEPAVCStillSource@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?GetRawPointer@?$SmartPtr@VCStillSource@@@@QBEPAVCStillSource@@XZ$0
__ehfuncinfo$?GetRawPointer@?$SmartPtr@VCStillSource@@@@QBEPAVCStillSource@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?GetRawPointer@?$SmartPtr@VCStillSource@@@@QBEPAVCStillSource@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?GetRawPointer@?$SmartPtr@VCStillSource@@@@QBEPAVCStillSource@@XZ
_TEXT	SEGMENT
tv72 = -32						; size = 4
_this$ = -28						; size = 4
$T304783 = -24						; size = 4
$T304782 = -20						; size = 4
$T304781 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?GetRawPointer@?$SmartPtr@VCStillSource@@@@QBEPAVCStillSource@@XZ PROC ; SmartPtr<CStillSource>::GetRawPointer, COMDAT
; _this$ = ecx

; 205  :     {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?GetRawPointer@?$SmartPtr@VCStillSource@@@@QBEPAVCStillSource@@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 14	 sub	 esp, 20			; 00000014H
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	50		 push	 eax
  0001c	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001f	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00025	89 4d e4	 mov	 DWORD PTR _this$[ebp], ecx

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

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

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

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

; 208  :     }

  00084	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00087	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0008e	59		 pop	 ecx
  0008f	8b e5		 mov	 esp, ebp
  00091	5d		 pop	 ebp
  00092	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?GetRawPointer@?$SmartPtr@VCStillSource@@@@QBEPAVCStillSource@@XZ$0:
  00000	8b 45 e8	 mov	 eax, DWORD PTR $T304783[ebp]
  00003	50		 push	 eax
  00004	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00009	59		 pop	 ecx
  0000a	c3		 ret	 0
__ehhandler$?GetRawPointer@?$SmartPtr@VCStillSource@@@@QBEPAVCStillSource@@XZ:
  0000b	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000f	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00012	8b 4a e8	 mov	 ecx, DWORD PTR [edx-24]
  00015	33 c8		 xor	 ecx, eax
  00017	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0001c	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?GetRawPointer@?$SmartPtr@VCStillSource@@@@QBEPAVCStillSource@@XZ
  00021	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?GetRawPointer@?$SmartPtr@VCStillSource@@@@QBEPAVCStillSource@@XZ ENDP ; SmartPtr<CStillSource>::GetRawPointer
;	COMDAT xdata$x
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
xdata$x	SEGMENT
__unwindtable$??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAE@XZ$0
__ehfuncinfo$??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@@std@@@std@@IAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAE@XZ PROC ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CStillSource> > >::~_Container_base_aux_alloc_real<std::allocator<SmartPtr<CStillSource> > >, 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@VCStillSource@@@@@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@VCStillSource@@@@@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@VCStillSource@@@@@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@VCStillSource@@@@@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@VCStillSource@@@@@std@@@std@@IAE@XZ ENDP ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CStillSource> > >::~_Container_base_aux_alloc_real<std::allocator<SmartPtr<CStillSource> > >
;	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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCStillSource@@@@@1@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$_Vector_val@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCStillSource@@@@@1@@Z$0
__ehfuncinfo$??0?$_Vector_val@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCStillSource@@@@@1@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0?$_Vector_val@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCStillSource@@@@@1@@Z
_TEXT	SEGMENT
_this$ = -20						; size = 4
$T304804 = -16						; size = 4
__$EHRec$ = -12						; size = 12
__Al$ = 8						; size = 1
??0?$_Vector_val@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCStillSource@@@@@1@@Z PROC ; std::_Vector_val<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_Vector_val<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >, 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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCStillSource@@@@@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 $T304804[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@VCStillSource@@@@@std@@QAE@ABV01@@Z ; std::allocator<SmartPtr<CStillSource> >::allocator<SmartPtr<CStillSource> >
  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@VCStillSource@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCStillSource@@@@@1@@Z ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CStillSource> > >::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CStillSource> > >
  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@VCStillSource@@@@@std@@QAE@ABV01@@Z ; std::allocator<SmartPtr<CStillSource> >::allocator<SmartPtr<CStillSource> >

; 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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CStillSource> > >::~_Container_base_aux_alloc_real<std::allocator<SmartPtr<CStillSource> > >
__ehhandler$??0?$_Vector_val@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCStillSource@@@@@1@@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0?$_Vector_val@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCStillSource@@@@@1@@Z ENDP ; std::_Vector_val<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_Vector_val<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >
; Function compile flags: /Odtp
;	COMDAT ?_Ufill@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEPAV?$SmartPtr@VCStillSource@@@@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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEPAV?$SmartPtr@VCStillSource@@@@PAV3@IABV3@@Z PROC ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_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@VCStillSource@@@@IV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@stdext@@YAXPAV?$SmartPtr@VCStillSource@@@@IABV1@AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@Z ; stdext::unchecked_uninitialized_fill_n<SmartPtr<CStillSource> *,unsigned int,SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >
  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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEPAV?$SmartPtr@VCStillSource@@@@PAV3@IABV3@@Z ENDP ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_Ufill
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?_Tidy@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?_Tidy@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXXZ PROC ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_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@16

; 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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXPAV?$SmartPtr@VCStillSource@@@@0@Z ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_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@VCStillSource@@@@@std@@QAEXPAV?$SmartPtr@VCStillSource@@@@I@Z ; std::allocator<SmartPtr<CStillSource> >::deallocate
$LN1@Tidy@16:

; 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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXXZ ENDP ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_Tidy
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?end@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
___$ReturnUdt$ = 8					; size = 4
?end@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@XZ PROC ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@PAV?$SmartPtr@VCStillSource@@@@PBV_Container_base_aux@1@@Z ; std::_Vector_iterator<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_Vector_iterator<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >
  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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@XZ ENDP ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::end
_TEXT	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1?$_Vector_val@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$_Vector_val@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@XZ$0
__ehfuncinfo$??1?$_Vector_val@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$_Vector_val@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$_Vector_val@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@XZ PROC ; std::_Vector_val<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::~_Vector_val<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >, 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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CStillSource> > >::~_Container_base_aux_alloc_real<std::allocator<SmartPtr<CStillSource> > >
  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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<CStillSource> > >::~_Container_base_aux_alloc_real<std::allocator<SmartPtr<CStillSource> > >
__ehhandler$??1?$_Vector_val@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1?$_Vector_val@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@XZ ENDP ; std::_Vector_val<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::~_Vector_val<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\smartptr.h
;	COMDAT ??C?$SmartPtr@VCStillSource@@@@QBEPAVCStillSource@@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??C?$SmartPtr@VCStillSource@@@@QBEPAVCStillSource@@XZ PROC ; SmartPtr<CStillSource>::operator->, COMDAT
; _this$ = ecx

; 168  :     {

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

; 169  :         return GetRawPointer();

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

; 170  :     }

  0000f	8b e5		 mov	 esp, ebp
  00011	5d		 pop	 ebp
  00012	c3		 ret	 0
??C?$SmartPtr@VCStillSource@@@@QBEPAVCStillSource@@XZ ENDP ; SmartPtr<CStillSource>::operator->
_TEXT	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??4?$SmartPtr@VCStillSource@@@@QAEAAV0@PAVCStillSource@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??4?$SmartPtr@VCStillSource@@@@QAEAAV0@PAVCStillSource@@@Z$0
__ehfuncinfo$??4?$SmartPtr@VCStillSource@@@@QAEAAV0@PAVCStillSource@@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??4?$SmartPtr@VCStillSource@@@@QAEAAV0@PAVCStillSource@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??4?$SmartPtr@VCStillSource@@@@QAEAAV0@PAVCStillSource@@@Z
_TEXT	SEGMENT
tv75 = -28						; size = 4
_this$ = -24						; size = 4
$T304832 = -20						; size = 4
$T304831 = -16						; size = 4
__$EHRec$ = -12						; size = 12
_raw$ = 8						; size = 4
??4?$SmartPtr@VCStillSource@@@@QAEAAV0@PAVCStillSource@@@Z PROC ; SmartPtr<CStillSource>::operator=, COMDAT
; _this$ = ecx

; 153  :     {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??4?$SmartPtr@VCStillSource@@@@QAEAAV0@PAVCStillSource@@@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
  00025	89 4d e8	 mov	 DWORD PTR _this$[ebp], ecx

; 154  : 
; 155  :         Clear();

  00028	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0002b	e8 00 00 00 00	 call	 ?Clear@?$SmartPtr@VCStillSource@@@@QAEXXZ ; SmartPtr<CStillSource>::Clear

; 156  :         if (raw)

  00030	83 7d 08 00	 cmp	 DWORD PTR _raw$[ebp], 0
  00034	74 4e		 je	 SHORT $LN1@operator@63

; 157  :         {
; 158  :             counter = new Counter;

  00036	6a 04		 push	 4
  00038	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  0003d	83 c4 04	 add	 esp, 4
  00040	89 45 ec	 mov	 DWORD PTR $T304832[ebp], eax
  00043	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  0004a	83 7d ec 00	 cmp	 DWORD PTR $T304832[ebp], 0
  0004e	74 0f		 je	 SHORT $LN4@operator@63
  00050	6a 01		 push	 1
  00052	8b 4d ec	 mov	 ecx, DWORD PTR $T304832[ebp]
  00055	e8 00 00 00 00	 call	 ??0Counter@@QAE@I@Z	; Counter::Counter
  0005a	89 45 e4	 mov	 DWORD PTR tv75[ebp], eax
  0005d	eb 07		 jmp	 SHORT $LN5@operator@63
$LN4@operator@63:
  0005f	c7 45 e4 00 00
	00 00		 mov	 DWORD PTR tv75[ebp], 0
$LN5@operator@63:
  00066	8b 45 e4	 mov	 eax, DWORD PTR tv75[ebp]
  00069	89 45 f0	 mov	 DWORD PTR $T304831[ebp], eax
  0006c	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00073	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00076	8b 55 f0	 mov	 edx, DWORD PTR $T304831[ebp]
  00079	89 51 04	 mov	 DWORD PTR [ecx+4], edx

; 159  :             rawPtr = raw;

  0007c	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  0007f	8b 4d 08	 mov	 ecx, DWORD PTR _raw$[ebp]
  00082	89 08		 mov	 DWORD PTR [eax], ecx
$LN1@operator@63:

; 160  :         }
; 161  :         return *this;

  00084	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]

; 162  :     }

  00087	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0008a	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00091	59		 pop	 ecx
  00092	8b e5		 mov	 esp, ebp
  00094	5d		 pop	 ebp
  00095	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??4?$SmartPtr@VCStillSource@@@@QAEAAV0@PAVCStillSource@@@Z$0:
  00000	8b 45 ec	 mov	 eax, DWORD PTR $T304832[ebp]
  00003	50		 push	 eax
  00004	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00009	59		 pop	 ecx
  0000a	c3		 ret	 0
__ehhandler$??4?$SmartPtr@VCStillSource@@@@QAEAAV0@PAVCStillSource@@@Z:
  0000b	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000f	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00012	8b 4a ec	 mov	 ecx, DWORD PTR [edx-20]
  00015	33 c8		 xor	 ecx, eax
  00017	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0001c	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??4?$SmartPtr@VCStillSource@@@@QAEAAV0@PAVCStillSource@@@Z
  00021	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??4?$SmartPtr@VCStillSource@@@@QAEAAV0@PAVCStillSource@@@Z ENDP ; SmartPtr<CStillSource>::operator=
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ??A?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAEAAV?$SmartPtr@VCStillSource@@@@I@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Pos$ = 8						; size = 4
??A?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAEAAV?$SmartPtr@VCStillSource@@@@I@Z PROC ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::size
  0000f	39 45 08	 cmp	 DWORD PTR __Pos$[ebp], eax
  00012	72 05		 jb	 SHORT $LN2@operator@64
  00014	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN2@operator@64:
  00019	33 c0		 xor	 eax, eax
  0001b	75 fc		 jne	 SHORT $LN2@operator@64

; 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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAEAAV?$SmartPtr@VCStillSource@@@@I@Z ENDP ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::operator[]
_TEXT	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@XZ$0
__ehfuncinfo$??1?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@XZ PROC ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::~vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >, 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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXXZ ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@XZ
__ehhandler$??1?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@XZ ENDP ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::~vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >
PUBLIC	??1CStillProvider@@UAE@XZ			; CStillProvider::~CStillProvider
;	COMDAT xdata$x
; File c:\develop\dscaler423a\dscaler\stillprovider.cpp
xdata$x	SEGMENT
__unwindtable$??1CStillProvider@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1CStillProvider@@UAE@XZ$0
__ehfuncinfo$??1CStillProvider@@UAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1CStillProvider@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??1CStillProvider@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1CStillProvider@@UAE@XZ PROC				; CStillProvider::~CStillProvider, COMDAT
; _this$ = ecx

; 60   : {

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

; 61   : }

  00036	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0003d	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00040	83 c1 04	 add	 ecx, 4
  00043	e8 00 00 00 00	 call	 ??1?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::~vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >
  00048	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0004b	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00052	59		 pop	 ecx
  00053	8b e5		 mov	 esp, ebp
  00055	5d		 pop	 ebp
  00056	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1CStillProvider@@UAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	83 c1 04	 add	 ecx, 4
  00006	e9 00 00 00 00	 jmp	 ??1?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::~vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >
__ehhandler$??1CStillProvider@@UAE@XZ:
  0000b	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000f	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00012	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  00015	33 c8		 xor	 ecx, eax
  00017	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0001c	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??1CStillProvider@@UAE@XZ
  00021	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1CStillProvider@@UAE@XZ ENDP				; CStillProvider::~CStillProvider
; Function compile flags: /Odtp
;	COMDAT ??_GCStillProvider@@UAEPAXI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___flags$ = 8						; size = 4
??_GCStillProvider@@UAEPAXI@Z PROC			; CStillProvider::`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	 ??1CStillProvider@@UAE@XZ ; CStillProvider::~CStillProvider
  0000f	8b 45 08	 mov	 eax, DWORD PTR ___flags$[ebp]
  00012	83 e0 01	 and	 eax, 1
  00015	74 0c		 je	 SHORT $LN1@scalar@27
  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@27:
  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
??_GCStillProvider@@UAEPAXI@Z ENDP			; CStillProvider::`scalar deleting destructor'
;	COMDAT xdata$x
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\memory
xdata$x	SEGMENT
__unwindtable$??$_Uninit_copy@PAV?$SmartPtr@VCStillSource@@@@PAV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@PAV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@PAV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z$0
__tryblocktable$??$_Uninit_copy@PAV?$SmartPtr@VCStillSource@@@@PAV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@PAV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z$2
__ehfuncinfo$??$_Uninit_copy@PAV?$SmartPtr@VCStillSource@@@@PAV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@PAV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
	DD	01H
	DD	FLAT:__tryblocktable$??$_Uninit_copy@PAV?$SmartPtr@VCStillSource@@@@PAV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@PAV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@PAV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Uninit_copy<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *,std::allocator<SmartPtr<CStillSource> > >, 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@VCStillSource@@@@PAV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@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@20
$LN5@Uninit_cop@20:
  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@20:
  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@20

; 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@VCStillSource@@@@@std@@QAEXPAV?$SmartPtr@VCStillSource@@@@ABV3@@Z ; std::allocator<SmartPtr<CStillSource> >::construct
  00063	eb d4		 jmp	 SHORT $LN5@Uninit_cop@20
$LN4@Uninit_cop@20:
  00065	eb 37		 jmp	 SHORT $LN10@Uninit_cop@20
__catch$??$_Uninit_copy@PAV?$SmartPtr@VCStillSource@@@@PAV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@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@20
$LN2@Uninit_cop@20:
  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@20:
  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@20

; 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@VCStillSource@@@@@std@@QAEXPAV?$SmartPtr@VCStillSource@@@@@Z ; std::allocator<SmartPtr<CStillSource> >::destroy
  00086	eb e1		 jmp	 SHORT $LN2@Uninit_cop@20
$LN1@Uninit_cop@20:

; 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@VCStillSource@@@@PAV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z$1
  0009d	c3		 ret	 0
$LN10@Uninit_cop@20:
  0009e	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
__tryend$??$_Uninit_copy@PAV?$SmartPtr@VCStillSource@@@@PAV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@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@20:

; 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@VCStillSource@@@@PAV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@PAV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@PAV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Uninit_copy<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *,std::allocator<SmartPtr<CStillSource> > >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
;	COMDAT ??$_Copy_backward_opt@PAV?$SmartPtr@VCStillSource@@@@PAV1@Uforward_iterator_tag@std@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@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@VCStillSource@@@@PAV1@Uforward_iterator_tag@std@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00Uforward_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Copy_backward_opt<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *,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@21:

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

; 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@VCStillSource@@@@QAEAAV0@ABV0@@Z ; SmartPtr<CStillSource>::operator=
  00029	eb d8		 jmp	 SHORT $LN2@Copy_backw@21
$LN1@Copy_backw@21:

; 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@VCStillSource@@@@PAV1@Uforward_iterator_tag@std@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00Uforward_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Copy_backward_opt<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *,std::forward_iterator_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@VCStillSource@@@@PAV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@stdext@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@Z
_TEXT	SEGMENT
$T319261 = -2						; size = 1
$T319260 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
__Al$ = 20						; size = 4
??$unchecked_uninitialized_copy@PAV?$SmartPtr@VCStillSource@@@@PAV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@stdext@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@Z PROC ; stdext::unchecked_uninitialized_copy<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *,std::allocator<SmartPtr<CStillSource> > >, 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 $T319260[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@VCStillSource@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VCStillSource@@@@0@Z ; std::_Ptr_cat<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *>
  00016	83 c4 08	 add	 esp, 8
  00019	88 45 fe	 mov	 BYTE PTR $T319261[ebp], al
  0001c	0f b6 45 ff	 movzx	 eax, BYTE PTR $T319260[ebp]
  00020	50		 push	 eax
  00021	0f b6 4d fe	 movzx	 ecx, BYTE PTR $T319261[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@VCStillSource@@@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<CStillSource> *>
  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@VCStillSource@@@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<CStillSource> *>
  00044	83 c4 04	 add	 esp, 4
  00047	50		 push	 eax
  00048	e8 00 00 00 00	 call	 ??$_Uninit_copy@PAV?$SmartPtr@VCStillSource@@@@PAV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_copy<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *,std::allocator<SmartPtr<CStillSource> > >
  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@VCStillSource@@@@PAV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@stdext@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@Z ENDP ; stdext::unchecked_uninitialized_copy<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *,std::allocator<SmartPtr<CStillSource> > >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
_TEXT	ENDS
;	COMDAT ??$_Copy_backward_opt@PAV?$SmartPtr@VCStillSource@@@@PAV1@@std@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00Urandom_access_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
$T319266 = -7						; size = 1
$T319265 = -6						; size = 1
$T319264 = -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@VCStillSource@@@@PAV1@@std@@YAPAV?$SmartPtr@VCStillSource@@@@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<CStillSource> *,SmartPtr<CStillSource> *>, 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 $T319264[ebp], dl
  0001f	33 c0		 xor	 eax, eax
  00021	88 45 fa	 mov	 BYTE PTR $T319265[ebp], al
  00024	0f b6 4d fb	 movzx	 ecx, BYTE PTR $T319264[ebp]
  00028	51		 push	 ecx
  00029	0f b6 55 fa	 movzx	 edx, BYTE PTR $T319265[ebp]
  0002d	52		 push	 edx
  0002e	0f b6 45 f9	 movzx	 eax, BYTE PTR $T319266[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@VCStillSource@@@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<CStillSource> *>
  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@VCStillSource@@@@PAV1@Uforward_iterator_tag@std@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00Uforward_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_backward_opt<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *,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@VCStillSource@@@@PAV1@@std@@YAPAV?$SmartPtr@VCStillSource@@@@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<CStillSource> *,SmartPtr<CStillSource> *>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\memory
_TEXT	ENDS
;	COMDAT ??$_Uninit_move@PAV?$SmartPtr@VCStillSource@@@@PAV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@PAV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Uninit_move<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *,std::allocator<SmartPtr<CStillSource> >,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@VCStillSource@@@@PAV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@stdext@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@Z ; stdext::unchecked_uninitialized_copy<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *,std::allocator<SmartPtr<CStillSource> > >
  00018	83 c4 10	 add	 esp, 16			; 00000010H

; 206  : 	}

  0001b	5d		 pop	 ebp
  0001c	c3		 ret	 0
??$_Uninit_move@PAV?$SmartPtr@VCStillSource@@@@PAV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Uninit_move<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *,std::allocator<SmartPtr<CStillSource> >,std::_Undefined_move_tag>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
_TEXT	ENDS
;	COMDAT ??$_Move_backward_opt@PAV?$SmartPtr@VCStillSource@@@@PAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
$T319272 = -2						; size = 1
$T319271 = -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@VCStillSource@@@@PAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Move_backward_opt<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *,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 $T319271[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@VCStillSource@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VCStillSource@@@@0@Z ; std::_Ptr_cat<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *>
  00016	83 c4 08	 add	 esp, 8
  00019	88 45 fe	 mov	 BYTE PTR $T319272[ebp], al
  0001c	0f b6 45 ff	 movzx	 eax, BYTE PTR $T319271[ebp]
  00020	50		 push	 eax
  00021	0f b6 4d fe	 movzx	 ecx, BYTE PTR $T319272[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@VCStillSource@@@@PAV1@@std@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00Urandom_access_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_backward_opt<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *>
  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@VCStillSource@@@@PAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Move_backward_opt<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *,std::random_access_iterator_tag,std::_Undefined_move_tag>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\memory
_TEXT	ENDS
;	COMDAT ??$_Unchecked_uninitialized_move@PAV?$SmartPtr@VCStillSource@@@@PAV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@stdext@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@Z
_TEXT	SEGMENT
$T319276 = -2						; size = 1
$T319275 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
__Al$ = 20						; size = 4
??$_Unchecked_uninitialized_move@PAV?$SmartPtr@VCStillSource@@@@PAV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@stdext@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@Z PROC ; stdext::_Unchecked_uninitialized_move<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *,std::allocator<SmartPtr<CStillSource> > >, 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 $T319275[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@VCStillSource@@@@@std@@YA?AU_Undefined_move_tag@0@ABQAV?$SmartPtr@VCStillSource@@@@@Z ; std::_Move_cat<SmartPtr<CStillSource> *>
  00012	83 c4 04	 add	 esp, 4
  00015	88 45 fe	 mov	 BYTE PTR $T319276[ebp], al
  00018	0f b6 55 ff	 movzx	 edx, BYTE PTR $T319275[ebp]
  0001c	52		 push	 edx
  0001d	0f b6 45 fe	 movzx	 eax, BYTE PTR $T319276[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@VCStillSource@@@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<CStillSource> *>
  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@VCStillSource@@@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<CStillSource> *>
  00040	83 c4 04	 add	 esp, 4
  00043	50		 push	 eax
  00044	e8 00 00 00 00	 call	 ??$_Uninit_move@PAV?$SmartPtr@VCStillSource@@@@PAV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_move<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *,std::allocator<SmartPtr<CStillSource> >,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@VCStillSource@@@@PAV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@stdext@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@Z ENDP ; stdext::_Unchecked_uninitialized_move<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *,std::allocator<SmartPtr<CStillSource> > >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
_TEXT	ENDS
;	COMDAT ??$_Unchecked_move_backward@PAV?$SmartPtr@VCStillSource@@@@PAV1@@stdext@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00@Z
_TEXT	SEGMENT
$T319281 = -3						; size = 1
$T319280 = -2						; size = 1
$T319279 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
??$_Unchecked_move_backward@PAV?$SmartPtr@VCStillSource@@@@PAV1@@stdext@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00@Z PROC ; stdext::_Unchecked_move_backward<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *>, 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 $T319279[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@VCStillSource@@@@@std@@YA?AU_Undefined_move_tag@0@ABQAV?$SmartPtr@VCStillSource@@@@@Z ; std::_Move_cat<SmartPtr<CStillSource> *>
  00012	83 c4 04	 add	 esp, 4
  00015	88 45 fe	 mov	 BYTE PTR $T319280[ebp], al
  00018	0f b6 55 ff	 movzx	 edx, BYTE PTR $T319279[ebp]
  0001c	52		 push	 edx
  0001d	0f b6 45 fe	 movzx	 eax, BYTE PTR $T319280[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 $T319281[ebp]
  0002d	50		 push	 eax
  0002e	e8 00 00 00 00	 call	 ??$_Iter_random@PAV?$SmartPtr@VCStillSource@@@@PAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAV?$SmartPtr@VCStillSource@@@@0@Z ; std::_Iter_random<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *>
  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@VCStillSource@@@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<CStillSource> *>
  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@VCStillSource@@@@@std@@YAPAV?$SmartPtr@VCStillSource@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<CStillSource> *>
  00054	83 c4 04	 add	 esp, 4
  00057	50		 push	 eax
  00058	e8 00 00 00 00	 call	 ??$_Move_backward_opt@PAV?$SmartPtr@VCStillSource@@@@PAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Move_backward_opt<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *,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@VCStillSource@@@@PAV1@@stdext@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00@Z ENDP ; stdext::_Unchecked_move_backward<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
_TEXT	ENDS
;	COMDAT ??$_Umove@PAV?$SmartPtr@VCStillSource@@@@@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEPAV?$SmartPtr@VCStillSource@@@@PAV2@00@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Ptr$ = 16						; size = 4
??$_Umove@PAV?$SmartPtr@VCStillSource@@@@@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEPAV?$SmartPtr@VCStillSource@@@@PAV2@00@Z PROC ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_Umove<SmartPtr<CStillSource> *>, 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@VCStillSource@@@@PAV1@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@stdext@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@Z ; stdext::_Unchecked_uninitialized_move<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *,std::allocator<SmartPtr<CStillSource> > >
  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@VCStillSource@@@@@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEPAV?$SmartPtr@VCStillSource@@@@PAV2@00@Z ENDP ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_Umove<SmartPtr<CStillSource> *>
_TEXT	ENDS
;	COMDAT xdata$x
; File c:\develop\dscaler423a\dscaler\smartptr.h
xdata$x	SEGMENT
__unwindtable$??$DynamicPtrCast@VCSource@@VCStillSource@@@@YA?AV?$SmartPtr@VCSource@@@@V?$SmartPtr@VCStillSource@@@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??$DynamicPtrCast@VCSource@@VCStillSource@@@@YA?AV?$SmartPtr@VCSource@@@@V?$SmartPtr@VCStillSource@@@@@Z$1
	DD	00H
	DD	FLAT:__unwindfunclet$??$DynamicPtrCast@VCSource@@VCStillSource@@@@YA?AV?$SmartPtr@VCSource@@@@V?$SmartPtr@VCStillSource@@@@@Z$0
__ehfuncinfo$??$DynamicPtrCast@VCSource@@VCStillSource@@@@YA?AV?$SmartPtr@VCSource@@@@V?$SmartPtr@VCStillSource@@@@@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??$DynamicPtrCast@VCSource@@VCStillSource@@@@YA?AV?$SmartPtr@VCSource@@@@V?$SmartPtr@VCStillSource@@@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??$DynamicPtrCast@VCSource@@VCStillSource@@@@YA?AV?$SmartPtr@VCSource@@@@V?$SmartPtr@VCStillSource@@@@@Z
_TEXT	SEGMENT
$T319288 = -20						; size = 4
_newPtr$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
___$ReturnUdt$ = 8					; size = 4
_inPtr$ = 12						; size = 8
??$DynamicPtrCast@VCSource@@VCStillSource@@@@YA?AV?$SmartPtr@VCSource@@@@V?$SmartPtr@VCStillSource@@@@@Z PROC ; DynamicPtrCast<CSource,CStillSource>, COMDAT

; 277  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??$DynamicPtrCast@VCSource@@VCStillSource@@@@YA?AV?$SmartPtr@VCSource@@@@V?$SmartPtr@VCStillSource@@@@@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	c7 45 ec 00 00
	00 00		 mov	 DWORD PTR $T319288[ebp], 0
  0002c	c7 45 fc 01 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 1

; 278  :     //new SmartPtr must also take our counter or else the reference counts
; 279  :     //will go out of sync
; 280  :     Y* newPtr = dynamic_cast<Y*>(inPtr.GetRawPointer());

  00033	8d 4d 0c	 lea	 ecx, DWORD PTR _inPtr$[ebp]
  00036	e8 00 00 00 00	 call	 ?GetRawPointer@?$SmartPtr@VCStillSource@@@@QBEPAVCStillSource@@XZ ; SmartPtr<CStillSource>::GetRawPointer
  0003b	89 45 f0	 mov	 DWORD PTR _newPtr$[ebp], eax

; 281  :     if(newPtr)

  0003e	83 7d f0 00	 cmp	 DWORD PTR _newPtr$[ebp], 0
  00042	74 31		 je	 SHORT $LN2@DynamicPtr@8

; 282  :     {
; 283  :         return SmartPtr<Y>(newPtr, inPtr.GetCounter());

  00044	8d 4d 0c	 lea	 ecx, DWORD PTR _inPtr$[ebp]
  00047	e8 00 00 00 00	 call	 ?GetCounter@?$SmartPtr@VCStillSource@@@@QBEPAUCounter@@XZ ; SmartPtr<CStillSource>::GetCounter
  0004c	50		 push	 eax
  0004d	8b 45 f0	 mov	 eax, DWORD PTR _newPtr$[ebp]
  00050	50		 push	 eax
  00051	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  00054	e8 00 00 00 00	 call	 ??0?$SmartPtr@VCSource@@@@QAE@PAVCSource@@PAUCounter@@@Z ; SmartPtr<CSource>::SmartPtr<CSource>
  00059	8b 4d ec	 mov	 ecx, DWORD PTR $T319288[ebp]
  0005c	83 c9 01	 or	 ecx, 1
  0005f	89 4d ec	 mov	 DWORD PTR $T319288[ebp], ecx
  00062	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  00066	8d 4d 0c	 lea	 ecx, DWORD PTR _inPtr$[ebp]
  00069	e8 00 00 00 00	 call	 ??1?$SmartPtr@VCStillSource@@@@QAE@XZ ; SmartPtr<CStillSource>::~SmartPtr<CStillSource>
  0006e	8b 45 08	 mov	 eax, DWORD PTR ___$ReturnUdt$[ebp]
  00071	eb 30		 jmp	 SHORT $LN3@DynamicPtr@8

; 284  :     }
; 285  :     else

  00073	eb 22		 jmp	 SHORT $LN1@DynamicPtr@8
$LN2@DynamicPtr@8:

; 286  :     {
; 287  :         return SmartPtr<Y>();

  00075	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  00078	e8 00 00 00 00	 call	 ??0?$SmartPtr@VCSource@@@@QAE@XZ ; SmartPtr<CSource>::SmartPtr<CSource>
  0007d	8b 55 ec	 mov	 edx, DWORD PTR $T319288[ebp]
  00080	83 ca 01	 or	 edx, 1
  00083	89 55 ec	 mov	 DWORD PTR $T319288[ebp], edx
  00086	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  0008a	8d 4d 0c	 lea	 ecx, DWORD PTR _inPtr$[ebp]
  0008d	e8 00 00 00 00	 call	 ??1?$SmartPtr@VCStillSource@@@@QAE@XZ ; SmartPtr<CStillSource>::~SmartPtr<CStillSource>
  00092	8b 45 08	 mov	 eax, DWORD PTR ___$ReturnUdt$[ebp]
  00095	eb 0c		 jmp	 SHORT $LN3@DynamicPtr@8
$LN1@DynamicPtr@8:

; 288  :     }
; 289  : }

  00097	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  0009b	8d 4d 0c	 lea	 ecx, DWORD PTR _inPtr$[ebp]
  0009e	e8 00 00 00 00	 call	 ??1?$SmartPtr@VCStillSource@@@@QAE@XZ ; SmartPtr<CStillSource>::~SmartPtr<CStillSource>
$LN3@DynamicPtr@8:
  000a3	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  000a6	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000ad	59		 pop	 ecx
  000ae	8b e5		 mov	 esp, ebp
  000b0	5d		 pop	 ebp
  000b1	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??$DynamicPtrCast@VCSource@@VCStillSource@@@@YA?AV?$SmartPtr@VCSource@@@@V?$SmartPtr@VCStillSource@@@@@Z$0:
  00000	8d 4d 0c	 lea	 ecx, DWORD PTR _inPtr$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VCStillSource@@@@QAE@XZ ; SmartPtr<CStillSource>::~SmartPtr<CStillSource>
__unwindfunclet$??$DynamicPtrCast@VCSource@@VCStillSource@@@@YA?AV?$SmartPtr@VCSource@@@@V?$SmartPtr@VCStillSource@@@@@Z$1:
  00008	8b 45 ec	 mov	 eax, DWORD PTR $T319288[ebp]
  0000b	83 e0 01	 and	 eax, 1
  0000e	0f 84 0c 00 00
	00		 je	 $LN7@DynamicPtr@8
  00014	83 65 ec fe	 and	 DWORD PTR $T319288[ebp], -2 ; fffffffeH
  00018	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  0001b	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VCSource@@@@QAE@XZ ; SmartPtr<CSource>::~SmartPtr<CSource>
$LN7@DynamicPtr@8:
  00020	c3		 ret	 0
__ehhandler$??$DynamicPtrCast@VCSource@@VCStillSource@@@@YA?AV?$SmartPtr@VCSource@@@@V?$SmartPtr@VCStillSource@@@@@Z:
  00021	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00025	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00028	8b 4a f4	 mov	 ecx, DWORD PTR [edx-12]
  0002b	33 c8		 xor	 ecx, eax
  0002d	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00032	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??$DynamicPtrCast@VCSource@@VCStillSource@@@@YA?AV?$SmartPtr@VCSource@@@@V?$SmartPtr@VCStillSource@@@@@Z
  00037	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??$DynamicPtrCast@VCSource@@VCStillSource@@@@YA?AV?$SmartPtr@VCSource@@@@V?$SmartPtr@VCStillSource@@@@@Z ENDP ; DynamicPtrCast<CSource,CStillSource>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ??Y?$_Vector_const_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAEAAV01@H@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Off$ = 8						; size = 4
??Y?$_Vector_const_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAEAAV01@H@Z PROC ; std::_Vector_const_iterator<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::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@414
  00017	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN7@operator@414:
  0001c	33 c9		 xor	 ecx, ecx
  0001e	75 fc		 jne	 SHORT $LN7@operator@414

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

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

; 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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAEAAV01@H@Z ENDP ; std::_Vector_const_iterator<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::operator+=
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??Y?$_Vector_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAEAAV01@H@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Off$ = 8						; size = 4
??Y?$_Vector_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAEAAV01@H@Z PROC ; std::_Vector_iterator<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_const_iterator<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAEAAV01@H@Z ENDP ; std::_Vector_iterator<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::operator+=
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??H?$_Vector_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QBE?AV01@H@Z PROC ; std::_Vector_iterator<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_iterator<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QBE?AV01@H@Z ENDP ; std::_Vector_iterator<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::operator+
_TEXT	ENDS
;	COMDAT xdata$x
; File c:\develop\dscaler423a\dscaler\stillprovider.cpp
xdata$x	SEGMENT
__unwindtable$?GetSource@CStillProvider@@UAE?AV?$SmartPtr@VCSource@@@@H@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?GetSource@CStillProvider@@UAE?AV?$SmartPtr@VCSource@@@@H@Z$1
	DD	00H
	DD	FLAT:__unwindfunclet$?GetSource@CStillProvider@@UAE?AV?$SmartPtr@VCSource@@@@H@Z$0
__ehfuncinfo$?GetSource@CStillProvider@@UAE?AV?$SmartPtr@VCSource@@@@H@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$?GetSource@CStillProvider@@UAE?AV?$SmartPtr@VCSource@@@@H@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?GetSource@CStillProvider@@UAE?AV?$SmartPtr@VCSource@@@@H@Z
_TEXT	SEGMENT
tv95 = -36						; size = 4
tv94 = -32						; size = 4
tv133 = -28						; size = 4
_this$ = -24						; size = 4
$T319307 = -20						; size = 4
$T319304 = -16						; size = 4
__$EHRec$ = -12						; size = 12
___$ReturnUdt$ = 8					; size = 4
_SourceIndex$ = 12					; size = 4
?GetSource@CStillProvider@@UAE?AV?$SmartPtr@VCSource@@@@H@Z PROC ; CStillProvider::GetSource, COMDAT
; _this$ = ecx

; 70   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?GetSource@CStillProvider@@UAE?AV?$SmartPtr@VCSource@@@@H@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 18	 sub	 esp, 24			; 00000018H
  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 e8	 mov	 DWORD PTR _this$[ebp], ecx
  00028	c7 45 ec 00 00
	00 00		 mov	 DWORD PTR $T319307[ebp], 0

; 71   :     if(SourceIndex >= 0 && SourceIndex < m_StillSources.size())

  0002f	83 7d 0c 00	 cmp	 DWORD PTR _SourceIndex$[ebp], 0
  00033	7c 67		 jl	 SHORT $LN2@GetSource@2
  00035	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00038	83 c1 04	 add	 ecx, 4
  0003b	e8 00 00 00 00	 call	 ?size@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::size
  00040	39 45 0c	 cmp	 DWORD PTR _SourceIndex$[ebp], eax
  00043	73 57		 jae	 SHORT $LN2@GetSource@2

; 72   :     {
; 73   :         return DynamicPtrCast<CSource>(m_StillSources[SourceIndex]);

  00045	8b 45 0c	 mov	 eax, DWORD PTR _SourceIndex$[ebp]
  00048	50		 push	 eax
  00049	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0004c	83 c1 04	 add	 ecx, 4
  0004f	e8 00 00 00 00	 call	 ??A?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAEAAV?$SmartPtr@VCStillSource@@@@I@Z ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::operator[]
  00054	83 ec 08	 sub	 esp, 8
  00057	8b cc		 mov	 ecx, esp
  00059	89 65 f0	 mov	 DWORD PTR $T319304[ebp], esp
  0005c	50		 push	 eax
  0005d	e8 00 00 00 00	 call	 ??0?$SmartPtr@VCStillSource@@@@QAE@ABV0@@Z ; SmartPtr<CStillSource>::SmartPtr<CStillSource>
  00062	89 45 e4	 mov	 DWORD PTR tv133[ebp], eax
  00065	8b 4d e4	 mov	 ecx, DWORD PTR tv133[ebp]
  00068	89 4d e0	 mov	 DWORD PTR tv94[ebp], ecx
  0006b	c7 45 fc 01 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 1
  00072	8b 55 08	 mov	 edx, DWORD PTR ___$ReturnUdt$[ebp]
  00075	52		 push	 edx
  00076	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  0007a	e8 00 00 00 00	 call	 ??$DynamicPtrCast@VCSource@@VCStillSource@@@@YA?AV?$SmartPtr@VCSource@@@@V?$SmartPtr@VCStillSource@@@@@Z ; DynamicPtrCast<CSource,CStillSource>
  0007f	83 c4 0c	 add	 esp, 12			; 0000000cH
  00082	89 45 dc	 mov	 DWORD PTR tv95[ebp], eax
  00085	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  0008c	8b 45 ec	 mov	 eax, DWORD PTR $T319307[ebp]
  0008f	83 c8 01	 or	 eax, 1
  00092	89 45 ec	 mov	 DWORD PTR $T319307[ebp], eax
  00095	8b 45 08	 mov	 eax, DWORD PTR ___$ReturnUdt$[ebp]
  00098	eb 1d		 jmp	 SHORT $LN3@GetSource@2

; 74   :     }
; 75   :     else

  0009a	eb 1b		 jmp	 SHORT $LN3@GetSource@2
$LN2@GetSource@2:

; 76   :     {
; 77   :         return SmartPtr<CSource>();

  0009c	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  0009f	e8 00 00 00 00	 call	 ??0?$SmartPtr@VCSource@@@@QAE@XZ ; SmartPtr<CSource>::SmartPtr<CSource>
  000a4	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  000ab	8b 4d ec	 mov	 ecx, DWORD PTR $T319307[ebp]
  000ae	83 c9 01	 or	 ecx, 1
  000b1	89 4d ec	 mov	 DWORD PTR $T319307[ebp], ecx
  000b4	8b 45 08	 mov	 eax, DWORD PTR ___$ReturnUdt$[ebp]
$LN3@GetSource@2:

; 78   :     }
; 79   : }

  000b7	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  000ba	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000c1	59		 pop	 ecx
  000c2	8b e5		 mov	 esp, ebp
  000c4	5d		 pop	 ebp
  000c5	c2 08 00	 ret	 8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?GetSource@CStillProvider@@UAE?AV?$SmartPtr@VCSource@@@@H@Z$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR $T319304[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VCStillSource@@@@QAE@XZ ; SmartPtr<CStillSource>::~SmartPtr<CStillSource>
__unwindfunclet$?GetSource@CStillProvider@@UAE?AV?$SmartPtr@VCSource@@@@H@Z$1:
  00008	8b 45 ec	 mov	 eax, DWORD PTR $T319307[ebp]
  0000b	83 e0 01	 and	 eax, 1
  0000e	0f 84 0c 00 00
	00		 je	 $LN7@GetSource@2
  00014	83 65 ec fe	 and	 DWORD PTR $T319307[ebp], -2 ; fffffffeH
  00018	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  0001b	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VCSource@@@@QAE@XZ ; SmartPtr<CSource>::~SmartPtr<CSource>
$LN7@GetSource@2:
  00020	c3		 ret	 0
__ehhandler$?GetSource@CStillProvider@@UAE?AV?$SmartPtr@VCSource@@@@H@Z:
  00021	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00025	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00028	8b 4a e4	 mov	 ecx, DWORD PTR [edx-28]
  0002b	33 c8		 xor	 ecx, eax
  0002d	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00032	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?GetSource@CStillProvider@@UAE?AV?$SmartPtr@VCSource@@@@H@Z
  00037	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?GetSource@CStillProvider@@UAE?AV?$SmartPtr@VCSource@@@@H@Z ENDP ; CStillProvider::GetSource
;	COMDAT xdata$x
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
xdata$x	SEGMENT
__unwindtable$?_Xlen@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@KAXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?_Xlen@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@KAXXZ$0
__ehfuncinfo$?_Xlen@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@KAXXZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?_Xlen@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@KAXXZ
_TEXT	SEGMENT
$T337009 = -80						; size = 28
$T337008 = -52						; size = 40
__$EHRec$ = -12						; size = 12
?_Xlen@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@KAXXZ PROC ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@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 $T337009[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 $T337009[ebp]
  0003c	50		 push	 eax
  0003d	8d 4d cc	 lea	 ecx, DWORD PTR $T337008[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 $T337008[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 $T337009[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@11:

; 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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@KAXXZ$0:
  00000	8d 4d b0	 lea	 ecx, DWORD PTR $T337009[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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@KAXXZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?_Xlen@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@KAXXZ ENDP ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_Xlen
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?_Insert_n@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@IABV?$SmartPtr@VCStillSource@@@@@Z DD 0ffffffffH
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?_Insert_n@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@IABV?$SmartPtr@VCStillSource@@@@@Z$4
	DD	02H
	DD	00H
	DD	02H
	DD	00H
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?_Insert_n@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@IABV?$SmartPtr@VCStillSource@@@@@Z$5
__catchsym$?_Insert_n@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@IABV?$SmartPtr@VCStillSource@@@@@Z$6 DD 00H
	DD	00H
	DD	00H
	DD	FLAT:__catch$?_Insert_n@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@IABV?$SmartPtr@VCStillSource@@@@@Z$0
__catchsym$?_Insert_n@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@IABV?$SmartPtr@VCStillSource@@@@@Z$7 DD 00H
	DD	00H
	DD	00H
	DD	FLAT:__catch$?_Insert_n@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@IABV?$SmartPtr@VCStillSource@@@@@Z$2
__tryblocktable$?_Insert_n@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@IABV?$SmartPtr@VCStillSource@@@@@Z DD 00H
	DD	00H
	DD	01H
	DD	01H
	DD	FLAT:__catchsym$?_Insert_n@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@IABV?$SmartPtr@VCStillSource@@@@@Z$6
	DD	03H
	DD	03H
	DD	04H
	DD	01H
	DD	FLAT:__catchsym$?_Insert_n@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@IABV?$SmartPtr@VCStillSource@@@@@Z$7
__ehfuncinfo$?_Insert_n@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@IABV?$SmartPtr@VCStillSource@@@@@Z DD 019930522H
	DD	06H
	DD	FLAT:__unwindtable$?_Insert_n@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@IABV?$SmartPtr@VCStillSource@@@@@Z
	DD	02H
	DD	FLAT:__tryblocktable$?_Insert_n@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@IABV?$SmartPtr@VCStillSource@@@@@Z
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?_Insert_n@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@IABV?$SmartPtr@VCStillSource@@@@@Z
_TEXT	SEGMENT
tv84 = -56						; size = 4
_this$ = -52						; size = 4
__Tmp$143354 = -48					; size = 8
__Oldend$143355 = -40					; size = 4
__Tmp$143344 = -36					; size = 8
__Newvec$143332 = -28					; size = 4
__Ptr$143333 = -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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@IABV?$SmartPtr@VCStillSource@@@@@Z PROC ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@IABV?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::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@9
  00040	e9 1e 03 00 00	 jmp	 $LN14@Insert_n@9
$LN12@Insert_n@9:

; 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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::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@9

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

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

; 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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::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@9

; 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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::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@9
  00090	c7 45 c8 00 00
	00 00		 mov	 DWORD PTR tv84[ebp], 0
  00097	eb 0b		 jmp	 SHORT $LN16@Insert_n@9
$LN15@Insert_n@9:
  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@9:
  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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::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@9

; 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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::size
  000c2	03 45 10	 add	 eax, DWORD PTR __Count$[ebp]
  000c5	89 45 ec	 mov	 DWORD PTR __Capacity$[ebp], eax
$LN7@Insert_n@9:

; 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@VCStillSource@@@@@std@@QAEPAV?$SmartPtr@VCStillSource@@@@I@Z ; std::allocator<SmartPtr<CStillSource> >::allocate
  000d7	89 45 e4	 mov	 DWORD PTR __Newvec$143332[ebp], eax

; 1179 : 			pointer _Ptr = _Newvec;

  000da	8b 55 e4	 mov	 edx, DWORD PTR __Newvec$143332[ebp]
  000dd	89 55 e8	 mov	 DWORD PTR __Ptr$143333[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$143332[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@VCStillSource@@@@@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEPAV?$SmartPtr@VCStillSource@@@@PAV2@00@Z ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_Umove<SmartPtr<CStillSource> *>
  000fe	89 45 e8	 mov	 DWORD PTR __Ptr$143333[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$143333[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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEPAV?$SmartPtr@VCStillSource@@@@PAV3@IABV3@@Z ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_Ufill
  00115	89 45 e8	 mov	 DWORD PTR __Ptr$143333[ebp], eax

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

  00118	8b 4d e8	 mov	 ecx, DWORD PTR __Ptr$143333[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@VCStillSource@@@@@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEPAV?$SmartPtr@VCStillSource@@@@PAV2@00@Z ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_Umove<SmartPtr<CStillSource> *>
  0012f	eb 39		 jmp	 SHORT $LN17@Insert_n@9
__catch$?_Insert_n@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@IABV?$SmartPtr@VCStillSource@@@@@Z$0:

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

  00131	8b 55 e8	 mov	 edx, DWORD PTR __Ptr$143333[ebp]
  00134	52		 push	 edx
  00135	8b 45 e4	 mov	 eax, DWORD PTR __Newvec$143332[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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXPAV?$SmartPtr@VCStillSource@@@@0@Z ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_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$143332[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@VCStillSource@@@@@std@@QAEXPAV?$SmartPtr@VCStillSource@@@@I@Z ; std::allocator<SmartPtr<CStillSource> >::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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@IABV?$SmartPtr@VCStillSource@@@@@Z$1
  00169	c3		 ret	 0
$LN17@Insert_n@9:
  0016a	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
__tryend$?_Insert_n@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@IABV?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::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@9

; 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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXPAV?$SmartPtr@VCStillSource@@@@0@Z ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_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@VCStillSource@@@@@std@@QAEXPAV?$SmartPtr@VCStillSource@@@@I@Z ; std::allocator<SmartPtr<CStillSource> >::deallocate
$LN5@Insert_n@9:

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

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

; 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$143344[ebp]
  00208	e8 00 00 00 00	 call	 ??0?$SmartPtr@VCStillSource@@@@QAE@ABV0@@Z ; SmartPtr<CStillSource>::SmartPtr<CStillSource>
  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@VCStillSource@@@@@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEPAV?$SmartPtr@VCStillSource@@@@PAV2@00@Z ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_Umove<SmartPtr<CStillSource> *>

; 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$143344[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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEPAV?$SmartPtr@VCStillSource@@@@PAV3@IABV3@@Z ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_Ufill
  0025a	eb 35		 jmp	 SHORT $LN19@Insert_n@9
__catch$?_Insert_n@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@IABV?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXPAV?$SmartPtr@VCStillSource@@@@0@Z ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@IABV?$SmartPtr@VCStillSource@@@@@Z$3
  00290	c3		 ret	 0
$LN19@Insert_n@9:
  00291	c7 45 fc 02 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+12], 2
__tryend$?_Insert_n@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@IABV?$SmartPtr@VCStillSource@@@@@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$143344[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@VCStillSource@@@@V1@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@0ABV1@@Z ; std::fill<SmartPtr<CStillSource> *,SmartPtr<CStillSource> >
  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$143344[ebp]
  002d3	e8 00 00 00 00	 call	 ??1?$SmartPtr@VCStillSource@@@@QAE@XZ ; SmartPtr<CStillSource>::~SmartPtr<CStillSource>

; 1231 : 		else

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

; 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$143354[ebp]
  002e4	e8 00 00 00 00	 call	 ??0?$SmartPtr@VCStillSource@@@@QAE@ABV0@@Z ; SmartPtr<CStillSource>::SmartPtr<CStillSource>
  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$143355[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$143355[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$143355[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@VCStillSource@@@@@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEPAV?$SmartPtr@VCStillSource@@@@PAV2@00@Z ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_Umove<SmartPtr<CStillSource> *>
  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$143355[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$143355[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@VCStillSource@@@@PAV1@@stdext@@YAPAV?$SmartPtr@VCStillSource@@@@PAV1@00@Z ; stdext::_Unchecked_move_backward<SmartPtr<CStillSource> *,SmartPtr<CStillSource> *>
  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$143354[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@VCStillSource@@@@V1@@std@@YAXPAV?$SmartPtr@VCStillSource@@@@0ABV1@@Z ; std::fill<SmartPtr<CStillSource> *,SmartPtr<CStillSource> >
  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$143354[ebp]
  0035e	e8 00 00 00 00	 call	 ??1?$SmartPtr@VCStillSource@@@@QAE@XZ ; SmartPtr<CStillSource>::~SmartPtr<CStillSource>
$LN14@Insert_n@9:

; 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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@IABV?$SmartPtr@VCStillSource@@@@@Z$4:
  00000	8d 4d dc	 lea	 ecx, DWORD PTR __Tmp$143344[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VCStillSource@@@@QAE@XZ ; SmartPtr<CStillSource>::~SmartPtr<CStillSource>
__unwindfunclet$?_Insert_n@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@IABV?$SmartPtr@VCStillSource@@@@@Z$5:
  00008	8d 4d d0	 lea	 ecx, DWORD PTR __Tmp$143354[ebp]
  0000b	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VCStillSource@@@@QAE@XZ ; SmartPtr<CStillSource>::~SmartPtr<CStillSource>
__ehhandler$?_Insert_n@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@IABV?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@IABV?$SmartPtr@VCStillSource@@@@@Z
  00026	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?_Insert_n@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@IABV?$SmartPtr@VCStillSource@@@@@Z ENDP ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_Insert_n
; Function compile flags: /Odtp
;	COMDAT ?_Buy@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAE_NI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Capacity$ = 8						; size = 4
?_Buy@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAE_NI@Z PROC ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_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@11

; 1110 : 			return (false);

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

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

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

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

; 1113 : 		else

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

; 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@VCStillSource@@@@@std@@QAEPAV?$SmartPtr@VCStillSource@@@@I@Z ; std::allocator<SmartPtr<CStillSource> >::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@11:

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

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

; 1120 : 		}

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

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

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

  0003d	8d 55 f0	 lea	 edx, DWORD PTR $T337053[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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@XZ ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::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 $T337052[ebp], ecx
  00051	89 55 fc	 mov	 DWORD PTR $T337052[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 $T337052[ebp+4]
  0005b	51		 push	 ecx
  0005c	8b 55 f8	 mov	 edx, DWORD PTR $T337052[ebp]
  0005f	52		 push	 edx
  00060	8d 45 e8	 lea	 eax, DWORD PTR $T337054[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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@V?$_Vector_const_iterator@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@2@ABV?$SmartPtr@VCStillSource@@@@@Z ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::insert
$LN3@push_back@8:

; 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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAEXABV?$SmartPtr@VCStillSource@@@@@Z ENDP ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::push_back
_TEXT	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@XZ$0
__ehfuncinfo$??0?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -20						; size = 4
$T337057 = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@XZ PROC ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >, 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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@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 $T337057[ebp], esp
  0002e	e8 00 00 00 00	 call	 ??0?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@QAE@XZ ; std::allocator<SmartPtr<CStillSource> >::allocator<SmartPtr<CStillSource> >
  00033	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00036	e8 00 00 00 00	 call	 ??0?$_Vector_val@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VCStillSource@@@@@1@@Z ; std::_Vector_val<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_Vector_val<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >
  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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@IAE_NI@Z ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::_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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@XZ
__ehhandler$??0?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@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@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@XZ ENDP ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >
PUBLIC	__$ArrayPad$
PUBLIC	??0CStillProvider@@QAE@XZ			; CStillProvider::CStillProvider
;	COMDAT xdata$x
; File c:\develop\dscaler423a\dscaler\stillprovider.cpp
xdata$x	SEGMENT
__unwindtable$??0CStillProvider@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0CStillProvider@@QAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0CStillProvider@@QAE@XZ$1
	DD	01H
	DD	FLAT:__unwindfunclet$??0CStillProvider@@QAE@XZ$2
	DD	02H
	DD	FLAT:__unwindfunclet$??0CStillProvider@@QAE@XZ$3
	DD	01H
	DD	FLAT:__unwindfunclet$??0CStillProvider@@QAE@XZ$3
	DD	01H
	DD	FLAT:__unwindfunclet$??0CStillProvider@@QAE@XZ$4
	DD	05H
	DD	FLAT:__unwindfunclet$??0CStillProvider@@QAE@XZ$5
	DD	01H
	DD	FLAT:__unwindfunclet$??0CStillProvider@@QAE@XZ$5
	DD	01H
	DD	FLAT:__unwindfunclet$??0CStillProvider@@QAE@XZ$6
	DD	08H
	DD	FLAT:__unwindfunclet$??0CStillProvider@@QAE@XZ$7
	DD	09H
	DD	FLAT:__unwindfunclet$??0CStillProvider@@QAE@XZ$8
	DD	08H
	DD	FLAT:__unwindfunclet$??0CStillProvider@@QAE@XZ$8
	DD	08H
	DD	FLAT:__unwindfunclet$??0CStillProvider@@QAE@XZ$9
	DD	0cH
	DD	FLAT:__unwindfunclet$??0CStillProvider@@QAE@XZ$10
	DD	08H
	DD	FLAT:__unwindfunclet$??0CStillProvider@@QAE@XZ$10
	DD	08H
	DD	FLAT:__unwindfunclet$??0CStillProvider@@QAE@XZ$11
__ehfuncinfo$??0CStillProvider@@QAE@XZ DD 019930522H
	DD	010H
	DD	FLAT:__unwindtable$??0CStillProvider@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0CStillProvider@@QAE@XZ
_TEXT	SEGMENT
tv206 = -260						; size = 4
tv248 = -256						; size = 4
tv251 = -252						; size = 4
tv188 = -248						; size = 4
tv171 = -244						; size = 4
tv145 = -240						; size = 4
tv128 = -236						; size = 4
_this$ = -232						; size = 4
$T344303 = -228						; size = 4
$T344299 = -224						; size = 28
$T344296 = -196						; size = 28
$T344295 = -168						; size = 4
$T344294 = -164						; size = 4
$T344291 = -160						; size = 28
$T344290 = -132						; size = 4
$T344289 = -128						; size = 4
$T344286 = -124						; size = 28
$T344285 = -96						; size = 4
$T344284 = -92						; size = 4
$T344281 = -88						; size = 28
$T344280 = -60						; size = 4
$T344279 = -56						; size = 4
_pStillSource$ = -52					; size = 8
_PlayList$ = -44					; size = 28
__$ArrayPad$ = -16					; size = 4
__$EHRec$ = -12						; size = 12
??0CStillProvider@@QAE@XZ PROC				; CStillProvider::CStillProvider, COMDAT
; _this$ = ecx

; 36   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0CStillProvider@@QAE@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	81 ec f8 00 00
	00		 sub	 esp, 248		; 000000f8H
  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001c	33 c5		 xor	 eax, ebp
  0001e	89 45 f0	 mov	 DWORD PTR __$ArrayPad$[ebp], eax
  00021	50		 push	 eax
  00022	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00025	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  0002b	89 8d 18 ff ff
	ff		 mov	 DWORD PTR _this$[ebp], ecx
  00031	c7 85 1c ff ff
	ff 00 00 00 00	 mov	 DWORD PTR $T344303[ebp], 0
  0003b	8b 8d 18 ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00041	e8 00 00 00 00	 call	 ??0ISourceProvider@@QAE@XZ
  00046	8b 85 18 ff ff
	ff		 mov	 eax, DWORD PTR _this$[ebp]
  0004c	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], OFFSET ??_7CStillProvider@@6B@
  00052	8b 8d 18 ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00058	83 c1 04	 add	 ecx, 4
  0005b	e8 00 00 00 00	 call	 ??0?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >
  00060	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 37   :     SmartPtr<CStillSource> pStillSource;

  00067	8d 4d cc	 lea	 ecx, DWORD PTR _pStillSource$[ebp]
  0006a	e8 00 00 00 00	 call	 ??0?$SmartPtr@VCStillSource@@@@QAE@XZ ; SmartPtr<CStillSource>::SmartPtr<CStillSource>
  0006f	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1

; 38   : 
; 39   :     pStillSource = new CStillSource(_T("Still"));

  00073	68 20 01 00 00	 push	 288			; 00000120H
  00078	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  0007d	83 c4 04	 add	 esp, 4
  00080	89 45 c4	 mov	 DWORD PTR $T344280[ebp], eax
  00083	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  00087	83 7d c4 00	 cmp	 DWORD PTR $T344280[ebp], 0
  0008b	74 34		 je	 SHORT $LN3@CStillProv
  0008d	68 00 00 00 00	 push	 OFFSET ??_C@_1M@PBAPKIIE@?$AAS?$AAt?$AAi?$AAl?$AAl?$AA?$AA@
  00092	8d 4d a8	 lea	 ecx, DWORD PTR $T344281[ebp]
  00095	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> >
  0009a	c6 45 fc 03	 mov	 BYTE PTR __$EHRec$[ebp+8], 3
  0009e	8b 8d 1c ff ff
	ff		 mov	 ecx, DWORD PTR $T344303[ebp]
  000a4	83 c9 01	 or	 ecx, 1
  000a7	89 8d 1c ff ff
	ff		 mov	 DWORD PTR $T344303[ebp], ecx
  000ad	8d 55 a8	 lea	 edx, DWORD PTR $T344281[ebp]
  000b0	52		 push	 edx
  000b1	8b 4d c4	 mov	 ecx, DWORD PTR $T344280[ebp]
  000b4	e8 00 00 00 00	 call	 ??0CStillSource@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z ; CStillSource::CStillSource
  000b9	89 85 14 ff ff
	ff		 mov	 DWORD PTR tv128[ebp], eax
  000bf	eb 0a		 jmp	 SHORT $LN4@CStillProv
$LN3@CStillProv:
  000c1	c7 85 14 ff ff
	ff 00 00 00 00	 mov	 DWORD PTR tv128[ebp], 0
$LN4@CStillProv:
  000cb	8b 85 14 ff ff
	ff		 mov	 eax, DWORD PTR tv128[ebp]
  000d1	89 45 c8	 mov	 DWORD PTR $T344279[ebp], eax
  000d4	c7 45 fc 04 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 4
  000db	8b 4d c8	 mov	 ecx, DWORD PTR $T344279[ebp]
  000de	51		 push	 ecx
  000df	8d 4d cc	 lea	 ecx, DWORD PTR _pStillSource$[ebp]
  000e2	e8 00 00 00 00	 call	 ??4?$SmartPtr@VCStillSource@@@@QAEAAV0@PAVCStillSource@@@Z ; SmartPtr<CStillSource>::operator=
  000e7	c7 45 fc 01 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 1
  000ee	8b 95 1c ff ff
	ff		 mov	 edx, DWORD PTR $T344303[ebp]
  000f4	83 e2 01	 and	 edx, 1
  000f7	74 0f		 je	 SHORT $LN16@CStillProv
  000f9	83 a5 1c ff ff
	ff fe		 and	 DWORD PTR $T344303[ebp], -2 ; fffffffeH
  00100	8d 4d a8	 lea	 ecx, DWORD PTR $T344281[ebp]
  00103	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> >
$LN16@CStillProv:

; 40   :     m_StillSources.push_back(pStillSource);

  00108	8d 45 cc	 lea	 eax, DWORD PTR _pStillSource$[ebp]
  0010b	50		 push	 eax
  0010c	8b 8d 18 ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00112	83 c1 04	 add	 ecx, 4
  00115	e8 00 00 00 00	 call	 ?push_back@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAEXABV?$SmartPtr@VCStillSource@@@@@Z ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::push_back

; 41   : 
; 42   :     pStillSource = new CStillSource(_T("Patterns"));

  0011a	68 20 01 00 00	 push	 288			; 00000120H
  0011f	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  00124	83 c4 04	 add	 esp, 4
  00127	89 45 a0	 mov	 DWORD PTR $T344285[ebp], eax
  0012a	c6 45 fc 05	 mov	 BYTE PTR __$EHRec$[ebp+8], 5
  0012e	83 7d a0 00	 cmp	 DWORD PTR $T344285[ebp], 0
  00132	74 34		 je	 SHORT $LN5@CStillProv
  00134	68 00 00 00 00	 push	 OFFSET ??_C@_1BC@NNKDLOII@?$AAP?$AAa?$AAt?$AAt?$AAe?$AAr?$AAn?$AAs?$AA?$AA@
  00139	8d 4d 84	 lea	 ecx, DWORD PTR $T344286[ebp]
  0013c	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> >
  00141	c6 45 fc 06	 mov	 BYTE PTR __$EHRec$[ebp+8], 6
  00145	8b 8d 1c ff ff
	ff		 mov	 ecx, DWORD PTR $T344303[ebp]
  0014b	83 c9 02	 or	 ecx, 2
  0014e	89 8d 1c ff ff
	ff		 mov	 DWORD PTR $T344303[ebp], ecx
  00154	8d 55 84	 lea	 edx, DWORD PTR $T344286[ebp]
  00157	52		 push	 edx
  00158	8b 4d a0	 mov	 ecx, DWORD PTR $T344285[ebp]
  0015b	e8 00 00 00 00	 call	 ??0CStillSource@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z ; CStillSource::CStillSource
  00160	89 85 10 ff ff
	ff		 mov	 DWORD PTR tv145[ebp], eax
  00166	eb 0a		 jmp	 SHORT $LN6@CStillProv
$LN5@CStillProv:
  00168	c7 85 10 ff ff
	ff 00 00 00 00	 mov	 DWORD PTR tv145[ebp], 0
$LN6@CStillProv:
  00172	8b 85 10 ff ff
	ff		 mov	 eax, DWORD PTR tv145[ebp]
  00178	89 45 a4	 mov	 DWORD PTR $T344284[ebp], eax
  0017b	c7 45 fc 07 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 7
  00182	8b 4d a4	 mov	 ecx, DWORD PTR $T344284[ebp]
  00185	51		 push	 ecx
  00186	8d 4d cc	 lea	 ecx, DWORD PTR _pStillSource$[ebp]
  00189	e8 00 00 00 00	 call	 ??4?$SmartPtr@VCStillSource@@@@QAEAAV0@PAVCStillSource@@@Z ; SmartPtr<CStillSource>::operator=
  0018e	c7 45 fc 01 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 1
  00195	8b 95 1c ff ff
	ff		 mov	 edx, DWORD PTR $T344303[ebp]
  0019b	83 e2 02	 and	 edx, 2
  0019e	74 0f		 je	 SHORT $LN20@CStillProv
  001a0	83 a5 1c ff ff
	ff fd		 and	 DWORD PTR $T344303[ebp], -3 ; fffffffdH
  001a7	8d 4d 84	 lea	 ecx, DWORD PTR $T344286[ebp]
  001aa	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> >
$LN20@CStillProv:

; 43   :     m_StillSources.push_back(pStillSource);

  001af	8d 45 cc	 lea	 eax, DWORD PTR _pStillSource$[ebp]
  001b2	50		 push	 eax
  001b3	8b 8d 18 ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  001b9	83 c1 04	 add	 ecx, 4
  001bc	e8 00 00 00 00	 call	 ?push_back@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAEXABV?$SmartPtr@VCStillSource@@@@@Z ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::push_back

; 44   :     tstring PlayList(GetInstallationPath());

  001c1	8d 4d d4	 lea	 ecx, DWORD PTR _PlayList$[ebp]
  001c4	51		 push	 ecx
  001c5	e8 00 00 00 00	 call	 ?GetInstallationPath@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ ; GetInstallationPath
  001ca	83 c4 04	 add	 esp, 4
  001cd	c6 45 fc 08	 mov	 BYTE PTR __$EHRec$[ebp+8], 8

; 45   :     PlayList += _T("\\patterns\\pj_calibr.d3u");

  001d1	68 00 00 00 00	 push	 OFFSET ??_C@_1DA@PICKGDC@?$AA?2?$AAp?$AAa?$AAt?$AAt?$AAe?$AAr?$AAn?$AAs?$AA?2?$AAp?$AAj?$AA_?$AAc?$AAa?$AAl?$AAi?$AAb?$AAr?$AA?4?$AAd?$AA3?$AAu?$AA?$AA@
  001d6	8d 4d d4	 lea	 ecx, DWORD PTR _PlayList$[ebp]
  001d9	e8 00 00 00 00	 call	 ??Y?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@PB_W@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::operator+=

; 46   :     pStillSource->LoadPlayList(PlayList);

  001de	8d 55 d4	 lea	 edx, DWORD PTR _PlayList$[ebp]
  001e1	52		 push	 edx
  001e2	8d 4d cc	 lea	 ecx, DWORD PTR _pStillSource$[ebp]
  001e5	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCStillSource@@@@QBEPAVCStillSource@@XZ ; SmartPtr<CStillSource>::operator->
  001ea	8b c8		 mov	 ecx, eax
  001ec	e8 00 00 00 00	 call	 ?LoadPlayList@CStillSource@@QAEHABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z ; CStillSource::LoadPlayList

; 47   : 
; 48   :     pStillSource = new CStillSource(_T("Snapshots"));

  001f1	68 20 01 00 00	 push	 288			; 00000120H
  001f6	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  001fb	83 c4 04	 add	 esp, 4
  001fe	89 85 7c ff ff
	ff		 mov	 DWORD PTR $T344290[ebp], eax
  00204	c6 45 fc 09	 mov	 BYTE PTR __$EHRec$[ebp+8], 9
  00208	83 bd 7c ff ff
	ff 00		 cmp	 DWORD PTR $T344290[ebp], 0
  0020f	74 3d		 je	 SHORT $LN7@CStillProv
  00211	68 00 00 00 00	 push	 OFFSET ??_C@_1BE@HIALLCDD@?$AAS?$AAn?$AAa?$AAp?$AAs?$AAh?$AAo?$AAt?$AAs?$AA?$AA@
  00216	8d 8d 60 ff ff
	ff		 lea	 ecx, DWORD PTR $T344291[ebp]
  0021c	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> >
  00221	c6 45 fc 0a	 mov	 BYTE PTR __$EHRec$[ebp+8], 10 ; 0000000aH
  00225	8b 85 1c ff ff
	ff		 mov	 eax, DWORD PTR $T344303[ebp]
  0022b	83 c8 04	 or	 eax, 4
  0022e	89 85 1c ff ff
	ff		 mov	 DWORD PTR $T344303[ebp], eax
  00234	8d 8d 60 ff ff
	ff		 lea	 ecx, DWORD PTR $T344291[ebp]
  0023a	51		 push	 ecx
  0023b	8b 8d 7c ff ff
	ff		 mov	 ecx, DWORD PTR $T344290[ebp]
  00241	e8 00 00 00 00	 call	 ??0CStillSource@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z ; CStillSource::CStillSource
  00246	89 85 0c ff ff
	ff		 mov	 DWORD PTR tv171[ebp], eax
  0024c	eb 0a		 jmp	 SHORT $LN8@CStillProv
$LN7@CStillProv:
  0024e	c7 85 0c ff ff
	ff 00 00 00 00	 mov	 DWORD PTR tv171[ebp], 0
$LN8@CStillProv:
  00258	8b 95 0c ff ff
	ff		 mov	 edx, DWORD PTR tv171[ebp]
  0025e	89 55 80	 mov	 DWORD PTR $T344289[ebp], edx
  00261	c7 45 fc 0b 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 11 ; 0000000bH
  00268	8b 45 80	 mov	 eax, DWORD PTR $T344289[ebp]
  0026b	50		 push	 eax
  0026c	8d 4d cc	 lea	 ecx, DWORD PTR _pStillSource$[ebp]
  0026f	e8 00 00 00 00	 call	 ??4?$SmartPtr@VCStillSource@@@@QAEAAV0@PAVCStillSource@@@Z ; SmartPtr<CStillSource>::operator=
  00274	c7 45 fc 08 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 8
  0027b	8b 8d 1c ff ff
	ff		 mov	 ecx, DWORD PTR $T344303[ebp]
  00281	83 e1 04	 and	 ecx, 4
  00284	74 12		 je	 SHORT $LN25@CStillProv
  00286	83 a5 1c ff ff
	ff fb		 and	 DWORD PTR $T344303[ebp], -5 ; fffffffbH
  0028d	8d 8d 60 ff ff
	ff		 lea	 ecx, DWORD PTR $T344291[ebp]
  00293	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> >
$LN25@CStillProv:

; 49   :     m_StillSources.push_back(pStillSource);

  00298	8d 55 cc	 lea	 edx, DWORD PTR _pStillSource$[ebp]
  0029b	52		 push	 edx
  0029c	8b 8d 18 ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  002a2	83 c1 04	 add	 ecx, 4
  002a5	e8 00 00 00 00	 call	 ?push_back@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAEXABV?$SmartPtr@VCStillSource@@@@@Z ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::push_back

; 50   : 
; 51   :     pStillSource = new CStillSource(_T("DScaler intro"));

  002aa	68 20 01 00 00	 push	 288			; 00000120H
  002af	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  002b4	83 c4 04	 add	 esp, 4
  002b7	89 85 58 ff ff
	ff		 mov	 DWORD PTR $T344295[ebp], eax
  002bd	c6 45 fc 0c	 mov	 BYTE PTR __$EHRec$[ebp+8], 12 ; 0000000cH
  002c1	83 bd 58 ff ff
	ff 00		 cmp	 DWORD PTR $T344295[ebp], 0
  002c8	74 3d		 je	 SHORT $LN9@CStillProv
  002ca	68 00 00 00 00	 push	 OFFSET ??_C@_1BM@EANEKOOO@?$AAD?$AAS?$AAc?$AAa?$AAl?$AAe?$AAr?$AA?5?$AAi?$AAn?$AAt?$AAr?$AAo?$AA?$AA@
  002cf	8d 8d 3c ff ff
	ff		 lea	 ecx, DWORD PTR $T344296[ebp]
  002d5	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> >
  002da	c6 45 fc 0d	 mov	 BYTE PTR __$EHRec$[ebp+8], 13 ; 0000000dH
  002de	8b 85 1c ff ff
	ff		 mov	 eax, DWORD PTR $T344303[ebp]
  002e4	83 c8 08	 or	 eax, 8
  002e7	89 85 1c ff ff
	ff		 mov	 DWORD PTR $T344303[ebp], eax
  002ed	8d 8d 3c ff ff
	ff		 lea	 ecx, DWORD PTR $T344296[ebp]
  002f3	51		 push	 ecx
  002f4	8b 8d 58 ff ff
	ff		 mov	 ecx, DWORD PTR $T344295[ebp]
  002fa	e8 00 00 00 00	 call	 ??0CStillSource@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z ; CStillSource::CStillSource
  002ff	89 85 08 ff ff
	ff		 mov	 DWORD PTR tv188[ebp], eax
  00305	eb 0a		 jmp	 SHORT $LN10@CStillProv
$LN9@CStillProv:
  00307	c7 85 08 ff ff
	ff 00 00 00 00	 mov	 DWORD PTR tv188[ebp], 0
$LN10@CStillProv:
  00311	8b 95 08 ff ff
	ff		 mov	 edx, DWORD PTR tv188[ebp]
  00317	89 95 5c ff ff
	ff		 mov	 DWORD PTR $T344294[ebp], edx
  0031d	c7 45 fc 0e 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 14 ; 0000000eH
  00324	8b 85 5c ff ff
	ff		 mov	 eax, DWORD PTR $T344294[ebp]
  0032a	50		 push	 eax
  0032b	8d 4d cc	 lea	 ecx, DWORD PTR _pStillSource$[ebp]
  0032e	e8 00 00 00 00	 call	 ??4?$SmartPtr@VCStillSource@@@@QAEAAV0@PAVCStillSource@@@Z ; SmartPtr<CStillSource>::operator=
  00333	c7 45 fc 08 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 8
  0033a	8b 8d 1c ff ff
	ff		 mov	 ecx, DWORD PTR $T344303[ebp]
  00340	83 e1 08	 and	 ecx, 8
  00343	74 12		 je	 SHORT $LN29@CStillProv
  00345	83 a5 1c ff ff
	ff f7		 and	 DWORD PTR $T344303[ebp], -9 ; fffffff7H
  0034c	8d 8d 3c ff ff
	ff		 lea	 ecx, DWORD PTR $T344296[ebp]
  00352	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> >
$LN29@CStillProv:

; 52   :     m_StillSources.push_back(pStillSource);

  00357	8d 55 cc	 lea	 edx, DWORD PTR _pStillSource$[ebp]
  0035a	52		 push	 edx
  0035b	8b 8d 18 ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00361	83 c1 04	 add	 ecx, 4
  00364	e8 00 00 00 00	 call	 ?push_back@?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAEXABV?$SmartPtr@VCStillSource@@@@@Z ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::push_back

; 53   :     PlayList = GetInstallationPath();

  00369	8d 85 20 ff ff
	ff		 lea	 eax, DWORD PTR $T344299[ebp]
  0036f	50		 push	 eax
  00370	e8 00 00 00 00	 call	 ?GetInstallationPath@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ ; GetInstallationPath
  00375	83 c4 04	 add	 esp, 4
  00378	89 85 04 ff ff
	ff		 mov	 DWORD PTR tv251[ebp], eax
  0037e	8b 8d 04 ff ff
	ff		 mov	 ecx, DWORD PTR tv251[ebp]
  00384	89 8d 00 ff ff
	ff		 mov	 DWORD PTR tv248[ebp], ecx
  0038a	c6 45 fc 0f	 mov	 BYTE PTR __$EHRec$[ebp+8], 15 ; 0000000fH
  0038e	8b 95 00 ff ff
	ff		 mov	 edx, DWORD PTR tv248[ebp]
  00394	52		 push	 edx
  00395	8d 4d d4	 lea	 ecx, DWORD PTR _PlayList$[ebp]
  00398	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=
  0039d	c6 45 fc 08	 mov	 BYTE PTR __$EHRec$[ebp+8], 8
  003a1	8d 8d 20 ff ff
	ff		 lea	 ecx, DWORD PTR $T344299[ebp]
  003a7	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> >

; 54   :     PlayList += _T("\\DScaler.d3u");

  003ac	68 00 00 00 00	 push	 OFFSET ??_C@_1BK@FJFPLNFB@?$AA?2?$AAD?$AAS?$AAc?$AAa?$AAl?$AAe?$AAr?$AA?4?$AAd?$AA3?$AAu?$AA?$AA@
  003b1	8d 4d d4	 lea	 ecx, DWORD PTR _PlayList$[ebp]
  003b4	e8 00 00 00 00	 call	 ??Y?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@PB_W@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::operator+=

; 55   :     pStillSource->OpenMediaFile(PlayList, TRUE);

  003b9	8d 4d cc	 lea	 ecx, DWORD PTR _pStillSource$[ebp]
  003bc	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCStillSource@@@@QBEPAVCStillSource@@XZ ; SmartPtr<CStillSource>::operator->
  003c1	89 85 fc fe ff
	ff		 mov	 DWORD PTR tv206[ebp], eax
  003c7	6a 01		 push	 1
  003c9	8d 45 d4	 lea	 eax, DWORD PTR _PlayList$[ebp]
  003cc	50		 push	 eax
  003cd	8b 8d fc fe ff
	ff		 mov	 ecx, DWORD PTR tv206[ebp]
  003d3	8b 11		 mov	 edx, DWORD PTR [ecx]
  003d5	8b 8d fc fe ff
	ff		 mov	 ecx, DWORD PTR tv206[ebp]
  003db	8b 82 a0 00 00
	00		 mov	 eax, DWORD PTR [edx+160]
  003e1	ff d0		 call	 eax

; 56   :     pStillSource->SetNavigOnly(TRUE);

  003e3	6a 01		 push	 1
  003e5	8d 4d cc	 lea	 ecx, DWORD PTR _pStillSource$[ebp]
  003e8	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCStillSource@@@@QBEPAVCStillSource@@XZ ; SmartPtr<CStillSource>::operator->
  003ed	8b c8		 mov	 ecx, eax
  003ef	e8 00 00 00 00	 call	 ?SetNavigOnly@CStillSource@@QAEXH@Z ; CStillSource::SetNavigOnly

; 57   : }

  003f4	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  003f8	8d 4d d4	 lea	 ecx, DWORD PTR _PlayList$[ebp]
  003fb	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> >
  00400	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  00404	8d 4d cc	 lea	 ecx, DWORD PTR _pStillSource$[ebp]
  00407	e8 00 00 00 00	 call	 ??1?$SmartPtr@VCStillSource@@@@QAE@XZ ; SmartPtr<CStillSource>::~SmartPtr<CStillSource>
  0040c	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00413	8b 85 18 ff ff
	ff		 mov	 eax, DWORD PTR _this$[ebp]
  00419	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0041c	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00423	59		 pop	 ecx
  00424	8b 4d f0	 mov	 ecx, DWORD PTR __$ArrayPad$[ebp]
  00427	33 cd		 xor	 ecx, ebp
  00429	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0042e	8b e5		 mov	 esp, ebp
  00430	5d		 pop	 ebp
  00431	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0CStillProvider@@QAE@XZ$0:
  00000	8b 8d 18 ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00006	83 c1 04	 add	 ecx, 4
  00009	e9 00 00 00 00	 jmp	 ??1?$vector@V?$SmartPtr@VCStillSource@@@@V?$allocator@V?$SmartPtr@VCStillSource@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >::~vector<SmartPtr<CStillSource>,std::allocator<SmartPtr<CStillSource> > >
__unwindfunclet$??0CStillProvider@@QAE@XZ$1:
  0000e	8d 4d cc	 lea	 ecx, DWORD PTR _pStillSource$[ebp]
  00011	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VCStillSource@@@@QAE@XZ ; SmartPtr<CStillSource>::~SmartPtr<CStillSource>
__unwindfunclet$??0CStillProvider@@QAE@XZ$2:
  00016	8b 45 c4	 mov	 eax, DWORD PTR $T344280[ebp]
  00019	50		 push	 eax
  0001a	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  0001f	59		 pop	 ecx
  00020	c3		 ret	 0
__unwindfunclet$??0CStillProvider@@QAE@XZ$3:
  00021	8b 85 1c ff ff
	ff		 mov	 eax, DWORD PTR $T344303[ebp]
  00027	83 e0 01	 and	 eax, 1
  0002a	0f 84 0f 00 00
	00		 je	 $LN15@CStillProv
  00030	83 a5 1c ff ff
	ff fe		 and	 DWORD PTR $T344303[ebp], -2 ; fffffffeH
  00037	8d 4d a8	 lea	 ecx, DWORD PTR $T344281[ebp]
  0003a	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> >
$LN15@CStillProv:
  0003f	c3		 ret	 0
__unwindfunclet$??0CStillProvider@@QAE@XZ$4:
  00040	8b 45 a0	 mov	 eax, DWORD PTR $T344285[ebp]
  00043	50		 push	 eax
  00044	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00049	59		 pop	 ecx
  0004a	c3		 ret	 0
__unwindfunclet$??0CStillProvider@@QAE@XZ$5:
  0004b	8b 85 1c ff ff
	ff		 mov	 eax, DWORD PTR $T344303[ebp]
  00051	83 e0 02	 and	 eax, 2
  00054	0f 84 0f 00 00
	00		 je	 $LN19@CStillProv
  0005a	83 a5 1c ff ff
	ff fd		 and	 DWORD PTR $T344303[ebp], -3 ; fffffffdH
  00061	8d 4d 84	 lea	 ecx, DWORD PTR $T344286[ebp]
  00064	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> >
$LN19@CStillProv:
  00069	c3		 ret	 0
__unwindfunclet$??0CStillProvider@@QAE@XZ$6:
  0006a	8d 4d d4	 lea	 ecx, DWORD PTR _PlayList$[ebp]
  0006d	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$??0CStillProvider@@QAE@XZ$7:
  00072	8b 85 7c ff ff
	ff		 mov	 eax, DWORD PTR $T344290[ebp]
  00078	50		 push	 eax
  00079	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  0007e	59		 pop	 ecx
  0007f	c3		 ret	 0
__unwindfunclet$??0CStillProvider@@QAE@XZ$8:
  00080	8b 85 1c ff ff
	ff		 mov	 eax, DWORD PTR $T344303[ebp]
  00086	83 e0 04	 and	 eax, 4
  00089	0f 84 12 00 00
	00		 je	 $LN24@CStillProv
  0008f	83 a5 1c ff ff
	ff fb		 and	 DWORD PTR $T344303[ebp], -5 ; fffffffbH
  00096	8d 8d 60 ff ff
	ff		 lea	 ecx, DWORD PTR $T344291[ebp]
  0009c	e9 00 00 00 00	 jmp	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
$LN24@CStillProv:
  000a1	c3		 ret	 0
__unwindfunclet$??0CStillProvider@@QAE@XZ$9:
  000a2	8b 85 58 ff ff
	ff		 mov	 eax, DWORD PTR $T344295[ebp]
  000a8	50		 push	 eax
  000a9	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  000ae	59		 pop	 ecx
  000af	c3		 ret	 0
__unwindfunclet$??0CStillProvider@@QAE@XZ$10:
  000b0	8b 85 1c ff ff
	ff		 mov	 eax, DWORD PTR $T344303[ebp]
  000b6	83 e0 08	 and	 eax, 8
  000b9	0f 84 12 00 00
	00		 je	 $LN28@CStillProv
  000bf	83 a5 1c ff ff
	ff f7		 and	 DWORD PTR $T344303[ebp], -9 ; fffffff7H
  000c6	8d 8d 3c ff ff
	ff		 lea	 ecx, DWORD PTR $T344296[ebp]
  000cc	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> >
$LN28@CStillProv:
  000d1	c3		 ret	 0
__unwindfunclet$??0CStillProvider@@QAE@XZ$11:
  000d2	8d 8d 20 ff ff
	ff		 lea	 ecx, DWORD PTR $T344299[ebp]
  000d8	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$??0CStillProvider@@QAE@XZ:
  000dd	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  000e1	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  000e4	8b 8a 04 ff ff
	ff		 mov	 ecx, DWORD PTR [edx-252]
  000ea	33 c8		 xor	 ecx, eax
  000ec	e8 00 00 00 00	 call	 @__security_check_cookie@4
  000f1	8b 4a fc	 mov	 ecx, DWORD PTR [edx-4]
  000f4	33 c8		 xor	 ecx, eax
  000f6	e8 00 00 00 00	 call	 @__security_check_cookie@4
  000fb	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0CStillProvider@@QAE@XZ
  00100	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0CStillProvider@@QAE@XZ ENDP				; CStillProvider::CStillProvider
END
