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

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

INCLUDELIB OLDNAMES

PUBLIC	??_R4CVistaMixer@@6B@				; CVistaMixer::`RTTI Complete Object Locator'
PUBLIC	??_R3CVistaMixer@@8				; CVistaMixer::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2CVistaMixer@@8				; CVistaMixer::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@CVistaMixer@@8			; CVistaMixer::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVCVistaMixer@@@8				; CVistaMixer `RTTI Type Descriptor'
PUBLIC	??_R4CVistaMixerLineDst@@6B@			; CVistaMixerLineDst::`RTTI Complete Object Locator'
PUBLIC	??_R3CVistaMixerLineDst@@8			; CVistaMixerLineDst::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2CVistaMixerLineDst@@8			; CVistaMixerLineDst::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@CVistaMixerLineDst@@8		; CVistaMixerLineDst::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVCVistaMixerLineDst@@@8			; CVistaMixerLineDst `RTTI Type Descriptor'
PUBLIC	??_R4CVistaMixerLineSrc@@6B@			; CVistaMixerLineSrc::`RTTI Complete Object Locator'
PUBLIC	??_R3CVistaMixerLineSrc@@8			; CVistaMixerLineSrc::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2CVistaMixerLineSrc@@8			; CVistaMixerLineSrc::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@CVistaMixerLineSrc@@8		; CVistaMixerLineSrc::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVCVistaMixerLineSrc@@@8			; CVistaMixerLineSrc `RTTI Type Descriptor'
PUBLIC	?RestoreState@CMixer@@UAEXXZ			; CMixer::RestoreState
PUBLIC	?StoreState@CMixer@@UAEXXZ			; CMixer::StoreState
PUBLIC	?GetDestinationLine@CMixer@@UAEPAVIMixerLineDst@@K@Z ; CMixer::GetDestinationLine
PUBLIC	?GetDestinationCount@CMixer@@UAEJXZ		; CMixer::GetDestinationCount
PUBLIC	?GetIndex@CMixer@@UAEKXZ			; CMixer::GetIndex
PUBLIC	?GetName@CMixer@@UAEPB_WXZ			; CMixer::GetName
PUBLIC	??_R4CMixer@@6B@				; CMixer::`RTTI Complete Object Locator'
PUBLIC	??_R3CMixer@@8					; CMixer::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2CMixer@@8					; CMixer::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@CMixer@@8				; CMixer::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVCMixer@@@8				; CMixer `RTTI Type Descriptor'
PUBLIC	??_R4IMixer@@6B@				; IMixer::`RTTI Complete Object Locator'
PUBLIC	??_R3IMixer@@8					; IMixer::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2IMixer@@8					; IMixer::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@IMixer@@8				; IMixer::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVIMixer@@@8				; IMixer `RTTI Type Descriptor'
PUBLIC	?IsTypicalRecordingLine@CMixerLineDst@@UAEHXZ	; CMixerLineDst::IsTypicalRecordingLine
PUBLIC	?IsTypicalSpeakerLine@CMixerLineDst@@UAEHXZ	; CMixerLineDst::IsTypicalSpeakerLine
PUBLIC	?RestoreState@CMixerLineDst@@UAEXXZ		; CMixerLineDst::RestoreState
PUBLIC	?StoreState@CMixerLineDst@@UAEXXZ		; CMixerLineDst::StoreState
PUBLIC	?GetSourceLine@CMixerLineDst@@UAEPAVIMixerLineSrc@@K@Z ; CMixerLineDst::GetSourceLine
PUBLIC	?GetSourceCount@CMixerLineDst@@UAEJXZ		; CMixerLineDst::GetSourceCount
PUBLIC	?GetName@CMixerLineDst@@UAEPB_WXZ		; CMixerLineDst::GetName
PUBLIC	??_R4CMixerLineDst@@6B@				; CMixerLineDst::`RTTI Complete Object Locator'
PUBLIC	??_R3CMixerLineDst@@8				; CMixerLineDst::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2CMixerLineDst@@8				; CMixerLineDst::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@CMixerLineDst@@8			; CMixerLineDst::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVCMixerLineDst@@@8			; CMixerLineDst `RTTI Type Descriptor'
PUBLIC	??_R4IMixerLineDst@@6B@				; IMixerLineDst::`RTTI Complete Object Locator'
PUBLIC	??_R3IMixerLineDst@@8				; IMixerLineDst::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2IMixerLineDst@@8				; IMixerLineDst::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@IMixerLineDst@@8			; IMixerLineDst::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVIMixerLineDst@@@8			; IMixerLineDst `RTTI Type Descriptor'
PUBLIC	?RestoreState@CMixerLineSrc@@UAEXXZ		; CMixerLineSrc::RestoreState
PUBLIC	?StoreState@CMixerLineSrc@@UAEXXZ		; CMixerLineSrc::StoreState
PUBLIC	?GetVolume@CMixerLineSrc@@UAEHXZ		; CMixerLineSrc::GetVolume
PUBLIC	?SetVolume@CMixerLineSrc@@UAEXH@Z		; CMixerLineSrc::SetVolume
PUBLIC	?GetMute@CMixerLineSrc@@UAEHXZ			; CMixerLineSrc::GetMute
PUBLIC	?SetMute@CMixerLineSrc@@UAEXH@Z			; CMixerLineSrc::SetMute
PUBLIC	?GetName@CMixerLineSrc@@UAEPB_WXZ		; CMixerLineSrc::GetName
PUBLIC	??_R4CMixerLineSrc@@6B@				; CMixerLineSrc::`RTTI Complete Object Locator'
PUBLIC	??_R3CMixerLineSrc@@8				; CMixerLineSrc::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2CMixerLineSrc@@8				; CMixerLineSrc::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@CMixerLineSrc@@8			; CMixerLineSrc::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVCMixerLineSrc@@@8			; CMixerLineSrc `RTTI Type Descriptor'
PUBLIC	??_R4IMixerLineSrc@@6B@				; IMixerLineSrc::`RTTI Complete Object Locator'
PUBLIC	??_R3IMixerLineSrc@@8				; IMixerLineSrc::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2IMixerLineSrc@@8				; IMixerLineSrc::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@IMixerLineSrc@@8			; IMixerLineSrc::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVIMixerLineSrc@@@8			; IMixerLineSrc `RTTI Type Descriptor'
PUBLIC	??_GCMixerLineSrc@@UAEPAXI@Z			; CMixerLineSrc::`scalar deleting destructor'
PUBLIC	??_GCMixerLineDst@@UAEPAXI@Z			; CMixerLineDst::`scalar deleting destructor'
PUBLIC	??0?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@QAE@XZ ; std::allocator<SmartPtr<IMixerLineDst> >::allocator<SmartPtr<IMixerLineDst> >
PUBLIC	??$?0V?$SmartPtr@VIMixerLineDst@@@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@1@@Z ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><SmartPtr<IMixerLineDst> >
PUBLIC	??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@1@@Z ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineDst> > >::_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineDst> > >
PUBLIC	??0?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@QAE@ABV01@@Z ; std::allocator<SmartPtr<IMixerLineDst> >::allocator<SmartPtr<IMixerLineDst> >
PUBLIC	??0?$_Vector_val@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@1@@Z ; std::_Vector_val<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::_Vector_val<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >
PUBLIC	?_Buy@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAE_NI@Z ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::_Buy
PUBLIC	??0?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >
PUBLIC	?end@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@2@XZ ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::end
PUBLIC	??0?$_Iterator_with_base@Urandom_access_iterator_tag@std@@V?$SmartPtr@VIMixerLineDst@@@@HPBV3@ABV3@V_Iterator_base_aux@2@@std@@QAE@XZ ; std::_Iterator_with_base<std::random_access_iterator_tag,SmartPtr<IMixerLineDst>,int,SmartPtr<IMixerLineDst> const *,SmartPtr<IMixerLineDst> const &,std::_Iterator_base_aux>::_Iterator_with_base<std::random_access_iterator_tag,SmartPtr<IMixerLineDst>,int,SmartPtr<IMixerLineDst> const *,SmartPtr<IMixerLineDst> const &,std::_Iterator_base_aux>
PUBLIC	??0?$_Ranit@V?$SmartPtr@VIMixerLineDst@@@@HPBV1@ABV1@@std@@QAE@XZ ; std::_Ranit<SmartPtr<IMixerLineDst>,int,SmartPtr<IMixerLineDst> const *,SmartPtr<IMixerLineDst> const &>::_Ranit<SmartPtr<IMixerLineDst>,int,SmartPtr<IMixerLineDst> const *,SmartPtr<IMixerLineDst> const &>
PUBLIC	??0?$_Vector_const_iterator@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE@PAV?$SmartPtr@VIMixerLineDst@@@@PBV_Container_base_aux@1@@Z ; std::_Vector_const_iterator<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::_Vector_const_iterator<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >
PUBLIC	??0?$_Vector_iterator@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE@PAV?$SmartPtr@VIMixerLineDst@@@@PBV_Container_base_aux@1@@Z ; std::_Vector_iterator<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::_Vector_iterator<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >
PUBLIC	?begin@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@2@XZ ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::begin
PUBLIC	??$_Allocate@V?$SmartPtr@VIMixerLineDst@@@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@IPAV1@@Z ; std::_Allocate<SmartPtr<IMixerLineDst> >
PUBLIC	?allocate@?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@QAEPAV?$SmartPtr@VIMixerLineDst@@@@I@Z ; std::allocator<SmartPtr<IMixerLineDst> >::allocate
PUBLIC	?capacity@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::capacity
PUBLIC	?max_size@?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@QBEIXZ ; std::allocator<SmartPtr<IMixerLineDst> >::max_size
PUBLIC	?max_size@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::max_size
PUBLIC	?_Xlen@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@KAXXZ ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::_Xlen
PUBLIC	??$_Uninit_copy@PAV?$SmartPtr@VIMixerLineDst@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_copy<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *,std::allocator<SmartPtr<IMixerLineDst> > >
PUBLIC	??$unchecked_uninitialized_copy@PAV?$SmartPtr@VIMixerLineDst@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@stdext@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@Z ; stdext::unchecked_uninitialized_copy<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *,std::allocator<SmartPtr<IMixerLineDst> > >
PUBLIC	??$_Uninit_move@PAV?$SmartPtr@VIMixerLineDst@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_move<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *,std::allocator<SmartPtr<IMixerLineDst> >,std::_Undefined_move_tag>
PUBLIC	??$_Unchecked_uninitialized_move@PAV?$SmartPtr@VIMixerLineDst@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@stdext@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@Z ; stdext::_Unchecked_uninitialized_move<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *,std::allocator<SmartPtr<IMixerLineDst> > >
PUBLIC	??$_Umove@PAV?$SmartPtr@VIMixerLineDst@@@@@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAEPAV?$SmartPtr@VIMixerLineDst@@@@PAV2@00@Z ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::_Umove<SmartPtr<IMixerLineDst> *>
PUBLIC	??$_Fill@PAV?$SmartPtr@VIMixerLineDst@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@0ABV1@@Z ; std::_Fill<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> >
PUBLIC	??$fill@PAV?$SmartPtr@VIMixerLineDst@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@0ABV1@@Z ; std::fill<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> >
PUBLIC	??$_Iter_random@PAV?$SmartPtr@VIMixerLineDst@@@@PAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAV?$SmartPtr@VIMixerLineDst@@@@0@Z ; std::_Iter_random<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *>
PUBLIC	??$_Move_cat@PAV?$SmartPtr@VIMixerLineDst@@@@@std@@YA?AU_Undefined_move_tag@0@ABQAV?$SmartPtr@VIMixerLineDst@@@@@Z ; std::_Move_cat<SmartPtr<IMixerLineDst> *>
PUBLIC	??$_Checked_base@PAV?$SmartPtr@VIMixerLineDst@@@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@AAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z ; std::_Checked_base<SmartPtr<IMixerLineDst> *>
PUBLIC	??$_Checked_base@PAV?$SmartPtr@VIMixerLineDst@@@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<IMixerLineDst> *>
PUBLIC	??4?$SmartPtr@VIMixerLineDst@@@@QAEAAV0@ABV0@@Z	; SmartPtr<IMixerLineDst>::operator=
PUBLIC	??$_Copy_backward_opt@PAV?$SmartPtr@VIMixerLineDst@@@@PAV1@Uforward_iterator_tag@std@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00Uforward_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_backward_opt<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *,std::forward_iterator_tag>
PUBLIC	??$_Copy_backward_opt@PAV?$SmartPtr@VIMixerLineDst@@@@PAV1@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00Urandom_access_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_backward_opt<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *>
PUBLIC	??$_Move_backward_opt@PAV?$SmartPtr@VIMixerLineDst@@@@PAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Move_backward_opt<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *,std::random_access_iterator_tag,std::_Undefined_move_tag>
PUBLIC	??$_Unchecked_move_backward@PAV?$SmartPtr@VIMixerLineDst@@@@PAV1@@stdext@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00@Z ; stdext::_Unchecked_move_backward<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *>
PUBLIC	?_Insert_n@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@2@IABV?$SmartPtr@VIMixerLineDst@@@@@Z ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::_Insert_n
PUBLIC	??G?$_Vector_const_iterator@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QBEHABV01@@Z ; std::_Vector_const_iterator<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::operator-
PUBLIC	??Y?$_Vector_const_iterator@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_const_iterator<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::operator+=
PUBLIC	??Y?$_Vector_iterator@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_iterator<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::operator+=
PUBLIC	??H?$_Vector_iterator@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QBE?AV01@H@Z ; std::_Vector_iterator<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::operator+
PUBLIC	?insert@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@2@V?$_Vector_const_iterator@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@2@ABV?$SmartPtr@VIMixerLineDst@@@@@Z ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::insert
PUBLIC	??0?$SmartPtr@VIMixerLineDst@@@@QAE@ABV0@@Z	; SmartPtr<IMixerLineDst>::SmartPtr<IMixerLineDst>
PUBLIC	??$_Construct@V?$SmartPtr@VIMixerLineDst@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@ABV1@@Z ; std::_Construct<SmartPtr<IMixerLineDst>,SmartPtr<IMixerLineDst> >
PUBLIC	?construct@?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@QAEXPAV?$SmartPtr@VIMixerLineDst@@@@ABV3@@Z ; std::allocator<SmartPtr<IMixerLineDst> >::construct
PUBLIC	??$_Uninit_fill_n@PAV?$SmartPtr@VIMixerLineDst@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_fill_n<SmartPtr<IMixerLineDst> *,unsigned int,SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >
PUBLIC	??$unchecked_uninitialized_fill_n@PAV?$SmartPtr@VIMixerLineDst@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@stdext@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@Z ; stdext::unchecked_uninitialized_fill_n<SmartPtr<IMixerLineDst> *,unsigned int,SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >
PUBLIC	?_Ufill@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAEPAV?$SmartPtr@VIMixerLineDst@@@@PAV3@IABV3@@Z ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::_Ufill
PUBLIC	?push_back@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAEXABV?$SmartPtr@VIMixerLineDst@@@@@Z ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::push_back
PUBLIC	?acquire@?$SmartPtr@VIMixerLineDst@@@@AAEXPAUCounter@@@Z ; SmartPtr<IMixerLineDst>::acquire
PUBLIC	??0?$SmartPtr@VIMixerLineDst@@@@QAE@PAVIMixerLineDst@@PAUCounter@@@Z ; SmartPtr<IMixerLineDst>::SmartPtr<IMixerLineDst>
PUBLIC	??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineDst> > >::~_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineDst> > >
PUBLIC	??1?$_Vector_val@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE@XZ ; std::_Vector_val<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::~_Vector_val<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >
PUBLIC	?deallocate@?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@QAEXPAV?$SmartPtr@VIMixerLineDst@@@@I@Z ; std::allocator<SmartPtr<IMixerLineDst> >::deallocate
PUBLIC	??$_Ptr_cat@PAV?$SmartPtr@VIMixerLineDst@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VIMixerLineDst@@@@0@Z ; std::_Ptr_cat<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *>
PUBLIC	?Clear@?$SmartPtr@VIMixerLineDst@@@@QAEXXZ	; SmartPtr<IMixerLineDst>::Clear
PUBLIC	??1?$SmartPtr@VIMixerLineDst@@@@QAE@XZ		; SmartPtr<IMixerLineDst>::~SmartPtr<IMixerLineDst>
PUBLIC	??_G?$SmartPtr@VIMixerLineDst@@@@QAEPAXI@Z	; SmartPtr<IMixerLineDst>::`scalar deleting destructor'
PUBLIC	??$_Destroy@V?$SmartPtr@VIMixerLineDst@@@@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@@Z ; std::_Destroy<SmartPtr<IMixerLineDst> >
PUBLIC	?destroy@?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@QAEXPAV?$SmartPtr@VIMixerLineDst@@@@@Z ; std::allocator<SmartPtr<IMixerLineDst> >::destroy
PUBLIC	??$_Destroy_range@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@0AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@0@U_Nonscalar_ptr_iterator_tag@0@@Z ; std::_Destroy_range<std::allocator<SmartPtr<IMixerLineDst> > >
PUBLIC	??$_Destroy_range@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@0AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@0@@Z ; std::_Destroy_range<std::allocator<SmartPtr<IMixerLineDst> > >
PUBLIC	?_Destroy@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAEXPAV?$SmartPtr@VIMixerLineDst@@@@0@Z ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::_Destroy
PUBLIC	?_Tidy@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAEXXZ ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::_Tidy
PUBLIC	??1?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::~vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >
PUBLIC	??_GCMixer@@UAEPAXI@Z				; CMixer::`scalar deleting destructor'
PUBLIC	?size@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::size
PUBLIC	??A?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAEAAV?$SmartPtr@VIMixerLineDst@@@@I@Z ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::operator[]
PUBLIC	?GetRawPointer@?$SmartPtr@VIMixerLineDst@@@@QBEPAVIMixerLineDst@@XZ ; SmartPtr<IMixerLineDst>::GetRawPointer
PUBLIC	??C?$SmartPtr@VIMixerLineDst@@@@QBEPAVIMixerLineDst@@XZ ; SmartPtr<IMixerLineDst>::operator->
PUBLIC	??0?$allocator@V?$SmartPtr@VIMixer@@@@@std@@QAE@XZ ; std::allocator<SmartPtr<IMixer> >::allocator<SmartPtr<IMixer> >
PUBLIC	??$?0V?$SmartPtr@VIMixer@@@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@V?$SmartPtr@VIMixer@@@@@1@@Z ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><SmartPtr<IMixer> >
PUBLIC	??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixer@@@@@1@@Z ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixer> > >::_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixer> > >
PUBLIC	??0?$allocator@V?$SmartPtr@VIMixer@@@@@std@@QAE@ABV01@@Z ; std::allocator<SmartPtr<IMixer> >::allocator<SmartPtr<IMixer> >
PUBLIC	??0?$_Vector_val@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixer@@@@@1@@Z ; std::_Vector_val<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::_Vector_val<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >
PUBLIC	?_Buy@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@IAE_NI@Z ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::_Buy
PUBLIC	??0?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >
PUBLIC	?end@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@2@XZ ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::end
PUBLIC	??0?$_Iterator_with_base@Urandom_access_iterator_tag@std@@V?$SmartPtr@VIMixer@@@@HPBV3@ABV3@V_Iterator_base_aux@2@@std@@QAE@XZ ; std::_Iterator_with_base<std::random_access_iterator_tag,SmartPtr<IMixer>,int,SmartPtr<IMixer> const *,SmartPtr<IMixer> const &,std::_Iterator_base_aux>::_Iterator_with_base<std::random_access_iterator_tag,SmartPtr<IMixer>,int,SmartPtr<IMixer> const *,SmartPtr<IMixer> const &,std::_Iterator_base_aux>
PUBLIC	??0?$_Ranit@V?$SmartPtr@VIMixer@@@@HPBV1@ABV1@@std@@QAE@XZ ; std::_Ranit<SmartPtr<IMixer>,int,SmartPtr<IMixer> const *,SmartPtr<IMixer> const &>::_Ranit<SmartPtr<IMixer>,int,SmartPtr<IMixer> const *,SmartPtr<IMixer> const &>
PUBLIC	??0?$_Vector_const_iterator@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE@PAV?$SmartPtr@VIMixer@@@@PBV_Container_base_aux@1@@Z ; std::_Vector_const_iterator<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::_Vector_const_iterator<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >
PUBLIC	??0?$_Vector_iterator@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE@PAV?$SmartPtr@VIMixer@@@@PBV_Container_base_aux@1@@Z ; std::_Vector_iterator<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::_Vector_iterator<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >
PUBLIC	?begin@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@2@XZ ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::begin
PUBLIC	??$_Allocate@V?$SmartPtr@VIMixer@@@@@std@@YAPAV?$SmartPtr@VIMixer@@@@IPAV1@@Z ; std::_Allocate<SmartPtr<IMixer> >
PUBLIC	?allocate@?$allocator@V?$SmartPtr@VIMixer@@@@@std@@QAEPAV?$SmartPtr@VIMixer@@@@I@Z ; std::allocator<SmartPtr<IMixer> >::allocate
PUBLIC	?capacity@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::capacity
PUBLIC	?max_size@?$allocator@V?$SmartPtr@VIMixer@@@@@std@@QBEIXZ ; std::allocator<SmartPtr<IMixer> >::max_size
PUBLIC	?max_size@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::max_size
PUBLIC	?_Xlen@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@KAXXZ ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::_Xlen
PUBLIC	??$_Uninit_copy@PAV?$SmartPtr@VIMixer@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixer@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_copy<SmartPtr<IMixer> *,SmartPtr<IMixer> *,std::allocator<SmartPtr<IMixer> > >
PUBLIC	??$unchecked_uninitialized_copy@PAV?$SmartPtr@VIMixer@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@stdext@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@Z ; stdext::unchecked_uninitialized_copy<SmartPtr<IMixer> *,SmartPtr<IMixer> *,std::allocator<SmartPtr<IMixer> > >
PUBLIC	??$_Uninit_move@PAV?$SmartPtr@VIMixer@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixer@@@@@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_move<SmartPtr<IMixer> *,SmartPtr<IMixer> *,std::allocator<SmartPtr<IMixer> >,std::_Undefined_move_tag>
PUBLIC	??$_Unchecked_uninitialized_move@PAV?$SmartPtr@VIMixer@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@stdext@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@Z ; stdext::_Unchecked_uninitialized_move<SmartPtr<IMixer> *,SmartPtr<IMixer> *,std::allocator<SmartPtr<IMixer> > >
PUBLIC	??$_Umove@PAV?$SmartPtr@VIMixer@@@@@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@IAEPAV?$SmartPtr@VIMixer@@@@PAV2@00@Z ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::_Umove<SmartPtr<IMixer> *>
PUBLIC	??$_Fill@PAV?$SmartPtr@VIMixer@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixer@@@@0ABV1@@Z ; std::_Fill<SmartPtr<IMixer> *,SmartPtr<IMixer> >
PUBLIC	??$fill@PAV?$SmartPtr@VIMixer@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixer@@@@0ABV1@@Z ; std::fill<SmartPtr<IMixer> *,SmartPtr<IMixer> >
PUBLIC	??$_Iter_random@PAV?$SmartPtr@VIMixer@@@@PAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAV?$SmartPtr@VIMixer@@@@0@Z ; std::_Iter_random<SmartPtr<IMixer> *,SmartPtr<IMixer> *>
PUBLIC	??$_Move_cat@PAV?$SmartPtr@VIMixer@@@@@std@@YA?AU_Undefined_move_tag@0@ABQAV?$SmartPtr@VIMixer@@@@@Z ; std::_Move_cat<SmartPtr<IMixer> *>
PUBLIC	??$_Checked_base@PAV?$SmartPtr@VIMixer@@@@@std@@YAPAV?$SmartPtr@VIMixer@@@@AAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z ; std::_Checked_base<SmartPtr<IMixer> *>
PUBLIC	??$_Checked_base@PAV?$SmartPtr@VIMixer@@@@@std@@YAPAV?$SmartPtr@VIMixer@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<IMixer> *>
PUBLIC	??4?$SmartPtr@VIMixer@@@@QAEAAV0@ABV0@@Z	; SmartPtr<IMixer>::operator=
PUBLIC	??$_Copy_backward_opt@PAV?$SmartPtr@VIMixer@@@@PAV1@Uforward_iterator_tag@std@@@std@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00Uforward_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_backward_opt<SmartPtr<IMixer> *,SmartPtr<IMixer> *,std::forward_iterator_tag>
PUBLIC	??$_Copy_backward_opt@PAV?$SmartPtr@VIMixer@@@@PAV1@@std@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00Urandom_access_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_backward_opt<SmartPtr<IMixer> *,SmartPtr<IMixer> *>
PUBLIC	??$_Move_backward_opt@PAV?$SmartPtr@VIMixer@@@@PAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Move_backward_opt<SmartPtr<IMixer> *,SmartPtr<IMixer> *,std::random_access_iterator_tag,std::_Undefined_move_tag>
PUBLIC	??$_Unchecked_move_backward@PAV?$SmartPtr@VIMixer@@@@PAV1@@stdext@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00@Z ; stdext::_Unchecked_move_backward<SmartPtr<IMixer> *,SmartPtr<IMixer> *>
PUBLIC	?_Insert_n@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@2@IABV?$SmartPtr@VIMixer@@@@@Z ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::_Insert_n
PUBLIC	??G?$_Vector_const_iterator@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QBEHABV01@@Z ; std::_Vector_const_iterator<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::operator-
PUBLIC	??Y?$_Vector_const_iterator@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_const_iterator<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::operator+=
PUBLIC	??Y?$_Vector_iterator@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_iterator<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::operator+=
PUBLIC	??H?$_Vector_iterator@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QBE?AV01@H@Z ; std::_Vector_iterator<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::operator+
PUBLIC	?insert@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@2@V?$_Vector_const_iterator@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@2@ABV?$SmartPtr@VIMixer@@@@@Z ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::insert
PUBLIC	??0?$SmartPtr@VIMixer@@@@QAE@ABV0@@Z		; SmartPtr<IMixer>::SmartPtr<IMixer>
PUBLIC	??$_Construct@V?$SmartPtr@VIMixer@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixer@@@@ABV1@@Z ; std::_Construct<SmartPtr<IMixer>,SmartPtr<IMixer> >
PUBLIC	?construct@?$allocator@V?$SmartPtr@VIMixer@@@@@std@@QAEXPAV?$SmartPtr@VIMixer@@@@ABV3@@Z ; std::allocator<SmartPtr<IMixer> >::construct
PUBLIC	??$_Uninit_fill_n@PAV?$SmartPtr@VIMixer@@@@IV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixer@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixer@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_fill_n<SmartPtr<IMixer> *,unsigned int,SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >
PUBLIC	??$unchecked_uninitialized_fill_n@PAV?$SmartPtr@VIMixer@@@@IV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@stdext@@YAXPAV?$SmartPtr@VIMixer@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@Z ; stdext::unchecked_uninitialized_fill_n<SmartPtr<IMixer> *,unsigned int,SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >
PUBLIC	?_Ufill@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@IAEPAV?$SmartPtr@VIMixer@@@@PAV3@IABV3@@Z ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::_Ufill
PUBLIC	?push_back@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAEXABV?$SmartPtr@VIMixer@@@@@Z ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::push_back
PUBLIC	??0?$CComPtr@UIMMDeviceEnumerator@@@ATL@@QAE@XZ	; ATL::CComPtr<IMMDeviceEnumerator>::CComPtr<IMMDeviceEnumerator>
PUBLIC	??0IMixer@@QAE@XZ				; IMixer::IMixer
PUBLIC	??0IMixerLineDst@@QAE@XZ			; IMixerLineDst::IMixerLineDst
PUBLIC	??0?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@QAE@XZ ; std::allocator<SmartPtr<IMixerLineSrc> >::allocator<SmartPtr<IMixerLineSrc> >
PUBLIC	??$?0V?$SmartPtr@VIMixerLineSrc@@@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@1@@Z ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><SmartPtr<IMixerLineSrc> >
PUBLIC	??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@1@@Z ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineSrc> > >::_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineSrc> > >
PUBLIC	??0?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@QAE@ABV01@@Z ; std::allocator<SmartPtr<IMixerLineSrc> >::allocator<SmartPtr<IMixerLineSrc> >
PUBLIC	??0?$_Vector_val@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@1@@Z ; std::_Vector_val<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::_Vector_val<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >
PUBLIC	?_Buy@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAE_NI@Z ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::_Buy
PUBLIC	??0?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >
PUBLIC	?end@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@2@XZ ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::end
PUBLIC	??0?$_Iterator_with_base@Urandom_access_iterator_tag@std@@V?$SmartPtr@VIMixerLineSrc@@@@HPBV3@ABV3@V_Iterator_base_aux@2@@std@@QAE@XZ ; std::_Iterator_with_base<std::random_access_iterator_tag,SmartPtr<IMixerLineSrc>,int,SmartPtr<IMixerLineSrc> const *,SmartPtr<IMixerLineSrc> const &,std::_Iterator_base_aux>::_Iterator_with_base<std::random_access_iterator_tag,SmartPtr<IMixerLineSrc>,int,SmartPtr<IMixerLineSrc> const *,SmartPtr<IMixerLineSrc> const &,std::_Iterator_base_aux>
PUBLIC	??0?$_Ranit@V?$SmartPtr@VIMixerLineSrc@@@@HPBV1@ABV1@@std@@QAE@XZ ; std::_Ranit<SmartPtr<IMixerLineSrc>,int,SmartPtr<IMixerLineSrc> const *,SmartPtr<IMixerLineSrc> const &>::_Ranit<SmartPtr<IMixerLineSrc>,int,SmartPtr<IMixerLineSrc> const *,SmartPtr<IMixerLineSrc> const &>
PUBLIC	??0?$_Vector_const_iterator@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@PAV?$SmartPtr@VIMixerLineSrc@@@@PBV_Container_base_aux@1@@Z ; std::_Vector_const_iterator<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::_Vector_const_iterator<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >
PUBLIC	??0?$_Vector_iterator@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@PAV?$SmartPtr@VIMixerLineSrc@@@@PBV_Container_base_aux@1@@Z ; std::_Vector_iterator<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::_Vector_iterator<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >
PUBLIC	?begin@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@2@XZ ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::begin
PUBLIC	??$_Allocate@V?$SmartPtr@VIMixerLineSrc@@@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@IPAV1@@Z ; std::_Allocate<SmartPtr<IMixerLineSrc> >
PUBLIC	?allocate@?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@QAEPAV?$SmartPtr@VIMixerLineSrc@@@@I@Z ; std::allocator<SmartPtr<IMixerLineSrc> >::allocate
PUBLIC	?capacity@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::capacity
PUBLIC	?max_size@?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@QBEIXZ ; std::allocator<SmartPtr<IMixerLineSrc> >::max_size
PUBLIC	?max_size@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::max_size
PUBLIC	?_Xlen@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@KAXXZ ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::_Xlen
PUBLIC	??$_Uninit_copy@PAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_copy<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *,std::allocator<SmartPtr<IMixerLineSrc> > >
PUBLIC	??$unchecked_uninitialized_copy@PAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@stdext@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@Z ; stdext::unchecked_uninitialized_copy<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *,std::allocator<SmartPtr<IMixerLineSrc> > >
PUBLIC	??$_Uninit_move@PAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_move<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *,std::allocator<SmartPtr<IMixerLineSrc> >,std::_Undefined_move_tag>
PUBLIC	??$_Unchecked_uninitialized_move@PAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@stdext@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@Z ; stdext::_Unchecked_uninitialized_move<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *,std::allocator<SmartPtr<IMixerLineSrc> > >
PUBLIC	??$_Umove@PAV?$SmartPtr@VIMixerLineSrc@@@@@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAEPAV?$SmartPtr@VIMixerLineSrc@@@@PAV2@00@Z ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::_Umove<SmartPtr<IMixerLineSrc> *>
PUBLIC	??$_Fill@PAV?$SmartPtr@VIMixerLineSrc@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@0ABV1@@Z ; std::_Fill<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> >
PUBLIC	??$fill@PAV?$SmartPtr@VIMixerLineSrc@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@0ABV1@@Z ; std::fill<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> >
PUBLIC	??$_Iter_random@PAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAV?$SmartPtr@VIMixerLineSrc@@@@0@Z ; std::_Iter_random<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *>
PUBLIC	??$_Move_cat@PAV?$SmartPtr@VIMixerLineSrc@@@@@std@@YA?AU_Undefined_move_tag@0@ABQAV?$SmartPtr@VIMixerLineSrc@@@@@Z ; std::_Move_cat<SmartPtr<IMixerLineSrc> *>
PUBLIC	??$_Checked_base@PAV?$SmartPtr@VIMixerLineSrc@@@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@AAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z ; std::_Checked_base<SmartPtr<IMixerLineSrc> *>
PUBLIC	??$_Checked_base@PAV?$SmartPtr@VIMixerLineSrc@@@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<IMixerLineSrc> *>
PUBLIC	??4?$SmartPtr@VIMixerLineSrc@@@@QAEAAV0@ABV0@@Z	; SmartPtr<IMixerLineSrc>::operator=
PUBLIC	??$_Copy_backward_opt@PAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@Uforward_iterator_tag@std@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00Uforward_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_backward_opt<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *,std::forward_iterator_tag>
PUBLIC	??$_Copy_backward_opt@PAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00Urandom_access_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_backward_opt<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *>
PUBLIC	??$_Move_backward_opt@PAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Move_backward_opt<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *,std::random_access_iterator_tag,std::_Undefined_move_tag>
PUBLIC	??$_Unchecked_move_backward@PAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@@stdext@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00@Z ; stdext::_Unchecked_move_backward<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *>
PUBLIC	?_Insert_n@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@2@IABV?$SmartPtr@VIMixerLineSrc@@@@@Z ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::_Insert_n
PUBLIC	??G?$_Vector_const_iterator@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QBEHABV01@@Z ; std::_Vector_const_iterator<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::operator-
PUBLIC	??Y?$_Vector_const_iterator@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_const_iterator<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::operator+=
PUBLIC	??Y?$_Vector_iterator@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_iterator<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::operator+=
PUBLIC	??H?$_Vector_iterator@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QBE?AV01@H@Z ; std::_Vector_iterator<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::operator+
PUBLIC	?insert@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@2@V?$_Vector_const_iterator@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@2@ABV?$SmartPtr@VIMixerLineSrc@@@@@Z ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::insert
PUBLIC	??0?$SmartPtr@VIMixerLineSrc@@@@QAE@ABV0@@Z	; SmartPtr<IMixerLineSrc>::SmartPtr<IMixerLineSrc>
PUBLIC	??$_Construct@V?$SmartPtr@VIMixerLineSrc@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@ABV1@@Z ; std::_Construct<SmartPtr<IMixerLineSrc>,SmartPtr<IMixerLineSrc> >
PUBLIC	?construct@?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@QAEXPAV?$SmartPtr@VIMixerLineSrc@@@@ABV3@@Z ; std::allocator<SmartPtr<IMixerLineSrc> >::construct
PUBLIC	??$_Uninit_fill_n@PAV?$SmartPtr@VIMixerLineSrc@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_fill_n<SmartPtr<IMixerLineSrc> *,unsigned int,SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >
PUBLIC	??$unchecked_uninitialized_fill_n@PAV?$SmartPtr@VIMixerLineSrc@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@stdext@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@Z ; stdext::unchecked_uninitialized_fill_n<SmartPtr<IMixerLineSrc> *,unsigned int,SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >
PUBLIC	?_Ufill@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAEPAV?$SmartPtr@VIMixerLineSrc@@@@PAV3@IABV3@@Z ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::_Ufill
PUBLIC	?push_back@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAEXABV?$SmartPtr@VIMixerLineSrc@@@@@Z ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::push_back
PUBLIC	?acquire@?$SmartPtr@VIMixerLineSrc@@@@AAEXPAUCounter@@@Z ; SmartPtr<IMixerLineSrc>::acquire
PUBLIC	??0?$SmartPtr@VIMixerLineSrc@@@@QAE@PAVIMixerLineSrc@@PAUCounter@@@Z ; SmartPtr<IMixerLineSrc>::SmartPtr<IMixerLineSrc>
PUBLIC	??0?$CComPtr@UIMMDevice@@@ATL@@QAE@XZ		; ATL::CComPtr<IMMDevice>::CComPtr<IMMDevice>
PUBLIC	??0?$CComPtr@UIMMDevice@@@ATL@@QAE@ABV01@@Z	; ATL::CComPtr<IMMDevice>::CComPtr<IMMDevice>
PUBLIC	?Release@?$CComPtr@UIMMDevice@@@ATL@@QAEXXZ	; ATL::CComPtr<IMMDevice>::Release
PUBLIC	??I?$CComPtr@UIMMDevice@@@ATL@@QAEPAPAUIMMDevice@@XZ ; ATL::CComPtr<IMMDevice>::operator&
PUBLIC	??0IMixerLineSrc@@QAE@XZ			; IMixerLineSrc::IMixerLineSrc
PUBLIC	??C?$CComPtr@UIMMDevice@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIMMDevice@@@1@XZ ; ATL::CComPtr<IMMDevice>::operator->
PUBLIC	??0?$CComPtr@UIAudioEndpointVolume@@@ATL@@QAE@XZ ; ATL::CComPtr<IAudioEndpointVolume>::CComPtr<IAudioEndpointVolume>
PUBLIC	??I?$CComPtr@UIAudioEndpointVolume@@@ATL@@QAEPAPAUIAudioEndpointVolume@@XZ ; ATL::CComPtr<IAudioEndpointVolume>::operator&
PUBLIC	?GetName@CVistaMixerLineSrc@@UAEPB_WXZ		; CVistaMixerLineSrc::GetName
PUBLIC	?SetMute@CVistaMixerLineSrc@@UAEXH@Z		; CVistaMixerLineSrc::SetMute
PUBLIC	?GetMute@CVistaMixerLineSrc@@UAEHXZ		; CVistaMixerLineSrc::GetMute
PUBLIC	?SetVolume@CVistaMixerLineSrc@@UAEXH@Z		; CVistaMixerLineSrc::SetVolume
PUBLIC	?GetVolume@CVistaMixerLineSrc@@UAEHXZ		; CVistaMixerLineSrc::GetVolume
PUBLIC	?StoreState@CVistaMixerLineSrc@@UAEXXZ		; CVistaMixerLineSrc::StoreState
PUBLIC	??C?$CComPtr@UIAudioEndpointVolume@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIAudioEndpointVolume@@@1@XZ ; ATL::CComPtr<IAudioEndpointVolume>::operator->
PUBLIC	?RestoreState@CVistaMixerLineSrc@@UAEXXZ	; CVistaMixerLineSrc::RestoreState
PUBLIC	??_GIMixerLineSrc@@UAEPAXI@Z			; IMixerLineSrc::`scalar deleting destructor'
PUBLIC	??1IMixerLineSrc@@UAE@XZ			; IMixerLineSrc::~IMixerLineSrc
PUBLIC	??1?$CComPtr@UIAudioEndpointVolume@@@ATL@@QAE@XZ ; ATL::CComPtr<IAudioEndpointVolume>::~CComPtr<IAudioEndpointVolume>
PUBLIC	??1CVistaMixerLineSrc@@UAE@XZ			; CVistaMixerLineSrc::~CVistaMixerLineSrc
PUBLIC	??_GCVistaMixerLineSrc@@UAEPAXI@Z		; CVistaMixerLineSrc::`scalar deleting destructor'
PUBLIC	??0CVistaMixerLineSrc@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z ; CVistaMixerLineSrc::CVistaMixerLineSrc
PUBLIC	??C?$CComPtr@UIMMDeviceEnumerator@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIMMDeviceEnumerator@@@1@XZ ; ATL::CComPtr<IMMDeviceEnumerator>::operator->
PUBLIC	??0?$CComPtr@UIMMDeviceCollection@@@ATL@@QAE@XZ	; ATL::CComPtr<IMMDeviceCollection>::CComPtr<IMMDeviceCollection>
PUBLIC	??1?$CComPtr@UIMMDeviceCollection@@@ATL@@QAE@XZ	; ATL::CComPtr<IMMDeviceCollection>::~CComPtr<IMMDeviceCollection>
PUBLIC	??I?$CComPtr@UIMMDeviceCollection@@@ATL@@QAEPAPAUIMMDeviceCollection@@XZ ; ATL::CComPtr<IMMDeviceCollection>::operator&
PUBLIC	??C?$CComPtr@UIMMDeviceCollection@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIMMDeviceCollection@@@1@XZ ; ATL::CComPtr<IMMDeviceCollection>::operator->
PUBLIC	??0CVistaMixerLineDst@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z ; CVistaMixerLineDst::CVistaMixerLineDst
PUBLIC	??0?$CComPtr@UIMMDeviceEnumerator@@@ATL@@QAE@ABV01@@Z ; ATL::CComPtr<IMMDeviceEnumerator>::CComPtr<IMMDeviceEnumerator>
PUBLIC	??1?$CComPtr@UIMMDeviceEnumerator@@@ATL@@QAE@XZ	; ATL::CComPtr<IMMDeviceEnumerator>::~CComPtr<IMMDeviceEnumerator>
PUBLIC	?GetName@CVistaMixer@@UAEPB_WXZ			; CVistaMixer::GetName
PUBLIC	?GetIndex@CVistaMixer@@UAEKXZ			; CVistaMixer::GetIndex
PUBLIC	?GetDestinationCount@CVistaMixer@@UAEJXZ	; CVistaMixer::GetDestinationCount
PUBLIC	?GetDestinationLine@CVistaMixer@@UAEPAVIMixerLineDst@@K@Z ; CVistaMixer::GetDestinationLine
PUBLIC	?StoreState@CVistaMixer@@UAEXXZ			; CVistaMixer::StoreState
PUBLIC	?RestoreState@CVistaMixer@@UAEXXZ		; CVistaMixer::RestoreState
PUBLIC	??_GIMixer@@UAEPAXI@Z				; IMixer::`scalar deleting destructor'
PUBLIC	??1IMixer@@UAE@XZ				; IMixer::~IMixer
PUBLIC	??_GIMixerLineDst@@UAEPAXI@Z			; IMixerLineDst::`scalar deleting destructor'
PUBLIC	??1IMixerLineDst@@UAE@XZ			; IMixerLineDst::~IMixerLineDst
PUBLIC	??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineSrc> > >::~_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineSrc> > >
PUBLIC	??1?$_Vector_val@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@XZ ; std::_Vector_val<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::~_Vector_val<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >
PUBLIC	?deallocate@?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@QAEXPAV?$SmartPtr@VIMixerLineSrc@@@@I@Z ; std::allocator<SmartPtr<IMixerLineSrc> >::deallocate
PUBLIC	??$_Ptr_cat@PAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VIMixerLineSrc@@@@0@Z ; std::_Ptr_cat<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *>
PUBLIC	?Clear@?$SmartPtr@VIMixerLineSrc@@@@QAEXXZ	; SmartPtr<IMixerLineSrc>::Clear
PUBLIC	??1?$SmartPtr@VIMixerLineSrc@@@@QAE@XZ		; SmartPtr<IMixerLineSrc>::~SmartPtr<IMixerLineSrc>
PUBLIC	??_G?$SmartPtr@VIMixerLineSrc@@@@QAEPAXI@Z	; SmartPtr<IMixerLineSrc>::`scalar deleting destructor'
PUBLIC	??$_Destroy@V?$SmartPtr@VIMixerLineSrc@@@@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@@Z ; std::_Destroy<SmartPtr<IMixerLineSrc> >
PUBLIC	?destroy@?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@QAEXPAV?$SmartPtr@VIMixerLineSrc@@@@@Z ; std::allocator<SmartPtr<IMixerLineSrc> >::destroy
PUBLIC	??$_Destroy_range@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@0AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@0@U_Nonscalar_ptr_iterator_tag@0@@Z ; std::_Destroy_range<std::allocator<SmartPtr<IMixerLineSrc> > >
PUBLIC	??$_Destroy_range@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@0AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@0@@Z ; std::_Destroy_range<std::allocator<SmartPtr<IMixerLineSrc> > >
PUBLIC	?_Destroy@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAEXPAV?$SmartPtr@VIMixerLineSrc@@@@0@Z ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::_Destroy
PUBLIC	?_Tidy@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAEXXZ ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::_Tidy
PUBLIC	??1?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::~vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >
PUBLIC	??1?$CComPtr@UIMMDevice@@@ATL@@QAE@XZ		; ATL::CComPtr<IMMDevice>::~CComPtr<IMMDevice>
PUBLIC	?GetName@CVistaMixerLineDst@@UAEPB_WXZ		; CVistaMixerLineDst::GetName
PUBLIC	?GetSourceCount@CVistaMixerLineDst@@UAEJXZ	; CVistaMixerLineDst::GetSourceCount
PUBLIC	?GetSourceLine@CVistaMixerLineDst@@UAEPAVIMixerLineSrc@@K@Z ; CVistaMixerLineDst::GetSourceLine
PUBLIC	?StoreState@CVistaMixerLineDst@@UAEXXZ		; CVistaMixerLineDst::StoreState
PUBLIC	?size@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::size
PUBLIC	??A?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAEAAV?$SmartPtr@VIMixerLineSrc@@@@I@Z ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::operator[]
PUBLIC	?GetRawPointer@?$SmartPtr@VIMixerLineSrc@@@@QBEPAVIMixerLineSrc@@XZ ; SmartPtr<IMixerLineSrc>::GetRawPointer
PUBLIC	??C?$SmartPtr@VIMixerLineSrc@@@@QBEPAVIMixerLineSrc@@XZ ; SmartPtr<IMixerLineSrc>::operator->
PUBLIC	?RestoreState@CVistaMixerLineDst@@UAEXXZ	; CVistaMixerLineDst::RestoreState
PUBLIC	?IsTypicalSpeakerLine@CVistaMixerLineDst@@UAEHXZ ; CVistaMixerLineDst::IsTypicalSpeakerLine
PUBLIC	?IsTypicalRecordingLine@CVistaMixerLineDst@@UAEHXZ ; CVistaMixerLineDst::IsTypicalRecordingLine
PUBLIC	??_GCVistaMixerLineDst@@UAEPAXI@Z		; CVistaMixerLineDst::`scalar deleting destructor'
PUBLIC	??1CVistaMixerLineDst@@UAE@XZ			; CVistaMixerLineDst::~CVistaMixerLineDst
PUBLIC	??1CVistaMixer@@UAE@XZ				; CVistaMixer::~CVistaMixer
PUBLIC	??_GCVistaMixer@@UAEPAXI@Z			; CVistaMixer::`scalar deleting destructor'
PUBLIC	??0CVistaMixer@@QAE@KAAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z ; CVistaMixer::CVistaMixer
PUBLIC	?acquire@?$SmartPtr@VIMixer@@@@AAEXPAUCounter@@@Z ; SmartPtr<IMixer>::acquire
PUBLIC	??0?$SmartPtr@VIMixer@@@@QAE@PAVIMixer@@PAUCounter@@@Z ; SmartPtr<IMixer>::SmartPtr<IMixer>
PUBLIC	?size@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::size
PUBLIC	??A?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAEAAV?$SmartPtr@VIMixer@@@@I@Z ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::operator[]
PUBLIC	?GetRawPointer@?$SmartPtr@VIMixer@@@@QBEPAVIMixer@@XZ ; SmartPtr<IMixer>::GetRawPointer
PUBLIC	??C?$SmartPtr@VIMixer@@@@QBEPAVIMixer@@XZ	; SmartPtr<IMixer>::operator->
PUBLIC	??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixer> > >::~_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixer> > >
PUBLIC	??1?$_Vector_val@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE@XZ ; std::_Vector_val<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::~_Vector_val<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >
PUBLIC	?deallocate@?$allocator@V?$SmartPtr@VIMixer@@@@@std@@QAEXPAV?$SmartPtr@VIMixer@@@@I@Z ; std::allocator<SmartPtr<IMixer> >::deallocate
PUBLIC	??$_Ptr_cat@PAV?$SmartPtr@VIMixer@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VIMixer@@@@0@Z ; std::_Ptr_cat<SmartPtr<IMixer> *,SmartPtr<IMixer> *>
PUBLIC	?Clear@?$SmartPtr@VIMixer@@@@QAEXXZ		; SmartPtr<IMixer>::Clear
PUBLIC	??1?$SmartPtr@VIMixer@@@@QAE@XZ			; SmartPtr<IMixer>::~SmartPtr<IMixer>
PUBLIC	??_G?$SmartPtr@VIMixer@@@@QAEPAXI@Z		; SmartPtr<IMixer>::`scalar deleting destructor'
PUBLIC	??$_Destroy@V?$SmartPtr@VIMixer@@@@@std@@YAXPAV?$SmartPtr@VIMixer@@@@@Z ; std::_Destroy<SmartPtr<IMixer> >
PUBLIC	?destroy@?$allocator@V?$SmartPtr@VIMixer@@@@@std@@QAEXPAV?$SmartPtr@VIMixer@@@@@Z ; std::allocator<SmartPtr<IMixer> >::destroy
PUBLIC	??$_Destroy_range@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixer@@@@0AAV?$allocator@V?$SmartPtr@VIMixer@@@@@0@U_Nonscalar_ptr_iterator_tag@0@@Z ; std::_Destroy_range<std::allocator<SmartPtr<IMixer> > >
PUBLIC	??$_Destroy_range@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixer@@@@0AAV?$allocator@V?$SmartPtr@VIMixer@@@@@0@@Z ; std::_Destroy_range<std::allocator<SmartPtr<IMixer> > >
PUBLIC	?_Destroy@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@IAEXPAV?$SmartPtr@VIMixer@@@@0@Z ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::_Destroy
PUBLIC	?_Tidy@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@IAEXXZ ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::_Tidy
PUBLIC	??1?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::~vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >
PUBLIC	??1CMixerList@@QAE@XZ				; CMixerList::~CMixerList
PUBLIC	??_C@_0BG@GHJBBFFF@Can?8t?5get?5device?5name?$AA@ ; `string'
PUBLIC	??_C@_0CC@MBIJLDOP@Can?8t?5get?5endpoint?5volume?5contro@ ; `string'
PUBLIC	??_C@_0CD@DKEMEDH@Couldn?8t?5enumerate?5audio?5endpoin@ ; `string'
PUBLIC	??_C@_0CM@NHODHPFL@Couldn?8t?5count?5items?5in?5endpoint@ ; `string'
PUBLIC	??_C@_0CJ@GKJNCEG@Couldn?8t?5get?5item?5in?5endpoint?5co@ ; `string'
PUBLIC	??_7IMixerLineSrc@@6B@				; IMixerLineSrc::`vftable'
PUBLIC	??_7CMixerLineSrc@@6B@				; CMixerLineSrc::`vftable'
PUBLIC	??_7IMixerLineDst@@6B@				; IMixerLineDst::`vftable'
PUBLIC	??_7CMixerLineDst@@6B@				; CMixerLineDst::`vftable'
PUBLIC	??_7IMixer@@6B@					; IMixer::`vftable'
PUBLIC	??_7CMixer@@6B@					; CMixer::`vftable'
PUBLIC	??_7CVistaMixerLineSrc@@6B@			; CVistaMixerLineSrc::`vftable'
PUBLIC	??_7CVistaMixerLineDst@@6B@			; CVistaMixerLineDst::`vftable'
PUBLIC	??_7CVistaMixer@@6B@				; CVistaMixer::`vftable'
PUBLIC	__GUID_5cdf2c82_841e_4546_9722_0cf74078229a
EXTRN	__imp__mixerGetLineControlsW@12:PROC
EXTRN	??_ECMixerLineSrc@@UAEPAXI@Z:PROC		; CMixerLineSrc::`vector deleting destructor'
EXTRN	__imp__mixerSetControlDetails@12:PROC
EXTRN	__imp__mixerGetControlDetailsW@12:PROC
EXTRN	__imp__mixerGetLineInfoW@12:PROC
EXTRN	??_ECMixerLineDst@@UAEPAXI@Z:PROC		; CMixerLineDst::`vector deleting destructor'
EXTRN	__imp__mixerGetDevCapsW@12:PROC
EXTRN	__imp__mixerOpen@20:PROC
EXTRN	__imp__mixerClose@4:PROC
EXTRN	??_ECMixer@@UAEPAXI@Z:PROC			; CMixer::`vector deleting destructor'
EXTRN	__imp__mixerGetNumDevs@0:PROC
EXTRN	??_EIMixerLineSrc@@UAEPAXI@Z:PROC		; IMixerLineSrc::`vector deleting destructor'
EXTRN	??_ECVistaMixerLineSrc@@UAEPAXI@Z:PROC		; CVistaMixerLineSrc::`vector deleting destructor'
EXTRN	??_EIMixer@@UAEPAXI@Z:PROC			; IMixer::`vector deleting destructor'
EXTRN	??_EIMixerLineDst@@UAEPAXI@Z:PROC		; IMixerLineDst::`vector deleting destructor'
EXTRN	??_ECVistaMixerLineDst@@UAEPAXI@Z:PROC		; CVistaMixerLineDst::`vector deleting destructor'
EXTRN	??_ECVistaMixer@@UAEPAXI@Z:PROC			; CVistaMixer::`vector deleting destructor'
;	COMDAT __GUID_5cdf2c82_841e_4546_9722_0cf74078229a
CONST	SEGMENT
__GUID_5cdf2c82_841e_4546_9722_0cf74078229a DD 05cdf2c82H
	DW	0841eH
	DW	04546H
	DB	097H
	DB	022H
	DB	0cH
	DB	0f7H
	DB	040H
	DB	078H
	DB	022H
	DB	09aH
CONST	ENDS
;	COMDAT ??_7CVistaMixer@@6B@
CONST	SEGMENT
??_7CVistaMixer@@6B@ DD FLAT:??_R4CVistaMixer@@6B@	; CVistaMixer::`vftable'
	DD	FLAT:??_ECVistaMixer@@UAEPAXI@Z
	DD	FLAT:?GetName@CVistaMixer@@UAEPB_WXZ
	DD	FLAT:?GetIndex@CVistaMixer@@UAEKXZ
	DD	FLAT:?GetDestinationCount@CVistaMixer@@UAEJXZ
	DD	FLAT:?GetDestinationLine@CVistaMixer@@UAEPAVIMixerLineDst@@K@Z
	DD	FLAT:?StoreState@CVistaMixer@@UAEXXZ
	DD	FLAT:?RestoreState@CVistaMixer@@UAEXXZ
CONST	ENDS
;	COMDAT ??_R4CVistaMixer@@6B@
rdata$r	SEGMENT
??_R4CVistaMixer@@6B@ DD 00H				; CVistaMixer::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVCVistaMixer@@@8
	DD	FLAT:??_R3CVistaMixer@@8
rdata$r	ENDS
;	COMDAT ??_R3CVistaMixer@@8
rdata$r	SEGMENT
??_R3CVistaMixer@@8 DD 00H				; CVistaMixer::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2CVistaMixer@@8
rdata$r	ENDS
;	COMDAT ??_R2CVistaMixer@@8
rdata$r	SEGMENT
??_R2CVistaMixer@@8 DD FLAT:??_R1A@?0A@EA@CVistaMixer@@8 ; CVistaMixer::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@IMixer@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@CVistaMixer@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@CVistaMixer@@8 DD FLAT:??_R0?AVCVistaMixer@@@8 ; CVistaMixer::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3CVistaMixer@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVCVistaMixer@@@8
_DATA	SEGMENT
??_R0?AVCVistaMixer@@@8 DD FLAT:??_7type_info@@6B@	; CVistaMixer `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVCVistaMixer@@', 00H
_DATA	ENDS
;	COMDAT ??_7CVistaMixerLineDst@@6B@
CONST	SEGMENT
??_7CVistaMixerLineDst@@6B@ DD FLAT:??_R4CVistaMixerLineDst@@6B@ ; CVistaMixerLineDst::`vftable'
	DD	FLAT:??_ECVistaMixerLineDst@@UAEPAXI@Z
	DD	FLAT:?GetName@CVistaMixerLineDst@@UAEPB_WXZ
	DD	FLAT:?GetSourceCount@CVistaMixerLineDst@@UAEJXZ
	DD	FLAT:?GetSourceLine@CVistaMixerLineDst@@UAEPAVIMixerLineSrc@@K@Z
	DD	FLAT:?StoreState@CVistaMixerLineDst@@UAEXXZ
	DD	FLAT:?RestoreState@CVistaMixerLineDst@@UAEXXZ
	DD	FLAT:?IsTypicalSpeakerLine@CVistaMixerLineDst@@UAEHXZ
	DD	FLAT:?IsTypicalRecordingLine@CVistaMixerLineDst@@UAEHXZ
CONST	ENDS
;	COMDAT ??_R4CVistaMixerLineDst@@6B@
rdata$r	SEGMENT
??_R4CVistaMixerLineDst@@6B@ DD 00H			; CVistaMixerLineDst::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVCVistaMixerLineDst@@@8
	DD	FLAT:??_R3CVistaMixerLineDst@@8
rdata$r	ENDS
;	COMDAT ??_R3CVistaMixerLineDst@@8
rdata$r	SEGMENT
??_R3CVistaMixerLineDst@@8 DD 00H			; CVistaMixerLineDst::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2CVistaMixerLineDst@@8
rdata$r	ENDS
;	COMDAT ??_R2CVistaMixerLineDst@@8
rdata$r	SEGMENT
??_R2CVistaMixerLineDst@@8 DD FLAT:??_R1A@?0A@EA@CVistaMixerLineDst@@8 ; CVistaMixerLineDst::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@IMixerLineDst@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@CVistaMixerLineDst@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@CVistaMixerLineDst@@8 DD FLAT:??_R0?AVCVistaMixerLineDst@@@8 ; CVistaMixerLineDst::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3CVistaMixerLineDst@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVCVistaMixerLineDst@@@8
_DATA	SEGMENT
??_R0?AVCVistaMixerLineDst@@@8 DD FLAT:??_7type_info@@6B@ ; CVistaMixerLineDst `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVCVistaMixerLineDst@@', 00H
_DATA	ENDS
;	COMDAT ??_7CVistaMixerLineSrc@@6B@
CONST	SEGMENT
??_7CVistaMixerLineSrc@@6B@ DD FLAT:??_R4CVistaMixerLineSrc@@6B@ ; CVistaMixerLineSrc::`vftable'
	DD	FLAT:??_ECVistaMixerLineSrc@@UAEPAXI@Z
	DD	FLAT:?GetName@CVistaMixerLineSrc@@UAEPB_WXZ
	DD	FLAT:?SetMute@CVistaMixerLineSrc@@UAEXH@Z
	DD	FLAT:?GetMute@CVistaMixerLineSrc@@UAEHXZ
	DD	FLAT:?SetVolume@CVistaMixerLineSrc@@UAEXH@Z
	DD	FLAT:?GetVolume@CVistaMixerLineSrc@@UAEHXZ
	DD	FLAT:?StoreState@CVistaMixerLineSrc@@UAEXXZ
	DD	FLAT:?RestoreState@CVistaMixerLineSrc@@UAEXXZ
CONST	ENDS
;	COMDAT ??_R4CVistaMixerLineSrc@@6B@
rdata$r	SEGMENT
??_R4CVistaMixerLineSrc@@6B@ DD 00H			; CVistaMixerLineSrc::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVCVistaMixerLineSrc@@@8
	DD	FLAT:??_R3CVistaMixerLineSrc@@8
rdata$r	ENDS
;	COMDAT ??_R3CVistaMixerLineSrc@@8
rdata$r	SEGMENT
??_R3CVistaMixerLineSrc@@8 DD 00H			; CVistaMixerLineSrc::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2CVistaMixerLineSrc@@8
rdata$r	ENDS
;	COMDAT ??_R2CVistaMixerLineSrc@@8
rdata$r	SEGMENT
??_R2CVistaMixerLineSrc@@8 DD FLAT:??_R1A@?0A@EA@CVistaMixerLineSrc@@8 ; CVistaMixerLineSrc::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@IMixerLineSrc@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@CVistaMixerLineSrc@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@CVistaMixerLineSrc@@8 DD FLAT:??_R0?AVCVistaMixerLineSrc@@@8 ; CVistaMixerLineSrc::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3CVistaMixerLineSrc@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVCVistaMixerLineSrc@@@8
_DATA	SEGMENT
??_R0?AVCVistaMixerLineSrc@@@8 DD FLAT:??_7type_info@@6B@ ; CVistaMixerLineSrc `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVCVistaMixerLineSrc@@', 00H
_DATA	ENDS
;	COMDAT ??_7CMixer@@6B@
CONST	SEGMENT
??_7CMixer@@6B@ DD FLAT:??_R4CMixer@@6B@		; CMixer::`vftable'
	DD	FLAT:??_ECMixer@@UAEPAXI@Z
	DD	FLAT:?GetName@CMixer@@UAEPB_WXZ
	DD	FLAT:?GetIndex@CMixer@@UAEKXZ
	DD	FLAT:?GetDestinationCount@CMixer@@UAEJXZ
	DD	FLAT:?GetDestinationLine@CMixer@@UAEPAVIMixerLineDst@@K@Z
	DD	FLAT:?StoreState@CMixer@@UAEXXZ
	DD	FLAT:?RestoreState@CMixer@@UAEXXZ
CONST	ENDS
;	COMDAT ??_R4CMixer@@6B@
rdata$r	SEGMENT
??_R4CMixer@@6B@ DD 00H					; CMixer::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVCMixer@@@8
	DD	FLAT:??_R3CMixer@@8
rdata$r	ENDS
;	COMDAT ??_R3CMixer@@8
rdata$r	SEGMENT
??_R3CMixer@@8 DD 00H					; CMixer::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2CMixer@@8
rdata$r	ENDS
;	COMDAT ??_R2CMixer@@8
rdata$r	SEGMENT
??_R2CMixer@@8 DD FLAT:??_R1A@?0A@EA@CMixer@@8		; CMixer::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@IMixer@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@CMixer@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@CMixer@@8 DD FLAT:??_R0?AVCMixer@@@8	; CMixer::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3CMixer@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVCMixer@@@8
_DATA	SEGMENT
??_R0?AVCMixer@@@8 DD FLAT:??_7type_info@@6B@		; CMixer `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVCMixer@@', 00H
_DATA	ENDS
;	COMDAT ??_7IMixer@@6B@
CONST	SEGMENT
??_7IMixer@@6B@ DD FLAT:??_R4IMixer@@6B@		; IMixer::`vftable'
	DD	FLAT:??_EIMixer@@UAEPAXI@Z
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
CONST	ENDS
;	COMDAT ??_R4IMixer@@6B@
rdata$r	SEGMENT
??_R4IMixer@@6B@ DD 00H					; IMixer::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVIMixer@@@8
	DD	FLAT:??_R3IMixer@@8
rdata$r	ENDS
;	COMDAT ??_R3IMixer@@8
rdata$r	SEGMENT
??_R3IMixer@@8 DD 00H					; IMixer::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2IMixer@@8
rdata$r	ENDS
;	COMDAT ??_R2IMixer@@8
rdata$r	SEGMENT
??_R2IMixer@@8 DD FLAT:??_R1A@?0A@EA@IMixer@@8		; IMixer::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@IMixer@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@IMixer@@8 DD FLAT:??_R0?AVIMixer@@@8	; IMixer::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3IMixer@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVIMixer@@@8
_DATA	SEGMENT
??_R0?AVIMixer@@@8 DD FLAT:??_7type_info@@6B@		; IMixer `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVIMixer@@', 00H
_DATA	ENDS
;	COMDAT ??_7CMixerLineDst@@6B@
CONST	SEGMENT
??_7CMixerLineDst@@6B@ DD FLAT:??_R4CMixerLineDst@@6B@	; CMixerLineDst::`vftable'
	DD	FLAT:??_ECMixerLineDst@@UAEPAXI@Z
	DD	FLAT:?GetName@CMixerLineDst@@UAEPB_WXZ
	DD	FLAT:?GetSourceCount@CMixerLineDst@@UAEJXZ
	DD	FLAT:?GetSourceLine@CMixerLineDst@@UAEPAVIMixerLineSrc@@K@Z
	DD	FLAT:?StoreState@CMixerLineDst@@UAEXXZ
	DD	FLAT:?RestoreState@CMixerLineDst@@UAEXXZ
	DD	FLAT:?IsTypicalSpeakerLine@CMixerLineDst@@UAEHXZ
	DD	FLAT:?IsTypicalRecordingLine@CMixerLineDst@@UAEHXZ
CONST	ENDS
;	COMDAT ??_R4CMixerLineDst@@6B@
rdata$r	SEGMENT
??_R4CMixerLineDst@@6B@ DD 00H				; CMixerLineDst::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVCMixerLineDst@@@8
	DD	FLAT:??_R3CMixerLineDst@@8
rdata$r	ENDS
;	COMDAT ??_R3CMixerLineDst@@8
rdata$r	SEGMENT
??_R3CMixerLineDst@@8 DD 00H				; CMixerLineDst::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2CMixerLineDst@@8
rdata$r	ENDS
;	COMDAT ??_R2CMixerLineDst@@8
rdata$r	SEGMENT
??_R2CMixerLineDst@@8 DD FLAT:??_R1A@?0A@EA@CMixerLineDst@@8 ; CMixerLineDst::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@IMixerLineDst@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@CMixerLineDst@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@CMixerLineDst@@8 DD FLAT:??_R0?AVCMixerLineDst@@@8 ; CMixerLineDst::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3CMixerLineDst@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVCMixerLineDst@@@8
_DATA	SEGMENT
??_R0?AVCMixerLineDst@@@8 DD FLAT:??_7type_info@@6B@	; CMixerLineDst `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVCMixerLineDst@@', 00H
_DATA	ENDS
;	COMDAT ??_7IMixerLineDst@@6B@
CONST	SEGMENT
??_7IMixerLineDst@@6B@ DD FLAT:??_R4IMixerLineDst@@6B@	; IMixerLineDst::`vftable'
	DD	FLAT:??_EIMixerLineDst@@UAEPAXI@Z
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
CONST	ENDS
;	COMDAT ??_R4IMixerLineDst@@6B@
rdata$r	SEGMENT
??_R4IMixerLineDst@@6B@ DD 00H				; IMixerLineDst::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVIMixerLineDst@@@8
	DD	FLAT:??_R3IMixerLineDst@@8
rdata$r	ENDS
;	COMDAT ??_R3IMixerLineDst@@8
rdata$r	SEGMENT
??_R3IMixerLineDst@@8 DD 00H				; IMixerLineDst::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2IMixerLineDst@@8
rdata$r	ENDS
;	COMDAT ??_R2IMixerLineDst@@8
rdata$r	SEGMENT
??_R2IMixerLineDst@@8 DD FLAT:??_R1A@?0A@EA@IMixerLineDst@@8 ; IMixerLineDst::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@IMixerLineDst@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@IMixerLineDst@@8 DD FLAT:??_R0?AVIMixerLineDst@@@8 ; IMixerLineDst::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3IMixerLineDst@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVIMixerLineDst@@@8
_DATA	SEGMENT
??_R0?AVIMixerLineDst@@@8 DD FLAT:??_7type_info@@6B@	; IMixerLineDst `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVIMixerLineDst@@', 00H
_DATA	ENDS
;	COMDAT ??_7CMixerLineSrc@@6B@
CONST	SEGMENT
??_7CMixerLineSrc@@6B@ DD FLAT:??_R4CMixerLineSrc@@6B@	; CMixerLineSrc::`vftable'
	DD	FLAT:??_ECMixerLineSrc@@UAEPAXI@Z
	DD	FLAT:?GetName@CMixerLineSrc@@UAEPB_WXZ
	DD	FLAT:?SetMute@CMixerLineSrc@@UAEXH@Z
	DD	FLAT:?GetMute@CMixerLineSrc@@UAEHXZ
	DD	FLAT:?SetVolume@CMixerLineSrc@@UAEXH@Z
	DD	FLAT:?GetVolume@CMixerLineSrc@@UAEHXZ
	DD	FLAT:?StoreState@CMixerLineSrc@@UAEXXZ
	DD	FLAT:?RestoreState@CMixerLineSrc@@UAEXXZ
CONST	ENDS
;	COMDAT ??_R4CMixerLineSrc@@6B@
rdata$r	SEGMENT
??_R4CMixerLineSrc@@6B@ DD 00H				; CMixerLineSrc::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVCMixerLineSrc@@@8
	DD	FLAT:??_R3CMixerLineSrc@@8
rdata$r	ENDS
;	COMDAT ??_R3CMixerLineSrc@@8
rdata$r	SEGMENT
??_R3CMixerLineSrc@@8 DD 00H				; CMixerLineSrc::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2CMixerLineSrc@@8
rdata$r	ENDS
;	COMDAT ??_R2CMixerLineSrc@@8
rdata$r	SEGMENT
??_R2CMixerLineSrc@@8 DD FLAT:??_R1A@?0A@EA@CMixerLineSrc@@8 ; CMixerLineSrc::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@IMixerLineSrc@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@CMixerLineSrc@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@CMixerLineSrc@@8 DD FLAT:??_R0?AVCMixerLineSrc@@@8 ; CMixerLineSrc::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3CMixerLineSrc@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVCMixerLineSrc@@@8
_DATA	SEGMENT
??_R0?AVCMixerLineSrc@@@8 DD FLAT:??_7type_info@@6B@	; CMixerLineSrc `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVCMixerLineSrc@@', 00H
_DATA	ENDS
;	COMDAT ??_7IMixerLineSrc@@6B@
CONST	SEGMENT
??_7IMixerLineSrc@@6B@ DD FLAT:??_R4IMixerLineSrc@@6B@	; IMixerLineSrc::`vftable'
	DD	FLAT:??_EIMixerLineSrc@@UAEPAXI@Z
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
CONST	ENDS
;	COMDAT ??_R4IMixerLineSrc@@6B@
rdata$r	SEGMENT
??_R4IMixerLineSrc@@6B@ DD 00H				; IMixerLineSrc::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVIMixerLineSrc@@@8
	DD	FLAT:??_R3IMixerLineSrc@@8
rdata$r	ENDS
;	COMDAT ??_R3IMixerLineSrc@@8
rdata$r	SEGMENT
??_R3IMixerLineSrc@@8 DD 00H				; IMixerLineSrc::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2IMixerLineSrc@@8
rdata$r	ENDS
;	COMDAT ??_R2IMixerLineSrc@@8
rdata$r	SEGMENT
??_R2IMixerLineSrc@@8 DD FLAT:??_R1A@?0A@EA@IMixerLineSrc@@8 ; IMixerLineSrc::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@IMixerLineSrc@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@IMixerLineSrc@@8 DD FLAT:??_R0?AVIMixerLineSrc@@@8 ; IMixerLineSrc::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3IMixerLineSrc@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVIMixerLineSrc@@@8
_DATA	SEGMENT
??_R0?AVIMixerLineSrc@@@8 DD FLAT:??_7type_info@@6B@	; IMixerLineSrc `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVIMixerLineSrc@@', 00H
_DATA	ENDS
;	COMDAT ??_C@_0CJ@GKJNCEG@Couldn?8t?5get?5item?5in?5endpoint?5co@
CONST	SEGMENT
??_C@_0CJ@GKJNCEG@Couldn?8t?5get?5item?5in?5endpoint?5co@ DB 'Couldn''t g'
	DB	'et item in endpoint collection', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0CM@NHODHPFL@Couldn?8t?5count?5items?5in?5endpoint@
CONST	SEGMENT
??_C@_0CM@NHODHPFL@Couldn?8t?5count?5items?5in?5endpoint@ DB 'Couldn''t c'
	DB	'ount items in endpoint collection', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0CD@DKEMEDH@Couldn?8t?5enumerate?5audio?5endpoin@
CONST	SEGMENT
??_C@_0CD@DKEMEDH@Couldn?8t?5enumerate?5audio?5endpoin@ DB 'Couldn''t enu'
	DB	'merate audio endpoints', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0CC@MBIJLDOP@Can?8t?5get?5endpoint?5volume?5contro@
CONST	SEGMENT
??_C@_0CC@MBIJLDOP@Can?8t?5get?5endpoint?5volume?5contro@ DB 'Can''t get '
	DB	'endpoint volume control', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0BG@GHJBBFFF@Can?8t?5get?5device?5name?$AA@
CONST	SEGMENT
??_C@_0BG@GHJBBFFF@Can?8t?5get?5device?5name?$AA@ DB 'Can''t get device n'
	DB	'ame', 00H					; `string'
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
;	COMDAT ??$_Checked_base@PAV?$SmartPtr@VIMixer@@@@@std@@YAPAV?$SmartPtr@VIMixer@@@@AAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z
_TEXT	SEGMENT
__It$ = 8						; size = 4
___formal$ = 12						; size = 1
??$_Checked_base@PAV?$SmartPtr@VIMixer@@@@@std@@YAPAV?$SmartPtr@VIMixer@@@@AAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z PROC ; std::_Checked_base<SmartPtr<IMixer> *>, 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@VIMixer@@@@@std@@YAPAV?$SmartPtr@VIMixer@@@@AAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z ENDP ; std::_Checked_base<SmartPtr<IMixer> *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Checked_base@PAV?$SmartPtr@VIMixerLineDst@@@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@AAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z
_TEXT	SEGMENT
__It$ = 8						; size = 4
___formal$ = 12						; size = 1
??$_Checked_base@PAV?$SmartPtr@VIMixerLineDst@@@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@AAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z PROC ; std::_Checked_base<SmartPtr<IMixerLineDst> *>, 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@VIMixerLineDst@@@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@AAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z ENDP ; std::_Checked_base<SmartPtr<IMixerLineDst> *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Checked_base@PAV?$SmartPtr@VIMixerLineSrc@@@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@AAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z
_TEXT	SEGMENT
__It$ = 8						; size = 4
___formal$ = 12						; size = 1
??$_Checked_base@PAV?$SmartPtr@VIMixerLineSrc@@@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@AAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z PROC ; std::_Checked_base<SmartPtr<IMixerLineSrc> *>, 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@VIMixerLineSrc@@@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@AAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z ENDP ; std::_Checked_base<SmartPtr<IMixerLineSrc> *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Move_cat@PAV?$SmartPtr@VIMixer@@@@@std@@YA?AU_Undefined_move_tag@0@ABQAV?$SmartPtr@VIMixer@@@@@Z
_TEXT	SEGMENT
__Cat$ = -1						; size = 1
___formal$ = 8						; size = 4
??$_Move_cat@PAV?$SmartPtr@VIMixer@@@@@std@@YA?AU_Undefined_move_tag@0@ABQAV?$SmartPtr@VIMixer@@@@@Z PROC ; std::_Move_cat<SmartPtr<IMixer> *>, 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@VIMixer@@@@@std@@YA?AU_Undefined_move_tag@0@ABQAV?$SmartPtr@VIMixer@@@@@Z ENDP ; std::_Move_cat<SmartPtr<IMixer> *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Iter_random@PAV?$SmartPtr@VIMixer@@@@PAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAV?$SmartPtr@VIMixer@@@@0@Z
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
___formal$ = 12						; size = 4
___formal$ = 16						; size = 4
??$_Iter_random@PAV?$SmartPtr@VIMixer@@@@PAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAV?$SmartPtr@VIMixer@@@@0@Z PROC ; std::_Iter_random<SmartPtr<IMixer> *,SmartPtr<IMixer> *>, 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@VIMixer@@@@PAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAV?$SmartPtr@VIMixer@@@@0@Z ENDP ; std::_Iter_random<SmartPtr<IMixer> *,SmartPtr<IMixer> *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Checked_base@PAV?$SmartPtr@VIMixer@@@@@std@@YAPAV?$SmartPtr@VIMixer@@@@AAPAV1@@Z
_TEXT	SEGMENT
__Base_tag$ = -1					; size = 1
__It$ = 8						; size = 4
??$_Checked_base@PAV?$SmartPtr@VIMixer@@@@@std@@YAPAV?$SmartPtr@VIMixer@@@@AAPAV1@@Z PROC ; std::_Checked_base<SmartPtr<IMixer> *>, 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@VIMixer@@@@@std@@YAPAV?$SmartPtr@VIMixer@@@@AAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z ; std::_Checked_base<SmartPtr<IMixer> *>
  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@VIMixer@@@@@std@@YAPAV?$SmartPtr@VIMixer@@@@AAPAV1@@Z ENDP ; std::_Checked_base<SmartPtr<IMixer> *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Move_cat@PAV?$SmartPtr@VIMixerLineDst@@@@@std@@YA?AU_Undefined_move_tag@0@ABQAV?$SmartPtr@VIMixerLineDst@@@@@Z
_TEXT	SEGMENT
__Cat$ = -1						; size = 1
___formal$ = 8						; size = 4
??$_Move_cat@PAV?$SmartPtr@VIMixerLineDst@@@@@std@@YA?AU_Undefined_move_tag@0@ABQAV?$SmartPtr@VIMixerLineDst@@@@@Z PROC ; std::_Move_cat<SmartPtr<IMixerLineDst> *>, 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@VIMixerLineDst@@@@@std@@YA?AU_Undefined_move_tag@0@ABQAV?$SmartPtr@VIMixerLineDst@@@@@Z ENDP ; std::_Move_cat<SmartPtr<IMixerLineDst> *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Iter_random@PAV?$SmartPtr@VIMixerLineDst@@@@PAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAV?$SmartPtr@VIMixerLineDst@@@@0@Z
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
___formal$ = 12						; size = 4
___formal$ = 16						; size = 4
??$_Iter_random@PAV?$SmartPtr@VIMixerLineDst@@@@PAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAV?$SmartPtr@VIMixerLineDst@@@@0@Z PROC ; std::_Iter_random<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *>, 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@VIMixerLineDst@@@@PAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAV?$SmartPtr@VIMixerLineDst@@@@0@Z ENDP ; std::_Iter_random<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Checked_base@PAV?$SmartPtr@VIMixerLineDst@@@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@AAPAV1@@Z
_TEXT	SEGMENT
__Base_tag$ = -1					; size = 1
__It$ = 8						; size = 4
??$_Checked_base@PAV?$SmartPtr@VIMixerLineDst@@@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@AAPAV1@@Z PROC ; std::_Checked_base<SmartPtr<IMixerLineDst> *>, 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@VIMixerLineDst@@@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@AAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z ; std::_Checked_base<SmartPtr<IMixerLineDst> *>
  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@VIMixerLineDst@@@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@AAPAV1@@Z ENDP ; std::_Checked_base<SmartPtr<IMixerLineDst> *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Move_cat@PAV?$SmartPtr@VIMixerLineSrc@@@@@std@@YA?AU_Undefined_move_tag@0@ABQAV?$SmartPtr@VIMixerLineSrc@@@@@Z
_TEXT	SEGMENT
__Cat$ = -1						; size = 1
___formal$ = 8						; size = 4
??$_Move_cat@PAV?$SmartPtr@VIMixerLineSrc@@@@@std@@YA?AU_Undefined_move_tag@0@ABQAV?$SmartPtr@VIMixerLineSrc@@@@@Z PROC ; std::_Move_cat<SmartPtr<IMixerLineSrc> *>, 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@VIMixerLineSrc@@@@@std@@YA?AU_Undefined_move_tag@0@ABQAV?$SmartPtr@VIMixerLineSrc@@@@@Z ENDP ; std::_Move_cat<SmartPtr<IMixerLineSrc> *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Iter_random@PAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAV?$SmartPtr@VIMixerLineSrc@@@@0@Z
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
___formal$ = 12						; size = 4
___formal$ = 16						; size = 4
??$_Iter_random@PAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAV?$SmartPtr@VIMixerLineSrc@@@@0@Z PROC ; std::_Iter_random<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *>, 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@VIMixerLineSrc@@@@PAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAV?$SmartPtr@VIMixerLineSrc@@@@0@Z ENDP ; std::_Iter_random<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Checked_base@PAV?$SmartPtr@VIMixerLineSrc@@@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@AAPAV1@@Z
_TEXT	SEGMENT
__Base_tag$ = -1					; size = 1
__It$ = 8						; size = 4
??$_Checked_base@PAV?$SmartPtr@VIMixerLineSrc@@@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@AAPAV1@@Z PROC ; std::_Checked_base<SmartPtr<IMixerLineSrc> *>, 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@VIMixerLineSrc@@@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@AAPAV1@U_Unchanged_checked_iterator_base_type_tag@0@@Z ; std::_Checked_base<SmartPtr<IMixerLineSrc> *>
  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@VIMixerLineSrc@@@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@AAPAV1@@Z ENDP ; std::_Checked_base<SmartPtr<IMixerLineSrc> *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Ptr_cat@PAV?$SmartPtr@VIMixer@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VIMixer@@@@0@Z
_TEXT	SEGMENT
__Cat$ = -1						; size = 1
___formal$ = 8						; size = 4
___formal$ = 12						; size = 4
??$_Ptr_cat@PAV?$SmartPtr@VIMixer@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VIMixer@@@@0@Z PROC ; std::_Ptr_cat<SmartPtr<IMixer> *,SmartPtr<IMixer> *>, 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@VIMixer@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VIMixer@@@@0@Z ENDP ; std::_Ptr_cat<SmartPtr<IMixer> *,SmartPtr<IMixer> *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Ptr_cat@PAV?$SmartPtr@VIMixerLineDst@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VIMixerLineDst@@@@0@Z
_TEXT	SEGMENT
__Cat$ = -1						; size = 1
___formal$ = 8						; size = 4
___formal$ = 12						; size = 4
??$_Ptr_cat@PAV?$SmartPtr@VIMixerLineDst@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VIMixerLineDst@@@@0@Z PROC ; std::_Ptr_cat<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *>, 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@VIMixerLineDst@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VIMixerLineDst@@@@0@Z ENDP ; std::_Ptr_cat<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Ptr_cat@PAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VIMixerLineSrc@@@@0@Z
_TEXT	SEGMENT
__Cat$ = -1						; size = 1
___formal$ = 8						; size = 4
___formal$ = 12						; size = 4
??$_Ptr_cat@PAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VIMixerLineSrc@@@@0@Z PROC ; std::_Ptr_cat<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *>, 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@VIMixerLineSrc@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VIMixerLineSrc@@@@0@Z ENDP ; std::_Ptr_cat<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ??$?0V?$SmartPtr@VIMixer@@@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@V?$SmartPtr@VIMixer@@@@@1@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___formal$ = 8						; size = 4
??$?0V?$SmartPtr@VIMixer@@@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@V?$SmartPtr@VIMixer@@@@@1@@Z PROC ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><SmartPtr<IMixer> >, 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@VIMixer@@@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@V?$SmartPtr@VIMixer@@@@@1@@Z ENDP ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><SmartPtr<IMixer> >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$?0V?$SmartPtr@VIMixerLineDst@@@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@1@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___formal$ = 8						; size = 4
??$?0V?$SmartPtr@VIMixerLineDst@@@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@1@@Z PROC ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><SmartPtr<IMixerLineDst> >, 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@VIMixerLineDst@@@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@1@@Z ENDP ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><SmartPtr<IMixerLineDst> >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$?0V?$SmartPtr@VIMixerLineSrc@@@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@1@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___formal$ = 8						; size = 4
??$?0V?$SmartPtr@VIMixerLineSrc@@@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@1@@Z PROC ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><SmartPtr<IMixerLineSrc> >, 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@VIMixerLineSrc@@@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@1@@Z ENDP ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><SmartPtr<IMixerLineSrc> >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?max_size@?$allocator@V?$SmartPtr@VIMixer@@@@@std@@QBEIXZ
_TEXT	SEGMENT
tv65 = -12						; size = 4
_this$ = -8						; size = 4
__Count$ = -4						; size = 4
?max_size@?$allocator@V?$SmartPtr@VIMixer@@@@@std@@QBEIXZ PROC ; std::allocator<SmartPtr<IMixer> >::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@17
  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@17
$LN3@max_size@17:
  0001e	c7 45 f4 01 00
	00 00		 mov	 DWORD PTR tv65[ebp], 1
$LN4@max_size@17:
  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@VIMixer@@@@@std@@QBEIXZ ENDP ; std::allocator<SmartPtr<IMixer> >::max_size
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?max_size@?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@QBEIXZ
_TEXT	SEGMENT
tv65 = -12						; size = 4
_this$ = -8						; size = 4
__Count$ = -4						; size = 4
?max_size@?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@QBEIXZ PROC ; std::allocator<SmartPtr<IMixerLineDst> >::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@18
  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@18
$LN3@max_size@18:
  0001e	c7 45 f4 01 00
	00 00		 mov	 DWORD PTR tv65[ebp], 1
$LN4@max_size@18:
  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@VIMixerLineDst@@@@@std@@QBEIXZ ENDP ; std::allocator<SmartPtr<IMixerLineDst> >::max_size
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?max_size@?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@QBEIXZ
_TEXT	SEGMENT
tv65 = -12						; size = 4
_this$ = -8						; size = 4
__Count$ = -4						; size = 4
?max_size@?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@QBEIXZ PROC ; std::allocator<SmartPtr<IMixerLineSrc> >::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@19
  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@19
$LN3@max_size@19:
  0001e	c7 45 f4 01 00
	00 00		 mov	 DWORD PTR tv65[ebp], 1
$LN4@max_size@19:
  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@VIMixerLineSrc@@@@@std@@QBEIXZ ENDP ; std::allocator<SmartPtr<IMixerLineSrc> >::max_size
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?deallocate@?$allocator@V?$SmartPtr@VIMixer@@@@@std@@QAEXPAV?$SmartPtr@VIMixer@@@@I@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Ptr$ = 8						; size = 4
___formal$ = 12						; size = 4
?deallocate@?$allocator@V?$SmartPtr@VIMixer@@@@@std@@QAEXPAV?$SmartPtr@VIMixer@@@@I@Z PROC ; std::allocator<SmartPtr<IMixer> >::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@VIMixer@@@@@std@@QAEXPAV?$SmartPtr@VIMixer@@@@I@Z ENDP ; std::allocator<SmartPtr<IMixer> >::deallocate
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$allocator@V?$SmartPtr@VIMixer@@@@@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___formal$ = 8						; size = 4
??0?$allocator@V?$SmartPtr@VIMixer@@@@@std@@QAE@ABV01@@Z PROC ; std::allocator<SmartPtr<IMixer> >::allocator<SmartPtr<IMixer> >, 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@VIMixer@@@@@std@@QAE@ABV01@@Z ENDP ; std::allocator<SmartPtr<IMixer> >::allocator<SmartPtr<IMixer> >
; 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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QBEIXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?max_size@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QBEIXZ PROC ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::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@VIMixer@@@@@std@@QBEIXZ ; std::allocator<SmartPtr<IMixer> >::max_size

; 732  : 		}

  00012	8b e5		 mov	 esp, ebp
  00014	5d		 pop	 ebp
  00015	c3		 ret	 0
?max_size@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QBEIXZ ENDP ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::max_size
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ?deallocate@?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@QAEXPAV?$SmartPtr@VIMixerLineDst@@@@I@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Ptr$ = 8						; size = 4
___formal$ = 12						; size = 4
?deallocate@?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@QAEXPAV?$SmartPtr@VIMixerLineDst@@@@I@Z PROC ; std::allocator<SmartPtr<IMixerLineDst> >::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@VIMixerLineDst@@@@@std@@QAEXPAV?$SmartPtr@VIMixerLineDst@@@@I@Z ENDP ; std::allocator<SmartPtr<IMixerLineDst> >::deallocate
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___formal$ = 8						; size = 4
??0?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@QAE@ABV01@@Z PROC ; std::allocator<SmartPtr<IMixerLineDst> >::allocator<SmartPtr<IMixerLineDst> >, 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@VIMixerLineDst@@@@@std@@QAE@ABV01@@Z ENDP ; std::allocator<SmartPtr<IMixerLineDst> >::allocator<SmartPtr<IMixerLineDst> >
; 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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QBEIXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?max_size@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QBEIXZ PROC ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::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@VIMixerLineDst@@@@@std@@QBEIXZ ; std::allocator<SmartPtr<IMixerLineDst> >::max_size

; 732  : 		}

  00012	8b e5		 mov	 esp, ebp
  00014	5d		 pop	 ebp
  00015	c3		 ret	 0
?max_size@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QBEIXZ ENDP ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::max_size
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ?deallocate@?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@QAEXPAV?$SmartPtr@VIMixerLineSrc@@@@I@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Ptr$ = 8						; size = 4
___formal$ = 12						; size = 4
?deallocate@?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@QAEXPAV?$SmartPtr@VIMixerLineSrc@@@@I@Z PROC ; std::allocator<SmartPtr<IMixerLineSrc> >::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@VIMixerLineSrc@@@@@std@@QAEXPAV?$SmartPtr@VIMixerLineSrc@@@@I@Z ENDP ; std::allocator<SmartPtr<IMixerLineSrc> >::deallocate
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___formal$ = 8						; size = 4
??0?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@QAE@ABV01@@Z PROC ; std::allocator<SmartPtr<IMixerLineSrc> >::allocator<SmartPtr<IMixerLineSrc> >, 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@VIMixerLineSrc@@@@@std@@QAE@ABV01@@Z ENDP ; std::allocator<SmartPtr<IMixerLineSrc> >::allocator<SmartPtr<IMixerLineSrc> >
; 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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QBEIXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?max_size@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QBEIXZ PROC ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::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@VIMixerLineSrc@@@@@std@@QBEIXZ ; std::allocator<SmartPtr<IMixerLineSrc> >::max_size

; 732  : 		}

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

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

; 267  :         }
; 268  :     }

  00023	8b e5		 mov	 esp, ebp
  00025	5d		 pop	 ebp
  00026	c2 04 00	 ret	 4
?acquire@?$SmartPtr@VIMixer@@@@AAEXPAUCounter@@@Z ENDP	; SmartPtr<IMixer>::acquire
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Clear@?$SmartPtr@VIMixer@@@@QAEXXZ
_TEXT	SEGMENT
tv84 = -20						; size = 4
_this$ = -16						; size = 4
$T295062 = -12						; size = 4
$T295061 = -8						; size = 4
$T295060 = -4						; size = 4
?Clear@?$SmartPtr@VIMixer@@@@QAEXXZ PROC		; SmartPtr<IMixer>::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@57

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

; 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 $T295060[ebp], eax
  00039	8b 4d fc	 mov	 ecx, DWORD PTR $T295060[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 $T295062[ebp], eax
  0004d	8b 4d f4	 mov	 ecx, DWORD PTR $T295062[ebp]
  00050	89 4d f8	 mov	 DWORD PTR $T295061[ebp], ecx
  00053	83 7d f8 00	 cmp	 DWORD PTR $T295061[ebp], 0
  00057	74 13		 je	 SHORT $LN5@Clear@57
  00059	6a 01		 push	 1
  0005b	8b 55 f8	 mov	 edx, DWORD PTR $T295061[ebp]
  0005e	8b 02		 mov	 eax, DWORD PTR [edx]
  00060	8b 4d f8	 mov	 ecx, DWORD PTR $T295061[ebp]
  00063	8b 10		 mov	 edx, DWORD PTR [eax]
  00065	ff d2		 call	 edx
  00067	89 45 ec	 mov	 DWORD PTR tv84[ebp], eax
  0006a	eb 07		 jmp	 SHORT $LN2@Clear@57
$LN5@Clear@57:
  0006c	c7 45 ec 00 00
	00 00		 mov	 DWORD PTR tv84[ebp], 0
$LN2@Clear@57:

; 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@VIMixer@@@@QAEXXZ ENDP		; SmartPtr<IMixer>::Clear
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?acquire@?$SmartPtr@VIMixerLineDst@@@@AAEXPAUCounter@@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_c$ = 8							; size = 4
?acquire@?$SmartPtr@VIMixerLineDst@@@@AAEXPAUCounter@@@Z PROC ; SmartPtr<IMixerLineDst>::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@58

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

; 267  :         }
; 268  :     }

  00023	8b e5		 mov	 esp, ebp
  00025	5d		 pop	 ebp
  00026	c2 04 00	 ret	 4
?acquire@?$SmartPtr@VIMixerLineDst@@@@AAEXPAUCounter@@@Z ENDP ; SmartPtr<IMixerLineDst>::acquire
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Clear@?$SmartPtr@VIMixerLineDst@@@@QAEXXZ
_TEXT	SEGMENT
tv84 = -20						; size = 4
_this$ = -16						; size = 4
$T295071 = -12						; size = 4
$T295070 = -8						; size = 4
$T295069 = -4						; size = 4
?Clear@?$SmartPtr@VIMixerLineDst@@@@QAEXXZ PROC		; SmartPtr<IMixerLineDst>::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@58

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

; 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 $T295069[ebp], eax
  00039	8b 4d fc	 mov	 ecx, DWORD PTR $T295069[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 $T295071[ebp], eax
  0004d	8b 4d f4	 mov	 ecx, DWORD PTR $T295071[ebp]
  00050	89 4d f8	 mov	 DWORD PTR $T295070[ebp], ecx
  00053	83 7d f8 00	 cmp	 DWORD PTR $T295070[ebp], 0
  00057	74 13		 je	 SHORT $LN5@Clear@58
  00059	6a 01		 push	 1
  0005b	8b 55 f8	 mov	 edx, DWORD PTR $T295070[ebp]
  0005e	8b 02		 mov	 eax, DWORD PTR [edx]
  00060	8b 4d f8	 mov	 ecx, DWORD PTR $T295070[ebp]
  00063	8b 10		 mov	 edx, DWORD PTR [eax]
  00065	ff d2		 call	 edx
  00067	89 45 ec	 mov	 DWORD PTR tv84[ebp], eax
  0006a	eb 07		 jmp	 SHORT $LN2@Clear@58
$LN5@Clear@58:
  0006c	c7 45 ec 00 00
	00 00		 mov	 DWORD PTR tv84[ebp], 0
$LN2@Clear@58:

; 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@VIMixerLineDst@@@@QAEXXZ ENDP		; SmartPtr<IMixerLineDst>::Clear
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?acquire@?$SmartPtr@VIMixerLineSrc@@@@AAEXPAUCounter@@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_c$ = 8							; size = 4
?acquire@?$SmartPtr@VIMixerLineSrc@@@@AAEXPAUCounter@@@Z PROC ; SmartPtr<IMixerLineSrc>::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@59

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

; 267  :         }
; 268  :     }

  00023	8b e5		 mov	 esp, ebp
  00025	5d		 pop	 ebp
  00026	c2 04 00	 ret	 4
?acquire@?$SmartPtr@VIMixerLineSrc@@@@AAEXPAUCounter@@@Z ENDP ; SmartPtr<IMixerLineSrc>::acquire
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Clear@?$SmartPtr@VIMixerLineSrc@@@@QAEXXZ
_TEXT	SEGMENT
tv84 = -20						; size = 4
_this$ = -16						; size = 4
$T295080 = -12						; size = 4
$T295079 = -8						; size = 4
$T295078 = -4						; size = 4
?Clear@?$SmartPtr@VIMixerLineSrc@@@@QAEXXZ PROC		; SmartPtr<IMixerLineSrc>::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@59

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

; 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 $T295078[ebp], eax
  00039	8b 4d fc	 mov	 ecx, DWORD PTR $T295078[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 $T295080[ebp], eax
  0004d	8b 4d f4	 mov	 ecx, DWORD PTR $T295080[ebp]
  00050	89 4d f8	 mov	 DWORD PTR $T295079[ebp], ecx
  00053	83 7d f8 00	 cmp	 DWORD PTR $T295079[ebp], 0
  00057	74 13		 je	 SHORT $LN5@Clear@59
  00059	6a 01		 push	 1
  0005b	8b 55 f8	 mov	 edx, DWORD PTR $T295079[ebp]
  0005e	8b 02		 mov	 eax, DWORD PTR [edx]
  00060	8b 4d f8	 mov	 ecx, DWORD PTR $T295079[ebp]
  00063	8b 10		 mov	 edx, DWORD PTR [eax]
  00065	ff d2		 call	 edx
  00067	89 45 ec	 mov	 DWORD PTR tv84[ebp], eax
  0006a	eb 07		 jmp	 SHORT $LN2@Clear@59
$LN5@Clear@59:
  0006c	c7 45 ec 00 00
	00 00		 mov	 DWORD PTR tv84[ebp], 0
$LN2@Clear@59:

; 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@VIMixerLineSrc@@@@QAEXXZ ENDP		; SmartPtr<IMixerLineSrc>::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@VIMixer@@@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??0?$allocator@V?$SmartPtr@VIMixer@@@@@std@@QAE@XZ PROC	; std::allocator<SmartPtr<IMixer> >::allocator<SmartPtr<IMixer> >, 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@VIMixer@@@@@std@@QAE@XZ ENDP	; std::allocator<SmartPtr<IMixer> >::allocator<SmartPtr<IMixer> >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
_TEXT	ENDS
;	COMDAT ?capacity@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QBEIXZ
_TEXT	SEGMENT
tv70 = -8						; size = 4
_this$ = -4						; size = 4
?capacity@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QBEIXZ PROC ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::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@18
  00012	c7 45 f8 00 00
	00 00		 mov	 DWORD PTR tv70[ebp], 0
  00019	eb 12		 jmp	 SHORT $LN4@capacity@18
$LN3@capacity@18:
  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@18:
  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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QBEIXZ ENDP ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::capacity
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ??0?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??0?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@QAE@XZ PROC ; std::allocator<SmartPtr<IMixerLineDst> >::allocator<SmartPtr<IMixerLineDst> >, 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@VIMixerLineDst@@@@@std@@QAE@XZ ENDP ; std::allocator<SmartPtr<IMixerLineDst> >::allocator<SmartPtr<IMixerLineDst> >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
_TEXT	ENDS
;	COMDAT ?capacity@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QBEIXZ
_TEXT	SEGMENT
tv70 = -8						; size = 4
_this$ = -4						; size = 4
?capacity@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QBEIXZ PROC ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::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@19
  00012	c7 45 f8 00 00
	00 00		 mov	 DWORD PTR tv70[ebp], 0
  00019	eb 12		 jmp	 SHORT $LN4@capacity@19
$LN3@capacity@19:
  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@19:
  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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QBEIXZ ENDP ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::capacity
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ??0?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??0?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@QAE@XZ PROC ; std::allocator<SmartPtr<IMixerLineSrc> >::allocator<SmartPtr<IMixerLineSrc> >, 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@VIMixerLineSrc@@@@@std@@QAE@XZ ENDP ; std::allocator<SmartPtr<IMixerLineSrc> >::allocator<SmartPtr<IMixerLineSrc> >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
_TEXT	ENDS
;	COMDAT ?capacity@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QBEIXZ
_TEXT	SEGMENT
tv70 = -8						; size = 4
_this$ = -4						; size = 4
?capacity@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QBEIXZ PROC ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::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@20
  00012	c7 45 f8 00 00
	00 00		 mov	 DWORD PTR tv70[ebp], 0
  00019	eb 12		 jmp	 SHORT $LN4@capacity@20
$LN3@capacity@20:
  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@20:
  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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QBEIXZ ENDP ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::capacity
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\smartptr.h
_TEXT	ENDS
;	COMDAT ??1?$SmartPtr@VIMixer@@@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??1?$SmartPtr@VIMixer@@@@QAE@XZ PROC			; SmartPtr<IMixer>::~SmartPtr<IMixer>, 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@VIMixer@@@@QAEXXZ ; SmartPtr<IMixer>::Clear

; 107  :     }

  0000f	8b e5		 mov	 esp, ebp
  00011	5d		 pop	 ebp
  00012	c3		 ret	 0
??1?$SmartPtr@VIMixer@@@@QAE@XZ ENDP			; SmartPtr<IMixer>::~SmartPtr<IMixer>
; Function compile flags: /Odtp
; File c:\tools\winddk\3790.1830\inc\atl30\atlbase.h
_TEXT	ENDS
;	COMDAT ??C?$CComPtr@UIMMDeviceCollection@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIMMDeviceCollection@@@1@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??C?$CComPtr@UIMMDeviceCollection@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIMMDeviceCollection@@@1@XZ PROC ; ATL::CComPtr<IMMDeviceCollection>::operator->, COMDAT
; _this$ = ecx

; 715  :         {

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

; 716  :                 ATLASSERT(p!=NULL);
; 717  :                 return (_NoAddRefReleaseOnCComPtr<T>*)p;

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b 00		 mov	 eax, DWORD PTR [eax]

; 718  :         }

  0000c	8b e5		 mov	 esp, ebp
  0000e	5d		 pop	 ebp
  0000f	c3		 ret	 0
??C?$CComPtr@UIMMDeviceCollection@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIMMDeviceCollection@@@1@XZ ENDP ; ATL::CComPtr<IMMDeviceCollection>::operator->
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??I?$CComPtr@UIMMDeviceCollection@@@ATL@@QAEPAPAUIMMDeviceCollection@@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??I?$CComPtr@UIMMDeviceCollection@@@ATL@@QAEPAPAUIMMDeviceCollection@@XZ PROC ; ATL::CComPtr<IMMDeviceCollection>::operator&, COMDAT
; _this$ = ecx

; 710  :         {

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

; 711  :                 ATLASSERT(p==NULL);
; 712  :                 return &p;

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

; 713  :         }

  0000a	8b e5		 mov	 esp, ebp
  0000c	5d		 pop	 ebp
  0000d	c3		 ret	 0
??I?$CComPtr@UIMMDeviceCollection@@@ATL@@QAEPAPAUIMMDeviceCollection@@XZ ENDP ; ATL::CComPtr<IMMDeviceCollection>::operator&
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??1?$CComPtr@UIMMDeviceCollection@@@ATL@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??1?$CComPtr@UIMMDeviceCollection@@@ATL@@QAE@XZ PROC	; ATL::CComPtr<IMMDeviceCollection>::~CComPtr<IMMDeviceCollection>, COMDAT
; _this$ = ecx

; 685  :         {

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

; 686  :                 if (p)

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	83 38 00	 cmp	 DWORD PTR [eax], 0
  0000d	74 12		 je	 SHORT $LN2@CComPtr@6

; 687  :                         p->Release();

  0000f	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00012	8b 11		 mov	 edx, DWORD PTR [ecx]
  00014	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00017	8b 08		 mov	 ecx, DWORD PTR [eax]
  00019	8b 12		 mov	 edx, DWORD PTR [edx]
  0001b	51		 push	 ecx
  0001c	8b 42 08	 mov	 eax, DWORD PTR [edx+8]
  0001f	ff d0		 call	 eax
$LN2@CComPtr@6:

; 688  :         }

  00021	8b e5		 mov	 esp, ebp
  00023	5d		 pop	 ebp
  00024	c3		 ret	 0
??1?$CComPtr@UIMMDeviceCollection@@@ATL@@QAE@XZ ENDP	; ATL::CComPtr<IMMDeviceCollection>::~CComPtr<IMMDeviceCollection>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$CComPtr@UIMMDeviceCollection@@@ATL@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??0?$CComPtr@UIMMDeviceCollection@@@ATL@@QAE@XZ PROC	; ATL::CComPtr<IMMDeviceCollection>::CComPtr<IMMDeviceCollection>, COMDAT
; _this$ = ecx

; 670  :         CComPtr()

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

; 671  :         {
; 672  :                 p=NULL;

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], 0

; 673  :         }

  00010	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00013	8b e5		 mov	 esp, ebp
  00015	5d		 pop	 ebp
  00016	c3		 ret	 0
??0?$CComPtr@UIMMDeviceCollection@@@ATL@@QAE@XZ ENDP	; ATL::CComPtr<IMMDeviceCollection>::CComPtr<IMMDeviceCollection>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??C?$CComPtr@UIMMDeviceEnumerator@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIMMDeviceEnumerator@@@1@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??C?$CComPtr@UIMMDeviceEnumerator@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIMMDeviceEnumerator@@@1@XZ PROC ; ATL::CComPtr<IMMDeviceEnumerator>::operator->, COMDAT
; _this$ = ecx

; 715  :         {

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

; 716  :                 ATLASSERT(p!=NULL);
; 717  :                 return (_NoAddRefReleaseOnCComPtr<T>*)p;

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b 00		 mov	 eax, DWORD PTR [eax]

; 718  :         }

  0000c	8b e5		 mov	 esp, ebp
  0000e	5d		 pop	 ebp
  0000f	c3		 ret	 0
??C?$CComPtr@UIMMDeviceEnumerator@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIMMDeviceEnumerator@@@1@XZ ENDP ; ATL::CComPtr<IMMDeviceEnumerator>::operator->
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??1?$CComPtr@UIMMDeviceEnumerator@@@ATL@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??1?$CComPtr@UIMMDeviceEnumerator@@@ATL@@QAE@XZ PROC	; ATL::CComPtr<IMMDeviceEnumerator>::~CComPtr<IMMDeviceEnumerator>, COMDAT
; _this$ = ecx

; 685  :         {

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

; 686  :                 if (p)

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	83 38 00	 cmp	 DWORD PTR [eax], 0
  0000d	74 12		 je	 SHORT $LN2@CComPtr@7

; 687  :                         p->Release();

  0000f	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00012	8b 11		 mov	 edx, DWORD PTR [ecx]
  00014	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00017	8b 08		 mov	 ecx, DWORD PTR [eax]
  00019	8b 12		 mov	 edx, DWORD PTR [edx]
  0001b	51		 push	 ecx
  0001c	8b 42 08	 mov	 eax, DWORD PTR [edx+8]
  0001f	ff d0		 call	 eax
$LN2@CComPtr@7:

; 688  :         }

  00021	8b e5		 mov	 esp, ebp
  00023	5d		 pop	 ebp
  00024	c3		 ret	 0
??1?$CComPtr@UIMMDeviceEnumerator@@@ATL@@QAE@XZ ENDP	; ATL::CComPtr<IMMDeviceEnumerator>::~CComPtr<IMMDeviceEnumerator>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$CComPtr@UIMMDeviceEnumerator@@@ATL@@QAE@ABV01@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_lp$ = 8						; size = 4
??0?$CComPtr@UIMMDeviceEnumerator@@@ATL@@QAE@ABV01@@Z PROC ; ATL::CComPtr<IMMDeviceEnumerator>::CComPtr<IMMDeviceEnumerator>, COMDAT
; _this$ = ecx

; 679  :         CComPtr(const CComPtr<T>& lp)

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

; 680  :         {
; 681  :                 if ((p = lp.p) != NULL)

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b 4d 08	 mov	 ecx, DWORD PTR _lp$[ebp]
  0000d	8b 11		 mov	 edx, DWORD PTR [ecx]
  0000f	89 10		 mov	 DWORD PTR [eax], edx
  00011	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00014	83 38 00	 cmp	 DWORD PTR [eax], 0
  00017	74 12		 je	 SHORT $LN2@CComPtr@8

; 682  :                         p->AddRef();

  00019	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0001c	8b 11		 mov	 edx, DWORD PTR [ecx]
  0001e	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00021	8b 08		 mov	 ecx, DWORD PTR [eax]
  00023	8b 12		 mov	 edx, DWORD PTR [edx]
  00025	51		 push	 ecx
  00026	8b 42 04	 mov	 eax, DWORD PTR [edx+4]
  00029	ff d0		 call	 eax
$LN2@CComPtr@8:

; 683  :         }

  0002b	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0002e	8b e5		 mov	 esp, ebp
  00030	5d		 pop	 ebp
  00031	c2 04 00	 ret	 4
??0?$CComPtr@UIMMDeviceEnumerator@@@ATL@@QAE@ABV01@@Z ENDP ; ATL::CComPtr<IMMDeviceEnumerator>::CComPtr<IMMDeviceEnumerator>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$CComPtr@UIMMDeviceEnumerator@@@ATL@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??0?$CComPtr@UIMMDeviceEnumerator@@@ATL@@QAE@XZ PROC	; ATL::CComPtr<IMMDeviceEnumerator>::CComPtr<IMMDeviceEnumerator>, COMDAT
; _this$ = ecx

; 670  :         CComPtr()

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

; 671  :         {
; 672  :                 p=NULL;

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], 0

; 673  :         }

  00010	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00013	8b e5		 mov	 esp, ebp
  00015	5d		 pop	 ebp
  00016	c3		 ret	 0
??0?$CComPtr@UIMMDeviceEnumerator@@@ATL@@QAE@XZ ENDP	; ATL::CComPtr<IMMDeviceEnumerator>::CComPtr<IMMDeviceEnumerator>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??C?$CComPtr@UIAudioEndpointVolume@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIAudioEndpointVolume@@@1@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??C?$CComPtr@UIAudioEndpointVolume@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIAudioEndpointVolume@@@1@XZ PROC ; ATL::CComPtr<IAudioEndpointVolume>::operator->, COMDAT
; _this$ = ecx

; 715  :         {

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

; 716  :                 ATLASSERT(p!=NULL);
; 717  :                 return (_NoAddRefReleaseOnCComPtr<T>*)p;

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b 00		 mov	 eax, DWORD PTR [eax]

; 718  :         }

  0000c	8b e5		 mov	 esp, ebp
  0000e	5d		 pop	 ebp
  0000f	c3		 ret	 0
??C?$CComPtr@UIAudioEndpointVolume@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIAudioEndpointVolume@@@1@XZ ENDP ; ATL::CComPtr<IAudioEndpointVolume>::operator->
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??I?$CComPtr@UIAudioEndpointVolume@@@ATL@@QAEPAPAUIAudioEndpointVolume@@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??I?$CComPtr@UIAudioEndpointVolume@@@ATL@@QAEPAPAUIAudioEndpointVolume@@XZ PROC ; ATL::CComPtr<IAudioEndpointVolume>::operator&, COMDAT
; _this$ = ecx

; 710  :         {

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

; 711  :                 ATLASSERT(p==NULL);
; 712  :                 return &p;

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

; 713  :         }

  0000a	8b e5		 mov	 esp, ebp
  0000c	5d		 pop	 ebp
  0000d	c3		 ret	 0
??I?$CComPtr@UIAudioEndpointVolume@@@ATL@@QAEPAPAUIAudioEndpointVolume@@XZ ENDP ; ATL::CComPtr<IAudioEndpointVolume>::operator&
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??1?$CComPtr@UIAudioEndpointVolume@@@ATL@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??1?$CComPtr@UIAudioEndpointVolume@@@ATL@@QAE@XZ PROC	; ATL::CComPtr<IAudioEndpointVolume>::~CComPtr<IAudioEndpointVolume>, COMDAT
; _this$ = ecx

; 685  :         {

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

; 686  :                 if (p)

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	83 38 00	 cmp	 DWORD PTR [eax], 0
  0000d	74 12		 je	 SHORT $LN2@CComPtr@9

; 687  :                         p->Release();

  0000f	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00012	8b 11		 mov	 edx, DWORD PTR [ecx]
  00014	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00017	8b 08		 mov	 ecx, DWORD PTR [eax]
  00019	8b 12		 mov	 edx, DWORD PTR [edx]
  0001b	51		 push	 ecx
  0001c	8b 42 08	 mov	 eax, DWORD PTR [edx+8]
  0001f	ff d0		 call	 eax
$LN2@CComPtr@9:

; 688  :         }

  00021	8b e5		 mov	 esp, ebp
  00023	5d		 pop	 ebp
  00024	c3		 ret	 0
??1?$CComPtr@UIAudioEndpointVolume@@@ATL@@QAE@XZ ENDP	; ATL::CComPtr<IAudioEndpointVolume>::~CComPtr<IAudioEndpointVolume>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$CComPtr@UIAudioEndpointVolume@@@ATL@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??0?$CComPtr@UIAudioEndpointVolume@@@ATL@@QAE@XZ PROC	; ATL::CComPtr<IAudioEndpointVolume>::CComPtr<IAudioEndpointVolume>, COMDAT
; _this$ = ecx

; 670  :         CComPtr()

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

; 671  :         {
; 672  :                 p=NULL;

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], 0

; 673  :         }

  00010	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00013	8b e5		 mov	 esp, ebp
  00015	5d		 pop	 ebp
  00016	c3		 ret	 0
??0?$CComPtr@UIAudioEndpointVolume@@@ATL@@QAE@XZ ENDP	; ATL::CComPtr<IAudioEndpointVolume>::CComPtr<IAudioEndpointVolume>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??C?$CComPtr@UIMMDevice@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIMMDevice@@@1@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??C?$CComPtr@UIMMDevice@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIMMDevice@@@1@XZ PROC ; ATL::CComPtr<IMMDevice>::operator->, COMDAT
; _this$ = ecx

; 715  :         {

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

; 716  :                 ATLASSERT(p!=NULL);
; 717  :                 return (_NoAddRefReleaseOnCComPtr<T>*)p;

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b 00		 mov	 eax, DWORD PTR [eax]

; 718  :         }

  0000c	8b e5		 mov	 esp, ebp
  0000e	5d		 pop	 ebp
  0000f	c3		 ret	 0
??C?$CComPtr@UIMMDevice@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIMMDevice@@@1@XZ ENDP ; ATL::CComPtr<IMMDevice>::operator->
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??I?$CComPtr@UIMMDevice@@@ATL@@QAEPAPAUIMMDevice@@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??I?$CComPtr@UIMMDevice@@@ATL@@QAEPAPAUIMMDevice@@XZ PROC ; ATL::CComPtr<IMMDevice>::operator&, COMDAT
; _this$ = ecx

; 710  :         {

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

; 711  :                 ATLASSERT(p==NULL);
; 712  :                 return &p;

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

; 713  :         }

  0000a	8b e5		 mov	 esp, ebp
  0000c	5d		 pop	 ebp
  0000d	c3		 ret	 0
??I?$CComPtr@UIMMDevice@@@ATL@@QAEPAPAUIMMDevice@@XZ ENDP ; ATL::CComPtr<IMMDevice>::operator&
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Release@?$CComPtr@UIMMDevice@@@ATL@@QAEXXZ
_TEXT	SEGMENT
_this$ = -8						; size = 4
_pTemp$ = -4						; size = 4
?Release@?$CComPtr@UIMMDevice@@@ATL@@QAEXXZ PROC	; ATL::CComPtr<IMMDevice>::Release, COMDAT
; _this$ = ecx

; 690  :         {

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

; 691  :                 IUnknown* pTemp = p;

  00009	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	8b 08		 mov	 ecx, DWORD PTR [eax]
  0000e	89 4d fc	 mov	 DWORD PTR _pTemp$[ebp], ecx

; 692  :                 if (pTemp)

  00011	83 7d fc 00	 cmp	 DWORD PTR _pTemp$[ebp], 0
  00015	74 17		 je	 SHORT $LN2@Release@4

; 693  :                 {
; 694  :                         p = NULL;

  00017	8b 55 f8	 mov	 edx, DWORD PTR _this$[ebp]
  0001a	c7 02 00 00 00
	00		 mov	 DWORD PTR [edx], 0

; 695  :                         pTemp->Release();

  00020	8b 45 fc	 mov	 eax, DWORD PTR _pTemp$[ebp]
  00023	8b 08		 mov	 ecx, DWORD PTR [eax]
  00025	8b 55 fc	 mov	 edx, DWORD PTR _pTemp$[ebp]
  00028	52		 push	 edx
  00029	8b 41 08	 mov	 eax, DWORD PTR [ecx+8]
  0002c	ff d0		 call	 eax
$LN2@Release@4:

; 696  :                 }
; 697  :         }

  0002e	8b e5		 mov	 esp, ebp
  00030	5d		 pop	 ebp
  00031	c3		 ret	 0
?Release@?$CComPtr@UIMMDevice@@@ATL@@QAEXXZ ENDP	; ATL::CComPtr<IMMDevice>::Release
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??1?$CComPtr@UIMMDevice@@@ATL@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??1?$CComPtr@UIMMDevice@@@ATL@@QAE@XZ PROC		; ATL::CComPtr<IMMDevice>::~CComPtr<IMMDevice>, COMDAT
; _this$ = ecx

; 685  :         {

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

; 686  :                 if (p)

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	83 38 00	 cmp	 DWORD PTR [eax], 0
  0000d	74 12		 je	 SHORT $LN2@CComPtr@10

; 687  :                         p->Release();

  0000f	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00012	8b 11		 mov	 edx, DWORD PTR [ecx]
  00014	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00017	8b 08		 mov	 ecx, DWORD PTR [eax]
  00019	8b 12		 mov	 edx, DWORD PTR [edx]
  0001b	51		 push	 ecx
  0001c	8b 42 08	 mov	 eax, DWORD PTR [edx+8]
  0001f	ff d0		 call	 eax
$LN2@CComPtr@10:

; 688  :         }

  00021	8b e5		 mov	 esp, ebp
  00023	5d		 pop	 ebp
  00024	c3		 ret	 0
??1?$CComPtr@UIMMDevice@@@ATL@@QAE@XZ ENDP		; ATL::CComPtr<IMMDevice>::~CComPtr<IMMDevice>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$CComPtr@UIMMDevice@@@ATL@@QAE@ABV01@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_lp$ = 8						; size = 4
??0?$CComPtr@UIMMDevice@@@ATL@@QAE@ABV01@@Z PROC	; ATL::CComPtr<IMMDevice>::CComPtr<IMMDevice>, COMDAT
; _this$ = ecx

; 679  :         CComPtr(const CComPtr<T>& lp)

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

; 680  :         {
; 681  :                 if ((p = lp.p) != NULL)

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b 4d 08	 mov	 ecx, DWORD PTR _lp$[ebp]
  0000d	8b 11		 mov	 edx, DWORD PTR [ecx]
  0000f	89 10		 mov	 DWORD PTR [eax], edx
  00011	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00014	83 38 00	 cmp	 DWORD PTR [eax], 0
  00017	74 12		 je	 SHORT $LN2@CComPtr@11

; 682  :                         p->AddRef();

  00019	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0001c	8b 11		 mov	 edx, DWORD PTR [ecx]
  0001e	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00021	8b 08		 mov	 ecx, DWORD PTR [eax]
  00023	8b 12		 mov	 edx, DWORD PTR [edx]
  00025	51		 push	 ecx
  00026	8b 42 04	 mov	 eax, DWORD PTR [edx+4]
  00029	ff d0		 call	 eax
$LN2@CComPtr@11:

; 683  :         }

  0002b	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0002e	8b e5		 mov	 esp, ebp
  00030	5d		 pop	 ebp
  00031	c2 04 00	 ret	 4
??0?$CComPtr@UIMMDevice@@@ATL@@QAE@ABV01@@Z ENDP	; ATL::CComPtr<IMMDevice>::CComPtr<IMMDevice>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$CComPtr@UIMMDevice@@@ATL@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??0?$CComPtr@UIMMDevice@@@ATL@@QAE@XZ PROC		; ATL::CComPtr<IMMDevice>::CComPtr<IMMDevice>, COMDAT
; _this$ = ecx

; 670  :         CComPtr()

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

; 671  :         {
; 672  :                 p=NULL;

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], 0

; 673  :         }

  00010	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00013	8b e5		 mov	 esp, ebp
  00015	5d		 pop	 ebp
  00016	c3		 ret	 0
??0?$CComPtr@UIMMDevice@@@ATL@@QAE@XZ ENDP		; ATL::CComPtr<IMMDevice>::CComPtr<IMMDevice>
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\smartptr.h
_TEXT	ENDS
;	COMDAT ??1?$SmartPtr@VIMixerLineDst@@@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??1?$SmartPtr@VIMixerLineDst@@@@QAE@XZ PROC		; SmartPtr<IMixerLineDst>::~SmartPtr<IMixerLineDst>, 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@VIMixerLineDst@@@@QAEXXZ ; SmartPtr<IMixerLineDst>::Clear

; 107  :     }

  0000f	8b e5		 mov	 esp, ebp
  00011	5d		 pop	 ebp
  00012	c3		 ret	 0
??1?$SmartPtr@VIMixerLineDst@@@@QAE@XZ ENDP		; SmartPtr<IMixerLineDst>::~SmartPtr<IMixerLineDst>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??1?$SmartPtr@VIMixerLineSrc@@@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??1?$SmartPtr@VIMixerLineSrc@@@@QAE@XZ PROC		; SmartPtr<IMixerLineSrc>::~SmartPtr<IMixerLineSrc>, 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@VIMixerLineSrc@@@@QAEXXZ ; SmartPtr<IMixerLineSrc>::Clear

; 107  :     }

  0000f	8b e5		 mov	 esp, ebp
  00011	5d		 pop	 ebp
  00012	c3		 ret	 0
??1?$SmartPtr@VIMixerLineSrc@@@@QAE@XZ ENDP		; SmartPtr<IMixerLineSrc>::~SmartPtr<IMixerLineSrc>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
_TEXT	ENDS
;	COMDAT ?size@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QBEIXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?size@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QBEIXZ PROC ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QBEIXZ ENDP ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::size
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?size@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QBEIXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?size@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QBEIXZ PROC ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QBEIXZ ENDP ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::size
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?size@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QBEIXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?size@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QBEIXZ PROC ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QBEIXZ ENDP ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::size
_TEXT	ENDS
PUBLIC	?GetMixerCount@CMixerList@@QAEJXZ		; CMixerList::GetMixerCount
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\mixerdevclasses.cpp
;	COMDAT ?GetMixerCount@CMixerList@@QAEJXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetMixerCount@CMixerList@@QAEJXZ PROC			; CMixerList::GetMixerCount, COMDAT
; _this$ = ecx

; 664  : {

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

; 665  :     return m_Mixers.size();

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

; 666  : }

  0000f	8b e5		 mov	 esp, ebp
  00011	5d		 pop	 ebp
  00012	c3		 ret	 0
?GetMixerCount@CMixerList@@QAEJXZ ENDP			; CMixerList::GetMixerCount
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?RestoreState@CVistaMixer@@UAEXXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?RestoreState@CVistaMixer@@UAEXXZ PROC			; CVistaMixer::RestoreState, COMDAT
; _this$ = ecx

; 603  :     {

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

; 604  :         m_DestinationLine.RestoreState();

  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	83 c1 08	 add	 ecx, 8
  0000d	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00010	8b 50 08	 mov	 edx, DWORD PTR [eax+8]
  00013	8b 42 14	 mov	 eax, DWORD PTR [edx+20]
  00016	ff d0		 call	 eax

; 605  :     }

  00018	8b e5		 mov	 esp, ebp
  0001a	5d		 pop	 ebp
  0001b	c3		 ret	 0
?RestoreState@CVistaMixer@@UAEXXZ ENDP			; CVistaMixer::RestoreState
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?StoreState@CVistaMixer@@UAEXXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?StoreState@CVistaMixer@@UAEXXZ PROC			; CVistaMixer::StoreState, COMDAT
; _this$ = ecx

; 598  :     {

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

; 599  :         m_DestinationLine.StoreState();

  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	83 c1 08	 add	 ecx, 8
  0000d	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00010	8b 50 08	 mov	 edx, DWORD PTR [eax+8]
  00013	8b 42 10	 mov	 eax, DWORD PTR [edx+16]
  00016	ff d0		 call	 eax

; 600  :     }

  00018	8b e5		 mov	 esp, ebp
  0001a	5d		 pop	 ebp
  0001b	c3		 ret	 0
?StoreState@CVistaMixer@@UAEXXZ ENDP			; CVistaMixer::StoreState
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?GetDestinationLine@CVistaMixer@@UAEPAVIMixerLineDst@@K@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_nIndex$ = 8						; size = 4
?GetDestinationLine@CVistaMixer@@UAEPAVIMixerLineDst@@K@Z PROC ; CVistaMixer::GetDestinationLine, COMDAT
; _this$ = ecx

; 593  :     {

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

; 594  :         return &m_DestinationLine;

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	83 c0 08	 add	 eax, 8

; 595  :     }

  0000d	8b e5		 mov	 esp, ebp
  0000f	5d		 pop	 ebp
  00010	c2 04 00	 ret	 4
?GetDestinationLine@CVistaMixer@@UAEPAVIMixerLineDst@@K@Z ENDP ; CVistaMixer::GetDestinationLine
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?GetDestinationCount@CVistaMixer@@UAEJXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetDestinationCount@CVistaMixer@@UAEJXZ PROC		; CVistaMixer::GetDestinationCount, COMDAT
; _this$ = ecx

; 588  :     {

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

; 589  :         return 1;

  00007	b8 01 00 00 00	 mov	 eax, 1

; 590  :     }

  0000c	8b e5		 mov	 esp, ebp
  0000e	5d		 pop	 ebp
  0000f	c3		 ret	 0
?GetDestinationCount@CVistaMixer@@UAEJXZ ENDP		; CVistaMixer::GetDestinationCount
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?GetIndex@CVistaMixer@@UAEKXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetIndex@CVistaMixer@@UAEKXZ PROC			; CVistaMixer::GetIndex, COMDAT
; _this$ = ecx

; 583  :     {

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

; 584  :         return m_nMixerIndex;

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

; 585  :     }

  0000d	8b e5		 mov	 esp, ebp
  0000f	5d		 pop	 ebp
  00010	c3		 ret	 0
?GetIndex@CVistaMixer@@UAEKXZ ENDP			; CVistaMixer::GetIndex
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?GetName@CVistaMixer@@UAEPB_WXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetName@CVistaMixer@@UAEPB_WXZ PROC			; CVistaMixer::GetName, COMDAT
; _this$ = ecx

; 579  :     {

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

; 580  :         return m_DestinationLine.GetName();

  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	83 c1 08	 add	 ecx, 8
  0000d	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00010	8b 50 08	 mov	 edx, DWORD PTR [eax+8]
  00013	8b 42 04	 mov	 eax, DWORD PTR [edx+4]
  00016	ff d0		 call	 eax

; 581  :     }

  00018	8b e5		 mov	 esp, ebp
  0001a	5d		 pop	 ebp
  0001b	c3		 ret	 0
?GetName@CVistaMixer@@UAEPB_WXZ ENDP			; CVistaMixer::GetName
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?IsTypicalRecordingLine@CVistaMixerLineDst@@UAEHXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?IsTypicalRecordingLine@CVistaMixerLineDst@@UAEHXZ PROC	; CVistaMixerLineDst::IsTypicalRecordingLine, COMDAT
; _this$ = ecx

; 548  :     {

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

; 549  :         return FALSE;

  00007	33 c0		 xor	 eax, eax

; 550  :     }

  00009	8b e5		 mov	 esp, ebp
  0000b	5d		 pop	 ebp
  0000c	c3		 ret	 0
?IsTypicalRecordingLine@CVistaMixerLineDst@@UAEHXZ ENDP	; CVistaMixerLineDst::IsTypicalRecordingLine
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?IsTypicalSpeakerLine@CVistaMixerLineDst@@UAEHXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?IsTypicalSpeakerLine@CVistaMixerLineDst@@UAEHXZ PROC	; CVistaMixerLineDst::IsTypicalSpeakerLine, COMDAT
; _this$ = ecx

; 543  :     {

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

; 544  :         return TRUE;

  00007	b8 01 00 00 00	 mov	 eax, 1

; 545  :     }

  0000c	8b e5		 mov	 esp, ebp
  0000e	5d		 pop	 ebp
  0000f	c3		 ret	 0
?IsTypicalSpeakerLine@CVistaMixerLineDst@@UAEHXZ ENDP	; CVistaMixerLineDst::IsTypicalSpeakerLine
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?GetSourceCount@CVistaMixerLineDst@@UAEJXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetSourceCount@CVistaMixerLineDst@@UAEJXZ PROC		; CVistaMixerLineDst::GetSourceCount, COMDAT
; _this$ = ecx

; 517  :     {

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

; 518  :         return m_SourceLines.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	 ?size@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::size

; 519  :     }

  00012	8b e5		 mov	 esp, ebp
  00014	5d		 pop	 ebp
  00015	c3		 ret	 0
?GetSourceCount@CVistaMixerLineDst@@UAEJXZ ENDP		; CVistaMixerLineDst::GetSourceCount
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?RestoreState@CVistaMixerLineSrc@@UAEXXZ
_TEXT	SEGMENT
tv86 = -12						; size = 4
tv72 = -8						; size = 4
_this$ = -4						; size = 4
?RestoreState@CVistaMixerLineSrc@@UAEXXZ PROC		; CVistaMixerLineSrc::RestoreState, COMDAT
; _this$ = ecx

; 456  :     {

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

; 457  :         m_AudioEndPointVolume->SetMasterVolumeLevelScalar(m_StoredVolume, NULL);

  00009	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000c	83 c1 04	 add	 ecx, 4
  0000f	e8 00 00 00 00	 call	 ??C?$CComPtr@UIAudioEndpointVolume@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIAudioEndpointVolume@@@1@XZ ; ATL::CComPtr<IAudioEndpointVolume>::operator->
  00014	89 45 f8	 mov	 DWORD PTR tv72[ebp], eax
  00017	6a 00		 push	 0
  00019	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0001c	51		 push	 ecx
  0001d	d9 40 08	 fld	 DWORD PTR [eax+8]
  00020	d9 1c 24	 fstp	 DWORD PTR [esp]
  00023	8b 4d f8	 mov	 ecx, DWORD PTR tv72[ebp]
  00026	51		 push	 ecx
  00027	8b 55 f8	 mov	 edx, DWORD PTR tv72[ebp]
  0002a	8b 02		 mov	 eax, DWORD PTR [edx]
  0002c	8b 48 1c	 mov	 ecx, DWORD PTR [eax+28]
  0002f	ff d1		 call	 ecx

; 458  :         m_AudioEndPointVolume->SetMute(m_StoredMute, NULL);

  00031	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00034	83 c1 04	 add	 ecx, 4
  00037	e8 00 00 00 00	 call	 ??C?$CComPtr@UIAudioEndpointVolume@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIAudioEndpointVolume@@@1@XZ ; ATL::CComPtr<IAudioEndpointVolume>::operator->
  0003c	89 45 f4	 mov	 DWORD PTR tv86[ebp], eax
  0003f	6a 00		 push	 0
  00041	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00044	8b 42 0c	 mov	 eax, DWORD PTR [edx+12]
  00047	50		 push	 eax
  00048	8b 4d f4	 mov	 ecx, DWORD PTR tv86[ebp]
  0004b	51		 push	 ecx
  0004c	8b 55 f4	 mov	 edx, DWORD PTR tv86[ebp]
  0004f	8b 02		 mov	 eax, DWORD PTR [edx]
  00051	8b 48 38	 mov	 ecx, DWORD PTR [eax+56]
  00054	ff d1		 call	 ecx

; 459  :     }

  00056	8b e5		 mov	 esp, ebp
  00058	5d		 pop	 ebp
  00059	c3		 ret	 0
?RestoreState@CVistaMixerLineSrc@@UAEXXZ ENDP		; CVistaMixerLineSrc::RestoreState
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?StoreState@CVistaMixerLineSrc@@UAEXXZ
_TEXT	SEGMENT
tv85 = -12						; size = 4
tv72 = -8						; size = 4
_this$ = -4						; size = 4
?StoreState@CVistaMixerLineSrc@@UAEXXZ PROC		; CVistaMixerLineSrc::StoreState, COMDAT
; _this$ = ecx

; 450  :     {

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

; 451  :         m_AudioEndPointVolume->GetMasterVolumeLevelScalar(&m_StoredVolume);

  00009	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000c	83 c1 04	 add	 ecx, 4
  0000f	e8 00 00 00 00	 call	 ??C?$CComPtr@UIAudioEndpointVolume@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIAudioEndpointVolume@@@1@XZ ; ATL::CComPtr<IAudioEndpointVolume>::operator->
  00014	89 45 f8	 mov	 DWORD PTR tv72[ebp], eax
  00017	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0001a	83 c0 08	 add	 eax, 8
  0001d	50		 push	 eax
  0001e	8b 4d f8	 mov	 ecx, DWORD PTR tv72[ebp]
  00021	51		 push	 ecx
  00022	8b 55 f8	 mov	 edx, DWORD PTR tv72[ebp]
  00025	8b 02		 mov	 eax, DWORD PTR [edx]
  00027	8b 48 24	 mov	 ecx, DWORD PTR [eax+36]
  0002a	ff d1		 call	 ecx

; 452  :         m_AudioEndPointVolume->GetMute(&m_StoredMute);

  0002c	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0002f	83 c1 04	 add	 ecx, 4
  00032	e8 00 00 00 00	 call	 ??C?$CComPtr@UIAudioEndpointVolume@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIAudioEndpointVolume@@@1@XZ ; ATL::CComPtr<IAudioEndpointVolume>::operator->
  00037	89 45 f4	 mov	 DWORD PTR tv85[ebp], eax
  0003a	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  0003d	83 c2 0c	 add	 edx, 12			; 0000000cH
  00040	52		 push	 edx
  00041	8b 45 f4	 mov	 eax, DWORD PTR tv85[ebp]
  00044	50		 push	 eax
  00045	8b 4d f4	 mov	 ecx, DWORD PTR tv85[ebp]
  00048	8b 11		 mov	 edx, DWORD PTR [ecx]
  0004a	8b 42 3c	 mov	 eax, DWORD PTR [edx+60]
  0004d	ff d0		 call	 eax

; 453  :     }

  0004f	8b e5		 mov	 esp, ebp
  00051	5d		 pop	 ebp
  00052	c3		 ret	 0
?StoreState@CVistaMixerLineSrc@@UAEXXZ ENDP		; CVistaMixerLineSrc::StoreState
_TEXT	ENDS
PUBLIC	__real@00000000
;	COMDAT __real@00000000
CONST	SEGMENT
__real@00000000 DD 000000000r			; 0
; Function compile flags: /Odtp
CONST	ENDS
;	COMDAT ?GetVolume@CVistaMixerLineSrc@@UAEHXZ
_TEXT	SEGMENT
tv72 = -12						; size = 4
_this$ = -8						; size = 4
_Volume$ = -4						; size = 4
?GetVolume@CVistaMixerLineSrc@@UAEHXZ PROC		; CVistaMixerLineSrc::GetVolume, COMDAT
; _this$ = ecx

; 443  :     {

  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

; 444  :         float Volume(0.0);

  00009	d9 ee		 fldz
  0000b	d9 5d fc	 fstp	 DWORD PTR _Volume$[ebp]

; 445  :         m_AudioEndPointVolume->GetMasterVolumeLevelScalar(&Volume);

  0000e	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00011	83 c1 04	 add	 ecx, 4
  00014	e8 00 00 00 00	 call	 ??C?$CComPtr@UIAudioEndpointVolume@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIAudioEndpointVolume@@@1@XZ ; ATL::CComPtr<IAudioEndpointVolume>::operator->
  00019	89 45 f4	 mov	 DWORD PTR tv72[ebp], eax
  0001c	8d 45 fc	 lea	 eax, DWORD PTR _Volume$[ebp]
  0001f	50		 push	 eax
  00020	8b 4d f4	 mov	 ecx, DWORD PTR tv72[ebp]
  00023	51		 push	 ecx
  00024	8b 55 f4	 mov	 edx, DWORD PTR tv72[ebp]
  00027	8b 02		 mov	 eax, DWORD PTR [edx]
  00029	8b 48 24	 mov	 ecx, DWORD PTR [eax+36]
  0002c	ff d1		 call	 ecx

; 446  :         return long(Volume * 100.0);

  0002e	d9 45 fc	 fld	 DWORD PTR _Volume$[ebp]
  00031	dc 0d 00 00 00
	00		 fmul	 QWORD PTR __real@4059000000000000
  00037	e8 00 00 00 00	 call	 __ftol2_sse

; 447  :     }

  0003c	8b e5		 mov	 esp, ebp
  0003e	5d		 pop	 ebp
  0003f	c3		 ret	 0
?GetVolume@CVistaMixerLineSrc@@UAEHXZ ENDP		; CVistaMixerLineSrc::GetVolume
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?SetVolume@CVistaMixerLineSrc@@UAEXH@Z
_TEXT	SEGMENT
tv83 = -12						; size = 4
tv72 = -8						; size = 4
_this$ = -4						; size = 4
_volumePercentage$ = 8					; size = 4
?SetVolume@CVistaMixerLineSrc@@UAEXH@Z PROC		; CVistaMixerLineSrc::SetVolume, COMDAT
; _this$ = ecx

; 438  :     {

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

; 439  :         m_AudioEndPointVolume->SetMasterVolumeLevelScalar(float(volumePercentage / 100.0), NULL);

  00009	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000c	83 c1 04	 add	 ecx, 4
  0000f	e8 00 00 00 00	 call	 ??C?$CComPtr@UIAudioEndpointVolume@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIAudioEndpointVolume@@@1@XZ ; ATL::CComPtr<IAudioEndpointVolume>::operator->
  00014	89 45 f8	 mov	 DWORD PTR tv72[ebp], eax
  00017	6a 00		 push	 0
  00019	db 45 08	 fild	 DWORD PTR _volumePercentage$[ebp]
  0001c	dc 35 00 00 00
	00		 fdiv	 QWORD PTR __real@4059000000000000
  00022	d9 5d f4	 fstp	 DWORD PTR tv83[ebp]
  00025	d9 45 f4	 fld	 DWORD PTR tv83[ebp]
  00028	51		 push	 ecx
  00029	d9 1c 24	 fstp	 DWORD PTR [esp]
  0002c	8b 45 f8	 mov	 eax, DWORD PTR tv72[ebp]
  0002f	50		 push	 eax
  00030	8b 4d f8	 mov	 ecx, DWORD PTR tv72[ebp]
  00033	8b 11		 mov	 edx, DWORD PTR [ecx]
  00035	8b 42 1c	 mov	 eax, DWORD PTR [edx+28]
  00038	ff d0		 call	 eax

; 440  :     }

  0003a	8b e5		 mov	 esp, ebp
  0003c	5d		 pop	 ebp
  0003d	c2 04 00	 ret	 4
?SetVolume@CVistaMixerLineSrc@@UAEXH@Z ENDP		; CVistaMixerLineSrc::SetVolume
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?GetMute@CVistaMixerLineSrc@@UAEHXZ
_TEXT	SEGMENT
tv72 = -12						; size = 4
_this$ = -8						; size = 4
_Mute$ = -4						; size = 4
?GetMute@CVistaMixerLineSrc@@UAEHXZ PROC		; CVistaMixerLineSrc::GetMute, COMDAT
; _this$ = ecx

; 431  :     {

  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

; 432  :         BOOL Mute(FALSE);

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

; 433  :         m_AudioEndPointVolume->GetMute(&Mute);

  00010	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00013	83 c1 04	 add	 ecx, 4
  00016	e8 00 00 00 00	 call	 ??C?$CComPtr@UIAudioEndpointVolume@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIAudioEndpointVolume@@@1@XZ ; ATL::CComPtr<IAudioEndpointVolume>::operator->
  0001b	89 45 f4	 mov	 DWORD PTR tv72[ebp], eax
  0001e	8d 45 fc	 lea	 eax, DWORD PTR _Mute$[ebp]
  00021	50		 push	 eax
  00022	8b 4d f4	 mov	 ecx, DWORD PTR tv72[ebp]
  00025	51		 push	 ecx
  00026	8b 55 f4	 mov	 edx, DWORD PTR tv72[ebp]
  00029	8b 02		 mov	 eax, DWORD PTR [edx]
  0002b	8b 48 3c	 mov	 ecx, DWORD PTR [eax+60]
  0002e	ff d1		 call	 ecx

; 434  :         return Mute;

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

; 435  :     }

  00033	8b e5		 mov	 esp, ebp
  00035	5d		 pop	 ebp
  00036	c3		 ret	 0
?GetMute@CVistaMixerLineSrc@@UAEHXZ ENDP		; CVistaMixerLineSrc::GetMute
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?SetMute@CVistaMixerLineSrc@@UAEXH@Z
_TEXT	SEGMENT
tv72 = -8						; size = 4
_this$ = -4						; size = 4
_bEnable$ = 8						; size = 4
?SetMute@CVistaMixerLineSrc@@UAEXH@Z PROC		; CVistaMixerLineSrc::SetMute, COMDAT
; _this$ = ecx

; 426  :     {

  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

; 427  :         m_AudioEndPointVolume->SetMute(bEnable, NULL);

  00009	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000c	83 c1 04	 add	 ecx, 4
  0000f	e8 00 00 00 00	 call	 ??C?$CComPtr@UIAudioEndpointVolume@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIAudioEndpointVolume@@@1@XZ ; ATL::CComPtr<IAudioEndpointVolume>::operator->
  00014	89 45 f8	 mov	 DWORD PTR tv72[ebp], eax
  00017	6a 00		 push	 0
  00019	8b 45 08	 mov	 eax, DWORD PTR _bEnable$[ebp]
  0001c	50		 push	 eax
  0001d	8b 4d f8	 mov	 ecx, DWORD PTR tv72[ebp]
  00020	51		 push	 ecx
  00021	8b 55 f8	 mov	 edx, DWORD PTR tv72[ebp]
  00024	8b 02		 mov	 eax, DWORD PTR [edx]
  00026	8b 48 38	 mov	 ecx, DWORD PTR [eax+56]
  00029	ff d1		 call	 ecx

; 428  :     }

  0002b	8b e5		 mov	 esp, ebp
  0002d	5d		 pop	 ebp
  0002e	c2 04 00	 ret	 4
?SetMute@CVistaMixerLineSrc@@UAEXH@Z ENDP		; CVistaMixerLineSrc::SetMute
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?GetDestinationCount@CMixer@@UAEJXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetDestinationCount@CMixer@@UAEJXZ PROC		; CMixer::GetDestinationCount, COMDAT
; _this$ = ecx

; 351  : {

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

; 352  :     return m_pDestinationLines.size();

  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	83 c1 5c	 add	 ecx, 92			; 0000005cH
  0000d	e8 00 00 00 00	 call	 ?size@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::size

; 353  : }

  00012	8b e5		 mov	 esp, ebp
  00014	5d		 pop	 ebp
  00015	c3		 ret	 0
?GetDestinationCount@CMixer@@UAEJXZ ENDP		; CMixer::GetDestinationCount
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?GetIndex@CMixer@@UAEKXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetIndex@CMixer@@UAEKXZ PROC				; CMixer::GetIndex, COMDAT
; _this$ = ecx

; 345  : {

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

; 346  :     return m_nMixerIndex;

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

; 347  : }

  0000d	8b e5		 mov	 esp, ebp
  0000f	5d		 pop	 ebp
  00010	c3		 ret	 0
?GetIndex@CMixer@@UAEKXZ ENDP				; CMixer::GetIndex
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?GetName@CMixer@@UAEPB_WXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetName@CMixer@@UAEPB_WXZ PROC				; CMixer::GetName, COMDAT
; _this$ = ecx

; 339  : {

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

; 340  :     return m_mxcaps.szPname;

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	83 c0 10	 add	 eax, 16			; 00000010H

; 341  : }

  0000d	8b e5		 mov	 esp, ebp
  0000f	5d		 pop	 ebp
  00010	c3		 ret	 0
?GetName@CMixer@@UAEPB_WXZ ENDP				; CMixer::GetName
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0IMixer@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??0IMixer@@QAE@XZ PROC					; IMixer::IMixer, 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 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], OFFSET ??_7IMixer@@6B@
  00010	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00013	8b e5		 mov	 esp, ebp
  00015	5d		 pop	 ebp
  00016	c3		 ret	 0
??0IMixer@@QAE@XZ ENDP					; IMixer::IMixer
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?IsTypicalRecordingLine@CMixerLineDst@@UAEHXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?IsTypicalRecordingLine@CMixerLineDst@@UAEHXZ PROC	; CMixerLineDst::IsTypicalRecordingLine, COMDAT
; _this$ = ecx

; 292  : {

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

; 293  :     return (m_mxl.dwComponentType == MIXERLINE_COMPONENTTYPE_DST_WAVEIN);

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	33 c9		 xor	 ecx, ecx
  0000c	83 78 1c 07	 cmp	 DWORD PTR [eax+28], 7
  00010	0f 94 c1	 sete	 cl
  00013	8b c1		 mov	 eax, ecx

; 294  : }

  00015	8b e5		 mov	 esp, ebp
  00017	5d		 pop	 ebp
  00018	c3		 ret	 0
?IsTypicalRecordingLine@CMixerLineDst@@UAEHXZ ENDP	; CMixerLineDst::IsTypicalRecordingLine
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?IsTypicalSpeakerLine@CMixerLineDst@@UAEHXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?IsTypicalSpeakerLine@CMixerLineDst@@UAEHXZ PROC	; CMixerLineDst::IsTypicalSpeakerLine, COMDAT
; _this$ = ecx

; 286  : {

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

; 287  :     return (m_mxl.dwComponentType == MIXERLINE_COMPONENTTYPE_DST_SPEAKERS);

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	33 c9		 xor	 ecx, ecx
  0000c	83 78 1c 04	 cmp	 DWORD PTR [eax+28], 4
  00010	0f 94 c1	 sete	 cl
  00013	8b c1		 mov	 eax, ecx

; 288  : }

  00015	8b e5		 mov	 esp, ebp
  00017	5d		 pop	 ebp
  00018	c3		 ret	 0
?IsTypicalSpeakerLine@CMixerLineDst@@UAEHXZ ENDP	; CMixerLineDst::IsTypicalSpeakerLine
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?GetSourceCount@CMixerLineDst@@UAEJXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetSourceCount@CMixerLineDst@@UAEJXZ PROC		; CMixerLineDst::GetSourceCount, COMDAT
; _this$ = ecx

; 251  : {

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

; 252  :     return m_pSourceLines.size();

  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	81 c1 1c 01 00
	00		 add	 ecx, 284		; 0000011cH
  00010	e8 00 00 00 00	 call	 ?size@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::size

; 253  : }

  00015	8b e5		 mov	 esp, ebp
  00017	5d		 pop	 ebp
  00018	c3		 ret	 0
?GetSourceCount@CMixerLineDst@@UAEJXZ ENDP		; CMixerLineDst::GetSourceCount
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?GetName@CMixerLineDst@@UAEPB_WXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetName@CMixerLineDst@@UAEPB_WXZ PROC			; CMixerLineDst::GetName, COMDAT
; _this$ = ecx

; 245  : {

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

; 246  :     return m_mxl.szName;

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	83 c0 4c	 add	 eax, 76			; 0000004cH

; 247  : }

  0000d	8b e5		 mov	 esp, ebp
  0000f	5d		 pop	 ebp
  00010	c3		 ret	 0
?GetName@CMixerLineDst@@UAEPB_WXZ ENDP			; CMixerLineDst::GetName
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0IMixerLineDst@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??0IMixerLineDst@@QAE@XZ PROC				; IMixerLineDst::IMixerLineDst, 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 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], OFFSET ??_7IMixerLineDst@@6B@
  00010	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00013	8b e5		 mov	 esp, ebp
  00015	5d		 pop	 ebp
  00016	c3		 ret	 0
??0IMixerLineDst@@QAE@XZ ENDP				; IMixerLineDst::IMixerLineDst
_TEXT	ENDS
PUBLIC	?MixerControlDetailsGet@CMixerLineSrc@@AAEHKPAK@Z ; CMixerLineSrc::MixerControlDetailsGet
; Function compile flags: /Odtp
;	COMDAT ?MixerControlDetailsGet@CMixerLineSrc@@AAEHKPAK@Z
_TEXT	SEGMENT
_this$ = -28						; size = 4
_mxcd$ = -24						; size = 24
_dwControlID$ = 8					; size = 4
_lpdwValue$ = 12					; size = 4
?MixerControlDetailsGet@CMixerLineSrc@@AAEHKPAK@Z PROC	; CMixerLineSrc::MixerControlDetailsGet, COMDAT
; _this$ = ecx

; 198  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 1c	 sub	 esp, 28			; 0000001cH
  00006	89 4d e4	 mov	 DWORD PTR _this$[ebp], ecx

; 199  :     MIXERCONTROLDETAILS mxcd;
; 200  : 
; 201  :     mxcd.cbStruct       = sizeof(MIXERCONTROLDETAILS);

  00009	c7 45 e8 18 00
	00 00		 mov	 DWORD PTR _mxcd$[ebp], 24 ; 00000018H

; 202  :     mxcd.cChannels      = 1;

  00010	c7 45 f0 01 00
	00 00		 mov	 DWORD PTR _mxcd$[ebp+8], 1

; 203  :     mxcd.dwControlID    = dwControlID;

  00017	8b 45 08	 mov	 eax, DWORD PTR _dwControlID$[ebp]
  0001a	89 45 ec	 mov	 DWORD PTR _mxcd$[ebp+4], eax

; 204  :     mxcd.cMultipleItems = 0;

  0001d	c7 45 f4 00 00
	00 00		 mov	 DWORD PTR _mxcd$[ebp+12], 0

; 205  :     mxcd.cbDetails      = sizeof(DWORD);

  00024	c7 45 f8 04 00
	00 00		 mov	 DWORD PTR _mxcd$[ebp+16], 4

; 206  :     mxcd.paDetails      = lpdwValue;

  0002b	8b 4d 0c	 mov	 ecx, DWORD PTR _lpdwValue$[ebp]
  0002e	89 4d fc	 mov	 DWORD PTR _mxcd$[ebp+20], ecx

; 207  : 
; 208  :     return mixerGetControlDetails((HMIXEROBJ)m_hMixer, &mxcd,
; 209  :         MIXER_SETCONTROLDETAILSF_VALUE | MIXER_OBJECTF_HMIXER) == MMSYSERR_NOERROR;

  00031	68 00 00 00 80	 push	 -2147483648		; 80000000H
  00036	8d 55 e8	 lea	 edx, DWORD PTR _mxcd$[ebp]
  00039	52		 push	 edx
  0003a	8b 45 e4	 mov	 eax, DWORD PTR _this$[ebp]
  0003d	8b 48 04	 mov	 ecx, DWORD PTR [eax+4]
  00040	51		 push	 ecx
  00041	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__mixerGetControlDetailsW@12
  00047	f7 d8		 neg	 eax
  00049	1b c0		 sbb	 eax, eax
  0004b	83 c0 01	 add	 eax, 1

; 210  : }

  0004e	8b e5		 mov	 esp, ebp
  00050	5d		 pop	 ebp
  00051	c2 08 00	 ret	 8
?MixerControlDetailsGet@CMixerLineSrc@@AAEHKPAK@Z ENDP	; CMixerLineSrc::MixerControlDetailsGet
_TEXT	ENDS
PUBLIC	?MixerControlDetailsSet@CMixerLineSrc@@AAEHKK@Z	; CMixerLineSrc::MixerControlDetailsSet
; Function compile flags: /Odtp
;	COMDAT ?MixerControlDetailsSet@CMixerLineSrc@@AAEHKK@Z
_TEXT	SEGMENT
_this$ = -28						; size = 4
_mxcd$ = -24						; size = 24
_dwControlID$ = 8					; size = 4
_dwValue$ = 12						; size = 4
?MixerControlDetailsSet@CMixerLineSrc@@AAEHKK@Z PROC	; CMixerLineSrc::MixerControlDetailsSet, COMDAT
; _this$ = ecx

; 182  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 1c	 sub	 esp, 28			; 0000001cH
  00006	89 4d e4	 mov	 DWORD PTR _this$[ebp], ecx

; 183  :     MIXERCONTROLDETAILS mxcd;
; 184  : 
; 185  :     mxcd.cbStruct       = sizeof(MIXERCONTROLDETAILS);

  00009	c7 45 e8 18 00
	00 00		 mov	 DWORD PTR _mxcd$[ebp], 24 ; 00000018H

; 186  :     mxcd.cChannels      = 1;

  00010	c7 45 f0 01 00
	00 00		 mov	 DWORD PTR _mxcd$[ebp+8], 1

; 187  :     mxcd.dwControlID    = dwControlID;

  00017	8b 45 08	 mov	 eax, DWORD PTR _dwControlID$[ebp]
  0001a	89 45 ec	 mov	 DWORD PTR _mxcd$[ebp+4], eax

; 188  :     mxcd.cMultipleItems = 0;

  0001d	c7 45 f4 00 00
	00 00		 mov	 DWORD PTR _mxcd$[ebp+12], 0

; 189  :     mxcd.cbDetails      = sizeof(DWORD);

  00024	c7 45 f8 04 00
	00 00		 mov	 DWORD PTR _mxcd$[ebp+16], 4

; 190  :     mxcd.paDetails      = &dwValue;

  0002b	8d 4d 0c	 lea	 ecx, DWORD PTR _dwValue$[ebp]
  0002e	89 4d fc	 mov	 DWORD PTR _mxcd$[ebp+20], ecx

; 191  : 
; 192  :     return mixerSetControlDetails((HMIXEROBJ)m_hMixer, &mxcd,
; 193  :         MIXER_SETCONTROLDETAILSF_VALUE | MIXER_OBJECTF_HMIXER) == MMSYSERR_NOERROR;

  00031	68 00 00 00 80	 push	 -2147483648		; 80000000H
  00036	8d 55 e8	 lea	 edx, DWORD PTR _mxcd$[ebp]
  00039	52		 push	 edx
  0003a	8b 45 e4	 mov	 eax, DWORD PTR _this$[ebp]
  0003d	8b 48 04	 mov	 ecx, DWORD PTR [eax+4]
  00040	51		 push	 ecx
  00041	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__mixerSetControlDetails@12
  00047	f7 d8		 neg	 eax
  00049	1b c0		 sbb	 eax, eax
  0004b	83 c0 01	 add	 eax, 1

; 194  : }

  0004e	8b e5		 mov	 esp, ebp
  00050	5d		 pop	 ebp
  00051	c2 08 00	 ret	 8
?MixerControlDetailsSet@CMixerLineSrc@@AAEHKK@Z ENDP	; CMixerLineSrc::MixerControlDetailsSet
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?RestoreState@CMixerLineSrc@@UAEXXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?RestoreState@CMixerLineSrc@@UAEXXZ PROC		; CMixerLineSrc::RestoreState, COMDAT
; _this$ = ecx

; 175  : {

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

; 176  :     MixerControlDetailsSet(m_MuteControlID, m_StoredMute);

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b 88 34 01 00
	00		 mov	 ecx, DWORD PTR [eax+308]
  00010	51		 push	 ecx
  00011	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00014	8b 82 2c 01 00
	00		 mov	 eax, DWORD PTR [edx+300]
  0001a	50		 push	 eax
  0001b	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0001e	e8 00 00 00 00	 call	 ?MixerControlDetailsSet@CMixerLineSrc@@AAEHKK@Z ; CMixerLineSrc::MixerControlDetailsSet

; 177  :     MixerControlDetailsSet(m_VolumeControlID, m_StoredVolume);

  00023	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00026	8b 91 30 01 00
	00		 mov	 edx, DWORD PTR [ecx+304]
  0002c	52		 push	 edx
  0002d	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00030	8b 88 20 01 00
	00		 mov	 ecx, DWORD PTR [eax+288]
  00036	51		 push	 ecx
  00037	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0003a	e8 00 00 00 00	 call	 ?MixerControlDetailsSet@CMixerLineSrc@@AAEHKK@Z ; CMixerLineSrc::MixerControlDetailsSet

; 178  : }

  0003f	8b e5		 mov	 esp, ebp
  00041	5d		 pop	 ebp
  00042	c3		 ret	 0
?RestoreState@CMixerLineSrc@@UAEXXZ ENDP		; CMixerLineSrc::RestoreState
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?StoreState@CMixerLineSrc@@UAEXXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?StoreState@CMixerLineSrc@@UAEXXZ PROC			; CMixerLineSrc::StoreState, 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  :     MixerControlDetailsGet(m_MuteControlID, &m_StoredMute);

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	05 34 01 00 00	 add	 eax, 308		; 00000134H
  0000f	50		 push	 eax
  00010	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00013	8b 91 2c 01 00
	00		 mov	 edx, DWORD PTR [ecx+300]
  00019	52		 push	 edx
  0001a	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0001d	e8 00 00 00 00	 call	 ?MixerControlDetailsGet@CMixerLineSrc@@AAEHKPAK@Z ; CMixerLineSrc::MixerControlDetailsGet

; 170  :     MixerControlDetailsGet(m_VolumeControlID, &m_StoredVolume);

  00022	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00025	05 30 01 00 00	 add	 eax, 304		; 00000130H
  0002a	50		 push	 eax
  0002b	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0002e	8b 91 20 01 00
	00		 mov	 edx, DWORD PTR [ecx+288]
  00034	52		 push	 edx
  00035	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00038	e8 00 00 00 00	 call	 ?MixerControlDetailsGet@CMixerLineSrc@@AAEHKPAK@Z ; CMixerLineSrc::MixerControlDetailsGet

; 171  : }

  0003d	8b e5		 mov	 esp, ebp
  0003f	5d		 pop	 ebp
  00040	c3		 ret	 0
?StoreState@CMixerLineSrc@@UAEXXZ ENDP			; CMixerLineSrc::StoreState
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?GetVolume@CMixerLineSrc@@UAEHXZ
_TEXT	SEGMENT
_this$ = -8						; size = 4
_nVolume$ = -4						; size = 4
?GetVolume@CMixerLineSrc@@UAEHXZ PROC			; CMixerLineSrc::GetVolume, COMDAT
; _this$ = ecx

; 151  : {

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

; 152  :     DWORD nVolume = 0;

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

; 153  : 
; 154  :     if (m_VolumeControlID != 0xFFFFFFFF)

  00010	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  00013	83 b8 20 01 00
	00 ff		 cmp	 DWORD PTR [eax+288], -1
  0001a	74 3b		 je	 SHORT $LN2@GetVolume

; 155  :     {
; 156  :         // get average volume, ignores balance
; 157  :         if (MixerControlDetailsGet(m_VolumeControlID, &nVolume))

  0001c	8d 4d fc	 lea	 ecx, DWORD PTR _nVolume$[ebp]
  0001f	51		 push	 ecx
  00020	8b 55 f8	 mov	 edx, DWORD PTR _this$[ebp]
  00023	8b 82 20 01 00
	00		 mov	 eax, DWORD PTR [edx+288]
  00029	50		 push	 eax
  0002a	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0002d	e8 00 00 00 00	 call	 ?MixerControlDetailsGet@CMixerLineSrc@@AAEHKPAK@Z ; CMixerLineSrc::MixerControlDetailsGet
  00032	85 c0		 test	 eax, eax
  00034	74 21		 je	 SHORT $LN2@GetVolume

; 158  :         {
; 159  :             return MulDiv(nVolume, 100, m_VolumeMaximum - m_VolumeMinimum);

  00036	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00039	8b 55 f8	 mov	 edx, DWORD PTR _this$[ebp]
  0003c	8b 81 28 01 00
	00		 mov	 eax, DWORD PTR [ecx+296]
  00042	2b 82 24 01 00
	00		 sub	 eax, DWORD PTR [edx+292]
  00048	50		 push	 eax
  00049	6a 64		 push	 100			; 00000064H
  0004b	8b 4d fc	 mov	 ecx, DWORD PTR _nVolume$[ebp]
  0004e	51		 push	 ecx
  0004f	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__MulDiv@12
  00055	eb 03		 jmp	 SHORT $LN3@GetVolume
$LN2@GetVolume:

; 160  :         }
; 161  :     }
; 162  : 
; 163  :     return nVolume;

  00057	8b 45 fc	 mov	 eax, DWORD PTR _nVolume$[ebp]
$LN3@GetVolume:

; 164  : }

  0005a	8b e5		 mov	 esp, ebp
  0005c	5d		 pop	 ebp
  0005d	c3		 ret	 0
?GetVolume@CMixerLineSrc@@UAEHXZ ENDP			; CMixerLineSrc::GetVolume
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?SetVolume@CMixerLineSrc@@UAEXH@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_volumePercentage$ = 8					; size = 4
?SetVolume@CMixerLineSrc@@UAEXH@Z PROC			; CMixerLineSrc::SetVolume, COMDAT
; _this$ = ecx

; 140  : {

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

; 141  :     if (m_VolumeControlID != 0xFFFFFFFF)

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	83 b8 20 01 00
	00 ff		 cmp	 DWORD PTR [eax+288], -1
  00011	74 32		 je	 SHORT $LN2@SetVolume

; 142  :     {
; 143  :         // sets all channels to the same volume
; 144  :         MixerControlDetailsSet(m_VolumeControlID,
; 145  :             MulDiv(volumePercentage, (m_VolumeMaximum - m_VolumeMinimum), 100));

  00013	6a 64		 push	 100			; 00000064H
  00015	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00018	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  0001b	8b 81 28 01 00
	00		 mov	 eax, DWORD PTR [ecx+296]
  00021	2b 82 24 01 00
	00		 sub	 eax, DWORD PTR [edx+292]
  00027	50		 push	 eax
  00028	8b 4d 08	 mov	 ecx, DWORD PTR _volumePercentage$[ebp]
  0002b	51		 push	 ecx
  0002c	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__MulDiv@12
  00032	50		 push	 eax
  00033	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00036	8b 82 20 01 00
	00		 mov	 eax, DWORD PTR [edx+288]
  0003c	50		 push	 eax
  0003d	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00040	e8 00 00 00 00	 call	 ?MixerControlDetailsSet@CMixerLineSrc@@AAEHKK@Z ; CMixerLineSrc::MixerControlDetailsSet
$LN2@SetVolume:

; 146  :     }
; 147  : }

  00045	8b e5		 mov	 esp, ebp
  00047	5d		 pop	 ebp
  00048	c2 04 00	 ret	 4
?SetVolume@CMixerLineSrc@@UAEXH@Z ENDP			; CMixerLineSrc::SetVolume
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?GetMute@CMixerLineSrc@@UAEHXZ
_TEXT	SEGMENT
_this$ = -8						; size = 4
_dwEnabled$ = -4					; size = 4
?GetMute@CMixerLineSrc@@UAEHXZ PROC			; CMixerLineSrc::GetMute, COMDAT
; _this$ = ecx

; 127  : {

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

; 128  :     DWORD dwEnabled = FALSE;

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

; 129  : 
; 130  :     if (m_MuteControlID != 0xFFFFFFFF)

  00010	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  00013	83 b8 2c 01 00
	00 ff		 cmp	 DWORD PTR [eax+300], -1
  0001a	74 16		 je	 SHORT $LN1@GetMute

; 131  :     {
; 132  :         MixerControlDetailsGet(m_MuteControlID, &dwEnabled);

  0001c	8d 4d fc	 lea	 ecx, DWORD PTR _dwEnabled$[ebp]
  0001f	51		 push	 ecx
  00020	8b 55 f8	 mov	 edx, DWORD PTR _this$[ebp]
  00023	8b 82 2c 01 00
	00		 mov	 eax, DWORD PTR [edx+300]
  00029	50		 push	 eax
  0002a	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0002d	e8 00 00 00 00	 call	 ?MixerControlDetailsGet@CMixerLineSrc@@AAEHKPAK@Z ; CMixerLineSrc::MixerControlDetailsGet
$LN1@GetMute:

; 133  :     }
; 134  : 
; 135  :     return dwEnabled;

  00032	8b 45 fc	 mov	 eax, DWORD PTR _dwEnabled$[ebp]

; 136  : }

  00035	8b e5		 mov	 esp, ebp
  00037	5d		 pop	 ebp
  00038	c3		 ret	 0
?GetMute@CMixerLineSrc@@UAEHXZ ENDP			; CMixerLineSrc::GetMute
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?SetMute@CMixerLineSrc@@UAEXH@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_bEnable$ = 8						; size = 4
?SetMute@CMixerLineSrc@@UAEXH@Z PROC			; CMixerLineSrc::SetMute, COMDAT
; _this$ = ecx

; 118  : {

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

; 119  :     if (m_MuteControlID != 0xFFFFFFFF)

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	83 b8 2c 01 00
	00 ff		 cmp	 DWORD PTR [eax+300], -1
  00011	74 16		 je	 SHORT $LN2@SetMute

; 120  :     {
; 121  :         MixerControlDetailsSet(m_MuteControlID, bEnable);

  00013	8b 4d 08	 mov	 ecx, DWORD PTR _bEnable$[ebp]
  00016	51		 push	 ecx
  00017	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  0001a	8b 82 2c 01 00
	00		 mov	 eax, DWORD PTR [edx+300]
  00020	50		 push	 eax
  00021	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00024	e8 00 00 00 00	 call	 ?MixerControlDetailsSet@CMixerLineSrc@@AAEHKK@Z ; CMixerLineSrc::MixerControlDetailsSet
$LN2@SetMute:

; 122  :     }
; 123  : }

  00029	8b e5		 mov	 esp, ebp
  0002b	5d		 pop	 ebp
  0002c	c2 04 00	 ret	 4
?SetMute@CMixerLineSrc@@UAEXH@Z ENDP			; CMixerLineSrc::SetMute
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?GetName@CMixerLineSrc@@UAEPB_WXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetName@CMixerLineSrc@@UAEPB_WXZ PROC			; CMixerLineSrc::GetName, COMDAT
; _this$ = ecx

; 112  : {

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

; 113  :     return m_mxl.szName;

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	83 c0 50	 add	 eax, 80			; 00000050H

; 114  : }

  0000d	8b e5		 mov	 esp, ebp
  0000f	5d		 pop	 ebp
  00010	c3		 ret	 0
?GetName@CMixerLineSrc@@UAEPB_WXZ ENDP			; CMixerLineSrc::GetName
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0IMixerLineSrc@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??0IMixerLineSrc@@QAE@XZ PROC				; IMixerLineSrc::IMixerLineSrc, 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 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], OFFSET ??_7IMixerLineSrc@@6B@
  00010	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00013	8b e5		 mov	 esp, ebp
  00015	5d		 pop	 ebp
  00016	c3		 ret	 0
??0IMixerLineSrc@@QAE@XZ ENDP				; IMixerLineSrc::IMixerLineSrc
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\mixerdevclasses.h
_TEXT	ENDS
;	COMDAT ??1IMixer@@UAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??1IMixer@@UAE@XZ PROC					; IMixer::~IMixer, COMDAT
; _this$ = ecx

; 135  :     virtual ~IMixer() {};

  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], OFFSET ??_7IMixer@@6B@
  00010	8b e5		 mov	 esp, ebp
  00012	5d		 pop	 ebp
  00013	c3		 ret	 0
??1IMixer@@UAE@XZ ENDP					; IMixer::~IMixer
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??1IMixerLineDst@@UAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??1IMixerLineDst@@UAE@XZ PROC				; IMixerLineDst::~IMixerLineDst, COMDAT
; _this$ = ecx

; 93   :     virtual ~IMixerLineDst() {};

  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], OFFSET ??_7IMixerLineDst@@6B@
  00010	8b e5		 mov	 esp, ebp
  00012	5d		 pop	 ebp
  00013	c3		 ret	 0
??1IMixerLineDst@@UAE@XZ ENDP				; IMixerLineDst::~IMixerLineDst
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??1IMixerLineSrc@@UAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??1IMixerLineSrc@@UAE@XZ PROC				; IMixerLineSrc::~IMixerLineSrc, COMDAT
; _this$ = ecx

; 38   :     virtual ~IMixerLineSrc() {};

  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], OFFSET ??_7IMixerLineSrc@@6B@
  00010	8b e5		 mov	 esp, ebp
  00012	5d		 pop	 ebp
  00013	c3		 ret	 0
??1IMixerLineSrc@@UAE@XZ ENDP				; IMixerLineSrc::~IMixerLineSrc
; Function compile flags: /Odtp
;	COMDAT ??_G?$SmartPtr@VIMixer@@@@QAEPAXI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___flags$ = 8						; size = 4
??_G?$SmartPtr@VIMixer@@@@QAEPAXI@Z PROC		; SmartPtr<IMixer>::`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@VIMixer@@@@QAE@XZ ; SmartPtr<IMixer>::~SmartPtr<IMixer>
  0000f	8b 45 08	 mov	 eax, DWORD PTR ___flags$[ebp]
  00012	83 e0 01	 and	 eax, 1
  00015	74 0c		 je	 SHORT $LN1@scalar@40
  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@40:
  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@VIMixer@@@@QAEPAXI@Z ENDP		; SmartPtr<IMixer>::`scalar deleting destructor'
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??_G?$SmartPtr@VIMixerLineDst@@@@QAEPAXI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___flags$ = 8						; size = 4
??_G?$SmartPtr@VIMixerLineDst@@@@QAEPAXI@Z PROC		; SmartPtr<IMixerLineDst>::`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@VIMixerLineDst@@@@QAE@XZ ; SmartPtr<IMixerLineDst>::~SmartPtr<IMixerLineDst>
  0000f	8b 45 08	 mov	 eax, DWORD PTR ___flags$[ebp]
  00012	83 e0 01	 and	 eax, 1
  00015	74 0c		 je	 SHORT $LN1@scalar@41
  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@41:
  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@VIMixerLineDst@@@@QAEPAXI@Z ENDP		; SmartPtr<IMixerLineDst>::`scalar deleting destructor'
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??_G?$SmartPtr@VIMixerLineSrc@@@@QAEPAXI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___flags$ = 8						; size = 4
??_G?$SmartPtr@VIMixerLineSrc@@@@QAEPAXI@Z PROC		; SmartPtr<IMixerLineSrc>::`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@VIMixerLineSrc@@@@QAE@XZ ; SmartPtr<IMixerLineSrc>::~SmartPtr<IMixerLineSrc>
  0000f	8b 45 08	 mov	 eax, DWORD PTR ___flags$[ebp]
  00012	83 e0 01	 and	 eax, 1
  00015	74 0c		 je	 SHORT $LN1@scalar@42
  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@42:
  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@VIMixerLineSrc@@@@QAEPAXI@Z ENDP		; SmartPtr<IMixerLineSrc>::`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@VIMixer@@@@@std@@YAXPAV?$SmartPtr@VIMixer@@@@@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
??$_Destroy@V?$SmartPtr@VIMixer@@@@@std@@YAXPAV?$SmartPtr@VIMixer@@@@@Z PROC ; std::_Destroy<SmartPtr<IMixer> >, 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@VIMixer@@@@QAEPAXI@Z

; 60   : 	}

  0000d	5d		 pop	 ebp
  0000e	c3		 ret	 0
??$_Destroy@V?$SmartPtr@VIMixer@@@@@std@@YAXPAV?$SmartPtr@VIMixer@@@@@Z ENDP ; std::_Destroy<SmartPtr<IMixer> >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Destroy@V?$SmartPtr@VIMixerLineDst@@@@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
??$_Destroy@V?$SmartPtr@VIMixerLineDst@@@@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@@Z PROC ; std::_Destroy<SmartPtr<IMixerLineDst> >, 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@VIMixerLineDst@@@@QAEPAXI@Z

; 60   : 	}

  0000d	5d		 pop	 ebp
  0000e	c3		 ret	 0
??$_Destroy@V?$SmartPtr@VIMixerLineDst@@@@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@@Z ENDP ; std::_Destroy<SmartPtr<IMixerLineDst> >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Destroy@V?$SmartPtr@VIMixerLineSrc@@@@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
??$_Destroy@V?$SmartPtr@VIMixerLineSrc@@@@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@@Z PROC ; std::_Destroy<SmartPtr<IMixerLineSrc> >, 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@VIMixerLineSrc@@@@QAEPAXI@Z

; 60   : 	}

  0000d	5d		 pop	 ebp
  0000e	c3		 ret	 0
??$_Destroy@V?$SmartPtr@VIMixerLineSrc@@@@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@@Z ENDP ; std::_Destroy<SmartPtr<IMixerLineSrc> >
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\smartptr.h
_TEXT	ENDS
;	COMDAT ??4?$SmartPtr@VIMixer@@@@QAEAAV0@ABV0@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_otherPtr$ = 8						; size = 4
??4?$SmartPtr@VIMixer@@@@QAEAAV0@ABV0@@Z PROC		; SmartPtr<IMixer>::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@134

; 113  :         {
; 114  :             Clear();

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

; 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@VIMixer@@@@QAEAAV0@ABV0@@Z ENDP		; SmartPtr<IMixer>::operator=
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??4?$SmartPtr@VIMixerLineDst@@@@QAEAAV0@ABV0@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_otherPtr$ = 8						; size = 4
??4?$SmartPtr@VIMixerLineDst@@@@QAEAAV0@ABV0@@Z PROC	; SmartPtr<IMixerLineDst>::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@135

; 113  :         {
; 114  :             Clear();

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

; 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@VIMixerLineDst@@@@QAEAAV0@ABV0@@Z ENDP	; SmartPtr<IMixerLineDst>::operator=
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??4?$SmartPtr@VIMixerLineSrc@@@@QAEAAV0@ABV0@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_otherPtr$ = 8						; size = 4
??4?$SmartPtr@VIMixerLineSrc@@@@QAEAAV0@ABV0@@Z PROC	; SmartPtr<IMixerLineSrc>::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@136

; 113  :         {
; 114  :             Clear();

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

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

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

; 3134 : 	}

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

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

; 235  : 	}

  00024	5d		 pop	 ebp
  00025	c3		 ret	 0
??$_Destroy_range@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixer@@@@0AAV?$allocator@V?$SmartPtr@VIMixer@@@@@0@U_Nonscalar_ptr_iterator_tag@0@@Z ENDP ; std::_Destroy_range<std::allocator<SmartPtr<IMixer> > >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
_TEXT	ENDS
;	COMDAT ??$_Fill@PAV?$SmartPtr@VIMixerLineDst@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@0ABV1@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Val$ = 16						; size = 4
??$_Fill@PAV?$SmartPtr@VIMixerLineDst@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@0ABV1@@Z PROC ; std::_Fill<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> >, 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@23
$LN2@Fill@23:
  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@23:
  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@23

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

; 3134 : 	}

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

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

; 235  : 	}

  00024	5d		 pop	 ebp
  00025	c3		 ret	 0
??$_Destroy_range@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@0AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@0@U_Nonscalar_ptr_iterator_tag@0@@Z ENDP ; std::_Destroy_range<std::allocator<SmartPtr<IMixerLineDst> > >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
_TEXT	ENDS
;	COMDAT ??$_Fill@PAV?$SmartPtr@VIMixerLineSrc@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@0ABV1@@Z
_TEXT	SEGMENT
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Val$ = 16						; size = 4
??$_Fill@PAV?$SmartPtr@VIMixerLineSrc@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@0ABV1@@Z PROC ; std::_Fill<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> >, 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@24
$LN2@Fill@24:
  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@24:
  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@24

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

; 3134 : 	}

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

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

; 235  : 	}

  00024	5d		 pop	 ebp
  00025	c3		 ret	 0
??$_Destroy_range@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@0AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@0@U_Nonscalar_ptr_iterator_tag@0@@Z ENDP ; std::_Destroy_range<std::allocator<SmartPtr<IMixerLineSrc> > >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Allocate@V?$SmartPtr@VIMixer@@@@@std@@YAPAV?$SmartPtr@VIMixer@@@@IPAV1@@Z
_TEXT	SEGMENT
$T307780 = -12						; size = 12
__Count$ = 8						; size = 4
___formal$ = 12						; size = 4
??$_Allocate@V?$SmartPtr@VIMixer@@@@@std@@YAPAV?$SmartPtr@VIMixer@@@@IPAV1@@Z PROC ; std::_Allocate<SmartPtr<IMixer> >, 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@19

; 38   : 		_Count = 0;

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

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

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

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

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

; 44   : 	}

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

; 3162 : 	}

  00029	5d		 pop	 ebp
  0002a	c3		 ret	 0
??$fill@PAV?$SmartPtr@VIMixer@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixer@@@@0ABV1@@Z ENDP ; std::fill<SmartPtr<IMixer> *,SmartPtr<IMixer> >
; 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@VIMixer@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixer@@@@0AAV?$allocator@V?$SmartPtr@VIMixer@@@@@0@@Z
_TEXT	SEGMENT
$T307785 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Al$ = 16						; size = 4
??$_Destroy_range@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixer@@@@0AAV?$allocator@V?$SmartPtr@VIMixer@@@@@0@@Z PROC ; std::_Destroy_range<std::allocator<SmartPtr<IMixer> > >, 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@VIMixer@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VIMixer@@@@0@Z ; std::_Ptr_cat<SmartPtr<IMixer> *,SmartPtr<IMixer> *>
  00011	83 c4 08	 add	 esp, 8
  00014	88 45 ff	 mov	 BYTE PTR $T307785[ebp], al
  00017	0f b6 55 ff	 movzx	 edx, BYTE PTR $T307785[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@VIMixer@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixer@@@@0AAV?$allocator@V?$SmartPtr@VIMixer@@@@@0@U_Nonscalar_ptr_iterator_tag@0@@Z ; std::_Destroy_range<std::allocator<SmartPtr<IMixer> > >
  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@VIMixer@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixer@@@@0AAV?$allocator@V?$SmartPtr@VIMixer@@@@@0@@Z ENDP ; std::_Destroy_range<std::allocator<SmartPtr<IMixer> > >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Allocate@V?$SmartPtr@VIMixerLineDst@@@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@IPAV1@@Z
_TEXT	SEGMENT
$T307788 = -12						; size = 12
__Count$ = 8						; size = 4
___formal$ = 12						; size = 4
??$_Allocate@V?$SmartPtr@VIMixerLineDst@@@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@IPAV1@@Z PROC ; std::_Allocate<SmartPtr<IMixerLineDst> >, 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@20

; 38   : 		_Count = 0;

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

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

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

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

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

; 44   : 	}

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

; 3162 : 	}

  00029	5d		 pop	 ebp
  0002a	c3		 ret	 0
??$fill@PAV?$SmartPtr@VIMixerLineDst@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@0ABV1@@Z ENDP ; std::fill<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> >
; 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@VIMixerLineDst@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@0AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@0@@Z
_TEXT	SEGMENT
$T307793 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Al$ = 16						; size = 4
??$_Destroy_range@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@0AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@0@@Z PROC ; std::_Destroy_range<std::allocator<SmartPtr<IMixerLineDst> > >, 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@VIMixerLineDst@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VIMixerLineDst@@@@0@Z ; std::_Ptr_cat<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *>
  00011	83 c4 08	 add	 esp, 8
  00014	88 45 ff	 mov	 BYTE PTR $T307793[ebp], al
  00017	0f b6 55 ff	 movzx	 edx, BYTE PTR $T307793[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@VIMixerLineDst@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@0AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@0@U_Nonscalar_ptr_iterator_tag@0@@Z ; std::_Destroy_range<std::allocator<SmartPtr<IMixerLineDst> > >
  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@VIMixerLineDst@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@0AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@0@@Z ENDP ; std::_Destroy_range<std::allocator<SmartPtr<IMixerLineDst> > >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Allocate@V?$SmartPtr@VIMixerLineSrc@@@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@IPAV1@@Z
_TEXT	SEGMENT
$T307796 = -12						; size = 12
__Count$ = 8						; size = 4
___formal$ = 12						; size = 4
??$_Allocate@V?$SmartPtr@VIMixerLineSrc@@@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@IPAV1@@Z PROC ; std::_Allocate<SmartPtr<IMixerLineSrc> >, 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@21

; 38   : 		_Count = 0;

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

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

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

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

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

; 44   : 	}

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

; 3162 : 	}

  00029	5d		 pop	 ebp
  0002a	c3		 ret	 0
??$fill@PAV?$SmartPtr@VIMixerLineSrc@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@0ABV1@@Z ENDP ; std::fill<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> >
; 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@VIMixerLineSrc@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@0AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@0@@Z
_TEXT	SEGMENT
$T307801 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Al$ = 16						; size = 4
??$_Destroy_range@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@0AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@0@@Z PROC ; std::_Destroy_range<std::allocator<SmartPtr<IMixerLineSrc> > >, 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@VIMixerLineSrc@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VIMixerLineSrc@@@@0@Z ; std::_Ptr_cat<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *>
  00011	83 c4 08	 add	 esp, 8
  00014	88 45 ff	 mov	 BYTE PTR $T307801[ebp], al
  00017	0f b6 55 ff	 movzx	 edx, BYTE PTR $T307801[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@VIMixerLineSrc@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@0AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@0@U_Nonscalar_ptr_iterator_tag@0@@Z ; std::_Destroy_range<std::allocator<SmartPtr<IMixerLineSrc> > >
  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@VIMixerLineSrc@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@0AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@0@@Z ENDP ; std::_Destroy_range<std::allocator<SmartPtr<IMixerLineSrc> > >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$_Iterator_with_base@Urandom_access_iterator_tag@std@@V?$SmartPtr@VIMixer@@@@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@VIMixer@@@@HPBV3@ABV3@V_Iterator_base_aux@2@@std@@QAE@XZ PROC ; std::_Iterator_with_base<std::random_access_iterator_tag,SmartPtr<IMixer>,int,SmartPtr<IMixer> const *,SmartPtr<IMixer> const &,std::_Iterator_base_aux>::_Iterator_with_base<std::random_access_iterator_tag,SmartPtr<IMixer>,int,SmartPtr<IMixer> const *,SmartPtr<IMixer> 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@VIMixer@@@@HPBV3@ABV3@V_Iterator_base_aux@2@@std@@QAE@XZ ENDP ; std::_Iterator_with_base<std::random_access_iterator_tag,SmartPtr<IMixer>,int,SmartPtr<IMixer> const *,SmartPtr<IMixer> const &,std::_Iterator_base_aux>::_Iterator_with_base<std::random_access_iterator_tag,SmartPtr<IMixer>,int,SmartPtr<IMixer> const *,SmartPtr<IMixer> const &,std::_Iterator_base_aux>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$_Iterator_with_base@Urandom_access_iterator_tag@std@@V?$SmartPtr@VIMixerLineDst@@@@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@VIMixerLineDst@@@@HPBV3@ABV3@V_Iterator_base_aux@2@@std@@QAE@XZ PROC ; std::_Iterator_with_base<std::random_access_iterator_tag,SmartPtr<IMixerLineDst>,int,SmartPtr<IMixerLineDst> const *,SmartPtr<IMixerLineDst> const &,std::_Iterator_base_aux>::_Iterator_with_base<std::random_access_iterator_tag,SmartPtr<IMixerLineDst>,int,SmartPtr<IMixerLineDst> const *,SmartPtr<IMixerLineDst> 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@VIMixerLineDst@@@@HPBV3@ABV3@V_Iterator_base_aux@2@@std@@QAE@XZ ENDP ; std::_Iterator_with_base<std::random_access_iterator_tag,SmartPtr<IMixerLineDst>,int,SmartPtr<IMixerLineDst> const *,SmartPtr<IMixerLineDst> const &,std::_Iterator_base_aux>::_Iterator_with_base<std::random_access_iterator_tag,SmartPtr<IMixerLineDst>,int,SmartPtr<IMixerLineDst> const *,SmartPtr<IMixerLineDst> const &,std::_Iterator_base_aux>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$_Iterator_with_base@Urandom_access_iterator_tag@std@@V?$SmartPtr@VIMixerLineSrc@@@@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@VIMixerLineSrc@@@@HPBV3@ABV3@V_Iterator_base_aux@2@@std@@QAE@XZ PROC ; std::_Iterator_with_base<std::random_access_iterator_tag,SmartPtr<IMixerLineSrc>,int,SmartPtr<IMixerLineSrc> const *,SmartPtr<IMixerLineSrc> const &,std::_Iterator_base_aux>::_Iterator_with_base<std::random_access_iterator_tag,SmartPtr<IMixerLineSrc>,int,SmartPtr<IMixerLineSrc> const *,SmartPtr<IMixerLineSrc> 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@VIMixerLineSrc@@@@HPBV3@ABV3@V_Iterator_base_aux@2@@std@@QAE@XZ ENDP ; std::_Iterator_with_base<std::random_access_iterator_tag,SmartPtr<IMixerLineSrc>,int,SmartPtr<IMixerLineSrc> const *,SmartPtr<IMixerLineSrc> const &,std::_Iterator_base_aux>::_Iterator_with_base<std::random_access_iterator_tag,SmartPtr<IMixerLineSrc>,int,SmartPtr<IMixerLineSrc> const *,SmartPtr<IMixerLineSrc> const &,std::_Iterator_base_aux>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$_Ranit@V?$SmartPtr@VIMixer@@@@HPBV1@ABV1@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??0?$_Ranit@V?$SmartPtr@VIMixer@@@@HPBV1@ABV1@@std@@QAE@XZ PROC ; std::_Ranit<SmartPtr<IMixer>,int,SmartPtr<IMixer> const *,SmartPtr<IMixer> const &>::_Ranit<SmartPtr<IMixer>,int,SmartPtr<IMixer> const *,SmartPtr<IMixer> 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@VIMixer@@@@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@VIMixer@@@@HPBV1@ABV1@@std@@QAE@XZ ENDP ; std::_Ranit<SmartPtr<IMixer>,int,SmartPtr<IMixer> const *,SmartPtr<IMixer> const &>::_Ranit<SmartPtr<IMixer>,int,SmartPtr<IMixer> const *,SmartPtr<IMixer> const &>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$_Ranit@V?$SmartPtr@VIMixerLineDst@@@@HPBV1@ABV1@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??0?$_Ranit@V?$SmartPtr@VIMixerLineDst@@@@HPBV1@ABV1@@std@@QAE@XZ PROC ; std::_Ranit<SmartPtr<IMixerLineDst>,int,SmartPtr<IMixerLineDst> const *,SmartPtr<IMixerLineDst> const &>::_Ranit<SmartPtr<IMixerLineDst>,int,SmartPtr<IMixerLineDst> const *,SmartPtr<IMixerLineDst> 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@VIMixerLineDst@@@@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@VIMixerLineDst@@@@HPBV1@ABV1@@std@@QAE@XZ ENDP ; std::_Ranit<SmartPtr<IMixerLineDst>,int,SmartPtr<IMixerLineDst> const *,SmartPtr<IMixerLineDst> const &>::_Ranit<SmartPtr<IMixerLineDst>,int,SmartPtr<IMixerLineDst> const *,SmartPtr<IMixerLineDst> const &>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$_Ranit@V?$SmartPtr@VIMixerLineSrc@@@@HPBV1@ABV1@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??0?$_Ranit@V?$SmartPtr@VIMixerLineSrc@@@@HPBV1@ABV1@@std@@QAE@XZ PROC ; std::_Ranit<SmartPtr<IMixerLineSrc>,int,SmartPtr<IMixerLineSrc> const *,SmartPtr<IMixerLineSrc> const &>::_Ranit<SmartPtr<IMixerLineSrc>,int,SmartPtr<IMixerLineSrc> const *,SmartPtr<IMixerLineSrc> 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@VIMixerLineSrc@@@@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@VIMixerLineSrc@@@@HPBV1@ABV1@@std@@QAE@XZ ENDP ; std::_Ranit<SmartPtr<IMixerLineSrc>,int,SmartPtr<IMixerLineSrc> const *,SmartPtr<IMixerLineSrc> const &>::_Ranit<SmartPtr<IMixerLineSrc>,int,SmartPtr<IMixerLineSrc> const *,SmartPtr<IMixerLineSrc> 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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE@PAV?$SmartPtr@VIMixer@@@@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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE@PAV?$SmartPtr@VIMixer@@@@PBV_Container_base_aux@1@@Z PROC ; std::_Vector_const_iterator<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::_Vector_const_iterator<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >, 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@VIMixer@@@@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@18
  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@18
  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@18
$LN4@Vector_con@18:
  0002b	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN2@Vector_con@18:
  00030	33 c9		 xor	 ecx, ecx
  00032	75 fc		 jne	 SHORT $LN2@Vector_con@18

; 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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE@PAV?$SmartPtr@VIMixer@@@@PBV_Container_base_aux@1@@Z ENDP ; std::_Vector_const_iterator<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::_Vector_const_iterator<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$_Vector_const_iterator@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE@PAV?$SmartPtr@VIMixerLineDst@@@@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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE@PAV?$SmartPtr@VIMixerLineDst@@@@PBV_Container_base_aux@1@@Z PROC ; std::_Vector_const_iterator<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::_Vector_const_iterator<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >, 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@VIMixerLineDst@@@@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@19
  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@19
  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@19
$LN4@Vector_con@19:
  0002b	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN2@Vector_con@19:
  00030	33 c9		 xor	 ecx, ecx
  00032	75 fc		 jne	 SHORT $LN2@Vector_con@19

; 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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE@PAV?$SmartPtr@VIMixerLineDst@@@@PBV_Container_base_aux@1@@Z ENDP ; std::_Vector_const_iterator<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::_Vector_const_iterator<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$_Vector_const_iterator@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@PAV?$SmartPtr@VIMixerLineSrc@@@@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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@PAV?$SmartPtr@VIMixerLineSrc@@@@PBV_Container_base_aux@1@@Z PROC ; std::_Vector_const_iterator<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::_Vector_const_iterator<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >, 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@VIMixerLineSrc@@@@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@20
  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@20
  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@20
$LN4@Vector_con@20:
  0002b	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN2@Vector_con@20:
  00030	33 c9		 xor	 ecx, ecx
  00032	75 fc		 jne	 SHORT $LN2@Vector_con@20

; 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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@PAV?$SmartPtr@VIMixerLineSrc@@@@PBV_Container_base_aux@1@@Z ENDP ; std::_Vector_const_iterator<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::_Vector_const_iterator<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\smartptr.h
_TEXT	ENDS
;	COMDAT ??0?$SmartPtr@VIMixer@@@@QAE@ABV0@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_otherPtr$ = 8						; size = 4
??0?$SmartPtr@VIMixer@@@@QAE@ABV0@@Z PROC		; SmartPtr<IMixer>::SmartPtr<IMixer>, 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@VIMixer@@@@AAEXPAUCounter@@@Z ; SmartPtr<IMixer>::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@VIMixer@@@@QAE@ABV0@@Z ENDP		; SmartPtr<IMixer>::SmartPtr<IMixer>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$SmartPtr@VIMixerLineDst@@@@QAE@ABV0@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_otherPtr$ = 8						; size = 4
??0?$SmartPtr@VIMixerLineDst@@@@QAE@ABV0@@Z PROC	; SmartPtr<IMixerLineDst>::SmartPtr<IMixerLineDst>, 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@VIMixerLineDst@@@@AAEXPAUCounter@@@Z ; SmartPtr<IMixerLineDst>::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@VIMixerLineDst@@@@QAE@ABV0@@Z ENDP	; SmartPtr<IMixerLineDst>::SmartPtr<IMixerLineDst>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$SmartPtr@VIMixerLineSrc@@@@QAE@ABV0@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_otherPtr$ = 8						; size = 4
??0?$SmartPtr@VIMixerLineSrc@@@@QAE@ABV0@@Z PROC	; SmartPtr<IMixerLineSrc>::SmartPtr<IMixerLineSrc>, 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@VIMixerLineSrc@@@@AAEXPAUCounter@@@Z ; SmartPtr<IMixerLineSrc>::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@VIMixerLineSrc@@@@QAE@ABV0@@Z ENDP	; SmartPtr<IMixerLineSrc>::SmartPtr<IMixerLineSrc>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
_TEXT	ENDS
;	COMDAT ??G?$_Vector_const_iterator@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QBEHABV01@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Right$ = 8						; size = 4
??G?$_Vector_const_iterator@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QBEHABV01@@Z PROC ; std::_Vector_const_iterator<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::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@137
  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@137
$LN4@operator@137:
  00029	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN2@operator@137:
  0002e	33 c0		 xor	 eax, eax
  00030	75 fc		 jne	 SHORT $LN2@operator@137

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

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

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

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

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

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

; 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 $T307844[ebp], eax
  00056	8b 4d e8	 mov	 ecx, DWORD PTR $T307844[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 $T307843[ebp], eax
  00067	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  0006b	83 7d ec 00	 cmp	 DWORD PTR $T307843[ebp], 0
  0006f	74 11		 je	 SHORT $LN3@Container_@21
  00071	8b 55 e4	 mov	 edx, DWORD PTR _this$[ebp]
  00074	52		 push	 edx
  00075	8b 4d ec	 mov	 ecx, DWORD PTR $T307843[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_@21
$LN3@Container_@21:
  00082	c7 45 e0 00 00
	00 00		 mov	 DWORD PTR tv133[ebp], 0
$LN4@Container_@21:
  00089	8b 45 e0	 mov	 eax, DWORD PTR tv133[ebp]
  0008c	89 45 f0	 mov	 DWORD PTR $T307842[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 $T307842[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@VIMixer@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixer@@@@@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@VIMixer@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixer@@@@@1@@Z$1:
  00008	8b 45 e8	 mov	 eax, DWORD PTR $T307844[ebp]
  0000b	50		 push	 eax
  0000c	8b 4d ec	 mov	 ecx, DWORD PTR $T307843[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@VIMixer@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixer@@@@@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@VIMixer@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixer@@@@@1@@Z
  0002f	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixer@@@@@1@@Z ENDP ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixer> > >::_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixer> > >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ?_Destroy@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@IAEXPAV?$SmartPtr@VIMixer@@@@0@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
?_Destroy@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@IAEXPAV?$SmartPtr@VIMixer@@@@0@Z PROC ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::_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@VIMixer@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixer@@@@0AAV?$allocator@V?$SmartPtr@VIMixer@@@@@0@@Z ; std::_Destroy_range<std::allocator<SmartPtr<IMixer> > >
  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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@IAEXPAV?$SmartPtr@VIMixer@@@@0@Z ENDP ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::_Destroy
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?begin@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@2@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
___$ReturnUdt$ = 8					; size = 4
?begin@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@2@XZ PROC ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE@PAV?$SmartPtr@VIMixer@@@@PBV_Container_base_aux@1@@Z ; std::_Vector_iterator<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::_Vector_iterator<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >
  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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@2@XZ ENDP ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::begin
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ?allocate@?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@QAEPAV?$SmartPtr@VIMixerLineDst@@@@I@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Count$ = 8						; size = 4
?allocate@?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@QAEPAV?$SmartPtr@VIMixerLineDst@@@@I@Z PROC ; std::allocator<SmartPtr<IMixerLineDst> >::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@VIMixerLineDst@@@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@IPAV1@@Z ; std::_Allocate<SmartPtr<IMixerLineDst> >
  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@VIMixerLineDst@@@@@std@@QAEPAV?$SmartPtr@VIMixerLineDst@@@@I@Z ENDP ; std::allocator<SmartPtr<IMixerLineDst> >::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@VIMixerLineDst@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@1@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@1@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@1@@Z$1
__ehfuncinfo$??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@1@@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@1@@Z
_TEXT	SEGMENT
tv133 = -32						; size = 4
_this$ = -28						; size = 4
$T307865 = -24						; size = 4
$T307864 = -20						; size = 4
$T307863 = -16						; size = 4
__$EHRec$ = -12						; size = 12
__Al$ = 8						; size = 1
??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@1@@Z PROC ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineDst> > >::_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineDst> > >, 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@VIMixerLineDst@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@1@@Z ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><SmartPtr<IMixerLineDst> >

; 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 $T307865[ebp], eax
  00056	8b 4d e8	 mov	 ecx, DWORD PTR $T307865[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 $T307864[ebp], eax
  00067	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  0006b	83 7d ec 00	 cmp	 DWORD PTR $T307864[ebp], 0
  0006f	74 11		 je	 SHORT $LN3@Container_@22
  00071	8b 55 e4	 mov	 edx, DWORD PTR _this$[ebp]
  00074	52		 push	 edx
  00075	8b 4d ec	 mov	 ecx, DWORD PTR $T307864[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_@22
$LN3@Container_@22:
  00082	c7 45 e0 00 00
	00 00		 mov	 DWORD PTR tv133[ebp], 0
$LN4@Container_@22:
  00089	8b 45 e0	 mov	 eax, DWORD PTR tv133[ebp]
  0008c	89 45 f0	 mov	 DWORD PTR $T307863[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 $T307863[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@VIMixerLineDst@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@1@@Z$1:
  00008	8b 45 e8	 mov	 eax, DWORD PTR $T307865[ebp]
  0000b	50		 push	 eax
  0000c	8b 4d ec	 mov	 ecx, DWORD PTR $T307864[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@VIMixerLineDst@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@1@@Z
  0002f	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@1@@Z ENDP ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineDst> > >::_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineDst> > >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ?_Destroy@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAEXPAV?$SmartPtr@VIMixerLineDst@@@@0@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
?_Destroy@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAEXPAV?$SmartPtr@VIMixerLineDst@@@@0@Z PROC ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::_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@VIMixerLineDst@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@0AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@0@@Z ; std::_Destroy_range<std::allocator<SmartPtr<IMixerLineDst> > >
  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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAEXPAV?$SmartPtr@VIMixerLineDst@@@@0@Z ENDP ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::_Destroy
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?begin@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@2@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
___$ReturnUdt$ = 8					; size = 4
?begin@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@2@XZ PROC ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE@PAV?$SmartPtr@VIMixerLineDst@@@@PBV_Container_base_aux@1@@Z ; std::_Vector_iterator<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::_Vector_iterator<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >
  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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@2@XZ ENDP ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::begin
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ?allocate@?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@QAEPAV?$SmartPtr@VIMixerLineSrc@@@@I@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Count$ = 8						; size = 4
?allocate@?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@QAEPAV?$SmartPtr@VIMixerLineSrc@@@@I@Z PROC ; std::allocator<SmartPtr<IMixerLineSrc> >::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@VIMixerLineSrc@@@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@IPAV1@@Z ; std::_Allocate<SmartPtr<IMixerLineSrc> >
  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@VIMixerLineSrc@@@@@std@@QAEPAV?$SmartPtr@VIMixerLineSrc@@@@I@Z ENDP ; std::allocator<SmartPtr<IMixerLineSrc> >::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@VIMixerLineSrc@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@1@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@1@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@1@@Z$1
__ehfuncinfo$??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@1@@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@1@@Z
_TEXT	SEGMENT
tv133 = -32						; size = 4
_this$ = -28						; size = 4
$T307886 = -24						; size = 4
$T307885 = -20						; size = 4
$T307884 = -16						; size = 4
__$EHRec$ = -12						; size = 12
__Al$ = 8						; size = 1
??0?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@1@@Z PROC ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineSrc> > >::_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineSrc> > >, 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@VIMixerLineSrc@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@@?$allocator@V_Aux_cont@std@@@std@@QAE@ABV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@1@@Z ; std::allocator<std::_Aux_cont>::allocator<std::_Aux_cont><SmartPtr<IMixerLineSrc> >

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

; 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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixer@@@@@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@VIMixer@@@@@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixer> > >::~_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixer> > >
__ehhandler$??0?$_Vector_val@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixer@@@@@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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixer@@@@@1@@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0?$_Vector_val@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixer@@@@@1@@Z ENDP ; std::_Vector_val<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::_Vector_val<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >
; Function compile flags: /Odtp
;	COMDAT ?_Tidy@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@IAEXXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?_Tidy@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@IAEXXZ PROC ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::_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@21

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

; 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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@IAEXXZ ENDP ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::_Tidy
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?end@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@2@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
___$ReturnUdt$ = 8					; size = 4
?end@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@2@XZ PROC ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE@PAV?$SmartPtr@VIMixer@@@@PBV_Container_base_aux@1@@Z ; std::_Vector_iterator<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::_Vector_iterator<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >
  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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@2@XZ ENDP ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::end
_TEXT	ENDS
;	COMDAT xdata$x
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
xdata$x	SEGMENT
__unwindtable$??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAE@XZ$0
__ehfuncinfo$??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@@std@@@std@@IAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAE@XZ PROC ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineDst> > >::~_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineDst> > >, 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@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@@std@@@std@@IAE@XZ ENDP ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineDst> > >::~_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineDst> > >
;	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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@1@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$_Vector_val@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@1@@Z$0
__ehfuncinfo$??0?$_Vector_val@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@1@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0?$_Vector_val@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@1@@Z
_TEXT	SEGMENT
_this$ = -20						; size = 4
$T307935 = -16						; size = 4
__$EHRec$ = -12						; size = 12
__Al$ = 8						; size = 1
??0?$_Vector_val@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@1@@Z PROC ; std::_Vector_val<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::_Vector_val<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >, 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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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 $T307935[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@VIMixerLineDst@@@@@std@@QAE@ABV01@@Z ; std::allocator<SmartPtr<IMixerLineDst> >::allocator<SmartPtr<IMixerLineDst> >
  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@VIMixerLineDst@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@1@@Z ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineDst> > >::_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineDst> > >
  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@VIMixerLineDst@@@@@std@@QAE@ABV01@@Z ; std::allocator<SmartPtr<IMixerLineDst> >::allocator<SmartPtr<IMixerLineDst> >

; 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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineDst> > >::~_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineDst> > >
__ehhandler$??0?$_Vector_val@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@1@@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0?$_Vector_val@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@1@@Z ENDP ; std::_Vector_val<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::_Vector_val<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >
; Function compile flags: /Odtp
;	COMDAT ?_Tidy@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAEXXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?_Tidy@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAEXXZ PROC ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::_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@22

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

; 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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAEXXZ ENDP ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::_Tidy
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?end@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@2@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
___$ReturnUdt$ = 8					; size = 4
?end@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@2@XZ PROC ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE@PAV?$SmartPtr@VIMixerLineDst@@@@PBV_Container_base_aux@1@@Z ; std::_Vector_iterator<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::_Vector_iterator<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >
  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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@2@XZ ENDP ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::end
_TEXT	ENDS
;	COMDAT xdata$x
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
xdata$x	SEGMENT
__unwindtable$??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAE@XZ$0
__ehfuncinfo$??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@@std@@@std@@IAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$_Container_base_aux_alloc_real@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAE@XZ PROC ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineSrc> > >::~_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineSrc> > >, 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@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@@std@@@std@@IAE@XZ ENDP ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineSrc> > >::~_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineSrc> > >
;	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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@1@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$_Vector_val@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@1@@Z$0
__ehfuncinfo$??0?$_Vector_val@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@1@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0?$_Vector_val@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@1@@Z
_TEXT	SEGMENT
_this$ = -20						; size = 4
$T307958 = -16						; size = 4
__$EHRec$ = -12						; size = 12
__Al$ = 8						; size = 1
??0?$_Vector_val@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@1@@Z PROC ; std::_Vector_val<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::_Vector_val<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >, 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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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 $T307958[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@VIMixerLineSrc@@@@@std@@QAE@ABV01@@Z ; std::allocator<SmartPtr<IMixerLineSrc> >::allocator<SmartPtr<IMixerLineSrc> >
  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@VIMixerLineSrc@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@1@@Z ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineSrc> > >::_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineSrc> > >
  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@VIMixerLineSrc@@@@@std@@QAE@ABV01@@Z ; std::allocator<SmartPtr<IMixerLineSrc> >::allocator<SmartPtr<IMixerLineSrc> >

; 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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineSrc> > >::~_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineSrc> > >
__ehhandler$??0?$_Vector_val@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@1@@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0?$_Vector_val@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@1@@Z ENDP ; std::_Vector_val<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::_Vector_val<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >
; Function compile flags: /Odtp
;	COMDAT ?_Tidy@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAEXXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?_Tidy@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAEXXZ PROC ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::_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@23

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

; 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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAEXXZ ENDP ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::_Tidy
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?end@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@2@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
___$ReturnUdt$ = 8					; size = 4
?end@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@2@XZ PROC ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@PAV?$SmartPtr@VIMixerLineSrc@@@@PBV_Container_base_aux@1@@Z ; std::_Vector_iterator<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::_Vector_iterator<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >
  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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE?AV?$_Vector_iterator@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@2@XZ ENDP ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::end
_TEXT	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1?$_Vector_val@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$_Vector_val@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE@XZ$0
__ehfuncinfo$??1?$_Vector_val@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$_Vector_val@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$_Vector_val@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE@XZ PROC ; std::_Vector_val<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::~_Vector_val<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >, 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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@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@VIMixer@@@@@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixer> > >::~_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixer> > >
  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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@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@VIMixer@@@@@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixer> > >::~_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixer> > >
__ehhandler$??1?$_Vector_val@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1?$_Vector_val@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE@XZ ENDP ; std::_Vector_val<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::~_Vector_val<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1?$_Vector_val@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$_Vector_val@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE@XZ$0
__ehfuncinfo$??1?$_Vector_val@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$_Vector_val@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$_Vector_val@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE@XZ PROC ; std::_Vector_val<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::~_Vector_val<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >, 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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineDst> > >::~_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineDst> > >
  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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineDst> > >::~_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineDst> > >
__ehhandler$??1?$_Vector_val@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1?$_Vector_val@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE@XZ ENDP ; std::_Vector_val<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::~_Vector_val<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1?$_Vector_val@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$_Vector_val@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@XZ$0
__ehfuncinfo$??1?$_Vector_val@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$_Vector_val@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$_Vector_val@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@XZ PROC ; std::_Vector_val<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::~_Vector_val<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >, 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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineSrc> > >::~_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineSrc> > >
  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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@@std@@@std@@IAE@XZ ; std::_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineSrc> > >::~_Container_base_aux_alloc_real<std::allocator<SmartPtr<IMixerLineSrc> > >
__ehhandler$??1?$_Vector_val@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1?$_Vector_val@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@XZ ENDP ; std::_Vector_val<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::~_Vector_val<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >
;	COMDAT xdata$x
; File c:\develop\dscaler423a\dscaler\smartptr.h
xdata$x	SEGMENT
__unwindtable$?GetRawPointer@?$SmartPtr@VIMixer@@@@QBEPAVIMixer@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?GetRawPointer@?$SmartPtr@VIMixer@@@@QBEPAVIMixer@@XZ$0
__ehfuncinfo$?GetRawPointer@?$SmartPtr@VIMixer@@@@QBEPAVIMixer@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?GetRawPointer@?$SmartPtr@VIMixer@@@@QBEPAVIMixer@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?GetRawPointer@?$SmartPtr@VIMixer@@@@QBEPAVIMixer@@XZ
_TEXT	SEGMENT
tv72 = -32						; size = 4
_this$ = -28						; size = 4
$T308001 = -24						; size = 4
$T308000 = -20						; size = 4
$T307999 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?GetRawPointer@?$SmartPtr@VIMixer@@@@QBEPAVIMixer@@XZ PROC ; SmartPtr<IMixer>::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@VIMixer@@@@QBEPAVIMixer@@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@69
  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 $T308001[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 $T308001[ebp], 0
  00048	74 0d		 je	 SHORT $LN4@GetRawPoin@69
  0004a	8b 4d e8	 mov	 ecx, DWORD PTR $T308001[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@69
$LN4@GetRawPoin@69:
  00057	c7 45 e0 00 00
	00 00		 mov	 DWORD PTR tv72[ebp], 0
$LN5@GetRawPoin@69:
  0005e	8b 4d e0	 mov	 ecx, DWORD PTR tv72[ebp]
  00061	89 4d ec	 mov	 DWORD PTR $T308000[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 $T308000[ebp]
  0006e	89 55 f0	 mov	 DWORD PTR $T307999[ebp], edx
  00071	68 00 00 00 00	 push	 OFFSET __TI3PAUNullPointerException@@
  00076	8d 45 f0	 lea	 eax, DWORD PTR $T307999[ebp]
  00079	50		 push	 eax
  0007a	e8 00 00 00 00	 call	 __CxxThrowException@8
$LN1@GetRawPoin@69:

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

; 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@VIMixer@@@@QBEPAVIMixer@@XZ$0:
  00000	8b 45 e8	 mov	 eax, DWORD PTR $T308001[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@VIMixer@@@@QBEPAVIMixer@@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@VIMixer@@@@QBEPAVIMixer@@XZ
  00021	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?GetRawPointer@?$SmartPtr@VIMixer@@@@QBEPAVIMixer@@XZ ENDP ; SmartPtr<IMixer>::GetRawPointer
; Function compile flags: /Odtp
;	COMDAT ??C?$SmartPtr@VIMixer@@@@QBEPAVIMixer@@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??C?$SmartPtr@VIMixer@@@@QBEPAVIMixer@@XZ PROC		; SmartPtr<IMixer>::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@VIMixer@@@@QBEPAVIMixer@@XZ ; SmartPtr<IMixer>::GetRawPointer

; 170  :     }

  0000f	8b e5		 mov	 esp, ebp
  00011	5d		 pop	 ebp
  00012	c3		 ret	 0
??C?$SmartPtr@VIMixer@@@@QBEPAVIMixer@@XZ ENDP		; SmartPtr<IMixer>::operator->
_TEXT	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0?$SmartPtr@VIMixer@@@@QAE@PAVIMixer@@PAUCounter@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$SmartPtr@VIMixer@@@@QAE@PAVIMixer@@PAUCounter@@@Z$0
__ehfuncinfo$??0?$SmartPtr@VIMixer@@@@QAE@PAVIMixer@@PAUCounter@@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0?$SmartPtr@VIMixer@@@@QAE@PAVIMixer@@PAUCounter@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0?$SmartPtr@VIMixer@@@@QAE@PAVIMixer@@PAUCounter@@@Z
_TEXT	SEGMENT
tv78 = -28						; size = 4
_this$ = -24						; size = 4
$T308016 = -20						; size = 4
$T308015 = -16						; size = 4
__$EHRec$ = -12						; size = 12
_raw$ = 8						; size = 4
_c$ = 12						; size = 4
??0?$SmartPtr@VIMixer@@@@QAE@PAVIMixer@@PAUCounter@@@Z PROC ; SmartPtr<IMixer>::SmartPtr<IMixer>, COMDAT
; _this$ = ecx

; 92   :     {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0?$SmartPtr@VIMixer@@@@QAE@PAVIMixer@@PAUCounter@@@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
  00028	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  0002b	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], 0
  00031	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00034	c7 41 04 00 00
	00 00		 mov	 DWORD PTR [ecx+4], 0

; 93   :         if (raw)

  0003b	83 7d 08 00	 cmp	 DWORD PTR _raw$[ebp], 0
  0003f	74 62		 je	 SHORT $LN4@SmartPtr@8

; 94   :         {
; 95   :             rawPtr = raw;

  00041	8b 55 e8	 mov	 edx, DWORD PTR _this$[ebp]
  00044	8b 45 08	 mov	 eax, DWORD PTR _raw$[ebp]
  00047	89 02		 mov	 DWORD PTR [edx], eax

; 96   :             if (c) acquire(c);

  00049	83 7d 0c 00	 cmp	 DWORD PTR _c$[ebp], 0
  0004d	74 0e		 je	 SHORT $LN2@SmartPtr@8
  0004f	8b 4d 0c	 mov	 ecx, DWORD PTR _c$[ebp]
  00052	51		 push	 ecx
  00053	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00056	e8 00 00 00 00	 call	 ?acquire@?$SmartPtr@VIMixer@@@@AAEXPAUCounter@@@Z ; SmartPtr<IMixer>::acquire
  0005b	eb 46		 jmp	 SHORT $LN4@SmartPtr@8
$LN2@SmartPtr@8:

; 97   :             else counter = new Counter;

  0005d	6a 04		 push	 4
  0005f	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  00064	83 c4 04	 add	 esp, 4
  00067	89 45 ec	 mov	 DWORD PTR $T308016[ebp], eax
  0006a	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00071	83 7d ec 00	 cmp	 DWORD PTR $T308016[ebp], 0
  00075	74 0f		 je	 SHORT $LN6@SmartPtr@8
  00077	6a 01		 push	 1
  00079	8b 4d ec	 mov	 ecx, DWORD PTR $T308016[ebp]
  0007c	e8 00 00 00 00	 call	 ??0Counter@@QAE@I@Z	; Counter::Counter
  00081	89 45 e4	 mov	 DWORD PTR tv78[ebp], eax
  00084	eb 07		 jmp	 SHORT $LN7@SmartPtr@8
$LN6@SmartPtr@8:
  00086	c7 45 e4 00 00
	00 00		 mov	 DWORD PTR tv78[ebp], 0
$LN7@SmartPtr@8:
  0008d	8b 55 e4	 mov	 edx, DWORD PTR tv78[ebp]
  00090	89 55 f0	 mov	 DWORD PTR $T308015[ebp], edx
  00093	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0009a	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  0009d	8b 4d f0	 mov	 ecx, DWORD PTR $T308015[ebp]
  000a0	89 48 04	 mov	 DWORD PTR [eax+4], ecx
$LN4@SmartPtr@8:

; 98   :         }
; 99   :     }

  000a3	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  000a6	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  000a9	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000b0	59		 pop	 ecx
  000b1	8b e5		 mov	 esp, ebp
  000b3	5d		 pop	 ebp
  000b4	c2 08 00	 ret	 8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$SmartPtr@VIMixer@@@@QAE@PAVIMixer@@PAUCounter@@@Z$0:
  00000	8b 45 ec	 mov	 eax, DWORD PTR $T308016[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$??0?$SmartPtr@VIMixer@@@@QAE@PAVIMixer@@PAUCounter@@@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$??0?$SmartPtr@VIMixer@@@@QAE@PAVIMixer@@PAUCounter@@@Z
  00021	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0?$SmartPtr@VIMixer@@@@QAE@PAVIMixer@@PAUCounter@@@Z ENDP ; SmartPtr<IMixer>::SmartPtr<IMixer>
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?GetRawPointer@?$SmartPtr@VIMixerLineDst@@@@QBEPAVIMixerLineDst@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?GetRawPointer@?$SmartPtr@VIMixerLineDst@@@@QBEPAVIMixerLineDst@@XZ$0
__ehfuncinfo$?GetRawPointer@?$SmartPtr@VIMixerLineDst@@@@QBEPAVIMixerLineDst@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?GetRawPointer@?$SmartPtr@VIMixerLineDst@@@@QBEPAVIMixerLineDst@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?GetRawPointer@?$SmartPtr@VIMixerLineDst@@@@QBEPAVIMixerLineDst@@XZ
_TEXT	SEGMENT
tv72 = -32						; size = 4
_this$ = -28						; size = 4
$T308030 = -24						; size = 4
$T308029 = -20						; size = 4
$T308028 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?GetRawPointer@?$SmartPtr@VIMixerLineDst@@@@QBEPAVIMixerLineDst@@XZ PROC ; SmartPtr<IMixerLineDst>::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@VIMixerLineDst@@@@QBEPAVIMixerLineDst@@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@70
  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 $T308030[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 $T308030[ebp], 0
  00048	74 0d		 je	 SHORT $LN4@GetRawPoin@70
  0004a	8b 4d e8	 mov	 ecx, DWORD PTR $T308030[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@70
$LN4@GetRawPoin@70:
  00057	c7 45 e0 00 00
	00 00		 mov	 DWORD PTR tv72[ebp], 0
$LN5@GetRawPoin@70:
  0005e	8b 4d e0	 mov	 ecx, DWORD PTR tv72[ebp]
  00061	89 4d ec	 mov	 DWORD PTR $T308029[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 $T308029[ebp]
  0006e	89 55 f0	 mov	 DWORD PTR $T308028[ebp], edx
  00071	68 00 00 00 00	 push	 OFFSET __TI3PAUNullPointerException@@
  00076	8d 45 f0	 lea	 eax, DWORD PTR $T308028[ebp]
  00079	50		 push	 eax
  0007a	e8 00 00 00 00	 call	 __CxxThrowException@8
$LN1@GetRawPoin@70:

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

; 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@VIMixerLineDst@@@@QBEPAVIMixerLineDst@@XZ$0:
  00000	8b 45 e8	 mov	 eax, DWORD PTR $T308030[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@VIMixerLineDst@@@@QBEPAVIMixerLineDst@@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@VIMixerLineDst@@@@QBEPAVIMixerLineDst@@XZ
  00021	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?GetRawPointer@?$SmartPtr@VIMixerLineDst@@@@QBEPAVIMixerLineDst@@XZ ENDP ; SmartPtr<IMixerLineDst>::GetRawPointer
; Function compile flags: /Odtp
;	COMDAT ??C?$SmartPtr@VIMixerLineDst@@@@QBEPAVIMixerLineDst@@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??C?$SmartPtr@VIMixerLineDst@@@@QBEPAVIMixerLineDst@@XZ PROC ; SmartPtr<IMixerLineDst>::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@VIMixerLineDst@@@@QBEPAVIMixerLineDst@@XZ ; SmartPtr<IMixerLineDst>::GetRawPointer

; 170  :     }

  0000f	8b e5		 mov	 esp, ebp
  00011	5d		 pop	 ebp
  00012	c3		 ret	 0
??C?$SmartPtr@VIMixerLineDst@@@@QBEPAVIMixerLineDst@@XZ ENDP ; SmartPtr<IMixerLineDst>::operator->
_TEXT	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0?$SmartPtr@VIMixerLineDst@@@@QAE@PAVIMixerLineDst@@PAUCounter@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$SmartPtr@VIMixerLineDst@@@@QAE@PAVIMixerLineDst@@PAUCounter@@@Z$0
__ehfuncinfo$??0?$SmartPtr@VIMixerLineDst@@@@QAE@PAVIMixerLineDst@@PAUCounter@@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0?$SmartPtr@VIMixerLineDst@@@@QAE@PAVIMixerLineDst@@PAUCounter@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0?$SmartPtr@VIMixerLineDst@@@@QAE@PAVIMixerLineDst@@PAUCounter@@@Z
_TEXT	SEGMENT
tv78 = -28						; size = 4
_this$ = -24						; size = 4
$T308045 = -20						; size = 4
$T308044 = -16						; size = 4
__$EHRec$ = -12						; size = 12
_raw$ = 8						; size = 4
_c$ = 12						; size = 4
??0?$SmartPtr@VIMixerLineDst@@@@QAE@PAVIMixerLineDst@@PAUCounter@@@Z PROC ; SmartPtr<IMixerLineDst>::SmartPtr<IMixerLineDst>, COMDAT
; _this$ = ecx

; 92   :     {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0?$SmartPtr@VIMixerLineDst@@@@QAE@PAVIMixerLineDst@@PAUCounter@@@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
  00028	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  0002b	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], 0
  00031	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00034	c7 41 04 00 00
	00 00		 mov	 DWORD PTR [ecx+4], 0

; 93   :         if (raw)

  0003b	83 7d 08 00	 cmp	 DWORD PTR _raw$[ebp], 0
  0003f	74 62		 je	 SHORT $LN4@SmartPtr@9

; 94   :         {
; 95   :             rawPtr = raw;

  00041	8b 55 e8	 mov	 edx, DWORD PTR _this$[ebp]
  00044	8b 45 08	 mov	 eax, DWORD PTR _raw$[ebp]
  00047	89 02		 mov	 DWORD PTR [edx], eax

; 96   :             if (c) acquire(c);

  00049	83 7d 0c 00	 cmp	 DWORD PTR _c$[ebp], 0
  0004d	74 0e		 je	 SHORT $LN2@SmartPtr@9
  0004f	8b 4d 0c	 mov	 ecx, DWORD PTR _c$[ebp]
  00052	51		 push	 ecx
  00053	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00056	e8 00 00 00 00	 call	 ?acquire@?$SmartPtr@VIMixerLineDst@@@@AAEXPAUCounter@@@Z ; SmartPtr<IMixerLineDst>::acquire
  0005b	eb 46		 jmp	 SHORT $LN4@SmartPtr@9
$LN2@SmartPtr@9:

; 97   :             else counter = new Counter;

  0005d	6a 04		 push	 4
  0005f	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  00064	83 c4 04	 add	 esp, 4
  00067	89 45 ec	 mov	 DWORD PTR $T308045[ebp], eax
  0006a	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00071	83 7d ec 00	 cmp	 DWORD PTR $T308045[ebp], 0
  00075	74 0f		 je	 SHORT $LN6@SmartPtr@9
  00077	6a 01		 push	 1
  00079	8b 4d ec	 mov	 ecx, DWORD PTR $T308045[ebp]
  0007c	e8 00 00 00 00	 call	 ??0Counter@@QAE@I@Z	; Counter::Counter
  00081	89 45 e4	 mov	 DWORD PTR tv78[ebp], eax
  00084	eb 07		 jmp	 SHORT $LN7@SmartPtr@9
$LN6@SmartPtr@9:
  00086	c7 45 e4 00 00
	00 00		 mov	 DWORD PTR tv78[ebp], 0
$LN7@SmartPtr@9:
  0008d	8b 55 e4	 mov	 edx, DWORD PTR tv78[ebp]
  00090	89 55 f0	 mov	 DWORD PTR $T308044[ebp], edx
  00093	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0009a	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  0009d	8b 4d f0	 mov	 ecx, DWORD PTR $T308044[ebp]
  000a0	89 48 04	 mov	 DWORD PTR [eax+4], ecx
$LN4@SmartPtr@9:

; 98   :         }
; 99   :     }

  000a3	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  000a6	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  000a9	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000b0	59		 pop	 ecx
  000b1	8b e5		 mov	 esp, ebp
  000b3	5d		 pop	 ebp
  000b4	c2 08 00	 ret	 8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$SmartPtr@VIMixerLineDst@@@@QAE@PAVIMixerLineDst@@PAUCounter@@@Z$0:
  00000	8b 45 ec	 mov	 eax, DWORD PTR $T308045[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$??0?$SmartPtr@VIMixerLineDst@@@@QAE@PAVIMixerLineDst@@PAUCounter@@@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$??0?$SmartPtr@VIMixerLineDst@@@@QAE@PAVIMixerLineDst@@PAUCounter@@@Z
  00021	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0?$SmartPtr@VIMixerLineDst@@@@QAE@PAVIMixerLineDst@@PAUCounter@@@Z ENDP ; SmartPtr<IMixerLineDst>::SmartPtr<IMixerLineDst>
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?GetRawPointer@?$SmartPtr@VIMixerLineSrc@@@@QBEPAVIMixerLineSrc@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?GetRawPointer@?$SmartPtr@VIMixerLineSrc@@@@QBEPAVIMixerLineSrc@@XZ$0
__ehfuncinfo$?GetRawPointer@?$SmartPtr@VIMixerLineSrc@@@@QBEPAVIMixerLineSrc@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?GetRawPointer@?$SmartPtr@VIMixerLineSrc@@@@QBEPAVIMixerLineSrc@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?GetRawPointer@?$SmartPtr@VIMixerLineSrc@@@@QBEPAVIMixerLineSrc@@XZ
_TEXT	SEGMENT
tv72 = -32						; size = 4
_this$ = -28						; size = 4
$T308059 = -24						; size = 4
$T308058 = -20						; size = 4
$T308057 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?GetRawPointer@?$SmartPtr@VIMixerLineSrc@@@@QBEPAVIMixerLineSrc@@XZ PROC ; SmartPtr<IMixerLineSrc>::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@VIMixerLineSrc@@@@QBEPAVIMixerLineSrc@@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@71
  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 $T308059[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 $T308059[ebp], 0
  00048	74 0d		 je	 SHORT $LN4@GetRawPoin@71
  0004a	8b 4d e8	 mov	 ecx, DWORD PTR $T308059[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@71
$LN4@GetRawPoin@71:
  00057	c7 45 e0 00 00
	00 00		 mov	 DWORD PTR tv72[ebp], 0
$LN5@GetRawPoin@71:
  0005e	8b 4d e0	 mov	 ecx, DWORD PTR tv72[ebp]
  00061	89 4d ec	 mov	 DWORD PTR $T308058[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 $T308058[ebp]
  0006e	89 55 f0	 mov	 DWORD PTR $T308057[ebp], edx
  00071	68 00 00 00 00	 push	 OFFSET __TI3PAUNullPointerException@@
  00076	8d 45 f0	 lea	 eax, DWORD PTR $T308057[ebp]
  00079	50		 push	 eax
  0007a	e8 00 00 00 00	 call	 __CxxThrowException@8
$LN1@GetRawPoin@71:

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

; 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@VIMixerLineSrc@@@@QBEPAVIMixerLineSrc@@XZ$0:
  00000	8b 45 e8	 mov	 eax, DWORD PTR $T308059[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@VIMixerLineSrc@@@@QBEPAVIMixerLineSrc@@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@VIMixerLineSrc@@@@QBEPAVIMixerLineSrc@@XZ
  00021	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?GetRawPointer@?$SmartPtr@VIMixerLineSrc@@@@QBEPAVIMixerLineSrc@@XZ ENDP ; SmartPtr<IMixerLineSrc>::GetRawPointer
; Function compile flags: /Odtp
;	COMDAT ??C?$SmartPtr@VIMixerLineSrc@@@@QBEPAVIMixerLineSrc@@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??C?$SmartPtr@VIMixerLineSrc@@@@QBEPAVIMixerLineSrc@@XZ PROC ; SmartPtr<IMixerLineSrc>::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@VIMixerLineSrc@@@@QBEPAVIMixerLineSrc@@XZ ; SmartPtr<IMixerLineSrc>::GetRawPointer

; 170  :     }

  0000f	8b e5		 mov	 esp, ebp
  00011	5d		 pop	 ebp
  00012	c3		 ret	 0
??C?$SmartPtr@VIMixerLineSrc@@@@QBEPAVIMixerLineSrc@@XZ ENDP ; SmartPtr<IMixerLineSrc>::operator->
_TEXT	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0?$SmartPtr@VIMixerLineSrc@@@@QAE@PAVIMixerLineSrc@@PAUCounter@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$SmartPtr@VIMixerLineSrc@@@@QAE@PAVIMixerLineSrc@@PAUCounter@@@Z$0
__ehfuncinfo$??0?$SmartPtr@VIMixerLineSrc@@@@QAE@PAVIMixerLineSrc@@PAUCounter@@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0?$SmartPtr@VIMixerLineSrc@@@@QAE@PAVIMixerLineSrc@@PAUCounter@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0?$SmartPtr@VIMixerLineSrc@@@@QAE@PAVIMixerLineSrc@@PAUCounter@@@Z
_TEXT	SEGMENT
tv78 = -28						; size = 4
_this$ = -24						; size = 4
$T308074 = -20						; size = 4
$T308073 = -16						; size = 4
__$EHRec$ = -12						; size = 12
_raw$ = 8						; size = 4
_c$ = 12						; size = 4
??0?$SmartPtr@VIMixerLineSrc@@@@QAE@PAVIMixerLineSrc@@PAUCounter@@@Z PROC ; SmartPtr<IMixerLineSrc>::SmartPtr<IMixerLineSrc>, COMDAT
; _this$ = ecx

; 92   :     {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0?$SmartPtr@VIMixerLineSrc@@@@QAE@PAVIMixerLineSrc@@PAUCounter@@@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
  00028	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  0002b	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], 0
  00031	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00034	c7 41 04 00 00
	00 00		 mov	 DWORD PTR [ecx+4], 0

; 93   :         if (raw)

  0003b	83 7d 08 00	 cmp	 DWORD PTR _raw$[ebp], 0
  0003f	74 62		 je	 SHORT $LN4@SmartPtr@10

; 94   :         {
; 95   :             rawPtr = raw;

  00041	8b 55 e8	 mov	 edx, DWORD PTR _this$[ebp]
  00044	8b 45 08	 mov	 eax, DWORD PTR _raw$[ebp]
  00047	89 02		 mov	 DWORD PTR [edx], eax

; 96   :             if (c) acquire(c);

  00049	83 7d 0c 00	 cmp	 DWORD PTR _c$[ebp], 0
  0004d	74 0e		 je	 SHORT $LN2@SmartPtr@10
  0004f	8b 4d 0c	 mov	 ecx, DWORD PTR _c$[ebp]
  00052	51		 push	 ecx
  00053	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00056	e8 00 00 00 00	 call	 ?acquire@?$SmartPtr@VIMixerLineSrc@@@@AAEXPAUCounter@@@Z ; SmartPtr<IMixerLineSrc>::acquire
  0005b	eb 46		 jmp	 SHORT $LN4@SmartPtr@10
$LN2@SmartPtr@10:

; 97   :             else counter = new Counter;

  0005d	6a 04		 push	 4
  0005f	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  00064	83 c4 04	 add	 esp, 4
  00067	89 45 ec	 mov	 DWORD PTR $T308074[ebp], eax
  0006a	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00071	83 7d ec 00	 cmp	 DWORD PTR $T308074[ebp], 0
  00075	74 0f		 je	 SHORT $LN6@SmartPtr@10
  00077	6a 01		 push	 1
  00079	8b 4d ec	 mov	 ecx, DWORD PTR $T308074[ebp]
  0007c	e8 00 00 00 00	 call	 ??0Counter@@QAE@I@Z	; Counter::Counter
  00081	89 45 e4	 mov	 DWORD PTR tv78[ebp], eax
  00084	eb 07		 jmp	 SHORT $LN7@SmartPtr@10
$LN6@SmartPtr@10:
  00086	c7 45 e4 00 00
	00 00		 mov	 DWORD PTR tv78[ebp], 0
$LN7@SmartPtr@10:
  0008d	8b 55 e4	 mov	 edx, DWORD PTR tv78[ebp]
  00090	89 55 f0	 mov	 DWORD PTR $T308073[ebp], edx
  00093	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0009a	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  0009d	8b 4d f0	 mov	 ecx, DWORD PTR $T308073[ebp]
  000a0	89 48 04	 mov	 DWORD PTR [eax+4], ecx
$LN4@SmartPtr@10:

; 98   :         }
; 99   :     }

  000a3	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  000a6	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  000a9	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000b0	59		 pop	 ecx
  000b1	8b e5		 mov	 esp, ebp
  000b3	5d		 pop	 ebp
  000b4	c2 08 00	 ret	 8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$SmartPtr@VIMixerLineSrc@@@@QAE@PAVIMixerLineSrc@@PAUCounter@@@Z$0:
  00000	8b 45 ec	 mov	 eax, DWORD PTR $T308074[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$??0?$SmartPtr@VIMixerLineSrc@@@@QAE@PAVIMixerLineSrc@@PAUCounter@@@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$??0?$SmartPtr@VIMixerLineSrc@@@@QAE@PAVIMixerLineSrc@@PAUCounter@@@Z
  00021	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0?$SmartPtr@VIMixerLineSrc@@@@QAE@PAVIMixerLineSrc@@PAUCounter@@@Z ENDP ; SmartPtr<IMixerLineSrc>::SmartPtr<IMixerLineSrc>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ??A?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAEAAV?$SmartPtr@VIMixer@@@@I@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Pos$ = 8						; size = 4
??A?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAEAAV?$SmartPtr@VIMixer@@@@I@Z PROC ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::size
  0000f	39 45 08	 cmp	 DWORD PTR __Pos$[ebp], eax
  00012	72 05		 jb	 SHORT $LN2@operator@140
  00014	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN2@operator@140:
  00019	33 c0		 xor	 eax, eax
  0001b	75 fc		 jne	 SHORT $LN2@operator@140

; 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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAEAAV?$SmartPtr@VIMixer@@@@I@Z ENDP ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::operator[]
_TEXT	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE@XZ$0
__ehfuncinfo$??1?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE@XZ PROC ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::~vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >, 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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@IAEXXZ ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::_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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE@XZ
__ehhandler$??1?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE@XZ ENDP ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::~vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >
; Function compile flags: /Odtp
;	COMDAT ??A?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAEAAV?$SmartPtr@VIMixerLineDst@@@@I@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Pos$ = 8						; size = 4
??A?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAEAAV?$SmartPtr@VIMixerLineDst@@@@I@Z PROC ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::size
  0000f	39 45 08	 cmp	 DWORD PTR __Pos$[ebp], eax
  00012	72 05		 jb	 SHORT $LN2@operator@141
  00014	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN2@operator@141:
  00019	33 c0		 xor	 eax, eax
  0001b	75 fc		 jne	 SHORT $LN2@operator@141

; 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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAEAAV?$SmartPtr@VIMixerLineDst@@@@I@Z ENDP ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::operator[]
_TEXT	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE@XZ$0
__ehfuncinfo$??1?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE@XZ PROC ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::~vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >, 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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAEXXZ ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::_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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE@XZ
__ehhandler$??1?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE@XZ ENDP ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::~vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >
; Function compile flags: /Odtp
;	COMDAT ??A?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAEAAV?$SmartPtr@VIMixerLineSrc@@@@I@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Pos$ = 8						; size = 4
??A?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAEAAV?$SmartPtr@VIMixerLineSrc@@@@I@Z PROC ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::size
  0000f	39 45 08	 cmp	 DWORD PTR __Pos$[ebp], eax
  00012	72 05		 jb	 SHORT $LN2@operator@142
  00014	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN2@operator@142:
  00019	33 c0		 xor	 eax, eax
  0001b	75 fc		 jne	 SHORT $LN2@operator@142

; 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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAEAAV?$SmartPtr@VIMixerLineSrc@@@@I@Z ENDP ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::operator[]
_TEXT	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@XZ$0
__ehfuncinfo$??1?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@XZ PROC ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::~vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >, 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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAEXXZ ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::_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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@XZ
__ehhandler$??1?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@XZ ENDP ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::~vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1CMixerList@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1CMixerList@@QAE@XZ$0
__ehfuncinfo$??1CMixerList@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1CMixerList@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??1CMixerList@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1CMixerList@@QAE@XZ PROC				; CMixerList::~CMixerList, 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$??1CMixerList@@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?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::~vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >
  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$??1CMixerList@@QAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::~vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >
__ehhandler$??1CMixerList@@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$??1CMixerList@@QAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1CMixerList@@QAE@XZ ENDP				; CMixerList::~CMixerList
PUBLIC	?GetMixer@CMixerList@@QAEPAVIMixer@@J@Z		; CMixerList::GetMixer
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\mixerdevclasses.cpp
;	COMDAT ?GetMixer@CMixerList@@QAEPAVIMixer@@J@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_nMixerIndex$ = 8					; size = 4
?GetMixer@CMixerList@@QAEPAVIMixer@@J@Z PROC		; CMixerList::GetMixer, COMDAT
; _this$ = ecx

; 669  : {

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

; 670  :     if(nMixerIndex >= 0 && nMixerIndex <= m_Mixers.size())

  00007	83 7d 08 00	 cmp	 DWORD PTR _nMixerIndex$[ebp], 0
  0000b	7c 24		 jl	 SHORT $LN2@GetMixer
  0000d	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00010	e8 00 00 00 00	 call	 ?size@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::size
  00015	39 45 08	 cmp	 DWORD PTR _nMixerIndex$[ebp], eax
  00018	77 17		 ja	 SHORT $LN2@GetMixer

; 671  :     {
; 672  :         return m_Mixers[nMixerIndex].GetRawPointer();

  0001a	8b 45 08	 mov	 eax, DWORD PTR _nMixerIndex$[ebp]
  0001d	50		 push	 eax
  0001e	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00021	e8 00 00 00 00	 call	 ??A?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAEAAV?$SmartPtr@VIMixer@@@@I@Z ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::operator[]
  00026	8b c8		 mov	 ecx, eax
  00028	e8 00 00 00 00	 call	 ?GetRawPointer@?$SmartPtr@VIMixer@@@@QBEPAVIMixer@@XZ ; SmartPtr<IMixer>::GetRawPointer
  0002d	eb 04		 jmp	 SHORT $LN3@GetMixer

; 673  :     }
; 674  :     else

  0002f	eb 02		 jmp	 SHORT $LN3@GetMixer
$LN2@GetMixer:

; 675  :     {
; 676  :         return NULL;

  00031	33 c0		 xor	 eax, eax
$LN3@GetMixer:

; 677  :     }
; 678  : }

  00033	8b e5		 mov	 esp, ebp
  00035	5d		 pop	 ebp
  00036	c2 04 00	 ret	 4
?GetMixer@CMixerList@@QAEPAVIMixer@@J@Z ENDP		; CMixerList::GetMixer
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?RestoreState@CVistaMixerLineDst@@UAEXXZ
_TEXT	SEGMENT
tv76 = -12						; size = 4
_this$ = -8						; size = 4
_i$148600 = -4						; size = 4
?RestoreState@CVistaMixerLineDst@@UAEXXZ PROC		; CVistaMixerLineDst::RestoreState, COMDAT
; _this$ = ecx

; 535  :     {

  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

; 536  :         for (DWORD i = 0; i < m_SourceLines.size(); i++)

  00009	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _i$148600[ebp], 0
  00010	eb 09		 jmp	 SHORT $LN3@RestoreSta
$LN2@RestoreSta:
  00012	8b 45 fc	 mov	 eax, DWORD PTR _i$148600[ebp]
  00015	83 c0 01	 add	 eax, 1
  00018	89 45 fc	 mov	 DWORD PTR _i$148600[ebp], eax
$LN3@RestoreSta:
  0001b	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0001e	83 c1 08	 add	 ecx, 8
  00021	e8 00 00 00 00	 call	 ?size@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::size
  00026	39 45 fc	 cmp	 DWORD PTR _i$148600[ebp], eax
  00029	73 28		 jae	 SHORT $LN4@RestoreSta

; 537  :         {
; 538  :             m_SourceLines[i]->RestoreState();

  0002b	8b 4d fc	 mov	 ecx, DWORD PTR _i$148600[ebp]
  0002e	51		 push	 ecx
  0002f	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00032	83 c1 08	 add	 ecx, 8
  00035	e8 00 00 00 00	 call	 ??A?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAEAAV?$SmartPtr@VIMixerLineSrc@@@@I@Z ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::operator[]
  0003a	8b c8		 mov	 ecx, eax
  0003c	e8 00 00 00 00	 call	 ??C?$SmartPtr@VIMixerLineSrc@@@@QBEPAVIMixerLineSrc@@XZ ; SmartPtr<IMixerLineSrc>::operator->
  00041	89 45 f4	 mov	 DWORD PTR tv76[ebp], eax
  00044	8b 55 f4	 mov	 edx, DWORD PTR tv76[ebp]
  00047	8b 02		 mov	 eax, DWORD PTR [edx]
  00049	8b 4d f4	 mov	 ecx, DWORD PTR tv76[ebp]
  0004c	8b 50 1c	 mov	 edx, DWORD PTR [eax+28]
  0004f	ff d2		 call	 edx

; 539  :         }

  00051	eb bf		 jmp	 SHORT $LN2@RestoreSta
$LN4@RestoreSta:

; 540  :     }

  00053	8b e5		 mov	 esp, ebp
  00055	5d		 pop	 ebp
  00056	c3		 ret	 0
?RestoreState@CVistaMixerLineDst@@UAEXXZ ENDP		; CVistaMixerLineDst::RestoreState
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?StoreState@CVistaMixerLineDst@@UAEXXZ
_TEXT	SEGMENT
tv76 = -12						; size = 4
_this$ = -8						; size = 4
_i$148594 = -4						; size = 4
?StoreState@CVistaMixerLineDst@@UAEXXZ PROC		; CVistaMixerLineDst::StoreState, COMDAT
; _this$ = ecx

; 527  :     {

  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

; 528  :         for (DWORD i = 0; i < m_SourceLines.size(); i++)

  00009	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _i$148594[ebp], 0
  00010	eb 09		 jmp	 SHORT $LN3@StoreState
$LN2@StoreState:
  00012	8b 45 fc	 mov	 eax, DWORD PTR _i$148594[ebp]
  00015	83 c0 01	 add	 eax, 1
  00018	89 45 fc	 mov	 DWORD PTR _i$148594[ebp], eax
$LN3@StoreState:
  0001b	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0001e	83 c1 08	 add	 ecx, 8
  00021	e8 00 00 00 00	 call	 ?size@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::size
  00026	39 45 fc	 cmp	 DWORD PTR _i$148594[ebp], eax
  00029	73 28		 jae	 SHORT $LN4@StoreState

; 529  :         {
; 530  :             m_SourceLines[i]->StoreState();

  0002b	8b 4d fc	 mov	 ecx, DWORD PTR _i$148594[ebp]
  0002e	51		 push	 ecx
  0002f	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00032	83 c1 08	 add	 ecx, 8
  00035	e8 00 00 00 00	 call	 ??A?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAEAAV?$SmartPtr@VIMixerLineSrc@@@@I@Z ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::operator[]
  0003a	8b c8		 mov	 ecx, eax
  0003c	e8 00 00 00 00	 call	 ??C?$SmartPtr@VIMixerLineSrc@@@@QBEPAVIMixerLineSrc@@XZ ; SmartPtr<IMixerLineSrc>::operator->
  00041	89 45 f4	 mov	 DWORD PTR tv76[ebp], eax
  00044	8b 55 f4	 mov	 edx, DWORD PTR tv76[ebp]
  00047	8b 02		 mov	 eax, DWORD PTR [edx]
  00049	8b 4d f4	 mov	 ecx, DWORD PTR tv76[ebp]
  0004c	8b 50 18	 mov	 edx, DWORD PTR [eax+24]
  0004f	ff d2		 call	 edx

; 531  :         }

  00051	eb bf		 jmp	 SHORT $LN2@StoreState
$LN4@StoreState:

; 532  :     }

  00053	8b e5		 mov	 esp, ebp
  00055	5d		 pop	 ebp
  00056	c3		 ret	 0
?StoreState@CVistaMixerLineDst@@UAEXXZ ENDP		; CVistaMixerLineDst::StoreState
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?GetSourceLine@CVistaMixerLineDst@@UAEPAVIMixerLineSrc@@K@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_nIndex$ = 8						; size = 4
?GetSourceLine@CVistaMixerLineDst@@UAEPAVIMixerLineSrc@@K@Z PROC ; CVistaMixerLineDst::GetSourceLine, COMDAT
; _this$ = ecx

; 522  :     {

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

; 523  :         return m_SourceLines[nIndex].GetRawPointer();

  00007	8b 45 08	 mov	 eax, DWORD PTR _nIndex$[ebp]
  0000a	50		 push	 eax
  0000b	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000e	83 c1 08	 add	 ecx, 8
  00011	e8 00 00 00 00	 call	 ??A?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAEAAV?$SmartPtr@VIMixerLineSrc@@@@I@Z ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::operator[]
  00016	8b c8		 mov	 ecx, eax
  00018	e8 00 00 00 00	 call	 ?GetRawPointer@?$SmartPtr@VIMixerLineSrc@@@@QBEPAVIMixerLineSrc@@XZ ; SmartPtr<IMixerLineSrc>::GetRawPointer

; 524  :     }

  0001d	8b e5		 mov	 esp, ebp
  0001f	5d		 pop	 ebp
  00020	c2 04 00	 ret	 4
?GetSourceLine@CVistaMixerLineDst@@UAEPAVIMixerLineSrc@@K@Z ENDP ; CVistaMixerLineDst::GetSourceLine
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?RestoreState@CMixer@@UAEXXZ
_TEXT	SEGMENT
tv76 = -12						; size = 4
_this$ = -8						; size = 4
_i$148157 = -4						; size = 4
?RestoreState@CMixer@@UAEXXZ PROC			; CMixer::RestoreState, COMDAT
; _this$ = ecx

; 377  : {

  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

; 378  :     for (DWORD i = 0; i < m_pDestinationLines.size(); i++)

  00009	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _i$148157[ebp], 0
  00010	eb 09		 jmp	 SHORT $LN3@RestoreSta@2
$LN2@RestoreSta@2:
  00012	8b 45 fc	 mov	 eax, DWORD PTR _i$148157[ebp]
  00015	83 c0 01	 add	 eax, 1
  00018	89 45 fc	 mov	 DWORD PTR _i$148157[ebp], eax
$LN3@RestoreSta@2:
  0001b	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0001e	83 c1 5c	 add	 ecx, 92			; 0000005cH
  00021	e8 00 00 00 00	 call	 ?size@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::size
  00026	39 45 fc	 cmp	 DWORD PTR _i$148157[ebp], eax
  00029	73 28		 jae	 SHORT $LN4@RestoreSta@2

; 379  :     {
; 380  :         m_pDestinationLines[i]->RestoreState();

  0002b	8b 4d fc	 mov	 ecx, DWORD PTR _i$148157[ebp]
  0002e	51		 push	 ecx
  0002f	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00032	83 c1 5c	 add	 ecx, 92			; 0000005cH
  00035	e8 00 00 00 00	 call	 ??A?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAEAAV?$SmartPtr@VIMixerLineDst@@@@I@Z ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::operator[]
  0003a	8b c8		 mov	 ecx, eax
  0003c	e8 00 00 00 00	 call	 ??C?$SmartPtr@VIMixerLineDst@@@@QBEPAVIMixerLineDst@@XZ ; SmartPtr<IMixerLineDst>::operator->
  00041	89 45 f4	 mov	 DWORD PTR tv76[ebp], eax
  00044	8b 55 f4	 mov	 edx, DWORD PTR tv76[ebp]
  00047	8b 02		 mov	 eax, DWORD PTR [edx]
  00049	8b 4d f4	 mov	 ecx, DWORD PTR tv76[ebp]
  0004c	8b 50 14	 mov	 edx, DWORD PTR [eax+20]
  0004f	ff d2		 call	 edx
  00051	eb bf		 jmp	 SHORT $LN2@RestoreSta@2
$LN4@RestoreSta@2:

; 381  :     }
; 382  : }

  00053	8b e5		 mov	 esp, ebp
  00055	5d		 pop	 ebp
  00056	c3		 ret	 0
?RestoreState@CMixer@@UAEXXZ ENDP			; CMixer::RestoreState
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?StoreState@CMixer@@UAEXXZ
_TEXT	SEGMENT
tv76 = -12						; size = 4
_this$ = -8						; size = 4
_i$148150 = -4						; size = 4
?StoreState@CMixer@@UAEXXZ PROC				; CMixer::StoreState, COMDAT
; _this$ = ecx

; 368  : {

  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

; 369  :     for (DWORD i = 0; i < m_pDestinationLines.size(); i++)

  00009	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _i$148150[ebp], 0
  00010	eb 09		 jmp	 SHORT $LN3@StoreState@2
$LN2@StoreState@2:
  00012	8b 45 fc	 mov	 eax, DWORD PTR _i$148150[ebp]
  00015	83 c0 01	 add	 eax, 1
  00018	89 45 fc	 mov	 DWORD PTR _i$148150[ebp], eax
$LN3@StoreState@2:
  0001b	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0001e	83 c1 5c	 add	 ecx, 92			; 0000005cH
  00021	e8 00 00 00 00	 call	 ?size@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::size
  00026	39 45 fc	 cmp	 DWORD PTR _i$148150[ebp], eax
  00029	73 28		 jae	 SHORT $LN4@StoreState@2

; 370  :     {
; 371  :         m_pDestinationLines[i]->StoreState();

  0002b	8b 4d fc	 mov	 ecx, DWORD PTR _i$148150[ebp]
  0002e	51		 push	 ecx
  0002f	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00032	83 c1 5c	 add	 ecx, 92			; 0000005cH
  00035	e8 00 00 00 00	 call	 ??A?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAEAAV?$SmartPtr@VIMixerLineDst@@@@I@Z ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::operator[]
  0003a	8b c8		 mov	 ecx, eax
  0003c	e8 00 00 00 00	 call	 ??C?$SmartPtr@VIMixerLineDst@@@@QBEPAVIMixerLineDst@@XZ ; SmartPtr<IMixerLineDst>::operator->
  00041	89 45 f4	 mov	 DWORD PTR tv76[ebp], eax
  00044	8b 55 f4	 mov	 edx, DWORD PTR tv76[ebp]
  00047	8b 02		 mov	 eax, DWORD PTR [edx]
  00049	8b 4d f4	 mov	 ecx, DWORD PTR tv76[ebp]
  0004c	8b 50 10	 mov	 edx, DWORD PTR [eax+16]
  0004f	ff d2		 call	 edx
  00051	eb bf		 jmp	 SHORT $LN2@StoreState@2
$LN4@StoreState@2:

; 372  :     }
; 373  : }

  00053	8b e5		 mov	 esp, ebp
  00055	5d		 pop	 ebp
  00056	c3		 ret	 0
?StoreState@CMixer@@UAEXXZ ENDP				; CMixer::StoreState
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?GetDestinationLine@CMixer@@UAEPAVIMixerLineDst@@K@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_nIndex$ = 8						; size = 4
?GetDestinationLine@CMixer@@UAEPAVIMixerLineDst@@K@Z PROC ; CMixer::GetDestinationLine, COMDAT
; _this$ = ecx

; 357  : {

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

; 358  :     if (nIndex >= m_pDestinationLines.size())

  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	83 c1 5c	 add	 ecx, 92			; 0000005cH
  0000d	e8 00 00 00 00	 call	 ?size@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::size
  00012	39 45 08	 cmp	 DWORD PTR _nIndex$[ebp], eax
  00015	72 04		 jb	 SHORT $LN1@GetDestina

; 359  :     {
; 360  :         return NULL;

  00017	33 c0		 xor	 eax, eax
  00019	eb 16		 jmp	 SHORT $LN2@GetDestina
$LN1@GetDestina:

; 361  :     }
; 362  : 
; 363  :     return m_pDestinationLines[nIndex].GetRawPointer();

  0001b	8b 45 08	 mov	 eax, DWORD PTR _nIndex$[ebp]
  0001e	50		 push	 eax
  0001f	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00022	83 c1 5c	 add	 ecx, 92			; 0000005cH
  00025	e8 00 00 00 00	 call	 ??A?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAEAAV?$SmartPtr@VIMixerLineDst@@@@I@Z ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::operator[]
  0002a	8b c8		 mov	 ecx, eax
  0002c	e8 00 00 00 00	 call	 ?GetRawPointer@?$SmartPtr@VIMixerLineDst@@@@QBEPAVIMixerLineDst@@XZ ; SmartPtr<IMixerLineDst>::GetRawPointer
$LN2@GetDestina:

; 364  : }

  00031	8b e5		 mov	 esp, ebp
  00033	5d		 pop	 ebp
  00034	c2 04 00	 ret	 4
?GetDestinationLine@CMixer@@UAEPAVIMixerLineDst@@K@Z ENDP ; CMixer::GetDestinationLine
_TEXT	ENDS
PUBLIC	??1CMixer@@UAE@XZ				; CMixer::~CMixer
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1CMixer@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1CMixer@@UAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??1CMixer@@UAE@XZ$1
__ehfuncinfo$??1CMixer@@UAE@XZ DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??1CMixer@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??1CMixer@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1CMixer@@UAE@XZ PROC					; CMixer::~CMixer, COMDAT
; _this$ = ecx

; 330  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??1CMixer@@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 ??_7CMixer@@6B@
  0002f	c7 45 fc 01 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 1

; 331  :     if (m_hMixer != NULL)

  00036	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00039	83 79 04 00	 cmp	 DWORD PTR [ecx+4], 0
  0003d	74 0d		 je	 SHORT $LN2@CMixer

; 332  :     {
; 333  :         mixerClose(m_hMixer);

  0003f	8b 55 f0	 mov	 edx, DWORD PTR _this$[ebp]
  00042	8b 42 04	 mov	 eax, DWORD PTR [edx+4]
  00045	50		 push	 eax
  00046	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__mixerClose@4
$LN2@CMixer:

; 334  :     }
; 335  : }

  0004c	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  00050	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00053	83 c1 5c	 add	 ecx, 92			; 0000005cH
  00056	e8 00 00 00 00	 call	 ??1?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::~vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >
  0005b	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00062	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00065	e8 00 00 00 00	 call	 ??1IMixer@@UAE@XZ	; IMixer::~IMixer
  0006a	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0006d	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00074	59		 pop	 ecx
  00075	8b e5		 mov	 esp, ebp
  00077	5d		 pop	 ebp
  00078	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1CMixer@@UAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1IMixer@@UAE@XZ	; IMixer::~IMixer
__unwindfunclet$??1CMixer@@UAE@XZ$1:
  00008	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0000b	83 c1 5c	 add	 ecx, 92			; 0000005cH
  0000e	e9 00 00 00 00	 jmp	 ??1?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::~vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >
__ehhandler$??1CMixer@@UAE@XZ:
  00013	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00017	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0001a	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  0001d	33 c8		 xor	 ecx, eax
  0001f	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00024	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??1CMixer@@UAE@XZ
  00029	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1CMixer@@UAE@XZ ENDP					; CMixer::~CMixer
; Function compile flags: /Odtp
;	COMDAT ??_GCMixer@@UAEPAXI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___flags$ = 8						; size = 4
??_GCMixer@@UAEPAXI@Z PROC				; CMixer::`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	 ??1CMixer@@UAE@XZ	; CMixer::~CMixer
  0000f	8b 45 08	 mov	 eax, DWORD PTR ___flags$[ebp]
  00012	83 e0 01	 and	 eax, 1
  00015	74 0c		 je	 SHORT $LN1@scalar@43
  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@43:
  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
??_GCMixer@@UAEPAXI@Z ENDP				; CMixer::`scalar deleting destructor'
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?RestoreState@CMixerLineDst@@UAEXXZ
_TEXT	SEGMENT
tv76 = -12						; size = 4
_this$ = -8						; size = 4
_i$148049 = -4						; size = 4
?RestoreState@CMixerLineDst@@UAEXXZ PROC		; CMixerLineDst::RestoreState, COMDAT
; _this$ = ecx

; 277  : {

  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

; 278  :     for (DWORD i = 0; i < m_pSourceLines.size(); i++)

  00009	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _i$148049[ebp], 0
  00010	eb 09		 jmp	 SHORT $LN3@RestoreSta@3
$LN2@RestoreSta@3:
  00012	8b 45 fc	 mov	 eax, DWORD PTR _i$148049[ebp]
  00015	83 c0 01	 add	 eax, 1
  00018	89 45 fc	 mov	 DWORD PTR _i$148049[ebp], eax
$LN3@RestoreSta@3:
  0001b	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0001e	81 c1 1c 01 00
	00		 add	 ecx, 284		; 0000011cH
  00024	e8 00 00 00 00	 call	 ?size@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::size
  00029	39 45 fc	 cmp	 DWORD PTR _i$148049[ebp], eax
  0002c	73 2b		 jae	 SHORT $LN4@RestoreSta@3

; 279  :     {
; 280  :         m_pSourceLines[i]->RestoreState();

  0002e	8b 4d fc	 mov	 ecx, DWORD PTR _i$148049[ebp]
  00031	51		 push	 ecx
  00032	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00035	81 c1 1c 01 00
	00		 add	 ecx, 284		; 0000011cH
  0003b	e8 00 00 00 00	 call	 ??A?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAEAAV?$SmartPtr@VIMixerLineSrc@@@@I@Z ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::operator[]
  00040	8b c8		 mov	 ecx, eax
  00042	e8 00 00 00 00	 call	 ??C?$SmartPtr@VIMixerLineSrc@@@@QBEPAVIMixerLineSrc@@XZ ; SmartPtr<IMixerLineSrc>::operator->
  00047	89 45 f4	 mov	 DWORD PTR tv76[ebp], eax
  0004a	8b 55 f4	 mov	 edx, DWORD PTR tv76[ebp]
  0004d	8b 02		 mov	 eax, DWORD PTR [edx]
  0004f	8b 4d f4	 mov	 ecx, DWORD PTR tv76[ebp]
  00052	8b 50 1c	 mov	 edx, DWORD PTR [eax+28]
  00055	ff d2		 call	 edx
  00057	eb b9		 jmp	 SHORT $LN2@RestoreSta@3
$LN4@RestoreSta@3:

; 281  :     }
; 282  : }

  00059	8b e5		 mov	 esp, ebp
  0005b	5d		 pop	 ebp
  0005c	c3		 ret	 0
?RestoreState@CMixerLineDst@@UAEXXZ ENDP		; CMixerLineDst::RestoreState
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?StoreState@CMixerLineDst@@UAEXXZ
_TEXT	SEGMENT
tv76 = -12						; size = 4
_this$ = -8						; size = 4
_i$148042 = -4						; size = 4
?StoreState@CMixerLineDst@@UAEXXZ PROC			; CMixerLineDst::StoreState, COMDAT
; _this$ = ecx

; 268  : {

  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

; 269  :     for (DWORD i = 0; i < m_pSourceLines.size(); i++)

  00009	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _i$148042[ebp], 0
  00010	eb 09		 jmp	 SHORT $LN3@StoreState@3
$LN2@StoreState@3:
  00012	8b 45 fc	 mov	 eax, DWORD PTR _i$148042[ebp]
  00015	83 c0 01	 add	 eax, 1
  00018	89 45 fc	 mov	 DWORD PTR _i$148042[ebp], eax
$LN3@StoreState@3:
  0001b	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0001e	81 c1 1c 01 00
	00		 add	 ecx, 284		; 0000011cH
  00024	e8 00 00 00 00	 call	 ?size@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::size
  00029	39 45 fc	 cmp	 DWORD PTR _i$148042[ebp], eax
  0002c	73 2b		 jae	 SHORT $LN4@StoreState@3

; 270  :     {
; 271  :         m_pSourceLines[i]->StoreState();

  0002e	8b 4d fc	 mov	 ecx, DWORD PTR _i$148042[ebp]
  00031	51		 push	 ecx
  00032	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00035	81 c1 1c 01 00
	00		 add	 ecx, 284		; 0000011cH
  0003b	e8 00 00 00 00	 call	 ??A?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAEAAV?$SmartPtr@VIMixerLineSrc@@@@I@Z ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::operator[]
  00040	8b c8		 mov	 ecx, eax
  00042	e8 00 00 00 00	 call	 ??C?$SmartPtr@VIMixerLineSrc@@@@QBEPAVIMixerLineSrc@@XZ ; SmartPtr<IMixerLineSrc>::operator->
  00047	89 45 f4	 mov	 DWORD PTR tv76[ebp], eax
  0004a	8b 55 f4	 mov	 edx, DWORD PTR tv76[ebp]
  0004d	8b 02		 mov	 eax, DWORD PTR [edx]
  0004f	8b 4d f4	 mov	 ecx, DWORD PTR tv76[ebp]
  00052	8b 50 18	 mov	 edx, DWORD PTR [eax+24]
  00055	ff d2		 call	 edx
  00057	eb b9		 jmp	 SHORT $LN2@StoreState@3
$LN4@StoreState@3:

; 272  :     }
; 273  : }

  00059	8b e5		 mov	 esp, ebp
  0005b	5d		 pop	 ebp
  0005c	c3		 ret	 0
?StoreState@CMixerLineDst@@UAEXXZ ENDP			; CMixerLineDst::StoreState
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?GetSourceLine@CMixerLineDst@@UAEPAVIMixerLineSrc@@K@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_nIndex$ = 8						; size = 4
?GetSourceLine@CMixerLineDst@@UAEPAVIMixerLineSrc@@K@Z PROC ; CMixerLineDst::GetSourceLine, COMDAT
; _this$ = ecx

; 257  : {

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

; 258  :     if (nIndex >= m_pSourceLines.size())

  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	81 c1 1c 01 00
	00		 add	 ecx, 284		; 0000011cH
  00010	e8 00 00 00 00	 call	 ?size@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::size
  00015	39 45 08	 cmp	 DWORD PTR _nIndex$[ebp], eax
  00018	72 04		 jb	 SHORT $LN1@GetSourceL

; 259  :     {
; 260  :         return NULL;

  0001a	33 c0		 xor	 eax, eax
  0001c	eb 19		 jmp	 SHORT $LN2@GetSourceL
$LN1@GetSourceL:

; 261  :     }
; 262  : 
; 263  :     return m_pSourceLines[nIndex].GetRawPointer();

  0001e	8b 45 08	 mov	 eax, DWORD PTR _nIndex$[ebp]
  00021	50		 push	 eax
  00022	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00025	81 c1 1c 01 00
	00		 add	 ecx, 284		; 0000011cH
  0002b	e8 00 00 00 00	 call	 ??A?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAEAAV?$SmartPtr@VIMixerLineSrc@@@@I@Z ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::operator[]
  00030	8b c8		 mov	 ecx, eax
  00032	e8 00 00 00 00	 call	 ?GetRawPointer@?$SmartPtr@VIMixerLineSrc@@@@QBEPAVIMixerLineSrc@@XZ ; SmartPtr<IMixerLineSrc>::GetRawPointer
$LN2@GetSourceL:

; 264  : }

  00037	8b e5		 mov	 esp, ebp
  00039	5d		 pop	 ebp
  0003a	c2 04 00	 ret	 4
?GetSourceLine@CMixerLineDst@@UAEPAVIMixerLineSrc@@K@Z ENDP ; CMixerLineDst::GetSourceLine
_TEXT	ENDS
PUBLIC	??1CMixerLineDst@@UAE@XZ			; CMixerLineDst::~CMixerLineDst
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1CMixerLineDst@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1CMixerLineDst@@UAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??1CMixerLineDst@@UAE@XZ$1
__ehfuncinfo$??1CMixerLineDst@@UAE@XZ DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??1CMixerLineDst@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??1CMixerLineDst@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1CMixerLineDst@@UAE@XZ PROC				; CMixerLineDst::~CMixerLineDst, COMDAT
; _this$ = ecx

; 241  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??1CMixerLineDst@@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 ??_7CMixerLineDst@@6B@
  0002f	c7 45 fc 01 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 1

; 242  : }

  00036	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  0003a	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0003d	81 c1 1c 01 00
	00		 add	 ecx, 284		; 0000011cH
  00043	e8 00 00 00 00	 call	 ??1?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::~vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >
  00048	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0004f	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00052	e8 00 00 00 00	 call	 ??1IMixerLineDst@@UAE@XZ ; IMixerLineDst::~IMixerLineDst
  00057	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0005a	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00061	59		 pop	 ecx
  00062	8b e5		 mov	 esp, ebp
  00064	5d		 pop	 ebp
  00065	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1CMixerLineDst@@UAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1IMixerLineDst@@UAE@XZ ; IMixerLineDst::~IMixerLineDst
__unwindfunclet$??1CMixerLineDst@@UAE@XZ$1:
  00008	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0000b	81 c1 1c 01 00
	00		 add	 ecx, 284		; 0000011cH
  00011	e9 00 00 00 00	 jmp	 ??1?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::~vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >
__ehhandler$??1CMixerLineDst@@UAE@XZ:
  00016	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0001a	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0001d	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  00020	33 c8		 xor	 ecx, eax
  00022	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00027	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??1CMixerLineDst@@UAE@XZ
  0002c	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1CMixerLineDst@@UAE@XZ ENDP				; CMixerLineDst::~CMixerLineDst
; Function compile flags: /Odtp
;	COMDAT ??_GCMixerLineDst@@UAEPAXI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___flags$ = 8						; size = 4
??_GCMixerLineDst@@UAEPAXI@Z PROC			; CMixerLineDst::`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	 ??1CMixerLineDst@@UAE@XZ ; CMixerLineDst::~CMixerLineDst
  0000f	8b 45 08	 mov	 eax, DWORD PTR ___flags$[ebp]
  00012	83 e0 01	 and	 eax, 1
  00015	74 0c		 je	 SHORT $LN1@scalar@44
  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@44:
  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
??_GCMixerLineDst@@UAEPAXI@Z ENDP			; CMixerLineDst::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??1CMixerLineSrc@@UAE@XZ			; CMixerLineSrc::~CMixerLineSrc
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1CMixerLineSrc@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1CMixerLineSrc@@UAE@XZ$0
__ehfuncinfo$??1CMixerLineSrc@@UAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1CMixerLineSrc@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??1CMixerLineSrc@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1CMixerLineSrc@@UAE@XZ PROC				; CMixerLineSrc::~CMixerLineSrc, COMDAT
; _this$ = ecx

; 107  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??1CMixerLineSrc@@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 ??_7CMixerLineSrc@@6B@
  0002f	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 108  : }

  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	e8 00 00 00 00	 call	 ??1IMixerLineSrc@@UAE@XZ ; IMixerLineSrc::~IMixerLineSrc
  00045	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00048	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0004f	59		 pop	 ecx
  00050	8b e5		 mov	 esp, ebp
  00052	5d		 pop	 ebp
  00053	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1CMixerLineSrc@@UAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1IMixerLineSrc@@UAE@XZ ; IMixerLineSrc::~IMixerLineSrc
__ehhandler$??1CMixerLineSrc@@UAE@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$??1CMixerLineSrc@@UAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1CMixerLineSrc@@UAE@XZ ENDP				; CMixerLineSrc::~CMixerLineSrc
; Function compile flags: /Odtp
;	COMDAT ??_GCMixerLineSrc@@UAEPAXI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___flags$ = 8						; size = 4
??_GCMixerLineSrc@@UAEPAXI@Z PROC			; CMixerLineSrc::`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	 ??1CMixerLineSrc@@UAE@XZ ; CMixerLineSrc::~CMixerLineSrc
  0000f	8b 45 08	 mov	 eax, DWORD PTR ___flags$[ebp]
  00012	83 e0 01	 and	 eax, 1
  00015	74 0c		 je	 SHORT $LN1@scalar@45
  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@45:
  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
??_GCMixerLineSrc@@UAEPAXI@Z ENDP			; CMixerLineSrc::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??0CMixerLineSrc@@QAE@PAUHMIXER__@@KK@Z		; CMixerLineSrc::CMixerLineSrc
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0CMixerLineSrc@@QAE@PAUHMIXER__@@KK@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0CMixerLineSrc@@QAE@PAUHMIXER__@@KK@Z$0
__ehfuncinfo$??0CMixerLineSrc@@QAE@PAUHMIXER__@@KK@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0CMixerLineSrc@@QAE@PAUHMIXER__@@KK@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0CMixerLineSrc@@QAE@PAUHMIXER__@@KK@Z
_TEXT	SEGMENT
_this$ = -52						; size = 4
_i$147889 = -48						; size = 4
_mxlc$ = -44						; size = 24
_mmresult$ = -20					; size = 4
_pmxctrl$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
_hMixer$ = 8						; size = 4
_nDstIndex$ = 12					; size = 4
_nSrcIndex$ = 16					; size = 4
??0CMixerLineSrc@@QAE@PAUHMIXER__@@KK@Z PROC		; CMixerLineSrc::CMixerLineSrc, COMDAT
; _this$ = ecx

; 54   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0CMixerLineSrc@@QAE@PAUHMIXER__@@KK@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 28	 sub	 esp, 40			; 00000028H
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	50		 push	 eax
  0001c	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001f	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00025	89 4d cc	 mov	 DWORD PTR _this$[ebp], ecx
  00028	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  0002b	e8 00 00 00 00	 call	 ??0IMixerLineSrc@@QAE@XZ
  00030	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00037	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  0003a	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], OFFSET ??_7CMixerLineSrc@@6B@

; 55   :     MMRESULT mmresult;
; 56   : 
; 57   :     m_hMixer = hMixer;

  00040	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00043	8b 55 08	 mov	 edx, DWORD PTR _hMixer$[ebp]
  00046	89 51 04	 mov	 DWORD PTR [ecx+4], edx

; 58   :     m_VolumeControlID = 0xFFFFFFFF;

  00049	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  0004c	c7 80 20 01 00
	00 ff ff ff ff	 mov	 DWORD PTR [eax+288], -1

; 59   :     m_MuteControlID = 0xFFFFFFFF;

  00056	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00059	c7 81 2c 01 00
	00 ff ff ff ff	 mov	 DWORD PTR [ecx+300], -1

; 60   : 
; 61   :     ZeroMemory(&m_mxl, sizeof(MIXERLINE));

  00063	68 18 01 00 00	 push	 280			; 00000118H
  00068	6a 00		 push	 0
  0006a	8b 55 cc	 mov	 edx, DWORD PTR _this$[ebp]
  0006d	83 c2 08	 add	 edx, 8
  00070	52		 push	 edx
  00071	e8 00 00 00 00	 call	 _memset
  00076	83 c4 0c	 add	 esp, 12			; 0000000cH

; 62   : 
; 63   :     m_mxl.cbStruct      = sizeof(MIXERLINE);

  00079	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  0007c	c7 40 08 18 01
	00 00		 mov	 DWORD PTR [eax+8], 280	; 00000118H

; 64   :     m_mxl.dwDestination = nDstIndex;

  00083	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00086	8b 55 0c	 mov	 edx, DWORD PTR _nDstIndex$[ebp]
  00089	89 51 0c	 mov	 DWORD PTR [ecx+12], edx

; 65   :     m_mxl.dwSource      = nSrcIndex;

  0008c	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  0008f	8b 4d 10	 mov	 ecx, DWORD PTR _nSrcIndex$[ebp]
  00092	89 48 10	 mov	 DWORD PTR [eax+16], ecx

; 66   : 
; 67   :     mmresult = mixerGetLineInfo((HMIXEROBJ)hMixer, &m_mxl, MIXER_GETLINEINFOF_SOURCE);

  00095	6a 01		 push	 1
  00097	8b 55 cc	 mov	 edx, DWORD PTR _this$[ebp]
  0009a	83 c2 08	 add	 edx, 8
  0009d	52		 push	 edx
  0009e	8b 45 08	 mov	 eax, DWORD PTR _hMixer$[ebp]
  000a1	50		 push	 eax
  000a2	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__mixerGetLineInfoW@12
  000a8	89 45 ec	 mov	 DWORD PTR _mmresult$[ebp], eax

; 68   :     if (mmresult != MMSYSERR_NOERROR || m_mxl.cControls == 0)

  000ab	83 7d ec 00	 cmp	 DWORD PTR _mmresult$[ebp], 0
  000af	75 09		 jne	 SHORT $LN7@CMixerLine
  000b1	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  000b4	83 79 2c 00	 cmp	 DWORD PTR [ecx+44], 0
  000b8	75 19		 jne	 SHORT $LN8@CMixerLine
$LN7@CMixerLine:

; 69   :     {
; 70   :         _tcscpy(m_mxl.szName, _T("Error"));

  000ba	68 00 00 00 00	 push	 OFFSET ??_C@_1M@ILHOPKA@?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?$AA@
  000bf	8b 55 cc	 mov	 edx, DWORD PTR _this$[ebp]
  000c2	83 c2 50	 add	 edx, 80			; 00000050H
  000c5	52		 push	 edx
  000c6	e8 00 00 00 00	 call	 _wcscpy
  000cb	83 c4 08	 add	 esp, 8

; 71   :         return;

  000ce	e9 1b 01 00 00	 jmp	 $LN9@CMixerLine
$LN8@CMixerLine:

; 72   :     }
; 73   : 
; 74   :     MIXERLINECONTROLS mxlc;
; 75   :     LPMIXERCONTROL pmxctrl;
; 76   : 
; 77   :     pmxctrl = (MIXERCONTROL*)malloc(sizeof(MIXERCONTROL) * m_mxl.cControls);

  000d3	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  000d6	8b 48 2c	 mov	 ecx, DWORD PTR [eax+44]
  000d9	69 c9 e4 00 00
	00		 imul	 ecx, 228		; 000000e4H
  000df	51		 push	 ecx
  000e0	e8 00 00 00 00	 call	 _malloc
  000e5	83 c4 04	 add	 esp, 4
  000e8	89 45 f0	 mov	 DWORD PTR _pmxctrl$[ebp], eax

; 78   : 
; 79   :     mxlc.cbStruct   = sizeof(MIXERLINECONTROLS);

  000eb	c7 45 d4 18 00
	00 00		 mov	 DWORD PTR _mxlc$[ebp], 24 ; 00000018H

; 80   :     mxlc.dwLineID   = m_mxl.dwLineID;

  000f2	8b 55 cc	 mov	 edx, DWORD PTR _this$[ebp]
  000f5	8b 42 14	 mov	 eax, DWORD PTR [edx+20]
  000f8	89 45 d8	 mov	 DWORD PTR _mxlc$[ebp+4], eax

; 81   :     mxlc.cControls  = m_mxl.cControls;

  000fb	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  000fe	8b 51 2c	 mov	 edx, DWORD PTR [ecx+44]
  00101	89 55 e0	 mov	 DWORD PTR _mxlc$[ebp+12], edx

; 82   :     mxlc.cbmxctrl   = sizeof(MIXERCONTROL);

  00104	c7 45 e4 e4 00
	00 00		 mov	 DWORD PTR _mxlc$[ebp+16], 228 ; 000000e4H

; 83   :     mxlc.pamxctrl   = pmxctrl;

  0010b	8b 45 f0	 mov	 eax, DWORD PTR _pmxctrl$[ebp]
  0010e	89 45 e8	 mov	 DWORD PTR _mxlc$[ebp+20], eax

; 84   : 
; 85   :     mmresult = mixerGetLineControls((HMIXEROBJ)hMixer, &mxlc, MIXER_GETLINECONTROLSF_ALL);

  00111	6a 00		 push	 0
  00113	8d 4d d4	 lea	 ecx, DWORD PTR _mxlc$[ebp]
  00116	51		 push	 ecx
  00117	8b 55 08	 mov	 edx, DWORD PTR _hMixer$[ebp]
  0011a	52		 push	 edx
  0011b	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__mixerGetLineControlsW@12
  00121	89 45 ec	 mov	 DWORD PTR _mmresult$[ebp], eax

; 86   : 
; 87   :     for (DWORD i = 0; i < m_mxl.cControls; i++)

  00124	c7 45 d0 00 00
	00 00		 mov	 DWORD PTR _i$147889[ebp], 0
  0012b	eb 09		 jmp	 SHORT $LN6@CMixerLine
$LN5@CMixerLine:
  0012d	8b 45 d0	 mov	 eax, DWORD PTR _i$147889[ebp]
  00130	83 c0 01	 add	 eax, 1
  00133	89 45 d0	 mov	 DWORD PTR _i$147889[ebp], eax
$LN6@CMixerLine:
  00136	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00139	8b 55 d0	 mov	 edx, DWORD PTR _i$147889[ebp]
  0013c	3b 51 2c	 cmp	 edx, DWORD PTR [ecx+44]
  0013f	0f 83 9d 00 00
	00		 jae	 $LN4@CMixerLine

; 88   :     {
; 89   :         if (pmxctrl[i].dwControlType == MIXERCONTROL_CONTROLTYPE_VOLUME)

  00145	8b 45 d0	 mov	 eax, DWORD PTR _i$147889[ebp]
  00148	69 c0 e4 00 00
	00		 imul	 eax, 228		; 000000e4H
  0014e	8b 4d f0	 mov	 ecx, DWORD PTR _pmxctrl$[ebp]
  00151	81 7c 01 08 01
	00 03 50	 cmp	 DWORD PTR [ecx+eax+8], 1342373889 ; 50030001H
  00159	75 53		 jne	 SHORT $LN3@CMixerLine

; 90   :         {
; 91   :             m_VolumeControlID = pmxctrl[i].dwControlID;

  0015b	8b 55 d0	 mov	 edx, DWORD PTR _i$147889[ebp]
  0015e	69 d2 e4 00 00
	00		 imul	 edx, 228		; 000000e4H
  00164	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  00167	8b 4d f0	 mov	 ecx, DWORD PTR _pmxctrl$[ebp]
  0016a	8b 54 11 04	 mov	 edx, DWORD PTR [ecx+edx+4]
  0016e	89 90 20 01 00
	00		 mov	 DWORD PTR [eax+288], edx

; 92   :             m_VolumeMinimum = pmxctrl[i].Bounds.dwMinimum;

  00174	8b 45 d0	 mov	 eax, DWORD PTR _i$147889[ebp]
  00177	69 c0 e4 00 00
	00		 imul	 eax, 228		; 000000e4H
  0017d	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00180	8b 55 f0	 mov	 edx, DWORD PTR _pmxctrl$[ebp]
  00183	8b 84 02 b4 00
	00 00		 mov	 eax, DWORD PTR [edx+eax+180]
  0018a	89 81 24 01 00
	00		 mov	 DWORD PTR [ecx+292], eax

; 93   :             m_VolumeMaximum = pmxctrl[i].Bounds.dwMaximum;

  00190	8b 4d d0	 mov	 ecx, DWORD PTR _i$147889[ebp]
  00193	69 c9 e4 00 00
	00		 imul	 ecx, 228		; 000000e4H
  00199	8b 55 cc	 mov	 edx, DWORD PTR _this$[ebp]
  0019c	8b 45 f0	 mov	 eax, DWORD PTR _pmxctrl$[ebp]
  0019f	8b 8c 08 b8 00
	00 00		 mov	 ecx, DWORD PTR [eax+ecx+184]
  001a6	89 8a 28 01 00
	00		 mov	 DWORD PTR [edx+296], ecx
  001ac	eb 2f		 jmp	 SHORT $LN2@CMixerLine
$LN3@CMixerLine:

; 94   : 
; 95   :         }
; 96   :         else if (pmxctrl[i].dwControlType == MIXERCONTROL_CONTROLTYPE_MUTE)

  001ae	8b 55 d0	 mov	 edx, DWORD PTR _i$147889[ebp]
  001b1	69 d2 e4 00 00
	00		 imul	 edx, 228		; 000000e4H
  001b7	8b 45 f0	 mov	 eax, DWORD PTR _pmxctrl$[ebp]
  001ba	81 7c 10 08 02
	00 01 20	 cmp	 DWORD PTR [eax+edx+8], 536936450 ; 20010002H
  001c2	75 19		 jne	 SHORT $LN2@CMixerLine

; 97   :         {
; 98   :             m_MuteControlID = pmxctrl[i].dwControlID;

  001c4	8b 4d d0	 mov	 ecx, DWORD PTR _i$147889[ebp]
  001c7	69 c9 e4 00 00
	00		 imul	 ecx, 228		; 000000e4H
  001cd	8b 55 cc	 mov	 edx, DWORD PTR _this$[ebp]
  001d0	8b 45 f0	 mov	 eax, DWORD PTR _pmxctrl$[ebp]
  001d3	8b 4c 08 04	 mov	 ecx, DWORD PTR [eax+ecx+4]
  001d7	89 8a 2c 01 00
	00		 mov	 DWORD PTR [edx+300], ecx
$LN2@CMixerLine:

; 99   :         }
; 100  :     }

  001dd	e9 4b ff ff ff	 jmp	 $LN5@CMixerLine
$LN4@CMixerLine:

; 101  : 
; 102  :     free(pmxctrl);

  001e2	8b 55 f0	 mov	 edx, DWORD PTR _pmxctrl$[ebp]
  001e5	52		 push	 edx
  001e6	e8 00 00 00 00	 call	 _free
  001eb	83 c4 04	 add	 esp, 4
$LN9@CMixerLine:

; 103  : }

  001ee	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  001f5	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  001f8	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  001fb	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00202	59		 pop	 ecx
  00203	8b e5		 mov	 esp, ebp
  00205	5d		 pop	 ebp
  00206	c2 0c 00	 ret	 12			; 0000000cH
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0CMixerLineSrc@@QAE@PAUHMIXER__@@KK@Z$0:
  00000	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1IMixerLineSrc@@UAE@XZ ; IMixerLineSrc::~IMixerLineSrc
__ehhandler$??0CMixerLineSrc@@QAE@PAUHMIXER__@@KK@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 d4	 mov	 ecx, DWORD PTR [edx-44]
  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$??0CMixerLineSrc@@QAE@PAUHMIXER__@@KK@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0CMixerLineSrc@@QAE@PAUHMIXER__@@KK@Z ENDP		; CMixerLineSrc::CMixerLineSrc
; Function compile flags: /Odtp
;	COMDAT ??_GIMixer@@UAEPAXI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___flags$ = 8						; size = 4
??_GIMixer@@UAEPAXI@Z PROC				; IMixer::`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	 ??1IMixer@@UAE@XZ	; IMixer::~IMixer
  0000f	8b 45 08	 mov	 eax, DWORD PTR ___flags$[ebp]
  00012	83 e0 01	 and	 eax, 1
  00015	74 0c		 je	 SHORT $LN1@scalar@46
  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@46:
  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
??_GIMixer@@UAEPAXI@Z ENDP				; IMixer::`scalar deleting destructor'
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??_GIMixerLineDst@@UAEPAXI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___flags$ = 8						; size = 4
??_GIMixerLineDst@@UAEPAXI@Z PROC			; IMixerLineDst::`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	 ??1IMixerLineDst@@UAE@XZ ; IMixerLineDst::~IMixerLineDst
  0000f	8b 45 08	 mov	 eax, DWORD PTR ___flags$[ebp]
  00012	83 e0 01	 and	 eax, 1
  00015	74 0c		 je	 SHORT $LN1@scalar@47
  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@47:
  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
??_GIMixerLineDst@@UAEPAXI@Z ENDP			; IMixerLineDst::`scalar deleting destructor'
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??_GIMixerLineSrc@@UAEPAXI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___flags$ = 8						; size = 4
??_GIMixerLineSrc@@UAEPAXI@Z PROC			; IMixerLineSrc::`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	 ??1IMixerLineSrc@@UAE@XZ ; IMixerLineSrc::~IMixerLineSrc
  0000f	8b 45 08	 mov	 eax, DWORD PTR ___flags$[ebp]
  00012	83 e0 01	 and	 eax, 1
  00015	74 0c		 je	 SHORT $LN1@scalar@48
  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@48:
  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
??_GIMixerLineSrc@@UAEPAXI@Z ENDP			; IMixerLineSrc::`scalar deleting destructor'
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
;	COMDAT ??$_Copy_backward_opt@PAV?$SmartPtr@VIMixer@@@@PAV1@Uforward_iterator_tag@std@@@std@@YAPAV?$SmartPtr@VIMixer@@@@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@VIMixer@@@@PAV1@Uforward_iterator_tag@std@@@std@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00Uforward_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Copy_backward_opt<SmartPtr<IMixer> *,SmartPtr<IMixer> *,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@23:

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

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

; 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@VIMixer@@@@PAV1@Uforward_iterator_tag@std@@@std@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00Uforward_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Copy_backward_opt<SmartPtr<IMixer> *,SmartPtr<IMixer> *,std::forward_iterator_tag>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Copy_backward_opt@PAV?$SmartPtr@VIMixerLineDst@@@@PAV1@Uforward_iterator_tag@std@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@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@VIMixerLineDst@@@@PAV1@Uforward_iterator_tag@std@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00Uforward_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Copy_backward_opt<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *,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@24:

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

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

; 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@VIMixerLineDst@@@@PAV1@Uforward_iterator_tag@std@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00Uforward_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Copy_backward_opt<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *,std::forward_iterator_tag>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Copy_backward_opt@PAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@Uforward_iterator_tag@std@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@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@VIMixerLineSrc@@@@PAV1@Uforward_iterator_tag@std@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00Uforward_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Copy_backward_opt<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *,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@25:

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

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

; 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@VIMixerLineSrc@@@@PAV1@Uforward_iterator_tag@std@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00Uforward_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Copy_backward_opt<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *,std::forward_iterator_tag>
_TEXT	ENDS
;	COMDAT xdata$x
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
xdata$x	SEGMENT
__unwindtable$??$_Construct@V?$SmartPtr@VIMixer@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixer@@@@ABV1@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??$_Construct@V?$SmartPtr@VIMixer@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixer@@@@ABV1@@Z$0
__ehfuncinfo$??$_Construct@V?$SmartPtr@VIMixer@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixer@@@@ABV1@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??$_Construct@V?$SmartPtr@VIMixer@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixer@@@@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@VIMixer@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixer@@@@ABV1@@Z
_TEXT	SEGMENT
tv74 = -28						; size = 4
$T320408 = -24						; size = 4
$T320407 = -20						; size = 4
__Vptr$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
__Ptr$ = 8						; size = 4
__Val$ = 12						; size = 4
??$_Construct@V?$SmartPtr@VIMixer@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixer@@@@ABV1@@Z PROC ; std::_Construct<SmartPtr<IMixer>,SmartPtr<IMixer> >, 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@VIMixer@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixer@@@@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 $T320408[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 $T320408[ebp], 0
  00047	74 11		 je	 SHORT $LN3@Construct@28
  00049	8b 55 0c	 mov	 edx, DWORD PTR __Val$[ebp]
  0004c	52		 push	 edx
  0004d	8b 4d e8	 mov	 ecx, DWORD PTR $T320408[ebp]
  00050	e8 00 00 00 00	 call	 ??0?$SmartPtr@VIMixer@@@@QAE@ABV0@@Z ; SmartPtr<IMixer>::SmartPtr<IMixer>
  00055	89 45 e4	 mov	 DWORD PTR tv74[ebp], eax
  00058	eb 07		 jmp	 SHORT $LN4@Construct@28
$LN3@Construct@28:
  0005a	c7 45 e4 00 00
	00 00		 mov	 DWORD PTR tv74[ebp], 0
$LN4@Construct@28:
  00061	8b 45 e4	 mov	 eax, DWORD PTR tv74[ebp]
  00064	89 45 ec	 mov	 DWORD PTR $T320407[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@VIMixer@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixer@@@@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 $T320408[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@VIMixer@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixer@@@@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@VIMixer@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixer@@@@ABV1@@Z
  00027	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??$_Construct@V?$SmartPtr@VIMixer@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixer@@@@ABV1@@Z ENDP ; std::_Construct<SmartPtr<IMixer>,SmartPtr<IMixer> >
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??$_Construct@V?$SmartPtr@VIMixerLineDst@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@ABV1@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??$_Construct@V?$SmartPtr@VIMixerLineDst@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@ABV1@@Z$0
__ehfuncinfo$??$_Construct@V?$SmartPtr@VIMixerLineDst@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@ABV1@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??$_Construct@V?$SmartPtr@VIMixerLineDst@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@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@VIMixerLineDst@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@ABV1@@Z
_TEXT	SEGMENT
tv74 = -28						; size = 4
$T320421 = -24						; size = 4
$T320420 = -20						; size = 4
__Vptr$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
__Ptr$ = 8						; size = 4
__Val$ = 12						; size = 4
??$_Construct@V?$SmartPtr@VIMixerLineDst@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@ABV1@@Z PROC ; std::_Construct<SmartPtr<IMixerLineDst>,SmartPtr<IMixerLineDst> >, 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@VIMixerLineDst@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@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 $T320421[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 $T320421[ebp], 0
  00047	74 11		 je	 SHORT $LN3@Construct@29
  00049	8b 55 0c	 mov	 edx, DWORD PTR __Val$[ebp]
  0004c	52		 push	 edx
  0004d	8b 4d e8	 mov	 ecx, DWORD PTR $T320421[ebp]
  00050	e8 00 00 00 00	 call	 ??0?$SmartPtr@VIMixerLineDst@@@@QAE@ABV0@@Z ; SmartPtr<IMixerLineDst>::SmartPtr<IMixerLineDst>
  00055	89 45 e4	 mov	 DWORD PTR tv74[ebp], eax
  00058	eb 07		 jmp	 SHORT $LN4@Construct@29
$LN3@Construct@29:
  0005a	c7 45 e4 00 00
	00 00		 mov	 DWORD PTR tv74[ebp], 0
$LN4@Construct@29:
  00061	8b 45 e4	 mov	 eax, DWORD PTR tv74[ebp]
  00064	89 45 ec	 mov	 DWORD PTR $T320420[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@VIMixerLineDst@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@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 $T320421[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@VIMixerLineDst@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@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@VIMixerLineDst@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@ABV1@@Z
  00027	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??$_Construct@V?$SmartPtr@VIMixerLineDst@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@ABV1@@Z ENDP ; std::_Construct<SmartPtr<IMixerLineDst>,SmartPtr<IMixerLineDst> >
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??$_Construct@V?$SmartPtr@VIMixerLineSrc@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@ABV1@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??$_Construct@V?$SmartPtr@VIMixerLineSrc@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@ABV1@@Z$0
__ehfuncinfo$??$_Construct@V?$SmartPtr@VIMixerLineSrc@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@ABV1@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??$_Construct@V?$SmartPtr@VIMixerLineSrc@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@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@VIMixerLineSrc@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@ABV1@@Z
_TEXT	SEGMENT
tv74 = -28						; size = 4
$T320434 = -24						; size = 4
$T320433 = -20						; size = 4
__Vptr$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
__Ptr$ = 8						; size = 4
__Val$ = 12						; size = 4
??$_Construct@V?$SmartPtr@VIMixerLineSrc@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@ABV1@@Z PROC ; std::_Construct<SmartPtr<IMixerLineSrc>,SmartPtr<IMixerLineSrc> >, 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@VIMixerLineSrc@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@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 $T320434[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 $T320434[ebp], 0
  00047	74 11		 je	 SHORT $LN3@Construct@30
  00049	8b 55 0c	 mov	 edx, DWORD PTR __Val$[ebp]
  0004c	52		 push	 edx
  0004d	8b 4d e8	 mov	 ecx, DWORD PTR $T320434[ebp]
  00050	e8 00 00 00 00	 call	 ??0?$SmartPtr@VIMixerLineSrc@@@@QAE@ABV0@@Z ; SmartPtr<IMixerLineSrc>::SmartPtr<IMixerLineSrc>
  00055	89 45 e4	 mov	 DWORD PTR tv74[ebp], eax
  00058	eb 07		 jmp	 SHORT $LN4@Construct@30
$LN3@Construct@30:
  0005a	c7 45 e4 00 00
	00 00		 mov	 DWORD PTR tv74[ebp], 0
$LN4@Construct@30:
  00061	8b 45 e4	 mov	 eax, DWORD PTR tv74[ebp]
  00064	89 45 ec	 mov	 DWORD PTR $T320433[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@VIMixerLineSrc@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@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 $T320434[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@VIMixerLineSrc@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@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@VIMixerLineSrc@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@ABV1@@Z
  00027	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??$_Construct@V?$SmartPtr@VIMixerLineSrc@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@ABV1@@Z ENDP ; std::_Construct<SmartPtr<IMixerLineSrc>,SmartPtr<IMixerLineSrc> >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
;	COMDAT ??$_Copy_backward_opt@PAV?$SmartPtr@VIMixer@@@@PAV1@@std@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00Urandom_access_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
$T320448 = -7						; size = 1
$T320447 = -6						; size = 1
$T320446 = -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@VIMixer@@@@PAV1@@std@@YAPAV?$SmartPtr@VIMixer@@@@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<IMixer> *,SmartPtr<IMixer> *>, 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 $T320446[ebp], dl
  0001f	33 c0		 xor	 eax, eax
  00021	88 45 fa	 mov	 BYTE PTR $T320447[ebp], al
  00024	0f b6 4d fb	 movzx	 ecx, BYTE PTR $T320446[ebp]
  00028	51		 push	 ecx
  00029	0f b6 55 fa	 movzx	 edx, BYTE PTR $T320447[ebp]
  0002d	52		 push	 edx
  0002e	0f b6 45 f9	 movzx	 eax, BYTE PTR $T320448[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@VIMixer@@@@@std@@YAPAV?$SmartPtr@VIMixer@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<IMixer> *>
  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@VIMixer@@@@PAV1@Uforward_iterator_tag@std@@@std@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00Uforward_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_backward_opt<SmartPtr<IMixer> *,SmartPtr<IMixer> *,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@VIMixer@@@@PAV1@@std@@YAPAV?$SmartPtr@VIMixer@@@@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<IMixer> *,SmartPtr<IMixer> *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Copy_backward_opt@PAV?$SmartPtr@VIMixerLineDst@@@@PAV1@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00Urandom_access_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
$T320453 = -7						; size = 1
$T320452 = -6						; size = 1
$T320451 = -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@VIMixerLineDst@@@@PAV1@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@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<IMixerLineDst> *,SmartPtr<IMixerLineDst> *>, 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 $T320451[ebp], dl
  0001f	33 c0		 xor	 eax, eax
  00021	88 45 fa	 mov	 BYTE PTR $T320452[ebp], al
  00024	0f b6 4d fb	 movzx	 ecx, BYTE PTR $T320451[ebp]
  00028	51		 push	 ecx
  00029	0f b6 55 fa	 movzx	 edx, BYTE PTR $T320452[ebp]
  0002d	52		 push	 edx
  0002e	0f b6 45 f9	 movzx	 eax, BYTE PTR $T320453[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@VIMixerLineDst@@@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<IMixerLineDst> *>
  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@VIMixerLineDst@@@@PAV1@Uforward_iterator_tag@std@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00Uforward_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_backward_opt<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *,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@VIMixerLineDst@@@@PAV1@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@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<IMixerLineDst> *,SmartPtr<IMixerLineDst> *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Copy_backward_opt@PAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00Urandom_access_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
$T320458 = -7						; size = 1
$T320457 = -6						; size = 1
$T320456 = -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@VIMixerLineSrc@@@@PAV1@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@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<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *>, 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 $T320456[ebp], dl
  0001f	33 c0		 xor	 eax, eax
  00021	88 45 fa	 mov	 BYTE PTR $T320457[ebp], al
  00024	0f b6 4d fb	 movzx	 ecx, BYTE PTR $T320456[ebp]
  00028	51		 push	 ecx
  00029	0f b6 55 fa	 movzx	 edx, BYTE PTR $T320457[ebp]
  0002d	52		 push	 edx
  0002e	0f b6 45 f9	 movzx	 eax, BYTE PTR $T320458[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@VIMixerLineSrc@@@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<IMixerLineSrc> *>
  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@VIMixerLineSrc@@@@PAV1@Uforward_iterator_tag@std@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00Uforward_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_backward_opt<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *,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@VIMixerLineSrc@@@@PAV1@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@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<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *>
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xmemory
_TEXT	ENDS
;	COMDAT ?construct@?$allocator@V?$SmartPtr@VIMixer@@@@@std@@QAEXPAV?$SmartPtr@VIMixer@@@@ABV3@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Ptr$ = 8						; size = 4
__Val$ = 12						; size = 4
?construct@?$allocator@V?$SmartPtr@VIMixer@@@@@std@@QAEXPAV?$SmartPtr@VIMixer@@@@ABV3@@Z PROC ; std::allocator<SmartPtr<IMixer> >::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@VIMixer@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixer@@@@ABV1@@Z ; std::_Construct<SmartPtr<IMixer>,SmartPtr<IMixer> >
  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@VIMixer@@@@@std@@QAEXPAV?$SmartPtr@VIMixer@@@@ABV3@@Z ENDP ; std::allocator<SmartPtr<IMixer> >::construct
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?construct@?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@QAEXPAV?$SmartPtr@VIMixerLineDst@@@@ABV3@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Ptr$ = 8						; size = 4
__Val$ = 12						; size = 4
?construct@?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@QAEXPAV?$SmartPtr@VIMixerLineDst@@@@ABV3@@Z PROC ; std::allocator<SmartPtr<IMixerLineDst> >::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@VIMixerLineDst@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@ABV1@@Z ; std::_Construct<SmartPtr<IMixerLineDst>,SmartPtr<IMixerLineDst> >
  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@VIMixerLineDst@@@@@std@@QAEXPAV?$SmartPtr@VIMixerLineDst@@@@ABV3@@Z ENDP ; std::allocator<SmartPtr<IMixerLineDst> >::construct
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?construct@?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@QAEXPAV?$SmartPtr@VIMixerLineSrc@@@@ABV3@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Ptr$ = 8						; size = 4
__Val$ = 12						; size = 4
?construct@?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@QAEXPAV?$SmartPtr@VIMixerLineSrc@@@@ABV3@@Z PROC ; std::allocator<SmartPtr<IMixerLineSrc> >::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@VIMixerLineSrc@@@@V1@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@ABV1@@Z ; std::_Construct<SmartPtr<IMixerLineSrc>,SmartPtr<IMixerLineSrc> >
  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@VIMixerLineSrc@@@@@std@@QAEXPAV?$SmartPtr@VIMixerLineSrc@@@@ABV3@@Z ENDP ; std::allocator<SmartPtr<IMixerLineSrc> >::construct
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
_TEXT	ENDS
;	COMDAT ??$_Move_backward_opt@PAV?$SmartPtr@VIMixer@@@@PAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
$T320468 = -2						; size = 1
$T320467 = -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@VIMixer@@@@PAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Move_backward_opt<SmartPtr<IMixer> *,SmartPtr<IMixer> *,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 $T320467[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@VIMixer@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VIMixer@@@@0@Z ; std::_Ptr_cat<SmartPtr<IMixer> *,SmartPtr<IMixer> *>
  00016	83 c4 08	 add	 esp, 8
  00019	88 45 fe	 mov	 BYTE PTR $T320468[ebp], al
  0001c	0f b6 45 ff	 movzx	 eax, BYTE PTR $T320467[ebp]
  00020	50		 push	 eax
  00021	0f b6 4d fe	 movzx	 ecx, BYTE PTR $T320468[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@VIMixer@@@@PAV1@@std@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00Urandom_access_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_backward_opt<SmartPtr<IMixer> *,SmartPtr<IMixer> *>
  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@VIMixer@@@@PAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Move_backward_opt<SmartPtr<IMixer> *,SmartPtr<IMixer> *,std::random_access_iterator_tag,std::_Undefined_move_tag>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Move_backward_opt@PAV?$SmartPtr@VIMixerLineDst@@@@PAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
$T320472 = -2						; size = 1
$T320471 = -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@VIMixerLineDst@@@@PAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Move_backward_opt<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *,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 $T320471[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@VIMixerLineDst@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VIMixerLineDst@@@@0@Z ; std::_Ptr_cat<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *>
  00016	83 c4 08	 add	 esp, 8
  00019	88 45 fe	 mov	 BYTE PTR $T320472[ebp], al
  0001c	0f b6 45 ff	 movzx	 eax, BYTE PTR $T320471[ebp]
  00020	50		 push	 eax
  00021	0f b6 4d fe	 movzx	 ecx, BYTE PTR $T320472[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@VIMixerLineDst@@@@PAV1@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00Urandom_access_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_backward_opt<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *>
  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@VIMixerLineDst@@@@PAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Move_backward_opt<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *,std::random_access_iterator_tag,std::_Undefined_move_tag>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Move_backward_opt@PAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z
_TEXT	SEGMENT
$T320476 = -2						; size = 1
$T320475 = -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@VIMixerLineSrc@@@@PAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Move_backward_opt<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *,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 $T320475[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@VIMixerLineSrc@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VIMixerLineSrc@@@@0@Z ; std::_Ptr_cat<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *>
  00016	83 c4 08	 add	 esp, 8
  00019	88 45 fe	 mov	 BYTE PTR $T320476[ebp], al
  0001c	0f b6 45 ff	 movzx	 eax, BYTE PTR $T320475[ebp]
  00020	50		 push	 eax
  00021	0f b6 4d fe	 movzx	 ecx, BYTE PTR $T320476[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@VIMixerLineSrc@@@@PAV1@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00Urandom_access_iterator_tag@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Copy_backward_opt<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *>
  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@VIMixerLineSrc@@@@PAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Move_backward_opt<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *,std::random_access_iterator_tag,std::_Undefined_move_tag>
_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@VIMixer@@@@IV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixer@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixer@@@@@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@VIMixer@@@@IV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixer@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixer@@@@@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@VIMixer@@@@IV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixer@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixer@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z$0
__tryblocktable$??$_Uninit_fill_n@PAV?$SmartPtr@VIMixer@@@@IV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixer@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixer@@@@@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@VIMixer@@@@IV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixer@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixer@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z$2
__ehfuncinfo$??$_Uninit_fill_n@PAV?$SmartPtr@VIMixer@@@@IV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixer@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixer@@@@@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@VIMixer@@@@IV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixer@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixer@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
	DD	01H
	DD	FLAT:__tryblocktable$??$_Uninit_fill_n@PAV?$SmartPtr@VIMixer@@@@IV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixer@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixer@@@@@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@VIMixer@@@@IV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixer@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixer@@@@@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@VIMixer@@@@IV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixer@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixer@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Uninit_fill_n<SmartPtr<IMixer> *,unsigned int,SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >, 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@VIMixer@@@@IV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixer@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixer@@@@@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@16
$LN5@Uninit_fil@16:
  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@16:
  0004b	83 7d 0c 00	 cmp	 DWORD PTR __Count$[ebp], 0
  0004f	76 12		 jbe	 SHORT $LN4@Uninit_fil@16

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

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

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

; 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@VIMixer@@@@IV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixer@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixer@@@@@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@VIMixer@@@@IV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixer@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixer@@@@@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@VIMixer@@@@IV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixer@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixer@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Uninit_fill_n<SmartPtr<IMixer> *,unsigned int,SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??$_Uninit_fill_n@PAV?$SmartPtr@VIMixerLineDst@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z$0
__tryblocktable$??$_Uninit_fill_n@PAV?$SmartPtr@VIMixerLineDst@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z$2
__ehfuncinfo$??$_Uninit_fill_n@PAV?$SmartPtr@VIMixerLineDst@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
	DD	01H
	DD	FLAT:__tryblocktable$??$_Uninit_fill_n@PAV?$SmartPtr@VIMixerLineDst@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Uninit_fill_n<SmartPtr<IMixerLineDst> *,unsigned int,SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >, 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@VIMixerLineDst@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@17
$LN5@Uninit_fil@17:
  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@17:
  0004b	83 7d 0c 00	 cmp	 DWORD PTR __Count$[ebp], 0
  0004f	76 12		 jbe	 SHORT $LN4@Uninit_fil@17

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

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

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

; 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@VIMixerLineDst@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Uninit_fill_n<SmartPtr<IMixerLineDst> *,unsigned int,SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??$_Uninit_fill_n@PAV?$SmartPtr@VIMixerLineSrc@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z$0
__tryblocktable$??$_Uninit_fill_n@PAV?$SmartPtr@VIMixerLineSrc@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z$2
__ehfuncinfo$??$_Uninit_fill_n@PAV?$SmartPtr@VIMixerLineSrc@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
	DD	01H
	DD	FLAT:__tryblocktable$??$_Uninit_fill_n@PAV?$SmartPtr@VIMixerLineSrc@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Uninit_fill_n<SmartPtr<IMixerLineSrc> *,unsigned int,SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >, 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@VIMixerLineSrc@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@18
$LN5@Uninit_fil@18:
  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@18:
  0004b	83 7d 0c 00	 cmp	 DWORD PTR __Count$[ebp], 0
  0004f	76 12		 jbe	 SHORT $LN4@Uninit_fil@18

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

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

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

; 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@VIMixerLineSrc@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Uninit_fill_n<SmartPtr<IMixerLineSrc> *,unsigned int,SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\xutility
;	COMDAT ??$_Unchecked_move_backward@PAV?$SmartPtr@VIMixer@@@@PAV1@@stdext@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00@Z
_TEXT	SEGMENT
$T320526 = -3						; size = 1
$T320525 = -2						; size = 1
$T320524 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
??$_Unchecked_move_backward@PAV?$SmartPtr@VIMixer@@@@PAV1@@stdext@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00@Z PROC ; stdext::_Unchecked_move_backward<SmartPtr<IMixer> *,SmartPtr<IMixer> *>, 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 $T320524[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@VIMixer@@@@@std@@YA?AU_Undefined_move_tag@0@ABQAV?$SmartPtr@VIMixer@@@@@Z ; std::_Move_cat<SmartPtr<IMixer> *>
  00012	83 c4 04	 add	 esp, 4
  00015	88 45 fe	 mov	 BYTE PTR $T320525[ebp], al
  00018	0f b6 55 ff	 movzx	 edx, BYTE PTR $T320524[ebp]
  0001c	52		 push	 edx
  0001d	0f b6 45 fe	 movzx	 eax, BYTE PTR $T320525[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 $T320526[ebp]
  0002d	50		 push	 eax
  0002e	e8 00 00 00 00	 call	 ??$_Iter_random@PAV?$SmartPtr@VIMixer@@@@PAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAV?$SmartPtr@VIMixer@@@@0@Z ; std::_Iter_random<SmartPtr<IMixer> *,SmartPtr<IMixer> *>
  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@VIMixer@@@@@std@@YAPAV?$SmartPtr@VIMixer@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<IMixer> *>
  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@VIMixer@@@@@std@@YAPAV?$SmartPtr@VIMixer@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<IMixer> *>
  00054	83 c4 04	 add	 esp, 4
  00057	50		 push	 eax
  00058	e8 00 00 00 00	 call	 ??$_Move_backward_opt@PAV?$SmartPtr@VIMixer@@@@PAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Move_backward_opt<SmartPtr<IMixer> *,SmartPtr<IMixer> *,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@VIMixer@@@@PAV1@@stdext@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00@Z ENDP ; stdext::_Unchecked_move_backward<SmartPtr<IMixer> *,SmartPtr<IMixer> *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Unchecked_move_backward@PAV?$SmartPtr@VIMixerLineDst@@@@PAV1@@stdext@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00@Z
_TEXT	SEGMENT
$T320531 = -3						; size = 1
$T320530 = -2						; size = 1
$T320529 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
??$_Unchecked_move_backward@PAV?$SmartPtr@VIMixerLineDst@@@@PAV1@@stdext@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00@Z PROC ; stdext::_Unchecked_move_backward<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *>, 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 $T320529[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@VIMixerLineDst@@@@@std@@YA?AU_Undefined_move_tag@0@ABQAV?$SmartPtr@VIMixerLineDst@@@@@Z ; std::_Move_cat<SmartPtr<IMixerLineDst> *>
  00012	83 c4 04	 add	 esp, 4
  00015	88 45 fe	 mov	 BYTE PTR $T320530[ebp], al
  00018	0f b6 55 ff	 movzx	 edx, BYTE PTR $T320529[ebp]
  0001c	52		 push	 edx
  0001d	0f b6 45 fe	 movzx	 eax, BYTE PTR $T320530[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 $T320531[ebp]
  0002d	50		 push	 eax
  0002e	e8 00 00 00 00	 call	 ??$_Iter_random@PAV?$SmartPtr@VIMixerLineDst@@@@PAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAV?$SmartPtr@VIMixerLineDst@@@@0@Z ; std::_Iter_random<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *>
  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@VIMixerLineDst@@@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<IMixerLineDst> *>
  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@VIMixerLineDst@@@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<IMixerLineDst> *>
  00054	83 c4 04	 add	 esp, 4
  00057	50		 push	 eax
  00058	e8 00 00 00 00	 call	 ??$_Move_backward_opt@PAV?$SmartPtr@VIMixerLineDst@@@@PAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Move_backward_opt<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *,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@VIMixerLineDst@@@@PAV1@@stdext@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00@Z ENDP ; stdext::_Unchecked_move_backward<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Unchecked_move_backward@PAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@@stdext@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00@Z
_TEXT	SEGMENT
$T320536 = -3						; size = 1
$T320535 = -2						; size = 1
$T320534 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
??$_Unchecked_move_backward@PAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@@stdext@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00@Z PROC ; stdext::_Unchecked_move_backward<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *>, 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 $T320534[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@VIMixerLineSrc@@@@@std@@YA?AU_Undefined_move_tag@0@ABQAV?$SmartPtr@VIMixerLineSrc@@@@@Z ; std::_Move_cat<SmartPtr<IMixerLineSrc> *>
  00012	83 c4 04	 add	 esp, 4
  00015	88 45 fe	 mov	 BYTE PTR $T320535[ebp], al
  00018	0f b6 55 ff	 movzx	 edx, BYTE PTR $T320534[ebp]
  0001c	52		 push	 edx
  0001d	0f b6 45 fe	 movzx	 eax, BYTE PTR $T320535[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 $T320536[ebp]
  0002d	50		 push	 eax
  0002e	e8 00 00 00 00	 call	 ??$_Iter_random@PAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@@std@@YA?AUrandom_access_iterator_tag@0@ABQAV?$SmartPtr@VIMixerLineSrc@@@@0@Z ; std::_Iter_random<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *>
  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@VIMixerLineSrc@@@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<IMixerLineSrc> *>
  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@VIMixerLineSrc@@@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<IMixerLineSrc> *>
  00054	83 c4 04	 add	 esp, 4
  00057	50		 push	 eax
  00058	e8 00 00 00 00	 call	 ??$_Move_backward_opt@PAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@Urandom_access_iterator_tag@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00Urandom_access_iterator_tag@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Move_backward_opt<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *,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@VIMixerLineSrc@@@@PAV1@@stdext@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00@Z ENDP ; stdext::_Unchecked_move_backward<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *>
; 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@VIMixer@@@@IV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@stdext@@YAXPAV?$SmartPtr@VIMixer@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@Z
_TEXT	SEGMENT
$T320540 = -2						; size = 1
$T320539 = -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@VIMixer@@@@IV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@stdext@@YAXPAV?$SmartPtr@VIMixer@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@Z PROC ; stdext::unchecked_uninitialized_fill_n<SmartPtr<IMixer> *,unsigned int,SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >, 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 $T320539[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@VIMixer@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VIMixer@@@@0@Z ; std::_Ptr_cat<SmartPtr<IMixer> *,SmartPtr<IMixer> *>
  00016	83 c4 08	 add	 esp, 8
  00019	88 45 fe	 mov	 BYTE PTR $T320540[ebp], al
  0001c	0f b6 45 ff	 movzx	 eax, BYTE PTR $T320539[ebp]
  00020	50		 push	 eax
  00021	0f b6 4d fe	 movzx	 ecx, BYTE PTR $T320540[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@VIMixer@@@@IV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixer@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixer@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_fill_n<SmartPtr<IMixer> *,unsigned int,SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >
  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@VIMixer@@@@IV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@stdext@@YAXPAV?$SmartPtr@VIMixer@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@Z ENDP ; stdext::unchecked_uninitialized_fill_n<SmartPtr<IMixer> *,unsigned int,SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$unchecked_uninitialized_fill_n@PAV?$SmartPtr@VIMixerLineDst@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@stdext@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@Z
_TEXT	SEGMENT
$T320544 = -2						; size = 1
$T320543 = -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@VIMixerLineDst@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@stdext@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@Z PROC ; stdext::unchecked_uninitialized_fill_n<SmartPtr<IMixerLineDst> *,unsigned int,SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >, 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 $T320543[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@VIMixerLineDst@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VIMixerLineDst@@@@0@Z ; std::_Ptr_cat<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *>
  00016	83 c4 08	 add	 esp, 8
  00019	88 45 fe	 mov	 BYTE PTR $T320544[ebp], al
  0001c	0f b6 45 ff	 movzx	 eax, BYTE PTR $T320543[ebp]
  00020	50		 push	 eax
  00021	0f b6 4d fe	 movzx	 ecx, BYTE PTR $T320544[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@VIMixerLineDst@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_fill_n<SmartPtr<IMixerLineDst> *,unsigned int,SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >
  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@VIMixerLineDst@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@stdext@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@Z ENDP ; stdext::unchecked_uninitialized_fill_n<SmartPtr<IMixerLineDst> *,unsigned int,SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$unchecked_uninitialized_fill_n@PAV?$SmartPtr@VIMixerLineSrc@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@stdext@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@Z
_TEXT	SEGMENT
$T320548 = -2						; size = 1
$T320547 = -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@VIMixerLineSrc@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@stdext@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@Z PROC ; stdext::unchecked_uninitialized_fill_n<SmartPtr<IMixerLineSrc> *,unsigned int,SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >, 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 $T320547[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@VIMixerLineSrc@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VIMixerLineSrc@@@@0@Z ; std::_Ptr_cat<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *>
  00016	83 c4 08	 add	 esp, 8
  00019	88 45 fe	 mov	 BYTE PTR $T320548[ebp], al
  0001c	0f b6 45 ff	 movzx	 eax, BYTE PTR $T320547[ebp]
  00020	50		 push	 eax
  00021	0f b6 4d fe	 movzx	 ecx, BYTE PTR $T320548[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@VIMixerLineSrc@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_fill_n<SmartPtr<IMixerLineSrc> *,unsigned int,SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >
  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@VIMixerLineSrc@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@stdext@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@Z ENDP ; stdext::unchecked_uninitialized_fill_n<SmartPtr<IMixerLineSrc> *,unsigned int,SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
_TEXT	ENDS
;	COMDAT ??Y?$_Vector_const_iterator@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAEAAV01@H@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Off$ = 8						; size = 4
??Y?$_Vector_const_iterator@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAEAAV01@H@Z PROC ; std::_Vector_const_iterator<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::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@435
  00017	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN7@operator@435:
  0001c	33 c9		 xor	 ecx, ecx
  0001e	75 fc		 jne	 SHORT $LN7@operator@435

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

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

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

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

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

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

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

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

; 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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAEAAV01@H@Z ENDP ; std::_Vector_const_iterator<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::operator+=
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??Y?$_Vector_iterator@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAEAAV01@H@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Off$ = 8						; size = 4
??Y?$_Vector_iterator@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAEAAV01@H@Z PROC ; std::_Vector_iterator<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_const_iterator<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAEAAV01@H@Z ENDP ; std::_Vector_iterator<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::operator+=
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??Y?$_Vector_iterator@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAEAAV01@H@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Off$ = 8						; size = 4
??Y?$_Vector_iterator@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAEAAV01@H@Z PROC ; std::_Vector_iterator<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_const_iterator<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAEAAV01@H@Z ENDP ; std::_Vector_iterator<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::operator+=
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??Y?$_Vector_iterator@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAEAAV01@H@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Off$ = 8						; size = 4
??Y?$_Vector_iterator@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAEAAV01@H@Z PROC ; std::_Vector_iterator<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_const_iterator<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAEAAV01@H@Z ENDP ; std::_Vector_iterator<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::operator+=
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??H?$_Vector_iterator@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QBE?AV01@H@Z PROC ; std::_Vector_iterator<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_iterator<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QBE?AV01@H@Z ENDP ; std::_Vector_iterator<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::operator+
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??H?$_Vector_iterator@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QBE?AV01@H@Z PROC ; std::_Vector_iterator<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_iterator<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QBE?AV01@H@Z ENDP ; std::_Vector_iterator<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::operator+
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??H?$_Vector_iterator@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QBE?AV01@H@Z PROC ; std::_Vector_iterator<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_iterator<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QBE?AV01@H@Z ENDP ; std::_Vector_iterator<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::operator+
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?_Ufill@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@IAEPAV?$SmartPtr@VIMixer@@@@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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@IAEPAV?$SmartPtr@VIMixer@@@@PAV3@IABV3@@Z PROC ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::_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@VIMixer@@@@IV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@stdext@@YAXPAV?$SmartPtr@VIMixer@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@Z ; stdext::unchecked_uninitialized_fill_n<SmartPtr<IMixer> *,unsigned int,SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >
  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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@IAEPAV?$SmartPtr@VIMixer@@@@PAV3@IABV3@@Z ENDP ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::_Ufill
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?_Ufill@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAEPAV?$SmartPtr@VIMixerLineDst@@@@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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAEPAV?$SmartPtr@VIMixerLineDst@@@@PAV3@IABV3@@Z PROC ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::_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@VIMixerLineDst@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@stdext@@YAXPAV?$SmartPtr@VIMixerLineDst@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@Z ; stdext::unchecked_uninitialized_fill_n<SmartPtr<IMixerLineDst> *,unsigned int,SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >
  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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAEPAV?$SmartPtr@VIMixerLineDst@@@@PAV3@IABV3@@Z ENDP ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::_Ufill
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?_Ufill@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAEPAV?$SmartPtr@VIMixerLineSrc@@@@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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAEPAV?$SmartPtr@VIMixerLineSrc@@@@PAV3@IABV3@@Z PROC ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::_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@VIMixerLineSrc@@@@IV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@stdext@@YAXPAV?$SmartPtr@VIMixerLineSrc@@@@IABV1@AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@Z ; stdext::unchecked_uninitialized_fill_n<SmartPtr<IMixerLineSrc> *,unsigned int,SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >
  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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAEPAV?$SmartPtr@VIMixerLineSrc@@@@PAV3@IABV3@@Z ENDP ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::_Ufill
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\mixerdevclasses.cpp
_TEXT	ENDS
;	COMDAT ?GetName@CVistaMixerLineDst@@UAEPB_WXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetName@CVistaMixerLineDst@@UAEPB_WXZ PROC		; CVistaMixerLineDst::GetName, COMDAT
; _this$ = ecx

; 512  :     {

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

; 513  :         return m_Name.c_str();

  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	83 c1 20	 add	 ecx, 32			; 00000020H
  0000d	e8 00 00 00 00	 call	 ?c_str@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEPB_WXZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::c_str

; 514  :     }

  00012	8b e5		 mov	 esp, ebp
  00014	5d		 pop	 ebp
  00015	c3		 ret	 0
?GetName@CVistaMixerLineDst@@UAEPB_WXZ ENDP		; CVistaMixerLineDst::GetName
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?GetName@CVistaMixerLineSrc@@UAEPB_WXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetName@CVistaMixerLineSrc@@UAEPB_WXZ PROC		; CVistaMixerLineSrc::GetName, COMDAT
; _this$ = ecx

; 421  :     {

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

; 422  :         return m_Name.c_str();

  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	83 c1 10	 add	 ecx, 16			; 00000010H
  0000d	e8 00 00 00 00	 call	 ?c_str@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEPB_WXZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::c_str

; 423  :     }

  00012	8b e5		 mov	 esp, ebp
  00014	5d		 pop	 ebp
  00015	c3		 ret	 0
?GetName@CVistaMixerLineSrc@@UAEPB_WXZ ENDP		; CVistaMixerLineSrc::GetName
;	COMDAT xdata$x
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\memory
xdata$x	SEGMENT
__unwindtable$??$_Uninit_copy@PAV?$SmartPtr@VIMixer@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixer@@@@@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@VIMixer@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixer@@@@@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@VIMixer@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixer@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z$0
__tryblocktable$??$_Uninit_copy@PAV?$SmartPtr@VIMixer@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixer@@@@@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@VIMixer@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixer@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z$2
__ehfuncinfo$??$_Uninit_copy@PAV?$SmartPtr@VIMixer@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixer@@@@@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@VIMixer@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixer@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
	DD	01H
	DD	FLAT:__tryblocktable$??$_Uninit_copy@PAV?$SmartPtr@VIMixer@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixer@@@@@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@VIMixer@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixer@@@@@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@VIMixer@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixer@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Uninit_copy<SmartPtr<IMixer> *,SmartPtr<IMixer> *,std::allocator<SmartPtr<IMixer> > >, 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@VIMixer@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixer@@@@@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@36
$LN5@Uninit_cop@36:
  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@36:
  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@36

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

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

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

; 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@VIMixer@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixer@@@@@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@VIMixer@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixer@@@@@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@VIMixer@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixer@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Uninit_copy<SmartPtr<IMixer> *,SmartPtr<IMixer> *,std::allocator<SmartPtr<IMixer> > >
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??$_Uninit_copy@PAV?$SmartPtr@VIMixerLineDst@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z$0
__tryblocktable$??$_Uninit_copy@PAV?$SmartPtr@VIMixerLineDst@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z$2
__ehfuncinfo$??$_Uninit_copy@PAV?$SmartPtr@VIMixerLineDst@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
	DD	01H
	DD	FLAT:__tryblocktable$??$_Uninit_copy@PAV?$SmartPtr@VIMixerLineDst@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Uninit_copy<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *,std::allocator<SmartPtr<IMixerLineDst> > >, 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@VIMixerLineDst@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@37
$LN5@Uninit_cop@37:
  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@37:
  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@37

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

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

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

; 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@VIMixerLineDst@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Uninit_copy<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *,std::allocator<SmartPtr<IMixerLineDst> > >
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??$_Uninit_copy@PAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z$0
__tryblocktable$??$_Uninit_copy@PAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z$2
__ehfuncinfo$??$_Uninit_copy@PAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z
	DD	01H
	DD	FLAT:__tryblocktable$??$_Uninit_copy@PAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Uninit_copy<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *,std::allocator<SmartPtr<IMixerLineSrc> > >, 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@VIMixerLineSrc@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@38
$LN5@Uninit_cop@38:
  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@38:
  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@38

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

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

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

; 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@VIMixerLineSrc@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Uninit_copy<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *,std::allocator<SmartPtr<IMixerLineSrc> > >
; Function compile flags: /Odtp
;	COMDAT ??$unchecked_uninitialized_copy@PAV?$SmartPtr@VIMixer@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@stdext@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@Z
_TEXT	SEGMENT
$T325401 = -2						; size = 1
$T325400 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
__Al$ = 20						; size = 4
??$unchecked_uninitialized_copy@PAV?$SmartPtr@VIMixer@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@stdext@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@Z PROC ; stdext::unchecked_uninitialized_copy<SmartPtr<IMixer> *,SmartPtr<IMixer> *,std::allocator<SmartPtr<IMixer> > >, 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 $T325400[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@VIMixer@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VIMixer@@@@0@Z ; std::_Ptr_cat<SmartPtr<IMixer> *,SmartPtr<IMixer> *>
  00016	83 c4 08	 add	 esp, 8
  00019	88 45 fe	 mov	 BYTE PTR $T325401[ebp], al
  0001c	0f b6 45 ff	 movzx	 eax, BYTE PTR $T325400[ebp]
  00020	50		 push	 eax
  00021	0f b6 4d fe	 movzx	 ecx, BYTE PTR $T325401[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@VIMixer@@@@@std@@YAPAV?$SmartPtr@VIMixer@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<IMixer> *>
  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@VIMixer@@@@@std@@YAPAV?$SmartPtr@VIMixer@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<IMixer> *>
  00044	83 c4 04	 add	 esp, 4
  00047	50		 push	 eax
  00048	e8 00 00 00 00	 call	 ??$_Uninit_copy@PAV?$SmartPtr@VIMixer@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixer@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_copy<SmartPtr<IMixer> *,SmartPtr<IMixer> *,std::allocator<SmartPtr<IMixer> > >
  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@VIMixer@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@stdext@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@Z ENDP ; stdext::unchecked_uninitialized_copy<SmartPtr<IMixer> *,SmartPtr<IMixer> *,std::allocator<SmartPtr<IMixer> > >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$unchecked_uninitialized_copy@PAV?$SmartPtr@VIMixerLineDst@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@stdext@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@Z
_TEXT	SEGMENT
$T325405 = -2						; size = 1
$T325404 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
__Al$ = 20						; size = 4
??$unchecked_uninitialized_copy@PAV?$SmartPtr@VIMixerLineDst@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@stdext@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@Z PROC ; stdext::unchecked_uninitialized_copy<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *,std::allocator<SmartPtr<IMixerLineDst> > >, 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 $T325404[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@VIMixerLineDst@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VIMixerLineDst@@@@0@Z ; std::_Ptr_cat<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *>
  00016	83 c4 08	 add	 esp, 8
  00019	88 45 fe	 mov	 BYTE PTR $T325405[ebp], al
  0001c	0f b6 45 ff	 movzx	 eax, BYTE PTR $T325404[ebp]
  00020	50		 push	 eax
  00021	0f b6 4d fe	 movzx	 ecx, BYTE PTR $T325405[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@VIMixerLineDst@@@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<IMixerLineDst> *>
  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@VIMixerLineDst@@@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<IMixerLineDst> *>
  00044	83 c4 04	 add	 esp, 4
  00047	50		 push	 eax
  00048	e8 00 00 00 00	 call	 ??$_Uninit_copy@PAV?$SmartPtr@VIMixerLineDst@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_copy<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *,std::allocator<SmartPtr<IMixerLineDst> > >
  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@VIMixerLineDst@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@stdext@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@Z ENDP ; stdext::unchecked_uninitialized_copy<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *,std::allocator<SmartPtr<IMixerLineDst> > >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$unchecked_uninitialized_copy@PAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@stdext@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@Z
_TEXT	SEGMENT
$T325409 = -2						; size = 1
$T325408 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
__Al$ = 20						; size = 4
??$unchecked_uninitialized_copy@PAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@stdext@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@Z PROC ; stdext::unchecked_uninitialized_copy<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *,std::allocator<SmartPtr<IMixerLineSrc> > >, 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 $T325408[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@VIMixerLineSrc@@@@PAV1@@std@@YA?AU_Nonscalar_ptr_iterator_tag@0@AAPAV?$SmartPtr@VIMixerLineSrc@@@@0@Z ; std::_Ptr_cat<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *>
  00016	83 c4 08	 add	 esp, 8
  00019	88 45 fe	 mov	 BYTE PTR $T325409[ebp], al
  0001c	0f b6 45 ff	 movzx	 eax, BYTE PTR $T325408[ebp]
  00020	50		 push	 eax
  00021	0f b6 4d fe	 movzx	 ecx, BYTE PTR $T325409[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@VIMixerLineSrc@@@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<IMixerLineSrc> *>
  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@VIMixerLineSrc@@@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<IMixerLineSrc> *>
  00044	83 c4 04	 add	 esp, 4
  00047	50		 push	 eax
  00048	e8 00 00 00 00	 call	 ??$_Uninit_copy@PAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@0@U_Nonscalar_ptr_iterator_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_copy<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *,std::allocator<SmartPtr<IMixerLineSrc> > >
  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@VIMixerLineSrc@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@stdext@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@Z ENDP ; stdext::unchecked_uninitialized_copy<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *,std::allocator<SmartPtr<IMixerLineSrc> > >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Uninit_move@PAV?$SmartPtr@VIMixer@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixer@@@@@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@VIMixer@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixer@@@@@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Uninit_move<SmartPtr<IMixer> *,SmartPtr<IMixer> *,std::allocator<SmartPtr<IMixer> >,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@VIMixer@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@stdext@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@Z ; stdext::unchecked_uninitialized_copy<SmartPtr<IMixer> *,SmartPtr<IMixer> *,std::allocator<SmartPtr<IMixer> > >
  00018	83 c4 10	 add	 esp, 16			; 00000010H

; 206  : 	}

  0001b	5d		 pop	 ebp
  0001c	c3		 ret	 0
??$_Uninit_move@PAV?$SmartPtr@VIMixer@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixer@@@@@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Uninit_move<SmartPtr<IMixer> *,SmartPtr<IMixer> *,std::allocator<SmartPtr<IMixer> >,std::_Undefined_move_tag>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Uninit_move@PAV?$SmartPtr@VIMixerLineDst@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Uninit_move<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *,std::allocator<SmartPtr<IMixerLineDst> >,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@VIMixerLineDst@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@stdext@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@Z ; stdext::unchecked_uninitialized_copy<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *,std::allocator<SmartPtr<IMixerLineDst> > >
  00018	83 c4 10	 add	 esp, 16			; 00000010H

; 206  : 	}

  0001b	5d		 pop	 ebp
  0001c	c3		 ret	 0
??$_Uninit_move@PAV?$SmartPtr@VIMixerLineDst@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Uninit_move<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *,std::allocator<SmartPtr<IMixerLineDst> >,std::_Undefined_move_tag>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Uninit_move@PAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z PROC ; std::_Uninit_move<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *,std::allocator<SmartPtr<IMixerLineSrc> >,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@VIMixerLineSrc@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@stdext@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@Z ; stdext::unchecked_uninitialized_copy<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *,std::allocator<SmartPtr<IMixerLineSrc> > >
  00018	83 c4 10	 add	 esp, 16			; 00000010H

; 206  : 	}

  0001b	5d		 pop	 ebp
  0001c	c3		 ret	 0
??$_Uninit_move@PAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ENDP ; std::_Uninit_move<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *,std::allocator<SmartPtr<IMixerLineSrc> >,std::_Undefined_move_tag>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Unchecked_uninitialized_move@PAV?$SmartPtr@VIMixer@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@stdext@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@Z
_TEXT	SEGMENT
$T325419 = -2						; size = 1
$T325418 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
__Al$ = 20						; size = 4
??$_Unchecked_uninitialized_move@PAV?$SmartPtr@VIMixer@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@stdext@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@Z PROC ; stdext::_Unchecked_uninitialized_move<SmartPtr<IMixer> *,SmartPtr<IMixer> *,std::allocator<SmartPtr<IMixer> > >, 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 $T325418[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@VIMixer@@@@@std@@YA?AU_Undefined_move_tag@0@ABQAV?$SmartPtr@VIMixer@@@@@Z ; std::_Move_cat<SmartPtr<IMixer> *>
  00012	83 c4 04	 add	 esp, 4
  00015	88 45 fe	 mov	 BYTE PTR $T325419[ebp], al
  00018	0f b6 55 ff	 movzx	 edx, BYTE PTR $T325418[ebp]
  0001c	52		 push	 edx
  0001d	0f b6 45 fe	 movzx	 eax, BYTE PTR $T325419[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@VIMixer@@@@@std@@YAPAV?$SmartPtr@VIMixer@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<IMixer> *>
  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@VIMixer@@@@@std@@YAPAV?$SmartPtr@VIMixer@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<IMixer> *>
  00040	83 c4 04	 add	 esp, 4
  00043	50		 push	 eax
  00044	e8 00 00 00 00	 call	 ??$_Uninit_move@PAV?$SmartPtr@VIMixer@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixer@@@@@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_move<SmartPtr<IMixer> *,SmartPtr<IMixer> *,std::allocator<SmartPtr<IMixer> >,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@VIMixer@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@stdext@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@Z ENDP ; stdext::_Unchecked_uninitialized_move<SmartPtr<IMixer> *,SmartPtr<IMixer> *,std::allocator<SmartPtr<IMixer> > >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Unchecked_uninitialized_move@PAV?$SmartPtr@VIMixerLineDst@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@stdext@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@Z
_TEXT	SEGMENT
$T325423 = -2						; size = 1
$T325422 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
__Al$ = 20						; size = 4
??$_Unchecked_uninitialized_move@PAV?$SmartPtr@VIMixerLineDst@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@stdext@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@Z PROC ; stdext::_Unchecked_uninitialized_move<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *,std::allocator<SmartPtr<IMixerLineDst> > >, 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 $T325422[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@VIMixerLineDst@@@@@std@@YA?AU_Undefined_move_tag@0@ABQAV?$SmartPtr@VIMixerLineDst@@@@@Z ; std::_Move_cat<SmartPtr<IMixerLineDst> *>
  00012	83 c4 04	 add	 esp, 4
  00015	88 45 fe	 mov	 BYTE PTR $T325423[ebp], al
  00018	0f b6 55 ff	 movzx	 edx, BYTE PTR $T325422[ebp]
  0001c	52		 push	 edx
  0001d	0f b6 45 fe	 movzx	 eax, BYTE PTR $T325423[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@VIMixerLineDst@@@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<IMixerLineDst> *>
  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@VIMixerLineDst@@@@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<IMixerLineDst> *>
  00040	83 c4 04	 add	 esp, 4
  00043	50		 push	 eax
  00044	e8 00 00 00 00	 call	 ??$_Uninit_move@PAV?$SmartPtr@VIMixerLineDst@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_move<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *,std::allocator<SmartPtr<IMixerLineDst> >,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@VIMixerLineDst@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@stdext@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@Z ENDP ; stdext::_Unchecked_uninitialized_move<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *,std::allocator<SmartPtr<IMixerLineDst> > >
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Unchecked_uninitialized_move@PAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@stdext@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@Z
_TEXT	SEGMENT
$T325427 = -2						; size = 1
$T325426 = -1						; size = 1
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Dest$ = 16						; size = 4
__Al$ = 20						; size = 4
??$_Unchecked_uninitialized_move@PAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@stdext@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@Z PROC ; stdext::_Unchecked_uninitialized_move<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *,std::allocator<SmartPtr<IMixerLineSrc> > >, 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 $T325426[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@VIMixerLineSrc@@@@@std@@YA?AU_Undefined_move_tag@0@ABQAV?$SmartPtr@VIMixerLineSrc@@@@@Z ; std::_Move_cat<SmartPtr<IMixerLineSrc> *>
  00012	83 c4 04	 add	 esp, 4
  00015	88 45 fe	 mov	 BYTE PTR $T325427[ebp], al
  00018	0f b6 55 ff	 movzx	 edx, BYTE PTR $T325426[ebp]
  0001c	52		 push	 edx
  0001d	0f b6 45 fe	 movzx	 eax, BYTE PTR $T325427[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@VIMixerLineSrc@@@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<IMixerLineSrc> *>
  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@VIMixerLineSrc@@@@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@AAPAV1@@Z ; std::_Checked_base<SmartPtr<IMixerLineSrc> *>
  00040	83 c4 04	 add	 esp, 4
  00043	50		 push	 eax
  00044	e8 00 00 00 00	 call	 ??$_Uninit_move@PAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@U_Undefined_move_tag@3@@std@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@0@U_Undefined_move_tag@0@U_Range_checked_iterator_tag@0@@Z ; std::_Uninit_move<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *,std::allocator<SmartPtr<IMixerLineSrc> >,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@VIMixerLineSrc@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@stdext@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@Z ENDP ; stdext::_Unchecked_uninitialized_move<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *,std::allocator<SmartPtr<IMixerLineSrc> > >
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
_TEXT	ENDS
;	COMDAT ??$_Umove@PAV?$SmartPtr@VIMixer@@@@@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@IAEPAV?$SmartPtr@VIMixer@@@@PAV2@00@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Ptr$ = 16						; size = 4
??$_Umove@PAV?$SmartPtr@VIMixer@@@@@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@IAEPAV?$SmartPtr@VIMixer@@@@PAV2@00@Z PROC ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::_Umove<SmartPtr<IMixer> *>, 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@VIMixer@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@stdext@@YAPAV?$SmartPtr@VIMixer@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@Z ; stdext::_Unchecked_uninitialized_move<SmartPtr<IMixer> *,SmartPtr<IMixer> *,std::allocator<SmartPtr<IMixer> > >
  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@VIMixer@@@@@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@IAEPAV?$SmartPtr@VIMixer@@@@PAV2@00@Z ENDP ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::_Umove<SmartPtr<IMixer> *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Umove@PAV?$SmartPtr@VIMixerLineDst@@@@@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAEPAV?$SmartPtr@VIMixerLineDst@@@@PAV2@00@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Ptr$ = 16						; size = 4
??$_Umove@PAV?$SmartPtr@VIMixerLineDst@@@@@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAEPAV?$SmartPtr@VIMixerLineDst@@@@PAV2@00@Z PROC ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::_Umove<SmartPtr<IMixerLineDst> *>, 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@VIMixerLineDst@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@stdext@@YAPAV?$SmartPtr@VIMixerLineDst@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@Z ; stdext::_Unchecked_uninitialized_move<SmartPtr<IMixerLineDst> *,SmartPtr<IMixerLineDst> *,std::allocator<SmartPtr<IMixerLineDst> > >
  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@VIMixerLineDst@@@@@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAEPAV?$SmartPtr@VIMixerLineDst@@@@PAV2@00@Z ENDP ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::_Umove<SmartPtr<IMixerLineDst> *>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??$_Umove@PAV?$SmartPtr@VIMixerLineSrc@@@@@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAEPAV?$SmartPtr@VIMixerLineSrc@@@@PAV2@00@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__First$ = 8						; size = 4
__Last$ = 12						; size = 4
__Ptr$ = 16						; size = 4
??$_Umove@PAV?$SmartPtr@VIMixerLineSrc@@@@@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAEPAV?$SmartPtr@VIMixerLineSrc@@@@PAV2@00@Z PROC ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::_Umove<SmartPtr<IMixerLineSrc> *>, 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@VIMixerLineSrc@@@@PAV1@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@stdext@@YAPAV?$SmartPtr@VIMixerLineSrc@@@@PAV1@00AAV?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@Z ; stdext::_Unchecked_uninitialized_move<SmartPtr<IMixerLineSrc> *,SmartPtr<IMixerLineSrc> *,std::allocator<SmartPtr<IMixerLineSrc> > >
  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@VIMixerLineSrc@@@@@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAEPAV?$SmartPtr@VIMixerLineSrc@@@@PAV2@00@Z ENDP ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::_Umove<SmartPtr<IMixerLineSrc> *>
PUBLIC	?FindMixer@CMixerList@@QAEJABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z ; CMixerList::FindMixer
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\mixerdevclasses.cpp
;	COMDAT ?FindMixer@CMixerList@@QAEJABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z
_TEXT	SEGMENT
tv75 = -12						; size = 4
_this$ = -8						; size = 4
_i$148771 = -4						; size = 4
_MixerName$ = 8						; size = 4
?FindMixer@CMixerList@@QAEJABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z PROC ; CMixerList::FindMixer, COMDAT
; _this$ = ecx

; 681  : {

  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

; 682  :     for (size_t i(0); i < m_Mixers.size(); ++i)

  00009	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _i$148771[ebp], 0
  00010	eb 09		 jmp	 SHORT $LN4@FindMixer
$LN3@FindMixer:
  00012	8b 45 fc	 mov	 eax, DWORD PTR _i$148771[ebp]
  00015	83 c0 01	 add	 eax, 1
  00018	89 45 fc	 mov	 DWORD PTR _i$148771[ebp], eax
$LN4@FindMixer:
  0001b	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0001e	e8 00 00 00 00	 call	 ?size@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::size
  00023	39 45 fc	 cmp	 DWORD PTR _i$148771[ebp], eax
  00026	73 3e		 jae	 SHORT $LN2@FindMixer

; 683  :     {
; 684  :         if (MixerName == m_Mixers[i]->GetName())

  00028	8b 4d fc	 mov	 ecx, DWORD PTR _i$148771[ebp]
  0002b	51		 push	 ecx
  0002c	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0002f	e8 00 00 00 00	 call	 ??A?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAEAAV?$SmartPtr@VIMixer@@@@I@Z ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::operator[]
  00034	8b c8		 mov	 ecx, eax
  00036	e8 00 00 00 00	 call	 ??C?$SmartPtr@VIMixer@@@@QBEPAVIMixer@@XZ ; SmartPtr<IMixer>::operator->
  0003b	89 45 f4	 mov	 DWORD PTR tv75[ebp], eax
  0003e	8b 55 f4	 mov	 edx, DWORD PTR tv75[ebp]
  00041	8b 02		 mov	 eax, DWORD PTR [edx]
  00043	8b 4d f4	 mov	 ecx, DWORD PTR tv75[ebp]
  00046	8b 50 04	 mov	 edx, DWORD PTR [eax+4]
  00049	ff d2		 call	 edx
  0004b	50		 push	 eax
  0004c	8b 45 08	 mov	 eax, DWORD PTR _MixerName$[ebp]
  0004f	50		 push	 eax
  00050	e8 00 00 00 00	 call	 ??$?8_WU?$char_traits@_W@std@@V?$allocator@_W@1@@std@@YA_NABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@PB_W@Z ; std::operator==<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
  00055	83 c4 08	 add	 esp, 8
  00058	0f b6 c8	 movzx	 ecx, al
  0005b	85 c9		 test	 ecx, ecx
  0005d	74 05		 je	 SHORT $LN1@FindMixer

; 685  :         {
; 686  :             return i;

  0005f	8b 45 fc	 mov	 eax, DWORD PTR _i$148771[ebp]
  00062	eb 05		 jmp	 SHORT $LN5@FindMixer
$LN1@FindMixer:

; 687  :         }
; 688  :     }

  00064	eb ac		 jmp	 SHORT $LN3@FindMixer
$LN2@FindMixer:

; 689  :     return -1;

  00066	83 c8 ff	 or	 eax, -1
$LN5@FindMixer:

; 690  : }

  00069	8b e5		 mov	 esp, ebp
  0006b	5d		 pop	 ebp
  0006c	c2 04 00	 ret	 4
?FindMixer@CMixerList@@QAEJABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z ENDP ; CMixerList::FindMixer
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1CVistaMixerLineDst@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1CVistaMixerLineDst@@UAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??1CVistaMixerLineDst@@UAE@XZ$1
	DD	01H
	DD	FLAT:__unwindfunclet$??1CVistaMixerLineDst@@UAE@XZ$2
	DD	02H
	DD	FLAT:__unwindfunclet$??1CVistaMixerLineDst@@UAE@XZ$3
__ehfuncinfo$??1CVistaMixerLineDst@@UAE@XZ DD 019930522H
	DD	04H
	DD	FLAT:__unwindtable$??1CVistaMixerLineDst@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??1CVistaMixerLineDst@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1CVistaMixerLineDst@@UAE@XZ PROC			; CVistaMixerLineDst::~CVistaMixerLineDst, COMDAT
; _this$ = ecx

; 508  :     {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??1CVistaMixerLineDst@@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 ??_7CVistaMixerLineDst@@6B@
  0002f	c7 45 fc 03 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 3

; 509  :     }

  00036	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  0003a	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0003d	83 c1 20	 add	 ecx, 32			; 00000020H
  00040	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> >
  00045	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  00049	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0004c	83 c1 08	 add	 ecx, 8
  0004f	e8 00 00 00 00	 call	 ??1?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::~vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >
  00054	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  00058	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0005b	83 c1 04	 add	 ecx, 4
  0005e	e8 00 00 00 00	 call	 ??1?$CComPtr@UIMMDevice@@@ATL@@QAE@XZ ; ATL::CComPtr<IMMDevice>::~CComPtr<IMMDevice>
  00063	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0006a	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0006d	e8 00 00 00 00	 call	 ??1IMixerLineDst@@UAE@XZ ; IMixerLineDst::~IMixerLineDst
  00072	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00075	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0007c	59		 pop	 ecx
  0007d	8b e5		 mov	 esp, ebp
  0007f	5d		 pop	 ebp
  00080	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1CVistaMixerLineDst@@UAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1IMixerLineDst@@UAE@XZ ; IMixerLineDst::~IMixerLineDst
__unwindfunclet$??1CVistaMixerLineDst@@UAE@XZ$1:
  00008	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0000b	83 c1 04	 add	 ecx, 4
  0000e	e9 00 00 00 00	 jmp	 ??1?$CComPtr@UIMMDevice@@@ATL@@QAE@XZ ; ATL::CComPtr<IMMDevice>::~CComPtr<IMMDevice>
__unwindfunclet$??1CVistaMixerLineDst@@UAE@XZ$2:
  00013	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00016	83 c1 08	 add	 ecx, 8
  00019	e9 00 00 00 00	 jmp	 ??1?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::~vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >
__unwindfunclet$??1CVistaMixerLineDst@@UAE@XZ$3:
  0001e	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00021	83 c1 20	 add	 ecx, 32			; 00000020H
  00024	e9 00 00 00 00	 jmp	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
__ehhandler$??1CVistaMixerLineDst@@UAE@XZ:
  00029	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0002d	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00030	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  00033	33 c8		 xor	 ecx, eax
  00035	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0003a	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??1CVistaMixerLineDst@@UAE@XZ
  0003f	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1CVistaMixerLineDst@@UAE@XZ ENDP			; CVistaMixerLineDst::~CVistaMixerLineDst
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1CVistaMixerLineSrc@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1CVistaMixerLineSrc@@UAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??1CVistaMixerLineSrc@@UAE@XZ$1
	DD	01H
	DD	FLAT:__unwindfunclet$??1CVistaMixerLineSrc@@UAE@XZ$2
__ehfuncinfo$??1CVistaMixerLineSrc@@UAE@XZ DD 019930522H
	DD	03H
	DD	FLAT:__unwindtable$??1CVistaMixerLineSrc@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??1CVistaMixerLineSrc@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1CVistaMixerLineSrc@@UAE@XZ PROC			; CVistaMixerLineSrc::~CVistaMixerLineSrc, COMDAT
; _this$ = ecx

; 417  :     {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??1CVistaMixerLineSrc@@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 ??_7CVistaMixerLineSrc@@6B@
  0002f	c7 45 fc 02 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 2

; 418  :     }

  00036	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  0003a	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0003d	83 c1 10	 add	 ecx, 16			; 00000010H
  00040	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> >
  00045	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  00049	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0004c	83 c1 04	 add	 ecx, 4
  0004f	e8 00 00 00 00	 call	 ??1?$CComPtr@UIAudioEndpointVolume@@@ATL@@QAE@XZ ; ATL::CComPtr<IAudioEndpointVolume>::~CComPtr<IAudioEndpointVolume>
  00054	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0005b	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0005e	e8 00 00 00 00	 call	 ??1IMixerLineSrc@@UAE@XZ ; IMixerLineSrc::~IMixerLineSrc
  00063	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00066	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0006d	59		 pop	 ecx
  0006e	8b e5		 mov	 esp, ebp
  00070	5d		 pop	 ebp
  00071	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1CVistaMixerLineSrc@@UAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1IMixerLineSrc@@UAE@XZ ; IMixerLineSrc::~IMixerLineSrc
__unwindfunclet$??1CVistaMixerLineSrc@@UAE@XZ$1:
  00008	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0000b	83 c1 04	 add	 ecx, 4
  0000e	e9 00 00 00 00	 jmp	 ??1?$CComPtr@UIAudioEndpointVolume@@@ATL@@QAE@XZ ; ATL::CComPtr<IAudioEndpointVolume>::~CComPtr<IAudioEndpointVolume>
__unwindfunclet$??1CVistaMixerLineSrc@@UAE@XZ$2:
  00013	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00016	83 c1 10	 add	 ecx, 16			; 00000010H
  00019	e9 00 00 00 00	 jmp	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
__ehhandler$??1CVistaMixerLineSrc@@UAE@XZ:
  0001e	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00022	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00025	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  00028	33 c8		 xor	 ecx, eax
  0002a	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0002f	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??1CVistaMixerLineSrc@@UAE@XZ
  00034	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1CVistaMixerLineSrc@@UAE@XZ ENDP			; CVistaMixerLineSrc::~CVistaMixerLineSrc
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1CVistaMixer@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1CVistaMixer@@UAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??1CVistaMixer@@UAE@XZ$1
__ehfuncinfo$??1CVistaMixer@@UAE@XZ DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??1CVistaMixer@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??1CVistaMixer@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1CVistaMixer@@UAE@XZ PROC				; CVistaMixer::~CVistaMixer, COMDAT
; _this$ = ecx

; 575  :     {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??1CVistaMixer@@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 ??_7CVistaMixer@@6B@
  0002f	c7 45 fc 01 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 1

; 576  :     }

  00036	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  0003a	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0003d	83 c1 08	 add	 ecx, 8
  00040	e8 00 00 00 00	 call	 ??1CVistaMixerLineDst@@UAE@XZ ; CVistaMixerLineDst::~CVistaMixerLineDst
  00045	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0004c	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0004f	e8 00 00 00 00	 call	 ??1IMixer@@UAE@XZ	; IMixer::~IMixer
  00054	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00057	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0005e	59		 pop	 ecx
  0005f	8b e5		 mov	 esp, ebp
  00061	5d		 pop	 ebp
  00062	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1CVistaMixer@@UAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1IMixer@@UAE@XZ	; IMixer::~IMixer
__unwindfunclet$??1CVistaMixer@@UAE@XZ$1:
  00008	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0000b	83 c1 08	 add	 ecx, 8
  0000e	e9 00 00 00 00	 jmp	 ??1CVistaMixerLineDst@@UAE@XZ ; CVistaMixerLineDst::~CVistaMixerLineDst
__ehhandler$??1CVistaMixer@@UAE@XZ:
  00013	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00017	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0001a	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  0001d	33 c8		 xor	 ecx, eax
  0001f	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00024	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??1CVistaMixer@@UAE@XZ
  00029	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1CVistaMixer@@UAE@XZ ENDP				; CVistaMixer::~CVistaMixer
; Function compile flags: /Odtp
;	COMDAT ??_GCVistaMixerLineDst@@UAEPAXI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___flags$ = 8						; size = 4
??_GCVistaMixerLineDst@@UAEPAXI@Z PROC			; CVistaMixerLineDst::`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	 ??1CVistaMixerLineDst@@UAE@XZ ; CVistaMixerLineDst::~CVistaMixerLineDst
  0000f	8b 45 08	 mov	 eax, DWORD PTR ___flags$[ebp]
  00012	83 e0 01	 and	 eax, 1
  00015	74 0c		 je	 SHORT $LN1@scalar@215
  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@215:
  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
??_GCVistaMixerLineDst@@UAEPAXI@Z ENDP			; CVistaMixerLineDst::`scalar deleting destructor'
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??_GCVistaMixerLineSrc@@UAEPAXI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___flags$ = 8						; size = 4
??_GCVistaMixerLineSrc@@UAEPAXI@Z PROC			; CVistaMixerLineSrc::`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	 ??1CVistaMixerLineSrc@@UAE@XZ ; CVistaMixerLineSrc::~CVistaMixerLineSrc
  0000f	8b 45 08	 mov	 eax, DWORD PTR ___flags$[ebp]
  00012	83 e0 01	 and	 eax, 1
  00015	74 0c		 je	 SHORT $LN1@scalar@216
  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@216:
  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
??_GCVistaMixerLineSrc@@UAEPAXI@Z ENDP			; CVistaMixerLineSrc::`scalar deleting destructor'
; Function compile flags: /Odtp
;	COMDAT ??_GCVistaMixer@@UAEPAXI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___flags$ = 8						; size = 4
??_GCVistaMixer@@UAEPAXI@Z PROC				; CVistaMixer::`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	 ??1CVistaMixer@@UAE@XZ	; CVistaMixer::~CVistaMixer
  0000f	8b 45 08	 mov	 eax, DWORD PTR ___flags$[ebp]
  00012	83 e0 01	 and	 eax, 1
  00015	74 0c		 je	 SHORT $LN1@scalar@385
  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@385:
  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
??_GCVistaMixer@@UAEPAXI@Z ENDP				; CVistaMixer::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	__$ArrayPad$
PUBLIC	?GetDeviceName@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z ; GetDeviceName
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?GetDeviceName@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?GetDeviceName@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z$3
	DD	00H
	DD	FLAT:__unwindfunclet$?GetDeviceName@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?GetDeviceName@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z$1
	DD	02H
	DD	FLAT:__unwindfunclet$?GetDeviceName@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z$2
	DD	00H
	DD	FLAT:__unwindfunclet$?GetDeviceName@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z$2
__ehfuncinfo$?GetDeviceName@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z DD 019930522H
	DD	05H
	DD	FLAT:__unwindtable$?GetDeviceName@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?GetDeviceName@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z
_TEXT	SEGMENT
tv71 = -152						; size = 4
$T333022 = -148						; size = 4
$T333017 = -144						; size = 28
$T333016 = -116						; size = 28
$T333015 = -88						; size = 40
_result$ = -48						; size = 28
__$ArrayPad$ = -20					; size = 4
_Id$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
___$ReturnUdt$ = 8					; size = 4
_Device$ = 12						; size = 4
?GetDeviceName@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z PROC ; GetDeviceName, COMDAT

; 388  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?GetDeviceName@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	81 ec 8c 00 00
	00		 sub	 esp, 140		; 0000008cH
  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001c	33 c5		 xor	 eax, ebp
  0001e	89 45 ec	 mov	 DWORD PTR __$ArrayPad$[ebp], eax
  00021	50		 push	 eax
  00022	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00025	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  0002b	c7 85 6c ff ff
	ff 00 00 00 00	 mov	 DWORD PTR $T333022[ebp], 0

; 389  :     LPWSTR Id = NULL;

  00035	c7 45 f0 00 00
	00 00		 mov	 DWORD PTR _Id$[ebp], 0

; 390  :     Device->GetId(&Id);

  0003c	8b 4d 0c	 mov	 ecx, DWORD PTR _Device$[ebp]
  0003f	e8 00 00 00 00	 call	 ??C?$CComPtr@UIMMDevice@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIMMDevice@@@1@XZ ; ATL::CComPtr<IMMDevice>::operator->
  00044	89 85 68 ff ff
	ff		 mov	 DWORD PTR tv71[ebp], eax
  0004a	8d 45 f0	 lea	 eax, DWORD PTR _Id$[ebp]
  0004d	50		 push	 eax
  0004e	8b 8d 68 ff ff
	ff		 mov	 ecx, DWORD PTR tv71[ebp]
  00054	51		 push	 ecx
  00055	8b 95 68 ff ff
	ff		 mov	 edx, DWORD PTR tv71[ebp]
  0005b	8b 02		 mov	 eax, DWORD PTR [edx]
  0005d	8b 48 14	 mov	 ecx, DWORD PTR [eax+20]
  00060	ff d1		 call	 ecx

; 391  :     if(Id == NULL)

  00062	83 7d f0 00	 cmp	 DWORD PTR _Id$[ebp], 0
  00066	75 3a		 jne	 SHORT $LN1@GetDeviceN

; 392  :     {
; 393  :         throw logic_error("Can't get device name");

  00068	68 00 00 00 00	 push	 OFFSET ??_C@_0BG@GHJBBFFF@Can?8t?5get?5device?5name?$AA@
  0006d	8d 4d 8c	 lea	 ecx, DWORD PTR $T333016[ebp]
  00070	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> >
  00075	c7 45 fc 01 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 1
  0007c	8d 55 8c	 lea	 edx, DWORD PTR $T333016[ebp]
  0007f	52		 push	 edx
  00080	8d 4d a8	 lea	 ecx, DWORD PTR $T333015[ebp]
  00083	e8 00 00 00 00	 call	 ??0logic_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z ; std::logic_error::logic_error
  00088	68 00 00 00 00	 push	 OFFSET __TI2?AVlogic_error@std@@
  0008d	8d 45 a8	 lea	 eax, DWORD PTR $T333015[ebp]
  00090	50		 push	 eax
  00091	e8 00 00 00 00	 call	 __CxxThrowException@8
  00096	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  0009a	8d 4d 8c	 lea	 ecx, DWORD PTR $T333016[ebp]
  0009d	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> >
$LN1@GetDeviceN:

; 394  :     }
; 395  :     tstring result(UnicodeToTString(Id));

  000a2	8b 4d f0	 mov	 ecx, DWORD PTR _Id$[ebp]
  000a5	51		 push	 ecx
  000a6	8d 8d 70 ff ff
	ff		 lea	 ecx, DWORD PTR $T333017[ebp]
  000ac	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> >
  000b1	c7 45 fc 02 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 2
  000b8	8d 95 70 ff ff
	ff		 lea	 edx, DWORD PTR $T333017[ebp]
  000be	52		 push	 edx
  000bf	8d 45 d0	 lea	 eax, DWORD PTR _result$[ebp]
  000c2	50		 push	 eax
  000c3	e8 00 00 00 00	 call	 ?UnicodeToUnicode@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABV12@@Z ; UnicodeToUnicode
  000c8	83 c4 08	 add	 esp, 8
  000cb	c6 45 fc 04	 mov	 BYTE PTR __$EHRec$[ebp+8], 4
  000cf	8d 8d 70 ff ff
	ff		 lea	 ecx, DWORD PTR $T333017[ebp]
  000d5	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> >

; 396  :     CoTaskMemFree(Id);

  000da	8b 4d f0	 mov	 ecx, DWORD PTR _Id$[ebp]
  000dd	51		 push	 ecx
  000de	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CoTaskMemFree@4

; 397  :     return result;

  000e4	8d 55 d0	 lea	 edx, DWORD PTR _result$[ebp]
  000e7	52		 push	 edx
  000e8	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  000eb	e8 00 00 00 00	 call	 ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@ABV01@@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
  000f0	8b 85 6c ff ff
	ff		 mov	 eax, DWORD PTR $T333022[ebp]
  000f6	83 c8 01	 or	 eax, 1
  000f9	89 85 6c ff ff
	ff		 mov	 DWORD PTR $T333022[ebp], eax
  000ff	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  00103	8d 4d d0	 lea	 ecx, DWORD PTR _result$[ebp]
  00106	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> >
  0010b	8b 45 08	 mov	 eax, DWORD PTR ___$ReturnUdt$[ebp]
$LN3@GetDeviceN:

; 398  : }

  0010e	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00111	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00118	59		 pop	 ecx
  00119	8b 4d ec	 mov	 ecx, DWORD PTR __$ArrayPad$[ebp]
  0011c	33 cd		 xor	 ecx, ebp
  0011e	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00123	8b e5		 mov	 esp, ebp
  00125	5d		 pop	 ebp
  00126	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?GetDeviceName@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z$0:
  00000	8d 4d 8c	 lea	 ecx, DWORD PTR $T333016[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$?GetDeviceName@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z$1:
  00008	8d 8d 70 ff ff
	ff		 lea	 ecx, DWORD PTR $T333017[ebp]
  0000e	e9 00 00 00 00	 jmp	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
__unwindfunclet$?GetDeviceName@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z$2:
  00013	8d 4d d0	 lea	 ecx, DWORD PTR _result$[ebp]
  00016	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$?GetDeviceName@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z$3:
  0001b	8b 85 6c ff ff
	ff		 mov	 eax, DWORD PTR $T333022[ebp]
  00021	83 e0 01	 and	 eax, 1
  00024	0f 84 0f 00 00
	00		 je	 $LN8@GetDeviceN
  0002a	83 a5 6c ff ff
	ff fe		 and	 DWORD PTR $T333022[ebp], -2 ; fffffffeH
  00031	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  00034	e9 00 00 00 00	 jmp	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
$LN8@GetDeviceN:
  00039	c3		 ret	 0
__ehhandler$?GetDeviceName@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z:
  0003a	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0003e	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00041	8b 8a 70 ff ff
	ff		 mov	 ecx, DWORD PTR [edx-144]
  00047	33 c8		 xor	 ecx, eax
  00049	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0004e	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  00051	33 c8		 xor	 ecx, eax
  00053	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00058	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?GetDeviceName@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z
  0005d	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?GetDeviceName@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z ENDP ; GetDeviceName
;	COMDAT xdata$x
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
xdata$x	SEGMENT
__unwindtable$?_Xlen@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@KAXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?_Xlen@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@KAXXZ$0
__ehfuncinfo$?_Xlen@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@KAXXZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?_Xlen@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@KAXXZ
_TEXT	SEGMENT
$T337699 = -80						; size = 28
$T337698 = -52						; size = 40
__$EHRec$ = -12						; size = 12
?_Xlen@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@KAXXZ PROC ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::_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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@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 $T337699[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 $T337699[ebp]
  0003c	50		 push	 eax
  0003d	8d 4d cc	 lea	 ecx, DWORD PTR $T337698[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 $T337698[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 $T337699[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@19:

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

; 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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::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@14

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

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

; 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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::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@14

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

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

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

; 1179 : 			pointer _Ptr = _Newvec;

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

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

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

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

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

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

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

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

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

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

; 1231 : 		else

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

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

; 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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@2@IABV?$SmartPtr@VIMixer@@@@@Z$4:
  00000	8d 4d dc	 lea	 ecx, DWORD PTR __Tmp$149868[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VIMixer@@@@QAE@XZ ; SmartPtr<IMixer>::~SmartPtr<IMixer>
__unwindfunclet$?_Insert_n@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@2@IABV?$SmartPtr@VIMixer@@@@@Z$5:
  00008	8d 4d d0	 lea	 ecx, DWORD PTR __Tmp$149878[ebp]
  0000b	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VIMixer@@@@QAE@XZ ; SmartPtr<IMixer>::~SmartPtr<IMixer>
__ehhandler$?_Insert_n@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@2@IABV?$SmartPtr@VIMixer@@@@@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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@2@IABV?$SmartPtr@VIMixer@@@@@Z
  00026	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?_Insert_n@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@2@IABV?$SmartPtr@VIMixer@@@@@Z ENDP ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::_Insert_n
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?_Xlen@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@KAXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?_Xlen@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@KAXXZ$0
__ehfuncinfo$?_Xlen@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@KAXXZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?_Xlen@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@KAXXZ
_TEXT	SEGMENT
$T337735 = -80						; size = 28
$T337734 = -52						; size = 40
__$EHRec$ = -12						; size = 12
?_Xlen@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@KAXXZ PROC ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::_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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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 $T337735[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 $T337735[ebp]
  0003c	50		 push	 eax
  0003d	8d 4d cc	 lea	 ecx, DWORD PTR $T337734[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 $T337734[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 $T337735[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@20:

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

; 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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::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@15

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

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

; 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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::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@15

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

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

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

; 1179 : 			pointer _Ptr = _Newvec;

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

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

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

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

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

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

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

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

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

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

; 1231 : 		else

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

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

; 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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@2@IABV?$SmartPtr@VIMixerLineDst@@@@@Z$4:
  00000	8d 4d dc	 lea	 ecx, DWORD PTR __Tmp$149785[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VIMixerLineDst@@@@QAE@XZ ; SmartPtr<IMixerLineDst>::~SmartPtr<IMixerLineDst>
__unwindfunclet$?_Insert_n@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@2@IABV?$SmartPtr@VIMixerLineDst@@@@@Z$5:
  00008	8d 4d d0	 lea	 ecx, DWORD PTR __Tmp$149795[ebp]
  0000b	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VIMixerLineDst@@@@QAE@XZ ; SmartPtr<IMixerLineDst>::~SmartPtr<IMixerLineDst>
__ehhandler$?_Insert_n@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@2@IABV?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@2@IABV?$SmartPtr@VIMixerLineDst@@@@@Z
  00026	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?_Insert_n@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAEXV?$_Vector_const_iterator@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@2@IABV?$SmartPtr@VIMixerLineDst@@@@@Z ENDP ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::_Insert_n
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?_Xlen@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@KAXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?_Xlen@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@KAXXZ$0
__ehfuncinfo$?_Xlen@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@KAXXZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?_Xlen@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@KAXXZ
_TEXT	SEGMENT
$T337771 = -80						; size = 28
$T337770 = -52						; size = 40
__$EHRec$ = -12						; size = 12
?_Xlen@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@KAXXZ PROC ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::_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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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 $T337771[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 $T337771[ebp]
  0003c	50		 push	 eax
  0003d	8d 4d cc	 lea	 ecx, DWORD PTR $T337770[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 $T337770[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 $T337771[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@21:

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

; 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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::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@16

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

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

; 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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::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@16

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

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

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

; 1179 : 			pointer _Ptr = _Newvec;

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

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

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

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

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

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

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

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

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

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

; 1231 : 		else

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

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

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

; 1110 : 			return (false);

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

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

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

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

; 1113 : 		else

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

; 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@VIMixer@@@@@std@@QAEPAV?$SmartPtr@VIMixer@@@@I@Z ; std::allocator<SmartPtr<IMixer> >::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@19:

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

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

; 1120 : 		}

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

; 1110 : 			return (false);

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

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

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

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

; 1113 : 		else

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

; 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@VIMixerLineDst@@@@@std@@QAEPAV?$SmartPtr@VIMixerLineDst@@@@I@Z ; std::allocator<SmartPtr<IMixerLineDst> >::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@20:

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

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

; 1120 : 		}

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

; 1110 : 			return (false);

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

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

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

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

; 1113 : 		else

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

; 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@VIMixerLineSrc@@@@@std@@QAEPAV?$SmartPtr@VIMixerLineSrc@@@@I@Z ; std::allocator<SmartPtr<IMixerLineSrc> >::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@21:

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

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

; 1120 : 		}

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

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

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

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

; 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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAEXABV?$SmartPtr@VIMixer@@@@@Z ENDP ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::push_back
_TEXT	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE@XZ$0
__ehfuncinfo$??0?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -20						; size = 4
$T337835 = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE@XZ PROC ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >, 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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@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 $T337835[ebp], esp
  0002e	e8 00 00 00 00	 call	 ??0?$allocator@V?$SmartPtr@VIMixer@@@@@std@@QAE@XZ ; std::allocator<SmartPtr<IMixer> >::allocator<SmartPtr<IMixer> >
  00033	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00036	e8 00 00 00 00	 call	 ??0?$_Vector_val@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixer@@@@@1@@Z ; std::_Vector_val<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::_Vector_val<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >
  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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@IAE_NI@Z ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::_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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE@XZ
__ehhandler$??0?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@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@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE@XZ ENDP ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >
; Function compile flags: /Odtp
;	COMDAT ?push_back@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAEXABV?$SmartPtr@VIMixerLineDst@@@@@Z
_TEXT	SEGMENT
_this$ = -28						; size = 4
$T337847 = -24						; size = 8
$T337846 = -16						; size = 8
$T337845 = -8						; size = 8
__Val$ = 8						; size = 4
?push_back@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAEXABV?$SmartPtr@VIMixerLineDst@@@@@Z PROC ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::capacity
  0001c	3b f0		 cmp	 esi, eax
  0001e	73 1d		 jae	 SHORT $LN2@push_back@14

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

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

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

; 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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAEXABV?$SmartPtr@VIMixerLineDst@@@@@Z ENDP ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::push_back
_TEXT	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE@XZ$0
__ehfuncinfo$??0?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -20						; size = 4
$T337850 = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE@XZ PROC ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >, 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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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 $T337850[ebp], esp
  0002e	e8 00 00 00 00	 call	 ??0?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@QAE@XZ ; std::allocator<SmartPtr<IMixerLineDst> >::allocator<SmartPtr<IMixerLineDst> >
  00033	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00036	e8 00 00 00 00	 call	 ??0?$_Vector_val@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@1@@Z ; std::_Vector_val<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::_Vector_val<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >
  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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@IAE_NI@Z ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::_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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE@XZ
__ehhandler$??0?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@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@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE@XZ ENDP ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >
; Function compile flags: /Odtp
;	COMDAT ?push_back@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAEXABV?$SmartPtr@VIMixerLineSrc@@@@@Z
_TEXT	SEGMENT
_this$ = -28						; size = 4
$T337862 = -24						; size = 8
$T337861 = -16						; size = 8
$T337860 = -8						; size = 8
__Val$ = 8						; size = 4
?push_back@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAEXABV?$SmartPtr@VIMixerLineSrc@@@@@Z PROC ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QBEIXZ ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::capacity
  0001c	3b f0		 cmp	 esi, eax
  0001e	73 1d		 jae	 SHORT $LN2@push_back@15

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

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

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

; 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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAEXABV?$SmartPtr@VIMixerLineSrc@@@@@Z ENDP ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::push_back
_TEXT	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@XZ$0
__ehfuncinfo$??0?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@XZ
_TEXT	SEGMENT
_this$ = -20						; size = 4
$T337865 = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@XZ PROC ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >, 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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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 $T337865[ebp], esp
  0002e	e8 00 00 00 00	 call	 ??0?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@QAE@XZ ; std::allocator<SmartPtr<IMixerLineSrc> >::allocator<SmartPtr<IMixerLineSrc> >
  00033	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00036	e8 00 00 00 00	 call	 ??0?$_Vector_val@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAE@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@1@@Z ; std::_Vector_val<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::_Vector_val<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >
  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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@IAE_NI@Z ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::_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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@XZ
__ehhandler$??0?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@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@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@XZ ENDP ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >
;	COMDAT xdata$x
; File c:\develop\dscaler423a\dscaler\mixerdevclasses.cpp
xdata$x	SEGMENT
__unwindtable$??0CVistaMixerLineSrc@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0CVistaMixerLineSrc@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0CVistaMixerLineSrc@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$??0CVistaMixerLineSrc@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$??0CVistaMixerLineSrc@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z$3
__ehfuncinfo$??0CVistaMixerLineSrc@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z DD 019930522H
	DD	04H
	DD	FLAT:__unwindtable$??0CVistaMixerLineSrc@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0CVistaMixerLineSrc@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z
_TEXT	SEGMENT
tv130 = -88						; size = 4
_this$ = -84						; size = 4
$T337876 = -80						; size = 28
$T337875 = -52						; size = 40
__$EHRec$ = -12						; size = 12
_Device$ = 8						; size = 4
??0CVistaMixerLineSrc@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z PROC ; CVistaMixerLineSrc::CVistaMixerLineSrc, COMDAT
; _this$ = ecx

; 409  :     {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0CVistaMixerLineSrc@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 4c	 sub	 esp, 76			; 0000004cH
  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 ac	 mov	 DWORD PTR _this$[ebp], ecx
  00028	8b 4d ac	 mov	 ecx, DWORD PTR _this$[ebp]
  0002b	e8 00 00 00 00	 call	 ??0IMixerLineSrc@@QAE@XZ
  00030	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00037	8b 45 ac	 mov	 eax, DWORD PTR _this$[ebp]
  0003a	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], OFFSET ??_7CVistaMixerLineSrc@@6B@
  00040	8b 4d ac	 mov	 ecx, DWORD PTR _this$[ebp]
  00043	83 c1 04	 add	 ecx, 4
  00046	e8 00 00 00 00	 call	 ??0?$CComPtr@UIAudioEndpointVolume@@@ATL@@QAE@XZ ; ATL::CComPtr<IAudioEndpointVolume>::CComPtr<IAudioEndpointVolume>
  0004b	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  0004f	8b 4d 08	 mov	 ecx, DWORD PTR _Device$[ebp]
  00052	51		 push	 ecx
  00053	8b 55 ac	 mov	 edx, DWORD PTR _this$[ebp]
  00056	83 c2 10	 add	 edx, 16			; 00000010H
  00059	52		 push	 edx
  0005a	e8 00 00 00 00	 call	 ?GetDeviceName@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z ; GetDeviceName
  0005f	83 c4 08	 add	 esp, 8
  00062	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2

; 410  :         if(FAILED(Device->Activate(__uuidof(IAudioEndpointVolume), CLSCTX_ALL, NULL, (VOID**)&m_AudioEndPointVolume)))

  00066	8b 4d 08	 mov	 ecx, DWORD PTR _Device$[ebp]
  00069	e8 00 00 00 00	 call	 ??C?$CComPtr@UIMMDevice@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIMMDevice@@@1@XZ ; ATL::CComPtr<IMMDevice>::operator->
  0006e	89 45 a8	 mov	 DWORD PTR tv130[ebp], eax
  00071	8b 4d ac	 mov	 ecx, DWORD PTR _this$[ebp]
  00074	83 c1 04	 add	 ecx, 4
  00077	e8 00 00 00 00	 call	 ??I?$CComPtr@UIAudioEndpointVolume@@@ATL@@QAEPAPAUIAudioEndpointVolume@@XZ ; ATL::CComPtr<IAudioEndpointVolume>::operator&
  0007c	50		 push	 eax
  0007d	6a 00		 push	 0
  0007f	6a 17		 push	 23			; 00000017H
  00081	68 00 00 00 00	 push	 OFFSET __GUID_5cdf2c82_841e_4546_9722_0cf74078229a
  00086	8b 45 a8	 mov	 eax, DWORD PTR tv130[ebp]
  00089	50		 push	 eax
  0008a	8b 4d a8	 mov	 ecx, DWORD PTR tv130[ebp]
  0008d	8b 11		 mov	 edx, DWORD PTR [ecx]
  0008f	8b 42 0c	 mov	 eax, DWORD PTR [edx+12]
  00092	ff d0		 call	 eax
  00094	85 c0		 test	 eax, eax
  00096	7d 37		 jge	 SHORT $LN2@CVistaMixe

; 411  :         {
; 412  :             throw logic_error("Can't get endpoint volume control");

  00098	68 00 00 00 00	 push	 OFFSET ??_C@_0CC@MBIJLDOP@Can?8t?5get?5endpoint?5volume?5contro@
  0009d	8d 4d b0	 lea	 ecx, DWORD PTR $T337876[ebp]
  000a0	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> >
  000a5	c6 45 fc 03	 mov	 BYTE PTR __$EHRec$[ebp+8], 3
  000a9	8d 4d b0	 lea	 ecx, DWORD PTR $T337876[ebp]
  000ac	51		 push	 ecx
  000ad	8d 4d cc	 lea	 ecx, DWORD PTR $T337875[ebp]
  000b0	e8 00 00 00 00	 call	 ??0logic_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z ; std::logic_error::logic_error
  000b5	68 00 00 00 00	 push	 OFFSET __TI2?AVlogic_error@std@@
  000ba	8d 55 cc	 lea	 edx, DWORD PTR $T337875[ebp]
  000bd	52		 push	 edx
  000be	e8 00 00 00 00	 call	 __CxxThrowException@8
  000c3	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  000c7	8d 4d b0	 lea	 ecx, DWORD PTR $T337876[ebp]
  000ca	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@CVistaMixe:

; 413  :         }
; 414  :     }

  000cf	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  000d6	8b 45 ac	 mov	 eax, DWORD PTR _this$[ebp]
$LN3@CVistaMixe:
  000d9	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  000dc	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000e3	59		 pop	 ecx
  000e4	8b e5		 mov	 esp, ebp
  000e6	5d		 pop	 ebp
  000e7	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0CVistaMixerLineSrc@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z$0:
  00000	8b 4d ac	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1IMixerLineSrc@@UAE@XZ ; IMixerLineSrc::~IMixerLineSrc
__unwindfunclet$??0CVistaMixerLineSrc@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z$1:
  00008	8b 4d ac	 mov	 ecx, DWORD PTR _this$[ebp]
  0000b	83 c1 04	 add	 ecx, 4
  0000e	e9 00 00 00 00	 jmp	 ??1?$CComPtr@UIAudioEndpointVolume@@@ATL@@QAE@XZ ; ATL::CComPtr<IAudioEndpointVolume>::~CComPtr<IAudioEndpointVolume>
__unwindfunclet$??0CVistaMixerLineSrc@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z$2:
  00013	8b 4d ac	 mov	 ecx, DWORD PTR _this$[ebp]
  00016	83 c1 10	 add	 ecx, 16			; 00000010H
  00019	e9 00 00 00 00	 jmp	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
__unwindfunclet$??0CVistaMixerLineSrc@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z$3:
  0001e	8d 4d b0	 lea	 ecx, DWORD PTR $T337876[ebp]
  00021	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$??0CVistaMixerLineSrc@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z:
  00026	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0002a	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0002d	8b 4a b0	 mov	 ecx, DWORD PTR [edx-80]
  00030	33 c8		 xor	 ecx, eax
  00032	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00037	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0CVistaMixerLineSrc@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z
  0003c	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0CVistaMixerLineSrc@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z ENDP ; CVistaMixerLineSrc::CVistaMixerLineSrc
PUBLIC	??0CMixerLineDst@@QAE@PAUHMIXER__@@K@Z		; CMixerLineDst::CMixerLineDst
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0CMixerLineDst@@QAE@PAUHMIXER__@@K@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0CMixerLineDst@@QAE@PAUHMIXER__@@K@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0CMixerLineDst@@QAE@PAUHMIXER__@@K@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$??0CMixerLineDst@@QAE@PAUHMIXER__@@K@Z$2
	DD	01H
	DD	FLAT:__unwindfunclet$??0CMixerLineDst@@QAE@PAUHMIXER__@@K@Z$3
__ehfuncinfo$??0CMixerLineDst@@QAE@PAUHMIXER__@@K@Z DD 019930522H
	DD	04H
	DD	FLAT:__unwindtable$??0CMixerLineDst@@QAE@PAUHMIXER__@@K@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0CMixerLineDst@@QAE@PAUHMIXER__@@K@Z
_TEXT	SEGMENT
tv158 = -44						; size = 4
_this$ = -40						; size = 4
$T337890 = -36						; size = 4
$T337889 = -32						; size = 4
_NewSource$148018 = -28					; size = 8
_i$147964 = -20						; size = 4
_mmresult$ = -16					; size = 4
__$EHRec$ = -12						; size = 12
_hMixer$ = 8						; size = 4
_nDstIndex$ = 12					; size = 4
??0CMixerLineDst@@QAE@PAUHMIXER__@@K@Z PROC		; CMixerLineDst::CMixerLineDst, COMDAT
; _this$ = ecx

; 218  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0CMixerLineDst@@QAE@PAUHMIXER__@@K@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 20	 sub	 esp, 32			; 00000020H
  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 d8	 mov	 DWORD PTR _this$[ebp], ecx
  00028	8b 4d d8	 mov	 ecx, DWORD PTR _this$[ebp]
  0002b	e8 00 00 00 00	 call	 ??0IMixerLineDst@@QAE@XZ
  00030	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00037	8b 45 d8	 mov	 eax, DWORD PTR _this$[ebp]
  0003a	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], OFFSET ??_7CMixerLineDst@@6B@
  00040	8b 4d d8	 mov	 ecx, DWORD PTR _this$[ebp]
  00043	81 c1 1c 01 00
	00		 add	 ecx, 284		; 0000011cH
  00049	e8 00 00 00 00	 call	 ??0?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >
  0004e	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1

; 219  :     ZeroMemory(&m_mxl, sizeof(MIXERLINE));

  00052	68 18 01 00 00	 push	 280			; 00000118H
  00057	6a 00		 push	 0
  00059	8b 4d d8	 mov	 ecx, DWORD PTR _this$[ebp]
  0005c	83 c1 04	 add	 ecx, 4
  0005f	51		 push	 ecx
  00060	e8 00 00 00 00	 call	 _memset
  00065	83 c4 0c	 add	 esp, 12			; 0000000cH

; 220  : 
; 221  :     m_mxl.cbStruct = sizeof(MIXERLINE);

  00068	8b 55 d8	 mov	 edx, DWORD PTR _this$[ebp]
  0006b	c7 42 04 18 01
	00 00		 mov	 DWORD PTR [edx+4], 280	; 00000118H

; 222  :     m_mxl.dwDestination = nDstIndex;

  00072	8b 45 d8	 mov	 eax, DWORD PTR _this$[ebp]
  00075	8b 4d 0c	 mov	 ecx, DWORD PTR _nDstIndex$[ebp]
  00078	89 48 08	 mov	 DWORD PTR [eax+8], ecx

; 223  : 
; 224  :     MMRESULT mmresult = mixerGetLineInfo((HMIXEROBJ)hMixer, &m_mxl,
; 225  :         MIXER_GETLINEINFOF_DESTINATION);

  0007b	6a 00		 push	 0
  0007d	8b 55 d8	 mov	 edx, DWORD PTR _this$[ebp]
  00080	83 c2 04	 add	 edx, 4
  00083	52		 push	 edx
  00084	8b 45 08	 mov	 eax, DWORD PTR _hMixer$[ebp]
  00087	50		 push	 eax
  00088	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__mixerGetLineInfoW@12
  0008e	89 45 f0	 mov	 DWORD PTR _mmresult$[ebp], eax

; 226  : 
; 227  :     if (mmresult != MMSYSERR_NOERROR || m_mxl.cConnections == 0)

  00091	83 7d f0 00	 cmp	 DWORD PTR _mmresult$[ebp], 0
  00095	75 09		 jne	 SHORT $LN4@CMixerLine@2
  00097	8b 4d d8	 mov	 ecx, DWORD PTR _this$[ebp]
  0009a	83 79 24 00	 cmp	 DWORD PTR [ecx+36], 0
  0009e	75 19		 jne	 SHORT $LN5@CMixerLine@2
$LN4@CMixerLine@2:

; 228  :     {
; 229  :         _tcscpy(m_mxl.szName, _T("Error"));

  000a0	68 00 00 00 00	 push	 OFFSET ??_C@_1M@ILHOPKA@?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?$AA@
  000a5	8b 55 d8	 mov	 edx, DWORD PTR _this$[ebp]
  000a8	83 c2 4c	 add	 edx, 76			; 0000004cH
  000ab	52		 push	 edx
  000ac	e8 00 00 00 00	 call	 _wcscpy
  000b1	83 c4 08	 add	 esp, 8

; 230  :         return;

  000b4	e9 96 00 00 00	 jmp	 $LN6@CMixerLine@2
$LN5@CMixerLine@2:

; 231  :     }
; 232  : 
; 233  :     for (DWORD i = 0; i < m_mxl.cConnections; i++)

  000b9	c7 45 ec 00 00
	00 00		 mov	 DWORD PTR _i$147964[ebp], 0
  000c0	eb 09		 jmp	 SHORT $LN3@CMixerLine@2
$LN2@CMixerLine@2:
  000c2	8b 45 ec	 mov	 eax, DWORD PTR _i$147964[ebp]
  000c5	83 c0 01	 add	 eax, 1
  000c8	89 45 ec	 mov	 DWORD PTR _i$147964[ebp], eax
$LN3@CMixerLine@2:
  000cb	8b 4d d8	 mov	 ecx, DWORD PTR _this$[ebp]
  000ce	8b 55 ec	 mov	 edx, DWORD PTR _i$147964[ebp]
  000d1	3b 51 24	 cmp	 edx, DWORD PTR [ecx+36]
  000d4	73 79		 jae	 SHORT $LN6@CMixerLine@2

; 234  :     {
; 235  :         SmartPtr<IMixerLineSrc> NewSource(new CMixerLineSrc(hMixer, nDstIndex, i));

  000d6	68 38 01 00 00	 push	 312			; 00000138H
  000db	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  000e0	83 c4 04	 add	 esp, 4
  000e3	89 45 dc	 mov	 DWORD PTR $T337890[ebp], eax
  000e6	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  000ea	83 7d dc 00	 cmp	 DWORD PTR $T337890[ebp], 0
  000ee	74 19		 je	 SHORT $LN8@CMixerLine@2
  000f0	8b 45 ec	 mov	 eax, DWORD PTR _i$147964[ebp]
  000f3	50		 push	 eax
  000f4	8b 4d 0c	 mov	 ecx, DWORD PTR _nDstIndex$[ebp]
  000f7	51		 push	 ecx
  000f8	8b 55 08	 mov	 edx, DWORD PTR _hMixer$[ebp]
  000fb	52		 push	 edx
  000fc	8b 4d dc	 mov	 ecx, DWORD PTR $T337890[ebp]
  000ff	e8 00 00 00 00	 call	 ??0CMixerLineSrc@@QAE@PAUHMIXER__@@KK@Z ; CMixerLineSrc::CMixerLineSrc
  00104	89 45 d4	 mov	 DWORD PTR tv158[ebp], eax
  00107	eb 07		 jmp	 SHORT $LN9@CMixerLine@2
$LN8@CMixerLine@2:
  00109	c7 45 d4 00 00
	00 00		 mov	 DWORD PTR tv158[ebp], 0
$LN9@CMixerLine@2:
  00110	8b 45 d4	 mov	 eax, DWORD PTR tv158[ebp]
  00113	89 45 e0	 mov	 DWORD PTR $T337889[ebp], eax
  00116	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  0011a	6a 00		 push	 0
  0011c	8b 4d e0	 mov	 ecx, DWORD PTR $T337889[ebp]
  0011f	51		 push	 ecx
  00120	8d 4d e4	 lea	 ecx, DWORD PTR _NewSource$148018[ebp]
  00123	e8 00 00 00 00	 call	 ??0?$SmartPtr@VIMixerLineSrc@@@@QAE@PAVIMixerLineSrc@@PAUCounter@@@Z ; SmartPtr<IMixerLineSrc>::SmartPtr<IMixerLineSrc>
  00128	c6 45 fc 03	 mov	 BYTE PTR __$EHRec$[ebp+8], 3

; 236  :         m_pSourceLines.push_back(NewSource);

  0012c	8d 55 e4	 lea	 edx, DWORD PTR _NewSource$148018[ebp]
  0012f	52		 push	 edx
  00130	8b 4d d8	 mov	 ecx, DWORD PTR _this$[ebp]
  00133	81 c1 1c 01 00
	00		 add	 ecx, 284		; 0000011cH
  00139	e8 00 00 00 00	 call	 ?push_back@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAEXABV?$SmartPtr@VIMixerLineSrc@@@@@Z ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::push_back

; 237  :     }

  0013e	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  00142	8d 4d e4	 lea	 ecx, DWORD PTR _NewSource$148018[ebp]
  00145	e8 00 00 00 00	 call	 ??1?$SmartPtr@VIMixerLineSrc@@@@QAE@XZ ; SmartPtr<IMixerLineSrc>::~SmartPtr<IMixerLineSrc>
  0014a	e9 73 ff ff ff	 jmp	 $LN2@CMixerLine@2
$LN6@CMixerLine@2:

; 238  : }

  0014f	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00156	8b 45 d8	 mov	 eax, DWORD PTR _this$[ebp]
  00159	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0015c	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00163	59		 pop	 ecx
  00164	8b e5		 mov	 esp, ebp
  00166	5d		 pop	 ebp
  00167	c2 08 00	 ret	 8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0CMixerLineDst@@QAE@PAUHMIXER__@@K@Z$0:
  00000	8b 4d d8	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1IMixerLineDst@@UAE@XZ ; IMixerLineDst::~IMixerLineDst
__unwindfunclet$??0CMixerLineDst@@QAE@PAUHMIXER__@@K@Z$1:
  00008	8b 4d d8	 mov	 ecx, DWORD PTR _this$[ebp]
  0000b	81 c1 1c 01 00
	00		 add	 ecx, 284		; 0000011cH
  00011	e9 00 00 00 00	 jmp	 ??1?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::~vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >
__unwindfunclet$??0CMixerLineDst@@QAE@PAUHMIXER__@@K@Z$2:
  00016	8b 45 dc	 mov	 eax, DWORD PTR $T337890[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$??0CMixerLineDst@@QAE@PAUHMIXER__@@K@Z$3:
  00021	8d 4d e4	 lea	 ecx, DWORD PTR _NewSource$148018[ebp]
  00024	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VIMixerLineSrc@@@@QAE@XZ ; SmartPtr<IMixerLineSrc>::~SmartPtr<IMixerLineSrc>
__ehhandler$??0CMixerLineDst@@QAE@PAUHMIXER__@@K@Z:
  00029	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0002d	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00030	8b 4a dc	 mov	 ecx, DWORD PTR [edx-36]
  00033	33 c8		 xor	 ecx, eax
  00035	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0003a	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0CMixerLineDst@@QAE@PAUHMIXER__@@K@Z
  0003f	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0CMixerLineDst@@QAE@PAUHMIXER__@@K@Z ENDP		; CMixerLineDst::CMixerLineDst
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0CVistaMixerLineDst@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0CVistaMixerLineDst@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0CVistaMixerLineDst@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$??0CVistaMixerLineDst@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$??0CVistaMixerLineDst@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z$3
	DD	03H
	DD	FLAT:__unwindfunclet$??0CVistaMixerLineDst@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z$4
	DD	04H
	DD	FLAT:__unwindfunclet$??0CVistaMixerLineDst@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z$5
	DD	05H
	DD	FLAT:__unwindfunclet$??0CVistaMixerLineDst@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z$6
	DD	05H
	DD	FLAT:__unwindfunclet$??0CVistaMixerLineDst@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z$7
	DD	05H
	DD	FLAT:__unwindfunclet$??0CVistaMixerLineDst@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z$8
	DD	08H
	DD	FLAT:__unwindfunclet$??0CVistaMixerLineDst@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z$9
	DD	08H
	DD	FLAT:__unwindfunclet$??0CVistaMixerLineDst@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z$10
	DD	08H
	DD	FLAT:__unwindfunclet$??0CVistaMixerLineDst@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z$11
__ehfuncinfo$??0CVistaMixerLineDst@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z DD 019930522H
	DD	0cH
	DD	FLAT:__unwindtable$??0CVistaMixerLineDst@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0CVistaMixerLineDst@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z
_TEXT	SEGMENT
tv222 = -268						; size = 4
tv191 = -264						; size = 4
tv165 = -260						; size = 4
tv140 = -256						; size = 4
_this$ = -252						; size = 4
$T341394 = -248						; size = 4
$T341393 = -244						; size = 4
$T341392 = -240						; size = 28
$T341391 = -212						; size = 40
$T341390 = -172						; size = 28
$T341389 = -144						; size = 40
$T341388 = -104						; size = 28
$T341387 = -76						; size = 40
_Device$148571 = -36					; size = 4
_NewSource$148583 = -32					; size = 8
_i$148566 = -24						; size = 4
_Count$ = -20						; size = 4
_DeviceCollection$ = -16				; size = 4
__$EHRec$ = -12						; size = 12
_Device$ = 8						; size = 4
_DeviceEnum$ = 12					; size = 4
??0CVistaMixerLineDst@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z PROC ; CVistaMixerLineDst::CVistaMixerLineDst, COMDAT
; _this$ = ecx

; 480  :     {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0CVistaMixerLineDst@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	81 ec 00 01 00
	00		 sub	 esp, 256		; 00000100H
  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001c	33 c5		 xor	 eax, ebp
  0001e	50		 push	 eax
  0001f	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00022	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00028	89 8d 04 ff ff
	ff		 mov	 DWORD PTR _this$[ebp], ecx
  0002e	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00035	8b 8d 04 ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  0003b	e8 00 00 00 00	 call	 ??0IMixerLineDst@@QAE@XZ
  00040	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  00044	8b 85 04 ff ff
	ff		 mov	 eax, DWORD PTR _this$[ebp]
  0004a	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], OFFSET ??_7CVistaMixerLineDst@@6B@
  00050	8b 4d 08	 mov	 ecx, DWORD PTR _Device$[ebp]
  00053	51		 push	 ecx
  00054	8b 8d 04 ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  0005a	83 c1 04	 add	 ecx, 4
  0005d	e8 00 00 00 00	 call	 ??0?$CComPtr@UIMMDevice@@@ATL@@QAE@ABV01@@Z ; ATL::CComPtr<IMMDevice>::CComPtr<IMMDevice>
  00062	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  00066	8b 8d 04 ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  0006c	83 c1 08	 add	 ecx, 8
  0006f	e8 00 00 00 00	 call	 ??0?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >
  00074	c6 45 fc 03	 mov	 BYTE PTR __$EHRec$[ebp+8], 3
  00078	8b 55 08	 mov	 edx, DWORD PTR _Device$[ebp]
  0007b	52		 push	 edx
  0007c	8b 85 04 ff ff
	ff		 mov	 eax, DWORD PTR _this$[ebp]
  00082	83 c0 20	 add	 eax, 32			; 00000020H
  00085	50		 push	 eax
  00086	e8 00 00 00 00	 call	 ?GetDeviceName@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z ; GetDeviceName
  0008b	83 c4 08	 add	 esp, 8
  0008e	c6 45 fc 04	 mov	 BYTE PTR __$EHRec$[ebp+8], 4

; 481  :         CComPtr<IMMDeviceCollection> DeviceCollection;

  00092	8d 4d f0	 lea	 ecx, DWORD PTR _DeviceCollection$[ebp]
  00095	e8 00 00 00 00	 call	 ??0?$CComPtr@UIMMDeviceCollection@@@ATL@@QAE@XZ ; ATL::CComPtr<IMMDeviceCollection>::CComPtr<IMMDeviceCollection>
  0009a	c6 45 fc 05	 mov	 BYTE PTR __$EHRec$[ebp+8], 5

; 482  :         if(FAILED(DeviceEnum->EnumAudioEndpoints(eCapture, DEVICE_STATEMASK_ALL, &DeviceCollection)))

  0009e	8d 4d 0c	 lea	 ecx, DWORD PTR _DeviceEnum$[ebp]
  000a1	e8 00 00 00 00	 call	 ??C?$CComPtr@UIMMDeviceEnumerator@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIMMDeviceEnumerator@@@1@XZ ; ATL::CComPtr<IMMDeviceEnumerator>::operator->
  000a6	89 85 00 ff ff
	ff		 mov	 DWORD PTR tv140[ebp], eax
  000ac	8d 4d f0	 lea	 ecx, DWORD PTR _DeviceCollection$[ebp]
  000af	e8 00 00 00 00	 call	 ??I?$CComPtr@UIMMDeviceCollection@@@ATL@@QAEPAPAUIMMDeviceCollection@@XZ ; ATL::CComPtr<IMMDeviceCollection>::operator&
  000b4	50		 push	 eax
  000b5	6a 0f		 push	 15			; 0000000fH
  000b7	6a 01		 push	 1
  000b9	8b 8d 00 ff ff
	ff		 mov	 ecx, DWORD PTR tv140[ebp]
  000bf	51		 push	 ecx
  000c0	8b 95 00 ff ff
	ff		 mov	 edx, DWORD PTR tv140[ebp]
  000c6	8b 02		 mov	 eax, DWORD PTR [edx]
  000c8	8b 48 0c	 mov	 ecx, DWORD PTR [eax+12]
  000cb	ff d1		 call	 ecx
  000cd	85 c0		 test	 eax, eax
  000cf	7d 37		 jge	 SHORT $LN6@CVistaMixe@2

; 483  :         {
; 484  :             throw logic_error("Couldn't enumerate audio endpoints");

  000d1	68 00 00 00 00	 push	 OFFSET ??_C@_0CD@DKEMEDH@Couldn?8t?5enumerate?5audio?5endpoin@
  000d6	8d 4d 98	 lea	 ecx, DWORD PTR $T341388[ebp]
  000d9	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> >
  000de	c6 45 fc 06	 mov	 BYTE PTR __$EHRec$[ebp+8], 6
  000e2	8d 55 98	 lea	 edx, DWORD PTR $T341388[ebp]
  000e5	52		 push	 edx
  000e6	8d 4d b4	 lea	 ecx, DWORD PTR $T341387[ebp]
  000e9	e8 00 00 00 00	 call	 ??0logic_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z ; std::logic_error::logic_error
  000ee	68 00 00 00 00	 push	 OFFSET __TI2?AVlogic_error@std@@
  000f3	8d 45 b4	 lea	 eax, DWORD PTR $T341387[ebp]
  000f6	50		 push	 eax
  000f7	e8 00 00 00 00	 call	 __CxxThrowException@8
  000fc	c6 45 fc 05	 mov	 BYTE PTR __$EHRec$[ebp+8], 5
  00100	8d 4d 98	 lea	 ecx, DWORD PTR $T341388[ebp]
  00103	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> >
$LN6@CVistaMixe@2:

; 485  :         }
; 486  :         UINT Count(0);

  00108	c7 45 ec 00 00
	00 00		 mov	 DWORD PTR _Count$[ebp], 0

; 487  :         if(FAILED(DeviceCollection->GetCount(&Count)))

  0010f	8d 4d f0	 lea	 ecx, DWORD PTR _DeviceCollection$[ebp]
  00112	e8 00 00 00 00	 call	 ??C?$CComPtr@UIMMDeviceCollection@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIMMDeviceCollection@@@1@XZ ; ATL::CComPtr<IMMDeviceCollection>::operator->
  00117	89 85 fc fe ff
	ff		 mov	 DWORD PTR tv165[ebp], eax
  0011d	8d 4d ec	 lea	 ecx, DWORD PTR _Count$[ebp]
  00120	51		 push	 ecx
  00121	8b 95 fc fe ff
	ff		 mov	 edx, DWORD PTR tv165[ebp]
  00127	52		 push	 edx
  00128	8b 85 fc fe ff
	ff		 mov	 eax, DWORD PTR tv165[ebp]
  0012e	8b 08		 mov	 ecx, DWORD PTR [eax]
  00130	8b 51 0c	 mov	 edx, DWORD PTR [ecx+12]
  00133	ff d2		 call	 edx
  00135	85 c0		 test	 eax, eax
  00137	7d 46		 jge	 SHORT $LN5@CVistaMixe@2

; 488  :         {
; 489  :             throw logic_error("Couldn't count items in endpoint collection");

  00139	68 00 00 00 00	 push	 OFFSET ??_C@_0CM@NHODHPFL@Couldn?8t?5count?5items?5in?5endpoint@
  0013e	8d 8d 54 ff ff
	ff		 lea	 ecx, DWORD PTR $T341390[ebp]
  00144	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> >
  00149	c6 45 fc 07	 mov	 BYTE PTR __$EHRec$[ebp+8], 7
  0014d	8d 85 54 ff ff
	ff		 lea	 eax, DWORD PTR $T341390[ebp]
  00153	50		 push	 eax
  00154	8d 8d 70 ff ff
	ff		 lea	 ecx, DWORD PTR $T341389[ebp]
  0015a	e8 00 00 00 00	 call	 ??0logic_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z ; std::logic_error::logic_error
  0015f	68 00 00 00 00	 push	 OFFSET __TI2?AVlogic_error@std@@
  00164	8d 8d 70 ff ff
	ff		 lea	 ecx, DWORD PTR $T341389[ebp]
  0016a	51		 push	 ecx
  0016b	e8 00 00 00 00	 call	 __CxxThrowException@8
  00170	c6 45 fc 05	 mov	 BYTE PTR __$EHRec$[ebp+8], 5
  00174	8d 8d 54 ff ff
	ff		 lea	 ecx, DWORD PTR $T341390[ebp]
  0017a	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> >
$LN5@CVistaMixe@2:

; 490  :         }
; 491  :         for(UINT i(0); i < Count; ++i)

  0017f	c7 45 e8 00 00
	00 00		 mov	 DWORD PTR _i$148566[ebp], 0
  00186	eb 09		 jmp	 SHORT $LN4@CVistaMixe@2
$LN3@CVistaMixe@2:
  00188	8b 55 e8	 mov	 edx, DWORD PTR _i$148566[ebp]
  0018b	83 c2 01	 add	 edx, 1
  0018e	89 55 e8	 mov	 DWORD PTR _i$148566[ebp], edx
$LN4@CVistaMixe@2:
  00191	8b 45 e8	 mov	 eax, DWORD PTR _i$148566[ebp]
  00194	3b 45 ec	 cmp	 eax, DWORD PTR _Count$[ebp]
  00197	0f 83 1f 01 00
	00		 jae	 $LN2@CVistaMixe@2

; 492  :         {
; 493  :             CComPtr<IMMDevice> Device;

  0019d	8d 4d dc	 lea	 ecx, DWORD PTR _Device$148571[ebp]
  001a0	e8 00 00 00 00	 call	 ??0?$CComPtr@UIMMDevice@@@ATL@@QAE@XZ ; ATL::CComPtr<IMMDevice>::CComPtr<IMMDevice>
  001a5	c6 45 fc 08	 mov	 BYTE PTR __$EHRec$[ebp+8], 8

; 494  :             if(FAILED(DeviceCollection->Item(i, &Device)))

  001a9	8d 4d f0	 lea	 ecx, DWORD PTR _DeviceCollection$[ebp]
  001ac	e8 00 00 00 00	 call	 ??C?$CComPtr@UIMMDeviceCollection@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIMMDeviceCollection@@@1@XZ ; ATL::CComPtr<IMMDeviceCollection>::operator->
  001b1	89 85 f8 fe ff
	ff		 mov	 DWORD PTR tv191[ebp], eax
  001b7	8d 4d dc	 lea	 ecx, DWORD PTR _Device$148571[ebp]
  001ba	e8 00 00 00 00	 call	 ??I?$CComPtr@UIMMDevice@@@ATL@@QAEPAPAUIMMDevice@@XZ ; ATL::CComPtr<IMMDevice>::operator&
  001bf	50		 push	 eax
  001c0	8b 4d e8	 mov	 ecx, DWORD PTR _i$148566[ebp]
  001c3	51		 push	 ecx
  001c4	8b 95 f8 fe ff
	ff		 mov	 edx, DWORD PTR tv191[ebp]
  001ca	52		 push	 edx
  001cb	8b 85 f8 fe ff
	ff		 mov	 eax, DWORD PTR tv191[ebp]
  001d1	8b 08		 mov	 ecx, DWORD PTR [eax]
  001d3	8b 51 10	 mov	 edx, DWORD PTR [ecx+16]
  001d6	ff d2		 call	 edx
  001d8	85 c0		 test	 eax, eax
  001da	7d 46		 jge	 SHORT $LN1@CVistaMixe@2

; 495  :             {
; 496  :                 throw logic_error("Couldn't get item in endpoint collection");

  001dc	68 00 00 00 00	 push	 OFFSET ??_C@_0CJ@GKJNCEG@Couldn?8t?5get?5item?5in?5endpoint?5co@
  001e1	8d 8d 10 ff ff
	ff		 lea	 ecx, DWORD PTR $T341392[ebp]
  001e7	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> >
  001ec	c6 45 fc 09	 mov	 BYTE PTR __$EHRec$[ebp+8], 9
  001f0	8d 85 10 ff ff
	ff		 lea	 eax, DWORD PTR $T341392[ebp]
  001f6	50		 push	 eax
  001f7	8d 8d 2c ff ff
	ff		 lea	 ecx, DWORD PTR $T341391[ebp]
  001fd	e8 00 00 00 00	 call	 ??0logic_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z ; std::logic_error::logic_error
  00202	68 00 00 00 00	 push	 OFFSET __TI2?AVlogic_error@std@@
  00207	8d 8d 2c ff ff
	ff		 lea	 ecx, DWORD PTR $T341391[ebp]
  0020d	51		 push	 ecx
  0020e	e8 00 00 00 00	 call	 __CxxThrowException@8
  00213	c6 45 fc 08	 mov	 BYTE PTR __$EHRec$[ebp+8], 8
  00217	8d 8d 10 ff ff
	ff		 lea	 ecx, DWORD PTR $T341392[ebp]
  0021d	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> >
$LN1@CVistaMixe@2:

; 497  :             }
; 498  : 
; 499  :             SmartPtr<IMixerLineSrc> NewSource(new CVistaMixerLineSrc(Device));

  00222	6a 2c		 push	 44			; 0000002cH
  00224	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  00229	83 c4 04	 add	 esp, 4
  0022c	89 85 08 ff ff
	ff		 mov	 DWORD PTR $T341394[ebp], eax
  00232	c6 45 fc 0a	 mov	 BYTE PTR __$EHRec$[ebp+8], 10 ; 0000000aH
  00236	83 bd 08 ff ff
	ff 00		 cmp	 DWORD PTR $T341394[ebp], 0
  0023d	74 17		 je	 SHORT $LN9@CVistaMixe@2
  0023f	8d 55 dc	 lea	 edx, DWORD PTR _Device$148571[ebp]
  00242	52		 push	 edx
  00243	8b 8d 08 ff ff
	ff		 mov	 ecx, DWORD PTR $T341394[ebp]
  00249	e8 00 00 00 00	 call	 ??0CVistaMixerLineSrc@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@@Z ; CVistaMixerLineSrc::CVistaMixerLineSrc
  0024e	89 85 f4 fe ff
	ff		 mov	 DWORD PTR tv222[ebp], eax
  00254	eb 0a		 jmp	 SHORT $LN10@CVistaMixe@2
$LN9@CVistaMixe@2:
  00256	c7 85 f4 fe ff
	ff 00 00 00 00	 mov	 DWORD PTR tv222[ebp], 0
$LN10@CVistaMixe@2:
  00260	8b 85 f4 fe ff
	ff		 mov	 eax, DWORD PTR tv222[ebp]
  00266	89 85 0c ff ff
	ff		 mov	 DWORD PTR $T341393[ebp], eax
  0026c	c6 45 fc 08	 mov	 BYTE PTR __$EHRec$[ebp+8], 8
  00270	6a 00		 push	 0
  00272	8b 8d 0c ff ff
	ff		 mov	 ecx, DWORD PTR $T341393[ebp]
  00278	51		 push	 ecx
  00279	8d 4d e0	 lea	 ecx, DWORD PTR _NewSource$148583[ebp]
  0027c	e8 00 00 00 00	 call	 ??0?$SmartPtr@VIMixerLineSrc@@@@QAE@PAVIMixerLineSrc@@PAUCounter@@@Z ; SmartPtr<IMixerLineSrc>::SmartPtr<IMixerLineSrc>
  00281	c6 45 fc 0b	 mov	 BYTE PTR __$EHRec$[ebp+8], 11 ; 0000000bH

; 500  :             m_SourceLines.push_back(NewSource);

  00285	8d 55 e0	 lea	 edx, DWORD PTR _NewSource$148583[ebp]
  00288	52		 push	 edx
  00289	8b 8d 04 ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  0028f	83 c1 08	 add	 ecx, 8
  00292	e8 00 00 00 00	 call	 ?push_back@?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAEXABV?$SmartPtr@VIMixerLineSrc@@@@@Z ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::push_back

; 501  : 
; 502  :             // done with this copy of pointer
; 503  :             Device.Release();

  00297	8d 4d dc	 lea	 ecx, DWORD PTR _Device$148571[ebp]
  0029a	e8 00 00 00 00	 call	 ?Release@?$CComPtr@UIMMDevice@@@ATL@@QAEXXZ ; ATL::CComPtr<IMMDevice>::Release

; 504  :         }

  0029f	c6 45 fc 08	 mov	 BYTE PTR __$EHRec$[ebp+8], 8
  002a3	8d 4d e0	 lea	 ecx, DWORD PTR _NewSource$148583[ebp]
  002a6	e8 00 00 00 00	 call	 ??1?$SmartPtr@VIMixerLineSrc@@@@QAE@XZ ; SmartPtr<IMixerLineSrc>::~SmartPtr<IMixerLineSrc>
  002ab	c6 45 fc 05	 mov	 BYTE PTR __$EHRec$[ebp+8], 5
  002af	8d 4d dc	 lea	 ecx, DWORD PTR _Device$148571[ebp]
  002b2	e8 00 00 00 00	 call	 ??1?$CComPtr@UIMMDevice@@@ATL@@QAE@XZ ; ATL::CComPtr<IMMDevice>::~CComPtr<IMMDevice>
  002b7	e9 cc fe ff ff	 jmp	 $LN3@CVistaMixe@2
$LN2@CVistaMixe@2:

; 505  :     }

  002bc	c6 45 fc 04	 mov	 BYTE PTR __$EHRec$[ebp+8], 4
  002c0	8d 4d f0	 lea	 ecx, DWORD PTR _DeviceCollection$[ebp]
  002c3	e8 00 00 00 00	 call	 ??1?$CComPtr@UIMMDeviceCollection@@@ATL@@QAE@XZ ; ATL::CComPtr<IMMDeviceCollection>::~CComPtr<IMMDeviceCollection>
  002c8	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  002cf	8d 4d 0c	 lea	 ecx, DWORD PTR _DeviceEnum$[ebp]
  002d2	e8 00 00 00 00	 call	 ??1?$CComPtr@UIMMDeviceEnumerator@@@ATL@@QAE@XZ ; ATL::CComPtr<IMMDeviceEnumerator>::~CComPtr<IMMDeviceEnumerator>
  002d7	8b 85 04 ff ff
	ff		 mov	 eax, DWORD PTR _this$[ebp]
$LN8@CVistaMixe@2:
  002dd	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  002e0	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  002e7	59		 pop	 ecx
  002e8	8b e5		 mov	 esp, ebp
  002ea	5d		 pop	 ebp
  002eb	c2 08 00	 ret	 8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0CVistaMixerLineDst@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z$0:
  00000	8d 4d 0c	 lea	 ecx, DWORD PTR _DeviceEnum$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$CComPtr@UIMMDeviceEnumerator@@@ATL@@QAE@XZ ; ATL::CComPtr<IMMDeviceEnumerator>::~CComPtr<IMMDeviceEnumerator>
__unwindfunclet$??0CVistaMixerLineDst@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z$1:
  00008	8b 8d 04 ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  0000e	e9 00 00 00 00	 jmp	 ??1IMixerLineDst@@UAE@XZ ; IMixerLineDst::~IMixerLineDst
__unwindfunclet$??0CVistaMixerLineDst@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z$2:
  00013	8b 8d 04 ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00019	83 c1 04	 add	 ecx, 4
  0001c	e9 00 00 00 00	 jmp	 ??1?$CComPtr@UIMMDevice@@@ATL@@QAE@XZ ; ATL::CComPtr<IMMDevice>::~CComPtr<IMMDevice>
__unwindfunclet$??0CVistaMixerLineDst@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z$3:
  00021	8b 8d 04 ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00027	83 c1 08	 add	 ecx, 8
  0002a	e9 00 00 00 00	 jmp	 ??1?$vector@V?$SmartPtr@VIMixerLineSrc@@@@V?$allocator@V?$SmartPtr@VIMixerLineSrc@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >::~vector<SmartPtr<IMixerLineSrc>,std::allocator<SmartPtr<IMixerLineSrc> > >
__unwindfunclet$??0CVistaMixerLineDst@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z$4:
  0002f	8b 8d 04 ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00035	83 c1 20	 add	 ecx, 32			; 00000020H
  00038	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$??0CVistaMixerLineDst@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z$5:
  0003d	8d 4d f0	 lea	 ecx, DWORD PTR _DeviceCollection$[ebp]
  00040	e9 00 00 00 00	 jmp	 ??1?$CComPtr@UIMMDeviceCollection@@@ATL@@QAE@XZ ; ATL::CComPtr<IMMDeviceCollection>::~CComPtr<IMMDeviceCollection>
__unwindfunclet$??0CVistaMixerLineDst@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z$6:
  00045	8d 4d 98	 lea	 ecx, DWORD PTR $T341388[ebp]
  00048	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$??0CVistaMixerLineDst@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z$7:
  0004d	8d 8d 54 ff ff
	ff		 lea	 ecx, DWORD PTR $T341390[ebp]
  00053	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$??0CVistaMixerLineDst@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z$8:
  00058	8d 4d dc	 lea	 ecx, DWORD PTR _Device$148571[ebp]
  0005b	e9 00 00 00 00	 jmp	 ??1?$CComPtr@UIMMDevice@@@ATL@@QAE@XZ ; ATL::CComPtr<IMMDevice>::~CComPtr<IMMDevice>
__unwindfunclet$??0CVistaMixerLineDst@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z$9:
  00060	8d 8d 10 ff ff
	ff		 lea	 ecx, DWORD PTR $T341392[ebp]
  00066	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$??0CVistaMixerLineDst@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z$10:
  0006b	8b 85 08 ff ff
	ff		 mov	 eax, DWORD PTR $T341394[ebp]
  00071	50		 push	 eax
  00072	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00077	59		 pop	 ecx
  00078	c3		 ret	 0
__unwindfunclet$??0CVistaMixerLineDst@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z$11:
  00079	8d 4d e0	 lea	 ecx, DWORD PTR _NewSource$148583[ebp]
  0007c	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VIMixerLineSrc@@@@QAE@XZ ; SmartPtr<IMixerLineSrc>::~SmartPtr<IMixerLineSrc>
__ehhandler$??0CVistaMixerLineDst@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z:
  00081	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00085	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00088	8b 8a fc fe ff
	ff		 mov	 ecx, DWORD PTR [edx-260]
  0008e	33 c8		 xor	 ecx, eax
  00090	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00095	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0CVistaMixerLineDst@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z
  0009a	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0CVistaMixerLineDst@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z ENDP ; CVistaMixerLineDst::CVistaMixerLineDst
PUBLIC	??0CMixer@@QAE@K@Z				; CMixer::CMixer
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0CMixer@@QAE@K@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0CMixer@@QAE@K@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0CMixer@@QAE@K@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$??0CMixer@@QAE@K@Z$2
	DD	01H
	DD	FLAT:__unwindfunclet$??0CMixer@@QAE@K@Z$3
__ehfuncinfo$??0CMixer@@QAE@K@Z DD 019930522H
	DD	04H
	DD	FLAT:__unwindtable$??0CMixer@@QAE@K@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0CMixer@@QAE@K@Z
_TEXT	SEGMENT
tv158 = -44						; size = 4
_this$ = -40						; size = 4
$T341418 = -36						; size = 4
$T341417 = -32						; size = 4
_NewDest$148122 = -28					; size = 8
_i$148068 = -20						; size = 4
_mmresult$ = -16					; size = 4
__$EHRec$ = -12						; size = 12
_nMixerIndex$ = 8					; size = 4
??0CMixer@@QAE@K@Z PROC					; CMixer::CMixer, COMDAT
; _this$ = ecx

; 302  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0CMixer@@QAE@K@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 20	 sub	 esp, 32			; 00000020H
  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 d8	 mov	 DWORD PTR _this$[ebp], ecx
  00028	8b 4d d8	 mov	 ecx, DWORD PTR _this$[ebp]
  0002b	e8 00 00 00 00	 call	 ??0IMixer@@QAE@XZ
  00030	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00037	8b 45 d8	 mov	 eax, DWORD PTR _this$[ebp]
  0003a	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], OFFSET ??_7CMixer@@6B@
  00040	8b 4d d8	 mov	 ecx, DWORD PTR _this$[ebp]
  00043	83 c1 5c	 add	 ecx, 92			; 0000005cH
  00046	e8 00 00 00 00	 call	 ??0?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >
  0004b	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1

; 303  :     MMRESULT mmresult;
; 304  : 
; 305  :     m_hMixer = NULL;

  0004f	8b 4d d8	 mov	 ecx, DWORD PTR _this$[ebp]
  00052	c7 41 04 00 00
	00 00		 mov	 DWORD PTR [ecx+4], 0

; 306  : 
; 307  :     m_nMixerIndex = nMixerIndex;

  00059	8b 55 d8	 mov	 edx, DWORD PTR _this$[ebp]
  0005c	8b 45 08	 mov	 eax, DWORD PTR _nMixerIndex$[ebp]
  0005f	89 42 58	 mov	 DWORD PTR [edx+88], eax

; 308  : 
; 309  :     mmresult = mixerGetDevCaps(m_nMixerIndex, &m_mxcaps, sizeof(MIXERCAPS));

  00062	6a 50		 push	 80			; 00000050H
  00064	8b 4d d8	 mov	 ecx, DWORD PTR _this$[ebp]
  00067	83 c1 08	 add	 ecx, 8
  0006a	51		 push	 ecx
  0006b	8b 55 d8	 mov	 edx, DWORD PTR _this$[ebp]
  0006e	8b 42 58	 mov	 eax, DWORD PTR [edx+88]
  00071	50		 push	 eax
  00072	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__mixerGetDevCapsW@12
  00078	89 45 f0	 mov	 DWORD PTR _mmresult$[ebp], eax

; 310  :     if (mmresult != MMSYSERR_NOERROR || m_mxcaps.cDestinations == 0)

  0007b	83 7d f0 00	 cmp	 DWORD PTR _mmresult$[ebp], 0
  0007f	75 09		 jne	 SHORT $LN5@CMixer@2
  00081	8b 4d d8	 mov	 ecx, DWORD PTR _this$[ebp]
  00084	83 79 54 00	 cmp	 DWORD PTR [ecx+84], 0
  00088	75 05		 jne	 SHORT $LN6@CMixer@2
$LN5@CMixer@2:

; 311  :     {
; 312  :         return;

  0008a	e9 ba 00 00 00	 jmp	 $LN7@CMixer@2
$LN6@CMixer@2:

; 313  :     }
; 314  : 
; 315  :     mmresult = mixerOpen(&m_hMixer, m_nMixerIndex, NULL, NULL, MIXER_OBJECTF_MIXER);

  0008f	6a 00		 push	 0
  00091	6a 00		 push	 0
  00093	6a 00		 push	 0
  00095	8b 55 d8	 mov	 edx, DWORD PTR _this$[ebp]
  00098	8b 42 58	 mov	 eax, DWORD PTR [edx+88]
  0009b	50		 push	 eax
  0009c	8b 4d d8	 mov	 ecx, DWORD PTR _this$[ebp]
  0009f	83 c1 04	 add	 ecx, 4
  000a2	51		 push	 ecx
  000a3	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__mixerOpen@20
  000a9	89 45 f0	 mov	 DWORD PTR _mmresult$[ebp], eax

; 316  :     if (mmresult != MMSYSERR_NOERROR)

  000ac	83 7d f0 00	 cmp	 DWORD PTR _mmresult$[ebp], 0
  000b0	74 05		 je	 SHORT $LN4@CMixer@2

; 317  :     {
; 318  :         return;

  000b2	e9 92 00 00 00	 jmp	 $LN7@CMixer@2
$LN4@CMixer@2:

; 319  :     }
; 320  : 
; 321  :     for (DWORD i = 0; i < m_mxcaps.cDestinations; i++)

  000b7	c7 45 ec 00 00
	00 00		 mov	 DWORD PTR _i$148068[ebp], 0
  000be	eb 09		 jmp	 SHORT $LN3@CMixer@2
$LN2@CMixer@2:
  000c0	8b 55 ec	 mov	 edx, DWORD PTR _i$148068[ebp]
  000c3	83 c2 01	 add	 edx, 1
  000c6	89 55 ec	 mov	 DWORD PTR _i$148068[ebp], edx
$LN3@CMixer@2:
  000c9	8b 45 d8	 mov	 eax, DWORD PTR _this$[ebp]
  000cc	8b 4d ec	 mov	 ecx, DWORD PTR _i$148068[ebp]
  000cf	3b 48 54	 cmp	 ecx, DWORD PTR [eax+84]
  000d2	73 75		 jae	 SHORT $LN7@CMixer@2

; 322  :     {
; 323  :         SmartPtr<IMixerLineDst> NewDest(new CMixerLineDst(m_hMixer, i));

  000d4	68 34 01 00 00	 push	 308			; 00000134H
  000d9	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  000de	83 c4 04	 add	 esp, 4
  000e1	89 45 dc	 mov	 DWORD PTR $T341418[ebp], eax
  000e4	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  000e8	83 7d dc 00	 cmp	 DWORD PTR $T341418[ebp], 0
  000ec	74 18		 je	 SHORT $LN9@CMixer@2
  000ee	8b 55 ec	 mov	 edx, DWORD PTR _i$148068[ebp]
  000f1	52		 push	 edx
  000f2	8b 45 d8	 mov	 eax, DWORD PTR _this$[ebp]
  000f5	8b 48 04	 mov	 ecx, DWORD PTR [eax+4]
  000f8	51		 push	 ecx
  000f9	8b 4d dc	 mov	 ecx, DWORD PTR $T341418[ebp]
  000fc	e8 00 00 00 00	 call	 ??0CMixerLineDst@@QAE@PAUHMIXER__@@K@Z ; CMixerLineDst::CMixerLineDst
  00101	89 45 d4	 mov	 DWORD PTR tv158[ebp], eax
  00104	eb 07		 jmp	 SHORT $LN10@CMixer@2
$LN9@CMixer@2:
  00106	c7 45 d4 00 00
	00 00		 mov	 DWORD PTR tv158[ebp], 0
$LN10@CMixer@2:
  0010d	8b 55 d4	 mov	 edx, DWORD PTR tv158[ebp]
  00110	89 55 e0	 mov	 DWORD PTR $T341417[ebp], edx
  00113	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  00117	6a 00		 push	 0
  00119	8b 45 e0	 mov	 eax, DWORD PTR $T341417[ebp]
  0011c	50		 push	 eax
  0011d	8d 4d e4	 lea	 ecx, DWORD PTR _NewDest$148122[ebp]
  00120	e8 00 00 00 00	 call	 ??0?$SmartPtr@VIMixerLineDst@@@@QAE@PAVIMixerLineDst@@PAUCounter@@@Z ; SmartPtr<IMixerLineDst>::SmartPtr<IMixerLineDst>
  00125	c6 45 fc 03	 mov	 BYTE PTR __$EHRec$[ebp+8], 3

; 324  :         m_pDestinationLines.push_back(NewDest);

  00129	8d 4d e4	 lea	 ecx, DWORD PTR _NewDest$148122[ebp]
  0012c	51		 push	 ecx
  0012d	8b 4d d8	 mov	 ecx, DWORD PTR _this$[ebp]
  00130	83 c1 5c	 add	 ecx, 92			; 0000005cH
  00133	e8 00 00 00 00	 call	 ?push_back@?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAEXABV?$SmartPtr@VIMixerLineDst@@@@@Z ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::push_back

; 325  :     }

  00138	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  0013c	8d 4d e4	 lea	 ecx, DWORD PTR _NewDest$148122[ebp]
  0013f	e8 00 00 00 00	 call	 ??1?$SmartPtr@VIMixerLineDst@@@@QAE@XZ ; SmartPtr<IMixerLineDst>::~SmartPtr<IMixerLineDst>
  00144	e9 77 ff ff ff	 jmp	 $LN2@CMixer@2
$LN7@CMixer@2:

; 326  : }

  00149	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00150	8b 45 d8	 mov	 eax, DWORD PTR _this$[ebp]
  00153	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00156	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0015d	59		 pop	 ecx
  0015e	8b e5		 mov	 esp, ebp
  00160	5d		 pop	 ebp
  00161	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0CMixer@@QAE@K@Z$0:
  00000	8b 4d d8	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1IMixer@@UAE@XZ	; IMixer::~IMixer
__unwindfunclet$??0CMixer@@QAE@K@Z$1:
  00008	8b 4d d8	 mov	 ecx, DWORD PTR _this$[ebp]
  0000b	83 c1 5c	 add	 ecx, 92			; 0000005cH
  0000e	e9 00 00 00 00	 jmp	 ??1?$vector@V?$SmartPtr@VIMixerLineDst@@@@V?$allocator@V?$SmartPtr@VIMixerLineDst@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >::~vector<SmartPtr<IMixerLineDst>,std::allocator<SmartPtr<IMixerLineDst> > >
__unwindfunclet$??0CMixer@@QAE@K@Z$2:
  00013	8b 45 dc	 mov	 eax, DWORD PTR $T341418[ebp]
  00016	50		 push	 eax
  00017	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  0001c	59		 pop	 ecx
  0001d	c3		 ret	 0
__unwindfunclet$??0CMixer@@QAE@K@Z$3:
  0001e	8d 4d e4	 lea	 ecx, DWORD PTR _NewDest$148122[ebp]
  00021	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VIMixerLineDst@@@@QAE@XZ ; SmartPtr<IMixerLineDst>::~SmartPtr<IMixerLineDst>
__ehhandler$??0CMixer@@QAE@K@Z:
  00026	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0002a	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0002d	8b 4a dc	 mov	 ecx, DWORD PTR [edx-36]
  00030	33 c8		 xor	 ecx, eax
  00032	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00037	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0CMixer@@QAE@K@Z
  0003c	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0CMixer@@QAE@K@Z ENDP					; CMixer::CMixer
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0CVistaMixer@@QAE@KAAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0CVistaMixer@@QAE@KAAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0CVistaMixer@@QAE@KAAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$??0CVistaMixer@@QAE@KAAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z$2
	DD	01H
	DD	FLAT:__unwindfunclet$??0CVistaMixer@@QAE@KAAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z$3
__ehfuncinfo$??0CVistaMixer@@QAE@KAAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z DD 019930522H
	DD	04H
	DD	FLAT:__unwindtable$??0CVistaMixer@@QAE@KAAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0CVistaMixer@@QAE@KAAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z
_TEXT	SEGMENT
tv138 = -32						; size = 4
tv137 = -28						; size = 4
tv70 = -24						; size = 4
_this$ = -20						; size = 4
$T343727 = -16						; size = 4
__$EHRec$ = -12						; size = 12
_nMixerIndex$ = 8					; size = 4
_Device$ = 12						; size = 4
_DeviceEnum$ = 16					; size = 4
??0CVistaMixer@@QAE@KAAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z PROC ; CVistaMixer::CVistaMixer, COMDAT
; _this$ = ecx

; 571  :     {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0CVistaMixer@@QAE@KAAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@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 ec	 mov	 DWORD PTR _this$[ebp], ecx
  00028	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  0002f	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00032	e8 00 00 00 00	 call	 ??0IMixer@@QAE@XZ
  00037	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  0003b	8b 45 ec	 mov	 eax, DWORD PTR _this$[ebp]
  0003e	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], OFFSET ??_7CVistaMixer@@6B@
  00044	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00047	8b 55 08	 mov	 edx, DWORD PTR _nMixerIndex$[ebp]
  0004a	89 51 04	 mov	 DWORD PTR [ecx+4], edx
  0004d	51		 push	 ecx
  0004e	8b cc		 mov	 ecx, esp
  00050	89 65 f0	 mov	 DWORD PTR $T343727[ebp], esp
  00053	8d 45 10	 lea	 eax, DWORD PTR _DeviceEnum$[ebp]
  00056	50		 push	 eax
  00057	e8 00 00 00 00	 call	 ??0?$CComPtr@UIMMDeviceEnumerator@@@ATL@@QAE@ABV01@@Z ; ATL::CComPtr<IMMDeviceEnumerator>::CComPtr<IMMDeviceEnumerator>
  0005c	89 45 e8	 mov	 DWORD PTR tv70[ebp], eax
  0005f	8b 4d e8	 mov	 ecx, DWORD PTR tv70[ebp]
  00062	89 4d e4	 mov	 DWORD PTR tv137[ebp], ecx
  00065	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  00069	8b 55 0c	 mov	 edx, DWORD PTR _Device$[ebp]
  0006c	52		 push	 edx
  0006d	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00070	83 c1 08	 add	 ecx, 8
  00073	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  00077	e8 00 00 00 00	 call	 ??0CVistaMixerLineDst@@QAE@AAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z ; CVistaMixerLineDst::CVistaMixerLineDst
  0007c	89 45 e0	 mov	 DWORD PTR tv138[ebp], eax
  0007f	c6 45 fc 03	 mov	 BYTE PTR __$EHRec$[ebp+8], 3

; 572  :     }

  00083	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0008a	8d 4d 10	 lea	 ecx, DWORD PTR _DeviceEnum$[ebp]
  0008d	e8 00 00 00 00	 call	 ??1?$CComPtr@UIMMDeviceEnumerator@@@ATL@@QAE@XZ ; ATL::CComPtr<IMMDeviceEnumerator>::~CComPtr<IMMDeviceEnumerator>
  00092	8b 45 ec	 mov	 eax, DWORD PTR _this$[ebp]
  00095	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00098	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0009f	59		 pop	 ecx
  000a0	8b e5		 mov	 esp, ebp
  000a2	5d		 pop	 ebp
  000a3	c2 0c 00	 ret	 12			; 0000000cH
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0CVistaMixer@@QAE@KAAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z$0:
  00000	8d 4d 10	 lea	 ecx, DWORD PTR _DeviceEnum$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$CComPtr@UIMMDeviceEnumerator@@@ATL@@QAE@XZ ; ATL::CComPtr<IMMDeviceEnumerator>::~CComPtr<IMMDeviceEnumerator>
__unwindfunclet$??0CVistaMixer@@QAE@KAAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z$1:
  00008	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  0000b	e9 00 00 00 00	 jmp	 ??1IMixer@@UAE@XZ	; IMixer::~IMixer
__unwindfunclet$??0CVistaMixer@@QAE@KAAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z$2:
  00010	8b 4d f0	 mov	 ecx, DWORD PTR $T343727[ebp]
  00013	e9 00 00 00 00	 jmp	 ??1?$CComPtr@UIMMDeviceEnumerator@@@ATL@@QAE@XZ ; ATL::CComPtr<IMMDeviceEnumerator>::~CComPtr<IMMDeviceEnumerator>
__unwindfunclet$??0CVistaMixer@@QAE@KAAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z$3:
  00018	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  0001b	83 c1 08	 add	 ecx, 8
  0001e	e9 00 00 00 00	 jmp	 ??1CVistaMixerLineDst@@UAE@XZ ; CVistaMixerLineDst::~CVistaMixerLineDst
__ehhandler$??0CVistaMixer@@QAE@KAAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z:
  00023	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00027	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0002a	8b 4a e8	 mov	 ecx, DWORD PTR [edx-24]
  0002d	33 c8		 xor	 ecx, eax
  0002f	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00034	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0CVistaMixer@@QAE@KAAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z
  00039	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0CVistaMixer@@QAE@KAAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z ENDP ; CVistaMixer::CVistaMixer
PUBLIC	??0CMixerList@@AAE@XZ				; CMixerList::CMixerList
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0CMixerList@@AAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0CMixerList@@AAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0CMixerList@@AAE@XZ$1
	DD	01H
	DD	FLAT:__unwindfunclet$??0CMixerList@@AAE@XZ$2
	DD	02H
	DD	FLAT:__unwindfunclet$??0CMixerList@@AAE@XZ$3
	DD	02H
	DD	FLAT:__unwindfunclet$??0CMixerList@@AAE@XZ$4
	DD	02H
	DD	FLAT:__unwindfunclet$??0CMixerList@@AAE@XZ$5
	DD	05H
	DD	FLAT:__unwindfunclet$??0CMixerList@@AAE@XZ$6
	DD	05H
	DD	FLAT:__unwindfunclet$??0CMixerList@@AAE@XZ$7
	DD	07H
	DD	FLAT:__unwindfunclet$??0CMixerList@@AAE@XZ$8
	DD	05H
	DD	FLAT:__unwindfunclet$??0CMixerList@@AAE@XZ$9
	DD	01H
	DD	FLAT:__unwindfunclet$??0CMixerList@@AAE@XZ$10
	DD	01H
	DD	FLAT:__unwindfunclet$??0CMixerList@@AAE@XZ$11
__ehfuncinfo$??0CMixerList@@AAE@XZ DD 019930522H
	DD	0cH
	DD	FLAT:__unwindtable$??0CMixerList@@AAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0CMixerList@@AAE@XZ
_TEXT	SEGMENT
tv233 = -316						; size = 4
tv210 = -312						; size = 4
tv248 = -308						; size = 4
tv247 = -304						; size = 4
tv155 = -300						; size = 4
tv164 = -296						; size = 4
tv138 = -292						; size = 4
tv81 = -288						; size = 4
_this$ = -284						; size = 4
$T344621 = -280						; size = 4
$T344620 = -276						; size = 4
$T344617 = -272						; size = 4
$T344616 = -268						; size = 4
$T344615 = -264						; size = 4
$T344614 = -260						; size = 28
$T344613 = -232						; size = 40
$T344612 = -192						; size = 28
$T344611 = -164						; size = 40
$T344610 = -124						; size = 28
$T344609 = -96						; size = 40
_NewMixer$148757 = -56					; size = 8
_i$148748 = -48						; size = 4
_nMixerCount$148747 = -44				; size = 4
_Device$148688 = -40					; size = 4
_NewMixer$148745 = -36					; size = 8
_i$148683 = -28						; size = 4
_Count$148677 = -24					; size = 4
_DeviceCollection$148671 = -20				; size = 4
_DeviceEnum$ = -16					; size = 4
__$EHRec$ = -12						; size = 12
??0CMixerList@@AAE@XZ PROC				; CMixerList::CMixerList, COMDAT
; _this$ = ecx

; 619  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0CMixerList@@AAE@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	81 ec 30 01 00
	00		 sub	 esp, 304		; 00000130H
  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001c	33 c5		 xor	 eax, ebp
  0001e	50		 push	 eax
  0001f	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00022	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00028	89 8d e4 fe ff
	ff		 mov	 DWORD PTR _this$[ebp], ecx
  0002e	8b 8d e4 fe ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00034	e8 00 00 00 00	 call	 ??0?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >
  00039	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 620  : #ifdef _DO_NEW_MIXER_CODE_
; 621  :     CComPtr<IMMDeviceEnumerator> DeviceEnum;

  00040	8d 4d f0	 lea	 ecx, DWORD PTR _DeviceEnum$[ebp]
  00043	e8 00 00 00 00	 call	 ??0?$CComPtr@UIMMDeviceEnumerator@@@ATL@@QAE@XZ ; ATL::CComPtr<IMMDeviceEnumerator>::CComPtr<IMMDeviceEnumerator>
  00048	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1

; 622  :     if(FALSE && SUCCEEDED(DeviceEnum.CoCreateInstance(__uuidof(MMDeviceEnumerator))))

  0004c	33 c0		 xor	 eax, eax
  0004e	0f 84 74 02 00
	00		 je	 $LN11@CMixerList

; 623  :     {
; 624  :         // do new Vista style approach
; 625  :         CComPtr<IMMDeviceCollection> DeviceCollection;

  00054	8d 4d ec	 lea	 ecx, DWORD PTR _DeviceCollection$148671[ebp]
  00057	e8 00 00 00 00	 call	 ??0?$CComPtr@UIMMDeviceCollection@@@ATL@@QAE@XZ ; ATL::CComPtr<IMMDeviceCollection>::CComPtr<IMMDeviceCollection>
  0005c	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2

; 626  :         if(FAILED(DeviceEnum->EnumAudioEndpoints(eRender, DEVICE_STATEMASK_ALL, &DeviceCollection)))

  00060	8d 4d f0	 lea	 ecx, DWORD PTR _DeviceEnum$[ebp]
  00063	e8 00 00 00 00	 call	 ??C?$CComPtr@UIMMDeviceEnumerator@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIMMDeviceEnumerator@@@1@XZ ; ATL::CComPtr<IMMDeviceEnumerator>::operator->
  00068	89 85 e0 fe ff
	ff		 mov	 DWORD PTR tv81[ebp], eax
  0006e	8d 4d ec	 lea	 ecx, DWORD PTR _DeviceCollection$148671[ebp]
  00071	e8 00 00 00 00	 call	 ??I?$CComPtr@UIMMDeviceCollection@@@ATL@@QAEPAPAUIMMDeviceCollection@@XZ ; ATL::CComPtr<IMMDeviceCollection>::operator&
  00076	50		 push	 eax
  00077	6a 0f		 push	 15			; 0000000fH
  00079	6a 00		 push	 0
  0007b	8b 8d e0 fe ff
	ff		 mov	 ecx, DWORD PTR tv81[ebp]
  00081	51		 push	 ecx
  00082	8b 95 e0 fe ff
	ff		 mov	 edx, DWORD PTR tv81[ebp]
  00088	8b 02		 mov	 eax, DWORD PTR [edx]
  0008a	8b 48 0c	 mov	 ecx, DWORD PTR [eax+12]
  0008d	ff d1		 call	 ecx
  0008f	85 c0		 test	 eax, eax
  00091	7d 37		 jge	 SHORT $LN10@CMixerList

; 627  :         {
; 628  :             throw logic_error("Couldn't enumerate audio endpoints");

  00093	68 00 00 00 00	 push	 OFFSET ??_C@_0CD@DKEMEDH@Couldn?8t?5enumerate?5audio?5endpoin@
  00098	8d 4d 84	 lea	 ecx, DWORD PTR $T344610[ebp]
  0009b	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> >
  000a0	c6 45 fc 03	 mov	 BYTE PTR __$EHRec$[ebp+8], 3
  000a4	8d 55 84	 lea	 edx, DWORD PTR $T344610[ebp]
  000a7	52		 push	 edx
  000a8	8d 4d a0	 lea	 ecx, DWORD PTR $T344609[ebp]
  000ab	e8 00 00 00 00	 call	 ??0logic_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z ; std::logic_error::logic_error
  000b0	68 00 00 00 00	 push	 OFFSET __TI2?AVlogic_error@std@@
  000b5	8d 45 a0	 lea	 eax, DWORD PTR $T344609[ebp]
  000b8	50		 push	 eax
  000b9	e8 00 00 00 00	 call	 __CxxThrowException@8
  000be	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  000c2	8d 4d 84	 lea	 ecx, DWORD PTR $T344610[ebp]
  000c5	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> >
$LN10@CMixerList:

; 629  :         }
; 630  :         UINT Count(0);

  000ca	c7 45 e8 00 00
	00 00		 mov	 DWORD PTR _Count$148677[ebp], 0

; 631  :         if(FAILED(DeviceCollection->GetCount(&Count)))

  000d1	8d 4d ec	 lea	 ecx, DWORD PTR _DeviceCollection$148671[ebp]
  000d4	e8 00 00 00 00	 call	 ??C?$CComPtr@UIMMDeviceCollection@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIMMDeviceCollection@@@1@XZ ; ATL::CComPtr<IMMDeviceCollection>::operator->
  000d9	89 85 dc fe ff
	ff		 mov	 DWORD PTR tv138[ebp], eax
  000df	8d 4d e8	 lea	 ecx, DWORD PTR _Count$148677[ebp]
  000e2	51		 push	 ecx
  000e3	8b 95 dc fe ff
	ff		 mov	 edx, DWORD PTR tv138[ebp]
  000e9	52		 push	 edx
  000ea	8b 85 dc fe ff
	ff		 mov	 eax, DWORD PTR tv138[ebp]
  000f0	8b 08		 mov	 ecx, DWORD PTR [eax]
  000f2	8b 51 0c	 mov	 edx, DWORD PTR [ecx+12]
  000f5	ff d2		 call	 edx
  000f7	85 c0		 test	 eax, eax
  000f9	7d 46		 jge	 SHORT $LN9@CMixerList

; 632  :         {
; 633  :             throw logic_error("Couldn't count items in endpoint collection");

  000fb	68 00 00 00 00	 push	 OFFSET ??_C@_0CM@NHODHPFL@Couldn?8t?5count?5items?5in?5endpoint@
  00100	8d 8d 40 ff ff
	ff		 lea	 ecx, DWORD PTR $T344612[ebp]
  00106	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> >
  0010b	c6 45 fc 04	 mov	 BYTE PTR __$EHRec$[ebp+8], 4
  0010f	8d 85 40 ff ff
	ff		 lea	 eax, DWORD PTR $T344612[ebp]
  00115	50		 push	 eax
  00116	8d 8d 5c ff ff
	ff		 lea	 ecx, DWORD PTR $T344611[ebp]
  0011c	e8 00 00 00 00	 call	 ??0logic_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z ; std::logic_error::logic_error
  00121	68 00 00 00 00	 push	 OFFSET __TI2?AVlogic_error@std@@
  00126	8d 8d 5c ff ff
	ff		 lea	 ecx, DWORD PTR $T344611[ebp]
  0012c	51		 push	 ecx
  0012d	e8 00 00 00 00	 call	 __CxxThrowException@8
  00132	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  00136	8d 8d 40 ff ff
	ff		 lea	 ecx, DWORD PTR $T344612[ebp]
  0013c	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> >
$LN9@CMixerList:

; 634  :         }
; 635  :         for(UINT i(0); i < Count; ++i)

  00141	c7 45 e4 00 00
	00 00		 mov	 DWORD PTR _i$148683[ebp], 0
  00148	eb 09		 jmp	 SHORT $LN8@CMixerList
$LN7@CMixerList:
  0014a	8b 55 e4	 mov	 edx, DWORD PTR _i$148683[ebp]
  0014d	83 c2 01	 add	 edx, 1
  00150	89 55 e4	 mov	 DWORD PTR _i$148683[ebp], edx
$LN8@CMixerList:
  00153	8b 45 e4	 mov	 eax, DWORD PTR _i$148683[ebp]
  00156	3b 45 e8	 cmp	 eax, DWORD PTR _Count$148677[ebp]
  00159	0f 83 58 01 00
	00		 jae	 $LN6@CMixerList

; 636  :         {
; 637  :             CComPtr<IMMDevice> Device;

  0015f	8d 4d d8	 lea	 ecx, DWORD PTR _Device$148688[ebp]
  00162	e8 00 00 00 00	 call	 ??0?$CComPtr@UIMMDevice@@@ATL@@QAE@XZ ; ATL::CComPtr<IMMDevice>::CComPtr<IMMDevice>
  00167	c6 45 fc 05	 mov	 BYTE PTR __$EHRec$[ebp+8], 5

; 638  :             if(FAILED(DeviceCollection->Item(i, &Device)))

  0016b	8d 4d ec	 lea	 ecx, DWORD PTR _DeviceCollection$148671[ebp]
  0016e	e8 00 00 00 00	 call	 ??C?$CComPtr@UIMMDeviceCollection@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIMMDeviceCollection@@@1@XZ ; ATL::CComPtr<IMMDeviceCollection>::operator->
  00173	89 85 d8 fe ff
	ff		 mov	 DWORD PTR tv164[ebp], eax
  00179	8d 4d d8	 lea	 ecx, DWORD PTR _Device$148688[ebp]
  0017c	e8 00 00 00 00	 call	 ??I?$CComPtr@UIMMDevice@@@ATL@@QAEPAPAUIMMDevice@@XZ ; ATL::CComPtr<IMMDevice>::operator&
  00181	50		 push	 eax
  00182	8b 4d e4	 mov	 ecx, DWORD PTR _i$148683[ebp]
  00185	51		 push	 ecx
  00186	8b 95 d8 fe ff
	ff		 mov	 edx, DWORD PTR tv164[ebp]
  0018c	52		 push	 edx
  0018d	8b 85 d8 fe ff
	ff		 mov	 eax, DWORD PTR tv164[ebp]
  00193	8b 08		 mov	 ecx, DWORD PTR [eax]
  00195	8b 51 10	 mov	 edx, DWORD PTR [ecx+16]
  00198	ff d2		 call	 edx
  0019a	85 c0		 test	 eax, eax
  0019c	7d 46		 jge	 SHORT $LN5@CMixerList

; 639  :             {
; 640  :                 throw logic_error("Couldn't get item in endpoint collection");

  0019e	68 00 00 00 00	 push	 OFFSET ??_C@_0CJ@GKJNCEG@Couldn?8t?5get?5item?5in?5endpoint?5co@
  001a3	8d 8d fc fe ff
	ff		 lea	 ecx, DWORD PTR $T344614[ebp]
  001a9	e8 00 00 00 00	 call	 ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
  001ae	c6 45 fc 06	 mov	 BYTE PTR __$EHRec$[ebp+8], 6
  001b2	8d 85 fc fe ff
	ff		 lea	 eax, DWORD PTR $T344614[ebp]
  001b8	50		 push	 eax
  001b9	8d 8d 18 ff ff
	ff		 lea	 ecx, DWORD PTR $T344613[ebp]
  001bf	e8 00 00 00 00	 call	 ??0logic_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z ; std::logic_error::logic_error
  001c4	68 00 00 00 00	 push	 OFFSET __TI2?AVlogic_error@std@@
  001c9	8d 8d 18 ff ff
	ff		 lea	 ecx, DWORD PTR $T344613[ebp]
  001cf	51		 push	 ecx
  001d0	e8 00 00 00 00	 call	 __CxxThrowException@8
  001d5	c6 45 fc 05	 mov	 BYTE PTR __$EHRec$[ebp+8], 5
  001d9	8d 8d fc fe ff
	ff		 lea	 ecx, DWORD PTR $T344614[ebp]
  001df	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> >
$LN5@CMixerList:

; 641  :             }
; 642  : 
; 643  :             SmartPtr<IMixer> NewMixer(new CVistaMixer(i, Device, DeviceEnum));

  001e4	6a 44		 push	 68			; 00000044H
  001e6	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  001eb	83 c4 04	 add	 esp, 4
  001ee	89 85 f4 fe ff
	ff		 mov	 DWORD PTR $T344616[ebp], eax
  001f4	c6 45 fc 07	 mov	 BYTE PTR __$EHRec$[ebp+8], 7
  001f8	83 bd f4 fe ff
	ff 00		 cmp	 DWORD PTR $T344616[ebp], 0
  001ff	74 53		 je	 SHORT $LN14@CMixerList
  00201	51		 push	 ecx
  00202	8b cc		 mov	 ecx, esp
  00204	89 a5 f0 fe ff
	ff		 mov	 DWORD PTR $T344617[ebp], esp
  0020a	8d 55 f0	 lea	 edx, DWORD PTR _DeviceEnum$[ebp]
  0020d	52		 push	 edx
  0020e	e8 00 00 00 00	 call	 ??0?$CComPtr@UIMMDeviceEnumerator@@@ATL@@QAE@ABV01@@Z ; ATL::CComPtr<IMMDeviceEnumerator>::CComPtr<IMMDeviceEnumerator>
  00213	89 85 d4 fe ff
	ff		 mov	 DWORD PTR tv155[ebp], eax
  00219	8b 85 d4 fe ff
	ff		 mov	 eax, DWORD PTR tv155[ebp]
  0021f	89 85 d0 fe ff
	ff		 mov	 DWORD PTR tv247[ebp], eax
  00225	c6 45 fc 08	 mov	 BYTE PTR __$EHRec$[ebp+8], 8
  00229	8d 4d d8	 lea	 ecx, DWORD PTR _Device$148688[ebp]
  0022c	51		 push	 ecx
  0022d	8b 55 e4	 mov	 edx, DWORD PTR _i$148683[ebp]
  00230	52		 push	 edx
  00231	c6 45 fc 07	 mov	 BYTE PTR __$EHRec$[ebp+8], 7
  00235	8b 8d f4 fe ff
	ff		 mov	 ecx, DWORD PTR $T344616[ebp]
  0023b	e8 00 00 00 00	 call	 ??0CVistaMixer@@QAE@KAAV?$CComPtr@UIMMDevice@@@ATL@@V?$CComPtr@UIMMDeviceEnumerator@@@2@@Z ; CVistaMixer::CVistaMixer
  00240	89 85 cc fe ff
	ff		 mov	 DWORD PTR tv248[ebp], eax
  00246	8b 85 cc fe ff
	ff		 mov	 eax, DWORD PTR tv248[ebp]
  0024c	89 85 c8 fe ff
	ff		 mov	 DWORD PTR tv210[ebp], eax
  00252	eb 0a		 jmp	 SHORT $LN15@CMixerList
$LN14@CMixerList:
  00254	c7 85 c8 fe ff
	ff 00 00 00 00	 mov	 DWORD PTR tv210[ebp], 0
$LN15@CMixerList:
  0025e	8b 8d c8 fe ff
	ff		 mov	 ecx, DWORD PTR tv210[ebp]
  00264	89 8d f8 fe ff
	ff		 mov	 DWORD PTR $T344615[ebp], ecx
  0026a	c6 45 fc 05	 mov	 BYTE PTR __$EHRec$[ebp+8], 5
  0026e	6a 00		 push	 0
  00270	8b 95 f8 fe ff
	ff		 mov	 edx, DWORD PTR $T344615[ebp]
  00276	52		 push	 edx
  00277	8d 4d dc	 lea	 ecx, DWORD PTR _NewMixer$148745[ebp]
  0027a	e8 00 00 00 00	 call	 ??0?$SmartPtr@VIMixer@@@@QAE@PAVIMixer@@PAUCounter@@@Z ; SmartPtr<IMixer>::SmartPtr<IMixer>
  0027f	c6 45 fc 09	 mov	 BYTE PTR __$EHRec$[ebp+8], 9

; 644  :             m_Mixers.push_back(NewMixer);

  00283	8d 45 dc	 lea	 eax, DWORD PTR _NewMixer$148745[ebp]
  00286	50		 push	 eax
  00287	8b 8d e4 fe ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  0028d	e8 00 00 00 00	 call	 ?push_back@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAEXABV?$SmartPtr@VIMixer@@@@@Z ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::push_back

; 645  : 
; 646  :             // done with this copy of pointer
; 647  :             Device.Release();

  00292	8d 4d d8	 lea	 ecx, DWORD PTR _Device$148688[ebp]
  00295	e8 00 00 00 00	 call	 ?Release@?$CComPtr@UIMMDevice@@@ATL@@QAEXXZ ; ATL::CComPtr<IMMDevice>::Release

; 648  :         }

  0029a	c6 45 fc 05	 mov	 BYTE PTR __$EHRec$[ebp+8], 5
  0029e	8d 4d dc	 lea	 ecx, DWORD PTR _NewMixer$148745[ebp]
  002a1	e8 00 00 00 00	 call	 ??1?$SmartPtr@VIMixer@@@@QAE@XZ ; SmartPtr<IMixer>::~SmartPtr<IMixer>
  002a6	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  002aa	8d 4d d8	 lea	 ecx, DWORD PTR _Device$148688[ebp]
  002ad	e8 00 00 00 00	 call	 ??1?$CComPtr@UIMMDevice@@@ATL@@QAE@XZ ; ATL::CComPtr<IMMDevice>::~CComPtr<IMMDevice>
  002b2	e9 93 fe ff ff	 jmp	 $LN7@CMixerList
$LN6@CMixerList:

; 649  :     }

  002b7	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  002bb	8d 4d ec	 lea	 ecx, DWORD PTR _DeviceCollection$148671[ebp]
  002be	e8 00 00 00 00	 call	 ??1?$CComPtr@UIMMDeviceCollection@@@ATL@@QAE@XZ ; ATL::CComPtr<IMMDeviceCollection>::~CComPtr<IMMDeviceCollection>

; 650  :     else

  002c3	e9 aa 00 00 00	 jmp	 $LN4@CMixerList
$LN11@CMixerList:

; 651  : #endif
; 652  :     {
; 653  :         // do old school mixer based classed
; 654  :         long nMixerCount = mixerGetNumDevs();

  002c8	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__mixerGetNumDevs@0
  002ce	89 45 d4	 mov	 DWORD PTR _nMixerCount$148747[ebp], eax

; 655  :         for(long i(0); i < nMixerCount; ++i)

  002d1	c7 45 d0 00 00
	00 00		 mov	 DWORD PTR _i$148748[ebp], 0
  002d8	eb 09		 jmp	 SHORT $LN3@CMixerList
$LN2@CMixerList:
  002da	8b 4d d0	 mov	 ecx, DWORD PTR _i$148748[ebp]
  002dd	83 c1 01	 add	 ecx, 1
  002e0	89 4d d0	 mov	 DWORD PTR _i$148748[ebp], ecx
$LN3@CMixerList:
  002e3	8b 55 d0	 mov	 edx, DWORD PTR _i$148748[ebp]
  002e6	3b 55 d4	 cmp	 edx, DWORD PTR _nMixerCount$148747[ebp]
  002e9	0f 8d 83 00 00
	00		 jge	 $LN4@CMixerList

; 656  :         {
; 657  :             SmartPtr<IMixer> NewMixer(new CMixer(i));

  002ef	6a 74		 push	 116			; 00000074H
  002f1	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  002f6	83 c4 04	 add	 esp, 4
  002f9	89 85 e8 fe ff
	ff		 mov	 DWORD PTR $T344621[ebp], eax
  002ff	c6 45 fc 0a	 mov	 BYTE PTR __$EHRec$[ebp+8], 10 ; 0000000aH
  00303	83 bd e8 fe ff
	ff 00		 cmp	 DWORD PTR $T344621[ebp], 0
  0030a	74 17		 je	 SHORT $LN16@CMixerList
  0030c	8b 45 d0	 mov	 eax, DWORD PTR _i$148748[ebp]
  0030f	50		 push	 eax
  00310	8b 8d e8 fe ff
	ff		 mov	 ecx, DWORD PTR $T344621[ebp]
  00316	e8 00 00 00 00	 call	 ??0CMixer@@QAE@K@Z	; CMixer::CMixer
  0031b	89 85 c4 fe ff
	ff		 mov	 DWORD PTR tv233[ebp], eax
  00321	eb 0a		 jmp	 SHORT $LN17@CMixerList
$LN16@CMixerList:
  00323	c7 85 c4 fe ff
	ff 00 00 00 00	 mov	 DWORD PTR tv233[ebp], 0
$LN17@CMixerList:
  0032d	8b 8d c4 fe ff
	ff		 mov	 ecx, DWORD PTR tv233[ebp]
  00333	89 8d ec fe ff
	ff		 mov	 DWORD PTR $T344620[ebp], ecx
  00339	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  0033d	6a 00		 push	 0
  0033f	8b 95 ec fe ff
	ff		 mov	 edx, DWORD PTR $T344620[ebp]
  00345	52		 push	 edx
  00346	8d 4d c8	 lea	 ecx, DWORD PTR _NewMixer$148757[ebp]
  00349	e8 00 00 00 00	 call	 ??0?$SmartPtr@VIMixer@@@@QAE@PAVIMixer@@PAUCounter@@@Z ; SmartPtr<IMixer>::SmartPtr<IMixer>
  0034e	c6 45 fc 0b	 mov	 BYTE PTR __$EHRec$[ebp+8], 11 ; 0000000bH

; 658  :             m_Mixers.push_back(NewMixer);

  00352	8d 45 c8	 lea	 eax, DWORD PTR _NewMixer$148757[ebp]
  00355	50		 push	 eax
  00356	8b 8d e4 fe ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  0035c	e8 00 00 00 00	 call	 ?push_back@?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAEXABV?$SmartPtr@VIMixer@@@@@Z ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::push_back

; 659  :         }

  00361	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  00365	8d 4d c8	 lea	 ecx, DWORD PTR _NewMixer$148757[ebp]
  00368	e8 00 00 00 00	 call	 ??1?$SmartPtr@VIMixer@@@@QAE@XZ ; SmartPtr<IMixer>::~SmartPtr<IMixer>
  0036d	e9 68 ff ff ff	 jmp	 $LN2@CMixerList
$LN4@CMixerList:

; 660  :     }
; 661  : }

  00372	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  00376	8d 4d f0	 lea	 ecx, DWORD PTR _DeviceEnum$[ebp]
  00379	e8 00 00 00 00	 call	 ??1?$CComPtr@UIMMDeviceEnumerator@@@ATL@@QAE@XZ ; ATL::CComPtr<IMMDeviceEnumerator>::~CComPtr<IMMDeviceEnumerator>
  0037e	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00385	8b 85 e4 fe ff
	ff		 mov	 eax, DWORD PTR _this$[ebp]
$LN13@CMixerList:
  0038b	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0038e	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00395	59		 pop	 ecx
  00396	8b e5		 mov	 esp, ebp
  00398	5d		 pop	 ebp
  00399	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0CMixerList@@AAE@XZ$0:
  00000	8b 8d e4 fe ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00006	e9 00 00 00 00	 jmp	 ??1?$vector@V?$SmartPtr@VIMixer@@@@V?$allocator@V?$SmartPtr@VIMixer@@@@@std@@@std@@QAE@XZ ; std::vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >::~vector<SmartPtr<IMixer>,std::allocator<SmartPtr<IMixer> > >
__unwindfunclet$??0CMixerList@@AAE@XZ$1:
  0000b	8d 4d f0	 lea	 ecx, DWORD PTR _DeviceEnum$[ebp]
  0000e	e9 00 00 00 00	 jmp	 ??1?$CComPtr@UIMMDeviceEnumerator@@@ATL@@QAE@XZ ; ATL::CComPtr<IMMDeviceEnumerator>::~CComPtr<IMMDeviceEnumerator>
__unwindfunclet$??0CMixerList@@AAE@XZ$2:
  00013	8d 4d ec	 lea	 ecx, DWORD PTR _DeviceCollection$148671[ebp]
  00016	e9 00 00 00 00	 jmp	 ??1?$CComPtr@UIMMDeviceCollection@@@ATL@@QAE@XZ ; ATL::CComPtr<IMMDeviceCollection>::~CComPtr<IMMDeviceCollection>
__unwindfunclet$??0CMixerList@@AAE@XZ$3:
  0001b	8d 4d 84	 lea	 ecx, DWORD PTR $T344610[ebp]
  0001e	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$??0CMixerList@@AAE@XZ$4:
  00023	8d 8d 40 ff ff
	ff		 lea	 ecx, DWORD PTR $T344612[ebp]
  00029	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$??0CMixerList@@AAE@XZ$5:
  0002e	8d 4d d8	 lea	 ecx, DWORD PTR _Device$148688[ebp]
  00031	e9 00 00 00 00	 jmp	 ??1?$CComPtr@UIMMDevice@@@ATL@@QAE@XZ ; ATL::CComPtr<IMMDevice>::~CComPtr<IMMDevice>
__unwindfunclet$??0CMixerList@@AAE@XZ$6:
  00036	8d 8d fc fe ff
	ff		 lea	 ecx, DWORD PTR $T344614[ebp]
  0003c	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$??0CMixerList@@AAE@XZ$7:
  00041	8b 85 f4 fe ff
	ff		 mov	 eax, DWORD PTR $T344616[ebp]
  00047	50		 push	 eax
  00048	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  0004d	59		 pop	 ecx
  0004e	c3		 ret	 0
__unwindfunclet$??0CMixerList@@AAE@XZ$8:
  0004f	8b 8d f0 fe ff
	ff		 mov	 ecx, DWORD PTR $T344617[ebp]
  00055	e9 00 00 00 00	 jmp	 ??1?$CComPtr@UIMMDeviceEnumerator@@@ATL@@QAE@XZ ; ATL::CComPtr<IMMDeviceEnumerator>::~CComPtr<IMMDeviceEnumerator>
__unwindfunclet$??0CMixerList@@AAE@XZ$9:
  0005a	8d 4d dc	 lea	 ecx, DWORD PTR _NewMixer$148745[ebp]
  0005d	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VIMixer@@@@QAE@XZ ; SmartPtr<IMixer>::~SmartPtr<IMixer>
__unwindfunclet$??0CMixerList@@AAE@XZ$10:
  00062	8b 85 e8 fe ff
	ff		 mov	 eax, DWORD PTR $T344621[ebp]
  00068	50		 push	 eax
  00069	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  0006e	59		 pop	 ecx
  0006f	c3		 ret	 0
__unwindfunclet$??0CMixerList@@AAE@XZ$11:
  00070	8d 4d c8	 lea	 ecx, DWORD PTR _NewMixer$148757[ebp]
  00073	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VIMixer@@@@QAE@XZ ; SmartPtr<IMixer>::~SmartPtr<IMixer>
__ehhandler$??0CMixerList@@AAE@XZ:
  00078	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0007c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0007f	8b 8a cc fe ff
	ff		 mov	 ecx, DWORD PTR [edx-308]
  00085	33 c8		 xor	 ecx, eax
  00087	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0008c	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0CMixerList@@AAE@XZ
  00091	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0CMixerList@@AAE@XZ ENDP				; CMixerList::CMixerList
PUBLIC	?getInstance@CMixerList@@SAPAV1@XZ		; CMixerList::getInstance
;	COMDAT ?TheInstance@?1??getInstance@CMixerList@@SAPAV2@XZ@4V2@A
_BSS	SEGMENT
?TheInstance@?1??getInstance@CMixerList@@SAPAV2@XZ@4V2@A DB 018H DUP (?) ; `CMixerList::getInstance'::`2'::TheInstance
_BSS	ENDS
;	COMDAT ?$S1@?1??getInstance@CMixerList@@SAPAV2@XZ@4IA
_BSS	SEGMENT
?$S1@?1??getInstance@CMixerList@@SAPAV2@XZ@4IA DD 01H DUP (?) ; `CMixerList::getInstance'::`2'::$S1
_BSS	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?getInstance@CMixerList@@SAPAV1@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?getInstance@CMixerList@@SAPAV1@XZ$0
__ehfuncinfo$?getInstance@CMixerList@@SAPAV1@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?getInstance@CMixerList@@SAPAV1@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?getInstance@CMixerList@@SAPAV1@XZ
_TEXT	SEGMENT
__$EHRec$ = -12						; size = 12
?getInstance@CMixerList@@SAPAV1@XZ PROC			; CMixerList::getInstance, COMDAT

; 693  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?getInstance@CMixerList@@SAPAV1@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00016	33 c5		 xor	 eax, ebp
  00018	50		 push	 eax
  00019	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001c	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax

; 694  :     static CMixerList TheInstance;

  00022	a1 00 00 00 00	 mov	 eax, DWORD PTR ?$S1@?1??getInstance@CMixerList@@SAPAV2@XZ@4IA
  00027	83 e0 01	 and	 eax, 1
  0002a	75 34		 jne	 SHORT $LN1@getInstanc@2
  0002c	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?$S1@?1??getInstance@CMixerList@@SAPAV2@XZ@4IA
  00032	83 c9 01	 or	 ecx, 1
  00035	89 0d 00 00 00
	00		 mov	 DWORD PTR ?$S1@?1??getInstance@CMixerList@@SAPAV2@XZ@4IA, ecx
  0003b	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00042	b9 00 00 00 00	 mov	 ecx, OFFSET ?TheInstance@?1??getInstance@CMixerList@@SAPAV2@XZ@4V2@A
  00047	e8 00 00 00 00	 call	 ??0CMixerList@@AAE@XZ	; CMixerList::CMixerList
  0004c	68 00 00 00 00	 push	 OFFSET ??__FTheInstance@?1??getInstance@CMixerList@@SAPAV1@XZ@YAXXZ ; `CMixerList::getInstance'::`2'::`dynamic atexit destructor for 'TheInstance''
  00051	e8 00 00 00 00	 call	 _atexit
  00056	83 c4 04	 add	 esp, 4
  00059	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
$LN1@getInstanc@2:

; 695  :     return &TheInstance;

  00060	b8 00 00 00 00	 mov	 eax, OFFSET ?TheInstance@?1??getInstance@CMixerList@@SAPAV2@XZ@4V2@A

; 696  : }

  00065	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00068	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0006f	59		 pop	 ecx
  00070	8b e5		 mov	 esp, ebp
  00072	5d		 pop	 ebp
  00073	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?getInstance@CMixerList@@SAPAV1@XZ$0:
  00000	a1 00 00 00 00	 mov	 eax, DWORD PTR ?$S1@?1??getInstance@CMixerList@@SAPAV2@XZ@4IA
  00005	83 e0 fe	 and	 eax, -2			; fffffffeH
  00008	a3 00 00 00 00	 mov	 DWORD PTR ?$S1@?1??getInstance@CMixerList@@SAPAV2@XZ@4IA, eax
  0000d	c3		 ret	 0
__ehhandler$?getInstance@CMixerList@@SAPAV1@XZ:
  0000e	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00012	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00015	8b 4a fc	 mov	 ecx, DWORD PTR [edx-4]
  00018	33 c8		 xor	 ecx, eax
  0001a	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0001f	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?getInstance@CMixerList@@SAPAV1@XZ
  00024	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?getInstance@CMixerList@@SAPAV1@XZ ENDP			; CMixerList::getInstance
; Function compile flags: /Odtp
;	COMDAT ??__FTheInstance@?1??getInstance@CMixerList@@SAPAV1@XZ@YAXXZ
text$yd	SEGMENT
??__FTheInstance@?1??getInstance@CMixerList@@SAPAV1@XZ@YAXXZ PROC ; `CMixerList::getInstance'::`2'::`dynamic atexit destructor for 'TheInstance'', COMDAT
  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	b9 00 00 00 00	 mov	 ecx, OFFSET ?TheInstance@?1??getInstance@CMixerList@@SAPAV2@XZ@4V2@A
  00008	e8 00 00 00 00	 call	 ??1CMixerList@@QAE@XZ
  0000d	5d		 pop	 ebp
  0000e	c3		 ret	 0
??__FTheInstance@?1??getInstance@CMixerList@@SAPAV1@XZ@YAXXZ ENDP ; `CMixerList::getInstance'::`2'::`dynamic atexit destructor for 'TheInstance''
END
