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

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

INCLUDELIB OLDNAMES

PUBLIC	??_R4CBalanceSetting@CDSSourceBase@@6B@		; CDSSourceBase::CBalanceSetting::`RTTI Complete Object Locator'
PUBLIC	??_R3CBalanceSetting@CDSSourceBase@@8		; CDSSourceBase::CBalanceSetting::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2CBalanceSetting@CDSSourceBase@@8		; CDSSourceBase::CBalanceSetting::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@CBalanceSetting@CDSSourceBase@@8	; CDSSourceBase::CBalanceSetting::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVCBalanceSetting@CDSSourceBase@@@8	; CDSSourceBase::CBalanceSetting `RTTI Type Descriptor'
PUBLIC	??_R4CVolumeSetting@CDSSourceBase@@6B@		; CDSSourceBase::CVolumeSetting::`RTTI Complete Object Locator'
PUBLIC	??_R3CVolumeSetting@CDSSourceBase@@8		; CDSSourceBase::CVolumeSetting::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2CVolumeSetting@CDSSourceBase@@8		; CDSSourceBase::CVolumeSetting::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@CVolumeSetting@CDSSourceBase@@8	; CDSSourceBase::CVolumeSetting::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVCVolumeSetting@CDSSourceBase@@@8	; CDSSourceBase::CVolumeSetting `RTTI Type Descriptor'
PUBLIC	??_R4CDSSourceBase@@6BCEventObject@@@		; CDSSourceBase::`RTTI Complete Object Locator'
PUBLIC	?HandleWindowsCommands@CDSSourceBase@@UAEHPAUHWND__@@IJ@Z ; CDSSourceBase::HandleWindowsCommands
PUBLIC	?Start@CDSSourceBase@@UAEXXZ			; CDSSourceBase::Start
PUBLIC	??_R4CDSSourceBase@@6BCSettingsHolder@@@	; CDSSourceBase::`RTTI Complete Object Locator'
PUBLIC	?SetSourceAsCurrent@CDSSourceBase@@UAEXXZ	; CDSSourceBase::SetSourceAsCurrent
PUBLIC	?IDString@CDSSourceBase@@UAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ ; CDSSourceBase::IDString
PUBLIC	?SetWidth@CDSSourceBase@@UAEXH@Z		; CDSSourceBase::SetWidth
PUBLIC	?GetHeight@CDSSourceBase@@UAEHXZ		; CDSSourceBase::GetHeight
PUBLIC	?GetWidth@CDSSourceBase@@UAEHXZ			; CDSSourceBase::GetWidth
PUBLIC	?GetBalance@CDSSourceBase@@UAEPAVCSliderSetting@@XZ ; CDSSourceBase::GetBalance
PUBLIC	?GetVolume@CDSSourceBase@@UAEPAVCSliderSetting@@XZ ; CDSSourceBase::GetVolume
PUBLIC	?UnMute@CDSSourceBase@@UAEXXZ			; CDSSourceBase::UnMute
PUBLIC	?Mute@CDSSourceBase@@UAEXXZ			; CDSSourceBase::Mute
PUBLIC	?GetNextField@CDSSourceBase@@UAEXPAUTDeinterlaceInfo@@H@Z ; CDSSourceBase::GetNextField
PUBLIC	?Reset@CDSSourceBase@@UAEXXZ			; CDSSourceBase::Reset
PUBLIC	?Stop@CDSSourceBase@@UAEXXZ			; CDSSourceBase::Stop
PUBLIC	??0?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QAE@XZ ; SmartPtr<CDSSourceBase::CVolumeSetting>::SmartPtr<CDSSourceBase::CVolumeSetting>
PUBLIC	??0?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QAE@XZ ; SmartPtr<CDSSourceBase::CBalanceSetting>::SmartPtr<CDSSourceBase::CBalanceSetting>
PUBLIC	??_GCDSSourceBase@@UAEPAXI@Z			; CDSSourceBase::`scalar deleting destructor'
PUBLIC	??_ECDSSourceBase@@WEA@AEPAXI@Z			; [thunk]:CDSSourceBase::`vector deleting destructor'
PUBLIC	?OnChange@CVolumeSetting@CDSSourceBase@@UAEXJJ@Z ; CDSSourceBase::CVolumeSetting::OnChange
PUBLIC	??1CVolumeSetting@CDSSourceBase@@UAE@XZ		; CDSSourceBase::CVolumeSetting::~CVolumeSetting
PUBLIC	??_GCVolumeSetting@CDSSourceBase@@UAEPAXI@Z	; CDSSourceBase::CVolumeSetting::`scalar deleting destructor'
PUBLIC	??0CVolumeSetting@CDSSourceBase@@QAE@PBV1@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@JJJ1PAVCSettingGroup@@@Z ; CDSSourceBase::CVolumeSetting::CVolumeSetting
PUBLIC	?acquire@?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@AAEXPAUCounter@@@Z ; SmartPtr<CDSSourceBase::CVolumeSetting>::acquire
PUBLIC	??0?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QAE@ABV0@@Z ; SmartPtr<CDSSourceBase::CVolumeSetting>::SmartPtr<CDSSourceBase::CVolumeSetting>
PUBLIC	??4?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QAEAAV0@PAVCVolumeSetting@CDSSourceBase@@@Z ; SmartPtr<CDSSourceBase::CVolumeSetting>::operator=
PUBLIC	?OnChange@CBalanceSetting@CDSSourceBase@@UAEXJJ@Z ; CDSSourceBase::CBalanceSetting::OnChange
PUBLIC	??1CBalanceSetting@CDSSourceBase@@UAE@XZ	; CDSSourceBase::CBalanceSetting::~CBalanceSetting
PUBLIC	??_GCBalanceSetting@CDSSourceBase@@UAEPAXI@Z	; CDSSourceBase::CBalanceSetting::`scalar deleting destructor'
PUBLIC	??0CBalanceSetting@CDSSourceBase@@QAE@PBV1@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@JJJ1PAVCSettingGroup@@@Z ; CDSSourceBase::CBalanceSetting::CBalanceSetting
PUBLIC	?acquire@?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@AAEXPAUCounter@@@Z ; SmartPtr<CDSSourceBase::CBalanceSetting>::acquire
PUBLIC	??0?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QAE@ABV0@@Z ; SmartPtr<CDSSourceBase::CBalanceSetting>::SmartPtr<CDSSourceBase::CBalanceSetting>
PUBLIC	??4?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QAEAAV0@PAVCBalanceSetting@CDSSourceBase@@@Z ; SmartPtr<CDSSourceBase::CBalanceSetting>::operator=
PUBLIC	?Clear@?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QAEXXZ ; SmartPtr<CDSSourceBase::CVolumeSetting>::Clear
PUBLIC	??1?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QAE@XZ ; SmartPtr<CDSSourceBase::CVolumeSetting>::~SmartPtr<CDSSourceBase::CVolumeSetting>
PUBLIC	?GetCounter@?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QBEPAUCounter@@XZ ; SmartPtr<CDSSourceBase::CVolumeSetting>::GetCounter
PUBLIC	??$DynamicPtrCast@VCSimpleSetting@@VCVolumeSetting@CDSSourceBase@@@@YA?AV?$SmartPtr@VCSimpleSetting@@@@V?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@@Z ; DynamicPtrCast<CSimpleSetting,CDSSourceBase::CVolumeSetting>
PUBLIC	?Clear@?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QAEXXZ ; SmartPtr<CDSSourceBase::CBalanceSetting>::Clear
PUBLIC	??1?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QAE@XZ ; SmartPtr<CDSSourceBase::CBalanceSetting>::~SmartPtr<CDSSourceBase::CBalanceSetting>
PUBLIC	?GetCounter@?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QBEPAUCounter@@XZ ; SmartPtr<CDSSourceBase::CBalanceSetting>::GetCounter
PUBLIC	??$DynamicPtrCast@VCSimpleSetting@@VCBalanceSetting@CDSSourceBase@@@@YA?AV?$SmartPtr@VCSimpleSetting@@@@V?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@@Z ; DynamicPtrCast<CSimpleSetting,CDSSourceBase::CBalanceSetting>
PUBLIC	?GetRawPointer@?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QBEPAVCVolumeSetting@CDSSourceBase@@XZ ; SmartPtr<CDSSourceBase::CVolumeSetting>::GetRawPointer
PUBLIC	??C?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QBEPAVCVolumeSetting@CDSSourceBase@@XZ ; SmartPtr<CDSSourceBase::CVolumeSetting>::operator->
PUBLIC	?GetRawPointer@?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QBEPAVCBalanceSetting@CDSSourceBase@@XZ ; SmartPtr<CDSSourceBase::CBalanceSetting>::GetRawPointer
PUBLIC	??C?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QBEPAVCBalanceSetting@CDSSourceBase@@XZ ; SmartPtr<CDSSourceBase::CBalanceSetting>::operator->
PUBLIC	??_C@_1BI@MMGNNAPE@?$AAA?$AAu?$AAd?$AAi?$AAo?$AAD?$AAe?$AAv?$AAi?$AAc?$AAe?$AA?$AA@ ; `string'
PUBLIC	??_C@_1BK@KNFKHPCD@?$AAA?$AAu?$AAd?$AAi?$AAo?$AA?5?$AAD?$AAe?$AAv?$AAi?$AAc?$AAe?$AA?$AA@ ; `string'
PUBLIC	??_C@_1DO@NIPGONPM@?$AA?4?$AA?2?$AAd?$AAs?$AAh?$AAo?$AAw?$AAs?$AAo?$AAu?$AAr?$AAc?$AAe?$AA?2?$AAD?$AAS?$AAS?$AAo?$AAu?$AAr?$AAc?$AAe?$AAB?$AAa?$AAs?$AAe?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@ ; `string'
PUBLIC	??_C@_1FI@EHJMNHKP@?$AAC?$AAu?$AAr?$AAr?$AAe?$AAn?$AAt?$AA?5?$AAm?$AAe?$AAd?$AAi?$AAa?$AA?5?$AAp?$AAo?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAi?$AAn?$AA?5?$AAs?$AAe?$AAc?$AAo?$AAn?$AAd@ ; `string'
PUBLIC	??_C@_1BM@NGHJDMIJ@?$AAS?$AAt?$AAo?$AAp?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?6?$AA?6?$AA?$AA@ ; `string'
PUBLIC	??_C@_1CE@GLCFOOCO@?$AAF?$AAi?$AAl?$AAt?$AAe?$AAr?$AA?5?$AAp?$AAr?$AAo?$AAp?$AAe?$AAr?$AAt?$AAi?$AAe?$AAs?$AA?$AA@ ; `string'
PUBLIC	??_C@_1FG@MBPIEKJ@?$AAT?$AAh?$AAe?$AAr?$AAe?$AA?5?$AAi?$AAs?$AA?5?$AAn?$AAo?$AA?5?$AAf?$AAi?$AAl?$AAt?$AAe?$AAr?$AAs?$AA?5?$AAt?$AAo?$AA?5?$AAs?$AAh?$AAo?$AAw?$AA?5?$AAp?$AAr?$AAo?$AAp@ ; `string'
PUBLIC	??_C@_1GE@OEPLMCNM@?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAt?$AAo?$AA?5?$AAg?$AAe?$AAt?$AA?5?$AAa?$AAu?$AAd?$AAi?$AAo?$AA?5?$AAc?$AAo?$AAn?$AAt?$AAr?$AAo?$AAl?$AAl?$AAs?$AA?0?$AA?5?$AAm@ ; `string'
PUBLIC	??_C@_0BN@OLJBJAKO@Exception?5in?5Mute?0?5Error?3?5?$CFs?$AA@ ; `string'
PUBLIC	??_C@_0BP@PEONNKHG@Exception?5in?5UnMute?0?5Error?3?5?$CFs?$AA@ ; `string'
PUBLIC	??_C@_1GI@MLFIIADK@?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAt?$AAo?$AA?5?$AAg?$AAe?$AAt?$AA?5?$AAa?$AAu?$AAd?$AAi?$AAo?$AA?5?$AAc?$AAo?$AAn?$AAt?$AAr?$AAo?$AAl?$AAl?$AAs?$AA?0?$AA?5?$AAv@ ; `string'
PUBLIC	??_C@_1EI@FJPOINEI@?$AAA?$AAu?$AAd?$AAi?$AAo?$AA?5?$AAc?$AAo?$AAn?$AAt?$AAr?$AAo?$AAl?$AAs?$AA?5?$AAd?$AAo?$AAn?$AA?8?$AAt?$AA?5?$AAs?$AAu?$AAp?$AAp?$AAo?$AAr?$AAt?$AA?5?$AAv?$AAo?$AAl@ ; `string'
PUBLIC	??_C@_1GK@EMCCGFPJ@?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAt?$AAo?$AA?5?$AAg?$AAe?$AAt?$AA?5?$AAa?$AAu?$AAd?$AAi?$AAo?$AA?5?$AAc?$AAo?$AAn?$AAt?$AAr?$AAo?$AAl?$AAl?$AAs?$AA?0?$AA?5?$AAb@ ; `string'
PUBLIC	??_C@_1EK@CIEPIGKK@?$AAA?$AAu?$AAd?$AAi?$AAo?$AA?5?$AAc?$AAo?$AAn?$AAt?$AAr?$AAo?$AAl?$AAs?$AA?5?$AAd?$AAo?$AAn?$AA?8?$AAt?$AA?5?$AAs?$AAu?$AAp?$AAp?$AAo?$AAr?$AAt?$AA?5?$AAb?$AAa?$AAl@ ; `string'
PUBLIC	??_C@_1GK@BKNKKAOK@?$AAC?$AAa?$AAn?$AA?8?$AAt?$AA?5?$AAc?$AAh?$AAa?$AAn?$AAg?$AAe?$AA?5?$AAv?$AAo?$AAl?$AAu?$AAm?$AAe?$AA?5?$AAb?$AAe?$AAc?$AAa?$AAu?$AAs?$AAe?$AA?5?$AAt?$AAh?$AAe?$AAr@ ; `string'
PUBLIC	??_C@_1DM@BGPJJLD@?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAt?$AAo?$AA?5?$AAg?$AAe?$AAt?$AA?5?$AAa?$AAu?$AAd?$AAi?$AAo?$AA?5?$AAc?$AAo?$AAn?$AAt?$AAr?$AAo?$AAl?$AAl?$AAs?$AA?$AA@ ; `string'
PUBLIC	??_C@_0CH@POMENHBN@Exception?5in?5VolumeOnChange?0?5Err@ ; `string'
PUBLIC	??_C@_1GM@LNLJOLBE@?$AAC?$AAa?$AAn?$AA?8?$AAt?$AA?5?$AAc?$AAh?$AAa?$AAn?$AAg?$AAe?$AA?5?$AAb?$AAa?$AAl?$AAa?$AAn?$AAc?$AAe?$AA?5?$AAb?$AAe?$AAc?$AAa?$AAu?$AAs?$AAe?$AA?5?$AAt?$AAh?$AAe@ ; `string'
PUBLIC	??_C@_0CI@CDPHGCCI@Exception?5in?5BalanceOnChange?0?5Er@ ; `string'
PUBLIC	??_C@_1CM@ONGLGCIF@?$AAJ?$AAu?$AAm?$AAp?$AA?5?$AAt?$AAo?$AA?5?$AAt?$AAi?$AAm?$AAe?$AA?5?$AA?$CF?$AAd?$AA?3?$AA?$CF?$AA2?$AA?4?$AA2?$AAd?$AA?$AA@ ; `string'
PUBLIC	??_7CDSSourceBase@@6BCSettingsHolder@@@		; CDSSourceBase::`vftable'
PUBLIC	??_7CDSSourceBase@@6BCEventObject@@@		; CDSSourceBase::`vftable'
PUBLIC	??_7CVolumeSetting@CDSSourceBase@@6B@		; CDSSourceBase::CVolumeSetting::`vftable'
PUBLIC	??_7CBalanceSetting@CDSSourceBase@@6B@		; CDSSourceBase::CBalanceSetting::`vftable'
EXTRN	??_ECDSSourceBase@@UAEPAXI@Z:PROC		; CDSSourceBase::`vector deleting destructor'
EXTRN	??_ECVolumeSetting@CDSSourceBase@@UAEPAXI@Z:PROC ; CDSSourceBase::CVolumeSetting::`vector deleting destructor'
EXTRN	??_ECBalanceSetting@CDSSourceBase@@UAEPAXI@Z:PROC ; CDSSourceBase::CBalanceSetting::`vector deleting destructor'
;	COMDAT ??_7CBalanceSetting@CDSSourceBase@@6B@
CONST	SEGMENT
??_7CBalanceSetting@CDSSourceBase@@6B@ DD FLAT:??_R4CBalanceSetting@CDSSourceBase@@6B@ ; CDSSourceBase::CBalanceSetting::`vftable'
	DD	FLAT:??_ECBalanceSetting@CDSSourceBase@@UAEPAXI@Z
	DD	FLAT:?GetType@CSliderSetting@@UAE?AW4SETTING_TYPE@@XZ
	DD	FLAT:?SetupControl@CSliderSetting@@UAEXPAUHWND__@@@Z
	DD	FLAT:?SetControlValue@CSliderSetting@@UAEXPAUHWND__@@@Z
	DD	FLAT:?SetFromControl@CSliderSetting@@UAEXPAUHWND__@@@Z
	DD	FLAT:?GetValueAsMessage@CSliderSetting@@UAEJXZ
	DD	FLAT:?SetValueFromMessage@CSliderSetting@@UAEXJ@Z
	DD	FLAT:?GetDisplayValue@CSliderSetting@@UAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ
	DD	FLAT:?ChangeDefault@CSliderSetting@@UAEXJH@Z
	DD	FLAT:?GetValueAsString@CSliderSetting@@EAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ
	DD	FLAT:?SetValueFromString@CSliderSetting@@EAEXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z
	DD	FLAT:?ChangeValueInternal@CSliderSetting@@EAEXW4eCHANGEVALUE@@@Z
	DD	FLAT:?OnChange@CBalanceSetting@CDSSourceBase@@UAEXJJ@Z
CONST	ENDS
;	COMDAT ??_R4CBalanceSetting@CDSSourceBase@@6B@
rdata$r	SEGMENT
??_R4CBalanceSetting@CDSSourceBase@@6B@ DD 00H		; CDSSourceBase::CBalanceSetting::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVCBalanceSetting@CDSSourceBase@@@8
	DD	FLAT:??_R3CBalanceSetting@CDSSourceBase@@8
rdata$r	ENDS
;	COMDAT ??_R3CBalanceSetting@CDSSourceBase@@8
rdata$r	SEGMENT
??_R3CBalanceSetting@CDSSourceBase@@8 DD 00H		; CDSSourceBase::CBalanceSetting::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	03H
	DD	FLAT:??_R2CBalanceSetting@CDSSourceBase@@8
rdata$r	ENDS
;	COMDAT ??_R2CBalanceSetting@CDSSourceBase@@8
rdata$r	SEGMENT
??_R2CBalanceSetting@CDSSourceBase@@8 DD FLAT:??_R1A@?0A@EA@CBalanceSetting@CDSSourceBase@@8 ; CDSSourceBase::CBalanceSetting::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@CSliderSetting@@8
	DD	FLAT:??_R1A@?0A@EA@CSimpleSetting@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@CBalanceSetting@CDSSourceBase@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@CBalanceSetting@CDSSourceBase@@8 DD FLAT:??_R0?AVCBalanceSetting@CDSSourceBase@@@8 ; CDSSourceBase::CBalanceSetting::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	02H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3CBalanceSetting@CDSSourceBase@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVCBalanceSetting@CDSSourceBase@@@8
_DATA	SEGMENT
??_R0?AVCBalanceSetting@CDSSourceBase@@@8 DD FLAT:??_7type_info@@6B@ ; CDSSourceBase::CBalanceSetting `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVCBalanceSetting@CDSSourceBase@@', 00H
_DATA	ENDS
;	COMDAT ??_7CVolumeSetting@CDSSourceBase@@6B@
CONST	SEGMENT
??_7CVolumeSetting@CDSSourceBase@@6B@ DD FLAT:??_R4CVolumeSetting@CDSSourceBase@@6B@ ; CDSSourceBase::CVolumeSetting::`vftable'
	DD	FLAT:??_ECVolumeSetting@CDSSourceBase@@UAEPAXI@Z
	DD	FLAT:?GetType@CSliderSetting@@UAE?AW4SETTING_TYPE@@XZ
	DD	FLAT:?SetupControl@CSliderSetting@@UAEXPAUHWND__@@@Z
	DD	FLAT:?SetControlValue@CSliderSetting@@UAEXPAUHWND__@@@Z
	DD	FLAT:?SetFromControl@CSliderSetting@@UAEXPAUHWND__@@@Z
	DD	FLAT:?GetValueAsMessage@CSliderSetting@@UAEJXZ
	DD	FLAT:?SetValueFromMessage@CSliderSetting@@UAEXJ@Z
	DD	FLAT:?GetDisplayValue@CSliderSetting@@UAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ
	DD	FLAT:?ChangeDefault@CSliderSetting@@UAEXJH@Z
	DD	FLAT:?GetValueAsString@CSliderSetting@@EAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ
	DD	FLAT:?SetValueFromString@CSliderSetting@@EAEXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z
	DD	FLAT:?ChangeValueInternal@CSliderSetting@@EAEXW4eCHANGEVALUE@@@Z
	DD	FLAT:?OnChange@CVolumeSetting@CDSSourceBase@@UAEXJJ@Z
CONST	ENDS
;	COMDAT ??_R4CVolumeSetting@CDSSourceBase@@6B@
rdata$r	SEGMENT
??_R4CVolumeSetting@CDSSourceBase@@6B@ DD 00H		; CDSSourceBase::CVolumeSetting::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVCVolumeSetting@CDSSourceBase@@@8
	DD	FLAT:??_R3CVolumeSetting@CDSSourceBase@@8
rdata$r	ENDS
;	COMDAT ??_R3CVolumeSetting@CDSSourceBase@@8
rdata$r	SEGMENT
??_R3CVolumeSetting@CDSSourceBase@@8 DD 00H		; CDSSourceBase::CVolumeSetting::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	03H
	DD	FLAT:??_R2CVolumeSetting@CDSSourceBase@@8
rdata$r	ENDS
;	COMDAT ??_R2CVolumeSetting@CDSSourceBase@@8
rdata$r	SEGMENT
??_R2CVolumeSetting@CDSSourceBase@@8 DD FLAT:??_R1A@?0A@EA@CVolumeSetting@CDSSourceBase@@8 ; CDSSourceBase::CVolumeSetting::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@CSliderSetting@@8
	DD	FLAT:??_R1A@?0A@EA@CSimpleSetting@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@CVolumeSetting@CDSSourceBase@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@CVolumeSetting@CDSSourceBase@@8 DD FLAT:??_R0?AVCVolumeSetting@CDSSourceBase@@@8 ; CDSSourceBase::CVolumeSetting::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	02H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3CVolumeSetting@CDSSourceBase@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVCVolumeSetting@CDSSourceBase@@@8
_DATA	SEGMENT
??_R0?AVCVolumeSetting@CDSSourceBase@@@8 DD FLAT:??_7type_info@@6B@ ; CDSSourceBase::CVolumeSetting `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVCVolumeSetting@CDSSourceBase@@', 00H
_DATA	ENDS
;	COMDAT ??_7CDSSourceBase@@6BCEventObject@@@
CONST	SEGMENT
??_7CDSSourceBase@@6BCEventObject@@@ DD FLAT:??_R4CDSSourceBase@@6BCEventObject@@@ ; CDSSourceBase::`vftable'
	DD	FLAT:??_ECDSSourceBase@@WEA@AEPAXI@Z
	DD	FLAT:?OnEvent@CEventObject@@UAEXPAV1@W4eEventType@@JJPAW42@@Z
CONST	ENDS
;	COMDAT ??_R4CDSSourceBase@@6BCEventObject@@@
rdata$r	SEGMENT
??_R4CDSSourceBase@@6BCEventObject@@@ DD 00H		; CDSSourceBase::`RTTI Complete Object Locator'
	DD	040H
	DD	00H
	DD	FLAT:??_R0?AVCDSSourceBase@@@8
	DD	FLAT:??_R3CDSSourceBase@@8
rdata$r	ENDS
;	COMDAT ??_7CDSSourceBase@@6BCSettingsHolder@@@
CONST	SEGMENT
??_7CDSSourceBase@@6BCSettingsHolder@@@ DD FLAT:??_R4CDSSourceBase@@6BCSettingsHolder@@@ ; CDSSourceBase::`vftable'
	DD	FLAT:??_ECDSSourceBase@@UAEPAXI@Z
	DD	FLAT:?Start@CDSSourceBase@@UAEXXZ
	DD	FLAT:?Stop@CDSSourceBase@@UAEXXZ
	DD	FLAT:?Reset@CDSSourceBase@@UAEXXZ
	DD	FLAT:?GetNextField@CDSSourceBase@@UAEXPAUTDeinterlaceInfo@@H@Z
	DD	FLAT:?HandleWindowsCommands@CDSSourceBase@@UAEHPAUHWND__@@IJ@Z
	DD	FLAT:__purecall
	DD	FLAT:?Mute@CDSSourceBase@@UAEXXZ
	DD	FLAT:?UnMute@CDSSourceBase@@UAEXXZ
	DD	FLAT:?GetVolume@CDSSourceBase@@UAEPAVCSliderSetting@@XZ
	DD	FLAT:?GetBalance@CDSSourceBase@@UAEPAVCSliderSetting@@XZ
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:?GetTunerId@CSource@@UAE?AW4eTunerId@@XZ
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:?GetInitialWidth@CDSSourceBase@@UAEHXZ
	DD	FLAT:?GetInitialHeight@CDSSourceBase@@UAEHXZ
	DD	FLAT:?GetWidth@CDSSourceBase@@UAEHXZ
	DD	FLAT:?GetHeight@CDSSourceBase@@UAEHXZ
	DD	FLAT:?SetWidth@CDSSourceBase@@UAEXH@Z
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:?SetFormat@CDSSourceBase@@UAEXW4eVideoFormat@@@Z
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:?IDString@CDSSourceBase@@UAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:?GetTuner@CDSSourceBase@@UAE?AV?$SmartPtr@VITuner@@@@XZ
	DD	FLAT:?GetSettingsPage@CDSSourceBase@@UAE?AV?$SmartPtr@VCSettingsHolder@@@@XZ
	DD	FLAT:?SetSourceAsCurrent@CDSSourceBase@@UAEXXZ
	DD	FLAT:?UnsetSourceAsCurrent@CSource@@UAEXXZ
	DD	FLAT:?Pause@CDSSourceBase@@UAEXXZ
	DD	FLAT:?UnPause@CDSSourceBase@@UAEXXZ
	DD	FLAT:?HasMediaControl@CDSSourceBase@@UAEHXZ
	DD	FLAT:?IsAudioMixerAccessAllowed@CDSSourceBase@@UAEHXZ
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
CONST	ENDS
;	COMDAT ??_R4CDSSourceBase@@6BCSettingsHolder@@@
rdata$r	SEGMENT
??_R4CDSSourceBase@@6BCSettingsHolder@@@ DD 00H		; CDSSourceBase::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVCDSSourceBase@@@8
	DD	FLAT:??_R3CDSSourceBase@@8
rdata$r	ENDS
;	COMDAT ??_C@_1CM@ONGLGCIF@?$AAJ?$AAu?$AAm?$AAp?$AA?5?$AAt?$AAo?$AA?5?$AAt?$AAi?$AAm?$AAe?$AA?5?$AA?$CF?$AAd?$AA?3?$AA?$CF?$AA2?$AA?4?$AA2?$AAd?$AA?$AA@
CONST	SEGMENT
??_C@_1CM@ONGLGCIF@?$AAJ?$AAu?$AAm?$AAp?$AA?5?$AAt?$AAo?$AA?5?$AAt?$AAi?$AAm?$AAe?$AA?5?$AA?$CF?$AAd?$AA?3?$AA?$CF?$AA2?$AA?4?$AA2?$AAd?$AA?$AA@ DB 'J'
	DB	00H, 'u', 00H, 'm', 00H, 'p', 00H, ' ', 00H, 't', 00H, 'o', 00H
	DB	' ', 00H, 't', 00H, 'i', 00H, 'm', 00H, 'e', 00H, ' ', 00H, '%'
	DB	00H, 'd', 00H, ':', 00H, '%', 00H, '2', 00H, '.', 00H, '2', 00H
	DB	'd', 00H, 00H, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0CI@CDPHGCCI@Exception?5in?5BalanceOnChange?0?5Er@
CONST	SEGMENT
??_C@_0CI@CDPHGCCI@Exception?5in?5BalanceOnChange?0?5Er@ DB 'Exception in'
	DB	' BalanceOnChange, Error: %s', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_1GM@LNLJOLBE@?$AAC?$AAa?$AAn?$AA?8?$AAt?$AA?5?$AAc?$AAh?$AAa?$AAn?$AAg?$AAe?$AA?5?$AAb?$AAa?$AAl?$AAa?$AAn?$AAc?$AAe?$AA?5?$AAb?$AAe?$AAc?$AAa?$AAu?$AAs?$AAe?$AA?5?$AAt?$AAh?$AAe@
CONST	SEGMENT
??_C@_1GM@LNLJOLBE@?$AAC?$AAa?$AAn?$AA?8?$AAt?$AA?5?$AAc?$AAh?$AAa?$AAn?$AAg?$AAe?$AA?5?$AAb?$AAa?$AAl?$AAa?$AAn?$AAc?$AAe?$AA?5?$AAb?$AAe?$AAc?$AAa?$AAu?$AAs?$AAe?$AA?5?$AAt?$AAh?$AAe@ DB 'C'
	DB	00H, 'a', 00H, 'n', 00H, '''', 00H, 't', 00H, ' ', 00H, 'c', 00H
	DB	'h', 00H, 'a', 00H, 'n', 00H, 'g', 00H, 'e', 00H, ' ', 00H, 'b'
	DB	00H, 'a', 00H, 'l', 00H, 'a', 00H, 'n', 00H, 'c', 00H, 'e', 00H
	DB	' ', 00H, 'b', 00H, 'e', 00H, 'c', 00H, 'a', 00H, 'u', 00H, 's'
	DB	00H, 'e', 00H, ' ', 00H, 't', 00H, 'h', 00H, 'e', 00H, 'r', 00H
	DB	'e', 00H, ' ', 00H, 'i', 00H, 's', 00H, ' ', 00H, 'n', 00H, 'o'
	DB	00H, ' ', 00H, 'f', 00H, 'i', 00H, 'l', 00H, 't', 00H, 'e', 00H
	DB	'r', 00H, ' ', 00H, 'g', 00H, 'r', 00H, 'a', 00H, 'p', 00H, 'h'
	DB	00H, 00H, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0CH@POMENHBN@Exception?5in?5VolumeOnChange?0?5Err@
CONST	SEGMENT
??_C@_0CH@POMENHBN@Exception?5in?5VolumeOnChange?0?5Err@ DB 'Exception in'
	DB	' VolumeOnChange, Error: %s', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_1DM@BGPJJLD@?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAt?$AAo?$AA?5?$AAg?$AAe?$AAt?$AA?5?$AAa?$AAu?$AAd?$AAi?$AAo?$AA?5?$AAc?$AAo?$AAn?$AAt?$AAr?$AAo?$AAl?$AAl?$AAs?$AA?$AA@
CONST	SEGMENT
??_C@_1DM@BGPJJLD@?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAt?$AAo?$AA?5?$AAg?$AAe?$AAt?$AA?5?$AAa?$AAu?$AAd?$AAi?$AAo?$AA?5?$AAc?$AAo?$AAn?$AAt?$AAr?$AAo?$AAl?$AAl?$AAs?$AA?$AA@ DB 'F'
	DB	00H, 'a', 00H, 'i', 00H, 'l', 00H, 'e', 00H, 'd', 00H, ' ', 00H
	DB	't', 00H, 'o', 00H, ' ', 00H, 'g', 00H, 'e', 00H, 't', 00H, ' '
	DB	00H, 'a', 00H, 'u', 00H, 'd', 00H, 'i', 00H, 'o', 00H, ' ', 00H
	DB	'c', 00H, 'o', 00H, 'n', 00H, 't', 00H, 'r', 00H, 'o', 00H, 'l'
	DB	00H, 'l', 00H, 's', 00H, 00H, 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_1GK@BKNKKAOK@?$AAC?$AAa?$AAn?$AA?8?$AAt?$AA?5?$AAc?$AAh?$AAa?$AAn?$AAg?$AAe?$AA?5?$AAv?$AAo?$AAl?$AAu?$AAm?$AAe?$AA?5?$AAb?$AAe?$AAc?$AAa?$AAu?$AAs?$AAe?$AA?5?$AAt?$AAh?$AAe?$AAr@
CONST	SEGMENT
??_C@_1GK@BKNKKAOK@?$AAC?$AAa?$AAn?$AA?8?$AAt?$AA?5?$AAc?$AAh?$AAa?$AAn?$AAg?$AAe?$AA?5?$AAv?$AAo?$AAl?$AAu?$AAm?$AAe?$AA?5?$AAb?$AAe?$AAc?$AAa?$AAu?$AAs?$AAe?$AA?5?$AAt?$AAh?$AAe?$AAr@ DB 'C'
	DB	00H, 'a', 00H, 'n', 00H, '''', 00H, 't', 00H, ' ', 00H, 'c', 00H
	DB	'h', 00H, 'a', 00H, 'n', 00H, 'g', 00H, 'e', 00H, ' ', 00H, 'v'
	DB	00H, 'o', 00H, 'l', 00H, 'u', 00H, 'm', 00H, 'e', 00H, ' ', 00H
	DB	'b', 00H, 'e', 00H, 'c', 00H, 'a', 00H, 'u', 00H, 's', 00H, 'e'
	DB	00H, ' ', 00H, 't', 00H, 'h', 00H, 'e', 00H, 'r', 00H, 'e', 00H
	DB	' ', 00H, 'i', 00H, 's', 00H, ' ', 00H, 'n', 00H, 'o', 00H, ' '
	DB	00H, 'f', 00H, 'i', 00H, 'l', 00H, 't', 00H, 'e', 00H, 'r', 00H
	DB	' ', 00H, 'g', 00H, 'r', 00H, 'a', 00H, 'p', 00H, 'h', 00H, 00H
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_1EK@CIEPIGKK@?$AAA?$AAu?$AAd?$AAi?$AAo?$AA?5?$AAc?$AAo?$AAn?$AAt?$AAr?$AAo?$AAl?$AAs?$AA?5?$AAd?$AAo?$AAn?$AA?8?$AAt?$AA?5?$AAs?$AAu?$AAp?$AAp?$AAo?$AAr?$AAt?$AA?5?$AAb?$AAa?$AAl@
CONST	SEGMENT
??_C@_1EK@CIEPIGKK@?$AAA?$AAu?$AAd?$AAi?$AAo?$AA?5?$AAc?$AAo?$AAn?$AAt?$AAr?$AAo?$AAl?$AAs?$AA?5?$AAd?$AAo?$AAn?$AA?8?$AAt?$AA?5?$AAs?$AAu?$AAp?$AAp?$AAo?$AAr?$AAt?$AA?5?$AAb?$AAa?$AAl@ DB 'A'
	DB	00H, 'u', 00H, 'd', 00H, 'i', 00H, 'o', 00H, ' ', 00H, 'c', 00H
	DB	'o', 00H, 'n', 00H, 't', 00H, 'r', 00H, 'o', 00H, 'l', 00H, 's'
	DB	00H, ' ', 00H, 'd', 00H, 'o', 00H, 'n', 00H, '''', 00H, 't', 00H
	DB	' ', 00H, 's', 00H, 'u', 00H, 'p', 00H, 'p', 00H, 'o', 00H, 'r'
	DB	00H, 't', 00H, ' ', 00H, 'b', 00H, 'a', 00H, 'l', 00H, 'a', 00H
	DB	'n', 00H, 'c', 00H, 'e', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_1GK@EMCCGFPJ@?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAt?$AAo?$AA?5?$AAg?$AAe?$AAt?$AA?5?$AAa?$AAu?$AAd?$AAi?$AAo?$AA?5?$AAc?$AAo?$AAn?$AAt?$AAr?$AAo?$AAl?$AAl?$AAs?$AA?0?$AA?5?$AAb@
CONST	SEGMENT
??_C@_1GK@EMCCGFPJ@?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAt?$AAo?$AA?5?$AAg?$AAe?$AAt?$AA?5?$AAa?$AAu?$AAd?$AAi?$AAo?$AA?5?$AAc?$AAo?$AAn?$AAt?$AAr?$AAo?$AAl?$AAl?$AAs?$AA?0?$AA?5?$AAb@ DB 'F'
	DB	00H, 'a', 00H, 'i', 00H, 'l', 00H, 'e', 00H, 'd', 00H, ' ', 00H
	DB	't', 00H, 'o', 00H, ' ', 00H, 'g', 00H, 'e', 00H, 't', 00H, ' '
	DB	00H, 'a', 00H, 'u', 00H, 'd', 00H, 'i', 00H, 'o', 00H, ' ', 00H
	DB	'c', 00H, 'o', 00H, 'n', 00H, 't', 00H, 'r', 00H, 'o', 00H, 'l'
	DB	00H, 'l', 00H, 's', 00H, ',', 00H, ' ', 00H, 'b', 00H, 'a', 00H
	DB	'l', 00H, 'a', 00H, 'n', 00H, 'c', 00H, 'e', 00H, ' ', 00H, 'w'
	DB	00H, 'i', 00H, 'l', 00H, 'l', 00H, ' ', 00H, 'n', 00H, 'o', 00H
	DB	't', 00H, ' ', 00H, 'w', 00H, 'o', 00H, 'r', 00H, 'k', 00H, 00H
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_1EI@FJPOINEI@?$AAA?$AAu?$AAd?$AAi?$AAo?$AA?5?$AAc?$AAo?$AAn?$AAt?$AAr?$AAo?$AAl?$AAs?$AA?5?$AAd?$AAo?$AAn?$AA?8?$AAt?$AA?5?$AAs?$AAu?$AAp?$AAp?$AAo?$AAr?$AAt?$AA?5?$AAv?$AAo?$AAl@
CONST	SEGMENT
??_C@_1EI@FJPOINEI@?$AAA?$AAu?$AAd?$AAi?$AAo?$AA?5?$AAc?$AAo?$AAn?$AAt?$AAr?$AAo?$AAl?$AAs?$AA?5?$AAd?$AAo?$AAn?$AA?8?$AAt?$AA?5?$AAs?$AAu?$AAp?$AAp?$AAo?$AAr?$AAt?$AA?5?$AAv?$AAo?$AAl@ DB 'A'
	DB	00H, 'u', 00H, 'd', 00H, 'i', 00H, 'o', 00H, ' ', 00H, 'c', 00H
	DB	'o', 00H, 'n', 00H, 't', 00H, 'r', 00H, 'o', 00H, 'l', 00H, 's'
	DB	00H, ' ', 00H, 'd', 00H, 'o', 00H, 'n', 00H, '''', 00H, 't', 00H
	DB	' ', 00H, 's', 00H, 'u', 00H, 'p', 00H, 'p', 00H, 'o', 00H, 'r'
	DB	00H, 't', 00H, ' ', 00H, 'v', 00H, 'o', 00H, 'l', 00H, 'u', 00H
	DB	'm', 00H, 'e', 00H, 00H, 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_1GI@MLFIIADK@?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAt?$AAo?$AA?5?$AAg?$AAe?$AAt?$AA?5?$AAa?$AAu?$AAd?$AAi?$AAo?$AA?5?$AAc?$AAo?$AAn?$AAt?$AAr?$AAo?$AAl?$AAl?$AAs?$AA?0?$AA?5?$AAv@
CONST	SEGMENT
??_C@_1GI@MLFIIADK@?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAt?$AAo?$AA?5?$AAg?$AAe?$AAt?$AA?5?$AAa?$AAu?$AAd?$AAi?$AAo?$AA?5?$AAc?$AAo?$AAn?$AAt?$AAr?$AAo?$AAl?$AAl?$AAs?$AA?0?$AA?5?$AAv@ DB 'F'
	DB	00H, 'a', 00H, 'i', 00H, 'l', 00H, 'e', 00H, 'd', 00H, ' ', 00H
	DB	't', 00H, 'o', 00H, ' ', 00H, 'g', 00H, 'e', 00H, 't', 00H, ' '
	DB	00H, 'a', 00H, 'u', 00H, 'd', 00H, 'i', 00H, 'o', 00H, ' ', 00H
	DB	'c', 00H, 'o', 00H, 'n', 00H, 't', 00H, 'r', 00H, 'o', 00H, 'l'
	DB	00H, 'l', 00H, 's', 00H, ',', 00H, ' ', 00H, 'v', 00H, 'o', 00H
	DB	'l', 00H, 'u', 00H, 'm', 00H, 'e', 00H, ' ', 00H, 'w', 00H, 'i'
	DB	00H, 'l', 00H, 'l', 00H, ' ', 00H, 'n', 00H, 'o', 00H, 't', 00H
	DB	' ', 00H, 'w', 00H, 'o', 00H, 'r', 00H, 'k', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BP@PEONNKHG@Exception?5in?5UnMute?0?5Error?3?5?$CFs?$AA@
CONST	SEGMENT
??_C@_0BP@PEONNKHG@Exception?5in?5UnMute?0?5Error?3?5?$CFs?$AA@ DB 'Excep'
	DB	'tion in UnMute, Error: %s', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0BN@OLJBJAKO@Exception?5in?5Mute?0?5Error?3?5?$CFs?$AA@
CONST	SEGMENT
??_C@_0BN@OLJBJAKO@Exception?5in?5Mute?0?5Error?3?5?$CFs?$AA@ DB 'Excepti'
	DB	'on in Mute, Error: %s', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_1GE@OEPLMCNM@?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAt?$AAo?$AA?5?$AAg?$AAe?$AAt?$AA?5?$AAa?$AAu?$AAd?$AAi?$AAo?$AA?5?$AAc?$AAo?$AAn?$AAt?$AAr?$AAo?$AAl?$AAl?$AAs?$AA?0?$AA?5?$AAm@
CONST	SEGMENT
??_C@_1GE@OEPLMCNM@?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAt?$AAo?$AA?5?$AAg?$AAe?$AAt?$AA?5?$AAa?$AAu?$AAd?$AAi?$AAo?$AA?5?$AAc?$AAo?$AAn?$AAt?$AAr?$AAo?$AAl?$AAl?$AAs?$AA?0?$AA?5?$AAm@ DB 'F'
	DB	00H, 'a', 00H, 'i', 00H, 'l', 00H, 'e', 00H, 'd', 00H, ' ', 00H
	DB	't', 00H, 'o', 00H, ' ', 00H, 'g', 00H, 'e', 00H, 't', 00H, ' '
	DB	00H, 'a', 00H, 'u', 00H, 'd', 00H, 'i', 00H, 'o', 00H, ' ', 00H
	DB	'c', 00H, 'o', 00H, 'n', 00H, 't', 00H, 'r', 00H, 'o', 00H, 'l'
	DB	00H, 'l', 00H, 's', 00H, ',', 00H, ' ', 00H, 'm', 00H, 'u', 00H
	DB	't', 00H, 'e', 00H, ' ', 00H, 'w', 00H, 'i', 00H, 'l', 00H, 'l'
	DB	00H, ' ', 00H, 'n', 00H, 'o', 00H, 't', 00H, ' ', 00H, 'w', 00H
	DB	'o', 00H, 'r', 00H, 'k', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_1FG@MBPIEKJ@?$AAT?$AAh?$AAe?$AAr?$AAe?$AA?5?$AAi?$AAs?$AA?5?$AAn?$AAo?$AA?5?$AAf?$AAi?$AAl?$AAt?$AAe?$AAr?$AAs?$AA?5?$AAt?$AAo?$AA?5?$AAs?$AAh?$AAo?$AAw?$AA?5?$AAp?$AAr?$AAo?$AAp@
CONST	SEGMENT
??_C@_1FG@MBPIEKJ@?$AAT?$AAh?$AAe?$AAr?$AAe?$AA?5?$AAi?$AAs?$AA?5?$AAn?$AAo?$AA?5?$AAf?$AAi?$AAl?$AAt?$AAe?$AAr?$AAs?$AA?5?$AAt?$AAo?$AA?5?$AAs?$AAh?$AAo?$AAw?$AA?5?$AAp?$AAr?$AAo?$AAp@ DB 'T'
	DB	00H, 'h', 00H, 'e', 00H, 'r', 00H, 'e', 00H, ' ', 00H, 'i', 00H
	DB	's', 00H, ' ', 00H, 'n', 00H, 'o', 00H, ' ', 00H, 'f', 00H, 'i'
	DB	00H, 'l', 00H, 't', 00H, 'e', 00H, 'r', 00H, 's', 00H, ' ', 00H
	DB	't', 00H, 'o', 00H, ' ', 00H, 's', 00H, 'h', 00H, 'o', 00H, 'w'
	DB	00H, ' ', 00H, 'p', 00H, 'r', 00H, 'o', 00H, 'p', 00H, 'e', 00H
	DB	'r', 00H, 't', 00H, 'i', 00H, 'e', 00H, 's', 00H, ' ', 00H, 'f'
	DB	00H, 'o', 00H, 'r', 00H, 00H, 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_1CE@GLCFOOCO@?$AAF?$AAi?$AAl?$AAt?$AAe?$AAr?$AA?5?$AAp?$AAr?$AAo?$AAp?$AAe?$AAr?$AAt?$AAi?$AAe?$AAs?$AA?$AA@
CONST	SEGMENT
??_C@_1CE@GLCFOOCO@?$AAF?$AAi?$AAl?$AAt?$AAe?$AAr?$AA?5?$AAp?$AAr?$AAo?$AAp?$AAe?$AAr?$AAt?$AAi?$AAe?$AAs?$AA?$AA@ DB 'F'
	DB	00H, 'i', 00H, 'l', 00H, 't', 00H, 'e', 00H, 'r', 00H, ' ', 00H
	DB	'p', 00H, 'r', 00H, 'o', 00H, 'p', 00H, 'e', 00H, 'r', 00H, 't'
	DB	00H, 'i', 00H, 'e', 00H, 's', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ?FieldFlag@?O@??GetNextField@CDSSourceBase@@UAEXPAUTDeinterlaceInfo@@H@Z@4HA
_DATA	SEGMENT
?FieldFlag@?O@??GetNextField@CDSSourceBase@@UAEXPAUTDeinterlaceInfo@@H@Z@4HA DD 01H ; `CDSSourceBase::GetNextField'::`14'::FieldFlag
_DATA	ENDS
;	COMDAT ??_C@_1BM@NGHJDMIJ@?$AAS?$AAt?$AAo?$AAp?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?6?$AA?6?$AA?$AA@
CONST	SEGMENT
??_C@_1BM@NGHJDMIJ@?$AAS?$AAt?$AAo?$AAp?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?6?$AA?6?$AA?$AA@ DB 'S'
	DB	00H, 't', 00H, 'o', 00H, 'p', 00H, ' ', 00H, 'f', 00H, 'a', 00H
	DB	'i', 00H, 'l', 00H, 'e', 00H, 'd', 00H, 0aH, 00H, 0aH, 00H, 00H
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_1FI@EHJMNHKP@?$AAC?$AAu?$AAr?$AAr?$AAe?$AAn?$AAt?$AA?5?$AAm?$AAe?$AAd?$AAi?$AAa?$AA?5?$AAp?$AAo?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAi?$AAn?$AA?5?$AAs?$AAe?$AAc?$AAo?$AAn?$AAd@
CONST	SEGMENT
??_C@_1FI@EHJMNHKP@?$AAC?$AAu?$AAr?$AAr?$AAe?$AAn?$AAt?$AA?5?$AAm?$AAe?$AAd?$AAi?$AAa?$AA?5?$AAp?$AAo?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAi?$AAn?$AA?5?$AAs?$AAe?$AAc?$AAo?$AAn?$AAd@ DB 'C'
	DB	00H, 'u', 00H, 'r', 00H, 'r', 00H, 'e', 00H, 'n', 00H, 't', 00H
	DB	' ', 00H, 'm', 00H, 'e', 00H, 'd', 00H, 'i', 00H, 'a', 00H, ' '
	DB	00H, 'p', 00H, 'o', 00H, 's', 00H, 'i', 00H, 't', 00H, 'i', 00H
	DB	'o', 00H, 'n', 00H, ' ', 00H, 'i', 00H, 'n', 00H, ' ', 00H, 's'
	DB	00H, 'e', 00H, 'c', 00H, 'o', 00H, 'n', 00H, 'd', 00H, 's', 00H
	DB	':', 00H, ' ', 00H, '%', 00H, 'f', 00H, ' ', 00H, '/', 00H, ' '
	DB	00H, '%', 00H, 'f', 00H, 0aH, 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_1DO@NIPGONPM@?$AA?4?$AA?2?$AAd?$AAs?$AAh?$AAo?$AAw?$AAs?$AAo?$AAu?$AAr?$AAc?$AAe?$AA?2?$AAD?$AAS?$AAS?$AAo?$AAu?$AAr?$AAc?$AAe?$AAB?$AAa?$AAs?$AAe?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@
CONST	SEGMENT
??_C@_1DO@NIPGONPM@?$AA?4?$AA?2?$AAd?$AAs?$AAh?$AAo?$AAw?$AAs?$AAo?$AAu?$AAr?$AAc?$AAe?$AA?2?$AAD?$AAS?$AAS?$AAo?$AAu?$AAr?$AAc?$AAe?$AAB?$AAa?$AAs?$AAe?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@ DB '.'
	DB	00H, '\', 00H, 'd', 00H, 's', 00H, 'h', 00H, 'o', 00H, 'w', 00H
	DB	's', 00H, 'o', 00H, 'u', 00H, 'r', 00H, 'c', 00H, 'e', 00H, '\'
	DB	00H, 'D', 00H, 'S', 00H, 'S', 00H, 'o', 00H, 'u', 00H, 'r', 00H
	DB	'c', 00H, 'e', 00H, 'B', 00H, 'a', 00H, 's', 00H, 'e', 00H, '.'
	DB	00H, 'c', 00H, 'p', 00H, 'p', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_1BK@KNFKHPCD@?$AAA?$AAu?$AAd?$AAi?$AAo?$AA?5?$AAD?$AAe?$AAv?$AAi?$AAc?$AAe?$AA?$AA@
CONST	SEGMENT
??_C@_1BK@KNFKHPCD@?$AAA?$AAu?$AAd?$AAi?$AAo?$AA?5?$AAD?$AAe?$AAv?$AAi?$AAc?$AAe?$AA?$AA@ DB 'A'
	DB	00H, 'u', 00H, 'd', 00H, 'i', 00H, 'o', 00H, ' ', 00H, 'D', 00H
	DB	'e', 00H, 'v', 00H, 'i', 00H, 'c', 00H, 'e', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1BI@MMGNNAPE@?$AAA?$AAu?$AAd?$AAi?$AAo?$AAD?$AAe?$AAv?$AAi?$AAc?$AAe?$AA?$AA@
CONST	SEGMENT
??_C@_1BI@MMGNNAPE@?$AAA?$AAu?$AAd?$AAi?$AAo?$AAD?$AAe?$AAv?$AAi?$AAc?$AAe?$AA?$AA@ DB 'A'
	DB	00H, 'u', 00H, 'd', 00H, 'i', 00H, 'o', 00H, 'D', 00H, 'e', 00H
	DB	'v', 00H, 'i', 00H, 'c', 00H, 'e', 00H, 00H, 00H ; `string'
; Function compile flags: /Odtp
;	COMDAT ??_ECDSSourceBase@@WEA@AEPAXI@Z
_TEXT	SEGMENT
??_ECDSSourceBase@@WEA@AEPAXI@Z PROC			; [thunk]:CDSSourceBase::`vector deleting destructor', COMDAT
  00000	83 e9 40	 sub	 ecx, 64			; 00000040H
  00003	e9 00 00 00 00	 jmp	 ??_ECDSSourceBase@@UAEPAXI@Z
??_ECDSSourceBase@@WEA@AEPAXI@Z ENDP			; [thunk]:CDSSourceBase::`vector deleting destructor'
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\smartptr.h
_TEXT	ENDS
;	COMDAT ?GetCounter@?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QBEPAUCounter@@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetCounter@?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QBEPAUCounter@@XZ PROC ; SmartPtr<CDSSourceBase::CBalanceSetting>::GetCounter, COMDAT
; _this$ = ecx

; 233  :     {

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

; 234  :         if (counter) return counter;

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

; 235  :         return 0;

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

; 236  :     }

  0001a	8b e5		 mov	 esp, ebp
  0001c	5d		 pop	 ebp
  0001d	c3		 ret	 0
?GetCounter@?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QBEPAUCounter@@XZ ENDP ; SmartPtr<CDSSourceBase::CBalanceSetting>::GetCounter
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?GetCounter@?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QBEPAUCounter@@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetCounter@?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QBEPAUCounter@@XZ PROC ; SmartPtr<CDSSourceBase::CVolumeSetting>::GetCounter, COMDAT
; _this$ = ecx

; 233  :     {

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

; 234  :         if (counter) return counter;

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

; 235  :         return 0;

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

; 236  :     }

  0001a	8b e5		 mov	 esp, ebp
  0001c	5d		 pop	 ebp
  0001d	c3		 ret	 0
?GetCounter@?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QBEPAUCounter@@XZ ENDP ; SmartPtr<CDSSourceBase::CVolumeSetting>::GetCounter
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?acquire@?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@AAEXPAUCounter@@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_c$ = 8							; size = 4
?acquire@?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@AAEXPAUCounter@@@Z PROC ; SmartPtr<CDSSourceBase::CBalanceSetting>::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@60

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

; 267  :         }
; 268  :     }

  00023	8b e5		 mov	 esp, ebp
  00025	5d		 pop	 ebp
  00026	c2 04 00	 ret	 4
?acquire@?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@AAEXPAUCounter@@@Z ENDP ; SmartPtr<CDSSourceBase::CBalanceSetting>::acquire
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Clear@?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QAEXXZ
_TEXT	SEGMENT
tv88 = -20						; size = 4
_this$ = -16						; size = 4
$T296056 = -12						; size = 4
$T296055 = -8						; size = 4
$T296054 = -4						; size = 4
?Clear@?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QAEXXZ PROC ; SmartPtr<CDSSourceBase::CBalanceSetting>::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@60

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

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

; 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@VCBalanceSetting@CDSSourceBase@@@@QAEXXZ ENDP ; SmartPtr<CDSSourceBase::CBalanceSetting>::Clear
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?acquire@?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@AAEXPAUCounter@@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_c$ = 8							; size = 4
?acquire@?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@AAEXPAUCounter@@@Z PROC ; SmartPtr<CDSSourceBase::CVolumeSetting>::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@61

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

; 267  :         }
; 268  :     }

  00023	8b e5		 mov	 esp, ebp
  00025	5d		 pop	 ebp
  00026	c2 04 00	 ret	 4
?acquire@?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@AAEXPAUCounter@@@Z ENDP ; SmartPtr<CDSSourceBase::CVolumeSetting>::acquire
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Clear@?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QAEXXZ
_TEXT	SEGMENT
tv88 = -20						; size = 4
_this$ = -16						; size = 4
$T296065 = -12						; size = 4
$T296064 = -8						; size = 4
$T296063 = -4						; size = 4
?Clear@?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QAEXXZ PROC ; SmartPtr<CDSSourceBase::CVolumeSetting>::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@61

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

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

; 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@VCVolumeSetting@CDSSourceBase@@@@QAEXXZ ENDP ; SmartPtr<CDSSourceBase::CVolumeSetting>::Clear
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??1?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??1?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QAE@XZ PROC ; SmartPtr<CDSSourceBase::CBalanceSetting>::~SmartPtr<CDSSourceBase::CBalanceSetting>, 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@VCBalanceSetting@CDSSourceBase@@@@QAEXXZ ; SmartPtr<CDSSourceBase::CBalanceSetting>::Clear

; 107  :     }

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

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

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx
  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], 0
  00010	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00013	c7 41 04 00 00
	00 00		 mov	 DWORD PTR [ecx+4], 0
  0001a	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0001d	8b e5		 mov	 esp, ebp
  0001f	5d		 pop	 ebp
  00020	c3		 ret	 0
??0?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QAE@XZ ENDP ; SmartPtr<CDSSourceBase::CBalanceSetting>::SmartPtr<CDSSourceBase::CBalanceSetting>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??1?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??1?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QAE@XZ PROC ; SmartPtr<CDSSourceBase::CVolumeSetting>::~SmartPtr<CDSSourceBase::CVolumeSetting>, 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@VCVolumeSetting@CDSSourceBase@@@@QAEXXZ ; SmartPtr<CDSSourceBase::CVolumeSetting>::Clear

; 107  :     }

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

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

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx
  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], 0
  00010	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00013	c7 41 04 00 00
	00 00		 mov	 DWORD PTR [ecx+4], 0
  0001a	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0001d	8b e5		 mov	 esp, ebp
  0001f	5d		 pop	 ebp
  00020	c3		 ret	 0
??0?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QAE@XZ ENDP ; SmartPtr<CDSSourceBase::CVolumeSetting>::SmartPtr<CDSSourceBase::CVolumeSetting>
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\dshowsource\dssourcebase.cpp
_TEXT	ENDS
;	COMDAT ?Reset@CDSSourceBase@@UAEXXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?Reset@CDSSourceBase@@UAEXXZ PROC			; CDSSourceBase::Reset, COMDAT
; _this$ = ecx

; 127  : {

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

; 128  :     Stop();

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b 10		 mov	 edx, DWORD PTR [eax]
  0000c	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000f	8b 42 08	 mov	 eax, DWORD PTR [edx+8]
  00012	ff d0		 call	 eax

; 129  :     Start();

  00014	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00017	8b 11		 mov	 edx, DWORD PTR [ecx]
  00019	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0001c	8b 42 04	 mov	 eax, DWORD PTR [edx+4]
  0001f	ff d0		 call	 eax

; 130  : }

  00021	8b e5		 mov	 esp, ebp
  00023	5d		 pop	 ebp
  00024	c3		 ret	 0
?Reset@CDSSourceBase@@UAEXXZ ENDP			; CDSSourceBase::Reset
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?SetWidth@CDSSourceBase@@UAEXH@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_w$ = 8							; size = 4
?SetWidth@CDSSourceBase@@UAEXH@Z PROC			; CDSSourceBase::SetWidth, COMDAT
; _this$ = ecx

; 87   : {

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

; 88   :     // todo: set the width
; 89   : }

  00007	8b e5		 mov	 esp, ebp
  00009	5d		 pop	 ebp
  0000a	c2 04 00	 ret	 4
?SetWidth@CDSSourceBase@@UAEXH@Z ENDP			; CDSSourceBase::SetWidth
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?GetHeight@CDSSourceBase@@UAEHXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetHeight@CDSSourceBase@@UAEHXZ PROC			; CDSSourceBase::GetHeight, COMDAT
; _this$ = ecx

; 82   : {

  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   :     return m_CurrentY;

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

; 84   : }

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

; 77   : {

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

; 78   :     return m_CurrentX;

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

; 79   : }

  0000d	8b e5		 mov	 esp, ebp
  0000f	5d		 pop	 ebp
  00010	c3		 ret	 0
?GetWidth@CDSSourceBase@@UAEHXZ ENDP			; CDSSourceBase::GetWidth
;	COMDAT xdata$x
; File c:\develop\dscaler423a\dscaler\smartptr.h
xdata$x	SEGMENT
__unwindtable$?GetRawPointer@?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QBEPAVCBalanceSetting@CDSSourceBase@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?GetRawPointer@?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QBEPAVCBalanceSetting@CDSSourceBase@@XZ$0
__ehfuncinfo$?GetRawPointer@?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QBEPAVCBalanceSetting@CDSSourceBase@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?GetRawPointer@?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QBEPAVCBalanceSetting@CDSSourceBase@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?GetRawPointer@?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QBEPAVCBalanceSetting@CDSSourceBase@@XZ
_TEXT	SEGMENT
tv72 = -32						; size = 4
_this$ = -28						; size = 4
$T309235 = -24						; size = 4
$T309234 = -20						; size = 4
$T309233 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?GetRawPointer@?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QBEPAVCBalanceSetting@CDSSourceBase@@XZ PROC ; SmartPtr<CDSSourceBase::CBalanceSetting>::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@VCBalanceSetting@CDSSourceBase@@@@QBEPAVCBalanceSetting@CDSSourceBase@@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@72
  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 $T309235[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 $T309235[ebp], 0
  00048	74 0d		 je	 SHORT $LN4@GetRawPoin@72
  0004a	8b 4d e8	 mov	 ecx, DWORD PTR $T309235[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@72
$LN4@GetRawPoin@72:
  00057	c7 45 e0 00 00
	00 00		 mov	 DWORD PTR tv72[ebp], 0
$LN5@GetRawPoin@72:
  0005e	8b 4d e0	 mov	 ecx, DWORD PTR tv72[ebp]
  00061	89 4d ec	 mov	 DWORD PTR $T309234[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 $T309234[ebp]
  0006e	89 55 f0	 mov	 DWORD PTR $T309233[ebp], edx
  00071	68 00 00 00 00	 push	 OFFSET __TI3PAUNullPointerException@@
  00076	8d 45 f0	 lea	 eax, DWORD PTR $T309233[ebp]
  00079	50		 push	 eax
  0007a	e8 00 00 00 00	 call	 __CxxThrowException@8
$LN1@GetRawPoin@72:

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

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

; 170  :     }

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

; 153  :     {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??4?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QAEAAV0@PAVCBalanceSetting@CDSSourceBase@@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 10	 sub	 esp, 16			; 00000010H
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	50		 push	 eax
  0001c	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001f	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00025	89 4d e8	 mov	 DWORD PTR _this$[ebp], ecx

; 154  : 
; 155  :         Clear();

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

; 156  :         if (raw)

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

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

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

; 159  :             rawPtr = raw;

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

; 160  :         }
; 161  :         return *this;

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

; 162  :     }

  00087	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0008a	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00091	59		 pop	 ecx
  00092	8b e5		 mov	 esp, ebp
  00094	5d		 pop	 ebp
  00095	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??4?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QAEAAV0@PAVCBalanceSetting@CDSSourceBase@@@Z$0:
  00000	8b 45 ec	 mov	 eax, DWORD PTR $T309250[ebp]
  00003	50		 push	 eax
  00004	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00009	59		 pop	 ecx
  0000a	c3		 ret	 0
__ehhandler$??4?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QAEAAV0@PAVCBalanceSetting@CDSSourceBase@@@Z:
  0000b	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000f	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00012	8b 4a ec	 mov	 ecx, DWORD PTR [edx-20]
  00015	33 c8		 xor	 ecx, eax
  00017	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0001c	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??4?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QAEAAV0@PAVCBalanceSetting@CDSSourceBase@@@Z
  00021	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??4?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QAEAAV0@PAVCBalanceSetting@CDSSourceBase@@@Z ENDP ; SmartPtr<CDSSourceBase::CBalanceSetting>::operator=
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?GetRawPointer@?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QBEPAVCVolumeSetting@CDSSourceBase@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?GetRawPointer@?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QBEPAVCVolumeSetting@CDSSourceBase@@XZ$0
__ehfuncinfo$?GetRawPointer@?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QBEPAVCVolumeSetting@CDSSourceBase@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?GetRawPointer@?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QBEPAVCVolumeSetting@CDSSourceBase@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?GetRawPointer@?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QBEPAVCVolumeSetting@CDSSourceBase@@XZ
_TEXT	SEGMENT
tv72 = -32						; size = 4
_this$ = -28						; size = 4
$T309264 = -24						; size = 4
$T309263 = -20						; size = 4
$T309262 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?GetRawPointer@?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QBEPAVCVolumeSetting@CDSSourceBase@@XZ PROC ; SmartPtr<CDSSourceBase::CVolumeSetting>::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@VCVolumeSetting@CDSSourceBase@@@@QBEPAVCVolumeSetting@CDSSourceBase@@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@73
  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 $T309264[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 $T309264[ebp], 0
  00048	74 0d		 je	 SHORT $LN4@GetRawPoin@73
  0004a	8b 4d e8	 mov	 ecx, DWORD PTR $T309264[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@73
$LN4@GetRawPoin@73:
  00057	c7 45 e0 00 00
	00 00		 mov	 DWORD PTR tv72[ebp], 0
$LN5@GetRawPoin@73:
  0005e	8b 4d e0	 mov	 ecx, DWORD PTR tv72[ebp]
  00061	89 4d ec	 mov	 DWORD PTR $T309263[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 $T309263[ebp]
  0006e	89 55 f0	 mov	 DWORD PTR $T309262[ebp], edx
  00071	68 00 00 00 00	 push	 OFFSET __TI3PAUNullPointerException@@
  00076	8d 45 f0	 lea	 eax, DWORD PTR $T309262[ebp]
  00079	50		 push	 eax
  0007a	e8 00 00 00 00	 call	 __CxxThrowException@8
$LN1@GetRawPoin@73:

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

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

; 170  :     }

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

; 153  :     {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??4?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QAEAAV0@PAVCVolumeSetting@CDSSourceBase@@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 10	 sub	 esp, 16			; 00000010H
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	50		 push	 eax
  0001c	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001f	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00025	89 4d e8	 mov	 DWORD PTR _this$[ebp], ecx

; 154  : 
; 155  :         Clear();

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

; 156  :         if (raw)

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

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

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

; 159  :             rawPtr = raw;

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

; 160  :         }
; 161  :         return *this;

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

; 162  :     }

  00087	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0008a	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00091	59		 pop	 ecx
  00092	8b e5		 mov	 esp, ebp
  00094	5d		 pop	 ebp
  00095	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??4?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QAEAAV0@PAVCVolumeSetting@CDSSourceBase@@@Z$0:
  00000	8b 45 ec	 mov	 eax, DWORD PTR $T309279[ebp]
  00003	50		 push	 eax
  00004	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00009	59		 pop	 ecx
  0000a	c3		 ret	 0
__ehhandler$??4?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QAEAAV0@PAVCVolumeSetting@CDSSourceBase@@@Z:
  0000b	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000f	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00012	8b 4a ec	 mov	 ecx, DWORD PTR [edx-20]
  00015	33 c8		 xor	 ecx, eax
  00017	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0001c	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??4?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QAEAAV0@PAVCVolumeSetting@CDSSourceBase@@@Z
  00021	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??4?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QAEAAV0@PAVCVolumeSetting@CDSSourceBase@@@Z ENDP ; SmartPtr<CDSSourceBase::CVolumeSetting>::operator=
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??$DynamicPtrCast@VCSimpleSetting@@VCBalanceSetting@CDSSourceBase@@@@YA?AV?$SmartPtr@VCSimpleSetting@@@@V?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??$DynamicPtrCast@VCSimpleSetting@@VCBalanceSetting@CDSSourceBase@@@@YA?AV?$SmartPtr@VCSimpleSetting@@@@V?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@@Z$1
	DD	00H
	DD	FLAT:__unwindfunclet$??$DynamicPtrCast@VCSimpleSetting@@VCBalanceSetting@CDSSourceBase@@@@YA?AV?$SmartPtr@VCSimpleSetting@@@@V?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@@Z$0
__ehfuncinfo$??$DynamicPtrCast@VCSimpleSetting@@VCBalanceSetting@CDSSourceBase@@@@YA?AV?$SmartPtr@VCSimpleSetting@@@@V?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??$DynamicPtrCast@VCSimpleSetting@@VCBalanceSetting@CDSSourceBase@@@@YA?AV?$SmartPtr@VCSimpleSetting@@@@V?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??$DynamicPtrCast@VCSimpleSetting@@VCBalanceSetting@CDSSourceBase@@@@YA?AV?$SmartPtr@VCSimpleSetting@@@@V?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@@Z
_TEXT	SEGMENT
$T321089 = -20						; size = 4
_newPtr$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
___$ReturnUdt$ = 8					; size = 4
_inPtr$ = 12						; size = 8
??$DynamicPtrCast@VCSimpleSetting@@VCBalanceSetting@CDSSourceBase@@@@YA?AV?$SmartPtr@VCSimpleSetting@@@@V?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@@Z PROC ; DynamicPtrCast<CSimpleSetting,CDSSourceBase::CBalanceSetting>, COMDAT

; 277  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??$DynamicPtrCast@VCSimpleSetting@@VCBalanceSetting@CDSSourceBase@@@@YA?AV?$SmartPtr@VCSimpleSetting@@@@V?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 08	 sub	 esp, 8
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	50		 push	 eax
  0001c	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001f	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00025	c7 45 ec 00 00
	00 00		 mov	 DWORD PTR $T321089[ebp], 0
  0002c	c7 45 fc 01 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 1

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

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

; 281  :     if(newPtr)

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

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

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

; 284  :     }
; 285  :     else

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

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

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

; 288  :     }
; 289  : }

  00097	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  0009b	8d 4d 0c	 lea	 ecx, DWORD PTR _inPtr$[ebp]
  0009e	e8 00 00 00 00	 call	 ??1?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QAE@XZ ; SmartPtr<CDSSourceBase::CBalanceSetting>::~SmartPtr<CDSSourceBase::CBalanceSetting>
$LN3@DynamicPtr@53:
  000a3	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  000a6	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000ad	59		 pop	 ecx
  000ae	8b e5		 mov	 esp, ebp
  000b0	5d		 pop	 ebp
  000b1	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??$DynamicPtrCast@VCSimpleSetting@@VCBalanceSetting@CDSSourceBase@@@@YA?AV?$SmartPtr@VCSimpleSetting@@@@V?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@@Z$0:
  00000	8d 4d 0c	 lea	 ecx, DWORD PTR _inPtr$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QAE@XZ ; SmartPtr<CDSSourceBase::CBalanceSetting>::~SmartPtr<CDSSourceBase::CBalanceSetting>
__unwindfunclet$??$DynamicPtrCast@VCSimpleSetting@@VCBalanceSetting@CDSSourceBase@@@@YA?AV?$SmartPtr@VCSimpleSetting@@@@V?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@@Z$1:
  00008	8b 45 ec	 mov	 eax, DWORD PTR $T321089[ebp]
  0000b	83 e0 01	 and	 eax, 1
  0000e	0f 84 0c 00 00
	00		 je	 $LN7@DynamicPtr@53
  00014	83 65 ec fe	 and	 DWORD PTR $T321089[ebp], -2 ; fffffffeH
  00018	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  0001b	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VCSimpleSetting@@@@QAE@XZ ; SmartPtr<CSimpleSetting>::~SmartPtr<CSimpleSetting>
$LN7@DynamicPtr@53:
  00020	c3		 ret	 0
__ehhandler$??$DynamicPtrCast@VCSimpleSetting@@VCBalanceSetting@CDSSourceBase@@@@YA?AV?$SmartPtr@VCSimpleSetting@@@@V?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@@Z:
  00021	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00025	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00028	8b 4a f4	 mov	 ecx, DWORD PTR [edx-12]
  0002b	33 c8		 xor	 ecx, eax
  0002d	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00032	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??$DynamicPtrCast@VCSimpleSetting@@VCBalanceSetting@CDSSourceBase@@@@YA?AV?$SmartPtr@VCSimpleSetting@@@@V?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@@Z
  00037	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??$DynamicPtrCast@VCSimpleSetting@@VCBalanceSetting@CDSSourceBase@@@@YA?AV?$SmartPtr@VCSimpleSetting@@@@V?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@@Z ENDP ; DynamicPtrCast<CSimpleSetting,CDSSourceBase::CBalanceSetting>
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??$DynamicPtrCast@VCSimpleSetting@@VCVolumeSetting@CDSSourceBase@@@@YA?AV?$SmartPtr@VCSimpleSetting@@@@V?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??$DynamicPtrCast@VCSimpleSetting@@VCVolumeSetting@CDSSourceBase@@@@YA?AV?$SmartPtr@VCSimpleSetting@@@@V?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@@Z$1
	DD	00H
	DD	FLAT:__unwindfunclet$??$DynamicPtrCast@VCSimpleSetting@@VCVolumeSetting@CDSSourceBase@@@@YA?AV?$SmartPtr@VCSimpleSetting@@@@V?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@@Z$0
__ehfuncinfo$??$DynamicPtrCast@VCSimpleSetting@@VCVolumeSetting@CDSSourceBase@@@@YA?AV?$SmartPtr@VCSimpleSetting@@@@V?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??$DynamicPtrCast@VCSimpleSetting@@VCVolumeSetting@CDSSourceBase@@@@YA?AV?$SmartPtr@VCSimpleSetting@@@@V?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??$DynamicPtrCast@VCSimpleSetting@@VCVolumeSetting@CDSSourceBase@@@@YA?AV?$SmartPtr@VCSimpleSetting@@@@V?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@@Z
_TEXT	SEGMENT
$T321101 = -20						; size = 4
_newPtr$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
___$ReturnUdt$ = 8					; size = 4
_inPtr$ = 12						; size = 8
??$DynamicPtrCast@VCSimpleSetting@@VCVolumeSetting@CDSSourceBase@@@@YA?AV?$SmartPtr@VCSimpleSetting@@@@V?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@@Z PROC ; DynamicPtrCast<CSimpleSetting,CDSSourceBase::CVolumeSetting>, COMDAT

; 277  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??$DynamicPtrCast@VCSimpleSetting@@VCVolumeSetting@CDSSourceBase@@@@YA?AV?$SmartPtr@VCSimpleSetting@@@@V?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 08	 sub	 esp, 8
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	50		 push	 eax
  0001c	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001f	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00025	c7 45 ec 00 00
	00 00		 mov	 DWORD PTR $T321101[ebp], 0
  0002c	c7 45 fc 01 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 1

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

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

; 281  :     if(newPtr)

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

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

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

; 284  :     }
; 285  :     else

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

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

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

; 288  :     }
; 289  : }

  00097	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  0009b	8d 4d 0c	 lea	 ecx, DWORD PTR _inPtr$[ebp]
  0009e	e8 00 00 00 00	 call	 ??1?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QAE@XZ ; SmartPtr<CDSSourceBase::CVolumeSetting>::~SmartPtr<CDSSourceBase::CVolumeSetting>
$LN3@DynamicPtr@54:
  000a3	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  000a6	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000ad	59		 pop	 ecx
  000ae	8b e5		 mov	 esp, ebp
  000b0	5d		 pop	 ebp
  000b1	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??$DynamicPtrCast@VCSimpleSetting@@VCVolumeSetting@CDSSourceBase@@@@YA?AV?$SmartPtr@VCSimpleSetting@@@@V?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@@Z$0:
  00000	8d 4d 0c	 lea	 ecx, DWORD PTR _inPtr$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QAE@XZ ; SmartPtr<CDSSourceBase::CVolumeSetting>::~SmartPtr<CDSSourceBase::CVolumeSetting>
__unwindfunclet$??$DynamicPtrCast@VCSimpleSetting@@VCVolumeSetting@CDSSourceBase@@@@YA?AV?$SmartPtr@VCSimpleSetting@@@@V?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@@Z$1:
  00008	8b 45 ec	 mov	 eax, DWORD PTR $T321101[ebp]
  0000b	83 e0 01	 and	 eax, 1
  0000e	0f 84 0c 00 00
	00		 je	 $LN7@DynamicPtr@54
  00014	83 65 ec fe	 and	 DWORD PTR $T321101[ebp], -2 ; fffffffeH
  00018	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  0001b	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VCSimpleSetting@@@@QAE@XZ ; SmartPtr<CSimpleSetting>::~SmartPtr<CSimpleSetting>
$LN7@DynamicPtr@54:
  00020	c3		 ret	 0
__ehhandler$??$DynamicPtrCast@VCSimpleSetting@@VCVolumeSetting@CDSSourceBase@@@@YA?AV?$SmartPtr@VCSimpleSetting@@@@V?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@@Z:
  00021	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00025	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00028	8b 4a f4	 mov	 ecx, DWORD PTR [edx-12]
  0002b	33 c8		 xor	 ecx, eax
  0002d	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00032	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??$DynamicPtrCast@VCSimpleSetting@@VCVolumeSetting@CDSSourceBase@@@@YA?AV?$SmartPtr@VCSimpleSetting@@@@V?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@@Z
  00037	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??$DynamicPtrCast@VCSimpleSetting@@VCVolumeSetting@CDSSourceBase@@@@YA?AV?$SmartPtr@VCSimpleSetting@@@@V?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@@Z ENDP ; DynamicPtrCast<CSimpleSetting,CDSSourceBase::CVolumeSetting>
;	COMDAT xdata$x
; File c:\develop\dscaler423a\dscaler\dshowsource\dssourcebase.cpp
xdata$x	SEGMENT
__unwindtable$?IDString@CDSSourceBase@@UAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?IDString@CDSSourceBase@@UAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ$0
__ehfuncinfo$?IDString@CDSSourceBase@@UAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?IDString@CDSSourceBase@@UAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?IDString@CDSSourceBase@@UAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ
_TEXT	SEGMENT
_this$ = -20						; size = 4
$T328996 = -16						; size = 4
__$EHRec$ = -12						; size = 12
___$ReturnUdt$ = 8					; size = 4
?IDString@CDSSourceBase@@UAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ PROC ; CDSSourceBase::IDString, COMDAT
; _this$ = ecx

; 582  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?IDString@CDSSourceBase@@UAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 08	 sub	 esp, 8
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	50		 push	 eax
  0001c	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001f	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00025	89 4d ec	 mov	 DWORD PTR _this$[ebp], ecx
  00028	c7 45 f0 00 00
	00 00		 mov	 DWORD PTR $T328996[ebp], 0

; 583  :     return m_IDString;

  0002f	8b 45 ec	 mov	 eax, DWORD PTR _this$[ebp]
  00032	05 14 01 00 00	 add	 eax, 276		; 00000114H
  00037	50		 push	 eax
  00038	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  0003b	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> >
  00040	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00047	8b 4d f0	 mov	 ecx, DWORD PTR $T328996[ebp]
  0004a	83 c9 01	 or	 ecx, 1
  0004d	89 4d f0	 mov	 DWORD PTR $T328996[ebp], ecx
  00050	8b 45 08	 mov	 eax, DWORD PTR ___$ReturnUdt$[ebp]

; 584  : }

  00053	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00056	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0005d	59		 pop	 ecx
  0005e	8b e5		 mov	 esp, ebp
  00060	5d		 pop	 ebp
  00061	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?IDString@CDSSourceBase@@UAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ$0:
  00000	8b 45 f0	 mov	 eax, DWORD PTR $T328996[ebp]
  00003	83 e0 01	 and	 eax, 1
  00006	0f 84 0c 00 00
	00		 je	 $LN4@IDString@3
  0000c	83 65 f0 fe	 and	 DWORD PTR $T328996[ebp], -2 ; fffffffeH
  00010	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  00013	e9 00 00 00 00	 jmp	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
$LN4@IDString@3:
  00018	c3		 ret	 0
__ehhandler$?IDString@CDSSourceBase@@UAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ:
  00019	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0001d	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00020	8b 4a f4	 mov	 ecx, DWORD PTR [edx-12]
  00023	33 c8		 xor	 ecx, eax
  00025	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0002a	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?IDString@CDSSourceBase@@UAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ
  0002f	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?IDString@CDSSourceBase@@UAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ ENDP ; CDSSourceBase::IDString
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1CBalanceSetting@CDSSourceBase@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1CBalanceSetting@CDSSourceBase@@UAE@XZ$0
__ehfuncinfo$??1CBalanceSetting@CDSSourceBase@@UAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1CBalanceSetting@CDSSourceBase@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??1CBalanceSetting@CDSSourceBase@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1CBalanceSetting@CDSSourceBase@@UAE@XZ PROC		; CDSSourceBase::CBalanceSetting::~CBalanceSetting, 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$??1CBalanceSetting@CDSSourceBase@@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	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	 ??1CSliderSetting@@UAE@XZ ; CSliderSetting::~CSliderSetting
  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$??1CBalanceSetting@CDSSourceBase@@UAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CSliderSetting@@UAE@XZ ; CSliderSetting::~CSliderSetting
__ehhandler$??1CBalanceSetting@CDSSourceBase@@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$??1CBalanceSetting@CDSSourceBase@@UAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1CBalanceSetting@CDSSourceBase@@UAE@XZ ENDP		; CDSSourceBase::CBalanceSetting::~CBalanceSetting
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1CVolumeSetting@CDSSourceBase@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1CVolumeSetting@CDSSourceBase@@UAE@XZ$0
__ehfuncinfo$??1CVolumeSetting@CDSSourceBase@@UAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1CVolumeSetting@CDSSourceBase@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??1CVolumeSetting@CDSSourceBase@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1CVolumeSetting@CDSSourceBase@@UAE@XZ PROC		; CDSSourceBase::CVolumeSetting::~CVolumeSetting, 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$??1CVolumeSetting@CDSSourceBase@@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	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	 ??1CSliderSetting@@UAE@XZ ; CSliderSetting::~CSliderSetting
  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$??1CVolumeSetting@CDSSourceBase@@UAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CSliderSetting@@UAE@XZ ; CSliderSetting::~CSliderSetting
__ehhandler$??1CVolumeSetting@CDSSourceBase@@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$??1CVolumeSetting@CDSSourceBase@@UAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1CVolumeSetting@CDSSourceBase@@UAE@XZ ENDP		; CDSSourceBase::CVolumeSetting::~CVolumeSetting
; Function compile flags: /Odtp
;	COMDAT ??_GCBalanceSetting@CDSSourceBase@@UAEPAXI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___flags$ = 8						; size = 4
??_GCBalanceSetting@CDSSourceBase@@UAEPAXI@Z PROC	; CDSSourceBase::CBalanceSetting::`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	 ??1CBalanceSetting@CDSSourceBase@@UAE@XZ
  0000f	8b 45 08	 mov	 eax, DWORD PTR ___flags$[ebp]
  00012	83 e0 01	 and	 eax, 1
  00015	74 0c		 je	 SHORT $LN1@scalar@220
  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@220:
  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
??_GCBalanceSetting@CDSSourceBase@@UAEPAXI@Z ENDP	; CDSSourceBase::CBalanceSetting::`scalar deleting destructor'
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??_GCVolumeSetting@CDSSourceBase@@UAEPAXI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___flags$ = 8						; size = 4
??_GCVolumeSetting@CDSSourceBase@@UAEPAXI@Z PROC	; CDSSourceBase::CVolumeSetting::`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	 ??1CVolumeSetting@CDSSourceBase@@UAE@XZ
  0000f	8b 45 08	 mov	 eax, DWORD PTR ___flags$[ebp]
  00012	83 e0 01	 and	 eax, 1
  00015	74 0c		 je	 SHORT $LN1@scalar@221
  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@221:
  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
??_GCVolumeSetting@CDSSourceBase@@UAEPAXI@Z ENDP	; CDSSourceBase::CVolumeSetting::`scalar deleting destructor'
;	COMDAT xdata$x
; File c:\develop\dscaler423a\dscaler\dshowsource\dssourcebase.h
xdata$x	SEGMENT
__unwindtable$??0CBalanceSetting@CDSSourceBase@@QAE@PBV1@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@JJJ1PAVCSettingGroup@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0CBalanceSetting@CDSSourceBase@@QAE@PBV1@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@JJJ1PAVCSettingGroup@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0CBalanceSetting@CDSSourceBase@@QAE@PBV1@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@JJJ1PAVCSettingGroup@@@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$??0CBalanceSetting@CDSSourceBase@@QAE@PBV1@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@JJJ1PAVCSettingGroup@@@Z$1
__ehfuncinfo$??0CBalanceSetting@CDSSourceBase@@QAE@PBV1@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@JJJ1PAVCSettingGroup@@@Z DD 019930522H
	DD	03H
	DD	FLAT:__unwindtable$??0CBalanceSetting@CDSSourceBase@@QAE@PBV1@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@JJJ1PAVCSettingGroup@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0CBalanceSetting@CDSSourceBase@@QAE@PBV1@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@JJJ1PAVCSettingGroup@@@Z
_TEXT	SEGMENT
_this$ = -44						; size = 4
$T333136 = -40						; size = 28
__$EHRec$ = -12						; size = 12
_Parent$ = 8						; size = 4
_DisplayName$ = 12					; size = 4
_Default$ = 16						; size = 4
_Min$ = 20						; size = 4
_Max$ = 24						; size = 4
_Section$ = 28						; size = 4
_pGroup$ = 32						; size = 4
??0CBalanceSetting@CDSSourceBase@@QAE@PBV1@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@JJJ1PAVCSettingGroup@@@Z PROC ; CDSSourceBase::CBalanceSetting::CBalanceSetting, COMDAT
; _this$ = ecx

; 120  :     DEFINE_SLIDER_CALLBACK_SETTING(CDSSourceBase, Balance);

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0CBalanceSetting@CDSSourceBase@@QAE@PBV1@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@JJJ1PAVCSettingGroup@@@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 d4	 mov	 DWORD PTR _this$[ebp], ecx
  00028	68 00 00 00 00	 push	 OFFSET ??_C@_1BA@PPMMIPOH@?$AAB?$AAa?$AAl?$AAa?$AAn?$AAc?$AAe?$AA?$AA@
  0002d	8d 4d d8	 lea	 ecx, DWORD PTR $T333136[ebp]
  00030	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> >
  00035	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  0003c	8b 45 20	 mov	 eax, DWORD PTR _pGroup$[ebp]
  0003f	50		 push	 eax
  00040	8d 4d d8	 lea	 ecx, DWORD PTR $T333136[ebp]
  00043	51		 push	 ecx
  00044	8b 55 1c	 mov	 edx, DWORD PTR _Section$[ebp]
  00047	52		 push	 edx
  00048	8b 45 18	 mov	 eax, DWORD PTR _Max$[ebp]
  0004b	50		 push	 eax
  0004c	8b 4d 14	 mov	 ecx, DWORD PTR _Min$[ebp]
  0004f	51		 push	 ecx
  00050	8b 55 10	 mov	 edx, DWORD PTR _Default$[ebp]
  00053	52		 push	 edx
  00054	8b 45 0c	 mov	 eax, DWORD PTR _DisplayName$[ebp]
  00057	50		 push	 eax
  00058	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  0005b	e8 00 00 00 00	 call	 ??0CSliderSetting@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@JJJ00PAVCSettingGroup@@@Z ; CSliderSetting::CSliderSetting
  00060	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  00064	8d 4d d8	 lea	 ecx, DWORD PTR $T333136[ebp]
  00067	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> >
  0006c	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  0006f	c7 01 00 00 00
	00		 mov	 DWORD PTR [ecx], OFFSET ??_7CBalanceSetting@CDSSourceBase@@6B@
  00075	8b 55 d4	 mov	 edx, DWORD PTR _this$[ebp]
  00078	8b 45 08	 mov	 eax, DWORD PTR _Parent$[ebp]
  0007b	89 82 b0 00 00
	00		 mov	 DWORD PTR [edx+176], eax
  00081	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00088	8b 45 d4	 mov	 eax, DWORD PTR _this$[ebp]
  0008b	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0008e	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00095	59		 pop	 ecx
  00096	8b e5		 mov	 esp, ebp
  00098	5d		 pop	 ebp
  00099	c2 1c 00	 ret	 28			; 0000001cH
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0CBalanceSetting@CDSSourceBase@@QAE@PBV1@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@JJJ1PAVCSettingGroup@@@Z$0:
  00000	8d 4d d8	 lea	 ecx, DWORD PTR $T333136[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
__unwindfunclet$??0CBalanceSetting@CDSSourceBase@@QAE@PBV1@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@JJJ1PAVCSettingGroup@@@Z$1:
  00008	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  0000b	e9 00 00 00 00	 jmp	 ??1CSliderSetting@@UAE@XZ ; CSliderSetting::~CSliderSetting
__ehhandler$??0CBalanceSetting@CDSSourceBase@@QAE@PBV1@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@JJJ1PAVCSettingGroup@@@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 dc	 mov	 ecx, DWORD PTR [edx-36]
  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$??0CBalanceSetting@CDSSourceBase@@QAE@PBV1@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@JJJ1PAVCSettingGroup@@@Z
  00026	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0CBalanceSetting@CDSSourceBase@@QAE@PBV1@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@JJJ1PAVCSettingGroup@@@Z ENDP ; CDSSourceBase::CBalanceSetting::CBalanceSetting
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0CVolumeSetting@CDSSourceBase@@QAE@PBV1@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@JJJ1PAVCSettingGroup@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0CVolumeSetting@CDSSourceBase@@QAE@PBV1@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@JJJ1PAVCSettingGroup@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0CVolumeSetting@CDSSourceBase@@QAE@PBV1@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@JJJ1PAVCSettingGroup@@@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$??0CVolumeSetting@CDSSourceBase@@QAE@PBV1@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@JJJ1PAVCSettingGroup@@@Z$1
__ehfuncinfo$??0CVolumeSetting@CDSSourceBase@@QAE@PBV1@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@JJJ1PAVCSettingGroup@@@Z DD 019930522H
	DD	03H
	DD	FLAT:__unwindtable$??0CVolumeSetting@CDSSourceBase@@QAE@PBV1@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@JJJ1PAVCSettingGroup@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0CVolumeSetting@CDSSourceBase@@QAE@PBV1@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@JJJ1PAVCSettingGroup@@@Z
_TEXT	SEGMENT
_this$ = -44						; size = 4
$T333147 = -40						; size = 28
__$EHRec$ = -12						; size = 12
_Parent$ = 8						; size = 4
_DisplayName$ = 12					; size = 4
_Default$ = 16						; size = 4
_Min$ = 20						; size = 4
_Max$ = 24						; size = 4
_Section$ = 28						; size = 4
_pGroup$ = 32						; size = 4
??0CVolumeSetting@CDSSourceBase@@QAE@PBV1@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@JJJ1PAVCSettingGroup@@@Z PROC ; CDSSourceBase::CVolumeSetting::CVolumeSetting, COMDAT
; _this$ = ecx

; 119  :     DEFINE_SLIDER_CALLBACK_SETTING(CDSSourceBase, Volume);

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0CVolumeSetting@CDSSourceBase@@QAE@PBV1@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@JJJ1PAVCSettingGroup@@@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 d4	 mov	 DWORD PTR _this$[ebp], ecx
  00028	68 00 00 00 00	 push	 OFFSET ??_C@_1O@DMLCJFNF@?$AAV?$AAo?$AAl?$AAu?$AAm?$AAe?$AA?$AA@
  0002d	8d 4d d8	 lea	 ecx, DWORD PTR $T333147[ebp]
  00030	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> >
  00035	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  0003c	8b 45 20	 mov	 eax, DWORD PTR _pGroup$[ebp]
  0003f	50		 push	 eax
  00040	8d 4d d8	 lea	 ecx, DWORD PTR $T333147[ebp]
  00043	51		 push	 ecx
  00044	8b 55 1c	 mov	 edx, DWORD PTR _Section$[ebp]
  00047	52		 push	 edx
  00048	8b 45 18	 mov	 eax, DWORD PTR _Max$[ebp]
  0004b	50		 push	 eax
  0004c	8b 4d 14	 mov	 ecx, DWORD PTR _Min$[ebp]
  0004f	51		 push	 ecx
  00050	8b 55 10	 mov	 edx, DWORD PTR _Default$[ebp]
  00053	52		 push	 edx
  00054	8b 45 0c	 mov	 eax, DWORD PTR _DisplayName$[ebp]
  00057	50		 push	 eax
  00058	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  0005b	e8 00 00 00 00	 call	 ??0CSliderSetting@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@JJJ00PAVCSettingGroup@@@Z ; CSliderSetting::CSliderSetting
  00060	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  00064	8d 4d d8	 lea	 ecx, DWORD PTR $T333147[ebp]
  00067	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> >
  0006c	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  0006f	c7 01 00 00 00
	00		 mov	 DWORD PTR [ecx], OFFSET ??_7CVolumeSetting@CDSSourceBase@@6B@
  00075	8b 55 d4	 mov	 edx, DWORD PTR _this$[ebp]
  00078	8b 45 08	 mov	 eax, DWORD PTR _Parent$[ebp]
  0007b	89 82 b0 00 00
	00		 mov	 DWORD PTR [edx+176], eax
  00081	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00088	8b 45 d4	 mov	 eax, DWORD PTR _this$[ebp]
  0008b	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0008e	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00095	59		 pop	 ecx
  00096	8b e5		 mov	 esp, ebp
  00098	5d		 pop	 ebp
  00099	c2 1c 00	 ret	 28			; 0000001cH
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0CVolumeSetting@CDSSourceBase@@QAE@PBV1@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@JJJ1PAVCSettingGroup@@@Z$0:
  00000	8d 4d d8	 lea	 ecx, DWORD PTR $T333147[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
__unwindfunclet$??0CVolumeSetting@CDSSourceBase@@QAE@PBV1@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@JJJ1PAVCSettingGroup@@@Z$1:
  00008	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  0000b	e9 00 00 00 00	 jmp	 ??1CSliderSetting@@UAE@XZ ; CSliderSetting::~CSliderSetting
__ehhandler$??0CVolumeSetting@CDSSourceBase@@QAE@PBV1@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@JJJ1PAVCSettingGroup@@@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 dc	 mov	 ecx, DWORD PTR [edx-36]
  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$??0CVolumeSetting@CDSSourceBase@@QAE@PBV1@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@JJJ1PAVCSettingGroup@@@Z
  00026	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0CVolumeSetting@CDSSourceBase@@QAE@PBV1@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@JJJ1PAVCSettingGroup@@@Z ENDP ; CDSSourceBase::CVolumeSetting::CVolumeSetting
PUBLIC	__$ArrayPad$
PUBLIC	?ChangePos@CDSSourceBase@@QAEXH@Z		; CDSSourceBase::ChangePos
;	COMDAT xdata$x
; File c:\develop\dscaler423a\dscaler\dshowsource\dssourcebase.cpp
xdata$x	SEGMENT
__unwindtable$?ChangePos@CDSSourceBase@@QAEXH@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?ChangePos@CDSSourceBase@@QAEXH@Z$0
__ehfuncinfo$?ChangePos@CDSSourceBase@@QAEXH@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?ChangePos@CDSSourceBase@@QAEXH@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?ChangePos@CDSSourceBase@@QAEXH@Z
_TEXT	SEGMENT
_this$ = -152						; size = 4
$T338619 = -148						; size = 28
_pos1$144713 = -120					; size = 4
_text$144715 = -116					; size = 64
__$ArrayPad$ = -48					; size = 4
_pos$144703 = -44					; size = 8
_duration$144704 = -36					; size = 8
_newpos$144705 = -28					; size = 8
_pSeeking$ = -16					; size = 4
__$EHRec$ = -12						; size = 12
_delta_sec$ = 8						; size = 4
?ChangePos@CDSSourceBase@@QAEXH@Z PROC			; CDSSourceBase::ChangePos, COMDAT
; _this$ = ecx

; 631  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?ChangePos@CDSSourceBase@@QAEXH@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 d0	 mov	 DWORD PTR __$ArrayPad$[ebp], eax
  00021	50		 push	 eax
  00022	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00025	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  0002b	89 8d 68 ff ff
	ff		 mov	 DWORD PTR _this$[ebp], ecx

; 632  :     CDShowSeeking *pSeeking=m_pDSGraph->GetSeeking();

  00031	8b 85 68 ff ff
	ff		 mov	 eax, DWORD PTR _this$[ebp]
  00037	8b 48 70	 mov	 ecx, DWORD PTR [eax+112]
  0003a	e8 00 00 00 00	 call	 ?GetSeeking@CDShowGraph@@QAEPAVCDShowSeeking@@XZ ; CDShowGraph::GetSeeking
  0003f	89 45 f0	 mov	 DWORD PTR _pSeeking$[ebp], eax

; 633  :     if(pSeeking!=NULL)

  00042	83 7d f0 00	 cmp	 DWORD PTR _pSeeking$[ebp], 0
  00046	0f 84 4c 01 00
	00		 je	 $LN3@ChangePos

; 634  :     {
; 635  :         if(pSeeking->GetCaps()&AM_SEEKING_CanGetDuration)

  0004c	8b 4d f0	 mov	 ecx, DWORD PTR _pSeeking$[ebp]
  0004f	e8 00 00 00 00	 call	 ?GetCaps@CDShowSeeking@@QAEKXZ ; CDShowSeeking::GetCaps
  00054	83 e0 20	 and	 eax, 32			; 00000020H
  00057	0f 84 3b 01 00
	00		 je	 $LN3@ChangePos

; 636  :         {
; 637  :             LONGLONG pos=pSeeking->GetCurrentPos();

  0005d	8b 4d f0	 mov	 ecx, DWORD PTR _pSeeking$[ebp]
  00060	e8 00 00 00 00	 call	 ?GetCurrentPos@CDShowSeeking@@QAE_JXZ ; CDShowSeeking::GetCurrentPos
  00065	89 45 d4	 mov	 DWORD PTR _pos$144703[ebp], eax
  00068	89 55 d8	 mov	 DWORD PTR _pos$144703[ebp+4], edx

; 638  :             LONGLONG duration=pSeeking->GetDuration();

  0006b	8b 4d f0	 mov	 ecx, DWORD PTR _pSeeking$[ebp]
  0006e	e8 00 00 00 00	 call	 ?GetDuration@CDShowSeeking@@QAE_JXZ ; CDShowSeeking::GetDuration
  00073	89 45 dc	 mov	 DWORD PTR _duration$144704[ebp], eax
  00076	89 55 e0	 mov	 DWORD PTR _duration$144704[ebp+4], edx

; 639  :             LONGLONG newpos = pos + 10000000 * (LONGLONG)delta_sec;

  00079	8b 45 08	 mov	 eax, DWORD PTR _delta_sec$[ebp]
  0007c	99		 cdq
  0007d	6a 00		 push	 0
  0007f	68 80 96 98 00	 push	 10000000		; 00989680H
  00084	52		 push	 edx
  00085	50		 push	 eax
  00086	e8 00 00 00 00	 call	 __allmul
  0008b	03 45 d4	 add	 eax, DWORD PTR _pos$144703[ebp]
  0008e	8b 4d d8	 mov	 ecx, DWORD PTR _pos$144703[ebp+4]
  00091	13 ca		 adc	 ecx, edx
  00093	89 45 e4	 mov	 DWORD PTR _newpos$144705[ebp], eax
  00096	89 4d e8	 mov	 DWORD PTR _newpos$144705[ebp+4], ecx

; 640  :             if (newpos < 0)

  00099	83 7d e8 00	 cmp	 DWORD PTR _newpos$144705[ebp+4], 0
  0009d	7f 18		 jg	 SHORT $LN6@ChangePos
  0009f	7c 06		 jl	 SHORT $LN12@ChangePos
  000a1	83 7d e4 00	 cmp	 DWORD PTR _newpos$144705[ebp], 0
  000a5	73 10		 jae	 SHORT $LN6@ChangePos
$LN12@ChangePos:

; 641  :             {
; 642  :                 newpos = 0;

  000a7	c7 45 e4 00 00
	00 00		 mov	 DWORD PTR _newpos$144705[ebp], 0
  000ae	c7 45 e8 00 00
	00 00		 mov	 DWORD PTR _newpos$144705[ebp+4], 0
  000b5	eb 1e		 jmp	 SHORT $LN4@ChangePos
$LN6@ChangePos:

; 643  :             }
; 644  :             else if (newpos > duration)

  000b7	8b 55 e8	 mov	 edx, DWORD PTR _newpos$144705[ebp+4]
  000ba	3b 55 e0	 cmp	 edx, DWORD PTR _duration$144704[ebp+4]
  000bd	7c 16		 jl	 SHORT $LN4@ChangePos
  000bf	7f 08		 jg	 SHORT $LN13@ChangePos
  000c1	8b 45 e4	 mov	 eax, DWORD PTR _newpos$144705[ebp]
  000c4	3b 45 dc	 cmp	 eax, DWORD PTR _duration$144704[ebp]
  000c7	76 0c		 jbe	 SHORT $LN4@ChangePos
$LN13@ChangePos:

; 645  :             {
; 646  :                 newpos = duration;

  000c9	8b 4d dc	 mov	 ecx, DWORD PTR _duration$144704[ebp]
  000cc	89 4d e4	 mov	 DWORD PTR _newpos$144705[ebp], ecx
  000cf	8b 55 e0	 mov	 edx, DWORD PTR _duration$144704[ebp+4]
  000d2	89 55 e8	 mov	 DWORD PTR _newpos$144705[ebp+4], edx
$LN4@ChangePos:

; 647  :             }
; 648  :             if ( ( (delta_sec < 0) && (pSeeking->GetCaps()&(AM_SEEKING_CanSeekBackwards|AM_SEEKING_CanSeekAbsolute)) )
; 649  :               || ( (delta_sec > 0) && (pSeeking->GetCaps()&(AM_SEEKING_CanSeekForwards|AM_SEEKING_CanSeekAbsolute)) ) )

  000d5	83 7d 08 00	 cmp	 DWORD PTR _delta_sec$[ebp], 0
  000d9	7d 0d		 jge	 SHORT $LN1@ChangePos
  000db	8b 4d f0	 mov	 ecx, DWORD PTR _pSeeking$[ebp]
  000de	e8 00 00 00 00	 call	 ?GetCaps@CDShowSeeking@@QAEKXZ ; CDShowSeeking::GetCaps
  000e3	83 e0 05	 and	 eax, 5
  000e6	75 1b		 jne	 SHORT $LN2@ChangePos
$LN1@ChangePos:
  000e8	83 7d 08 00	 cmp	 DWORD PTR _delta_sec$[ebp], 0
  000ec	0f 8e a6 00 00
	00		 jle	 $LN3@ChangePos
  000f2	8b 4d f0	 mov	 ecx, DWORD PTR _pSeeking$[ebp]
  000f5	e8 00 00 00 00	 call	 ?GetCaps@CDShowSeeking@@QAEKXZ ; CDShowSeeking::GetCaps
  000fa	83 e0 03	 and	 eax, 3
  000fd	0f 84 95 00 00
	00		 je	 $LN3@ChangePos
$LN2@ChangePos:

; 650  :             {
; 651  :                 pSeeking->SeekTo(newpos);

  00103	8b 45 e8	 mov	 eax, DWORD PTR _newpos$144705[ebp+4]
  00106	50		 push	 eax
  00107	8b 4d e4	 mov	 ecx, DWORD PTR _newpos$144705[ebp]
  0010a	51		 push	 ecx
  0010b	8b 4d f0	 mov	 ecx, DWORD PTR _pSeeking$[ebp]
  0010e	e8 00 00 00 00	 call	 ?SeekTo@CDShowSeeking@@QAEX_J@Z ; CDShowSeeking::SeekTo

; 652  : 
; 653  :                 int pos1 = (int)(newpos / 10000000);

  00113	6a 00		 push	 0
  00115	68 80 96 98 00	 push	 10000000		; 00989680H
  0011a	8b 55 e8	 mov	 edx, DWORD PTR _newpos$144705[ebp+4]
  0011d	52		 push	 edx
  0011e	8b 45 e4	 mov	 eax, DWORD PTR _newpos$144705[ebp]
  00121	50		 push	 eax
  00122	e8 00 00 00 00	 call	 __alldiv
  00127	89 45 88	 mov	 DWORD PTR _pos1$144713[ebp], eax

; 654  :                 TCHAR text[32];
; 655  :                 _sntprintf(text, 32, _T("Jump to time %d:%2.2d"), pos1 / 60, pos1 % 60);

  0012a	8b 45 88	 mov	 eax, DWORD PTR _pos1$144713[ebp]
  0012d	99		 cdq
  0012e	b9 3c 00 00 00	 mov	 ecx, 60			; 0000003cH
  00133	f7 f9		 idiv	 ecx
  00135	52		 push	 edx
  00136	8b 45 88	 mov	 eax, DWORD PTR _pos1$144713[ebp]
  00139	99		 cdq
  0013a	b9 3c 00 00 00	 mov	 ecx, 60			; 0000003cH
  0013f	f7 f9		 idiv	 ecx
  00141	50		 push	 eax
  00142	68 00 00 00 00	 push	 OFFSET ??_C@_1CM@ONGLGCIF@?$AAJ?$AAu?$AAm?$AAp?$AA?5?$AAt?$AAo?$AA?5?$AAt?$AAi?$AAm?$AAe?$AA?5?$AA?$CF?$AAd?$AA?3?$AA?$CF?$AA2?$AA?4?$AA2?$AAd?$AA?$AA@
  00147	6a 20		 push	 32			; 00000020H
  00149	8d 55 8c	 lea	 edx, DWORD PTR _text$144715[ebp]
  0014c	52		 push	 edx
  0014d	e8 00 00 00 00	 call	 __snwprintf
  00152	83 c4 14	 add	 esp, 20			; 00000014H

; 656  :                 OSD_ShowText(text, 0);

  00155	8d 45 8c	 lea	 eax, DWORD PTR _text$144715[ebp]
  00158	50		 push	 eax
  00159	8d 8d 6c ff ff
	ff		 lea	 ecx, DWORD PTR $T338619[ebp]
  0015f	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> >
  00164	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  0016b	6a 00		 push	 0
  0016d	6a 00		 push	 0
  0016f	83 ec 08	 sub	 esp, 8
  00172	d9 ee		 fldz
  00174	dd 1c 24	 fstp	 QWORD PTR [esp]
  00177	8d 8d 6c ff ff
	ff		 lea	 ecx, DWORD PTR $T338619[ebp]
  0017d	51		 push	 ecx
  0017e	e8 00 00 00 00	 call	 ?OSD_ShowText@@YAXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@NHH@Z ; OSD_ShowText
  00183	83 c4 14	 add	 esp, 20			; 00000014H
  00186	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0018d	8d 8d 6c ff ff
	ff		 lea	 ecx, DWORD PTR $T338619[ebp]
  00193	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> >
$LN3@ChangePos:

; 657  :             }
; 658  :         }
; 659  :     }
; 660  : }

  00198	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0019b	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  001a2	59		 pop	 ecx
  001a3	8b 4d d0	 mov	 ecx, DWORD PTR __$ArrayPad$[ebp]
  001a6	33 cd		 xor	 ecx, ebp
  001a8	e8 00 00 00 00	 call	 @__security_check_cookie@4
  001ad	8b e5		 mov	 esp, ebp
  001af	5d		 pop	 ebp
  001b0	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?ChangePos@CDSSourceBase@@QAEXH@Z$0:
  00000	8d 8d 6c ff ff
	ff		 lea	 ecx, DWORD PTR $T338619[ebp]
  00006	e9 00 00 00 00	 jmp	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
__ehhandler$?ChangePos@CDSSourceBase@@QAEXH@Z:
  0000b	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000f	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00012	8b 8a 70 ff ff
	ff		 mov	 ecx, DWORD PTR [edx-144]
  00018	33 c8		 xor	 ecx, eax
  0001a	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0001f	8b 4a dc	 mov	 ecx, DWORD PTR [edx-36]
  00022	33 c8		 xor	 ecx, eax
  00024	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00029	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?ChangePos@CDSSourceBase@@QAEXH@Z
  0002e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?ChangePos@CDSSourceBase@@QAEXH@Z ENDP			; CDSSourceBase::ChangePos
PUBLIC	?GetDuration@CDSSourceBase@@QAEHXZ		; CDSSourceBase::GetDuration
; Function compile flags: /Odtp
;	COMDAT ?GetDuration@CDSSourceBase@@QAEHXZ
_TEXT	SEGMENT
_this$ = -8						; size = 4
_pSeeking$ = -4						; size = 4
?GetDuration@CDSSourceBase@@QAEHXZ PROC			; CDSSourceBase::GetDuration, COMDAT
; _this$ = ecx

; 618  : {

  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

; 619  :     CDShowSeeking *pSeeking=m_pDSGraph->GetSeeking();

  00009	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	8b 48 70	 mov	 ecx, DWORD PTR [eax+112]
  0000f	e8 00 00 00 00	 call	 ?GetSeeking@CDShowGraph@@QAEPAVCDShowSeeking@@XZ ; CDShowGraph::GetSeeking
  00014	89 45 fc	 mov	 DWORD PTR _pSeeking$[ebp], eax

; 620  :     if(pSeeking!=NULL)

  00017	83 7d fc 00	 cmp	 DWORD PTR _pSeeking$[ebp], 0
  0001b	74 25		 je	 SHORT $LN2@GetDuratio@3

; 621  :     {
; 622  :         if(pSeeking->GetCaps()&AM_SEEKING_CanGetDuration)

  0001d	8b 4d fc	 mov	 ecx, DWORD PTR _pSeeking$[ebp]
  00020	e8 00 00 00 00	 call	 ?GetCaps@CDShowSeeking@@QAEKXZ ; CDShowSeeking::GetCaps
  00025	83 e0 20	 and	 eax, 32			; 00000020H
  00028	74 18		 je	 SHORT $LN2@GetDuratio@3

; 623  :         {
; 624  :             return (int)(pSeeking->GetDuration() / 1000000);

  0002a	8b 4d fc	 mov	 ecx, DWORD PTR _pSeeking$[ebp]
  0002d	e8 00 00 00 00	 call	 ?GetDuration@CDShowSeeking@@QAE_JXZ ; CDShowSeeking::GetDuration
  00032	6a 00		 push	 0
  00034	68 40 42 0f 00	 push	 1000000			; 000f4240H
  00039	52		 push	 edx
  0003a	50		 push	 eax
  0003b	e8 00 00 00 00	 call	 __alldiv
  00040	eb 03		 jmp	 SHORT $LN3@GetDuratio@3
$LN2@GetDuratio@3:

; 625  :         }
; 626  :     }
; 627  :     return -1;

  00042	83 c8 ff	 or	 eax, -1
$LN3@GetDuratio@3:

; 628  : }

  00045	8b e5		 mov	 esp, ebp
  00047	5d		 pop	 ebp
  00048	c3		 ret	 0
?GetDuration@CDSSourceBase@@QAEHXZ ENDP			; CDSSourceBase::GetDuration
_TEXT	ENDS
PUBLIC	__$ArrayPad$
PUBLIC	?SetPos@CDSSourceBase@@QAEXH@Z			; CDSSourceBase::SetPos
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?SetPos@CDSSourceBase@@QAEXH@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?SetPos@CDSSourceBase@@QAEXH@Z$0
__ehfuncinfo$?SetPos@CDSSourceBase@@QAEXH@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?SetPos@CDSSourceBase@@QAEXH@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?SetPos@CDSSourceBase@@QAEXH@Z
_TEXT	SEGMENT
_this$ = -128						; size = 4
$T338634 = -124						; size = 28
_pos1$144684 = -96					; size = 4
_RealPos$144682 = -92					; size = 8
_text$144686 = -84					; size = 64
__$ArrayPad$ = -20					; size = 4
_pSeeking$ = -16					; size = 4
__$EHRec$ = -12						; size = 12
_pos$ = 8						; size = 4
?SetPos@CDSSourceBase@@QAEXH@Z PROC			; CDSSourceBase::SetPos, COMDAT
; _this$ = ecx

; 600  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?SetPos@CDSSourceBase@@QAEXH@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 74	 sub	 esp, 116		; 00000074H
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	89 45 ec	 mov	 DWORD PTR __$ArrayPad$[ebp], eax
  0001e	50		 push	 eax
  0001f	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00022	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00028	89 4d 80	 mov	 DWORD PTR _this$[ebp], ecx

; 601  :     CDShowSeeking *pSeeking=m_pDSGraph->GetSeeking();

  0002b	8b 45 80	 mov	 eax, DWORD PTR _this$[ebp]
  0002e	8b 48 70	 mov	 ecx, DWORD PTR [eax+112]
  00031	e8 00 00 00 00	 call	 ?GetSeeking@CDShowGraph@@QAEPAVCDShowSeeking@@XZ ; CDShowGraph::GetSeeking
  00036	89 45 f0	 mov	 DWORD PTR _pSeeking$[ebp], eax

; 602  :     if(pSeeking!=NULL)

  00039	83 7d f0 00	 cmp	 DWORD PTR _pSeeking$[ebp], 0
  0003d	0f 84 b5 00 00
	00		 je	 $LN1@SetPos@2

; 603  :     {
; 604  :         if(pSeeking->GetCaps()&AM_SEEKING_CanSeekAbsolute)

  00043	8b 4d f0	 mov	 ecx, DWORD PTR _pSeeking$[ebp]
  00046	e8 00 00 00 00	 call	 ?GetCaps@CDShowSeeking@@QAEKXZ ; CDShowSeeking::GetCaps
  0004b	83 e0 01	 and	 eax, 1
  0004e	0f 84 a4 00 00
	00		 je	 $LN1@SetPos@2

; 605  :         {
; 606  :             LONGLONG RealPos = (LONGLONG)pos * 1000000;

  00054	8b 45 08	 mov	 eax, DWORD PTR _pos$[ebp]
  00057	99		 cdq
  00058	6a 00		 push	 0
  0005a	68 40 42 0f 00	 push	 1000000			; 000f4240H
  0005f	52		 push	 edx
  00060	50		 push	 eax
  00061	e8 00 00 00 00	 call	 __allmul
  00066	89 45 a4	 mov	 DWORD PTR _RealPos$144682[ebp], eax
  00069	89 55 a8	 mov	 DWORD PTR _RealPos$144682[ebp+4], edx

; 607  :             pSeeking->SeekTo(RealPos);

  0006c	8b 4d a8	 mov	 ecx, DWORD PTR _RealPos$144682[ebp+4]
  0006f	51		 push	 ecx
  00070	8b 55 a4	 mov	 edx, DWORD PTR _RealPos$144682[ebp]
  00073	52		 push	 edx
  00074	8b 4d f0	 mov	 ecx, DWORD PTR _pSeeking$[ebp]
  00077	e8 00 00 00 00	 call	 ?SeekTo@CDShowSeeking@@QAEX_J@Z ; CDShowSeeking::SeekTo

; 608  : 
; 609  :             int pos1 = (int)(RealPos / 10000000);

  0007c	6a 00		 push	 0
  0007e	68 80 96 98 00	 push	 10000000		; 00989680H
  00083	8b 45 a8	 mov	 eax, DWORD PTR _RealPos$144682[ebp+4]
  00086	50		 push	 eax
  00087	8b 4d a4	 mov	 ecx, DWORD PTR _RealPos$144682[ebp]
  0008a	51		 push	 ecx
  0008b	e8 00 00 00 00	 call	 __alldiv
  00090	89 45 a0	 mov	 DWORD PTR _pos1$144684[ebp], eax

; 610  :             TCHAR text[32];
; 611  :             _sntprintf(text, 32, _T("Jump to time %d:%2.2d"), pos1 / 60, pos1 % 60);

  00093	8b 45 a0	 mov	 eax, DWORD PTR _pos1$144684[ebp]
  00096	99		 cdq
  00097	b9 3c 00 00 00	 mov	 ecx, 60			; 0000003cH
  0009c	f7 f9		 idiv	 ecx
  0009e	52		 push	 edx
  0009f	8b 45 a0	 mov	 eax, DWORD PTR _pos1$144684[ebp]
  000a2	99		 cdq
  000a3	b9 3c 00 00 00	 mov	 ecx, 60			; 0000003cH
  000a8	f7 f9		 idiv	 ecx
  000aa	50		 push	 eax
  000ab	68 00 00 00 00	 push	 OFFSET ??_C@_1CM@ONGLGCIF@?$AAJ?$AAu?$AAm?$AAp?$AA?5?$AAt?$AAo?$AA?5?$AAt?$AAi?$AAm?$AAe?$AA?5?$AA?$CF?$AAd?$AA?3?$AA?$CF?$AA2?$AA?4?$AA2?$AAd?$AA?$AA@
  000b0	6a 20		 push	 32			; 00000020H
  000b2	8d 55 ac	 lea	 edx, DWORD PTR _text$144686[ebp]
  000b5	52		 push	 edx
  000b6	e8 00 00 00 00	 call	 __snwprintf
  000bb	83 c4 14	 add	 esp, 20			; 00000014H

; 612  :             OSD_ShowText(text, 0);

  000be	8d 45 ac	 lea	 eax, DWORD PTR _text$144686[ebp]
  000c1	50		 push	 eax
  000c2	8d 4d 84	 lea	 ecx, DWORD PTR $T338634[ebp]
  000c5	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> >
  000ca	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  000d1	6a 00		 push	 0
  000d3	6a 00		 push	 0
  000d5	83 ec 08	 sub	 esp, 8
  000d8	d9 ee		 fldz
  000da	dd 1c 24	 fstp	 QWORD PTR [esp]
  000dd	8d 4d 84	 lea	 ecx, DWORD PTR $T338634[ebp]
  000e0	51		 push	 ecx
  000e1	e8 00 00 00 00	 call	 ?OSD_ShowText@@YAXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@NHH@Z ; OSD_ShowText
  000e6	83 c4 14	 add	 esp, 20			; 00000014H
  000e9	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  000f0	8d 4d 84	 lea	 ecx, DWORD PTR $T338634[ebp]
  000f3	e8 00 00 00 00	 call	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
$LN1@SetPos@2:

; 613  :         }
; 614  :     }
; 615  : }

  000f8	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  000fb	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00102	59		 pop	 ecx
  00103	8b 4d ec	 mov	 ecx, DWORD PTR __$ArrayPad$[ebp]
  00106	33 cd		 xor	 ecx, ebp
  00108	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0010d	8b e5		 mov	 esp, ebp
  0010f	5d		 pop	 ebp
  00110	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?SetPos@CDSSourceBase@@QAEXH@Z$0:
  00000	8d 4d 84	 lea	 ecx, DWORD PTR $T338634[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
__ehhandler$?SetPos@CDSSourceBase@@QAEXH@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 88	 mov	 ecx, DWORD PTR [edx-120]
  00012	33 c8		 xor	 ecx, eax
  00014	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00019	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  0001c	33 c8		 xor	 ecx, eax
  0001e	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00023	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?SetPos@CDSSourceBase@@QAEXH@Z
  00028	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?SetPos@CDSSourceBase@@QAEXH@Z ENDP			; CDSSourceBase::SetPos
PUBLIC	?GetCurrentPos@CDSSourceBase@@QAEHXZ		; CDSSourceBase::GetCurrentPos
; Function compile flags: /Odtp
;	COMDAT ?GetCurrentPos@CDSSourceBase@@QAEHXZ
_TEXT	SEGMENT
_this$ = -8						; size = 4
_pSeeking$ = -4						; size = 4
?GetCurrentPos@CDSSourceBase@@QAEHXZ PROC		; CDSSourceBase::GetCurrentPos, COMDAT
; _this$ = ecx

; 587  : {

  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

; 588  :     CDShowSeeking *pSeeking=m_pDSGraph->GetSeeking();

  00009	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	8b 48 70	 mov	 ecx, DWORD PTR [eax+112]
  0000f	e8 00 00 00 00	 call	 ?GetSeeking@CDShowGraph@@QAEPAVCDShowSeeking@@XZ ; CDShowGraph::GetSeeking
  00014	89 45 fc	 mov	 DWORD PTR _pSeeking$[ebp], eax

; 589  :     if(pSeeking!=NULL)

  00017	83 7d fc 00	 cmp	 DWORD PTR _pSeeking$[ebp], 0
  0001b	74 25		 je	 SHORT $LN2@GetCurrent@7

; 590  :     {
; 591  :         if(pSeeking->GetCaps()&AM_SEEKING_CanGetDuration)

  0001d	8b 4d fc	 mov	 ecx, DWORD PTR _pSeeking$[ebp]
  00020	e8 00 00 00 00	 call	 ?GetCaps@CDShowSeeking@@QAEKXZ ; CDShowSeeking::GetCaps
  00025	83 e0 20	 and	 eax, 32			; 00000020H
  00028	74 18		 je	 SHORT $LN2@GetCurrent@7

; 592  :         {
; 593  :             return (int)(pSeeking->GetCurrentPos() / 1000000);

  0002a	8b 4d fc	 mov	 ecx, DWORD PTR _pSeeking$[ebp]
  0002d	e8 00 00 00 00	 call	 ?GetCurrentPos@CDShowSeeking@@QAE_JXZ ; CDShowSeeking::GetCurrentPos
  00032	6a 00		 push	 0
  00034	68 40 42 0f 00	 push	 1000000			; 000f4240H
  00039	52		 push	 edx
  0003a	50		 push	 eax
  0003b	e8 00 00 00 00	 call	 __alldiv
  00040	eb 03		 jmp	 SHORT $LN3@GetCurrent@7
$LN2@GetCurrent@7:

; 594  :         }
; 595  :     }
; 596  :     return -1;

  00042	83 c8 ff	 or	 eax, -1
$LN3@GetCurrent@7:

; 597  : }

  00045	8b e5		 mov	 esp, ebp
  00047	5d		 pop	 ebp
  00048	c3		 ret	 0
?GetCurrentPos@CDSSourceBase@@QAEHXZ ENDP		; CDSSourceBase::GetCurrentPos
_TEXT	ENDS
PUBLIC	?UpdateDroppedFields@CDSSourceBase@@AAEXXZ	; CDSSourceBase::UpdateDroppedFields
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?UpdateDroppedFields@CDSSourceBase@@AAEXXZ DD 0ffffffffH
	DD	00H
	DD	0ffffffffH
	DD	00H
__catchsym$?UpdateDroppedFields@CDSSourceBase@@AAEXXZ$2 DD 08H
	DD	FLAT:??_R0?AVCDShowException@@@8
	DD	0ffffffe8H
	DD	FLAT:__catch$?UpdateDroppedFields@CDSSourceBase@@AAEXXZ$0
__tryblocktable$?UpdateDroppedFields@CDSSourceBase@@AAEXXZ DD 00H
	DD	00H
	DD	01H
	DD	01H
	DD	FLAT:__catchsym$?UpdateDroppedFields@CDSSourceBase@@AAEXXZ$2
__ehfuncinfo$?UpdateDroppedFields@CDSSourceBase@@AAEXXZ DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$?UpdateDroppedFields@CDSSourceBase@@AAEXXZ
	DD	01H
	DD	FLAT:__tryblocktable$?UpdateDroppedFields@CDSSourceBase@@AAEXXZ
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?UpdateDroppedFields@CDSSourceBase@@AAEXXZ
_TEXT	SEGMENT
_this$ = -28						; size = 4
_e$144532 = -24						; size = 4
_dropped$ = -20						; size = 4
__$EHRec$ = -16						; size = 16
?UpdateDroppedFields@CDSSourceBase@@AAEXXZ PROC		; CDSSourceBase::UpdateDroppedFields, COMDAT
; _this$ = ecx

; 264  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?UpdateDroppedFields@CDSSourceBase@@AAEXXZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	51		 push	 ecx
  00012	83 ec 0c	 sub	 esp, 12			; 0000000cH
  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 e4	 mov	 DWORD PTR _this$[ebp], ecx

; 265  :     if(m_pDSGraph==NULL)

  0002f	8b 45 e4	 mov	 eax, DWORD PTR _this$[ebp]
  00032	83 78 70 00	 cmp	 DWORD PTR [eax+112], 0
  00036	75 05		 jne	 SHORT $LN4@UpdateDrop

; 266  :         return;

  00038	e9 91 00 00 00	 jmp	 $LN5@UpdateDrop
$LN4@UpdateDrop:

; 267  : 
; 268  :     int dropped;
; 269  :     try
; 270  :     {

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

; 271  :         dropped=m_pDSGraph->getDroppedFrames();

  00044	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00047	8b 49 70	 mov	 ecx, DWORD PTR [ecx+112]
  0004a	e8 00 00 00 00	 call	 ?getDroppedFrames@CDShowGraph@@QAEJXZ ; CDShowGraph::getDroppedFrames
  0004f	89 45 ec	 mov	 DWORD PTR _dropped$[ebp], eax

; 272  :     }

  00052	eb 30		 jmp	 SHORT $LN7@UpdateDrop
__catch$?UpdateDroppedFields@CDSSourceBase@@AAEXXZ$0:

; 273  :     catch(CDShowException& e)
; 274  :     {
; 275  :         LOG(1, "DShow Exception - %s", e.what());

  00054	8b 55 e8	 mov	 edx, DWORD PTR _e$144532[ebp]
  00057	8b 02		 mov	 eax, DWORD PTR [edx]
  00059	8b 4d e8	 mov	 ecx, DWORD PTR _e$144532[ebp]
  0005c	8b 50 04	 mov	 edx, DWORD PTR [eax+4]
  0005f	ff d2		 call	 edx
  00061	50		 push	 eax
  00062	68 00 00 00 00	 push	 OFFSET ??_C@_0BF@KGCPPIMM@DShow?5Exception?5?9?5?$CFs?$AA@
  00067	6a 01		 push	 1
  00069	e8 00 00 00 00	 call	 ?LOG@@YAXHPBDZZ		; LOG
  0006e	83 c4 0c	 add	 esp, 12			; 0000000cH

; 276  :         return;

  00071	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
  00078	b8 00 00 00 00	 mov	 eax, $LN10@UpdateDrop
  0007d	c3		 ret	 0

; 277  :     }

  0007e	b8 00 00 00 00	 mov	 eax, $LN7@UpdateDrop
  00083	c3		 ret	 0
$LN7@UpdateDrop:
  00084	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
  0008b	eb 02		 jmp	 SHORT $LN9@UpdateDrop
$LN10@UpdateDrop:

; 276  :         return;

  0008d	eb 3f		 jmp	 SHORT $LN5@UpdateDrop
$LN9@UpdateDrop:

; 278  : 
; 279  :     //is the m_lastNumDroppedFrames count valid?
; 280  :     if(m_LastNumDroppedFrames!=-1)

  0008f	8b 45 e4	 mov	 eax, DWORD PTR _this$[ebp]
  00092	83 b8 f4 00 00
	00 ff		 cmp	 DWORD PTR [eax+244], -1
  00099	74 27		 je	 SHORT $LN2@UpdateDrop

; 281  :     {
; 282  :         if(dropped-m_LastNumDroppedFrames >0)

  0009b	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  0009e	8b 55 ec	 mov	 edx, DWORD PTR _dropped$[ebp]
  000a1	2b 91 f4 00 00
	00		 sub	 edx, DWORD PTR [ecx+244]
  000a7	85 d2		 test	 edx, edx
  000a9	7e 17		 jle	 SHORT $LN2@UpdateDrop

; 283  :         {
; 284  :             Timing_AddDroppedFields((dropped-m_LastNumDroppedFrames)*2);

  000ab	8b 45 e4	 mov	 eax, DWORD PTR _this$[ebp]
  000ae	8b 4d ec	 mov	 ecx, DWORD PTR _dropped$[ebp]
  000b1	2b 88 f4 00 00
	00		 sub	 ecx, DWORD PTR [eax+244]
  000b7	d1 e1		 shl	 ecx, 1
  000b9	51		 push	 ecx
  000ba	e8 00 00 00 00	 call	 ?Timing_AddDroppedFields@@YAXH@Z ; Timing_AddDroppedFields
  000bf	83 c4 04	 add	 esp, 4
$LN2@UpdateDrop:

; 285  :         }
; 286  :     }
; 287  :     m_LastNumDroppedFrames=dropped;

  000c2	8b 55 e4	 mov	 edx, DWORD PTR _this$[ebp]
  000c5	8b 45 ec	 mov	 eax, DWORD PTR _dropped$[ebp]
  000c8	89 82 f4 00 00
	00		 mov	 DWORD PTR [edx+244], eax
$LN5@UpdateDrop:

; 288  : }

  000ce	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp+4]
  000d1	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000d8	59		 pop	 ecx
  000d9	5f		 pop	 edi
  000da	5e		 pop	 esi
  000db	5b		 pop	 ebx
  000dc	8b e5		 mov	 esp, ebp
  000de	5d		 pop	 ebp
  000df	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__ehhandler$?UpdateDroppedFields@CDSSourceBase@@AAEXXZ:
  00000	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00004	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00007	8b 4a e0	 mov	 ecx, DWORD PTR [edx-32]
  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$?UpdateDroppedFields@CDSSourceBase@@AAEXXZ
  00016	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?UpdateDroppedFields@CDSSourceBase@@AAEXXZ ENDP		; CDSSourceBase::UpdateDroppedFields
PUBLIC	?CreateSettings@CDSSourceBase@@QAEXPB_W@Z	; CDSSourceBase::CreateSettings
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$2
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$1
	DD	03H
	DD	FLAT:__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$2
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$3
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$4
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$5
	DD	07H
	DD	FLAT:__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$6
	DD	08H
	DD	FLAT:__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$7
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$6
	DD	0aH
	DD	FLAT:__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$7
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$8
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$9
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$10
	DD	0eH
	DD	FLAT:__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$11
	DD	0fH
	DD	FLAT:__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$12
	DD	010H
	DD	FLAT:__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$13
	DD	011H
	DD	FLAT:__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$14
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$11
	DD	013H
	DD	FLAT:__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$12
	DD	014H
	DD	FLAT:__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$13
	DD	015H
	DD	FLAT:__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$14
__ehfuncinfo$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z DD 019930522H
	DD	017H
	DD	FLAT:__unwindtable$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?CreateSettings@CDSSourceBase@@QAEXPB_W@Z
_TEXT	SEGMENT
tv229 = -336						; size = 4
tv264 = -332						; size = 4
tv262 = -328						; size = 4
tv261 = -324						; size = 4
tv293 = -320						; size = 4
tv172 = -316						; size = 4
tv246 = -312						; size = 4
tv244 = -308						; size = 4
tv243 = -304						; size = 4
tv291 = -300						; size = 4
tv89 = -296						; size = 4
_this$ = -292						; size = 4
$T341737 = -288						; size = 4
$T341733 = -284						; size = 28
$T341732 = -256						; size = 28
$T341731 = -228						; size = 28
$T341730 = -200						; size = 28
$T341729 = -172						; size = 4
$T341728 = -168						; size = 4
$T341727 = -164						; size = 8
$T341726 = -156						; size = 4
$T341723 = -152						; size = 28
$T341722 = -124						; size = 28
$T341721 = -96						; size = 4
$T341720 = -92						; size = 4
$T341719 = -88						; size = 8
$T341718 = -80						; size = 4
$T341715 = -76						; size = 28
$T341714 = -48						; size = 28
$T341713 = -20						; size = 4
$T341712 = -16						; size = 4
__$EHRec$ = -12						; size = 12
_IniSection$ = 8					; size = 4
?CreateSettings@CDSSourceBase@@QAEXPB_W@Z PROC		; CDSSourceBase::CreateSettings, COMDAT
; _this$ = ecx

; 66   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	81 ec 44 01 00
	00		 sub	 esp, 324		; 00000144H
  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 dc fe ff
	ff		 mov	 DWORD PTR _this$[ebp], ecx
  0002e	c7 85 e0 fe ff
	ff 00 00 00 00	 mov	 DWORD PTR $T341737[ebp], 0

; 67   :     m_Volume = new CVolumeSetting(this, _T("Volume"), 0, LONG_MIN, LONG_MAX, IniSection);

  00038	68 b4 00 00 00	 push	 180			; 000000b4H
  0003d	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  00042	83 c4 04	 add	 esp, 4
  00045	89 45 ec	 mov	 DWORD PTR $T341713[ebp], eax
  00048	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  0004f	83 7d ec 00	 cmp	 DWORD PTR $T341713[ebp], 0
  00053	74 6f		 je	 SHORT $LN3@CreateSett
  00055	8b 45 08	 mov	 eax, DWORD PTR _IniSection$[ebp]
  00058	50		 push	 eax
  00059	8d 4d d0	 lea	 ecx, DWORD PTR $T341714[ebp]
  0005c	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> >
  00061	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  00065	8b 8d e0 fe ff
	ff		 mov	 ecx, DWORD PTR $T341737[ebp]
  0006b	83 c9 01	 or	 ecx, 1
  0006e	89 8d e0 fe ff
	ff		 mov	 DWORD PTR $T341737[ebp], ecx
  00074	68 00 00 00 00	 push	 OFFSET ??_C@_1O@DMLCJFNF@?$AAV?$AAo?$AAl?$AAu?$AAm?$AAe?$AA?$AA@
  00079	8d 4d b4	 lea	 ecx, DWORD PTR $T341715[ebp]
  0007c	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> >
  00081	c7 45 fc 02 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 2
  00088	8b 95 e0 fe ff
	ff		 mov	 edx, DWORD PTR $T341737[ebp]
  0008e	83 ca 02	 or	 edx, 2
  00091	89 95 e0 fe ff
	ff		 mov	 DWORD PTR $T341737[ebp], edx
  00097	6a 00		 push	 0
  00099	8d 45 d0	 lea	 eax, DWORD PTR $T341714[ebp]
  0009c	50		 push	 eax
  0009d	68 ff ff ff 7f	 push	 2147483647		; 7fffffffH
  000a2	68 00 00 00 80	 push	 -2147483648		; 80000000H
  000a7	6a 00		 push	 0
  000a9	8d 4d b4	 lea	 ecx, DWORD PTR $T341715[ebp]
  000ac	51		 push	 ecx
  000ad	8b 95 dc fe ff
	ff		 mov	 edx, DWORD PTR _this$[ebp]
  000b3	52		 push	 edx
  000b4	8b 4d ec	 mov	 ecx, DWORD PTR $T341713[ebp]
  000b7	e8 00 00 00 00	 call	 ??0CVolumeSetting@CDSSourceBase@@QAE@PBV1@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@JJJ1PAVCSettingGroup@@@Z ; CDSSourceBase::CVolumeSetting::CVolumeSetting
  000bc	89 85 d8 fe ff
	ff		 mov	 DWORD PTR tv89[ebp], eax
  000c2	eb 0a		 jmp	 SHORT $LN4@CreateSett
$LN3@CreateSett:
  000c4	c7 85 d8 fe ff
	ff 00 00 00 00	 mov	 DWORD PTR tv89[ebp], 0
$LN4@CreateSett:
  000ce	8b 85 d8 fe ff
	ff		 mov	 eax, DWORD PTR tv89[ebp]
  000d4	89 45 f0	 mov	 DWORD PTR $T341712[ebp], eax
  000d7	c7 45 fc 04 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 4
  000de	8b 4d f0	 mov	 ecx, DWORD PTR $T341712[ebp]
  000e1	51		 push	 ecx
  000e2	8b 8d dc fe ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  000e8	81 c1 3c 01 00
	00		 add	 ecx, 316		; 0000013cH
  000ee	e8 00 00 00 00	 call	 ??4?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QAEAAV0@PAVCVolumeSetting@CDSSourceBase@@@Z ; SmartPtr<CDSSourceBase::CVolumeSetting>::operator=
  000f3	c7 45 fc 03 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 3
  000fa	8b 95 e0 fe ff
	ff		 mov	 edx, DWORD PTR $T341737[ebp]
  00100	83 e2 02	 and	 edx, 2
  00103	74 0f		 je	 SHORT $LN14@CreateSett
  00105	83 a5 e0 fe ff
	ff fd		 and	 DWORD PTR $T341737[ebp], -3 ; fffffffdH
  0010c	8d 4d b4	 lea	 ecx, DWORD PTR $T341715[ebp]
  0010f	e8 00 00 00 00	 call	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
$LN14@CreateSett:
  00114	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0011b	8b 85 e0 fe ff
	ff		 mov	 eax, DWORD PTR $T341737[ebp]
  00121	83 e0 01	 and	 eax, 1
  00124	74 0f		 je	 SHORT $LN15@CreateSett
  00126	83 a5 e0 fe ff
	ff fe		 and	 DWORD PTR $T341737[ebp], -2 ; fffffffeH
  0012d	8d 4d d0	 lea	 ecx, DWORD PTR $T341714[ebp]
  00130	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> >
$LN15@CreateSett:

; 68   :     m_Settings.push_back(DynamicPtrCast<CSimpleSetting>(m_Volume));

  00135	8b 8d dc fe ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  0013b	81 c1 3c 01 00
	00		 add	 ecx, 316		; 0000013cH
  00141	83 ec 08	 sub	 esp, 8
  00144	8b d4		 mov	 edx, esp
  00146	89 65 b0	 mov	 DWORD PTR $T341718[ebp], esp
  00149	51		 push	 ecx
  0014a	8b ca		 mov	 ecx, edx
  0014c	e8 00 00 00 00	 call	 ??0?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QAE@ABV0@@Z ; SmartPtr<CDSSourceBase::CVolumeSetting>::SmartPtr<CDSSourceBase::CVolumeSetting>
  00151	89 85 d4 fe ff
	ff		 mov	 DWORD PTR tv291[ebp], eax
  00157	8b 85 d4 fe ff
	ff		 mov	 eax, DWORD PTR tv291[ebp]
  0015d	89 85 d0 fe ff
	ff		 mov	 DWORD PTR tv243[ebp], eax
  00163	c7 45 fc 05 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 5
  0016a	8d 4d a8	 lea	 ecx, DWORD PTR $T341719[ebp]
  0016d	51		 push	 ecx
  0016e	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00175	e8 00 00 00 00	 call	 ??$DynamicPtrCast@VCSimpleSetting@@VCVolumeSetting@CDSSourceBase@@@@YA?AV?$SmartPtr@VCSimpleSetting@@@@V?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@@Z ; DynamicPtrCast<CSimpleSetting,CDSSourceBase::CVolumeSetting>
  0017a	83 c4 0c	 add	 esp, 12			; 0000000cH
  0017d	89 85 cc fe ff
	ff		 mov	 DWORD PTR tv244[ebp], eax
  00183	8b 95 cc fe ff
	ff		 mov	 edx, DWORD PTR tv244[ebp]
  00189	89 95 c8 fe ff
	ff		 mov	 DWORD PTR tv246[ebp], edx
  0018f	c7 45 fc 06 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 6
  00196	8b 85 c8 fe ff
	ff		 mov	 eax, DWORD PTR tv246[ebp]
  0019c	50		 push	 eax
  0019d	8b 8d dc fe ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  001a3	83 c1 04	 add	 ecx, 4
  001a6	e8 00 00 00 00	 call	 ?push_back@?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAEXABV?$SmartPtr@VCSimpleSetting@@@@@Z ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::push_back
  001ab	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  001b2	8d 4d a8	 lea	 ecx, DWORD PTR $T341719[ebp]
  001b5	e8 00 00 00 00	 call	 ??1?$SmartPtr@VCSimpleSetting@@@@QAE@XZ ; SmartPtr<CSimpleSetting>::~SmartPtr<CSimpleSetting>

; 69   : 
; 70   :     m_Balance = new CBalanceSetting(this, _T("Balance"), 0, LONG_MIN, LONG_MAX, IniSection);

  001ba	68 b4 00 00 00	 push	 180			; 000000b4H
  001bf	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  001c4	83 c4 04	 add	 esp, 4
  001c7	89 45 a0	 mov	 DWORD PTR $T341721[ebp], eax
  001ca	c7 45 fc 07 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 7
  001d1	83 7d a0 00	 cmp	 DWORD PTR $T341721[ebp], 0
  001d5	74 75		 je	 SHORT $LN5@CreateSett
  001d7	8b 4d 08	 mov	 ecx, DWORD PTR _IniSection$[ebp]
  001da	51		 push	 ecx
  001db	8d 4d 84	 lea	 ecx, DWORD PTR $T341722[ebp]
  001de	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> >
  001e3	c6 45 fc 08	 mov	 BYTE PTR __$EHRec$[ebp+8], 8
  001e7	8b 95 e0 fe ff
	ff		 mov	 edx, DWORD PTR $T341737[ebp]
  001ed	83 ca 04	 or	 edx, 4
  001f0	89 95 e0 fe ff
	ff		 mov	 DWORD PTR $T341737[ebp], edx
  001f6	68 00 00 00 00	 push	 OFFSET ??_C@_1BA@PPMMIPOH@?$AAB?$AAa?$AAl?$AAa?$AAn?$AAc?$AAe?$AA?$AA@
  001fb	8d 8d 68 ff ff
	ff		 lea	 ecx, DWORD PTR $T341723[ebp]
  00201	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> >
  00206	c7 45 fc 09 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 9
  0020d	8b 85 e0 fe ff
	ff		 mov	 eax, DWORD PTR $T341737[ebp]
  00213	83 c8 08	 or	 eax, 8
  00216	89 85 e0 fe ff
	ff		 mov	 DWORD PTR $T341737[ebp], eax
  0021c	6a 00		 push	 0
  0021e	8d 4d 84	 lea	 ecx, DWORD PTR $T341722[ebp]
  00221	51		 push	 ecx
  00222	68 ff ff ff 7f	 push	 2147483647		; 7fffffffH
  00227	68 00 00 00 80	 push	 -2147483648		; 80000000H
  0022c	6a 00		 push	 0
  0022e	8d 95 68 ff ff
	ff		 lea	 edx, DWORD PTR $T341723[ebp]
  00234	52		 push	 edx
  00235	8b 85 dc fe ff
	ff		 mov	 eax, DWORD PTR _this$[ebp]
  0023b	50		 push	 eax
  0023c	8b 4d a0	 mov	 ecx, DWORD PTR $T341721[ebp]
  0023f	e8 00 00 00 00	 call	 ??0CBalanceSetting@CDSSourceBase@@QAE@PBV1@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@JJJ1PAVCSettingGroup@@@Z ; CDSSourceBase::CBalanceSetting::CBalanceSetting
  00244	89 85 c4 fe ff
	ff		 mov	 DWORD PTR tv172[ebp], eax
  0024a	eb 0a		 jmp	 SHORT $LN6@CreateSett
$LN5@CreateSett:
  0024c	c7 85 c4 fe ff
	ff 00 00 00 00	 mov	 DWORD PTR tv172[ebp], 0
$LN6@CreateSett:
  00256	8b 8d c4 fe ff
	ff		 mov	 ecx, DWORD PTR tv172[ebp]
  0025c	89 4d a4	 mov	 DWORD PTR $T341720[ebp], ecx
  0025f	c7 45 fc 0b 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 11 ; 0000000bH
  00266	8b 55 a4	 mov	 edx, DWORD PTR $T341720[ebp]
  00269	52		 push	 edx
  0026a	8b 8d dc fe ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00270	81 c1 44 01 00
	00		 add	 ecx, 324		; 00000144H
  00276	e8 00 00 00 00	 call	 ??4?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QAEAAV0@PAVCBalanceSetting@CDSSourceBase@@@Z ; SmartPtr<CDSSourceBase::CBalanceSetting>::operator=
  0027b	c7 45 fc 0a 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 10 ; 0000000aH
  00282	8b 85 e0 fe ff
	ff		 mov	 eax, DWORD PTR $T341737[ebp]
  00288	83 e0 08	 and	 eax, 8
  0028b	74 12		 je	 SHORT $LN23@CreateSett
  0028d	83 a5 e0 fe ff
	ff f7		 and	 DWORD PTR $T341737[ebp], -9 ; fffffff7H
  00294	8d 8d 68 ff ff
	ff		 lea	 ecx, DWORD PTR $T341723[ebp]
  0029a	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> >
$LN23@CreateSett:
  0029f	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  002a6	8b 8d e0 fe ff
	ff		 mov	 ecx, DWORD PTR $T341737[ebp]
  002ac	83 e1 04	 and	 ecx, 4
  002af	74 0f		 je	 SHORT $LN24@CreateSett
  002b1	83 a5 e0 fe ff
	ff fb		 and	 DWORD PTR $T341737[ebp], -5 ; fffffffbH
  002b8	8d 4d 84	 lea	 ecx, DWORD PTR $T341722[ebp]
  002bb	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> >
$LN24@CreateSett:

; 71   :     m_Settings.push_back(DynamicPtrCast<CSimpleSetting>(m_Balance));

  002c0	8b 95 dc fe ff
	ff		 mov	 edx, DWORD PTR _this$[ebp]
  002c6	81 c2 44 01 00
	00		 add	 edx, 324		; 00000144H
  002cc	83 ec 08	 sub	 esp, 8
  002cf	8b cc		 mov	 ecx, esp
  002d1	89 a5 64 ff ff
	ff		 mov	 DWORD PTR $T341726[ebp], esp
  002d7	52		 push	 edx
  002d8	e8 00 00 00 00	 call	 ??0?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QAE@ABV0@@Z ; SmartPtr<CDSSourceBase::CBalanceSetting>::SmartPtr<CDSSourceBase::CBalanceSetting>
  002dd	89 85 c0 fe ff
	ff		 mov	 DWORD PTR tv293[ebp], eax
  002e3	8b 85 c0 fe ff
	ff		 mov	 eax, DWORD PTR tv293[ebp]
  002e9	89 85 bc fe ff
	ff		 mov	 DWORD PTR tv261[ebp], eax
  002ef	c7 45 fc 0c 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 12 ; 0000000cH
  002f6	8d 8d 5c ff ff
	ff		 lea	 ecx, DWORD PTR $T341727[ebp]
  002fc	51		 push	 ecx
  002fd	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00304	e8 00 00 00 00	 call	 ??$DynamicPtrCast@VCSimpleSetting@@VCBalanceSetting@CDSSourceBase@@@@YA?AV?$SmartPtr@VCSimpleSetting@@@@V?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@@Z ; DynamicPtrCast<CSimpleSetting,CDSSourceBase::CBalanceSetting>
  00309	83 c4 0c	 add	 esp, 12			; 0000000cH
  0030c	89 85 b8 fe ff
	ff		 mov	 DWORD PTR tv262[ebp], eax
  00312	8b 95 b8 fe ff
	ff		 mov	 edx, DWORD PTR tv262[ebp]
  00318	89 95 b4 fe ff
	ff		 mov	 DWORD PTR tv264[ebp], edx
  0031e	c7 45 fc 0d 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 13 ; 0000000dH
  00325	8b 85 b4 fe ff
	ff		 mov	 eax, DWORD PTR tv264[ebp]
  0032b	50		 push	 eax
  0032c	8b 8d dc fe ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00332	83 c1 04	 add	 ecx, 4
  00335	e8 00 00 00 00	 call	 ?push_back@?$vector@V?$SmartPtr@VCSimpleSetting@@@@V?$allocator@V?$SmartPtr@VCSimpleSetting@@@@@std@@@std@@QAEXABV?$SmartPtr@VCSimpleSetting@@@@@Z ; std::vector<SmartPtr<CSimpleSetting>,std::allocator<SmartPtr<CSimpleSetting> > >::push_back
  0033a	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00341	8d 8d 5c ff ff
	ff		 lea	 ecx, DWORD PTR $T341727[ebp]
  00347	e8 00 00 00 00	 call	 ??1?$SmartPtr@VCSimpleSetting@@@@QAE@XZ ; SmartPtr<CSimpleSetting>::~SmartPtr<CSimpleSetting>

; 72   : 
; 73   :     m_AudioDevice = new CStringSetting(_T("Audio Device"), _T(""), IniSection, _T("AudioDevice"));

  0034c	68 d4 00 00 00	 push	 212			; 000000d4H
  00351	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  00356	83 c4 04	 add	 esp, 4
  00359	89 85 54 ff ff
	ff		 mov	 DWORD PTR $T341729[ebp], eax
  0035f	c7 45 fc 0e 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 14 ; 0000000eH
  00366	83 bd 54 ff ff
	ff 00		 cmp	 DWORD PTR $T341729[ebp], 0
  0036d	0f 84 c8 00 00
	00		 je	 $LN7@CreateSett
  00373	68 00 00 00 00	 push	 OFFSET ??_C@_1BI@MMGNNAPE@?$AAA?$AAu?$AAd?$AAi?$AAo?$AAD?$AAe?$AAv?$AAi?$AAc?$AAe?$AA?$AA@
  00378	8d 8d 38 ff ff
	ff		 lea	 ecx, DWORD PTR $T341730[ebp]
  0037e	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> >
  00383	c6 45 fc 0f	 mov	 BYTE PTR __$EHRec$[ebp+8], 15 ; 0000000fH
  00387	8b 8d e0 fe ff
	ff		 mov	 ecx, DWORD PTR $T341737[ebp]
  0038d	83 c9 10	 or	 ecx, 16			; 00000010H
  00390	89 8d e0 fe ff
	ff		 mov	 DWORD PTR $T341737[ebp], ecx
  00396	8b 55 08	 mov	 edx, DWORD PTR _IniSection$[ebp]
  00399	52		 push	 edx
  0039a	8d 8d 1c ff ff
	ff		 lea	 ecx, DWORD PTR $T341731[ebp]
  003a0	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> >
  003a5	c7 45 fc 10 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 16 ; 00000010H
  003ac	8b 85 e0 fe ff
	ff		 mov	 eax, DWORD PTR $T341737[ebp]
  003b2	83 c8 20	 or	 eax, 32			; 00000020H
  003b5	89 85 e0 fe ff
	ff		 mov	 DWORD PTR $T341737[ebp], eax
  003bb	68 00 00 00 00	 push	 OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
  003c0	8d 8d 00 ff ff
	ff		 lea	 ecx, DWORD PTR $T341732[ebp]
  003c6	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> >
  003cb	c7 45 fc 11 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 17 ; 00000011H
  003d2	8b 8d e0 fe ff
	ff		 mov	 ecx, DWORD PTR $T341737[ebp]
  003d8	83 c9 40	 or	 ecx, 64			; 00000040H
  003db	89 8d e0 fe ff
	ff		 mov	 DWORD PTR $T341737[ebp], ecx
  003e1	68 00 00 00 00	 push	 OFFSET ??_C@_1BK@KNFKHPCD@?$AAA?$AAu?$AAd?$AAi?$AAo?$AA?5?$AAD?$AAe?$AAv?$AAi?$AAc?$AAe?$AA?$AA@
  003e6	8d 8d e4 fe ff
	ff		 lea	 ecx, DWORD PTR $T341733[ebp]
  003ec	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> >
  003f1	c7 45 fc 12 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 18 ; 00000012H
  003f8	8b 95 e0 fe ff
	ff		 mov	 edx, DWORD PTR $T341737[ebp]
  003fe	81 ca 80 00 00
	00		 or	 edx, 128		; 00000080H
  00404	89 95 e0 fe ff
	ff		 mov	 DWORD PTR $T341737[ebp], edx
  0040a	6a 00		 push	 0
  0040c	8d 85 38 ff ff
	ff		 lea	 eax, DWORD PTR $T341730[ebp]
  00412	50		 push	 eax
  00413	8d 8d 1c ff ff
	ff		 lea	 ecx, DWORD PTR $T341731[ebp]
  00419	51		 push	 ecx
  0041a	8d 95 00 ff ff
	ff		 lea	 edx, DWORD PTR $T341732[ebp]
  00420	52		 push	 edx
  00421	8d 85 e4 fe ff
	ff		 lea	 eax, DWORD PTR $T341733[ebp]
  00427	50		 push	 eax
  00428	8b 8d 54 ff ff
	ff		 mov	 ecx, DWORD PTR $T341729[ebp]
  0042e	e8 00 00 00 00	 call	 ??0CStringSetting@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@000PAVCSettingGroup@@@Z ; CStringSetting::CStringSetting
  00433	89 85 b0 fe ff
	ff		 mov	 DWORD PTR tv229[ebp], eax
  00439	eb 0a		 jmp	 SHORT $LN8@CreateSett
$LN7@CreateSett:
  0043b	c7 85 b0 fe ff
	ff 00 00 00 00	 mov	 DWORD PTR tv229[ebp], 0
$LN8@CreateSett:
  00445	8b 8d b0 fe ff
	ff		 mov	 ecx, DWORD PTR tv229[ebp]
  0044b	89 8d 58 ff ff
	ff		 mov	 DWORD PTR $T341728[ebp], ecx
  00451	c7 45 fc 16 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 22 ; 00000016H
  00458	8b 95 58 ff ff
	ff		 mov	 edx, DWORD PTR $T341728[ebp]
  0045e	52		 push	 edx
  0045f	8b 8d dc fe ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00465	81 c1 30 01 00
	00		 add	 ecx, 304		; 00000130H
  0046b	e8 00 00 00 00	 call	 ??4?$SmartPtr@VCStringSetting@@@@QAEAAV0@PAVCStringSetting@@@Z ; SmartPtr<CStringSetting>::operator=
  00470	c7 45 fc 15 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 21 ; 00000015H
  00477	8b 85 e0 fe ff
	ff		 mov	 eax, DWORD PTR $T341737[ebp]
  0047d	25 80 00 00 00	 and	 eax, 128		; 00000080H
  00482	74 15		 je	 SHORT $LN36@CreateSett
  00484	81 a5 e0 fe ff
	ff 7f ff ff ff	 and	 DWORD PTR $T341737[ebp], -129 ; ffffff7fH
  0048e	8d 8d e4 fe ff
	ff		 lea	 ecx, DWORD PTR $T341733[ebp]
  00494	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> >
$LN36@CreateSett:
  00499	c7 45 fc 14 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 20 ; 00000014H
  004a0	8b 8d e0 fe ff
	ff		 mov	 ecx, DWORD PTR $T341737[ebp]
  004a6	83 e1 40	 and	 ecx, 64			; 00000040H
  004a9	74 12		 je	 SHORT $LN37@CreateSett
  004ab	83 a5 e0 fe ff
	ff bf		 and	 DWORD PTR $T341737[ebp], -65 ; ffffffbfH
  004b2	8d 8d 00 ff ff
	ff		 lea	 ecx, DWORD PTR $T341732[ebp]
  004b8	e8 00 00 00 00	 call	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
$LN37@CreateSett:
  004bd	c7 45 fc 13 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 19 ; 00000013H
  004c4	8b 95 e0 fe ff
	ff		 mov	 edx, DWORD PTR $T341737[ebp]
  004ca	83 e2 20	 and	 edx, 32			; 00000020H
  004cd	74 12		 je	 SHORT $LN38@CreateSett
  004cf	83 a5 e0 fe ff
	ff df		 and	 DWORD PTR $T341737[ebp], -33 ; ffffffdfH
  004d6	8d 8d 1c ff ff
	ff		 lea	 ecx, DWORD PTR $T341731[ebp]
  004dc	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> >
$LN38@CreateSett:
  004e1	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  004e8	8b 85 e0 fe ff
	ff		 mov	 eax, DWORD PTR $T341737[ebp]
  004ee	83 e0 10	 and	 eax, 16			; 00000010H
  004f1	74 12		 je	 SHORT $LN1@CreateSett
  004f3	83 a5 e0 fe ff
	ff ef		 and	 DWORD PTR $T341737[ebp], -17 ; ffffffefH
  004fa	8d 8d 38 ff ff
	ff		 lea	 ecx, DWORD PTR $T341730[ebp]
  00500	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> >
$LN1@CreateSett:

; 74   : }

  00505	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00508	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0050f	59		 pop	 ecx
  00510	8b e5		 mov	 esp, ebp
  00512	5d		 pop	 ebp
  00513	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$0:
  00000	8b 45 ec	 mov	 eax, DWORD PTR $T341713[ebp]
  00003	50		 push	 eax
  00004	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00009	59		 pop	 ecx
  0000a	c3		 ret	 0
__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$1:
  0000b	8b 85 e0 fe ff
	ff		 mov	 eax, DWORD PTR $T341737[ebp]
  00011	83 e0 01	 and	 eax, 1
  00014	0f 84 0f 00 00
	00		 je	 $LN11@CreateSett
  0001a	83 a5 e0 fe ff
	ff fe		 and	 DWORD PTR $T341737[ebp], -2 ; fffffffeH
  00021	8d 4d d0	 lea	 ecx, DWORD PTR $T341714[ebp]
  00024	e9 00 00 00 00	 jmp	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
$LN11@CreateSett:
  00029	c3		 ret	 0
__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$2:
  0002a	8b 85 e0 fe ff
	ff		 mov	 eax, DWORD PTR $T341737[ebp]
  00030	83 e0 02	 and	 eax, 2
  00033	0f 84 0f 00 00
	00		 je	 $LN13@CreateSett
  00039	83 a5 e0 fe ff
	ff fd		 and	 DWORD PTR $T341737[ebp], -3 ; fffffffdH
  00040	8d 4d b4	 lea	 ecx, DWORD PTR $T341715[ebp]
  00043	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> >
$LN13@CreateSett:
  00048	c3		 ret	 0
__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$3:
  00049	8b 4d b0	 mov	 ecx, DWORD PTR $T341718[ebp]
  0004c	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QAE@XZ ; SmartPtr<CDSSourceBase::CVolumeSetting>::~SmartPtr<CDSSourceBase::CVolumeSetting>
__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$4:
  00051	8d 4d a8	 lea	 ecx, DWORD PTR $T341719[ebp]
  00054	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VCSimpleSetting@@@@QAE@XZ ; SmartPtr<CSimpleSetting>::~SmartPtr<CSimpleSetting>
__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$5:
  00059	8b 45 a0	 mov	 eax, DWORD PTR $T341721[ebp]
  0005c	50		 push	 eax
  0005d	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00062	59		 pop	 ecx
  00063	c3		 ret	 0
__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$6:
  00064	8b 85 e0 fe ff
	ff		 mov	 eax, DWORD PTR $T341737[ebp]
  0006a	83 e0 04	 and	 eax, 4
  0006d	0f 84 0f 00 00
	00		 je	 $LN20@CreateSett
  00073	83 a5 e0 fe ff
	ff fb		 and	 DWORD PTR $T341737[ebp], -5 ; fffffffbH
  0007a	8d 4d 84	 lea	 ecx, DWORD PTR $T341722[ebp]
  0007d	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> >
$LN20@CreateSett:
  00082	c3		 ret	 0
__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$7:
  00083	8b 85 e0 fe ff
	ff		 mov	 eax, DWORD PTR $T341737[ebp]
  00089	83 e0 08	 and	 eax, 8
  0008c	0f 84 12 00 00
	00		 je	 $LN22@CreateSett
  00092	83 a5 e0 fe ff
	ff f7		 and	 DWORD PTR $T341737[ebp], -9 ; fffffff7H
  00099	8d 8d 68 ff ff
	ff		 lea	 ecx, DWORD PTR $T341723[ebp]
  0009f	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> >
$LN22@CreateSett:
  000a4	c3		 ret	 0
__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$8:
  000a5	8b 8d 64 ff ff
	ff		 mov	 ecx, DWORD PTR $T341726[ebp]
  000ab	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QAE@XZ ; SmartPtr<CDSSourceBase::CBalanceSetting>::~SmartPtr<CDSSourceBase::CBalanceSetting>
__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$9:
  000b0	8d 8d 5c ff ff
	ff		 lea	 ecx, DWORD PTR $T341727[ebp]
  000b6	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VCSimpleSetting@@@@QAE@XZ ; SmartPtr<CSimpleSetting>::~SmartPtr<CSimpleSetting>
__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$10:
  000bb	8b 85 54 ff ff
	ff		 mov	 eax, DWORD PTR $T341729[ebp]
  000c1	50		 push	 eax
  000c2	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  000c7	59		 pop	 ecx
  000c8	c3		 ret	 0
__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$11:
  000c9	8b 85 e0 fe ff
	ff		 mov	 eax, DWORD PTR $T341737[ebp]
  000cf	83 e0 10	 and	 eax, 16			; 00000010H
  000d2	0f 84 12 00 00
	00		 je	 $LN29@CreateSett
  000d8	83 a5 e0 fe ff
	ff ef		 and	 DWORD PTR $T341737[ebp], -17 ; ffffffefH
  000df	8d 8d 38 ff ff
	ff		 lea	 ecx, DWORD PTR $T341730[ebp]
  000e5	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> >
$LN29@CreateSett:
  000ea	c3		 ret	 0
__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$12:
  000eb	8b 85 e0 fe ff
	ff		 mov	 eax, DWORD PTR $T341737[ebp]
  000f1	83 e0 20	 and	 eax, 32			; 00000020H
  000f4	0f 84 12 00 00
	00		 je	 $LN31@CreateSett
  000fa	83 a5 e0 fe ff
	ff df		 and	 DWORD PTR $T341737[ebp], -33 ; ffffffdfH
  00101	8d 8d 1c ff ff
	ff		 lea	 ecx, DWORD PTR $T341731[ebp]
  00107	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> >
$LN31@CreateSett:
  0010c	c3		 ret	 0
__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$13:
  0010d	8b 85 e0 fe ff
	ff		 mov	 eax, DWORD PTR $T341737[ebp]
  00113	83 e0 40	 and	 eax, 64			; 00000040H
  00116	0f 84 12 00 00
	00		 je	 $LN33@CreateSett
  0011c	83 a5 e0 fe ff
	ff bf		 and	 DWORD PTR $T341737[ebp], -65 ; ffffffbfH
  00123	8d 8d 00 ff ff
	ff		 lea	 ecx, DWORD PTR $T341732[ebp]
  00129	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> >
$LN33@CreateSett:
  0012e	c3		 ret	 0
__unwindfunclet$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z$14:
  0012f	8b 85 e0 fe ff
	ff		 mov	 eax, DWORD PTR $T341737[ebp]
  00135	25 80 00 00 00	 and	 eax, 128		; 00000080H
  0013a	0f 84 15 00 00
	00		 je	 $LN35@CreateSett
  00140	81 a5 e0 fe ff
	ff 7f ff ff ff	 and	 DWORD PTR $T341737[ebp], -129 ; ffffff7fH
  0014a	8d 8d e4 fe ff
	ff		 lea	 ecx, DWORD PTR $T341733[ebp]
  00150	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> >
$LN35@CreateSett:
  00155	c3		 ret	 0
__ehhandler$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z:
  00156	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0015a	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0015d	8b 8a b8 fe ff
	ff		 mov	 ecx, DWORD PTR [edx-328]
  00163	33 c8		 xor	 ecx, eax
  00165	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0016a	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?CreateSettings@CDSSourceBase@@QAEXPB_W@Z
  0016f	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?CreateSettings@CDSSourceBase@@QAEXPB_W@Z ENDP		; CDSSourceBase::CreateSettings
PUBLIC	??0CDSSourceBase@@QAE@JJ@Z			; CDSSourceBase::CDSSourceBase
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0CDSSourceBase@@QAE@JJ@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0CDSSourceBase@@QAE@JJ@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0CDSSourceBase@@QAE@JJ@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$??0CDSSourceBase@@QAE@JJ@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$??0CDSSourceBase@@QAE@JJ@Z$3
	DD	03H
	DD	FLAT:__unwindfunclet$??0CDSSourceBase@@QAE@JJ@Z$4
__ehfuncinfo$??0CDSSourceBase@@QAE@JJ@Z DD 019930522H
	DD	05H
	DD	FLAT:__unwindtable$??0CDSSourceBase@@QAE@JJ@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0CDSSourceBase@@QAE@JJ@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
_SetMessage$ = 8					; size = 4
_MenuId$ = 12						; size = 4
??0CDSSourceBase@@QAE@JJ@Z PROC				; CDSSourceBase::CDSSourceBase, COMDAT
; _this$ = ecx

; 47   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0CDSSourceBase@@QAE@JJ@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	51		 push	 ecx
  00012	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00017	33 c5		 xor	 eax, ebp
  00019	50		 push	 eax
  0001a	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001d	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00023	89 4d f0	 mov	 DWORD PTR _this$[ebp], ecx
  00026	8b 45 0c	 mov	 eax, DWORD PTR _MenuId$[ebp]
  00029	50		 push	 eax
  0002a	8b 4d 08	 mov	 ecx, DWORD PTR _SetMessage$[ebp]
  0002d	51		 push	 ecx
  0002e	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00031	e8 00 00 00 00	 call	 ??0CSource@@IAE@JJ@Z	; CSource::CSource
  00036	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  0003d	8b 55 f0	 mov	 edx, DWORD PTR _this$[ebp]
  00040	c7 02 00 00 00
	00		 mov	 DWORD PTR [edx], OFFSET ??_7CDSSourceBase@@6BCSettingsHolder@@@
  00046	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  00049	c7 40 40 00 00
	00 00		 mov	 DWORD PTR [eax+64], OFFSET ??_7CDSSourceBase@@6BCEventObject@@@
  00050	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00053	c7 41 70 00 00
	00 00		 mov	 DWORD PTR [ecx+112], 0
  0005a	8b 55 f0	 mov	 edx, DWORD PTR _this$[ebp]
  0005d	c7 42 74 00 00
	00 00		 mov	 DWORD PTR [edx+116], 0
  00064	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  00067	c7 40 78 00 00
	00 00		 mov	 DWORD PTR [eax+120], 0
  0006e	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00071	c7 81 f4 00 00
	00 ff ff ff ff	 mov	 DWORD PTR [ecx+244], -1
  0007b	8b 55 f0	 mov	 edx, DWORD PTR _this$[ebp]
  0007e	c7 82 10 01 00
	00 00 00 00 00	 mov	 DWORD PTR [edx+272], 0
  00088	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0008b	81 c1 14 01 00
	00		 add	 ecx, 276		; 00000114H
  00091	e8 00 00 00 00	 call	 ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
  00096	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  0009a	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0009d	81 c1 30 01 00
	00		 add	 ecx, 304		; 00000130H
  000a3	e8 00 00 00 00	 call	 ??0?$SmartPtr@VCStringSetting@@@@QAE@XZ ; SmartPtr<CStringSetting>::SmartPtr<CStringSetting>
  000a8	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  000ac	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  000af	c7 80 38 01 00
	00 00 00 00 00	 mov	 DWORD PTR [eax+312], 0
  000b9	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  000bc	81 c1 3c 01 00
	00		 add	 ecx, 316		; 0000013cH
  000c2	e8 00 00 00 00	 call	 ??0?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QAE@XZ ; SmartPtr<CDSSourceBase::CVolumeSetting>::SmartPtr<CDSSourceBase::CVolumeSetting>
  000c7	c6 45 fc 03	 mov	 BYTE PTR __$EHRec$[ebp+8], 3
  000cb	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  000ce	81 c1 44 01 00
	00		 add	 ecx, 324		; 00000144H
  000d4	e8 00 00 00 00	 call	 ??0?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QAE@XZ ; SmartPtr<CDSSourceBase::CBalanceSetting>::SmartPtr<CDSSourceBase::CBalanceSetting>
  000d9	c6 45 fc 04	 mov	 BYTE PTR __$EHRec$[ebp+8], 4

; 48   :     InitializeCriticalSection(&m_hOutThreadSync);

  000dd	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  000e0	81 c1 f8 00 00
	00		 add	 ecx, 248		; 000000f8H
  000e6	51		 push	 ecx
  000e7	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__InitializeCriticalSection@4

; 49   : }

  000ed	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  000f4	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  000f7	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  000fa	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00101	59		 pop	 ecx
  00102	8b e5		 mov	 esp, ebp
  00104	5d		 pop	 ebp
  00105	c2 08 00	 ret	 8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0CDSSourceBase@@QAE@JJ@Z$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CSource@@UAE@XZ	; CSource::~CSource
__unwindfunclet$??0CDSSourceBase@@QAE@JJ@Z$1:
  00008	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0000b	81 c1 14 01 00
	00		 add	 ecx, 276		; 00000114H
  00011	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$??0CDSSourceBase@@QAE@JJ@Z$2:
  00016	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00019	81 c1 30 01 00
	00		 add	 ecx, 304		; 00000130H
  0001f	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VCStringSetting@@@@QAE@XZ ; SmartPtr<CStringSetting>::~SmartPtr<CStringSetting>
__unwindfunclet$??0CDSSourceBase@@QAE@JJ@Z$3:
  00024	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00027	81 c1 3c 01 00
	00		 add	 ecx, 316		; 0000013cH
  0002d	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QAE@XZ ; SmartPtr<CDSSourceBase::CVolumeSetting>::~SmartPtr<CDSSourceBase::CVolumeSetting>
__unwindfunclet$??0CDSSourceBase@@QAE@JJ@Z$4:
  00032	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00035	81 c1 44 01 00
	00		 add	 ecx, 324		; 00000144H
  0003b	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QAE@XZ ; SmartPtr<CDSSourceBase::CBalanceSetting>::~SmartPtr<CDSSourceBase::CBalanceSetting>
__ehhandler$??0CDSSourceBase@@QAE@JJ@Z:
  00040	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00044	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00047	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  0004a	33 c8		 xor	 ecx, eax
  0004c	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00051	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0CDSSourceBase@@QAE@JJ@Z
  00056	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0CDSSourceBase@@QAE@JJ@Z ENDP				; CDSSourceBase::CDSSourceBase
PUBLIC	?BalanceOnChange@CDSSourceBase@@QAEXJJ@Z	; CDSSourceBase::BalanceOnChange
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?BalanceOnChange@CDSSourceBase@@QAEXJJ@Z DD 0ffffffffH
	DD	00H
	DD	0ffffffffH
	DD	00H
__catchsym$?BalanceOnChange@CDSSourceBase@@QAEXJJ@Z$2 DD 08H
	DD	FLAT:??_R0?AVCDShowException@@@8
	DD	0ffffffe8H
	DD	FLAT:__catch$?BalanceOnChange@CDSSourceBase@@QAEXJJ@Z$0
__tryblocktable$?BalanceOnChange@CDSSourceBase@@QAEXJJ@Z DD 00H
	DD	00H
	DD	01H
	DD	01H
	DD	FLAT:__catchsym$?BalanceOnChange@CDSSourceBase@@QAEXJJ@Z$2
__ehfuncinfo$?BalanceOnChange@CDSSourceBase@@QAEXJJ@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$?BalanceOnChange@CDSSourceBase@@QAEXJJ@Z
	DD	01H
	DD	FLAT:__tryblocktable$?BalanceOnChange@CDSSourceBase@@QAEXJJ@Z
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?BalanceOnChange@CDSSourceBase@@QAEXJJ@Z
_TEXT	SEGMENT
_this$ = -28						; size = 4
_e$144662 = -24						; size = 4
_pControlls$ = -20					; size = 4
__$EHRec$ = -16						; size = 16
_NewValue$ = 8						; size = 4
_OldValue$ = 12						; size = 4
?BalanceOnChange@CDSSourceBase@@QAEXJJ@Z PROC		; CDSSourceBase::BalanceOnChange, COMDAT
; _this$ = ecx

; 557  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?BalanceOnChange@CDSSourceBase@@QAEXJJ@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 0c	 sub	 esp, 12			; 0000000cH
  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 e4	 mov	 DWORD PTR _this$[ebp], ecx

; 558  :     if(m_pDSGraph==NULL)

  0002f	8b 45 e4	 mov	 eax, DWORD PTR _this$[ebp]
  00032	83 78 70 00	 cmp	 DWORD PTR [eax+112], 0
  00036	75 14		 jne	 SHORT $LN3@BalanceOnC

; 559  :     {
; 560  :         LOG(3,_T("Can't change balance because there is no filter graph"));

  00038	68 00 00 00 00	 push	 OFFSET ??_C@_1GM@LNLJOLBE@?$AAC?$AAa?$AAn?$AA?8?$AAt?$AA?5?$AAc?$AAh?$AAa?$AAn?$AAg?$AAe?$AA?5?$AAb?$AAa?$AAl?$AAa?$AAn?$AAc?$AAe?$AA?5?$AAb?$AAe?$AAc?$AAa?$AAu?$AAs?$AAe?$AA?5?$AAt?$AAh?$AAe@
  0003d	6a 03		 push	 3
  0003f	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00044	83 c4 08	 add	 esp, 8

; 561  :         return;

  00047	e9 8b 00 00 00	 jmp	 $LN4@BalanceOnC
$LN3@BalanceOnC:

; 562  :     }
; 563  :     CDShowAudioControls *pControlls=m_pDSGraph->GetAudioControls();

  0004c	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  0004f	8b 49 70	 mov	 ecx, DWORD PTR [ecx+112]
  00052	e8 00 00 00 00	 call	 ?GetAudioControls@CDShowGraph@@QAEPAVCDShowAudioControls@@XZ ; CDShowGraph::GetAudioControls
  00057	89 45 ec	 mov	 DWORD PTR _pControlls$[ebp], eax

; 564  :     if(pControlls==NULL)

  0005a	83 7d ec 00	 cmp	 DWORD PTR _pControlls$[ebp], 0
  0005e	75 11		 jne	 SHORT $LN2@BalanceOnC

; 565  :     {
; 566  :         LOG(3,_T("Failed to get audio controlls"));

  00060	68 00 00 00 00	 push	 OFFSET ??_C@_1DM@BGPJJLD@?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAt?$AAo?$AA?5?$AAg?$AAe?$AAt?$AA?5?$AAa?$AAu?$AAd?$AAi?$AAo?$AA?5?$AAc?$AAo?$AAn?$AAt?$AAr?$AAo?$AAl?$AAl?$AAs?$AA?$AA@
  00065	6a 03		 push	 3
  00067	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  0006c	83 c4 08	 add	 esp, 8

; 567  :         return;

  0006f	eb 66		 jmp	 SHORT $LN4@BalanceOnC
$LN2@BalanceOnC:

; 568  :     }
; 569  : 
; 570  :     try
; 571  :     {

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

; 572  :         pControlls->SetBalance(NewValue);

  00078	8b 55 08	 mov	 edx, DWORD PTR _NewValue$[ebp]
  0007b	52		 push	 edx
  0007c	8b 45 ec	 mov	 eax, DWORD PTR _pControlls$[ebp]
  0007f	8b 10		 mov	 edx, DWORD PTR [eax]
  00081	8b 4d ec	 mov	 ecx, DWORD PTR _pControlls$[ebp]
  00084	8b 42 18	 mov	 eax, DWORD PTR [edx+24]
  00087	ff d0		 call	 eax

; 573  :     }

  00089	eb 45		 jmp	 SHORT $LN6@BalanceOnC
__catch$?BalanceOnChange@CDSSourceBase@@QAEXJJ@Z$0:

; 574  :     catch(CDShowException& e)
; 575  :     {
; 576  :         LOG(3,"Exception in BalanceOnChange, Error: %s",e.what());

  0008b	8b 4d e8	 mov	 ecx, DWORD PTR _e$144662[ebp]
  0008e	8b 11		 mov	 edx, DWORD PTR [ecx]
  00090	8b 4d e8	 mov	 ecx, DWORD PTR _e$144662[ebp]
  00093	8b 42 04	 mov	 eax, DWORD PTR [edx+4]
  00096	ff d0		 call	 eax
  00098	50		 push	 eax
  00099	68 00 00 00 00	 push	 OFFSET ??_C@_0CI@CDPHGCCI@Exception?5in?5BalanceOnChange?0?5Er@
  0009e	6a 03		 push	 3
  000a0	e8 00 00 00 00	 call	 ?LOG@@YAXHPBDZZ		; LOG
  000a5	83 c4 0c	 add	 esp, 12			; 0000000cH

; 577  :         m_Balance->SetValue(OldValue);

  000a8	6a 00		 push	 0
  000aa	8b 4d 0c	 mov	 ecx, DWORD PTR _OldValue$[ebp]
  000ad	51		 push	 ecx
  000ae	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  000b1	81 c1 44 01 00
	00		 add	 ecx, 324		; 00000144H
  000b7	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QBEPAVCBalanceSetting@CDSSourceBase@@XZ ; SmartPtr<CDSSourceBase::CBalanceSetting>::operator->
  000bc	8b c8		 mov	 ecx, eax
  000be	e8 00 00 00 00	 call	 ?SetValue@CSliderSetting@@QAEXJH@Z ; CSliderSetting::SetValue

; 578  :     }

  000c3	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
  000ca	b8 00 00 00 00	 mov	 eax, $LN4@BalanceOnC
  000cf	c3		 ret	 0
$LN6@BalanceOnC:
  000d0	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
$LN4@BalanceOnC:

; 579  : }

  000d7	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp+4]
  000da	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000e1	59		 pop	 ecx
  000e2	5f		 pop	 edi
  000e3	5e		 pop	 esi
  000e4	5b		 pop	 ebx
  000e5	8b e5		 mov	 esp, ebp
  000e7	5d		 pop	 ebp
  000e8	c2 08 00	 ret	 8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__ehhandler$?BalanceOnChange@CDSSourceBase@@QAEXJJ@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 e0	 mov	 ecx, DWORD PTR [edx-32]
  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$?BalanceOnChange@CDSSourceBase@@QAEXJJ@Z
  00016	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?BalanceOnChange@CDSSourceBase@@QAEXJJ@Z ENDP		; CDSSourceBase::BalanceOnChange
; Function compile flags: /Odtp
;	COMDAT ?GetBalance@CDSSourceBase@@UAEPAVCSliderSetting@@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
_max$144636 = -12					; size = 4
_min$144635 = -8					; size = 4
_pControls$ = -4					; size = 4
?GetBalance@CDSSourceBase@@UAEPAVCSliderSetting@@XZ PROC ; CDSSourceBase::GetBalance, COMDAT
; _this$ = ecx

; 501  : {

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

; 502  :     if(m_pDSGraph==NULL)

  00009	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	83 78 70 00	 cmp	 DWORD PTR [eax+112], 0
  00010	75 07		 jne	 SHORT $LN4@GetBalance@2

; 503  :     {
; 504  :         return NULL;

  00012	33 c0		 xor	 eax, eax
  00014	e9 b4 00 00 00	 jmp	 $LN5@GetBalance@2
$LN4@GetBalance@2:

; 505  :     }
; 506  :     CDShowAudioControls *pControls=m_pDSGraph->GetAudioControls();

  00019	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0001c	8b 49 70	 mov	 ecx, DWORD PTR [ecx+112]
  0001f	e8 00 00 00 00	 call	 ?GetAudioControls@CDShowGraph@@QAEPAVCDShowAudioControls@@XZ ; CDShowGraph::GetAudioControls
  00024	89 45 fc	 mov	 DWORD PTR _pControls$[ebp], eax

; 507  :     if(pControls==NULL)

  00027	83 7d fc 00	 cmp	 DWORD PTR _pControls$[ebp], 0
  0002b	75 16		 jne	 SHORT $LN3@GetBalance@2

; 508  :     {
; 509  :         LOG(3,_T("Failed to get audio controlls, balance will not work"));

  0002d	68 00 00 00 00	 push	 OFFSET ??_C@_1GK@EMCCGFPJ@?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAt?$AAo?$AA?5?$AAg?$AAe?$AAt?$AA?5?$AAa?$AAu?$AAd?$AAi?$AAo?$AA?5?$AAc?$AAo?$AAn?$AAt?$AAr?$AAo?$AAl?$AAl?$AAs?$AA?0?$AA?5?$AAb@
  00032	6a 03		 push	 3
  00034	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00039	83 c4 08	 add	 esp, 8

; 510  :         return NULL;

  0003c	33 c0		 xor	 eax, eax
  0003e	e9 8a 00 00 00	 jmp	 $LN5@GetBalance@2
$LN3@GetBalance@2:

; 511  :     }
; 512  : 
; 513  :     if(pControls->GetAudioCaps()|DSHOW_AUDIOCAPS_HAS_BALANCE)

  00043	8b 55 fc	 mov	 edx, DWORD PTR _pControls$[ebp]
  00046	8b 02		 mov	 eax, DWORD PTR [edx]
  00048	8b 4d fc	 mov	 ecx, DWORD PTR _pControls$[ebp]
  0004b	8b 50 04	 mov	 edx, DWORD PTR [eax+4]
  0004e	ff d2		 call	 edx
  00050	83 c8 02	 or	 eax, 2
  00053	74 67		 je	 SHORT $LN2@GetBalance@2

; 514  :     {
; 515  :         long min=0;

  00055	c7 45 f8 00 00
	00 00		 mov	 DWORD PTR _min$144635[ebp], 0

; 516  :         long max=0;

  0005c	c7 45 f4 00 00
	00 00		 mov	 DWORD PTR _max$144636[ebp], 0

; 517  :         pControls->GetBalanceMinMax(min,max);

  00063	8d 45 f4	 lea	 eax, DWORD PTR _max$144636[ebp]
  00066	50		 push	 eax
  00067	8d 4d f8	 lea	 ecx, DWORD PTR _min$144635[ebp]
  0006a	51		 push	 ecx
  0006b	8b 55 fc	 mov	 edx, DWORD PTR _pControls$[ebp]
  0006e	8b 02		 mov	 eax, DWORD PTR [edx]
  00070	8b 4d fc	 mov	 ecx, DWORD PTR _pControls$[ebp]
  00073	8b 50 1c	 mov	 edx, DWORD PTR [eax+28]
  00076	ff d2		 call	 edx

; 518  :         m_Balance->SetMax(max);

  00078	8b 45 f4	 mov	 eax, DWORD PTR _max$144636[ebp]
  0007b	50		 push	 eax
  0007c	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0007f	81 c1 44 01 00
	00		 add	 ecx, 324		; 00000144H
  00085	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QBEPAVCBalanceSetting@CDSSourceBase@@XZ ; SmartPtr<CDSSourceBase::CBalanceSetting>::operator->
  0008a	8b c8		 mov	 ecx, eax
  0008c	e8 00 00 00 00	 call	 ?SetMax@CSliderSetting@@QAEXJ@Z ; CSliderSetting::SetMax

; 519  :         m_Balance->SetMin(min);

  00091	8b 4d f8	 mov	 ecx, DWORD PTR _min$144635[ebp]
  00094	51		 push	 ecx
  00095	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00098	81 c1 44 01 00
	00		 add	 ecx, 324		; 00000144H
  0009e	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QBEPAVCBalanceSetting@CDSSourceBase@@XZ ; SmartPtr<CDSSourceBase::CBalanceSetting>::operator->
  000a3	8b c8		 mov	 ecx, eax
  000a5	e8 00 00 00 00	 call	 ?SetMin@CSliderSetting@@QAEXJ@Z ; CSliderSetting::SetMin

; 520  :         return m_Balance.GetRawPointer();

  000aa	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  000ad	81 c1 44 01 00
	00		 add	 ecx, 324		; 00000144H
  000b3	e8 00 00 00 00	 call	 ?GetRawPointer@?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QBEPAVCBalanceSetting@CDSSourceBase@@XZ ; SmartPtr<CDSSourceBase::CBalanceSetting>::GetRawPointer
  000b8	eb 13		 jmp	 SHORT $LN5@GetBalance@2

; 521  :     }
; 522  :     else

  000ba	eb 11		 jmp	 SHORT $LN5@GetBalance@2
$LN2@GetBalance@2:

; 523  :     {
; 524  :         LOG(3,_T("Audio controls don't support balance"));

  000bc	68 00 00 00 00	 push	 OFFSET ??_C@_1EK@CIEPIGKK@?$AAA?$AAu?$AAd?$AAi?$AAo?$AA?5?$AAc?$AAo?$AAn?$AAt?$AAr?$AAo?$AAl?$AAs?$AA?5?$AAd?$AAo?$AAn?$AA?8?$AAt?$AA?5?$AAs?$AAu?$AAp?$AAp?$AAo?$AAr?$AAt?$AA?5?$AAb?$AAa?$AAl@
  000c1	6a 03		 push	 3
  000c3	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  000c8	83 c4 08	 add	 esp, 8

; 525  :         return NULL;

  000cb	33 c0		 xor	 eax, eax
$LN5@GetBalance@2:

; 526  :     }
; 527  : }

  000cd	8b e5		 mov	 esp, ebp
  000cf	5d		 pop	 ebp
  000d0	c3		 ret	 0
?GetBalance@CDSSourceBase@@UAEPAVCSliderSetting@@XZ ENDP ; CDSSourceBase::GetBalance
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?GetVolume@CDSSourceBase@@UAEPAVCSliderSetting@@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
_max$144624 = -12					; size = 4
_min$144623 = -8					; size = 4
_pControls$ = -4					; size = 4
?GetVolume@CDSSourceBase@@UAEPAVCSliderSetting@@XZ PROC	; CDSSourceBase::GetVolume, COMDAT
; _this$ = ecx

; 472  : {

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

; 473  :     if(m_pDSGraph==NULL)

  00009	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	83 78 70 00	 cmp	 DWORD PTR [eax+112], 0
  00010	75 07		 jne	 SHORT $LN4@GetVolume@3

; 474  :     {
; 475  :         return NULL;

  00012	33 c0		 xor	 eax, eax
  00014	e9 b4 00 00 00	 jmp	 $LN5@GetVolume@3
$LN4@GetVolume@3:

; 476  :     }
; 477  :     CDShowAudioControls *pControls=m_pDSGraph->GetAudioControls();

  00019	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0001c	8b 49 70	 mov	 ecx, DWORD PTR [ecx+112]
  0001f	e8 00 00 00 00	 call	 ?GetAudioControls@CDShowGraph@@QAEPAVCDShowAudioControls@@XZ ; CDShowGraph::GetAudioControls
  00024	89 45 fc	 mov	 DWORD PTR _pControls$[ebp], eax

; 478  :     if(pControls==NULL)

  00027	83 7d fc 00	 cmp	 DWORD PTR _pControls$[ebp], 0
  0002b	75 16		 jne	 SHORT $LN3@GetVolume@3

; 479  :     {
; 480  :         LOG(3,_T("Failed to get audio controlls, volume will not work"));

  0002d	68 00 00 00 00	 push	 OFFSET ??_C@_1GI@MLFIIADK@?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAt?$AAo?$AA?5?$AAg?$AAe?$AAt?$AA?5?$AAa?$AAu?$AAd?$AAi?$AAo?$AA?5?$AAc?$AAo?$AAn?$AAt?$AAr?$AAo?$AAl?$AAl?$AAs?$AA?0?$AA?5?$AAv@
  00032	6a 03		 push	 3
  00034	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00039	83 c4 08	 add	 esp, 8

; 481  :         return NULL;

  0003c	33 c0		 xor	 eax, eax
  0003e	e9 8a 00 00 00	 jmp	 $LN5@GetVolume@3
$LN3@GetVolume@3:

; 482  :     }
; 483  : 
; 484  :     if(pControls->GetAudioCaps()|DSHOW_AUDIOCAPS_HAS_VOLUME)

  00043	8b 55 fc	 mov	 edx, DWORD PTR _pControls$[ebp]
  00046	8b 02		 mov	 eax, DWORD PTR [edx]
  00048	8b 4d fc	 mov	 ecx, DWORD PTR _pControls$[ebp]
  0004b	8b 50 04	 mov	 edx, DWORD PTR [eax+4]
  0004e	ff d2		 call	 edx
  00050	83 c8 01	 or	 eax, 1
  00053	74 67		 je	 SHORT $LN2@GetVolume@3

; 485  :     {
; 486  :         long min=0;

  00055	c7 45 f8 00 00
	00 00		 mov	 DWORD PTR _min$144623[ebp], 0

; 487  :         long max=0;

  0005c	c7 45 f4 00 00
	00 00		 mov	 DWORD PTR _max$144624[ebp], 0

; 488  :         pControls->GetVolumeMinMax(min,max);

  00063	8d 45 f4	 lea	 eax, DWORD PTR _max$144624[ebp]
  00066	50		 push	 eax
  00067	8d 4d f8	 lea	 ecx, DWORD PTR _min$144623[ebp]
  0006a	51		 push	 ecx
  0006b	8b 55 fc	 mov	 edx, DWORD PTR _pControls$[ebp]
  0006e	8b 02		 mov	 eax, DWORD PTR [edx]
  00070	8b 4d fc	 mov	 ecx, DWORD PTR _pControls$[ebp]
  00073	8b 50 10	 mov	 edx, DWORD PTR [eax+16]
  00076	ff d2		 call	 edx

; 489  :         m_Volume->SetMax(max);

  00078	8b 45 f4	 mov	 eax, DWORD PTR _max$144624[ebp]
  0007b	50		 push	 eax
  0007c	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0007f	81 c1 3c 01 00
	00		 add	 ecx, 316		; 0000013cH
  00085	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QBEPAVCVolumeSetting@CDSSourceBase@@XZ ; SmartPtr<CDSSourceBase::CVolumeSetting>::operator->
  0008a	8b c8		 mov	 ecx, eax
  0008c	e8 00 00 00 00	 call	 ?SetMax@CSliderSetting@@QAEXJ@Z ; CSliderSetting::SetMax

; 490  :         m_Volume->SetMin(min);

  00091	8b 4d f8	 mov	 ecx, DWORD PTR _min$144623[ebp]
  00094	51		 push	 ecx
  00095	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00098	81 c1 3c 01 00
	00		 add	 ecx, 316		; 0000013cH
  0009e	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QBEPAVCVolumeSetting@CDSSourceBase@@XZ ; SmartPtr<CDSSourceBase::CVolumeSetting>::operator->
  000a3	8b c8		 mov	 ecx, eax
  000a5	e8 00 00 00 00	 call	 ?SetMin@CSliderSetting@@QAEXJ@Z ; CSliderSetting::SetMin

; 491  :         return m_Volume.GetRawPointer();

  000aa	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  000ad	81 c1 3c 01 00
	00		 add	 ecx, 316		; 0000013cH
  000b3	e8 00 00 00 00	 call	 ?GetRawPointer@?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QBEPAVCVolumeSetting@CDSSourceBase@@XZ ; SmartPtr<CDSSourceBase::CVolumeSetting>::GetRawPointer
  000b8	eb 13		 jmp	 SHORT $LN5@GetVolume@3

; 492  :     }
; 493  :     else

  000ba	eb 11		 jmp	 SHORT $LN5@GetVolume@3
$LN2@GetVolume@3:

; 494  :     {
; 495  :         LOG(3,_T("Audio controls don't support volume"));

  000bc	68 00 00 00 00	 push	 OFFSET ??_C@_1EI@FJPOINEI@?$AAA?$AAu?$AAd?$AAi?$AAo?$AA?5?$AAc?$AAo?$AAn?$AAt?$AAr?$AAo?$AAl?$AAs?$AA?5?$AAd?$AAo?$AAn?$AA?8?$AAt?$AA?5?$AAs?$AAu?$AAp?$AAp?$AAo?$AAr?$AAt?$AA?5?$AAv?$AAo?$AAl@
  000c1	6a 03		 push	 3
  000c3	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  000c8	83 c4 08	 add	 esp, 8

; 496  :         return NULL;

  000cb	33 c0		 xor	 eax, eax
$LN5@GetVolume@3:

; 497  :     }
; 498  : }

  000cd	8b e5		 mov	 esp, ebp
  000cf	5d		 pop	 ebp
  000d0	c3		 ret	 0
?GetVolume@CDSSourceBase@@UAEPAVCSliderSetting@@XZ ENDP	; CDSSourceBase::GetVolume
_TEXT	ENDS
PUBLIC	??1CDSSourceBase@@UAE@XZ			; CDSSourceBase::~CDSSourceBase
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1CDSSourceBase@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1CDSSourceBase@@UAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??1CDSSourceBase@@UAE@XZ$1
	DD	01H
	DD	FLAT:__unwindfunclet$??1CDSSourceBase@@UAE@XZ$2
	DD	02H
	DD	FLAT:__unwindfunclet$??1CDSSourceBase@@UAE@XZ$3
	DD	03H
	DD	FLAT:__unwindfunclet$??1CDSSourceBase@@UAE@XZ$4
	DD	04H
	DD	FLAT:__unwindfunclet$??1CDSSourceBase@@UAE@XZ$5
__ehfuncinfo$??1CDSSourceBase@@UAE@XZ DD 019930522H
	DD	06H
	DD	FLAT:__unwindtable$??1CDSSourceBase@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??1CDSSourceBase@@UAE@XZ
_TEXT	SEGMENT
tv133 = -36						; size = 4
_this$ = -32						; size = 4
$T346517 = -28						; size = 4
$T346516 = -24						; size = 4
_lock$144343 = -20					; size = 8
__$EHRec$ = -12						; size = 12
??1CDSSourceBase@@UAE@XZ PROC				; CDSSourceBase::~CDSSourceBase, COMDAT
; _this$ = ecx

; 52   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??1CDSSourceBase@@UAE@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 18	 sub	 esp, 24			; 00000018H
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	50		 push	 eax
  0001c	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001f	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00025	89 4d e0	 mov	 DWORD PTR _this$[ebp], ecx
  00028	8b 45 e0	 mov	 eax, DWORD PTR _this$[ebp]
  0002b	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], OFFSET ??_7CDSSourceBase@@6BCSettingsHolder@@@
  00031	8b 4d e0	 mov	 ecx, DWORD PTR _this$[ebp]
  00034	c7 41 40 00 00
	00 00		 mov	 DWORD PTR [ecx+64], OFFSET ??_7CDSSourceBase@@6BCEventObject@@@
  0003b	c7 45 fc 04 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 4

; 53   :     {
; 54   :         CAutoCriticalSection lock(m_hOutThreadSync);

  00042	8b 55 e0	 mov	 edx, DWORD PTR _this$[ebp]
  00045	81 c2 f8 00 00
	00		 add	 edx, 248		; 000000f8H
  0004b	52		 push	 edx
  0004c	8d 4d ec	 lea	 ecx, DWORD PTR _lock$144343[ebp]
  0004f	e8 00 00 00 00	 call	 ??0CAutoCriticalSection@@QAE@AAU_RTL_CRITICAL_SECTION@@@Z ; CAutoCriticalSection::CAutoCriticalSection
  00054	c6 45 fc 05	 mov	 BYTE PTR __$EHRec$[ebp+8], 5

; 55   :         if(m_pDSGraph!=NULL)

  00058	8b 45 e0	 mov	 eax, DWORD PTR _this$[ebp]
  0005b	83 78 70 00	 cmp	 DWORD PTR [eax+112], 0
  0005f	74 39		 je	 SHORT $LN1@CDSSourceB

; 56   :         {
; 57   :             delete m_pDSGraph;

  00061	8b 4d e0	 mov	 ecx, DWORD PTR _this$[ebp]
  00064	8b 51 70	 mov	 edx, DWORD PTR [ecx+112]
  00067	89 55 e4	 mov	 DWORD PTR $T346517[ebp], edx
  0006a	8b 45 e4	 mov	 eax, DWORD PTR $T346517[ebp]
  0006d	89 45 e8	 mov	 DWORD PTR $T346516[ebp], eax
  00070	83 7d e8 00	 cmp	 DWORD PTR $T346516[ebp], 0
  00074	74 13		 je	 SHORT $LN4@CDSSourceB
  00076	6a 01		 push	 1
  00078	8b 4d e8	 mov	 ecx, DWORD PTR $T346516[ebp]
  0007b	8b 11		 mov	 edx, DWORD PTR [ecx]
  0007d	8b 4d e8	 mov	 ecx, DWORD PTR $T346516[ebp]
  00080	8b 02		 mov	 eax, DWORD PTR [edx]
  00082	ff d0		 call	 eax
  00084	89 45 dc	 mov	 DWORD PTR tv133[ebp], eax
  00087	eb 07		 jmp	 SHORT $LN5@CDSSourceB
$LN4@CDSSourceB:
  00089	c7 45 dc 00 00
	00 00		 mov	 DWORD PTR tv133[ebp], 0
$LN5@CDSSourceB:

; 58   :             m_pDSGraph=NULL;

  00090	8b 4d e0	 mov	 ecx, DWORD PTR _this$[ebp]
  00093	c7 41 70 00 00
	00 00		 mov	 DWORD PTR [ecx+112], 0
$LN1@CDSSourceB:

; 59   :         }
; 60   :     }

  0009a	c6 45 fc 04	 mov	 BYTE PTR __$EHRec$[ebp+8], 4
  0009e	8d 4d ec	 lea	 ecx, DWORD PTR _lock$144343[ebp]
  000a1	e8 00 00 00 00	 call	 ??1CAutoCriticalSection@@UAE@XZ ; CAutoCriticalSection::~CAutoCriticalSection

; 61   :     DeleteCriticalSection(&m_hOutThreadSync);

  000a6	8b 55 e0	 mov	 edx, DWORD PTR _this$[ebp]
  000a9	81 c2 f8 00 00
	00		 add	 edx, 248		; 000000f8H
  000af	52		 push	 edx
  000b0	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__DeleteCriticalSection@4

; 62   :     m_AudioDevice->WriteToIni(TRUE);

  000b6	6a 01		 push	 1
  000b8	8b 4d e0	 mov	 ecx, DWORD PTR _this$[ebp]
  000bb	81 c1 30 01 00
	00		 add	 ecx, 304		; 00000130H
  000c1	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCStringSetting@@@@QBEPAVCStringSetting@@XZ ; SmartPtr<CStringSetting>::operator->
  000c6	8b c8		 mov	 ecx, eax
  000c8	e8 00 00 00 00	 call	 ?WriteToIni@CSimpleSetting@@QAEXH@Z ; CSimpleSetting::WriteToIni

; 63   : }

  000cd	c6 45 fc 03	 mov	 BYTE PTR __$EHRec$[ebp+8], 3
  000d1	8b 4d e0	 mov	 ecx, DWORD PTR _this$[ebp]
  000d4	81 c1 44 01 00
	00		 add	 ecx, 324		; 00000144H
  000da	e8 00 00 00 00	 call	 ??1?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QAE@XZ ; SmartPtr<CDSSourceBase::CBalanceSetting>::~SmartPtr<CDSSourceBase::CBalanceSetting>
  000df	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  000e3	8b 4d e0	 mov	 ecx, DWORD PTR _this$[ebp]
  000e6	81 c1 3c 01 00
	00		 add	 ecx, 316		; 0000013cH
  000ec	e8 00 00 00 00	 call	 ??1?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QAE@XZ ; SmartPtr<CDSSourceBase::CVolumeSetting>::~SmartPtr<CDSSourceBase::CVolumeSetting>
  000f1	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  000f5	8b 4d e0	 mov	 ecx, DWORD PTR _this$[ebp]
  000f8	81 c1 30 01 00
	00		 add	 ecx, 304		; 00000130H
  000fe	e8 00 00 00 00	 call	 ??1?$SmartPtr@VCStringSetting@@@@QAE@XZ ; SmartPtr<CStringSetting>::~SmartPtr<CStringSetting>
  00103	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  00107	8b 4d e0	 mov	 ecx, DWORD PTR _this$[ebp]
  0010a	81 c1 14 01 00
	00		 add	 ecx, 276		; 00000114H
  00110	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> >
  00115	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0011c	8b 4d e0	 mov	 ecx, DWORD PTR _this$[ebp]
  0011f	e8 00 00 00 00	 call	 ??1CSource@@UAE@XZ	; CSource::~CSource
  00124	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00127	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0012e	59		 pop	 ecx
  0012f	8b e5		 mov	 esp, ebp
  00131	5d		 pop	 ebp
  00132	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1CDSSourceBase@@UAE@XZ$0:
  00000	8b 4d e0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CSource@@UAE@XZ	; CSource::~CSource
__unwindfunclet$??1CDSSourceBase@@UAE@XZ$1:
  00008	8b 4d e0	 mov	 ecx, DWORD PTR _this$[ebp]
  0000b	81 c1 14 01 00
	00		 add	 ecx, 276		; 00000114H
  00011	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$??1CDSSourceBase@@UAE@XZ$2:
  00016	8b 4d e0	 mov	 ecx, DWORD PTR _this$[ebp]
  00019	81 c1 30 01 00
	00		 add	 ecx, 304		; 00000130H
  0001f	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VCStringSetting@@@@QAE@XZ ; SmartPtr<CStringSetting>::~SmartPtr<CStringSetting>
__unwindfunclet$??1CDSSourceBase@@UAE@XZ$3:
  00024	8b 4d e0	 mov	 ecx, DWORD PTR _this$[ebp]
  00027	81 c1 3c 01 00
	00		 add	 ecx, 316		; 0000013cH
  0002d	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QAE@XZ ; SmartPtr<CDSSourceBase::CVolumeSetting>::~SmartPtr<CDSSourceBase::CVolumeSetting>
__unwindfunclet$??1CDSSourceBase@@UAE@XZ$4:
  00032	8b 4d e0	 mov	 ecx, DWORD PTR _this$[ebp]
  00035	81 c1 44 01 00
	00		 add	 ecx, 324		; 00000144H
  0003b	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VCBalanceSetting@CDSSourceBase@@@@QAE@XZ ; SmartPtr<CDSSourceBase::CBalanceSetting>::~SmartPtr<CDSSourceBase::CBalanceSetting>
__unwindfunclet$??1CDSSourceBase@@UAE@XZ$5:
  00040	8d 4d ec	 lea	 ecx, DWORD PTR _lock$144343[ebp]
  00043	e9 00 00 00 00	 jmp	 ??1CAutoCriticalSection@@UAE@XZ ; CAutoCriticalSection::~CAutoCriticalSection
__ehhandler$??1CDSSourceBase@@UAE@XZ:
  00048	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0004c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0004f	8b 4a e4	 mov	 ecx, DWORD PTR [edx-28]
  00052	33 c8		 xor	 ecx, eax
  00054	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00059	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??1CDSSourceBase@@UAE@XZ
  0005e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1CDSSourceBase@@UAE@XZ ENDP				; CDSSourceBase::~CDSSourceBase
; Function compile flags: /Odtp
;	COMDAT ??_GCDSSourceBase@@UAEPAXI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___flags$ = 8						; size = 4
??_GCDSSourceBase@@UAEPAXI@Z PROC			; CDSSourceBase::`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	 ??1CDSSourceBase@@UAE@XZ ; CDSSourceBase::~CDSSourceBase
  0000f	8b 45 08	 mov	 eax, DWORD PTR ___flags$[ebp]
  00012	83 e0 01	 and	 eax, 1
  00015	74 0c		 je	 SHORT $LN1@scalar@430
  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@430:
  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
??_GCDSSourceBase@@UAEPAXI@Z ENDP			; CDSSourceBase::`scalar deleting destructor'
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\dshowsource\dssourcebase.h
_TEXT	ENDS
;	COMDAT ?OnChange@CBalanceSetting@CDSSourceBase@@UAEXJJ@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_NewValue$ = 8						; size = 4
_OldValue$ = 12						; size = 4
?OnChange@CBalanceSetting@CDSSourceBase@@UAEXJJ@Z PROC	; CDSSourceBase::CBalanceSetting::OnChange, COMDAT
; _this$ = ecx

; 120  :     DEFINE_SLIDER_CALLBACK_SETTING(CDSSourceBase, Balance);

  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 _OldValue$[ebp]
  0000a	50		 push	 eax
  0000b	8b 4d 08	 mov	 ecx, DWORD PTR _NewValue$[ebp]
  0000e	51		 push	 ecx
  0000f	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00012	8b 8a b0 00 00
	00		 mov	 ecx, DWORD PTR [edx+176]
  00018	e8 00 00 00 00	 call	 ?BalanceOnChange@CDSSourceBase@@QAEXJJ@Z ; CDSSourceBase::BalanceOnChange
  0001d	8b e5		 mov	 esp, ebp
  0001f	5d		 pop	 ebp
  00020	c2 08 00	 ret	 8
?OnChange@CBalanceSetting@CDSSourceBase@@UAEXJJ@Z ENDP	; CDSSourceBase::CBalanceSetting::OnChange
;	COMDAT xdata$x
; File c:\develop\dscaler423a\dscaler\dshowsource\dssourcebase.cpp
xdata$x	SEGMENT
__unwindtable$?GetNextField@CDSSourceBase@@UAEXPAUTDeinterlaceInfo@@H@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?GetNextField@CDSSourceBase@@UAEXPAUTDeinterlaceInfo@@H@Z$0
__ehfuncinfo$?GetNextField@CDSSourceBase@@UAEXPAUTDeinterlaceInfo@@H@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?GetNextField@CDSSourceBase@@UAEXPAUTDeinterlaceInfo@@H@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?GetNextField@CDSSourceBase@@UAEXPAUTDeinterlaceInfo@@H@Z
_TEXT	SEGMENT
tv131 = -136						; size = 4
_this$ = -132						; size = 4
_i$144520 = -128					; size = 4
_dwLastDelay$ = -124					; size = 4
_binfo$ = -120						; size = 16
_size$ = -104						; size = 4
_fields$ = -100						; size = 80
_lock$ = -20						; size = 8
__$EHRec$ = -12						; size = 12
_pInfo$ = 8						; size = 4
_AccurateTiming$ = 12					; size = 4
?GetNextField@CDSSourceBase@@UAEXPAUTDeinterlaceInfo@@H@Z PROC ; CDSSourceBase::GetNextField, COMDAT
; _this$ = ecx

; 179  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?GetNextField@CDSSourceBase@@UAEXPAUTDeinterlaceInfo@@H@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 7c	 sub	 esp, 124		; 0000007cH
  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 8d 7c ff ff
	ff		 mov	 DWORD PTR _this$[ebp], ecx

; 180  :     CAutoCriticalSection lock(m_hOutThreadSync);

  0002b	8b 85 7c ff ff
	ff		 mov	 eax, DWORD PTR _this$[ebp]
  00031	05 f8 00 00 00	 add	 eax, 248		; 000000f8H
  00036	50		 push	 eax
  00037	8d 4d ec	 lea	 ecx, DWORD PTR _lock$[ebp]
  0003a	e8 00 00 00 00	 call	 ??0CAutoCriticalSection@@QAE@AAU_RTL_CRITICAL_SECTION@@@Z ; CAutoCriticalSection::CAutoCriticalSection
  0003f	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 181  :     if(m_pDSGraph==NULL)

  00046	8b 8d 7c ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  0004c	83 79 70 00	 cmp	 DWORD PTR [ecx+112], 0
  00050	75 14		 jne	 SHORT $LN10@GetNextFie@2

; 182  :     {
; 183  :         return;

  00052	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00059	8d 4d ec	 lea	 ecx, DWORD PTR _lock$[ebp]
  0005c	e8 00 00 00 00	 call	 ??1CAutoCriticalSection@@UAE@XZ ; CAutoCriticalSection::~CAutoCriticalSection
  00061	e9 7f 02 00 00	 jmp	 $LN11@GetNextFie@2
$LN10@GetNextFie@2:

; 184  :     }
; 185  :     DWORD dwLastDelay=0;

  00066	c7 45 84 00 00
	00 00		 mov	 DWORD PTR _dwLastDelay$[ebp], 0

; 186  :     if(m_dwRendStartTime!=0)

  0006d	8b 95 7c ff ff
	ff		 mov	 edx, DWORD PTR _this$[ebp]
  00073	83 ba 10 01 00
	00 00		 cmp	 DWORD PTR [edx+272], 0
  0007a	74 25		 je	 SHORT $LN9@GetNextFie@2

; 187  :     {
; 188  :         dwLastDelay=timeGetTime()-m_dwRendStartTime;

  0007c	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__timeGetTime@0
  00082	8b 8d 7c ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00088	2b 81 10 01 00
	00		 sub	 eax, DWORD PTR [ecx+272]
  0008e	89 45 84	 mov	 DWORD PTR _dwLastDelay$[ebp], eax

; 189  :         //LOGD(_T("Processing delay: %ld(ms)\n"),dwLastDelay);
; 190  :         m_dwRendStartTime=0;

  00091	8b 95 7c ff ff
	ff		 mov	 edx, DWORD PTR _this$[ebp]
  00097	c7 82 10 01 00
	00 00 00 00 00	 mov	 DWORD PTR [edx+272], 0
$LN9@GetNextFie@2:

; 191  :     }
; 192  :     //info to return if we fail
; 193  :     pInfo->bRunningLate=TRUE;

  000a1	8b 45 08	 mov	 eax, DWORD PTR _pInfo$[ebp]
  000a4	c7 40 68 01 00
	00 00		 mov	 DWORD PTR [eax+104], 1

; 194  :     pInfo->bMissedFrame=TRUE;

  000ab	8b 4d 08	 mov	 ecx, DWORD PTR _pInfo$[ebp]
  000ae	c7 41 6c 01 00
	00 00		 mov	 DWORD PTR [ecx+108], 1

; 195  :     pInfo->FrameWidth=0;

  000b5	8b 55 08	 mov	 edx, DWORD PTR _pInfo$[ebp]
  000b8	c7 42 4c 00 00
	00 00		 mov	 DWORD PTR [edx+76], 0

; 196  :     pInfo->FrameHeight=0;

  000bf	8b 45 08	 mov	 eax, DWORD PTR _pInfo$[ebp]
  000c2	c7 40 50 00 00
	00 00		 mov	 DWORD PTR [eax+80], 0

; 197  : 
; 198  :     //clear the picture history
; 199  :     memset(pInfo->PictureHistory, 0, MAX_PICTURE_HISTORY * sizeof(TPicture*));

  000c9	6a 28		 push	 40			; 00000028H
  000cb	6a 00		 push	 0
  000cd	8b 4d 08	 mov	 ecx, DWORD PTR _pInfo$[ebp]
  000d0	83 c1 04	 add	 ecx, 4
  000d3	51		 push	 ecx
  000d4	e8 00 00 00 00	 call	 _memset
  000d9	83 c4 0c	 add	 esp, 12			; 0000000cH

; 200  :     //ClearPictureHistory(pInfo);
; 201  : 
; 202  :     //is the graph running? there is no point in continuing if it isnt
; 203  :     /*if(m_pDSGraph->getState()!=State_Running)
; 204  :     {
; 205  :         return;
; 206  :     }*/
; 207  : 
; 208  :     long size=MAX_PICTURE_HISTORY;

  000dc	c7 45 98 0a 00
	00 00		 mov	 DWORD PTR _size$[ebp], 10 ; 0000000aH

; 209  :     FieldBuffer fields[MAX_PICTURE_HISTORY];
; 210  :     BufferInfo binfo;
; 211  :     if(!m_pDSGraph->GetFields(&size,fields,binfo,dwLastDelay))

  000e3	8b 55 84	 mov	 edx, DWORD PTR _dwLastDelay$[ebp]
  000e6	52		 push	 edx
  000e7	8d 45 88	 lea	 eax, DWORD PTR _binfo$[ebp]
  000ea	50		 push	 eax
  000eb	8d 4d 9c	 lea	 ecx, DWORD PTR _fields$[ebp]
  000ee	51		 push	 ecx
  000ef	8d 55 98	 lea	 edx, DWORD PTR _size$[ebp]
  000f2	52		 push	 edx
  000f3	8b 85 7c ff ff
	ff		 mov	 eax, DWORD PTR _this$[ebp]
  000f9	8b 48 70	 mov	 ecx, DWORD PTR [eax+112]
  000fc	e8 00 00 00 00	 call	 ?GetFields@CDShowGraph@@QAEHPAJPAU_FieldBuffer@@AAU__MIDL___MIDL_itf_DSRend_0000_0000_0002@@K@Z ; CDShowGraph::GetFields
  00101	85 c0		 test	 eax, eax
  00103	75 2f		 jne	 SHORT $LN8@GetNextFie@2

; 212  :     {
; 213  :         m_dwRendStartTime=0;

  00105	8b 8d 7c ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  0010b	c7 81 10 01 00
	00 00 00 00 00	 mov	 DWORD PTR [ecx+272], 0

; 214  :         UpdateDroppedFields();

  00115	8b 8d 7c ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  0011b	e8 00 00 00 00	 call	 ?UpdateDroppedFields@CDSSourceBase@@AAEXXZ ; CDSSourceBase::UpdateDroppedFields

; 215  :         return;

  00120	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00127	8d 4d ec	 lea	 ecx, DWORD PTR _lock$[ebp]
  0012a	e8 00 00 00 00	 call	 ??1CAutoCriticalSection@@UAE@XZ ; CAutoCriticalSection::~CAutoCriticalSection
  0012f	e9 b1 01 00 00	 jmp	 $LN11@GetNextFie@2
$LN8@GetNextFie@2:

; 216  :     }
; 217  : 
; 218  :     //width must be 16 byte aligned or optimized memcpy will not work
; 219  :     //this assert will never be triggered (checked in dsrend filter)
; 220  :     _ASSERTE((binfo.Width&0xf)==0);
; 221  : 
; 222  :     pInfo->FrameWidth=binfo.Width;

  00134	8b 55 08	 mov	 edx, DWORD PTR _pInfo$[ebp]
  00137	8b 45 88	 mov	 eax, DWORD PTR _binfo$[ebp]
  0013a	89 42 4c	 mov	 DWORD PTR [edx+76], eax

; 223  : 	// MH interlace or progressive
; 224  : 	pInfo->FrameHeight= (fields[0].flags==BUFFER_FLAGS_FIELD_UNKNOWN) ? binfo.Height : binfo.Height*2;

  0013d	83 7d a0 00	 cmp	 DWORD PTR _fields$[ebp+4], 0
  00141	75 0b		 jne	 SHORT $LN13@GetNextFie@2
  00143	8b 4d 8c	 mov	 ecx, DWORD PTR _binfo$[ebp+4]
  00146	89 8d 78 ff ff
	ff		 mov	 DWORD PTR tv131[ebp], ecx
  0014c	eb 0b		 jmp	 SHORT $LN14@GetNextFie@2
$LN13@GetNextFie@2:
  0014e	8b 55 8c	 mov	 edx, DWORD PTR _binfo$[ebp+4]
  00151	d1 e2		 shl	 edx, 1
  00153	89 95 78 ff ff
	ff		 mov	 DWORD PTR tv131[ebp], edx
$LN14@GetNextFie@2:
  00159	8b 45 08	 mov	 eax, DWORD PTR _pInfo$[ebp]
  0015c	8b 8d 78 ff ff
	ff		 mov	 ecx, DWORD PTR tv131[ebp]
  00162	89 48 50	 mov	 DWORD PTR [eax+80], ecx

; 225  :     pInfo->LineLength=binfo.Width*2;

  00165	8b 55 88	 mov	 edx, DWORD PTR _binfo$[ebp]
  00168	d1 e2		 shl	 edx, 1
  0016a	8b 45 08	 mov	 eax, DWORD PTR _pInfo$[ebp]
  0016d	89 50 48	 mov	 DWORD PTR [eax+72], edx

; 226  :     pInfo->FieldHeight=binfo.Height;

  00170	8b 4d 08	 mov	 ecx, DWORD PTR _pInfo$[ebp]
  00173	8b 55 8c	 mov	 edx, DWORD PTR _binfo$[ebp+4]
  00176	89 51 54	 mov	 DWORD PTR [ecx+84], edx

; 227  :     pInfo->InputPitch=pInfo->LineLength;

  00179	8b 45 08	 mov	 eax, DWORD PTR _pInfo$[ebp]
  0017c	8b 4d 08	 mov	 ecx, DWORD PTR _pInfo$[ebp]
  0017f	8b 51 48	 mov	 edx, DWORD PTR [ecx+72]
  00182	89 90 84 00 00
	00		 mov	 DWORD PTR [eax+132], edx

; 228  :     pInfo->bMissedFrame=FALSE;

  00188	8b 45 08	 mov	 eax, DWORD PTR _pInfo$[ebp]
  0018b	c7 40 6c 00 00
	00 00		 mov	 DWORD PTR [eax+108], 0

; 229  :     pInfo->bRunningLate=FALSE;

  00192	8b 4d 08	 mov	 ecx, DWORD PTR _pInfo$[ebp]
  00195	c7 41 68 00 00
	00 00		 mov	 DWORD PTR [ecx+104], 0

; 230  :     pInfo->CurrentFrame=binfo.CurrentFrame;

  0019c	8b 55 08	 mov	 edx, DWORD PTR _pInfo$[ebp]
  0019f	8b 45 90	 mov	 eax, DWORD PTR _binfo$[ebp+8]
  001a2	89 42 40	 mov	 DWORD PTR [edx+64], eax

; 231  : 
; 232  : 	//check if size has changed
; 233  :     if(m_CurrentX!=pInfo->FrameWidth || m_CurrentY!=pInfo->FrameHeight)

  001a5	8b 8d 7c ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  001ab	8b 55 08	 mov	 edx, DWORD PTR _pInfo$[ebp]
  001ae	8b 41 74	 mov	 eax, DWORD PTR [ecx+116]
  001b1	3b 42 4c	 cmp	 eax, DWORD PTR [edx+76]
  001b4	75 11		 jne	 SHORT $LN6@GetNextFie@2
  001b6	8b 8d 7c ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  001bc	8b 55 08	 mov	 edx, DWORD PTR _pInfo$[ebp]
  001bf	8b 41 78	 mov	 eax, DWORD PTR [ecx+120]
  001c2	3b 42 50	 cmp	 eax, DWORD PTR [edx+80]
  001c5	74 29		 je	 SHORT $LN7@GetNextFie@2
$LN6@GetNextFie@2:

; 234  :     {
; 235  :         m_CurrentX=pInfo->FrameWidth;

  001c7	8b 8d 7c ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  001cd	8b 55 08	 mov	 edx, DWORD PTR _pInfo$[ebp]
  001d0	8b 42 4c	 mov	 eax, DWORD PTR [edx+76]
  001d3	89 41 74	 mov	 DWORD PTR [ecx+116], eax

; 236  : 		m_CurrentY=pInfo->FrameHeight;

  001d6	8b 8d 7c ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  001dc	8b 55 08	 mov	 edx, DWORD PTR _pInfo$[ebp]
  001df	8b 42 50	 mov	 eax, DWORD PTR [edx+80]
  001e2	89 41 78	 mov	 DWORD PTR [ecx+120], eax

; 237  :         NotifySizeChange();

  001e5	8b 8d 7c ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  001eb	e8 00 00 00 00	 call	 ?NotifySizeChange@CSource@@IAEXXZ ; CSource::NotifySizeChange
$LN7@GetNextFie@2:

; 238  :     }
; 239  : 
; 240  :     UpdateDroppedFields();

  001f0	8b 8d 7c ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  001f6	e8 00 00 00 00	 call	 ?UpdateDroppedFields@CDSSourceBase@@AAEXXZ ; CDSSourceBase::UpdateDroppedFields

; 241  : 
; 242  :     static BOOL FieldFlag=TRUE;
; 243  :     for(int i=0;i<size;i++)

  001fb	c7 45 80 00 00
	00 00		 mov	 DWORD PTR _i$144520[ebp], 0
  00202	eb 09		 jmp	 SHORT $LN5@GetNextFie@2
$LN4@GetNextFie@2:
  00204	8b 4d 80	 mov	 ecx, DWORD PTR _i$144520[ebp]
  00207	83 c1 01	 add	 ecx, 1
  0020a	89 4d 80	 mov	 DWORD PTR _i$144520[ebp], ecx
$LN5@GetNextFie@2:
  0020d	8b 55 80	 mov	 edx, DWORD PTR _i$144520[ebp]
  00210	3b 55 98	 cmp	 edx, DWORD PTR _size$[ebp]
  00213	0f 8d a6 00 00
	00		 jge	 $LN3@GetNextFie@2

; 244  :     {
; 245  :         m_PictureHistory[i].pData=fields[i].pBuffer;

  00219	8b 45 80	 mov	 eax, DWORD PTR _i$144520[ebp]
  0021c	6b c0 0c	 imul	 eax, 12			; 0000000cH
  0021f	8b 8d 7c ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00225	8b 55 80	 mov	 edx, DWORD PTR _i$144520[ebp]
  00228	8b 54 d5 9c	 mov	 edx, DWORD PTR _fields$[ebp+edx*8]
  0022c	89 54 01 7c	 mov	 DWORD PTR [ecx+eax+124], edx

; 246  :         m_PictureHistory[i].IsFirstInSeries=FALSE;

  00230	8b 45 80	 mov	 eax, DWORD PTR _i$144520[ebp]
  00233	6b c0 0c	 imul	 eax, 12			; 0000000cH
  00236	8b 8d 7c ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  0023c	c7 84 01 84 00
	00 00 00 00 00
	00		 mov	 DWORD PTR [ecx+eax+132], 0

; 247  :         if(fields[i].flags!=BUFFER_FLAGS_FIELD_UNKNOWN)

  00247	8b 55 80	 mov	 edx, DWORD PTR _i$144520[ebp]
  0024a	83 7c d5 a0 00	 cmp	 DWORD PTR _fields$[ebp+edx*8+4], 0
  0024f	74 35		 je	 SHORT $LN2@GetNextFie@2

; 248  :         {
; 249  :             m_PictureHistory[i].Flags= FieldFlag==TRUE ? PICTURE_INTERLACED_EVEN : PICTURE_INTERLACED_ODD;

  00251	a1 00 00 00 00	 mov	 eax, DWORD PTR ?FieldFlag@?O@??GetNextField@CDSSourceBase@@UAEXPAUTDeinterlaceInfo@@H@Z@4HA
  00256	83 e8 01	 sub	 eax, 1
  00259	f7 d8		 neg	 eax
  0025b	1b c0		 sbb	 eax, eax
  0025d	83 c0 02	 add	 eax, 2
  00260	8b 4d 80	 mov	 ecx, DWORD PTR _i$144520[ebp]
  00263	6b c9 0c	 imul	 ecx, 12			; 0000000cH
  00266	8b 95 7c ff ff
	ff		 mov	 edx, DWORD PTR _this$[ebp]
  0026c	89 84 0a 80 00
	00 00		 mov	 DWORD PTR [edx+ecx+128], eax

; 250  :             FieldFlag=!FieldFlag;

  00273	33 c0		 xor	 eax, eax
  00275	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?FieldFlag@?O@??GetNextField@CDSSourceBase@@UAEXPAUTDeinterlaceInfo@@H@Z@4HA, 0
  0027c	0f 94 c0	 sete	 al
  0027f	a3 00 00 00 00	 mov	 DWORD PTR ?FieldFlag@?O@??GetNextField@CDSSourceBase@@UAEXPAUTDeinterlaceInfo@@H@Z@4HA, eax

; 251  :         }
; 252  :         else

  00284	eb 1a		 jmp	 SHORT $LN1@GetNextFie@2
$LN2@GetNextFie@2:

; 253  :         {
; 254  :             m_PictureHistory[i].Flags=fields[i].flags;

  00286	8b 4d 80	 mov	 ecx, DWORD PTR _i$144520[ebp]
  00289	6b c9 0c	 imul	 ecx, 12			; 0000000cH
  0028c	8b 95 7c ff ff
	ff		 mov	 edx, DWORD PTR _this$[ebp]
  00292	8b 45 80	 mov	 eax, DWORD PTR _i$144520[ebp]
  00295	8b 44 c5 a0	 mov	 eax, DWORD PTR _fields$[ebp+eax*8+4]
  00299	89 84 0a 80 00
	00 00		 mov	 DWORD PTR [edx+ecx+128], eax
$LN1@GetNextFie@2:

; 255  :         }
; 256  : 
; 257  :         pInfo->PictureHistory[i] = &m_PictureHistory[i];

  002a0	8b 4d 80	 mov	 ecx, DWORD PTR _i$144520[ebp]
  002a3	6b c9 0c	 imul	 ecx, 12			; 0000000cH
  002a6	8b 95 7c ff ff
	ff		 mov	 edx, DWORD PTR _this$[ebp]
  002ac	8d 44 0a 7c	 lea	 eax, DWORD PTR [edx+ecx+124]
  002b0	8b 4d 80	 mov	 ecx, DWORD PTR _i$144520[ebp]
  002b3	8b 55 08	 mov	 edx, DWORD PTR _pInfo$[ebp]
  002b6	89 44 8a 04	 mov	 DWORD PTR [edx+ecx*4+4], eax

; 258  :     }

  002ba	e9 45 ff ff ff	 jmp	 $LN4@GetNextFie@2
$LN3@GetNextFie@2:

; 259  : 	Timing_IncrementUsedFields();

  002bf	e8 00 00 00 00	 call	 ?Timing_IncrementUsedFields@@YAXXZ ; Timing_IncrementUsedFields

; 260  :     m_dwRendStartTime=timeGetTime();

  002c4	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__timeGetTime@0
  002ca	8b 8d 7c ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  002d0	89 81 10 01 00
	00		 mov	 DWORD PTR [ecx+272], eax

; 261  : }

  002d6	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  002dd	8d 4d ec	 lea	 ecx, DWORD PTR _lock$[ebp]
  002e0	e8 00 00 00 00	 call	 ??1CAutoCriticalSection@@UAE@XZ ; CAutoCriticalSection::~CAutoCriticalSection
$LN11@GetNextFie@2:
  002e5	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  002e8	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  002ef	59		 pop	 ecx
  002f0	8b e5		 mov	 esp, ebp
  002f2	5d		 pop	 ebp
  002f3	c2 08 00	 ret	 8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?GetNextField@CDSSourceBase@@UAEXPAUTDeinterlaceInfo@@H@Z$0:
  00000	8d 4d ec	 lea	 ecx, DWORD PTR _lock$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CAutoCriticalSection@@UAE@XZ ; CAutoCriticalSection::~CAutoCriticalSection
__ehhandler$?GetNextField@CDSSourceBase@@UAEXPAUTDeinterlaceInfo@@H@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 80	 mov	 ecx, DWORD PTR [edx-128]
  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$?GetNextField@CDSSourceBase@@UAEXPAUTDeinterlaceInfo@@H@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?GetNextField@CDSSourceBase@@UAEXPAUTDeinterlaceInfo@@H@Z ENDP ; CDSSourceBase::GetNextField
; Function compile flags: /Odtp
;	COMDAT ?SetSourceAsCurrent@CDSSourceBase@@UAEXXZ
_TEXT	SEGMENT
tv94 = -8						; size = 4
_this$ = -4						; size = 4
?SetSourceAsCurrent@CDSSourceBase@@UAEXXZ PROC		; CDSSourceBase::SetSourceAsCurrent, COMDAT
; _this$ = ecx

; 663  : {

  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

; 664  :     if (GetVolume() != NULL)

  00009	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	8b 10		 mov	 edx, DWORD PTR [eax]
  0000e	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00011	8b 42 24	 mov	 eax, DWORD PTR [edx+36]
  00014	ff d0		 call	 eax
  00016	85 c0		 test	 eax, eax
  00018	74 48		 je	 SHORT $LN2@SetSourceA

; 665  :     {
; 666  :         EventCollector->RaiseEvent(this, EVENT_VOLUME, 0, GetVolume()->GetValue());

  0001a	83 7d fc 00	 cmp	 DWORD PTR _this$[ebp], 0
  0001e	74 0b		 je	 SHORT $LN4@SetSourceA
  00020	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00023	83 c1 40	 add	 ecx, 64			; 00000040H
  00026	89 4d f8	 mov	 DWORD PTR tv94[ebp], ecx
  00029	eb 07		 jmp	 SHORT $LN5@SetSourceA
$LN4@SetSourceA:
  0002b	c7 45 f8 00 00
	00 00		 mov	 DWORD PTR tv94[ebp], 0
$LN5@SetSourceA:
  00032	6a 00		 push	 0
  00034	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00037	8b 02		 mov	 eax, DWORD PTR [edx]
  00039	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0003c	8b 50 24	 mov	 edx, DWORD PTR [eax+36]
  0003f	ff d2		 call	 edx
  00041	8b c8		 mov	 ecx, eax
  00043	e8 00 00 00 00	 call	 ?GetValue@CSliderSetting@@QAEJXZ ; CSliderSetting::GetValue
  00048	50		 push	 eax
  00049	6a 00		 push	 0
  0004b	6a 0e		 push	 14			; 0000000eH
  0004d	8b 45 f8	 mov	 eax, DWORD PTR tv94[ebp]
  00050	50		 push	 eax
  00051	b9 00 00 00 00	 mov	 ecx, OFFSET ?EventCollector@@3V?$SmartPtr@VCEventCollector@@@@A ; EventCollector
  00056	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCEventCollector@@@@QBEPAVCEventCollector@@XZ ; SmartPtr<CEventCollector>::operator->
  0005b	8b c8		 mov	 ecx, eax
  0005d	e8 00 00 00 00	 call	 ?RaiseEvent@CEventCollector@@QAEXPAVCEventObject@@W4eEventType@@JJPAW43@@Z ; CEventCollector::RaiseEvent
$LN2@SetSourceA:

; 667  :     }
; 668  : }

  00062	8b e5		 mov	 esp, ebp
  00064	5d		 pop	 ebp
  00065	c3		 ret	 0
?SetSourceAsCurrent@CDSSourceBase@@UAEXXZ ENDP		; CDSSourceBase::SetSourceAsCurrent
_TEXT	ENDS
PUBLIC	?VolumeOnChange@CDSSourceBase@@QAEXJJ@Z		; CDSSourceBase::VolumeOnChange
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?VolumeOnChange@CDSSourceBase@@QAEXJJ@Z DD 0ffffffffH
	DD	00H
	DD	0ffffffffH
	DD	00H
__catchsym$?VolumeOnChange@CDSSourceBase@@QAEXJJ@Z$2 DD 08H
	DD	FLAT:??_R0?AVCDShowException@@@8
	DD	0ffffffe8H
	DD	FLAT:__catch$?VolumeOnChange@CDSSourceBase@@QAEXJJ@Z$0
__tryblocktable$?VolumeOnChange@CDSSourceBase@@QAEXJJ@Z DD 00H
	DD	00H
	DD	01H
	DD	01H
	DD	FLAT:__catchsym$?VolumeOnChange@CDSSourceBase@@QAEXJJ@Z$2
__ehfuncinfo$?VolumeOnChange@CDSSourceBase@@QAEXJJ@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$?VolumeOnChange@CDSSourceBase@@QAEXJJ@Z
	DD	01H
	DD	FLAT:__tryblocktable$?VolumeOnChange@CDSSourceBase@@QAEXJJ@Z
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?VolumeOnChange@CDSSourceBase@@QAEXJJ@Z
_TEXT	SEGMENT
tv156 = -36						; size = 4
tv89 = -32						; size = 4
_this$ = -28						; size = 4
_e$144650 = -24						; size = 4
_pControlls$ = -20					; size = 4
__$EHRec$ = -16						; size = 16
_NewValue$ = 8						; size = 4
_OldValue$ = 12						; size = 4
?VolumeOnChange@CDSSourceBase@@QAEXJJ@Z PROC		; CDSSourceBase::VolumeOnChange, COMDAT
; _this$ = ecx

; 530  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?VolumeOnChange@CDSSourceBase@@QAEXJJ@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 14	 sub	 esp, 20			; 00000014H
  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 e4	 mov	 DWORD PTR _this$[ebp], ecx

; 531  :     if(m_pDSGraph==NULL)

  0002f	8b 45 e4	 mov	 eax, DWORD PTR _this$[ebp]
  00032	83 78 70 00	 cmp	 DWORD PTR [eax+112], 0
  00036	75 14		 jne	 SHORT $LN3@VolumeOnCh

; 532  :     {
; 533  :         LOG(3,_T("Can't change volume because there is no filter graph"));

  00038	68 00 00 00 00	 push	 OFFSET ??_C@_1GK@BKNKKAOK@?$AAC?$AAa?$AAn?$AA?8?$AAt?$AA?5?$AAc?$AAh?$AAa?$AAn?$AAg?$AAe?$AA?5?$AAv?$AAo?$AAl?$AAu?$AAm?$AAe?$AA?5?$AAb?$AAe?$AAc?$AAa?$AAu?$AAs?$AAe?$AA?5?$AAt?$AAh?$AAe?$AAr@
  0003d	6a 03		 push	 3
  0003f	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00044	83 c4 08	 add	 esp, 8

; 534  :         return;

  00047	e9 00 01 00 00	 jmp	 $LN4@VolumeOnCh
$LN3@VolumeOnCh:

; 535  :     }
; 536  :     CDShowAudioControls *pControlls=m_pDSGraph->GetAudioControls();

  0004c	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  0004f	8b 49 70	 mov	 ecx, DWORD PTR [ecx+112]
  00052	e8 00 00 00 00	 call	 ?GetAudioControls@CDShowGraph@@QAEPAVCDShowAudioControls@@XZ ; CDShowGraph::GetAudioControls
  00057	89 45 ec	 mov	 DWORD PTR _pControlls$[ebp], eax

; 537  :     if(pControlls==NULL)

  0005a	83 7d ec 00	 cmp	 DWORD PTR _pControlls$[ebp], 0
  0005e	75 14		 jne	 SHORT $LN2@VolumeOnCh

; 538  :     {
; 539  :         LOG(3,_T("Failed to get audio controlls"));

  00060	68 00 00 00 00	 push	 OFFSET ??_C@_1DM@BGPJJLD@?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAt?$AAo?$AA?5?$AAg?$AAe?$AAt?$AA?5?$AAa?$AAu?$AAd?$AAi?$AAo?$AA?5?$AAc?$AAo?$AAn?$AAt?$AAr?$AAo?$AAl?$AAl?$AAs?$AA?$AA@
  00065	6a 03		 push	 3
  00067	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  0006c	83 c4 08	 add	 esp, 8

; 540  :         return;

  0006f	e9 d8 00 00 00	 jmp	 $LN4@VolumeOnCh
$LN2@VolumeOnCh:

; 541  :     }
; 542  : 
; 543  :     try
; 544  :     {

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

; 545  :         pControlls->SetVolume(NewValue);

  0007b	8b 55 08	 mov	 edx, DWORD PTR _NewValue$[ebp]
  0007e	52		 push	 edx
  0007f	8b 45 ec	 mov	 eax, DWORD PTR _pControlls$[ebp]
  00082	8b 10		 mov	 edx, DWORD PTR [eax]
  00084	8b 4d ec	 mov	 ecx, DWORD PTR _pControlls$[ebp]
  00087	8b 42 0c	 mov	 eax, DWORD PTR [edx+12]
  0008a	ff d0		 call	 eax

; 546  :         EventCollector->RaiseEvent(this, EVENT_VOLUME, OldValue, NewValue);

  0008c	83 7d e4 00	 cmp	 DWORD PTR _this$[ebp], 0
  00090	74 0b		 je	 SHORT $LN6@VolumeOnCh
  00092	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00095	83 c1 40	 add	 ecx, 64			; 00000040H
  00098	89 4d e0	 mov	 DWORD PTR tv89[ebp], ecx
  0009b	eb 07		 jmp	 SHORT $LN7@VolumeOnCh
$LN6@VolumeOnCh:
  0009d	c7 45 e0 00 00
	00 00		 mov	 DWORD PTR tv89[ebp], 0
$LN7@VolumeOnCh:
  000a4	6a 00		 push	 0
  000a6	8b 55 08	 mov	 edx, DWORD PTR _NewValue$[ebp]
  000a9	52		 push	 edx
  000aa	8b 45 0c	 mov	 eax, DWORD PTR _OldValue$[ebp]
  000ad	50		 push	 eax
  000ae	6a 0e		 push	 14			; 0000000eH
  000b0	8b 4d e0	 mov	 ecx, DWORD PTR tv89[ebp]
  000b3	51		 push	 ecx
  000b4	b9 00 00 00 00	 mov	 ecx, OFFSET ?EventCollector@@3V?$SmartPtr@VCEventCollector@@@@A ; EventCollector
  000b9	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCEventCollector@@@@QBEPAVCEventCollector@@XZ ; SmartPtr<CEventCollector>::operator->
  000be	8b c8		 mov	 ecx, eax
  000c0	e8 00 00 00 00	 call	 ?RaiseEvent@CEventCollector@@QAEXPAVCEventObject@@W4eEventType@@JJPAW43@@Z ; CEventCollector::RaiseEvent

; 547  :     }

  000c5	eb 7e		 jmp	 SHORT $LN10@VolumeOnCh
__catch$?VolumeOnChange@CDSSourceBase@@QAEXJJ@Z$0:

; 548  :     catch(CDShowException& e)
; 549  :     {
; 550  :         LOG(3,"Exception in VolumeOnChange, Error: %s",e.what());

  000c7	8b 55 e8	 mov	 edx, DWORD PTR _e$144650[ebp]
  000ca	8b 02		 mov	 eax, DWORD PTR [edx]
  000cc	8b 4d e8	 mov	 ecx, DWORD PTR _e$144650[ebp]
  000cf	8b 50 04	 mov	 edx, DWORD PTR [eax+4]
  000d2	ff d2		 call	 edx
  000d4	50		 push	 eax
  000d5	68 00 00 00 00	 push	 OFFSET ??_C@_0CH@POMENHBN@Exception?5in?5VolumeOnChange?0?5Err@
  000da	6a 03		 push	 3
  000dc	e8 00 00 00 00	 call	 ?LOG@@YAXHPBDZZ		; LOG
  000e1	83 c4 0c	 add	 esp, 12			; 0000000cH

; 551  :         m_Volume->SetValue(OldValue);

  000e4	6a 00		 push	 0
  000e6	8b 45 0c	 mov	 eax, DWORD PTR _OldValue$[ebp]
  000e9	50		 push	 eax
  000ea	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  000ed	81 c1 3c 01 00
	00		 add	 ecx, 316		; 0000013cH
  000f3	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QBEPAVCVolumeSetting@CDSSourceBase@@XZ ; SmartPtr<CDSSourceBase::CVolumeSetting>::operator->
  000f8	8b c8		 mov	 ecx, eax
  000fa	e8 00 00 00 00	 call	 ?SetValue@CSliderSetting@@QAEXJH@Z ; CSliderSetting::SetValue

; 552  :         EventCollector->RaiseEvent(this, EVENT_VOLUME, OldValue, OldValue);

  000ff	83 7d e4 00	 cmp	 DWORD PTR _this$[ebp], 0
  00103	74 0b		 je	 SHORT $LN8@VolumeOnCh
  00105	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00108	83 c1 40	 add	 ecx, 64			; 00000040H
  0010b	89 4d dc	 mov	 DWORD PTR tv156[ebp], ecx
  0010e	eb 07		 jmp	 SHORT $LN9@VolumeOnCh
$LN8@VolumeOnCh:
  00110	c7 45 dc 00 00
	00 00		 mov	 DWORD PTR tv156[ebp], 0
$LN9@VolumeOnCh:
  00117	6a 00		 push	 0
  00119	8b 55 0c	 mov	 edx, DWORD PTR _OldValue$[ebp]
  0011c	52		 push	 edx
  0011d	8b 45 0c	 mov	 eax, DWORD PTR _OldValue$[ebp]
  00120	50		 push	 eax
  00121	6a 0e		 push	 14			; 0000000eH
  00123	8b 4d dc	 mov	 ecx, DWORD PTR tv156[ebp]
  00126	51		 push	 ecx
  00127	b9 00 00 00 00	 mov	 ecx, OFFSET ?EventCollector@@3V?$SmartPtr@VCEventCollector@@@@A ; EventCollector
  0012c	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCEventCollector@@@@QBEPAVCEventCollector@@XZ ; SmartPtr<CEventCollector>::operator->
  00131	8b c8		 mov	 ecx, eax
  00133	e8 00 00 00 00	 call	 ?RaiseEvent@CEventCollector@@QAEXPAVCEventObject@@W4eEventType@@JJPAW43@@Z ; CEventCollector::RaiseEvent

; 553  :     }

  00138	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
  0013f	b8 00 00 00 00	 mov	 eax, $LN4@VolumeOnCh
  00144	c3		 ret	 0
$LN10@VolumeOnCh:
  00145	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
$LN4@VolumeOnCh:

; 554  : }

  0014c	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp+4]
  0014f	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00156	59		 pop	 ecx
  00157	5f		 pop	 edi
  00158	5e		 pop	 esi
  00159	5b		 pop	 ebx
  0015a	8b e5		 mov	 esp, ebp
  0015c	5d		 pop	 ebp
  0015d	c2 08 00	 ret	 8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__ehhandler$?VolumeOnChange@CDSSourceBase@@QAEXJJ@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 d8	 mov	 ecx, DWORD PTR [edx-40]
  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$?VolumeOnChange@CDSSourceBase@@QAEXJJ@Z
  00016	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?VolumeOnChange@CDSSourceBase@@QAEXJJ@Z ENDP		; CDSSourceBase::VolumeOnChange
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?UnMute@CDSSourceBase@@UAEXXZ DD 0ffffffffH
	DD	00H
	DD	0ffffffffH
	DD	00H
__catchsym$?UnMute@CDSSourceBase@@UAEXXZ$2 DD 08H
	DD	FLAT:??_R0?AVCDShowException@@@8
	DD	0ffffffe4H
	DD	FLAT:__catch$?UnMute@CDSSourceBase@@UAEXXZ$0
__tryblocktable$?UnMute@CDSSourceBase@@UAEXXZ DD 00H
	DD	00H
	DD	01H
	DD	01H
	DD	FLAT:__catchsym$?UnMute@CDSSourceBase@@UAEXXZ$2
__ehfuncinfo$?UnMute@CDSSourceBase@@UAEXXZ DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$?UnMute@CDSSourceBase@@UAEXXZ
	DD	01H
	DD	FLAT:__tryblocktable$?UnMute@CDSSourceBase@@UAEXXZ
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?UnMute@CDSSourceBase@@UAEXXZ
_TEXT	SEGMENT
tv134 = -36						; size = 4
_this$ = -32						; size = 4
_e$144613 = -28						; size = 4
_volume$144611 = -24					; size = 4
_pControls$ = -20					; size = 4
__$EHRec$ = -16						; size = 16
?UnMute@CDSSourceBase@@UAEXXZ PROC			; CDSSourceBase::UnMute, COMDAT
; _this$ = ecx

; 444  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?UnMute@CDSSourceBase@@UAEXXZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	51		 push	 ecx
  00012	83 ec 14	 sub	 esp, 20			; 00000014H
  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 e0	 mov	 DWORD PTR _this$[ebp], ecx

; 445  :     if(m_pDSGraph==NULL)

  0002f	8b 45 e0	 mov	 eax, DWORD PTR _this$[ebp]
  00032	83 78 70 00	 cmp	 DWORD PTR [eax+112], 0
  00036	75 05		 jne	 SHORT $LN4@UnMute

; 446  :     {
; 447  :         return;

  00038	e9 d6 00 00 00	 jmp	 $LN5@UnMute
$LN4@UnMute:

; 448  :     }
; 449  :     CDShowAudioControls *pControls=m_pDSGraph->GetAudioControls();

  0003d	8b 4d e0	 mov	 ecx, DWORD PTR _this$[ebp]
  00040	8b 49 70	 mov	 ecx, DWORD PTR [ecx+112]
  00043	e8 00 00 00 00	 call	 ?GetAudioControls@CDShowGraph@@QAEPAVCDShowAudioControls@@XZ ; CDShowGraph::GetAudioControls
  00048	89 45 ec	 mov	 DWORD PTR _pControls$[ebp], eax

; 450  :     if(pControls==NULL)

  0004b	83 7d ec 00	 cmp	 DWORD PTR _pControls$[ebp], 0
  0004f	75 14		 jne	 SHORT $LN3@UnMute

; 451  :     {
; 452  :         LOG(3,_T("Failed to get audio controlls, mute will not work"));

  00051	68 00 00 00 00	 push	 OFFSET ??_C@_1GE@OEPLMCNM@?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAt?$AAo?$AA?5?$AAg?$AAe?$AAt?$AA?5?$AAa?$AAu?$AAd?$AAi?$AAo?$AA?5?$AAc?$AAo?$AAn?$AAt?$AAr?$AAo?$AAl?$AAl?$AAs?$AA?0?$AA?5?$AAm@
  00056	6a 03		 push	 3
  00058	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  0005d	83 c4 08	 add	 esp, 8

; 453  :         return;

  00060	e9 ae 00 00 00	 jmp	 $LN5@UnMute
$LN3@UnMute:

; 454  :     }
; 455  : 
; 456  :     if(pControls->GetAudioCaps()|DSHOW_AUDIOCAPS_HAS_VOLUME)

  00065	8b 55 ec	 mov	 edx, DWORD PTR _pControls$[ebp]
  00068	8b 02		 mov	 eax, DWORD PTR [edx]
  0006a	8b 4d ec	 mov	 ecx, DWORD PTR _pControls$[ebp]
  0006d	8b 50 04	 mov	 edx, DWORD PTR [eax+4]
  00070	ff d2		 call	 edx
  00072	83 c8 01	 or	 eax, 1
  00075	0f 84 98 00 00
	00		 je	 $LN5@UnMute

; 457  :     {
; 458  :         long volume=m_Volume->GetValue();

  0007b	8b 4d e0	 mov	 ecx, DWORD PTR _this$[ebp]
  0007e	81 c1 3c 01 00
	00		 add	 ecx, 316		; 0000013cH
  00084	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCVolumeSetting@CDSSourceBase@@@@QBEPAVCVolumeSetting@CDSSourceBase@@XZ ; SmartPtr<CDSSourceBase::CVolumeSetting>::operator->
  00089	8b c8		 mov	 ecx, eax
  0008b	e8 00 00 00 00	 call	 ?GetValue@CSliderSetting@@QAEJXZ ; CSliderSetting::GetValue
  00090	89 45 e8	 mov	 DWORD PTR _volume$144611[ebp], eax

; 459  :         try
; 460  :         {

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

; 461  :             pControls->SetVolume(volume);

  0009a	8b 45 e8	 mov	 eax, DWORD PTR _volume$144611[ebp]
  0009d	50		 push	 eax
  0009e	8b 4d ec	 mov	 ecx, DWORD PTR _pControls$[ebp]
  000a1	8b 11		 mov	 edx, DWORD PTR [ecx]
  000a3	8b 4d ec	 mov	 ecx, DWORD PTR _pControls$[ebp]
  000a6	8b 42 0c	 mov	 eax, DWORD PTR [edx+12]
  000a9	ff d0		 call	 eax

; 462  :             EventCollector->RaiseEvent(this,EVENT_MUTE,1,0);

  000ab	83 7d e0 00	 cmp	 DWORD PTR _this$[ebp], 0
  000af	74 0b		 je	 SHORT $LN7@UnMute
  000b1	8b 4d e0	 mov	 ecx, DWORD PTR _this$[ebp]
  000b4	83 c1 40	 add	 ecx, 64			; 00000040H
  000b7	89 4d dc	 mov	 DWORD PTR tv134[ebp], ecx
  000ba	eb 07		 jmp	 SHORT $LN8@UnMute
$LN7@UnMute:
  000bc	c7 45 dc 00 00
	00 00		 mov	 DWORD PTR tv134[ebp], 0
$LN8@UnMute:
  000c3	6a 00		 push	 0
  000c5	6a 00		 push	 0
  000c7	6a 01		 push	 1
  000c9	6a 0d		 push	 13			; 0000000dH
  000cb	8b 55 dc	 mov	 edx, DWORD PTR tv134[ebp]
  000ce	52		 push	 edx
  000cf	b9 00 00 00 00	 mov	 ecx, OFFSET ?EventCollector@@3V?$SmartPtr@VCEventCollector@@@@A ; EventCollector
  000d4	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCEventCollector@@@@QBEPAVCEventCollector@@XZ ; SmartPtr<CEventCollector>::operator->
  000d9	8b c8		 mov	 ecx, eax
  000db	e8 00 00 00 00	 call	 ?RaiseEvent@CEventCollector@@QAEXPAVCEventObject@@W4eEventType@@JJPAW43@@Z ; CEventCollector::RaiseEvent

; 463  :         }

  000e0	eb 2a		 jmp	 SHORT $LN9@UnMute
__catch$?UnMute@CDSSourceBase@@UAEXXZ$0:

; 464  :         catch(CDShowException& e)
; 465  :         {
; 466  :             LOG(3,"Exception in UnMute, Error: %s",e.what());

  000e2	8b 45 e4	 mov	 eax, DWORD PTR _e$144613[ebp]
  000e5	8b 10		 mov	 edx, DWORD PTR [eax]
  000e7	8b 4d e4	 mov	 ecx, DWORD PTR _e$144613[ebp]
  000ea	8b 42 04	 mov	 eax, DWORD PTR [edx+4]
  000ed	ff d0		 call	 eax
  000ef	50		 push	 eax
  000f0	68 00 00 00 00	 push	 OFFSET ??_C@_0BP@PEONNKHG@Exception?5in?5UnMute?0?5Error?3?5?$CFs?$AA@
  000f5	6a 03		 push	 3
  000f7	e8 00 00 00 00	 call	 ?LOG@@YAXHPBDZZ		; LOG
  000fc	83 c4 0c	 add	 esp, 12			; 0000000cH

; 467  :         }

  000ff	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
  00106	b8 00 00 00 00	 mov	 eax, $LN5@UnMute
  0010b	c3		 ret	 0
$LN9@UnMute:
  0010c	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
$LN5@UnMute:

; 468  :     }
; 469  : }

  00113	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp+4]
  00116	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0011d	59		 pop	 ecx
  0011e	5f		 pop	 edi
  0011f	5e		 pop	 esi
  00120	5b		 pop	 ebx
  00121	8b e5		 mov	 esp, ebp
  00123	5d		 pop	 ebp
  00124	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__ehhandler$?UnMute@CDSSourceBase@@UAEXXZ:
  00000	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00004	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00007	8b 4a d8	 mov	 ecx, DWORD PTR [edx-40]
  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$?UnMute@CDSSourceBase@@UAEXXZ
  00016	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?UnMute@CDSSourceBase@@UAEXXZ ENDP			; CDSSourceBase::UnMute
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Mute@CDSSourceBase@@UAEXXZ DD 0ffffffffH
	DD	00H
	DD	0ffffffffH
	DD	00H
__catchsym$?Mute@CDSSourceBase@@UAEXXZ$2 DD 08H
	DD	FLAT:??_R0?AVCDShowException@@@8
	DD	0ffffffe0H
	DD	FLAT:__catch$?Mute@CDSSourceBase@@UAEXXZ$0
__tryblocktable$?Mute@CDSSourceBase@@UAEXXZ DD 00H
	DD	00H
	DD	01H
	DD	01H
	DD	FLAT:__catchsym$?Mute@CDSSourceBase@@UAEXXZ$2
__ehfuncinfo$?Mute@CDSSourceBase@@UAEXXZ DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$?Mute@CDSSourceBase@@UAEXXZ
	DD	01H
	DD	FLAT:__tryblocktable$?Mute@CDSSourceBase@@UAEXXZ
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?Mute@CDSSourceBase@@UAEXXZ
_TEXT	SEGMENT
tv130 = -40						; size = 4
_this$ = -36						; size = 4
_e$144602 = -32						; size = 4
_max$144600 = -28					; size = 4
_min$144599 = -24					; size = 4
_pControls$ = -20					; size = 4
__$EHRec$ = -16						; size = 16
?Mute@CDSSourceBase@@UAEXXZ PROC			; CDSSourceBase::Mute, COMDAT
; _this$ = ecx

; 413  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?Mute@CDSSourceBase@@UAEXXZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	51		 push	 ecx
  00012	83 ec 18	 sub	 esp, 24			; 00000018H
  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 dc	 mov	 DWORD PTR _this$[ebp], ecx

; 414  :     if(m_pDSGraph==NULL)

  0002f	8b 45 dc	 mov	 eax, DWORD PTR _this$[ebp]
  00032	83 78 70 00	 cmp	 DWORD PTR [eax+112], 0
  00036	75 05		 jne	 SHORT $LN4@Mute

; 415  :     {
; 416  :         return;

  00038	e9 e1 00 00 00	 jmp	 $LN5@Mute
$LN4@Mute:

; 417  :     }
; 418  :     CDShowAudioControls *pControls=m_pDSGraph->GetAudioControls();

  0003d	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  00040	8b 49 70	 mov	 ecx, DWORD PTR [ecx+112]
  00043	e8 00 00 00 00	 call	 ?GetAudioControls@CDShowGraph@@QAEPAVCDShowAudioControls@@XZ ; CDShowGraph::GetAudioControls
  00048	89 45 ec	 mov	 DWORD PTR _pControls$[ebp], eax

; 419  :     if(pControls==NULL)

  0004b	83 7d ec 00	 cmp	 DWORD PTR _pControls$[ebp], 0
  0004f	75 14		 jne	 SHORT $LN3@Mute

; 420  :     {
; 421  :         LOG(3,_T("Failed to get audio controlls, mute will not work"));

  00051	68 00 00 00 00	 push	 OFFSET ??_C@_1GE@OEPLMCNM@?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAt?$AAo?$AA?5?$AAg?$AAe?$AAt?$AA?5?$AAa?$AAu?$AAd?$AAi?$AAo?$AA?5?$AAc?$AAo?$AAn?$AAt?$AAr?$AAo?$AAl?$AAl?$AAs?$AA?0?$AA?5?$AAm@
  00056	6a 03		 push	 3
  00058	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  0005d	83 c4 08	 add	 esp, 8

; 422  :         return;

  00060	e9 b9 00 00 00	 jmp	 $LN5@Mute
$LN3@Mute:

; 423  :     }
; 424  : 
; 425  :     if(pControls->GetAudioCaps()|DSHOW_AUDIOCAPS_HAS_VOLUME)

  00065	8b 55 ec	 mov	 edx, DWORD PTR _pControls$[ebp]
  00068	8b 02		 mov	 eax, DWORD PTR [edx]
  0006a	8b 4d ec	 mov	 ecx, DWORD PTR _pControls$[ebp]
  0006d	8b 50 04	 mov	 edx, DWORD PTR [eax+4]
  00070	ff d2		 call	 edx
  00072	83 c8 01	 or	 eax, 1
  00075	0f 84 a3 00 00
	00		 je	 $LN5@Mute

; 426  :     {
; 427  :         long min=0;

  0007b	c7 45 e8 00 00
	00 00		 mov	 DWORD PTR _min$144599[ebp], 0

; 428  :         long max=0;

  00082	c7 45 e4 00 00
	00 00		 mov	 DWORD PTR _max$144600[ebp], 0

; 429  :         pControls->GetVolumeMinMax(min,max);

  00089	8d 45 e4	 lea	 eax, DWORD PTR _max$144600[ebp]
  0008c	50		 push	 eax
  0008d	8d 4d e8	 lea	 ecx, DWORD PTR _min$144599[ebp]
  00090	51		 push	 ecx
  00091	8b 55 ec	 mov	 edx, DWORD PTR _pControls$[ebp]
  00094	8b 02		 mov	 eax, DWORD PTR [edx]
  00096	8b 4d ec	 mov	 ecx, DWORD PTR _pControls$[ebp]
  00099	8b 50 10	 mov	 edx, DWORD PTR [eax+16]
  0009c	ff d2		 call	 edx

; 430  : 
; 431  :         try
; 432  :         {

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

; 433  :             pControls->SetVolume(min);

  000a5	8b 45 e8	 mov	 eax, DWORD PTR _min$144599[ebp]
  000a8	50		 push	 eax
  000a9	8b 4d ec	 mov	 ecx, DWORD PTR _pControls$[ebp]
  000ac	8b 11		 mov	 edx, DWORD PTR [ecx]
  000ae	8b 4d ec	 mov	 ecx, DWORD PTR _pControls$[ebp]
  000b1	8b 42 0c	 mov	 eax, DWORD PTR [edx+12]
  000b4	ff d0		 call	 eax

; 434  :             EventCollector->RaiseEvent(this,EVENT_MUTE,0,1);

  000b6	83 7d dc 00	 cmp	 DWORD PTR _this$[ebp], 0
  000ba	74 0b		 je	 SHORT $LN7@Mute
  000bc	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  000bf	83 c1 40	 add	 ecx, 64			; 00000040H
  000c2	89 4d d8	 mov	 DWORD PTR tv130[ebp], ecx
  000c5	eb 07		 jmp	 SHORT $LN8@Mute
$LN7@Mute:
  000c7	c7 45 d8 00 00
	00 00		 mov	 DWORD PTR tv130[ebp], 0
$LN8@Mute:
  000ce	6a 00		 push	 0
  000d0	6a 01		 push	 1
  000d2	6a 00		 push	 0
  000d4	6a 0d		 push	 13			; 0000000dH
  000d6	8b 55 d8	 mov	 edx, DWORD PTR tv130[ebp]
  000d9	52		 push	 edx
  000da	b9 00 00 00 00	 mov	 ecx, OFFSET ?EventCollector@@3V?$SmartPtr@VCEventCollector@@@@A ; EventCollector
  000df	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCEventCollector@@@@QBEPAVCEventCollector@@XZ ; SmartPtr<CEventCollector>::operator->
  000e4	8b c8		 mov	 ecx, eax
  000e6	e8 00 00 00 00	 call	 ?RaiseEvent@CEventCollector@@QAEXPAVCEventObject@@W4eEventType@@JJPAW43@@Z ; CEventCollector::RaiseEvent

; 435  :         }

  000eb	eb 2a		 jmp	 SHORT $LN9@Mute
__catch$?Mute@CDSSourceBase@@UAEXXZ$0:

; 436  :         catch(CDShowException& e)
; 437  :         {
; 438  :             LOG(3,"Exception in Mute, Error: %s",e.what());

  000ed	8b 45 e0	 mov	 eax, DWORD PTR _e$144602[ebp]
  000f0	8b 10		 mov	 edx, DWORD PTR [eax]
  000f2	8b 4d e0	 mov	 ecx, DWORD PTR _e$144602[ebp]
  000f5	8b 42 04	 mov	 eax, DWORD PTR [edx+4]
  000f8	ff d0		 call	 eax
  000fa	50		 push	 eax
  000fb	68 00 00 00 00	 push	 OFFSET ??_C@_0BN@OLJBJAKO@Exception?5in?5Mute?0?5Error?3?5?$CFs?$AA@
  00100	6a 03		 push	 3
  00102	e8 00 00 00 00	 call	 ?LOG@@YAXHPBDZZ		; LOG
  00107	83 c4 0c	 add	 esp, 12			; 0000000cH

; 439  :         }

  0010a	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
  00111	b8 00 00 00 00	 mov	 eax, $LN5@Mute
  00116	c3		 ret	 0
$LN9@Mute:
  00117	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
$LN5@Mute:

; 440  :     }
; 441  : }

  0011e	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp+4]
  00121	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00128	59		 pop	 ecx
  00129	5f		 pop	 edi
  0012a	5e		 pop	 esi
  0012b	5b		 pop	 ebx
  0012c	8b e5		 mov	 esp, ebp
  0012e	5d		 pop	 ebp
  0012f	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__ehhandler$?Mute@CDSSourceBase@@UAEXXZ:
  00000	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00004	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00007	8b 4a d4	 mov	 ecx, DWORD PTR [edx-44]
  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$?Mute@CDSSourceBase@@UAEXXZ
  00016	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?Mute@CDSSourceBase@@UAEXXZ ENDP			; CDSSourceBase::Mute
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\dshowsource\dssourcebase.h
;	COMDAT ?OnChange@CVolumeSetting@CDSSourceBase@@UAEXJJ@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_NewValue$ = 8						; size = 4
_OldValue$ = 12						; size = 4
?OnChange@CVolumeSetting@CDSSourceBase@@UAEXJJ@Z PROC	; CDSSourceBase::CVolumeSetting::OnChange, COMDAT
; _this$ = ecx

; 119  :     DEFINE_SLIDER_CALLBACK_SETTING(CDSSourceBase, Volume);

  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 _OldValue$[ebp]
  0000a	50		 push	 eax
  0000b	8b 4d 08	 mov	 ecx, DWORD PTR _NewValue$[ebp]
  0000e	51		 push	 ecx
  0000f	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00012	8b 8a b0 00 00
	00		 mov	 ecx, DWORD PTR [edx+176]
  00018	e8 00 00 00 00	 call	 ?VolumeOnChange@CDSSourceBase@@QAEXJJ@Z ; CDSSourceBase::VolumeOnChange
  0001d	8b e5		 mov	 esp, ebp
  0001f	5d		 pop	 ebp
  00020	c2 08 00	 ret	 8
?OnChange@CVolumeSetting@CDSSourceBase@@UAEXJJ@Z ENDP	; CDSSourceBase::CVolumeSetting::OnChange
PUBLIC	?StopAndSeekToBeginning@CDSSourceBase@@QAEXXZ	; CDSSourceBase::StopAndSeekToBeginning
;	COMDAT xdata$x
; File c:\develop\dscaler423a\dscaler\dshowsource\dssourcebase.cpp
xdata$x	SEGMENT
__unwindtable$?StopAndSeekToBeginning@CDSSourceBase@@QAEXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?StopAndSeekToBeginning@CDSSourceBase@@QAEXXZ$2
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	02H
	DD	FLAT:__unwindfunclet$?StopAndSeekToBeginning@CDSSourceBase@@QAEXXZ$3
	DD	03H
	DD	FLAT:__unwindfunclet$?StopAndSeekToBeginning@CDSSourceBase@@QAEXXZ$4
__catchsym$?StopAndSeekToBeginning@CDSSourceBase@@QAEXXZ$5 DD 08H
	DD	FLAT:??_R0?AVCDShowException@@@8
	DD	0ffffffbcH
	DD	FLAT:__catch$?StopAndSeekToBeginning@CDSSourceBase@@QAEXXZ$0
__tryblocktable$?StopAndSeekToBeginning@CDSSourceBase@@QAEXXZ DD 01H
	DD	01H
	DD	04H
	DD	01H
	DD	FLAT:__catchsym$?StopAndSeekToBeginning@CDSSourceBase@@QAEXXZ$5
__ehfuncinfo$?StopAndSeekToBeginning@CDSSourceBase@@QAEXXZ DD 019930522H
	DD	05H
	DD	FLAT:__unwindtable$?StopAndSeekToBeginning@CDSSourceBase@@QAEXXZ
	DD	01H
	DD	FLAT:__tryblocktable$?StopAndSeekToBeginning@CDSSourceBase@@QAEXXZ
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?StopAndSeekToBeginning@CDSSourceBase@@QAEXXZ
_TEXT	SEGMENT
tv155 = -240						; size = 4
tv65 = -236						; size = 4
_this$ = -232						; size = 4
$T352687 = -228						; size = 28
$T352686 = -200						; size = 4
$T352685 = -196						; size = 128
_e$144485 = -68						; size = 4
_pos$144477 = -64					; size = 8
_duration$144478 = -56					; size = 8
_pos1$144479 = -48					; size = 8
_duration1$144481 = -40					; size = 8
_pSeeking$144474 = -28					; size = 4
_lock$ = -24						; size = 8
__$EHRec$ = -16						; size = 16
?StopAndSeekToBeginning@CDSSourceBase@@QAEXXZ PROC	; CDSSourceBase::StopAndSeekToBeginning, COMDAT
; _this$ = ecx

; 133  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?StopAndSeekToBeginning@CDSSourceBase@@QAEXXZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	51		 push	 ecx
  00012	81 ec e0 00 00
	00		 sub	 esp, 224		; 000000e0H
  00018	53		 push	 ebx
  00019	56		 push	 esi
  0001a	57		 push	 edi
  0001b	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00020	33 c5		 xor	 eax, ebp
  00022	50		 push	 eax
  00023	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp+4]
  00026	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  0002c	89 65 f0	 mov	 DWORD PTR __$EHRec$[ebp], esp
  0002f	89 8d 18 ff ff
	ff		 mov	 DWORD PTR _this$[ebp], ecx

; 134  :     CAutoCriticalSection lock(m_hOutThreadSync);

  00035	8b 85 18 ff ff
	ff		 mov	 eax, DWORD PTR _this$[ebp]
  0003b	05 f8 00 00 00	 add	 eax, 248		; 000000f8H
  00040	50		 push	 eax
  00041	8d 4d e8	 lea	 ecx, DWORD PTR _lock$[ebp]
  00044	e8 00 00 00 00	 call	 ??0CAutoCriticalSection@@QAE@AAU_RTL_CRITICAL_SECTION@@@Z ; CAutoCriticalSection::CAutoCriticalSection
  00049	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+12], 0

; 135  :     if(m_pDSGraph!=NULL)

  00050	8b 8d 18 ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00056	83 79 70 00	 cmp	 DWORD PTR [ecx+112], 0
  0005a	0f 84 3b 01 00
	00		 je	 $LN13@StopAndSee

; 136  :     {
; 137  :         try
; 138  :         {

  00060	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+12], 1
  00064	9b		 fwait

; 139  :             //we must ensure that the output thread don't try to get any
; 140  :             //more fields. if it does a deadlock can occure.
; 141  :             //the deadlock will only occure if the output thread is
; 142  :             //blocked when it accesses the main threads gui,
; 143  :             //since this prevents IDSRendFilter::FreeFields from being called
; 144  :             m_pDSGraph->stop();

  00065	8b 95 18 ff ff
	ff		 mov	 edx, DWORD PTR _this$[ebp]
  0006b	8b 4a 70	 mov	 ecx, DWORD PTR [edx+112]
  0006e	e8 00 00 00 00	 call	 ?stop@CDShowGraph@@QAEXXZ ; CDShowGraph::stop

; 145  : 
; 146  :             //i don't know if this is the right place to put this
; 147  :             //but it looks like its working
; 148  :             CDShowSeeking *pSeeking=m_pDSGraph->GetSeeking();

  00073	8b 85 18 ff ff
	ff		 mov	 eax, DWORD PTR _this$[ebp]
  00079	8b 48 70	 mov	 ecx, DWORD PTR [eax+112]
  0007c	e8 00 00 00 00	 call	 ?GetSeeking@CDShowGraph@@QAEPAVCDShowSeeking@@XZ ; CDShowGraph::GetSeeking
  00081	89 45 e4	 mov	 DWORD PTR _pSeeking$144474[ebp], eax

; 149  :             if(pSeeking!=NULL)

  00084	83 7d e4 00	 cmp	 DWORD PTR _pSeeking$144474[ebp], 0
  00088	74 5a		 je	 SHORT $LN1@StopAndSee

; 150  :             {
; 151  :                 //here is a sample on how to get the positions
; 152  :                 //sometimes AM_SEEKING_CanGetCurrentPos is not set but
; 153  :                 //IMediaSeeking::GetCurrentPosition still works.
; 154  :                 if(pSeeking->GetCaps()&AM_SEEKING_CanGetDuration)

  0008a	8b 4d e4	 mov	 ecx, DWORD PTR _pSeeking$144474[ebp]
  0008d	e8 00 00 00 00	 call	 ?GetCaps@CDShowSeeking@@QAEKXZ ; CDShowSeeking::GetCaps
  00092	83 e0 20	 and	 eax, 32			; 00000020H
  00095	74 34		 je	 SHORT $LN2@StopAndSee

; 155  :                 {
; 156  :                     LONGLONG pos=pSeeking->GetCurrentPos();

  00097	8b 4d e4	 mov	 ecx, DWORD PTR _pSeeking$144474[ebp]
  0009a	e8 00 00 00 00	 call	 ?GetCurrentPos@CDShowSeeking@@QAE_JXZ ; CDShowSeeking::GetCurrentPos
  0009f	89 45 c0	 mov	 DWORD PTR _pos$144477[ebp], eax
  000a2	89 55 c4	 mov	 DWORD PTR _pos$144477[ebp+4], edx

; 157  :                     LONGLONG duration=pSeeking->GetDuration();

  000a5	8b 4d e4	 mov	 ecx, DWORD PTR _pSeeking$144474[ebp]
  000a8	e8 00 00 00 00	 call	 ?GetDuration@CDShowSeeking@@QAE_JXZ ; CDShowSeeking::GetDuration
  000ad	89 45 c8	 mov	 DWORD PTR _duration$144478[ebp], eax
  000b0	89 55 cc	 mov	 DWORD PTR _duration$144478[ebp+4], edx

; 158  :                     double pos1=pos/(double)10000000;

  000b3	df 6d c0	 fild	 QWORD PTR _pos$144477[ebp]
  000b6	dc 35 00 00 00
	00		 fdiv	 QWORD PTR __real@416312d000000000
  000bc	dd 5d d0	 fstp	 QWORD PTR _pos1$144479[ebp]

; 159  :                     double duration1=duration/(double)10000000;

  000bf	df 6d c8	 fild	 QWORD PTR _duration$144478[ebp]
  000c2	dc 35 00 00 00
	00		 fdiv	 QWORD PTR __real@416312d000000000
  000c8	dd 5d d8	 fstp	 QWORD PTR _duration1$144481[ebp]
$LN2@StopAndSee:

; 160  :                     LOGD(_T("Current media position in seconds: %f / %f\n"),pos1,duration1);
; 161  :                 }
; 162  : 
; 163  :                 //atleast one of those flags must be set to be able to seek to the begining
; 164  :                 if(pSeeking->GetCaps()&(AM_SEEKING_CanSeekBackwards|AM_SEEKING_CanSeekAbsolute))

  000cb	8b 4d e4	 mov	 ecx, DWORD PTR _pSeeking$144474[ebp]
  000ce	e8 00 00 00 00	 call	 ?GetCaps@CDShowSeeking@@QAEKXZ ; CDShowSeeking::GetCaps
  000d3	83 e0 05	 and	 eax, 5
  000d6	74 0c		 je	 SHORT $LN1@StopAndSee

; 165  :                 {
; 166  :                     //seek to the begining
; 167  :                     pSeeking->SeekTo(0);

  000d8	6a 00		 push	 0
  000da	6a 00		 push	 0
  000dc	8b 4d e4	 mov	 ecx, DWORD PTR _pSeeking$144474[ebp]
  000df	e8 00 00 00 00	 call	 ?SeekTo@CDShowSeeking@@QAEX_J@Z ; CDShowSeeking::SeekTo
$LN1@StopAndSee:

; 171  :         catch(CDShowException &e)

  000e4	9b		 fwait

; 168  :                 }
; 169  :             }
; 170  :         }

  000e5	e9 aa 00 00 00	 jmp	 $LN8@StopAndSee
__catch$?StopAndSeekToBeginning@CDSSourceBase@@QAEXXZ$0:

; 172  :         {
; 173  :             ErrorBox(MakeString() << _T("Stop failed\n\n")  << e.what());

  000ea	8b 4d bc	 mov	 ecx, DWORD PTR _e$144485[ebp]
  000ed	8b 11		 mov	 edx, DWORD PTR [ecx]
  000ef	8b 4d bc	 mov	 ecx, DWORD PTR _e$144485[ebp]
  000f2	8b 42 04	 mov	 eax, DWORD PTR [edx+4]
  000f5	ff d0		 call	 eax
  000f7	89 85 38 ff ff
	ff		 mov	 DWORD PTR $T352686[ebp], eax
  000fd	8d 8d 3c ff ff
	ff		 lea	 ecx, DWORD PTR $T352685[ebp]
  00103	e8 00 00 00 00	 call	 ??0MakeString@@QAE@XZ
  00108	89 85 14 ff ff
	ff		 mov	 DWORD PTR tv65[ebp], eax
  0010e	8b 8d 14 ff ff
	ff		 mov	 ecx, DWORD PTR tv65[ebp]
  00114	89 8d 10 ff ff
	ff		 mov	 DWORD PTR tv155[ebp], ecx
  0011a	c6 45 fc 03	 mov	 BYTE PTR __$EHRec$[ebp+12], 3
  0011e	8d 95 1c ff ff
	ff		 lea	 edx, DWORD PTR $T352687[ebp]
  00124	52		 push	 edx
  00125	8d 85 38 ff ff
	ff		 lea	 eax, DWORD PTR $T352686[ebp]
  0012b	50		 push	 eax
  0012c	68 00 00 00 00	 push	 OFFSET ??_C@_1BM@NGHJDMIJ@?$AAS?$AAt?$AAo?$AAp?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?6?$AA?6?$AA?$AA@
  00131	8b 8d 10 ff ff
	ff		 mov	 ecx, DWORD PTR tv155[ebp]
  00137	e8 00 00 00 00	 call	 ??$?6$$BY0O@$$CB_W@MakeString@@QAEAAV0@AAY0O@$$CB_W@Z ; MakeString::operator<<<wchar_t const [14]>
  0013c	8b c8		 mov	 ecx, eax
  0013e	e8 00 00 00 00	 call	 ??$?6PBD@MakeString@@QAEAAV0@ABQBD@Z ; MakeString::operator<<<char const *>
  00143	8b c8		 mov	 ecx, eax
  00145	e8 00 00 00 00	 call	 ??BMakeString@@QBE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ ; MakeString::operator std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
  0014a	c6 45 fc 04	 mov	 BYTE PTR __$EHRec$[ebp+12], 4
  0014e	8d 8d 1c ff ff
	ff		 lea	 ecx, DWORD PTR $T352687[ebp]
  00154	51		 push	 ecx
  00155	68 ad 00 00 00	 push	 173			; 000000adH
  0015a	68 00 00 00 00	 push	 OFFSET ??_C@_1DO@NIPGONPM@?$AA?4?$AA?2?$AAd?$AAs?$AAh?$AAo?$AAw?$AAs?$AAo?$AAu?$AAr?$AAc?$AAe?$AA?2?$AAD?$AAS?$AAS?$AAo?$AAu?$AAr?$AAc?$AAe?$AAB?$AAa?$AAs?$AAe?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@
  0015f	6a 00		 push	 0
  00161	e8 00 00 00 00	 call	 ?_ErrorBox@@YAXPAUHWND__@@PB_WHABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z ; _ErrorBox
  00166	83 c4 10	 add	 esp, 16			; 00000010H
  00169	c6 45 fc 03	 mov	 BYTE PTR __$EHRec$[ebp+12], 3
  0016d	8d 8d 1c ff ff
	ff		 lea	 ecx, DWORD PTR $T352687[ebp]
  00173	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> >
  00178	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+12], 2
  0017c	8d 8d 3c ff ff
	ff		 lea	 ecx, DWORD PTR $T352685[ebp]
  00182	e8 00 00 00 00	 call	 ??1MakeString@@QAE@XZ

; 174  :         }

  00187	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+12], 0
  0018e	b8 00 00 00 00	 mov	 eax, $LN14@StopAndSee
  00193	c3		 ret	 0
$LN8@StopAndSee:
  00194	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+12], 0
$LN14@StopAndSee:
$LN13@StopAndSee:

; 175  :     }
; 176  : }

  0019b	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
  001a2	8d 4d e8	 lea	 ecx, DWORD PTR _lock$[ebp]
  001a5	e8 00 00 00 00	 call	 ??1CAutoCriticalSection@@UAE@XZ ; CAutoCriticalSection::~CAutoCriticalSection
  001aa	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp+4]
  001ad	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  001b4	59		 pop	 ecx
  001b5	5f		 pop	 edi
  001b6	5e		 pop	 esi
  001b7	5b		 pop	 ebx
  001b8	8b e5		 mov	 esp, ebp
  001ba	5d		 pop	 ebp
  001bb	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?StopAndSeekToBeginning@CDSSourceBase@@QAEXXZ$2:
  00000	8d 4d e8	 lea	 ecx, DWORD PTR _lock$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CAutoCriticalSection@@UAE@XZ ; CAutoCriticalSection::~CAutoCriticalSection
__unwindfunclet$?StopAndSeekToBeginning@CDSSourceBase@@QAEXXZ$3:
  00008	8d 8d 3c ff ff
	ff		 lea	 ecx, DWORD PTR $T352685[ebp]
  0000e	e9 00 00 00 00	 jmp	 ??1MakeString@@QAE@XZ
__unwindfunclet$?StopAndSeekToBeginning@CDSSourceBase@@QAEXXZ$4:
  00013	8d 8d 1c ff ff
	ff		 lea	 ecx, DWORD PTR $T352687[ebp]
  00019	e9 00 00 00 00	 jmp	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
__ehhandler$?StopAndSeekToBeginning@CDSSourceBase@@QAEXXZ:
  0001e	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00022	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00025	8b 8a 0c ff ff
	ff		 mov	 ecx, DWORD PTR [edx-244]
  0002b	33 c8		 xor	 ecx, eax
  0002d	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00032	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?StopAndSeekToBeginning@CDSSourceBase@@QAEXXZ
  00037	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?StopAndSeekToBeginning@CDSSourceBase@@QAEXXZ ENDP	; CDSSourceBase::StopAndSeekToBeginning
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Stop@CDSSourceBase@@UAEXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?Stop@CDSSourceBase@@UAEXXZ$2
	DD	00H
	DD	00H
	DD	00H
	DD	00H
	DD	02H
	DD	FLAT:__unwindfunclet$?Stop@CDSSourceBase@@UAEXXZ$3
__catchsym$?Stop@CDSSourceBase@@UAEXXZ$4 DD 08H
	DD	FLAT:??_R0?AVCDShowException@@@8
	DD	0ffffffe4H
	DD	FLAT:__catch$?Stop@CDSSourceBase@@UAEXXZ$0
__tryblocktable$?Stop@CDSSourceBase@@UAEXXZ DD 01H
	DD	01H
	DD	03H
	DD	01H
	DD	FLAT:__catchsym$?Stop@CDSSourceBase@@UAEXXZ$4
__ehfuncinfo$?Stop@CDSSourceBase@@UAEXXZ DD 019930522H
	DD	04H
	DD	FLAT:__unwindtable$?Stop@CDSSourceBase@@UAEXXZ
	DD	01H
	DD	FLAT:__tryblocktable$?Stop@CDSSourceBase@@UAEXXZ
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?Stop@CDSSourceBase@@UAEXXZ
_TEXT	SEGMENT
_this$ = -60						; size = 4
$T352706 = -56						; size = 28
_e$144463 = -28						; size = 4
_lock$ = -24						; size = 8
__$EHRec$ = -16						; size = 16
?Stop@CDSSourceBase@@UAEXXZ PROC			; CDSSourceBase::Stop, COMDAT
; _this$ = ecx

; 111  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?Stop@CDSSourceBase@@UAEXXZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	51		 push	 ecx
  00012	83 ec 2c	 sub	 esp, 44			; 0000002cH
  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 c4	 mov	 DWORD PTR _this$[ebp], ecx

; 112  :     CAutoCriticalSection lock(m_hOutThreadSync);

  0002f	8b 45 c4	 mov	 eax, DWORD PTR _this$[ebp]
  00032	05 f8 00 00 00	 add	 eax, 248		; 000000f8H
  00037	50		 push	 eax
  00038	8d 4d e8	 lea	 ecx, DWORD PTR _lock$[ebp]
  0003b	e8 00 00 00 00	 call	 ??0CAutoCriticalSection@@QAE@AAU_RTL_CRITICAL_SECTION@@@Z ; CAutoCriticalSection::CAutoCriticalSection
  00040	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+12], 0

; 113  :     if(m_pDSGraph!=NULL)

  00047	8b 4d c4	 mov	 ecx, DWORD PTR _this$[ebp]
  0004a	83 79 70 00	 cmp	 DWORD PTR [ecx+112], 0
  0004e	74 60		 je	 SHORT $LN2@Stop@3

; 114  :     {
; 115  :         try
; 116  :         {

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

; 117  :             m_pDSGraph->stop();

  00054	8b 55 c4	 mov	 edx, DWORD PTR _this$[ebp]
  00057	8b 4a 70	 mov	 ecx, DWORD PTR [edx+112]
  0005a	e8 00 00 00 00	 call	 ?stop@CDShowGraph@@QAEXXZ ; CDShowGraph::stop

; 118  :         }

  0005f	eb 48		 jmp	 SHORT $LN5@Stop@3
__catch$?Stop@CDSSourceBase@@UAEXXZ$0:

; 119  :         catch(CDShowException &e)
; 120  :         {
; 121  :             ErrorBox(e.what());

  00061	8b 45 e4	 mov	 eax, DWORD PTR _e$144463[ebp]
  00064	8b 10		 mov	 edx, DWORD PTR [eax]
  00066	8b 4d e4	 mov	 ecx, DWORD PTR _e$144463[ebp]
  00069	8b 42 04	 mov	 eax, DWORD PTR [edx+4]
  0006c	ff d0		 call	 eax
  0006e	50		 push	 eax
  0006f	8d 4d c8	 lea	 ecx, DWORD PTR $T352706[ebp]
  00072	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> >
  00077	c6 45 fc 03	 mov	 BYTE PTR __$EHRec$[ebp+12], 3
  0007b	8d 4d c8	 lea	 ecx, DWORD PTR $T352706[ebp]
  0007e	51		 push	 ecx
  0007f	6a 79		 push	 121			; 00000079H
  00081	68 00 00 00 00	 push	 OFFSET ??_C@_1DO@NIPGONPM@?$AA?4?$AA?2?$AAd?$AAs?$AAh?$AAo?$AAw?$AAs?$AAo?$AAu?$AAr?$AAc?$AAe?$AA?2?$AAD?$AAS?$AAS?$AAo?$AAu?$AAr?$AAc?$AAe?$AAB?$AAa?$AAs?$AAe?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@
  00086	6a 00		 push	 0
  00088	e8 00 00 00 00	 call	 ?_ErrorBox@@YAXPAUHWND__@@PB_WHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z ; _ErrorBox
  0008d	83 c4 10	 add	 esp, 16			; 00000010H
  00090	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+12], 2
  00094	8d 4d c8	 lea	 ecx, DWORD PTR $T352706[ebp]
  00097	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> >

; 122  :         }

  0009c	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+12], 0
  000a3	b8 00 00 00 00	 mov	 eax, $LN2@Stop@3
  000a8	c3		 ret	 0
$LN5@Stop@3:
  000a9	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+12], 0
$LN2@Stop@3:

; 123  :     }
; 124  : }

  000b0	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
  000b7	8d 4d e8	 lea	 ecx, DWORD PTR _lock$[ebp]
  000ba	e8 00 00 00 00	 call	 ??1CAutoCriticalSection@@UAE@XZ ; CAutoCriticalSection::~CAutoCriticalSection
  000bf	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp+4]
  000c2	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000c9	59		 pop	 ecx
  000ca	5f		 pop	 edi
  000cb	5e		 pop	 esi
  000cc	5b		 pop	 ebx
  000cd	8b e5		 mov	 esp, ebp
  000cf	5d		 pop	 ebp
  000d0	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Stop@CDSSourceBase@@UAEXXZ$2:
  00000	8d 4d e8	 lea	 ecx, DWORD PTR _lock$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CAutoCriticalSection@@UAE@XZ ; CAutoCriticalSection::~CAutoCriticalSection
__unwindfunclet$?Stop@CDSSourceBase@@UAEXXZ$3:
  00008	8d 4d c8	 lea	 ecx, DWORD PTR $T352706[ebp]
  0000b	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$?Stop@CDSSourceBase@@UAEXXZ:
  00010	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00014	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00017	8b 4a c0	 mov	 ecx, DWORD PTR [edx-64]
  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$?Stop@CDSSourceBase@@UAEXXZ
  00026	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?Stop@CDSSourceBase@@UAEXXZ ENDP			; CDSSourceBase::Stop
PUBLIC	__$ArrayPad$
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?HandleWindowsCommands@CDSSourceBase@@UAEHPAUHWND__@@IJ@Z DD 0ffffffffH
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	01H
	DD	FLAT:__unwindfunclet$?HandleWindowsCommands@CDSSourceBase@@UAEHPAUHWND__@@IJ@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$?HandleWindowsCommands@CDSSourceBase@@UAEHPAUHWND__@@IJ@Z$3
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?HandleWindowsCommands@CDSSourceBase@@UAEHPAUHWND__@@IJ@Z$4
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?HandleWindowsCommands@CDSSourceBase@@UAEHPAUHWND__@@IJ@Z$5
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?HandleWindowsCommands@CDSSourceBase@@UAEHPAUHWND__@@IJ@Z$6
	DD	06H
	DD	FLAT:__unwindfunclet$?HandleWindowsCommands@CDSSourceBase@@UAEHPAUHWND__@@IJ@Z$7
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?HandleWindowsCommands@CDSSourceBase@@UAEHPAUHWND__@@IJ@Z$7
	DD	08H
	DD	FLAT:__unwindfunclet$?HandleWindowsCommands@CDSSourceBase@@UAEHPAUHWND__@@IJ@Z$8
__catchsym$?HandleWindowsCommands@CDSSourceBase@@UAEHPAUHWND__@@IJ@Z$9 DD 08H
	DD	FLAT:??_R0?AVCDShowException@@@8
	DD	0ffffffdcH
	DD	FLAT:__catch$?HandleWindowsCommands@CDSSourceBase@@UAEHPAUHWND__@@IJ@Z$0
__tryblocktable$?HandleWindowsCommands@CDSSourceBase@@UAEHPAUHWND__@@IJ@Z DD 00H
	DD	00H
	DD	03H
	DD	01H
	DD	FLAT:__catchsym$?HandleWindowsCommands@CDSSourceBase@@UAEHPAUHWND__@@IJ@Z$9
__ehfuncinfo$?HandleWindowsCommands@CDSSourceBase@@UAEHPAUHWND__@@IJ@Z DD 019930522H
	DD	0aH
	DD	FLAT:__unwindtable$?HandleWindowsCommands@CDSSourceBase@@UAEHPAUHWND__@@IJ@Z
	DD	01H
	DD	FLAT:__tryblocktable$?HandleWindowsCommands@CDSSourceBase@@UAEHPAUHWND__@@IJ@Z
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?HandleWindowsCommands@CDSSourceBase@@UAEHPAUHWND__@@IJ@Z
_TEXT	SEGMENT
tv234 = -436						; size = 4
tv243 = -432						; size = 4
tv69 = -428						; size = 4
_this$ = -424						; size = 4
$T359332 = -420						; size = 4
$T359331 = -416						; size = 28
$T359330 = -388						; size = 28
$T359329 = -360						; size = 28
$T359328 = -332						; size = 28
$T359327 = -304						; size = 28
$T359326 = -276						; size = 4
$T359325 = -272						; size = 128
_dlg$144583 = -144					; size = 100
__$ArrayPad$ = -40					; size = 4
_e$144555 = -36						; size = 4
_req$144566 = -32					; size = 12
_OldState$ = -20					; size = 4
__$EHRec$ = -16						; size = 16
_hWnd$ = 8						; size = 4
_wParam$ = 12						; size = 4
_lParam$ = 16						; size = 4
?HandleWindowsCommands@CDSSourceBase@@UAEHPAUHWND__@@IJ@Z PROC ; CDSSourceBase::HandleWindowsCommands, COMDAT
; _this$ = ecx

; 291  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?HandleWindowsCommands@CDSSourceBase@@UAEHPAUHWND__@@IJ@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	51		 push	 ecx
  00012	81 ec a4 01 00
	00		 sub	 esp, 420		; 000001a4H
  00018	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001d	33 c5		 xor	 eax, ebp
  0001f	89 45 d8	 mov	 DWORD PTR __$ArrayPad$[ebp], eax
  00022	53		 push	 ebx
  00023	56		 push	 esi
  00024	57		 push	 edi
  00025	50		 push	 eax
  00026	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp+4]
  00029	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  0002f	89 65 f0	 mov	 DWORD PTR __$EHRec$[ebp], esp
  00032	89 8d 58 fe ff
	ff		 mov	 DWORD PTR _this$[ebp], ecx

; 292  :     FILTER_STATE OldState;
; 293  : 
; 294  :     if(m_pDSGraph==NULL)

  00038	8b 85 58 fe ff
	ff		 mov	 eax, DWORD PTR _this$[ebp]
  0003e	83 78 70 00	 cmp	 DWORD PTR [eax+112], 0
  00042	75 07		 jne	 SHORT $LN27@HandleWind@3

; 295  :     {
; 296  :         return FALSE;

  00044	33 c0		 xor	 eax, eax
  00046	e9 e1 04 00 00	 jmp	 $LN28@HandleWind@3
$LN27@HandleWind@3:

; 297  :     }
; 298  : 
; 299  :     switch(LOWORD(wParam))

  0004b	8b 4d 0c	 mov	 ecx, DWORD PTR _wParam$[ebp]
  0004e	81 e1 ff ff 00
	00		 and	 ecx, 65535		; 0000ffffH
  00054	0f b7 d1	 movzx	 edx, cx
  00057	89 95 54 fe ff
	ff		 mov	 DWORD PTR tv69[ebp], edx
  0005d	81 bd 54 fe ff
	ff 05 80 00 00	 cmp	 DWORD PTR tv69[ebp], 32773 ; 00008005H
  00067	7f 41		 jg	 SHORT $LN30@HandleWind@3
  00069	81 bd 54 fe ff
	ff 05 80 00 00	 cmp	 DWORD PTR tv69[ebp], 32773 ; 00008005H
  00073	0f 84 ed 03 00
	00		 je	 $LN3@HandleWind@3
  00079	81 bd 54 fe ff
	ff 01 09 00 00	 cmp	 DWORD PTR tv69[ebp], 2305 ; 00000901H
  00083	74 50		 je	 SHORT $LN24@HandleWind@3
  00085	81 bd 54 fe ff
	ff 02 09 00 00	 cmp	 DWORD PTR tv69[ebp], 2306 ; 00000902H
  0008f	0f 84 a4 01 00
	00		 je	 $LN19@HandleWind@3
  00095	81 bd 54 fe ff
	ff 03 09 00 00	 cmp	 DWORD PTR tv69[ebp], 2307 ; 00000903H
  0009f	0f 84 cc 01 00
	00		 je	 $LN17@HandleWind@3
  000a5	e9 80 04 00 00	 jmp	 $LN25@HandleWind@3
$LN30@HandleWind@3:
  000aa	8b 85 54 fe ff
	ff		 mov	 eax, DWORD PTR tv69[ebp]
  000b0	2d c7 80 00 00	 sub	 eax, 32967		; 000080c7H
  000b5	89 85 54 fe ff
	ff		 mov	 DWORD PTR tv69[ebp], eax
  000bb	83 bd 54 fe ff
	ff 0b		 cmp	 DWORD PTR tv69[ebp], 11	; 0000000bH
  000c2	0f 87 62 04 00
	00		 ja	 $LN25@HandleWind@3
  000c8	8b 8d 54 fe ff
	ff		 mov	 ecx, DWORD PTR tv69[ebp]
  000ce	ff 24 8d 00 00
	00 00		 jmp	 DWORD PTR $LN44@HandleWind@3[ecx*4]
$LN24@HandleWind@3:

; 300  :     {
; 301  :     case IDM_DSHOW_PLAY:
; 302  :         if (m_pDSGraph->getState() == State_Paused)

  000d5	8b 95 58 fe ff
	ff		 mov	 edx, DWORD PTR _this$[ebp]
  000db	8b 4a 70	 mov	 ecx, DWORD PTR [edx+112]
  000de	e8 00 00 00 00	 call	 ?getState@CDShowGraph@@QAE?AW4_FilterState@@XZ ; CDShowGraph::getState
  000e3	83 f8 01	 cmp	 eax, 1
  000e6	75 1b		 jne	 SHORT $LN23@HandleWind@3

; 303  :         {
; 304  :             SendMessage(hWnd, WM_COMMAND, IDM_CAPTURE_PAUSE, 0);

  000e8	6a 00		 push	 0
  000ea	68 e8 00 00 00	 push	 232			; 000000e8H
  000ef	68 11 01 00 00	 push	 273			; 00000111H
  000f4	8b 45 08	 mov	 eax, DWORD PTR _hWnd$[ebp]
  000f7	50		 push	 eax
  000f8	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__SendMessageW@16
  000fe	e9 27 01 00 00	 jmp	 $LN21@HandleWind@3
$LN23@HandleWind@3:

; 305  :         }
; 306  :         else if (m_pDSGraph->getState() == State_Stopped)

  00103	8b 8d 58 fe ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00109	8b 49 70	 mov	 ecx, DWORD PTR [ecx+112]
  0010c	e8 00 00 00 00	 call	 ?getState@CDShowGraph@@QAE?AW4_FilterState@@XZ ; CDShowGraph::getState
  00111	85 c0		 test	 eax, eax
  00113	0f 85 11 01 00
	00		 jne	 $LN21@HandleWind@3

; 307  :         {
; 308  :             try
; 309  :             {

  00119	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+12], 0
  00120	9b		 fwait

; 310  :                 m_pDSGraph->start();

  00121	8b 95 58 fe ff
	ff		 mov	 edx, DWORD PTR _this$[ebp]
  00127	8b 4a 70	 mov	 ecx, DWORD PTR [edx+112]
  0012a	e8 00 00 00 00	 call	 ?start@CDShowGraph@@QAEXXZ ; CDShowGraph::start

; 313  :             catch(CDShowException &e)

  0012f	9b		 fwait

; 311  :                 //VideoInputOnChange(m_VideoInput->GetValue(), m_VideoInput->GetValue());
; 312  :             }

  00130	e9 aa 00 00 00	 jmp	 $LN31@HandleWind@3
__catch$?HandleWindowsCommands@CDSSourceBase@@UAEHPAUHWND__@@IJ@Z$0:

; 314  :             {
; 315  :                 ErrorBox(MakeString() << _T("Play failed\n\n") << e.what());

  00135	8b 45 dc	 mov	 eax, DWORD PTR _e$144555[ebp]
  00138	8b 10		 mov	 edx, DWORD PTR [eax]
  0013a	8b 4d dc	 mov	 ecx, DWORD PTR _e$144555[ebp]
  0013d	8b 42 04	 mov	 eax, DWORD PTR [edx+4]
  00140	ff d0		 call	 eax
  00142	89 85 ec fe ff
	ff		 mov	 DWORD PTR $T359326[ebp], eax
  00148	8d 8d f0 fe ff
	ff		 lea	 ecx, DWORD PTR $T359325[ebp]
  0014e	e8 00 00 00 00	 call	 ??0MakeString@@QAE@XZ
  00153	89 85 50 fe ff
	ff		 mov	 DWORD PTR tv243[ebp], eax
  00159	8b 8d 50 fe ff
	ff		 mov	 ecx, DWORD PTR tv243[ebp]
  0015f	89 8d 4c fe ff
	ff		 mov	 DWORD PTR tv234[ebp], ecx
  00165	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+12], 2
  00169	8d 95 d0 fe ff
	ff		 lea	 edx, DWORD PTR $T359327[ebp]
  0016f	52		 push	 edx
  00170	8d 85 ec fe ff
	ff		 lea	 eax, DWORD PTR $T359326[ebp]
  00176	50		 push	 eax
  00177	68 00 00 00 00	 push	 OFFSET ??_C@_1BM@OHIHGBEE@?$AAP?$AAl?$AAa?$AAy?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?6?$AA?6?$AA?$AA@
  0017c	8b 8d 4c fe ff
	ff		 mov	 ecx, DWORD PTR tv234[ebp]
  00182	e8 00 00 00 00	 call	 ??$?6$$BY0O@$$CB_W@MakeString@@QAEAAV0@AAY0O@$$CB_W@Z ; MakeString::operator<<<wchar_t const [14]>
  00187	8b c8		 mov	 ecx, eax
  00189	e8 00 00 00 00	 call	 ??$?6PBD@MakeString@@QAEAAV0@ABQBD@Z ; MakeString::operator<<<char const *>
  0018e	8b c8		 mov	 ecx, eax
  00190	e8 00 00 00 00	 call	 ??BMakeString@@QBE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ ; MakeString::operator std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
  00195	c6 45 fc 03	 mov	 BYTE PTR __$EHRec$[ebp+12], 3
  00199	8d 8d d0 fe ff
	ff		 lea	 ecx, DWORD PTR $T359327[ebp]
  0019f	51		 push	 ecx
  001a0	68 3b 01 00 00	 push	 315			; 0000013bH
  001a5	68 00 00 00 00	 push	 OFFSET ??_C@_1DO@NIPGONPM@?$AA?4?$AA?2?$AAd?$AAs?$AAh?$AAo?$AAw?$AAs?$AAo?$AAu?$AAr?$AAc?$AAe?$AA?2?$AAD?$AAS?$AAS?$AAo?$AAu?$AAr?$AAc?$AAe?$AAB?$AAa?$AAs?$AAe?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@
  001aa	6a 00		 push	 0
  001ac	e8 00 00 00 00	 call	 ?_ErrorBox@@YAXPAUHWND__@@PB_WHABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z ; _ErrorBox
  001b1	83 c4 10	 add	 esp, 16			; 00000010H
  001b4	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+12], 2
  001b8	8d 8d d0 fe ff
	ff		 lea	 ecx, DWORD PTR $T359327[ebp]
  001be	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> >
  001c3	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+12], 1
  001c7	8d 8d f0 fe ff
	ff		 lea	 ecx, DWORD PTR $T359325[ebp]
  001cd	e8 00 00 00 00	 call	 ??1MakeString@@QAE@XZ

; 316  :             }

  001d2	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
  001d9	b8 00 00 00 00	 mov	 eax, $LN41@HandleWind@3
  001de	c3		 ret	 0
$LN31@HandleWind@3:
  001df	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
$LN41@HandleWind@3:

; 317  :             OSD_ShowText(_T("Play"), 0);

  001e6	68 00 00 00 00	 push	 OFFSET ??_C@_19PHLKJHNM@?$AAP?$AAl?$AAa?$AAy?$AA?$AA@
  001eb	8d 8d b4 fe ff
	ff		 lea	 ecx, DWORD PTR $T359328[ebp]
  001f1	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> >
  001f6	c7 45 fc 04 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+12], 4
  001fd	6a 00		 push	 0
  001ff	6a 00		 push	 0
  00201	83 ec 08	 sub	 esp, 8
  00204	d9 ee		 fldz
  00206	dd 1c 24	 fstp	 QWORD PTR [esp]
  00209	8d 95 b4 fe ff
	ff		 lea	 edx, DWORD PTR $T359328[ebp]
  0020f	52		 push	 edx
  00210	e8 00 00 00 00	 call	 ?OSD_ShowText@@YAXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@NHH@Z ; OSD_ShowText
  00215	83 c4 14	 add	 esp, 20			; 00000014H
  00218	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
  0021f	8d 8d b4 fe ff
	ff		 lea	 ecx, DWORD PTR $T359328[ebp]
  00225	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> >
$LN21@HandleWind@3:

; 318  :         }
; 319  :         return TRUE;

  0022a	b8 01 00 00 00	 mov	 eax, 1
  0022f	e9 f8 02 00 00	 jmp	 $LN28@HandleWind@3

; 320  :         break;

  00234	e9 f1 02 00 00	 jmp	 $LN25@HandleWind@3
$LN19@HandleWind@3:

; 321  : 
; 322  :     case IDM_DSHOW_PAUSE:
; 323  :         if (m_pDSGraph->getState() == State_Running)

  00239	8b 85 58 fe ff
	ff		 mov	 eax, DWORD PTR _this$[ebp]
  0023f	8b 48 70	 mov	 ecx, DWORD PTR [eax+112]
  00242	e8 00 00 00 00	 call	 ?getState@CDShowGraph@@QAE?AW4_FilterState@@XZ ; CDShowGraph::getState
  00247	83 f8 02	 cmp	 eax, 2
  0024a	75 16		 jne	 SHORT $LN18@HandleWind@3

; 324  :         {
; 325  :             SendMessage(hWnd, WM_COMMAND, IDM_CAPTURE_PAUSE, 0);

  0024c	6a 00		 push	 0
  0024e	68 e8 00 00 00	 push	 232			; 000000e8H
  00253	68 11 01 00 00	 push	 273			; 00000111H
  00258	8b 4d 08	 mov	 ecx, DWORD PTR _hWnd$[ebp]
  0025b	51		 push	 ecx
  0025c	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__SendMessageW@16
$LN18@HandleWind@3:

; 326  :         }
; 327  :         return TRUE;

  00262	b8 01 00 00 00	 mov	 eax, 1
  00267	e9 c0 02 00 00	 jmp	 $LN28@HandleWind@3

; 328  :         break;

  0026c	e9 b9 02 00 00	 jmp	 $LN25@HandleWind@3
$LN17@HandleWind@3:

; 329  : 
; 330  :     case IDM_DSHOW_STOP:
; 331  :         OldState = m_pDSGraph->getState();

  00271	8b 95 58 fe ff
	ff		 mov	 edx, DWORD PTR _this$[ebp]
  00277	8b 4a 70	 mov	 ecx, DWORD PTR [edx+112]
  0027a	e8 00 00 00 00	 call	 ?getState@CDShowGraph@@QAE?AW4_FilterState@@XZ ; CDShowGraph::getState
  0027f	89 45 ec	 mov	 DWORD PTR _OldState$[ebp], eax

; 332  :         TGUIRequest req;
; 333  :         req.type = REQ_DSHOW_STOP;

  00282	c7 45 e0 04 00
	00 00		 mov	 DWORD PTR _req$144566[ebp], 4

; 334  :         PutRequest(&req);

  00289	8d 45 e0	 lea	 eax, DWORD PTR _req$144566[ebp]
  0028c	50		 push	 eax
  0028d	e8 00 00 00 00	 call	 ?PutRequest@@YAXPAUTGUIRequest@@@Z ; PutRequest
  00292	83 c4 04	 add	 esp, 4

; 335  :         if (OldState == State_Paused)

  00295	83 7d ec 01	 cmp	 DWORD PTR _OldState$[ebp], 1
  00299	75 16		 jne	 SHORT $LN16@HandleWind@3

; 336  :         {
; 337  :             SendMessage(hWnd, WM_COMMAND, IDM_CAPTURE_PAUSE, 0);

  0029b	6a 00		 push	 0
  0029d	68 e8 00 00 00	 push	 232			; 000000e8H
  002a2	68 11 01 00 00	 push	 273			; 00000111H
  002a7	8b 4d 08	 mov	 ecx, DWORD PTR _hWnd$[ebp]
  002aa	51		 push	 ecx
  002ab	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__SendMessageW@16
$LN16@HandleWind@3:

; 338  :         }
; 339  :         OSD_ShowText(_T("Stop"), 0);

  002b1	68 00 00 00 00	 push	 OFFSET ??_C@_19PENBCILL@?$AAS?$AAt?$AAo?$AAp?$AA?$AA@
  002b6	8d 8d 98 fe ff
	ff		 lea	 ecx, DWORD PTR $T359329[ebp]
  002bc	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> >
  002c1	c7 45 fc 05 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+12], 5
  002c8	6a 00		 push	 0
  002ca	6a 00		 push	 0
  002cc	83 ec 08	 sub	 esp, 8
  002cf	d9 ee		 fldz
  002d1	dd 1c 24	 fstp	 QWORD PTR [esp]
  002d4	8d 95 98 fe ff
	ff		 lea	 edx, DWORD PTR $T359329[ebp]
  002da	52		 push	 edx
  002db	e8 00 00 00 00	 call	 ?OSD_ShowText@@YAXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@NHH@Z ; OSD_ShowText
  002e0	83 c4 14	 add	 esp, 20			; 00000014H
  002e3	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
  002ea	8d 8d 98 fe ff
	ff		 lea	 ecx, DWORD PTR $T359329[ebp]
  002f0	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> >

; 340  :         return TRUE;

  002f5	b8 01 00 00 00	 mov	 eax, 1
  002fa	e9 2d 02 00 00	 jmp	 $LN28@HandleWind@3

; 341  :         break;

  002ff	e9 26 02 00 00	 jmp	 $LN25@HandleWind@3
$LN15@HandleWind@3:

; 342  :     case IDM_DSHOW_BACKWARD_5S:
; 343  :         ChangePos(-5);

  00304	6a fb		 push	 -5			; fffffffbH
  00306	8b 8d 58 fe ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  0030c	e8 00 00 00 00	 call	 ?ChangePos@CDSSourceBase@@QAEXH@Z ; CDSSourceBase::ChangePos

; 344  :         return TRUE;

  00311	b8 01 00 00 00	 mov	 eax, 1
  00316	e9 11 02 00 00	 jmp	 $LN28@HandleWind@3

; 345  :         break;

  0031b	e9 0a 02 00 00	 jmp	 $LN25@HandleWind@3
$LN14@HandleWind@3:

; 346  :     case IDM_DSHOW_BACKWARD_10S:
; 347  :         ChangePos(-10);

  00320	6a f6		 push	 -10			; fffffff6H
  00322	8b 8d 58 fe ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00328	e8 00 00 00 00	 call	 ?ChangePos@CDSSourceBase@@QAEXH@Z ; CDSSourceBase::ChangePos

; 348  :         return TRUE;

  0032d	b8 01 00 00 00	 mov	 eax, 1
  00332	e9 f5 01 00 00	 jmp	 $LN28@HandleWind@3

; 349  :         break;

  00337	e9 ee 01 00 00	 jmp	 $LN25@HandleWind@3
$LN13@HandleWind@3:

; 350  :     case IDM_DSHOW_BACKWARD_30S:
; 351  :         ChangePos(-30);

  0033c	6a e2		 push	 -30			; ffffffe2H
  0033e	8b 8d 58 fe ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00344	e8 00 00 00 00	 call	 ?ChangePos@CDSSourceBase@@QAEXH@Z ; CDSSourceBase::ChangePos

; 352  :         return TRUE;

  00349	b8 01 00 00 00	 mov	 eax, 1
  0034e	e9 d9 01 00 00	 jmp	 $LN28@HandleWind@3

; 353  :         break;

  00353	e9 d2 01 00 00	 jmp	 $LN25@HandleWind@3
$LN12@HandleWind@3:

; 354  :     case IDM_DSHOW_BACKWARD_300S:
; 355  :         ChangePos(-300);

  00358	68 d4 fe ff ff	 push	 -300			; fffffed4H
  0035d	8b 8d 58 fe ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00363	e8 00 00 00 00	 call	 ?ChangePos@CDSSourceBase@@QAEXH@Z ; CDSSourceBase::ChangePos

; 356  :         return TRUE;

  00368	b8 01 00 00 00	 mov	 eax, 1
  0036d	e9 ba 01 00 00	 jmp	 $LN28@HandleWind@3

; 357  :         break;

  00372	e9 b3 01 00 00	 jmp	 $LN25@HandleWind@3
$LN11@HandleWind@3:

; 358  :     case IDM_DSHOW_BACKWARD_600S:
; 359  :         ChangePos(-600);

  00377	68 a8 fd ff ff	 push	 -600			; fffffda8H
  0037c	8b 8d 58 fe ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00382	e8 00 00 00 00	 call	 ?ChangePos@CDSSourceBase@@QAEXH@Z ; CDSSourceBase::ChangePos

; 360  :         return TRUE;

  00387	b8 01 00 00 00	 mov	 eax, 1
  0038c	e9 9b 01 00 00	 jmp	 $LN28@HandleWind@3

; 361  :         break;

  00391	e9 94 01 00 00	 jmp	 $LN25@HandleWind@3
$LN10@HandleWind@3:

; 362  :     case IDM_DSHOW_BACKWARD_1800S:
; 363  :         ChangePos(-1800);

  00396	68 f8 f8 ff ff	 push	 -1800			; fffff8f8H
  0039b	8b 8d 58 fe ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  003a1	e8 00 00 00 00	 call	 ?ChangePos@CDSSourceBase@@QAEXH@Z ; CDSSourceBase::ChangePos

; 364  :         return TRUE;

  003a6	b8 01 00 00 00	 mov	 eax, 1
  003ab	e9 7c 01 00 00	 jmp	 $LN28@HandleWind@3

; 365  :         break;

  003b0	e9 75 01 00 00	 jmp	 $LN25@HandleWind@3
$LN9@HandleWind@3:

; 366  :     case IDM_DSHOW_FORWARD_5S:
; 367  :         ChangePos(5);

  003b5	6a 05		 push	 5
  003b7	8b 8d 58 fe ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  003bd	e8 00 00 00 00	 call	 ?ChangePos@CDSSourceBase@@QAEXH@Z ; CDSSourceBase::ChangePos

; 368  :         return TRUE;

  003c2	b8 01 00 00 00	 mov	 eax, 1
  003c7	e9 60 01 00 00	 jmp	 $LN28@HandleWind@3

; 369  :         break;

  003cc	e9 59 01 00 00	 jmp	 $LN25@HandleWind@3
$LN8@HandleWind@3:

; 370  :     case IDM_DSHOW_FORWARD_10S:
; 371  :         ChangePos(10);

  003d1	6a 0a		 push	 10			; 0000000aH
  003d3	8b 8d 58 fe ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  003d9	e8 00 00 00 00	 call	 ?ChangePos@CDSSourceBase@@QAEXH@Z ; CDSSourceBase::ChangePos

; 372  :         return TRUE;

  003de	b8 01 00 00 00	 mov	 eax, 1
  003e3	e9 44 01 00 00	 jmp	 $LN28@HandleWind@3

; 373  :         break;

  003e8	e9 3d 01 00 00	 jmp	 $LN25@HandleWind@3
$LN7@HandleWind@3:

; 374  :     case IDM_DSHOW_FORWARD_30S:
; 375  :         ChangePos(30);

  003ed	6a 1e		 push	 30			; 0000001eH
  003ef	8b 8d 58 fe ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  003f5	e8 00 00 00 00	 call	 ?ChangePos@CDSSourceBase@@QAEXH@Z ; CDSSourceBase::ChangePos

; 376  :         return TRUE;

  003fa	b8 01 00 00 00	 mov	 eax, 1
  003ff	e9 28 01 00 00	 jmp	 $LN28@HandleWind@3

; 377  :         break;

  00404	e9 21 01 00 00	 jmp	 $LN25@HandleWind@3
$LN6@HandleWind@3:

; 378  :     case IDM_DSHOW_FORWARD_300S:
; 379  :         ChangePos(300);

  00409	68 2c 01 00 00	 push	 300			; 0000012cH
  0040e	8b 8d 58 fe ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00414	e8 00 00 00 00	 call	 ?ChangePos@CDSSourceBase@@QAEXH@Z ; CDSSourceBase::ChangePos

; 380  :         return TRUE;

  00419	b8 01 00 00 00	 mov	 eax, 1
  0041e	e9 09 01 00 00	 jmp	 $LN28@HandleWind@3

; 381  :         break;

  00423	e9 02 01 00 00	 jmp	 $LN25@HandleWind@3
$LN5@HandleWind@3:

; 382  :     case IDM_DSHOW_FORWARD_600S:
; 383  :         ChangePos(600);

  00428	68 58 02 00 00	 push	 600			; 00000258H
  0042d	8b 8d 58 fe ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00433	e8 00 00 00 00	 call	 ?ChangePos@CDSSourceBase@@QAEXH@Z ; CDSSourceBase::ChangePos

; 384  :         return TRUE;

  00438	b8 01 00 00 00	 mov	 eax, 1
  0043d	e9 ea 00 00 00	 jmp	 $LN28@HandleWind@3

; 385  :         break;

  00442	e9 e3 00 00 00	 jmp	 $LN25@HandleWind@3
$LN4@HandleWind@3:

; 386  :     case IDM_DSHOW_FORWARD_1800S:
; 387  :         ChangePos(1800);

  00447	68 08 07 00 00	 push	 1800			; 00000708H
  0044c	8b 8d 58 fe ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00452	e8 00 00 00 00	 call	 ?ChangePos@CDSSourceBase@@QAEXH@Z ; CDSSourceBase::ChangePos

; 388  :         return TRUE;

  00457	b8 01 00 00 00	 mov	 eax, 1
  0045c	e9 cb 00 00 00	 jmp	 $LN28@HandleWind@3

; 389  :         break;

  00461	e9 c4 00 00 00	 jmp	 $LN25@HandleWind@3
$LN3@HandleWind@3:

; 390  :     case IDM_DSHOW_FILTERS:
; 391  :         {
; 392  : 
; 393  :             CTreeSettingsDlg dlg(_T("Filter properties"));

  00466	68 00 00 00 00	 push	 OFFSET ??_C@_1CE@GLCFOOCO@?$AAF?$AAi?$AAl?$AAt?$AAe?$AAr?$AA?5?$AAp?$AAr?$AAo?$AAp?$AAe?$AAr?$AAt?$AAi?$AAe?$AAs?$AA?$AA@
  0046b	8d 8d 7c fe ff
	ff		 lea	 ecx, DWORD PTR $T359330[ebp]
  00471	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> >
  00476	c7 45 fc 06 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+12], 6
  0047d	8d 85 7c fe ff
	ff		 lea	 eax, DWORD PTR $T359330[ebp]
  00483	50		 push	 eax
  00484	8d 8d 70 ff ff
	ff		 lea	 ecx, DWORD PTR _dlg$144583[ebp]
  0048a	e8 00 00 00 00	 call	 ??0CTreeSettingsDlg@@QAE@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z ; CTreeSettingsDlg::CTreeSettingsDlg
  0048f	c6 45 fc 08	 mov	 BYTE PTR __$EHRec$[ebp+12], 8
  00493	8d 8d 7c fe ff
	ff		 lea	 ecx, DWORD PTR $T359330[ebp]
  00499	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> >

; 394  :             if(m_pDSGraph->AddFilterPagesToDialog(dlg))

  0049e	8d 8d 70 ff ff
	ff		 lea	 ecx, DWORD PTR _dlg$144583[ebp]
  004a4	51		 push	 ecx
  004a5	8b 95 58 fe ff
	ff		 mov	 edx, DWORD PTR _this$[ebp]
  004ab	8b 4a 70	 mov	 ecx, DWORD PTR [edx+112]
  004ae	e8 00 00 00 00	 call	 ?AddFilterPagesToDialog@CDShowGraph@@QAEHAAVCTreeSettingsDlg@@@Z ; CDShowGraph::AddFilterPagesToDialog
  004b3	85 c0		 test	 eax, eax
  004b5	74 11		 je	 SHORT $LN2@HandleWind@3

; 395  :             {
; 396  :                 //show the dialog
; 397  :                 dlg.DoModal(hWnd);

  004b7	8b 45 08	 mov	 eax, DWORD PTR _hWnd$[ebp]
  004ba	50		 push	 eax
  004bb	8d 8d 70 ff ff
	ff		 lea	 ecx, DWORD PTR _dlg$144583[ebp]
  004c1	e8 00 00 00 00	 call	 ?DoModal@CDSDialog@@QAEHPAUHWND__@@@Z ; CDSDialog::DoModal

; 398  : 				//MH: TODO react to changes source properties?!?
; 399  :             }
; 400  :             else

  004c6	eb 3e		 jmp	 SHORT $LN1@HandleWind@3
$LN2@HandleWind@3:

; 401  :             {
; 402  :                 ErrorBox(_T("There is no filters to show properties for"));

  004c8	68 00 00 00 00	 push	 OFFSET ??_C@_1FG@MBPIEKJ@?$AAT?$AAh?$AAe?$AAr?$AAe?$AA?5?$AAi?$AAs?$AA?5?$AAn?$AAo?$AA?5?$AAf?$AAi?$AAl?$AAt?$AAe?$AAr?$AAs?$AA?5?$AAt?$AAo?$AA?5?$AAs?$AAh?$AAo?$AAw?$AA?5?$AAp?$AAr?$AAo?$AAp@
  004cd	8d 8d 60 fe ff
	ff		 lea	 ecx, DWORD PTR $T359331[ebp]
  004d3	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> >
  004d8	c6 45 fc 09	 mov	 BYTE PTR __$EHRec$[ebp+12], 9
  004dc	8d 8d 60 fe ff
	ff		 lea	 ecx, DWORD PTR $T359331[ebp]
  004e2	51		 push	 ecx
  004e3	68 92 01 00 00	 push	 402			; 00000192H
  004e8	68 00 00 00 00	 push	 OFFSET ??_C@_1DO@NIPGONPM@?$AA?4?$AA?2?$AAd?$AAs?$AAh?$AAo?$AAw?$AAs?$AAo?$AAu?$AAr?$AAc?$AAe?$AA?2?$AAD?$AAS?$AAS?$AAo?$AAu?$AAr?$AAc?$AAe?$AAB?$AAa?$AAs?$AAe?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@
  004ed	6a 00		 push	 0
  004ef	e8 00 00 00 00	 call	 ?_ErrorBox@@YAXPAUHWND__@@PB_WHABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z ; _ErrorBox
  004f4	83 c4 10	 add	 esp, 16			; 00000010H
  004f7	c6 45 fc 08	 mov	 BYTE PTR __$EHRec$[ebp+12], 8
  004fb	8d 8d 60 fe ff
	ff		 lea	 ecx, DWORD PTR $T359331[ebp]
  00501	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> >
$LN1@HandleWind@3:

; 403  :             }
; 404  : 
; 405  :             return TRUE;

  00506	c7 85 5c fe ff
	ff 01 00 00 00	 mov	 DWORD PTR $T359332[ebp], 1
  00510	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
  00517	8d 8d 70 ff ff
	ff		 lea	 ecx, DWORD PTR _dlg$144583[ebp]
  0051d	e8 00 00 00 00	 call	 ??1CTreeSettingsDlg@@UAE@XZ ; CTreeSettingsDlg::~CTreeSettingsDlg
  00522	8b 85 5c fe ff
	ff		 mov	 eax, DWORD PTR $T359332[ebp]
  00528	eb 02		 jmp	 SHORT $LN28@HandleWind@3
$LN25@HandleWind@3:

; 406  :             break;
; 407  :         }
; 408  :     }
; 409  :     return FALSE;

  0052a	33 c0		 xor	 eax, eax
$LN28@HandleWind@3:

; 410  : }

  0052c	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp+4]
  0052f	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00536	59		 pop	 ecx
  00537	5f		 pop	 edi
  00538	5e		 pop	 esi
  00539	5b		 pop	 ebx
  0053a	8b 4d d8	 mov	 ecx, DWORD PTR __$ArrayPad$[ebp]
  0053d	33 cd		 xor	 ecx, ebp
  0053f	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00544	8b e5		 mov	 esp, ebp
  00546	5d		 pop	 ebp
  00547	c2 0c 00	 ret	 12			; 0000000cH
  0054a	8b ff		 npad	 2
$LN44@HandleWind@3:
  0054c	00 00 00 00	 DD	 $LN15@HandleWind@3
  00550	00 00 00 00	 DD	 $LN14@HandleWind@3
  00554	00 00 00 00	 DD	 $LN13@HandleWind@3
  00558	00 00 00 00	 DD	 $LN12@HandleWind@3
  0055c	00 00 00 00	 DD	 $LN11@HandleWind@3
  00560	00 00 00 00	 DD	 $LN10@HandleWind@3
  00564	00 00 00 00	 DD	 $LN9@HandleWind@3
  00568	00 00 00 00	 DD	 $LN8@HandleWind@3
  0056c	00 00 00 00	 DD	 $LN7@HandleWind@3
  00570	00 00 00 00	 DD	 $LN6@HandleWind@3
  00574	00 00 00 00	 DD	 $LN5@HandleWind@3
  00578	00 00 00 00	 DD	 $LN4@HandleWind@3
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?HandleWindowsCommands@CDSSourceBase@@UAEHPAUHWND__@@IJ@Z$2:
  00000	8d 8d f0 fe ff
	ff		 lea	 ecx, DWORD PTR $T359325[ebp]
  00006	e9 00 00 00 00	 jmp	 ??1MakeString@@QAE@XZ
__unwindfunclet$?HandleWindowsCommands@CDSSourceBase@@UAEHPAUHWND__@@IJ@Z$3:
  0000b	8d 8d d0 fe ff
	ff		 lea	 ecx, DWORD PTR $T359327[ebp]
  00011	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$?HandleWindowsCommands@CDSSourceBase@@UAEHPAUHWND__@@IJ@Z$4:
  00016	8d 8d b4 fe ff
	ff		 lea	 ecx, DWORD PTR $T359328[ebp]
  0001c	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$?HandleWindowsCommands@CDSSourceBase@@UAEHPAUHWND__@@IJ@Z$5:
  00021	8d 8d 98 fe ff
	ff		 lea	 ecx, DWORD PTR $T359329[ebp]
  00027	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$?HandleWindowsCommands@CDSSourceBase@@UAEHPAUHWND__@@IJ@Z$6:
  0002c	8d 8d 7c fe ff
	ff		 lea	 ecx, DWORD PTR $T359330[ebp]
  00032	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$?HandleWindowsCommands@CDSSourceBase@@UAEHPAUHWND__@@IJ@Z$7:
  00037	8d 8d 70 ff ff
	ff		 lea	 ecx, DWORD PTR _dlg$144583[ebp]
  0003d	e9 00 00 00 00	 jmp	 ??1CTreeSettingsDlg@@UAE@XZ ; CTreeSettingsDlg::~CTreeSettingsDlg
__unwindfunclet$?HandleWindowsCommands@CDSSourceBase@@UAEHPAUHWND__@@IJ@Z$8:
  00042	8d 8d 60 fe ff
	ff		 lea	 ecx, DWORD PTR $T359331[ebp]
  00048	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$?HandleWindowsCommands@CDSSourceBase@@UAEHPAUHWND__@@IJ@Z:
  0004d	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00051	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00054	8b 8a 48 fe ff
	ff		 mov	 ecx, DWORD PTR [edx-440]
  0005a	33 c8		 xor	 ecx, eax
  0005c	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00061	8b 4a e4	 mov	 ecx, DWORD PTR [edx-28]
  00064	33 c8		 xor	 ecx, eax
  00066	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0006b	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?HandleWindowsCommands@CDSSourceBase@@UAEHPAUHWND__@@IJ@Z
  00070	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?HandleWindowsCommands@CDSSourceBase@@UAEHPAUHWND__@@IJ@Z ENDP ; CDSSourceBase::HandleWindowsCommands
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?Start@CDSSourceBase@@UAEXXZ DD 0ffffffffH
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	01H
	DD	FLAT:__unwindfunclet$?Start@CDSSourceBase@@UAEXXZ$2
__catchsym$?Start@CDSSourceBase@@UAEXXZ$3 DD 08H
	DD	FLAT:??_R0?AVCDShowException@@@8
	DD	0ffffffecH
	DD	FLAT:__catch$?Start@CDSSourceBase@@UAEXXZ$0
__tryblocktable$?Start@CDSSourceBase@@UAEXXZ DD 00H
	DD	00H
	DD	02H
	DD	01H
	DD	FLAT:__catchsym$?Start@CDSSourceBase@@UAEXXZ$3
__ehfuncinfo$?Start@CDSSourceBase@@UAEXXZ DD 019930522H
	DD	03H
	DD	FLAT:__unwindtable$?Start@CDSSourceBase@@UAEXXZ
	DD	01H
	DD	FLAT:__tryblocktable$?Start@CDSSourceBase@@UAEXXZ
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?Start@CDSSourceBase@@UAEXXZ
_TEXT	SEGMENT
_this$ = -52						; size = 4
$T359357 = -48						; size = 28
_e$144453 = -20						; size = 4
__$EHRec$ = -16						; size = 16
?Start@CDSSourceBase@@UAEXXZ PROC			; CDSSourceBase::Start, 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$?Start@CDSSourceBase@@UAEXXZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	51		 push	 ecx
  00012	83 ec 24	 sub	 esp, 36			; 00000024H
  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

; 93   :     m_LastNumDroppedFrames=-1;

  0002f	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  00032	c7 80 f4 00 00
	00 ff ff ff ff	 mov	 DWORD PTR [eax+244], -1

; 94   :     m_CurrentX=0;

  0003c	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  0003f	c7 41 74 00 00
	00 00		 mov	 DWORD PTR [ecx+116], 0

; 95   :     m_CurrentY=0;

  00046	8b 55 cc	 mov	 edx, DWORD PTR _this$[ebp]
  00049	c7 42 78 00 00
	00 00		 mov	 DWORD PTR [edx+120], 0

; 96   :     try
; 97   :     {

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

; 98   :         //derived class must create the graph first
; 99   :         _ASSERTE(m_pDSGraph!=NULL);
; 100  : 
; 101  :         m_pDSGraph->start();

  00057	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  0005a	8b 48 70	 mov	 ecx, DWORD PTR [eax+112]
  0005d	e8 00 00 00 00	 call	 ?start@CDShowGraph@@QAEXXZ ; CDShowGraph::start

; 102  :     }

  00062	eb 48		 jmp	 SHORT $LN4@Start@4
__catch$?Start@CDSSourceBase@@UAEXXZ$0:

; 103  :     catch(CDShowException &e)
; 104  :     {
; 105  :         ErrorBox(e.what());

  00064	8b 4d ec	 mov	 ecx, DWORD PTR _e$144453[ebp]
  00067	8b 11		 mov	 edx, DWORD PTR [ecx]
  00069	8b 4d ec	 mov	 ecx, DWORD PTR _e$144453[ebp]
  0006c	8b 42 04	 mov	 eax, DWORD PTR [edx+4]
  0006f	ff d0		 call	 eax
  00071	50		 push	 eax
  00072	8d 4d d0	 lea	 ecx, DWORD PTR $T359357[ebp]
  00075	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> >
  0007a	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+12], 2
  0007e	8d 4d d0	 lea	 ecx, DWORD PTR $T359357[ebp]
  00081	51		 push	 ecx
  00082	6a 69		 push	 105			; 00000069H
  00084	68 00 00 00 00	 push	 OFFSET ??_C@_1DO@NIPGONPM@?$AA?4?$AA?2?$AAd?$AAs?$AAh?$AAo?$AAw?$AAs?$AAo?$AAu?$AAr?$AAc?$AAe?$AA?2?$AAD?$AAS?$AAS?$AAo?$AAu?$AAr?$AAc?$AAe?$AAB?$AAa?$AAs?$AAe?$AA?4?$AAc?$AAp?$AAp?$AA?$AA@
  00089	6a 00		 push	 0
  0008b	e8 00 00 00 00	 call	 ?_ErrorBox@@YAXPAUHWND__@@PB_WHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z ; _ErrorBox
  00090	83 c4 10	 add	 esp, 16			; 00000010H
  00093	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+12], 1
  00097	8d 4d d0	 lea	 ecx, DWORD PTR $T359357[ebp]
  0009a	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> >

; 106  :     }

  0009f	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
  000a6	b8 00 00 00 00	 mov	 eax, __tryend$?Start@CDSSourceBase@@UAEXXZ$1
  000ab	c3		 ret	 0
$LN4@Start@4:
  000ac	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+12], -1
__tryend$?Start@CDSSourceBase@@UAEXXZ$1:

; 107  :     NotifySquarePixelsCheck();

  000b3	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  000b6	e8 00 00 00 00	 call	 ?NotifySquarePixelsCheck@CSource@@IAEXXZ ; CSource::NotifySquarePixelsCheck

; 108  : }

  000bb	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp+4]
  000be	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000c5	59		 pop	 ecx
  000c6	5f		 pop	 edi
  000c7	5e		 pop	 esi
  000c8	5b		 pop	 ebx
  000c9	8b e5		 mov	 esp, ebp
  000cb	5d		 pop	 ebp
  000cc	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?Start@CDSSourceBase@@UAEXXZ$2:
  00000	8d 4d d0	 lea	 ecx, DWORD PTR $T359357[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$?Start@CDSSourceBase@@UAEXXZ:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a c8	 mov	 ecx, DWORD PTR [edx-56]
  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$?Start@CDSSourceBase@@UAEXXZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?Start@CDSSourceBase@@UAEXXZ ENDP			; CDSSourceBase::Start
END
