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

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

INCLUDELIB OLDNAMES

PUBLIC	??_R4CDShowDevEnum@@6B@				; CDShowDevEnum::`RTTI Complete Object Locator'
PUBLIC	??_R3CDShowDevEnum@@8				; CDShowDevEnum::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2CDShowDevEnum@@8				; CDShowDevEnum::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@CDShowDevEnum@@8			; CDShowDevEnum::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVCDShowDevEnum@@@8			; CDShowDevEnum `RTTI Type Descriptor'
PUBLIC	??_R4CDShowDevEnumException@@6B@		; CDShowDevEnumException::`RTTI Complete Object Locator'
PUBLIC	??_R3CDShowDevEnumException@@8			; CDShowDevEnumException::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2CDShowDevEnumException@@8			; CDShowDevEnumException::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@CDShowDevEnumException@@8		; CDShowDevEnumException::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??0?$CComPtr@UIEnumMoniker@@@ATL@@QAE@PAUIEnumMoniker@@@Z ; ATL::CComPtr<IEnumMoniker>::CComPtr<IEnumMoniker>
PUBLIC	??0?$CComPtr@UICreateDevEnum@@@ATL@@QAE@PAUICreateDevEnum@@@Z ; ATL::CComPtr<ICreateDevEnum>::CComPtr<ICreateDevEnum>
PUBLIC	??0?$CComPtr@UIPropertyBag@@@ATL@@QAE@XZ	; ATL::CComPtr<IPropertyBag>::CComPtr<IPropertyBag>
PUBLIC	??1?$CComPtr@UIEnumMoniker@@@ATL@@QAE@XZ	; ATL::CComPtr<IEnumMoniker>::~CComPtr<IEnumMoniker>
PUBLIC	??1?$CComPtr@UICreateDevEnum@@@ATL@@QAE@XZ	; ATL::CComPtr<ICreateDevEnum>::~CComPtr<ICreateDevEnum>
PUBLIC	??1?$CComPtr@UIPropertyBag@@@ATL@@QAE@XZ	; ATL::CComPtr<IPropertyBag>::~CComPtr<IPropertyBag>
PUBLIC	??_GCDShowDevEnum@@UAEPAXI@Z			; CDShowDevEnum::`scalar deleting destructor'
PUBLIC	?Release@?$CComPtr@UIEnumMoniker@@@ATL@@QAEXXZ	; ATL::CComPtr<IEnumMoniker>::Release
PUBLIC	??B?$CComPtr@UIEnumMoniker@@@ATL@@QBEPAUIEnumMoniker@@XZ ; ATL::CComPtr<IEnumMoniker>::operator IEnumMoniker *
PUBLIC	??I?$CComPtr@UIEnumMoniker@@@ATL@@QAEPAPAUIEnumMoniker@@XZ ; ATL::CComPtr<IEnumMoniker>::operator&
PUBLIC	??4?$CComPtr@UIEnumMoniker@@@ATL@@QAEPAUIEnumMoniker@@PAU2@@Z ; ATL::CComPtr<IEnumMoniker>::operator=
PUBLIC	??C?$CComPtr@UICreateDevEnum@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UICreateDevEnum@@@1@XZ ; ATL::CComPtr<ICreateDevEnum>::operator->
PUBLIC	??C?$CComPtr@UIEnumMoniker@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIEnumMoniker@@@1@XZ ; ATL::CComPtr<IEnumMoniker>::operator->
PUBLIC	??8?$CComPtr@UIEnumMoniker@@@ATL@@QBE_NPAUIEnumMoniker@@@Z ; ATL::CComPtr<IEnumMoniker>::operator==
PUBLIC	?Release@?$CComPtr@UIPropertyBag@@@ATL@@QAEXXZ	; ATL::CComPtr<IPropertyBag>::Release
PUBLIC	??I?$CComPtr@UIPropertyBag@@@ATL@@QAEPAPAUIPropertyBag@@XZ ; ATL::CComPtr<IPropertyBag>::operator&
PUBLIC	?CoCreateInstance@?$CComPtr@UICreateDevEnum@@@ATL@@QAEJABU_GUID@@PAUIUnknown@@K@Z ; ATL::CComPtr<ICreateDevEnum>::CoCreateInstance
PUBLIC	??0CDShowDevEnumException@@QAE@PBDJ@Z		; CDShowDevEnumException::CDShowDevEnumException
PUBLIC	??1CDShowDevEnumException@@UAE@XZ		; CDShowDevEnumException::~CDShowDevEnumException
PUBLIC	??_GCDShowDevEnumException@@UAEPAXI@Z		; CDShowDevEnumException::`scalar deleting destructor'
PUBLIC	??0CDShowDevEnumException@@QAE@ABV0@@Z		; CDShowDevEnumException::CDShowDevEnumException
PUBLIC	??C?$CComPtr@UIMoniker@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIMoniker@@@1@XZ ; ATL::CComPtr<IMoniker>::operator->
PUBLIC	??0?$CComPtr@UIBindCtx@@@ATL@@QAE@XZ		; ATL::CComPtr<IBindCtx>::CComPtr<IBindCtx>
PUBLIC	??1?$CComPtr@UIBindCtx@@@ATL@@QAE@XZ		; ATL::CComPtr<IBindCtx>::~CComPtr<IBindCtx>
PUBLIC	??B?$CComPtr@UIBindCtx@@@ATL@@QBEPAUIBindCtx@@XZ ; ATL::CComPtr<IBindCtx>::operator IBindCtx *
PUBLIC	??I?$CComPtr@UIBindCtx@@@ATL@@QAEPAPAUIBindCtx@@XZ ; ATL::CComPtr<IBindCtx>::operator&
PUBLIC	??C?$CComPtr@UIPropertyBag@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIPropertyBag@@@1@XZ ; ATL::CComPtr<IPropertyBag>::operator->
PUBLIC	??_C@_0BN@NOPKEEN@Cant?5create?5Class?5enumerator?$AA@ ; `string'
PUBLIC	??_R0?AVCDShowDevEnumException@@@8		; CDShowDevEnumException `RTTI Type Descriptor'
PUBLIC	__CT??_R0?AVCDShowDevEnumException@@@8??0CDShowDevEnumException@@QAE@ABV0@@Z44
PUBLIC	__CTA4?AVCDShowDevEnumException@@
PUBLIC	__TI4?AVCDShowDevEnumException@@
PUBLIC	??_C@_0CF@JJBOGPIC@Cant?5create?5System?5Device?5Enumer@ ; `string'
PUBLIC	??_C@_0CC@NDHMFMLO@createDevice?3?5cant?5create?5monike@ ; `string'
PUBLIC	??_C@_0CC@PGLJKFKK@createDevice?3?5BindToObject?5faile@ ; `string'
PUBLIC	??_7CDShowDevEnumException@@6B@			; CDShowDevEnumException::`vftable'
PUBLIC	??_7CDShowDevEnum@@6B@				; CDShowDevEnum::`vftable'
PUBLIC	__GUID_29840822_5b84_11d0_bd3b_00a0c911ce86
EXTRN	??_ECDShowDevEnum@@UAEPAXI@Z:PROC		; CDShowDevEnum::`vector deleting destructor'
EXTRN	_IID_IPropertyBag:BYTE
EXTRN	_CLSID_SystemDeviceEnum:BYTE
EXTRN	__imp__MkParseDisplayName@16:PROC
EXTRN	__imp__CreateBindCtx@8:PROC
EXTRN	??_ECDShowDevEnumException@@UAEPAXI@Z:PROC	; CDShowDevEnumException::`vector deleting destructor'
EXTRN	__imp__SysFreeString@4:PROC
;	COMDAT __GUID_29840822_5b84_11d0_bd3b_00a0c911ce86
CONST	SEGMENT
__GUID_29840822_5b84_11d0_bd3b_00a0c911ce86 DD 029840822H
	DW	05b84H
	DW	011d0H
	DB	0bdH
	DB	03bH
	DB	00H
	DB	0a0H
	DB	0c9H
	DB	011H
	DB	0ceH
	DB	086H
CONST	ENDS
;	COMDAT ??_7CDShowDevEnum@@6B@
CONST	SEGMENT
??_7CDShowDevEnum@@6B@ DD FLAT:??_R4CDShowDevEnum@@6B@	; CDShowDevEnum::`vftable'
	DD	FLAT:??_ECDShowDevEnum@@UAEPAXI@Z
CONST	ENDS
;	COMDAT ??_R4CDShowDevEnum@@6B@
rdata$r	SEGMENT
??_R4CDShowDevEnum@@6B@ DD 00H				; CDShowDevEnum::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVCDShowDevEnum@@@8
	DD	FLAT:??_R3CDShowDevEnum@@8
rdata$r	ENDS
;	COMDAT ??_R3CDShowDevEnum@@8
rdata$r	SEGMENT
??_R3CDShowDevEnum@@8 DD 00H				; CDShowDevEnum::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2CDShowDevEnum@@8
rdata$r	ENDS
;	COMDAT ??_R2CDShowDevEnum@@8
rdata$r	SEGMENT
??_R2CDShowDevEnum@@8 DD FLAT:??_R1A@?0A@EA@CDShowDevEnum@@8 ; CDShowDevEnum::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@CDShowDevEnum@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@CDShowDevEnum@@8 DD FLAT:??_R0?AVCDShowDevEnum@@@8 ; CDShowDevEnum::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3CDShowDevEnum@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVCDShowDevEnum@@@8
_DATA	SEGMENT
??_R0?AVCDShowDevEnum@@@8 DD FLAT:??_7type_info@@6B@	; CDShowDevEnum `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVCDShowDevEnum@@', 00H
_DATA	ENDS
;	COMDAT ??_7CDShowDevEnumException@@6B@
CONST	SEGMENT
??_7CDShowDevEnumException@@6B@ DD FLAT:??_R4CDShowDevEnumException@@6B@ ; CDShowDevEnumException::`vftable'
	DD	FLAT:??_ECDShowDevEnumException@@UAEPAXI@Z
	DD	FLAT:?what@runtime_error@std@@UBEPBDXZ
CONST	ENDS
;	COMDAT ??_R4CDShowDevEnumException@@6B@
rdata$r	SEGMENT
??_R4CDShowDevEnumException@@6B@ DD 00H			; CDShowDevEnumException::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVCDShowDevEnumException@@@8
	DD	FLAT:??_R3CDShowDevEnumException@@8
rdata$r	ENDS
;	COMDAT ??_R3CDShowDevEnumException@@8
rdata$r	SEGMENT
??_R3CDShowDevEnumException@@8 DD 00H			; CDShowDevEnumException::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2CDShowDevEnumException@@8
rdata$r	ENDS
;	COMDAT ??_R2CDShowDevEnumException@@8
rdata$r	SEGMENT
??_R2CDShowDevEnumException@@8 DD FLAT:??_R1A@?0A@EA@CDShowDevEnumException@@8 ; CDShowDevEnumException::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@CDShowException@@8
	DD	FLAT:??_R1A@?0A@EA@runtime_error@std@@8
	DD	FLAT:??_R1A@?0A@EA@exception@std@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@CDShowDevEnumException@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@CDShowDevEnumException@@8 DD FLAT:??_R0?AVCDShowDevEnumException@@@8 ; CDShowDevEnumException::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3CDShowDevEnumException@@8
rdata$r	ENDS
;	COMDAT ??_C@_0CC@PGLJKFKK@createDevice?3?5BindToObject?5faile@
CONST	SEGMENT
??_C@_0CC@PGLJKFKK@createDevice?3?5BindToObject?5faile@ DB 'createDevice:'
	DB	' BindToObject failed', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0CC@NDHMFMLO@createDevice?3?5cant?5create?5monike@
CONST	SEGMENT
??_C@_0CC@NDHMFMLO@createDevice?3?5cant?5create?5monike@ DB 'createDevice'
	DB	': cant create moniker', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0CF@JJBOGPIC@Cant?5create?5System?5Device?5Enumer@
CONST	SEGMENT
??_C@_0CF@JJBOGPIC@Cant?5create?5System?5Device?5Enumer@ DB 'Cant create '
	DB	'System Device Enumerator', 00H		; `string'
CONST	ENDS
;	COMDAT __TI4?AVCDShowDevEnumException@@
xdata$x	SEGMENT
__TI4?AVCDShowDevEnumException@@ DD 00H
	DD	FLAT:??1CDShowDevEnumException@@UAE@XZ
	DD	00H
	DD	FLAT:__CTA4?AVCDShowDevEnumException@@
xdata$x	ENDS
;	COMDAT __CTA4?AVCDShowDevEnumException@@
xdata$x	SEGMENT
__CTA4?AVCDShowDevEnumException@@ DD 04H
	DD	FLAT:__CT??_R0?AVCDShowDevEnumException@@@8??0CDShowDevEnumException@@QAE@ABV0@@Z44
	DD	FLAT:__CT??_R0?AVCDShowException@@@8??0CDShowException@@QAE@ABV0@@Z44
	DD	FLAT:__CT??_R0?AVruntime_error@std@@@8??0runtime_error@std@@QAE@ABV01@@Z40
	DD	FLAT:__CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12
xdata$x	ENDS
;	COMDAT __CT??_R0?AVCDShowDevEnumException@@@8??0CDShowDevEnumException@@QAE@ABV0@@Z44
xdata$x	SEGMENT
__CT??_R0?AVCDShowDevEnumException@@@8??0CDShowDevEnumException@@QAE@ABV0@@Z44 DD 00H
	DD	FLAT:??_R0?AVCDShowDevEnumException@@@8
	DD	00H
	DD	0ffffffffH
	ORG $+4
	DD	02cH
	DD	FLAT:??0CDShowDevEnumException@@QAE@ABV0@@Z
xdata$x	ENDS
;	COMDAT ??_R0?AVCDShowDevEnumException@@@8
_DATA	SEGMENT
??_R0?AVCDShowDevEnumException@@@8 DD FLAT:??_7type_info@@6B@ ; CDShowDevEnumException `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVCDShowDevEnumException@@', 00H
_DATA	ENDS
;	COMDAT ??_C@_0BN@NOPKEEN@Cant?5create?5Class?5enumerator?$AA@
CONST	SEGMENT
??_C@_0BN@NOPKEEN@Cant?5create?5Class?5enumerator?$AA@ DB 'Cant create Cl'
	DB	'ass enumerator', 00H			; `string'
; Function compile flags: /Odtp
; File c:\tools\winddk\3790.1830\inc\atl30\atlbase.h
;	COMDAT ??I?$CComPtr@UIBindCtx@@@ATL@@QAEPAPAUIBindCtx@@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??I?$CComPtr@UIBindCtx@@@ATL@@QAEPAPAUIBindCtx@@XZ PROC	; ATL::CComPtr<IBindCtx>::operator&, COMDAT
; _this$ = ecx

; 710  :         {

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

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

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

; 713  :         }

  0000a	8b e5		 mov	 esp, ebp
  0000c	5d		 pop	 ebp
  0000d	c3		 ret	 0
??I?$CComPtr@UIBindCtx@@@ATL@@QAEPAPAUIBindCtx@@XZ ENDP	; ATL::CComPtr<IBindCtx>::operator&
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??B?$CComPtr@UIBindCtx@@@ATL@@QBEPAUIBindCtx@@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??B?$CComPtr@UIBindCtx@@@ATL@@QBEPAUIBindCtx@@XZ PROC	; ATL::CComPtr<IBindCtx>::operator IBindCtx *, COMDAT
; _this$ = ecx

; 699  :         {

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

; 700  :                 return (T*)p;

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

; 701  :         }

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

; 685  :         {

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

; 686  :                 if (p)

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

; 687  :                         p->Release();

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

; 688  :         }

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

; 670  :         CComPtr()

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

; 671  :         {
; 672  :                 p=NULL;

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

; 673  :         }

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

; 715  :         {

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

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

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

; 718  :         }

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

; 715  :         {

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

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

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

; 718  :         }

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

; 710  :         {

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

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

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

; 713  :         }

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

; 690  :         {

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

; 691  :                 IUnknown* pTemp = p;

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

; 692  :                 if (pTemp)

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

; 693  :                 {
; 694  :                         p = NULL;

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

; 695  :                         pTemp->Release();

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

; 696  :                 }
; 697  :         }

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

; 685  :         {

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

; 686  :                 if (p)

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

; 687  :                         p->Release();

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

; 688  :         }

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

; 670  :         CComPtr()

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

; 671  :         {
; 672  :                 p=NULL;

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

; 673  :         }

  00010	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00013	8b e5		 mov	 esp, ebp
  00015	5d		 pop	 ebp
  00016	c3		 ret	 0
??0?$CComPtr@UIPropertyBag@@@ATL@@QAE@XZ ENDP		; ATL::CComPtr<IPropertyBag>::CComPtr<IPropertyBag>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?CoCreateInstance@?$CComPtr@UICreateDevEnum@@@ATL@@QAEJABU_GUID@@PAUIUnknown@@K@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_rclsid$ = 8						; size = 4
_pUnkOuter$ = 12					; size = 4
_dwClsContext$ = 16					; size = 4
?CoCreateInstance@?$CComPtr@UICreateDevEnum@@@ATL@@QAEJABU_GUID@@PAUIUnknown@@K@Z PROC ; ATL::CComPtr<ICreateDevEnum>::CoCreateInstance, COMDAT
; _this$ = ecx

; 785  :         {

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

; 786  :                 ATLASSERT(p == NULL);
; 787  :                 return ::CoCreateInstance(rclsid, pUnkOuter, dwClsContext, __uuidof(T), (void**)&p);

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	50		 push	 eax
  0000b	68 00 00 00 00	 push	 OFFSET __GUID_29840822_5b84_11d0_bd3b_00a0c911ce86
  00010	8b 4d 10	 mov	 ecx, DWORD PTR _dwClsContext$[ebp]
  00013	51		 push	 ecx
  00014	8b 55 0c	 mov	 edx, DWORD PTR _pUnkOuter$[ebp]
  00017	52		 push	 edx
  00018	8b 45 08	 mov	 eax, DWORD PTR _rclsid$[ebp]
  0001b	50		 push	 eax
  0001c	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CoCreateInstance@20

; 788  :         }

  00022	8b e5		 mov	 esp, ebp
  00024	5d		 pop	 ebp
  00025	c2 0c 00	 ret	 12			; 0000000cH
?CoCreateInstance@?$CComPtr@UICreateDevEnum@@@ATL@@QAEJABU_GUID@@PAUIUnknown@@K@Z ENDP ; ATL::CComPtr<ICreateDevEnum>::CoCreateInstance
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??C?$CComPtr@UICreateDevEnum@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UICreateDevEnum@@@1@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??C?$CComPtr@UICreateDevEnum@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UICreateDevEnum@@@1@XZ PROC ; ATL::CComPtr<ICreateDevEnum>::operator->, COMDAT
; _this$ = ecx

; 715  :         {

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

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

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

; 718  :         }

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

; 685  :         {

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

; 686  :                 if (p)

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

; 687  :                         p->Release();

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

; 688  :         }

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

; 674  :         CComPtr(T* lp)

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

; 675  :         {
; 676  :                 if ((p = lp) != NULL)

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b 4d 08	 mov	 ecx, DWORD PTR _lp$[ebp]
  0000d	89 08		 mov	 DWORD PTR [eax], ecx
  0000f	83 7d 08 00	 cmp	 DWORD PTR _lp$[ebp], 0
  00013	74 12		 je	 SHORT $LN2@CComPtr@36

; 677  :                         p->AddRef();

  00015	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00018	8b 02		 mov	 eax, DWORD PTR [edx]
  0001a	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0001d	8b 11		 mov	 edx, DWORD PTR [ecx]
  0001f	8b 00		 mov	 eax, DWORD PTR [eax]
  00021	52		 push	 edx
  00022	8b 48 04	 mov	 ecx, DWORD PTR [eax+4]
  00025	ff d1		 call	 ecx
$LN2@CComPtr@36:

; 678  :         }

  00027	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0002a	8b e5		 mov	 esp, ebp
  0002c	5d		 pop	 ebp
  0002d	c2 04 00	 ret	 4
??0?$CComPtr@UICreateDevEnum@@@ATL@@QAE@PAUICreateDevEnum@@@Z ENDP ; ATL::CComPtr<ICreateDevEnum>::CComPtr<ICreateDevEnum>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??8?$CComPtr@UIEnumMoniker@@@ATL@@QBE_NPAUIEnumMoniker@@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_pT$ = 8						; size = 4
??8?$CComPtr@UIEnumMoniker@@@ATL@@QBE_NPAUIEnumMoniker@@@Z PROC ; ATL::CComPtr<IEnumMoniker>::operator==, COMDAT
; _this$ = ecx

; 736  :         {

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

; 737  :                 return p == pT;

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b 08		 mov	 ecx, DWORD PTR [eax]
  0000c	33 c0		 xor	 eax, eax
  0000e	3b 4d 08	 cmp	 ecx, DWORD PTR _pT$[ebp]
  00011	0f 94 c0	 sete	 al

; 738  :         }

  00014	8b e5		 mov	 esp, ebp
  00016	5d		 pop	 ebp
  00017	c2 04 00	 ret	 4
??8?$CComPtr@UIEnumMoniker@@@ATL@@QBE_NPAUIEnumMoniker@@@Z ENDP ; ATL::CComPtr<IEnumMoniker>::operator==
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??C?$CComPtr@UIEnumMoniker@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIEnumMoniker@@@1@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??C?$CComPtr@UIEnumMoniker@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIEnumMoniker@@@1@XZ PROC ; ATL::CComPtr<IEnumMoniker>::operator->, COMDAT
; _this$ = ecx

; 715  :         {

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

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

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

; 718  :         }

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

; 710  :         {

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

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

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

; 713  :         }

  0000a	8b e5		 mov	 esp, ebp
  0000c	5d		 pop	 ebp
  0000d	c3		 ret	 0
??I?$CComPtr@UIEnumMoniker@@@ATL@@QAEPAPAUIEnumMoniker@@XZ ENDP ; ATL::CComPtr<IEnumMoniker>::operator&
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??B?$CComPtr@UIEnumMoniker@@@ATL@@QBEPAUIEnumMoniker@@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??B?$CComPtr@UIEnumMoniker@@@ATL@@QBEPAUIEnumMoniker@@XZ PROC ; ATL::CComPtr<IEnumMoniker>::operator IEnumMoniker *, COMDAT
; _this$ = ecx

; 699  :         {

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

; 700  :                 return (T*)p;

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

; 701  :         }

  0000c	8b e5		 mov	 esp, ebp
  0000e	5d		 pop	 ebp
  0000f	c3		 ret	 0
??B?$CComPtr@UIEnumMoniker@@@ATL@@QBEPAUIEnumMoniker@@XZ ENDP ; ATL::CComPtr<IEnumMoniker>::operator IEnumMoniker *
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Release@?$CComPtr@UIEnumMoniker@@@ATL@@QAEXXZ
_TEXT	SEGMENT
_this$ = -8						; size = 4
_pTemp$ = -4						; size = 4
?Release@?$CComPtr@UIEnumMoniker@@@ATL@@QAEXXZ PROC	; ATL::CComPtr<IEnumMoniker>::Release, COMDAT
; _this$ = ecx

; 690  :         {

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

; 691  :                 IUnknown* pTemp = p;

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

; 692  :                 if (pTemp)

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

; 693  :                 {
; 694  :                         p = NULL;

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

; 695  :                         pTemp->Release();

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

; 696  :                 }
; 697  :         }

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

; 685  :         {

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

; 686  :                 if (p)

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

; 687  :                         p->Release();

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

; 688  :         }

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

; 674  :         CComPtr(T* lp)

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

; 675  :         {
; 676  :                 if ((p = lp) != NULL)

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

; 677  :                         p->AddRef();

  00015	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00018	8b 02		 mov	 eax, DWORD PTR [edx]
  0001a	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0001d	8b 11		 mov	 edx, DWORD PTR [ecx]
  0001f	8b 00		 mov	 eax, DWORD PTR [eax]
  00021	52		 push	 edx
  00022	8b 48 04	 mov	 ecx, DWORD PTR [eax+4]
  00025	ff d1		 call	 ecx
$LN2@CComPtr@38:

; 678  :         }

  00027	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0002a	8b e5		 mov	 esp, ebp
  0002c	5d		 pop	 ebp
  0002d	c2 04 00	 ret	 4
??0?$CComPtr@UIEnumMoniker@@@ATL@@QAE@PAUIEnumMoniker@@@Z ENDP ; ATL::CComPtr<IEnumMoniker>::CComPtr<IEnumMoniker>
; Function compile flags: /Odtp
;	COMDAT ??4?$CComPtr@UIEnumMoniker@@@ATL@@QAEPAUIEnumMoniker@@PAU2@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_lp$ = 8						; size = 4
??4?$CComPtr@UIEnumMoniker@@@ATL@@QAEPAUIEnumMoniker@@PAU2@@Z PROC ; ATL::CComPtr<IEnumMoniker>::operator=, COMDAT
; _this$ = ecx

; 720  :         {

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

; 721  :                 return (T*)AtlComPtrAssign((IUnknown**)&p, lp);

  00007	8b 45 08	 mov	 eax, DWORD PTR _lp$[ebp]
  0000a	50		 push	 eax
  0000b	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000e	51		 push	 ecx
  0000f	e8 00 00 00 00	 call	 ?AtlComPtrAssign@ATL@@YGPAUIUnknown@@PAPAU2@PAU2@@Z ; ATL::AtlComPtrAssign

; 722  :         }

  00014	8b e5		 mov	 esp, ebp
  00016	5d		 pop	 ebp
  00017	c2 04 00	 ret	 4
??4?$CComPtr@UIEnumMoniker@@@ATL@@QAEPAUIEnumMoniker@@PAU2@@Z ENDP ; ATL::CComPtr<IEnumMoniker>::operator=
PUBLIC	??1CDShowDevEnum@@UAE@XZ			; CDShowDevEnum::~CDShowDevEnum
;	COMDAT xdata$x
; File c:\develop\dscaler423a\dscaler\dshowsource\devenum.cpp
xdata$x	SEGMENT
__unwindtable$??1CDShowDevEnum@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1CDShowDevEnum@@UAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??1CDShowDevEnum@@UAE@XZ$1
	DD	01H
	DD	FLAT:__unwindfunclet$??1CDShowDevEnum@@UAE@XZ$2
	DD	02H
	DD	FLAT:__unwindfunclet$??1CDShowDevEnum@@UAE@XZ$3
__ehfuncinfo$??1CDShowDevEnum@@UAE@XZ DD 019930522H
	DD	04H
	DD	FLAT:__unwindtable$??1CDShowDevEnum@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??1CDShowDevEnum@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1CDShowDevEnum@@UAE@XZ PROC				; CDShowDevEnum::~CDShowDevEnum, COMDAT
; _this$ = ecx

; 51   : {

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

; 52   : 
; 53   : }

  00036	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  0003a	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0003d	83 c1 10	 add	 ecx, 16			; 00000010H
  00040	e8 00 00 00 00	 call	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
  00045	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  00049	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0004c	83 c1 0c	 add	 ecx, 12			; 0000000cH
  0004f	e8 00 00 00 00	 call	 ??1?$CComPtr@UIPropertyBag@@@ATL@@QAE@XZ ; ATL::CComPtr<IPropertyBag>::~CComPtr<IPropertyBag>
  00054	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  00058	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0005b	83 c1 08	 add	 ecx, 8
  0005e	e8 00 00 00 00	 call	 ??1?$CComPtr@UICreateDevEnum@@@ATL@@QAE@XZ ; ATL::CComPtr<ICreateDevEnum>::~CComPtr<ICreateDevEnum>
  00063	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0006a	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0006d	83 c1 04	 add	 ecx, 4
  00070	e8 00 00 00 00	 call	 ??1?$CComPtr@UIEnumMoniker@@@ATL@@QAE@XZ ; ATL::CComPtr<IEnumMoniker>::~CComPtr<IEnumMoniker>
  00075	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00078	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0007f	59		 pop	 ecx
  00080	8b e5		 mov	 esp, ebp
  00082	5d		 pop	 ebp
  00083	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1CDShowDevEnum@@UAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	83 c1 04	 add	 ecx, 4
  00006	e9 00 00 00 00	 jmp	 ??1?$CComPtr@UIEnumMoniker@@@ATL@@QAE@XZ ; ATL::CComPtr<IEnumMoniker>::~CComPtr<IEnumMoniker>
__unwindfunclet$??1CDShowDevEnum@@UAE@XZ$1:
  0000b	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0000e	83 c1 08	 add	 ecx, 8
  00011	e9 00 00 00 00	 jmp	 ??1?$CComPtr@UICreateDevEnum@@@ATL@@QAE@XZ ; ATL::CComPtr<ICreateDevEnum>::~CComPtr<ICreateDevEnum>
__unwindfunclet$??1CDShowDevEnum@@UAE@XZ$2:
  00016	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00019	83 c1 0c	 add	 ecx, 12			; 0000000cH
  0001c	e9 00 00 00 00	 jmp	 ??1?$CComPtr@UIPropertyBag@@@ATL@@QAE@XZ ; ATL::CComPtr<IPropertyBag>::~CComPtr<IPropertyBag>
__unwindfunclet$??1CDShowDevEnum@@UAE@XZ$3:
  00021	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00024	83 c1 10	 add	 ecx, 16			; 00000010H
  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> >
__ehhandler$??1CDShowDevEnum@@UAE@XZ:
  0002c	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00030	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00033	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  00036	33 c8		 xor	 ecx, eax
  00038	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0003d	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??1CDShowDevEnum@@UAE@XZ
  00042	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1CDShowDevEnum@@UAE@XZ ENDP				; CDShowDevEnum::~CDShowDevEnum
; Function compile flags: /Odtp
;	COMDAT ??_GCDShowDevEnum@@UAEPAXI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___flags$ = 8						; size = 4
??_GCDShowDevEnum@@UAEPAXI@Z PROC			; CDShowDevEnum::`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	 ??1CDShowDevEnum@@UAE@XZ ; CDShowDevEnum::~CDShowDevEnum
  0000f	8b 45 08	 mov	 eax, DWORD PTR ___flags$[ebp]
  00012	83 e0 01	 and	 eax, 1
  00015	74 0c		 je	 SHORT $LN1@scalar@150
  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@150:
  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
??_GCDShowDevEnum@@UAEPAXI@Z ENDP			; CDShowDevEnum::`scalar deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1CDShowDevEnumException@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1CDShowDevEnumException@@UAE@XZ$0
__ehfuncinfo$??1CDShowDevEnumException@@UAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1CDShowDevEnumException@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??1CDShowDevEnumException@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1CDShowDevEnumException@@UAE@XZ PROC			; CDShowDevEnumException::~CDShowDevEnumException, 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$??1CDShowDevEnumException@@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	 ??1CDShowException@@UAE@XZ
  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$??1CDShowDevEnumException@@UAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CDShowException@@UAE@XZ
__ehhandler$??1CDShowDevEnumException@@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$??1CDShowDevEnumException@@UAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1CDShowDevEnumException@@UAE@XZ ENDP			; CDShowDevEnumException::~CDShowDevEnumException
; Function compile flags: /Odtp
;	COMDAT ??_GCDShowDevEnumException@@UAEPAXI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___flags$ = 8						; size = 4
??_GCDShowDevEnumException@@UAEPAXI@Z PROC		; CDShowDevEnumException::`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	 ??1CDShowDevEnumException@@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@238
  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@238:
  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
??_GCDShowDevEnumException@@UAEPAXI@Z ENDP		; CDShowDevEnumException::`scalar deleting destructor'
PUBLIC	__$ArrayPad$
PUBLIC	?getProperty@CDShowDevEnum@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V23@@Z ; CDShowDevEnum::getProperty
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?getProperty@CDShowDevEnum@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V23@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?getProperty@CDShowDevEnum@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V23@@Z$4
	DD	00H
	DD	FLAT:__unwindfunclet$?getProperty@CDShowDevEnum@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V23@@Z$0
	DD	01H
	DD	FLAT:__unwindfunclet$?getProperty@CDShowDevEnum@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V23@@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$?getProperty@CDShowDevEnum@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V23@@Z$2
	DD	03H
	DD	FLAT:__unwindfunclet$?getProperty@CDShowDevEnum@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V23@@Z$3
	DD	01H
	DD	FLAT:__unwindfunclet$?getProperty@CDShowDevEnum@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V23@@Z$3
__ehfuncinfo$?getProperty@CDShowDevEnum@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V23@@Z DD 019930522H
	DD	06H
	DD	FLAT:__unwindtable$?getProperty@CDShowDevEnum@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V23@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?getProperty@CDShowDevEnum@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V23@@Z
_TEXT	SEGMENT
tv139 = -144						; size = 4
tv150 = -140						; size = 4
tv73 = -136						; size = 4
_this$ = -132						; size = 4
$T333766 = -128						; size = 4
$T333760 = -124						; size = 28
$T333759 = -96						; size = 28
_tmp$139892 = -68					; size = 28
_hr$ = -40						; size = 4
_varProperty$ = -36					; size = 16
__$ArrayPad$ = -16					; size = 4
__$EHRec$ = -12						; size = 12
___$ReturnUdt$ = 8					; size = 4
_szName$ = 12						; size = 28
?getProperty@CDShowDevEnum@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V23@@Z PROC ; CDShowDevEnum::getProperty, COMDAT
; _this$ = ecx

; 147  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?getProperty@CDShowDevEnum@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V23@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	81 ec 84 00 00
	00		 sub	 esp, 132		; 00000084H
  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001c	33 c5		 xor	 eax, ebp
  0001e	89 45 f0	 mov	 DWORD PTR __$ArrayPad$[ebp], eax
  00021	50		 push	 eax
  00022	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00025	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  0002b	89 8d 7c ff ff
	ff		 mov	 DWORD PTR _this$[ebp], ecx
  00031	c7 45 80 00 00
	00 00		 mov	 DWORD PTR $T333766[ebp], 0
  00038	c7 45 fc 01 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 1

; 148  :     VARIANT varProperty;
; 149  :     HRESULT hr;
; 150  :     varProperty.vt = VT_BSTR;

  0003f	b8 08 00 00 00	 mov	 eax, 8
  00044	66 89 45 dc	 mov	 WORD PTR _varProperty$[ebp], ax

; 151  :     hr = m_pPropBag->Read(TStringToUnicode(szName).c_str(), &varProperty, 0);

  00048	8b 8d 7c ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  0004e	83 c1 0c	 add	 ecx, 12			; 0000000cH
  00051	e8 00 00 00 00	 call	 ??C?$CComPtr@UIPropertyBag@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIPropertyBag@@@1@XZ ; ATL::CComPtr<IPropertyBag>::operator->
  00056	89 85 78 ff ff
	ff		 mov	 DWORD PTR tv73[ebp], eax
  0005c	8d 4d 0c	 lea	 ecx, DWORD PTR _szName$[ebp]
  0005f	51		 push	 ecx
  00060	8d 55 a0	 lea	 edx, DWORD PTR $T333759[ebp]
  00063	52		 push	 edx
  00064	e8 00 00 00 00	 call	 ?UnicodeToUnicode@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABV12@@Z ; UnicodeToUnicode
  00069	83 c4 08	 add	 esp, 8
  0006c	89 85 74 ff ff
	ff		 mov	 DWORD PTR tv150[ebp], eax
  00072	8b 85 74 ff ff
	ff		 mov	 eax, DWORD PTR tv150[ebp]
  00078	89 85 70 ff ff
	ff		 mov	 DWORD PTR tv139[ebp], eax
  0007e	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  00082	6a 00		 push	 0
  00084	8d 4d dc	 lea	 ecx, DWORD PTR _varProperty$[ebp]
  00087	51		 push	 ecx
  00088	8b 8d 70 ff ff
	ff		 mov	 ecx, DWORD PTR tv139[ebp]
  0008e	e8 00 00 00 00	 call	 ?c_str@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEPB_WXZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::c_str
  00093	50		 push	 eax
  00094	8b 95 78 ff ff
	ff		 mov	 edx, DWORD PTR tv73[ebp]
  0009a	52		 push	 edx
  0009b	8b 85 78 ff ff
	ff		 mov	 eax, DWORD PTR tv73[ebp]
  000a1	8b 08		 mov	 ecx, DWORD PTR [eax]
  000a3	8b 51 0c	 mov	 edx, DWORD PTR [ecx+12]
  000a6	ff d2		 call	 edx
  000a8	89 45 d8	 mov	 DWORD PTR _hr$[ebp], eax
  000ab	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  000af	8d 4d a0	 lea	 ecx, DWORD PTR $T333759[ebp]
  000b2	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> >

; 152  :     if(SUCCEEDED(hr))

  000b7	83 7d d8 00	 cmp	 DWORD PTR _hr$[ebp], 0
  000bb	7c 6a		 jl	 SHORT $LN2@getPropert

; 153  :     {
; 154  :         tstring tmp(UnicodeToTString(varProperty.bstrVal));

  000bd	8b 45 e4	 mov	 eax, DWORD PTR _varProperty$[ebp+8]
  000c0	50		 push	 eax
  000c1	8d 4d 84	 lea	 ecx, DWORD PTR $T333760[ebp]
  000c4	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> >
  000c9	c6 45 fc 03	 mov	 BYTE PTR __$EHRec$[ebp+8], 3
  000cd	8d 4d 84	 lea	 ecx, DWORD PTR $T333760[ebp]
  000d0	51		 push	 ecx
  000d1	8d 55 bc	 lea	 edx, DWORD PTR _tmp$139892[ebp]
  000d4	52		 push	 edx
  000d5	e8 00 00 00 00	 call	 ?UnicodeToUnicode@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABV12@@Z ; UnicodeToUnicode
  000da	83 c4 08	 add	 esp, 8
  000dd	c6 45 fc 05	 mov	 BYTE PTR __$EHRec$[ebp+8], 5
  000e1	8d 4d 84	 lea	 ecx, DWORD PTR $T333760[ebp]
  000e4	e8 00 00 00 00	 call	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >

; 155  :         SysFreeString(varProperty.bstrVal);

  000e9	8b 45 e4	 mov	 eax, DWORD PTR _varProperty$[ebp+8]
  000ec	50		 push	 eax
  000ed	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__SysFreeString@4

; 156  :         return tmp;

  000f3	8d 4d bc	 lea	 ecx, DWORD PTR _tmp$139892[ebp]
  000f6	51		 push	 ecx
  000f7	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  000fa	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> >
  000ff	8b 55 80	 mov	 edx, DWORD PTR $T333766[ebp]
  00102	83 ca 01	 or	 edx, 1
  00105	89 55 80	 mov	 DWORD PTR $T333766[ebp], edx
  00108	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  0010c	8d 4d bc	 lea	 ecx, DWORD PTR _tmp$139892[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> >
  00114	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  00118	8d 4d 0c	 lea	 ecx, DWORD PTR _szName$[ebp]
  0011b	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> >
  00120	8b 45 08	 mov	 eax, DWORD PTR ___$ReturnUdt$[ebp]
  00123	eb 35		 jmp	 SHORT $LN3@getPropert

; 157  :     }
; 158  :     else

  00125	eb 27		 jmp	 SHORT $LN1@getPropert
$LN2@getPropert:

; 159  :     {
; 160  :         //shoud probably use an exception insted
; 161  :         return _T("");

  00127	68 00 00 00 00	 push	 OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
  0012c	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  0012f	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> >
  00134	8b 45 80	 mov	 eax, DWORD PTR $T333766[ebp]
  00137	83 c8 01	 or	 eax, 1
  0013a	89 45 80	 mov	 DWORD PTR $T333766[ebp], eax
  0013d	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  00141	8d 4d 0c	 lea	 ecx, DWORD PTR _szName$[ebp]
  00144	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> >
  00149	8b 45 08	 mov	 eax, DWORD PTR ___$ReturnUdt$[ebp]
  0014c	eb 0c		 jmp	 SHORT $LN3@getPropert
$LN1@getPropert:

; 162  :     }
; 163  : }

  0014e	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  00152	8d 4d 0c	 lea	 ecx, DWORD PTR _szName$[ebp]
  00155	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@getPropert:
  0015a	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0015d	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00164	59		 pop	 ecx
  00165	8b 4d f0	 mov	 ecx, DWORD PTR __$ArrayPad$[ebp]
  00168	33 cd		 xor	 ecx, ebp
  0016a	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0016f	8b e5		 mov	 esp, ebp
  00171	5d		 pop	 ebp
  00172	c2 20 00	 ret	 32			; 00000020H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?getProperty@CDShowDevEnum@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V23@@Z$0:
  00000	8d 4d 0c	 lea	 ecx, DWORD PTR _szName$[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$?getProperty@CDShowDevEnum@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V23@@Z$1:
  00008	8d 4d a0	 lea	 ecx, DWORD PTR $T333759[ebp]
  0000b	e9 00 00 00 00	 jmp	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
__unwindfunclet$?getProperty@CDShowDevEnum@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V23@@Z$2:
  00010	8d 4d 84	 lea	 ecx, DWORD PTR $T333760[ebp]
  00013	e9 00 00 00 00	 jmp	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
__unwindfunclet$?getProperty@CDShowDevEnum@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V23@@Z$3:
  00018	8d 4d bc	 lea	 ecx, DWORD PTR _tmp$139892[ebp]
  0001b	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$?getProperty@CDShowDevEnum@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V23@@Z$4:
  00020	8b 45 80	 mov	 eax, DWORD PTR $T333766[ebp]
  00023	83 e0 01	 and	 eax, 1
  00026	0f 84 0c 00 00
	00		 je	 $LN10@getPropert
  0002c	83 65 80 fe	 and	 DWORD PTR $T333766[ebp], -2 ; fffffffeH
  00030	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  00033	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> >
$LN10@getPropert:
  00038	c3		 ret	 0
__ehhandler$?getProperty@CDShowDevEnum@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V23@@Z:
  00039	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0003d	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00040	8b 8a 78 ff ff
	ff		 mov	 ecx, DWORD PTR [edx-136]
  00046	33 c8		 xor	 ecx, eax
  00048	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0004d	8b 4a fc	 mov	 ecx, DWORD PTR [edx-4]
  00050	33 c8		 xor	 ecx, eax
  00052	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00057	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?getProperty@CDShowDevEnum@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V23@@Z
  0005c	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?getProperty@CDShowDevEnum@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@V23@@Z ENDP ; CDShowDevEnum::getProperty
PUBLIC	?getNext@CDShowDevEnum@@QAEHXZ			; CDShowDevEnum::getNext
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?getNext@CDShowDevEnum@@QAEHXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?getNext@CDShowDevEnum@@QAEHXZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$?getNext@CDShowDevEnum@@QAEHXZ$1
	DD	01H
	DD	FLAT:__unwindfunclet$?getNext@CDShowDevEnum@@QAEHXZ$2
	DD	02H
	DD	FLAT:__unwindfunclet$?getNext@CDShowDevEnum@@QAEHXZ$3
__ehfuncinfo$?getNext@CDShowDevEnum@@QAEHXZ DD 019930522H
	DD	04H
	DD	FLAT:__unwindtable$?getNext@CDShowDevEnum@@QAEHXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?getNext@CDShowDevEnum@@QAEHXZ
_TEXT	SEGMENT
tv194 = -160						; size = 4
tv204 = -156						; size = 4
tv175 = -152						; size = 4
tv189 = -148						; size = 4
tv71 = -144						; size = 4
tv149 = -140						; size = 4
tv132 = -136						; size = 4
tv81 = -132						; size = 4
_this$ = -128						; size = 4
$T333785 = -124						; size = 4
$T333783 = -120						; size = 4
$T333782 = -116						; size = 4
$T333779 = -112						; size = 28
$T333778 = -84						; size = 28
$T333777 = -56						; size = 28
$T333776 = -28						; size = 4
_szDisplayName$139767 = -24				; size = 4
_pMoniker$ = -20					; size = 4
_cFetched$ = -16					; size = 4
__$EHRec$ = -12						; size = 12
?getNext@CDShowDevEnum@@QAEHXZ PROC			; CDShowDevEnum::getNext, COMDAT
; _this$ = ecx

; 72   : {

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

; 73   :     // if there are none in the list we get null
; 74   :     if(m_pEnumCat==NULL)

  00032	6a 00		 push	 0
  00034	8b 4d 80	 mov	 ecx, DWORD PTR _this$[ebp]
  00037	83 c1 04	 add	 ecx, 4
  0003a	e8 00 00 00 00	 call	 ??8?$CComPtr@UIEnumMoniker@@@ATL@@QBE_NPAUIEnumMoniker@@@Z ; ATL::CComPtr<IEnumMoniker>::operator==
  0003f	0f b6 c0	 movzx	 eax, al
  00042	85 c0		 test	 eax, eax
  00044	74 07		 je	 SHORT $LN5@getNext

; 75   :     {
; 76   :         return FALSE;

  00046	33 c0		 xor	 eax, eax
  00048	e9 2c 02 00 00	 jmp	 $LN6@getNext
$LN5@getNext:

; 77   :     }
; 78   : 
; 79   :     CComPtr<IMoniker> pMoniker;

  0004d	8d 4d ec	 lea	 ecx, DWORD PTR _pMoniker$[ebp]
  00050	e8 00 00 00 00	 call	 ??0?$CComPtr@UIMoniker@@@ATL@@QAE@XZ ; ATL::CComPtr<IMoniker>::CComPtr<IMoniker>
  00055	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 80   :     ULONG cFetched;
; 81   : 
; 82   : 
; 83   :     if(m_pEnumCat->Next(1, &pMoniker, &cFetched) == S_OK)

  0005c	8b 4d 80	 mov	 ecx, DWORD PTR _this$[ebp]
  0005f	83 c1 04	 add	 ecx, 4
  00062	e8 00 00 00 00	 call	 ??C?$CComPtr@UIEnumMoniker@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIEnumMoniker@@@1@XZ ; ATL::CComPtr<IEnumMoniker>::operator->
  00067	89 85 7c ff ff
	ff		 mov	 DWORD PTR tv81[ebp], eax
  0006d	8d 4d f0	 lea	 ecx, DWORD PTR _cFetched$[ebp]
  00070	51		 push	 ecx
  00071	8d 4d ec	 lea	 ecx, DWORD PTR _pMoniker$[ebp]
  00074	e8 00 00 00 00	 call	 ??I?$CComPtr@UIMoniker@@@ATL@@QAEPAPAUIMoniker@@XZ ; ATL::CComPtr<IMoniker>::operator&
  00079	50		 push	 eax
  0007a	6a 01		 push	 1
  0007c	8b 95 7c ff ff
	ff		 mov	 edx, DWORD PTR tv81[ebp]
  00082	52		 push	 edx
  00083	8b 85 7c ff ff
	ff		 mov	 eax, DWORD PTR tv81[ebp]
  00089	8b 08		 mov	 ecx, DWORD PTR [eax]
  0008b	8b 51 0c	 mov	 edx, DWORD PTR [ecx+12]
  0008e	ff d2		 call	 edx
  00090	85 c0		 test	 eax, eax
  00092	0f 85 b7 01 00
	00		 jne	 $LN4@getNext

; 84   :     {
; 85   :         m_pPropBag.Release();

  00098	8b 4d 80	 mov	 ecx, DWORD PTR _this$[ebp]
  0009b	83 c1 0c	 add	 ecx, 12			; 0000000cH
  0009e	e8 00 00 00 00	 call	 ?Release@?$CComPtr@UIPropertyBag@@@ATL@@QAEXXZ ; ATL::CComPtr<IPropertyBag>::Release

; 86   :         pMoniker->BindToStorage(0, 0, IID_IPropertyBag, (void **)&m_pPropBag);

  000a3	8d 4d ec	 lea	 ecx, DWORD PTR _pMoniker$[ebp]
  000a6	e8 00 00 00 00	 call	 ??C?$CComPtr@UIMoniker@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIMoniker@@@1@XZ ; ATL::CComPtr<IMoniker>::operator->
  000ab	89 85 78 ff ff
	ff		 mov	 DWORD PTR tv132[ebp], eax
  000b1	8b 4d 80	 mov	 ecx, DWORD PTR _this$[ebp]
  000b4	83 c1 0c	 add	 ecx, 12			; 0000000cH
  000b7	e8 00 00 00 00	 call	 ??I?$CComPtr@UIPropertyBag@@@ATL@@QAEPAPAUIPropertyBag@@XZ ; ATL::CComPtr<IPropertyBag>::operator&
  000bc	50		 push	 eax
  000bd	68 00 00 00 00	 push	 OFFSET _IID_IPropertyBag
  000c2	6a 00		 push	 0
  000c4	6a 00		 push	 0
  000c6	8b 85 78 ff ff
	ff		 mov	 eax, DWORD PTR tv132[ebp]
  000cc	50		 push	 eax
  000cd	8b 8d 78 ff ff
	ff		 mov	 ecx, DWORD PTR tv132[ebp]
  000d3	8b 11		 mov	 edx, DWORD PTR [ecx]
  000d5	8b 42 24	 mov	 eax, DWORD PTR [edx+36]
  000d8	ff d0		 call	 eax

; 87   : 
; 88   :         //get the moniker's DisplayName
; 89   :         //(used to create this device)
; 90   :         WCHAR *szDisplayName=NULL;

  000da	c7 45 e8 00 00
	00 00		 mov	 DWORD PTR _szDisplayName$139767[ebp], 0

; 91   :         if(SUCCEEDED(pMoniker->GetDisplayName(NULL,NULL,&szDisplayName)))

  000e1	8d 4d ec	 lea	 ecx, DWORD PTR _pMoniker$[ebp]
  000e4	e8 00 00 00 00	 call	 ??C?$CComPtr@UIMoniker@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIMoniker@@@1@XZ ; ATL::CComPtr<IMoniker>::operator->
  000e9	89 85 74 ff ff
	ff		 mov	 DWORD PTR tv149[ebp], eax
  000ef	8d 4d e8	 lea	 ecx, DWORD PTR _szDisplayName$139767[ebp]
  000f2	51		 push	 ecx
  000f3	6a 00		 push	 0
  000f5	6a 00		 push	 0
  000f7	8b 95 74 ff ff
	ff		 mov	 edx, DWORD PTR tv149[ebp]
  000fd	52		 push	 edx
  000fe	8b 85 74 ff ff
	ff		 mov	 eax, DWORD PTR tv149[ebp]
  00104	8b 08		 mov	 ecx, DWORD PTR [eax]
  00106	8b 51 50	 mov	 edx, DWORD PTR [ecx+80]
  00109	ff d2		 call	 edx
  0010b	85 c0		 test	 eax, eax
  0010d	0f 8c 0f 01 00
	00		 jl	 $LN3@getNext

; 92   :         {
; 93   : 
; 94   :             m_DisplayName = szDisplayName ? UnicodeToTString(szDisplayName) : _T("");

  00113	83 7d e8 00	 cmp	 DWORD PTR _szDisplayName$139767[ebp], 0
  00117	74 59		 je	 SHORT $LN8@getNext
  00119	8b 45 e8	 mov	 eax, DWORD PTR _szDisplayName$139767[ebp]
  0011c	50		 push	 eax
  0011d	8d 4d c8	 lea	 ecx, DWORD PTR $T333777[ebp]
  00120	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> >
  00125	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  00129	8b 4d 84	 mov	 ecx, DWORD PTR $T333785[ebp]
  0012c	83 c9 01	 or	 ecx, 1
  0012f	89 4d 84	 mov	 DWORD PTR $T333785[ebp], ecx
  00132	8d 55 c8	 lea	 edx, DWORD PTR $T333777[ebp]
  00135	52		 push	 edx
  00136	8d 45 ac	 lea	 eax, DWORD PTR $T333778[ebp]
  00139	50		 push	 eax
  0013a	e8 00 00 00 00	 call	 ?UnicodeToUnicode@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABV12@@Z ; UnicodeToUnicode
  0013f	83 c4 08	 add	 esp, 8
  00142	89 85 70 ff ff
	ff		 mov	 DWORD PTR tv71[ebp], eax
  00148	8b 8d 70 ff ff
	ff		 mov	 ecx, DWORD PTR tv71[ebp]
  0014e	89 8d 6c ff ff
	ff		 mov	 DWORD PTR tv189[ebp], ecx
  00154	c7 45 fc 02 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 2
  0015b	8b 55 84	 mov	 edx, DWORD PTR $T333785[ebp]
  0015e	83 ca 02	 or	 edx, 2
  00161	89 55 84	 mov	 DWORD PTR $T333785[ebp], edx
  00164	8b 85 6c ff ff
	ff		 mov	 eax, DWORD PTR tv189[ebp]
  0016a	89 85 68 ff ff
	ff		 mov	 DWORD PTR tv175[ebp], eax
  00170	eb 3b		 jmp	 SHORT $LN9@getNext
$LN8@getNext:
  00172	68 00 00 00 00	 push	 OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
  00177	8d 4d 90	 lea	 ecx, DWORD PTR $T333779[ebp]
  0017a	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> >
  0017f	89 85 64 ff ff
	ff		 mov	 DWORD PTR tv204[ebp], eax
  00185	8b 8d 64 ff ff
	ff		 mov	 ecx, DWORD PTR tv204[ebp]
  0018b	89 8d 60 ff ff
	ff		 mov	 DWORD PTR tv194[ebp], ecx
  00191	c7 45 fc 03 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 3
  00198	8b 55 84	 mov	 edx, DWORD PTR $T333785[ebp]
  0019b	83 ca 04	 or	 edx, 4
  0019e	89 55 84	 mov	 DWORD PTR $T333785[ebp], edx
  001a1	8b 85 60 ff ff
	ff		 mov	 eax, DWORD PTR tv194[ebp]
  001a7	89 85 68 ff ff
	ff		 mov	 DWORD PTR tv175[ebp], eax
$LN9@getNext:
  001ad	8b 8d 68 ff ff
	ff		 mov	 ecx, DWORD PTR tv175[ebp]
  001b3	89 4d e4	 mov	 DWORD PTR $T333776[ebp], ecx
  001b6	8b 55 e4	 mov	 edx, DWORD PTR $T333776[ebp]
  001b9	52		 push	 edx
  001ba	8b 4d 80	 mov	 ecx, DWORD PTR _this$[ebp]
  001bd	83 c1 10	 add	 ecx, 16			; 00000010H
  001c0	e8 00 00 00 00	 call	 ??4?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@ABV01@@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::operator=
  001c5	c7 45 fc 02 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 2
  001cc	8b 45 84	 mov	 eax, DWORD PTR $T333785[ebp]
  001cf	83 e0 04	 and	 eax, 4
  001d2	74 0c		 je	 SHORT $LN17@getNext
  001d4	83 65 84 fb	 and	 DWORD PTR $T333785[ebp], -5 ; fffffffbH
  001d8	8d 4d 90	 lea	 ecx, DWORD PTR $T333779[ebp]
  001db	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> >
$LN17@getNext:
  001e0	c7 45 fc 01 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 1
  001e7	8b 4d 84	 mov	 ecx, DWORD PTR $T333785[ebp]
  001ea	83 e1 02	 and	 ecx, 2
  001ed	74 0c		 je	 SHORT $LN18@getNext
  001ef	83 65 84 fd	 and	 DWORD PTR $T333785[ebp], -3 ; fffffffdH
  001f3	8d 4d ac	 lea	 ecx, DWORD PTR $T333778[ebp]
  001f6	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> >
$LN18@getNext:
  001fb	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00202	8b 55 84	 mov	 edx, DWORD PTR $T333785[ebp]
  00205	83 e2 01	 and	 edx, 1
  00208	74 0c		 je	 SHORT $LN19@getNext
  0020a	83 65 84 fe	 and	 DWORD PTR $T333785[ebp], -2 ; fffffffeH
  0020e	8d 4d c8	 lea	 ecx, DWORD PTR $T333777[ebp]
  00211	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> >
$LN19@getNext:

; 95   :             CoTaskMemFree(szDisplayName);

  00216	8b 45 e8	 mov	 eax, DWORD PTR _szDisplayName$139767[ebp]
  00219	50		 push	 eax
  0021a	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CoTaskMemFree@4

; 96   :         }
; 97   :         else

  00220	eb 10		 jmp	 SHORT $LN2@getNext
$LN3@getNext:

; 98   :         {
; 99   :             //sätt den till en tom sträng om de blev fel
; 100  :             m_DisplayName=_T("");

  00222	68 00 00 00 00	 push	 OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
  00227	8b 4d 80	 mov	 ecx, DWORD PTR _this$[ebp]
  0022a	83 c1 10	 add	 ecx, 16			; 00000010H
  0022d	e8 00 00 00 00	 call	 ??4?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@PB_W@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::operator=
$LN2@getNext:

; 101  :         }
; 102  : 
; 103  :         return TRUE;

  00232	c7 45 8c 01 00
	00 00		 mov	 DWORD PTR $T333782[ebp], 1
  00239	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00240	8d 4d ec	 lea	 ecx, DWORD PTR _pMoniker$[ebp]
  00243	e8 00 00 00 00	 call	 ??1?$CComPtr@UIMoniker@@@ATL@@QAE@XZ ; ATL::CComPtr<IMoniker>::~CComPtr<IMoniker>
  00248	8b 45 8c	 mov	 eax, DWORD PTR $T333782[ebp]
  0024b	eb 2c		 jmp	 SHORT $LN6@getNext

; 104  : 
; 105  :     }
; 106  :     else

  0024d	eb 1b		 jmp	 SHORT $LN1@getNext
$LN4@getNext:

; 107  :     {
; 108  :         return FALSE;

  0024f	c7 45 88 00 00
	00 00		 mov	 DWORD PTR $T333783[ebp], 0
  00256	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0025d	8d 4d ec	 lea	 ecx, DWORD PTR _pMoniker$[ebp]
  00260	e8 00 00 00 00	 call	 ??1?$CComPtr@UIMoniker@@@ATL@@QAE@XZ ; ATL::CComPtr<IMoniker>::~CComPtr<IMoniker>
  00265	8b 45 88	 mov	 eax, DWORD PTR $T333783[ebp]
  00268	eb 0f		 jmp	 SHORT $LN6@getNext
$LN1@getNext:

; 109  :     }
; 110  : }

  0026a	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00271	8d 4d ec	 lea	 ecx, DWORD PTR _pMoniker$[ebp]
  00274	e8 00 00 00 00	 call	 ??1?$CComPtr@UIMoniker@@@ATL@@QAE@XZ ; ATL::CComPtr<IMoniker>::~CComPtr<IMoniker>
$LN6@getNext:
  00279	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0027c	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00283	59		 pop	 ecx
  00284	8b e5		 mov	 esp, ebp
  00286	5d		 pop	 ebp
  00287	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?getNext@CDShowDevEnum@@QAEHXZ$0:
  00000	8d 4d ec	 lea	 ecx, DWORD PTR _pMoniker$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$CComPtr@UIMoniker@@@ATL@@QAE@XZ ; ATL::CComPtr<IMoniker>::~CComPtr<IMoniker>
__unwindfunclet$?getNext@CDShowDevEnum@@QAEHXZ$1:
  00008	8b 45 84	 mov	 eax, DWORD PTR $T333785[ebp]
  0000b	83 e0 01	 and	 eax, 1
  0000e	0f 84 0c 00 00
	00		 je	 $LN12@getNext
  00014	83 65 84 fe	 and	 DWORD PTR $T333785[ebp], -2 ; fffffffeH
  00018	8d 4d c8	 lea	 ecx, DWORD PTR $T333777[ebp]
  0001b	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> >
$LN12@getNext:
  00020	c3		 ret	 0
__unwindfunclet$?getNext@CDShowDevEnum@@QAEHXZ$2:
  00021	8b 45 84	 mov	 eax, DWORD PTR $T333785[ebp]
  00024	83 e0 02	 and	 eax, 2
  00027	0f 84 0c 00 00
	00		 je	 $LN14@getNext
  0002d	83 65 84 fd	 and	 DWORD PTR $T333785[ebp], -3 ; fffffffdH
  00031	8d 4d ac	 lea	 ecx, DWORD PTR $T333778[ebp]
  00034	e9 00 00 00 00	 jmp	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
$LN14@getNext:
  00039	c3		 ret	 0
__unwindfunclet$?getNext@CDShowDevEnum@@QAEHXZ$3:
  0003a	8b 45 84	 mov	 eax, DWORD PTR $T333785[ebp]
  0003d	83 e0 04	 and	 eax, 4
  00040	0f 84 0c 00 00
	00		 je	 $LN16@getNext
  00046	83 65 84 fb	 and	 DWORD PTR $T333785[ebp], -5 ; fffffffbH
  0004a	8d 4d 90	 lea	 ecx, DWORD PTR $T333779[ebp]
  0004d	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> >
$LN16@getNext:
  00052	c3		 ret	 0
__ehhandler$?getNext@CDShowDevEnum@@QAEHXZ:
  00053	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00057	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0005a	8b 8a 68 ff ff
	ff		 mov	 ecx, DWORD PTR [edx-152]
  00060	33 c8		 xor	 ecx, eax
  00062	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00067	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?getNext@CDShowDevEnum@@QAEHXZ
  0006c	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?getNext@CDShowDevEnum@@QAEHXZ ENDP			; CDShowDevEnum::getNext
;	COMDAT xdata$x
; File c:\develop\dscaler423a\dscaler\dshowsource\devenum.h
xdata$x	SEGMENT
__unwindtable$??0CDShowDevEnumException@@QAE@PBDJ@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0CDShowDevEnumException@@QAE@PBDJ@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0CDShowDevEnumException@@QAE@PBDJ@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$??0CDShowDevEnumException@@QAE@PBDJ@Z$1
__ehfuncinfo$??0CDShowDevEnumException@@QAE@PBDJ@Z DD 019930522H
	DD	03H
	DD	FLAT:__unwindtable$??0CDShowDevEnumException@@QAE@PBDJ@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0CDShowDevEnumException@@QAE@PBDJ@Z
_TEXT	SEGMENT
_this$ = -44						; size = 4
$T333803 = -40						; size = 28
__$EHRec$ = -12						; size = 12
_msg$ = 8						; size = 4
_hr$ = 12						; size = 4
??0CDShowDevEnumException@@QAE@PBDJ@Z PROC		; CDShowDevEnumException::CDShowDevEnumException, COMDAT
; _this$ = ecx

; 39   :     CDShowDevEnumException(const char* msg,HRESULT hr = S_OK):CDShowException(msg,hr) {};

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0CDShowDevEnumException@@QAE@PBDJ@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	8b 45 08	 mov	 eax, DWORD PTR _msg$[ebp]
  0002b	50		 push	 eax
  0002c	8d 4d d8	 lea	 ecx, DWORD PTR $T333803[ebp]
  0002f	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> >
  00034	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  0003b	8b 4d 0c	 mov	 ecx, DWORD PTR _hr$[ebp]
  0003e	51		 push	 ecx
  0003f	8d 55 d8	 lea	 edx, DWORD PTR $T333803[ebp]
  00042	52		 push	 edx
  00043	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  00046	e8 00 00 00 00	 call	 ??0CDShowException@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@J@Z ; CDShowException::CDShowException
  0004b	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  0004f	8d 4d d8	 lea	 ecx, DWORD PTR $T333803[ebp]
  00052	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> >
  00057	8b 45 d4	 mov	 eax, DWORD PTR _this$[ebp]
  0005a	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], OFFSET ??_7CDShowDevEnumException@@6B@
  00060	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00067	8b 45 d4	 mov	 eax, DWORD PTR _this$[ebp]
  0006a	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0006d	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00074	59		 pop	 ecx
  00075	8b e5		 mov	 esp, ebp
  00077	5d		 pop	 ebp
  00078	c2 08 00	 ret	 8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0CDShowDevEnumException@@QAE@PBDJ@Z$0:
  00000	8d 4d d8	 lea	 ecx, DWORD PTR $T333803[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$??0CDShowDevEnumException@@QAE@PBDJ@Z$1:
  00008	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  0000b	e9 00 00 00 00	 jmp	 ??1CDShowException@@UAE@XZ
__ehhandler$??0CDShowDevEnumException@@QAE@PBDJ@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$??0CDShowDevEnumException@@QAE@PBDJ@Z
  00026	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0CDShowDevEnumException@@QAE@PBDJ@Z ENDP		; CDShowDevEnumException::CDShowDevEnumException
PUBLIC	?createDevice@CDShowDevEnum@@SAXV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABU_GUID@@PAX@Z ; CDShowDevEnum::createDevice
;	COMDAT xdata$x
; File c:\develop\dscaler423a\dscaler\dshowsource\devenum.cpp
xdata$x	SEGMENT
__unwindtable$?createDevice@CDShowDevEnum@@SAXV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABU_GUID@@PAX@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?createDevice@CDShowDevEnum@@SAXV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABU_GUID@@PAX@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?createDevice@CDShowDevEnum@@SAXV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABU_GUID@@PAX@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$?createDevice@CDShowDevEnum@@SAXV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABU_GUID@@PAX@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$?createDevice@CDShowDevEnum@@SAXV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABU_GUID@@PAX@Z$3
__ehfuncinfo$?createDevice@CDShowDevEnum@@SAXV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABU_GUID@@PAX@Z DD 019930522H
	DD	04H
	DD	FLAT:__unwindtable$?createDevice@CDShowDevEnum@@SAXV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABU_GUID@@PAX@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?createDevice@CDShowDevEnum@@SAXV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABU_GUID@@PAX@Z
_TEXT	SEGMENT
tv138 = -160						; size = 4
tv156 = -156						; size = 4
tv69 = -152						; size = 4
$T339191 = -148						; size = 44
$T339190 = -104						; size = 44
$T339189 = -60						; size = 28
_dwEaten$139856 = -32					; size = 4
_hr$ = -28						; size = 4
_pmDev$ = -24						; size = 4
_pBC$ = -20						; size = 4
__$EHRec$ = -12						; size = 12
_displayName$ = 8					; size = 28
_interf$ = 36						; size = 4
_device$ = 40						; size = 4
?createDevice@CDShowDevEnum@@SAXV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABU_GUID@@PAX@Z PROC ; CDShowDevEnum::createDevice, COMDAT

; 124  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?createDevice@CDShowDevEnum@@SAXV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABU_GUID@@PAX@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	81 ec 94 00 00
	00		 sub	 esp, 148		; 00000094H
  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001c	33 c5		 xor	 eax, ebp
  0001e	50		 push	 eax
  0001f	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00022	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00028	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 125  :     //try to create a moniker
; 126  :     CComPtr<IBindCtx> pBC;

  0002f	8d 4d ec	 lea	 ecx, DWORD PTR _pBC$[ebp]
  00032	e8 00 00 00 00	 call	 ??0?$CComPtr@UIBindCtx@@@ATL@@QAE@XZ ; ATL::CComPtr<IBindCtx>::CComPtr<IBindCtx>
  00037	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1

; 127  :     CComPtr<IMoniker> pmDev;

  0003b	8d 4d e8	 lea	 ecx, DWORD PTR _pmDev$[ebp]
  0003e	e8 00 00 00 00	 call	 ??0?$CComPtr@UIMoniker@@@ATL@@QAE@XZ ; ATL::CComPtr<IMoniker>::CComPtr<IMoniker>
  00043	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2

; 128  :     HRESULT hr = CreateBindCtx(0, &pBC);

  00047	8d 4d ec	 lea	 ecx, DWORD PTR _pBC$[ebp]
  0004a	e8 00 00 00 00	 call	 ??I?$CComPtr@UIBindCtx@@@ATL@@QAEPAPAUIBindCtx@@XZ ; ATL::CComPtr<IBindCtx>::operator&
  0004f	50		 push	 eax
  00050	6a 00		 push	 0
  00052	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CreateBindCtx@8
  00058	89 45 e4	 mov	 DWORD PTR _hr$[ebp], eax

; 129  :     if(SUCCEEDED(hr))

  0005b	83 7d e4 00	 cmp	 DWORD PTR _hr$[ebp], 0
  0005f	0f 8c 82 00 00
	00		 jl	 $LN3@createDevi

; 130  :     {
; 131  :         DWORD dwEaten;
; 132  :         hr = MkParseDisplayName(pBC, TStringToUnicode(displayName).c_str(), &dwEaten, &pmDev);

  00065	8d 45 08	 lea	 eax, DWORD PTR _displayName$[ebp]
  00068	50		 push	 eax
  00069	8d 4d c4	 lea	 ecx, DWORD PTR $T339189[ebp]
  0006c	51		 push	 ecx
  0006d	e8 00 00 00 00	 call	 ?UnicodeToUnicode@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABV12@@Z ; UnicodeToUnicode
  00072	83 c4 08	 add	 esp, 8
  00075	89 85 68 ff ff
	ff		 mov	 DWORD PTR tv69[ebp], eax
  0007b	8b 95 68 ff ff
	ff		 mov	 edx, DWORD PTR tv69[ebp]
  00081	89 95 64 ff ff
	ff		 mov	 DWORD PTR tv156[ebp], edx
  00087	c6 45 fc 03	 mov	 BYTE PTR __$EHRec$[ebp+8], 3
  0008b	8d 4d e8	 lea	 ecx, DWORD PTR _pmDev$[ebp]
  0008e	e8 00 00 00 00	 call	 ??I?$CComPtr@UIMoniker@@@ATL@@QAEPAPAUIMoniker@@XZ ; ATL::CComPtr<IMoniker>::operator&
  00093	50		 push	 eax
  00094	8d 45 e0	 lea	 eax, DWORD PTR _dwEaten$139856[ebp]
  00097	50		 push	 eax
  00098	8b 8d 64 ff ff
	ff		 mov	 ecx, DWORD PTR tv156[ebp]
  0009e	e8 00 00 00 00	 call	 ?c_str@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEPB_WXZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::c_str
  000a3	50		 push	 eax
  000a4	8d 4d ec	 lea	 ecx, DWORD PTR _pBC$[ebp]
  000a7	e8 00 00 00 00	 call	 ??B?$CComPtr@UIBindCtx@@@ATL@@QBEPAUIBindCtx@@XZ ; ATL::CComPtr<IBindCtx>::operator IBindCtx *
  000ac	50		 push	 eax
  000ad	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__MkParseDisplayName@16
  000b3	89 45 e4	 mov	 DWORD PTR _hr$[ebp], eax
  000b6	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  000ba	8d 4d c4	 lea	 ecx, DWORD PTR $T339189[ebp]
  000bd	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> >

; 133  : 
; 134  :         if(FAILED(hr))

  000c2	83 7d e4 00	 cmp	 DWORD PTR _hr$[ebp], 0
  000c6	7d 1f		 jge	 SHORT $LN3@createDevi

; 135  :         {
; 136  :             throw CDShowDevEnumException("createDevice: cant create moniker",hr);

  000c8	8b 4d e4	 mov	 ecx, DWORD PTR _hr$[ebp]
  000cb	51		 push	 ecx
  000cc	68 00 00 00 00	 push	 OFFSET ??_C@_0CC@NDHMFMLO@createDevice?3?5cant?5create?5monike@
  000d1	8d 4d 98	 lea	 ecx, DWORD PTR $T339190[ebp]
  000d4	e8 00 00 00 00	 call	 ??0CDShowDevEnumException@@QAE@PBDJ@Z ; CDShowDevEnumException::CDShowDevEnumException
  000d9	68 00 00 00 00	 push	 OFFSET __TI4?AVCDShowDevEnumException@@
  000de	8d 55 98	 lea	 edx, DWORD PTR $T339190[ebp]
  000e1	52		 push	 edx
  000e2	e8 00 00 00 00	 call	 __CxxThrowException@8
$LN3@createDevi:

; 137  :         }
; 138  :     }
; 139  :     hr = pmDev->BindToObject(0, 0, interf, (void**)device);

  000e7	8d 4d e8	 lea	 ecx, DWORD PTR _pmDev$[ebp]
  000ea	e8 00 00 00 00	 call	 ??C?$CComPtr@UIMoniker@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIMoniker@@@1@XZ ; ATL::CComPtr<IMoniker>::operator->
  000ef	89 85 60 ff ff
	ff		 mov	 DWORD PTR tv138[ebp], eax
  000f5	8b 45 28	 mov	 eax, DWORD PTR _device$[ebp]
  000f8	50		 push	 eax
  000f9	8b 4d 24	 mov	 ecx, DWORD PTR _interf$[ebp]
  000fc	51		 push	 ecx
  000fd	6a 00		 push	 0
  000ff	6a 00		 push	 0
  00101	8b 95 60 ff ff
	ff		 mov	 edx, DWORD PTR tv138[ebp]
  00107	52		 push	 edx
  00108	8b 85 60 ff ff
	ff		 mov	 eax, DWORD PTR tv138[ebp]
  0010e	8b 08		 mov	 ecx, DWORD PTR [eax]
  00110	8b 51 20	 mov	 edx, DWORD PTR [ecx+32]
  00113	ff d2		 call	 edx
  00115	89 45 e4	 mov	 DWORD PTR _hr$[ebp], eax

; 140  :     if(FAILED(hr))

  00118	83 7d e4 00	 cmp	 DWORD PTR _hr$[ebp], 0
  0011c	7d 25		 jge	 SHORT $LN1@createDevi

; 141  :     {
; 142  :         throw CDShowDevEnumException("createDevice: BindToObject failed",hr);

  0011e	8b 45 e4	 mov	 eax, DWORD PTR _hr$[ebp]
  00121	50		 push	 eax
  00122	68 00 00 00 00	 push	 OFFSET ??_C@_0CC@PGLJKFKK@createDevice?3?5BindToObject?5faile@
  00127	8d 8d 6c ff ff
	ff		 lea	 ecx, DWORD PTR $T339191[ebp]
  0012d	e8 00 00 00 00	 call	 ??0CDShowDevEnumException@@QAE@PBDJ@Z ; CDShowDevEnumException::CDShowDevEnumException
  00132	68 00 00 00 00	 push	 OFFSET __TI4?AVCDShowDevEnumException@@
  00137	8d 8d 6c ff ff
	ff		 lea	 ecx, DWORD PTR $T339191[ebp]
  0013d	51		 push	 ecx
  0013e	e8 00 00 00 00	 call	 __CxxThrowException@8
$LN1@createDevi:

; 143  :     }
; 144  : }

  00143	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  00147	8d 4d e8	 lea	 ecx, DWORD PTR _pmDev$[ebp]
  0014a	e8 00 00 00 00	 call	 ??1?$CComPtr@UIMoniker@@@ATL@@QAE@XZ ; ATL::CComPtr<IMoniker>::~CComPtr<IMoniker>
  0014f	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  00153	8d 4d ec	 lea	 ecx, DWORD PTR _pBC$[ebp]
  00156	e8 00 00 00 00	 call	 ??1?$CComPtr@UIBindCtx@@@ATL@@QAE@XZ ; ATL::CComPtr<IBindCtx>::~CComPtr<IBindCtx>
  0015b	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00162	8d 4d 08	 lea	 ecx, DWORD PTR _displayName$[ebp]
  00165	e8 00 00 00 00	 call	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
$LN5@createDevi:
  0016a	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0016d	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00174	59		 pop	 ecx
  00175	8b e5		 mov	 esp, ebp
  00177	5d		 pop	 ebp
  00178	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?createDevice@CDShowDevEnum@@SAXV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABU_GUID@@PAX@Z$0:
  00000	8d 4d 08	 lea	 ecx, DWORD PTR _displayName$[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$?createDevice@CDShowDevEnum@@SAXV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABU_GUID@@PAX@Z$1:
  00008	8d 4d ec	 lea	 ecx, DWORD PTR _pBC$[ebp]
  0000b	e9 00 00 00 00	 jmp	 ??1?$CComPtr@UIBindCtx@@@ATL@@QAE@XZ ; ATL::CComPtr<IBindCtx>::~CComPtr<IBindCtx>
__unwindfunclet$?createDevice@CDShowDevEnum@@SAXV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABU_GUID@@PAX@Z$2:
  00010	8d 4d e8	 lea	 ecx, DWORD PTR _pmDev$[ebp]
  00013	e9 00 00 00 00	 jmp	 ??1?$CComPtr@UIMoniker@@@ATL@@QAE@XZ ; ATL::CComPtr<IMoniker>::~CComPtr<IMoniker>
__unwindfunclet$?createDevice@CDShowDevEnum@@SAXV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABU_GUID@@PAX@Z$3:
  00018	8d 4d c4	 lea	 ecx, DWORD PTR $T339189[ebp]
  0001b	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$?createDevice@CDShowDevEnum@@SAXV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABU_GUID@@PAX@Z:
  00020	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00024	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00027	8b 8a 68 ff ff
	ff		 mov	 ecx, DWORD PTR [edx-152]
  0002d	33 c8		 xor	 ecx, eax
  0002f	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00034	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?createDevice@CDShowDevEnum@@SAXV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABU_GUID@@PAX@Z
  00039	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?createDevice@CDShowDevEnum@@SAXV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABU_GUID@@PAX@Z ENDP ; CDShowDevEnum::createDevice
PUBLIC	?createSysEnum@CDShowDevEnum@@AAEXXZ		; CDShowDevEnum::createSysEnum
; Function compile flags: /Odtp
;	COMDAT ?createSysEnum@CDShowDevEnum@@AAEXXZ
_TEXT	SEGMENT
_this$ = -52						; size = 4
$T339204 = -48						; size = 44
_hr$ = -4						; size = 4
?createSysEnum@CDShowDevEnum@@AAEXXZ PROC		; CDShowDevEnum::createSysEnum, COMDAT
; _this$ = ecx

; 113  : {

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

; 114  :     HRESULT hr=m_pSysDevEnum.CoCreateInstance(CLSID_SystemDeviceEnum);

  00009	6a 17		 push	 23			; 00000017H
  0000b	6a 00		 push	 0
  0000d	68 00 00 00 00	 push	 OFFSET _CLSID_SystemDeviceEnum
  00012	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00015	83 c1 08	 add	 ecx, 8
  00018	e8 00 00 00 00	 call	 ?CoCreateInstance@?$CComPtr@UICreateDevEnum@@@ATL@@QAEJABU_GUID@@PAUIUnknown@@K@Z ; ATL::CComPtr<ICreateDevEnum>::CoCreateInstance
  0001d	89 45 fc	 mov	 DWORD PTR _hr$[ebp], eax

; 115  :     if(FAILED(hr))

  00020	83 7d fc 00	 cmp	 DWORD PTR _hr$[ebp], 0
  00024	7d 1f		 jge	 SHORT $LN3@createSysE

; 116  :     {
; 117  :         //throw an exception
; 118  :         //this error shoud never hapend unless somting is very wrong (or com is not initialized)
; 119  :         throw CDShowDevEnumException("Cant create System Device Enumerator",hr);

  00026	8b 45 fc	 mov	 eax, DWORD PTR _hr$[ebp]
  00029	50		 push	 eax
  0002a	68 00 00 00 00	 push	 OFFSET ??_C@_0CF@JJBOGPIC@Cant?5create?5System?5Device?5Enumer@
  0002f	8d 4d d0	 lea	 ecx, DWORD PTR $T339204[ebp]
  00032	e8 00 00 00 00	 call	 ??0CDShowDevEnumException@@QAE@PBDJ@Z ; CDShowDevEnumException::CDShowDevEnumException
  00037	68 00 00 00 00	 push	 OFFSET __TI4?AVCDShowDevEnumException@@
  0003c	8d 4d d0	 lea	 ecx, DWORD PTR $T339204[ebp]
  0003f	51		 push	 ecx
  00040	e8 00 00 00 00	 call	 __CxxThrowException@8
$LN3@createSysE:

; 120  :     }
; 121  : }

  00045	8b e5		 mov	 esp, ebp
  00047	5d		 pop	 ebp
  00048	c3		 ret	 0
?createSysEnum@CDShowDevEnum@@AAEXXZ ENDP		; CDShowDevEnum::createSysEnum
_TEXT	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0CDShowDevEnumException@@QAE@ABV0@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0CDShowDevEnumException@@QAE@ABV0@@Z$0
__ehfuncinfo$??0CDShowDevEnumException@@QAE@ABV0@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0CDShowDevEnumException@@QAE@ABV0@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0CDShowDevEnumException@@QAE@ABV0@@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
___that$ = 8						; size = 4
??0CDShowDevEnumException@@QAE@ABV0@@Z PROC		; CDShowDevEnumException::CDShowDevEnumException, 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$??0CDShowDevEnumException@@QAE@ABV0@@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 08	 mov	 eax, DWORD PTR ___that$[ebp]
  00029	50		 push	 eax
  0002a	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0002d	e8 00 00 00 00	 call	 ??0CDShowException@@QAE@ABV0@@Z
  00032	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00039	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0003c	c7 01 00 00 00
	00		 mov	 DWORD PTR [ecx], OFFSET ??_7CDShowDevEnumException@@6B@
  00042	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00049	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  0004c	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0004f	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00056	59		 pop	 ecx
  00057	8b e5		 mov	 esp, ebp
  00059	5d		 pop	 ebp
  0005a	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0CDShowDevEnumException@@QAE@ABV0@@Z$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CDShowException@@UAE@XZ
__ehhandler$??0CDShowDevEnumException@@QAE@ABV0@@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 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$??0CDShowDevEnumException@@QAE@ABV0@@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0CDShowDevEnumException@@QAE@ABV0@@Z ENDP		; CDShowDevEnumException::CDShowDevEnumException
PUBLIC	?initEnum@CDShowDevEnum@@QAEXABU_GUID@@@Z	; CDShowDevEnum::initEnum
; Function compile flags: /Odtp
;	COMDAT ?initEnum@CDShowDevEnum@@QAEXABU_GUID@@@Z
_TEXT	SEGMENT
tv81 = -56						; size = 4
_this$ = -52						; size = 4
$T339216 = -48						; size = 44
_hr$ = -4						; size = 4
_devClass$ = 8						; size = 4
?initEnum@CDShowDevEnum@@QAEXABU_GUID@@@Z PROC		; CDShowDevEnum::initEnum, COMDAT
; _this$ = ecx

; 56   : {

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

; 57   :     HRESULT hr;
; 58   :     if(m_pEnumCat!=NULL)

  00009	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000c	83 c1 04	 add	 ecx, 4
  0000f	e8 00 00 00 00	 call	 ??B?$CComPtr@UIEnumMoniker@@@ATL@@QBEPAUIEnumMoniker@@XZ ; ATL::CComPtr<IEnumMoniker>::operator IEnumMoniker *
  00014	85 c0		 test	 eax, eax
  00016	74 18		 je	 SHORT $LN2@initEnum

; 59   :     {
; 60   :         m_pEnumCat.Release();

  00018	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  0001b	83 c1 04	 add	 ecx, 4
  0001e	e8 00 00 00 00	 call	 ?Release@?$CComPtr@UIEnumMoniker@@@ATL@@QAEXXZ ; ATL::CComPtr<IEnumMoniker>::Release

; 61   :         m_pEnumCat=NULL;

  00023	6a 00		 push	 0
  00025	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00028	83 c1 04	 add	 ecx, 4
  0002b	e8 00 00 00 00	 call	 ??4?$CComPtr@UIEnumMoniker@@@ATL@@QAEPAUIEnumMoniker@@PAU2@@Z ; ATL::CComPtr<IEnumMoniker>::operator=
$LN2@initEnum:

; 62   :     }
; 63   : 
; 64   :     hr=m_pSysDevEnum->CreateClassEnumerator(devClass, &m_pEnumCat, 0);

  00030	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00033	83 c1 08	 add	 ecx, 8
  00036	e8 00 00 00 00	 call	 ??C?$CComPtr@UICreateDevEnum@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UICreateDevEnum@@@1@XZ ; ATL::CComPtr<ICreateDevEnum>::operator->
  0003b	89 45 c8	 mov	 DWORD PTR tv81[ebp], eax
  0003e	6a 00		 push	 0
  00040	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00043	83 c1 04	 add	 ecx, 4
  00046	e8 00 00 00 00	 call	 ??I?$CComPtr@UIEnumMoniker@@@ATL@@QAEPAPAUIEnumMoniker@@XZ ; ATL::CComPtr<IEnumMoniker>::operator&
  0004b	50		 push	 eax
  0004c	8b 45 08	 mov	 eax, DWORD PTR _devClass$[ebp]
  0004f	50		 push	 eax
  00050	8b 4d c8	 mov	 ecx, DWORD PTR tv81[ebp]
  00053	51		 push	 ecx
  00054	8b 55 c8	 mov	 edx, DWORD PTR tv81[ebp]
  00057	8b 02		 mov	 eax, DWORD PTR [edx]
  00059	8b 48 0c	 mov	 ecx, DWORD PTR [eax+12]
  0005c	ff d1		 call	 ecx
  0005e	89 45 fc	 mov	 DWORD PTR _hr$[ebp], eax

; 65   :     if(FAILED(hr))

  00061	83 7d fc 00	 cmp	 DWORD PTR _hr$[ebp], 0
  00065	7d 1f		 jge	 SHORT $LN4@initEnum

; 66   :     {
; 67   :         throw CDShowDevEnumException("Cant create Class enumerator",hr);

  00067	8b 55 fc	 mov	 edx, DWORD PTR _hr$[ebp]
  0006a	52		 push	 edx
  0006b	68 00 00 00 00	 push	 OFFSET ??_C@_0BN@NOPKEEN@Cant?5create?5Class?5enumerator?$AA@
  00070	8d 4d d0	 lea	 ecx, DWORD PTR $T339216[ebp]
  00073	e8 00 00 00 00	 call	 ??0CDShowDevEnumException@@QAE@PBDJ@Z ; CDShowDevEnumException::CDShowDevEnumException
  00078	68 00 00 00 00	 push	 OFFSET __TI4?AVCDShowDevEnumException@@
  0007d	8d 45 d0	 lea	 eax, DWORD PTR $T339216[ebp]
  00080	50		 push	 eax
  00081	e8 00 00 00 00	 call	 __CxxThrowException@8
$LN4@initEnum:

; 68   :     }
; 69   : }

  00086	8b e5		 mov	 esp, ebp
  00088	5d		 pop	 ebp
  00089	c2 04 00	 ret	 4
?initEnum@CDShowDevEnum@@QAEXABU_GUID@@@Z ENDP		; CDShowDevEnum::initEnum
_TEXT	ENDS
PUBLIC	??0CDShowDevEnum@@QAE@ABU_GUID@@@Z		; CDShowDevEnum::CDShowDevEnum
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0CDShowDevEnum@@QAE@ABU_GUID@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0CDShowDevEnum@@QAE@ABU_GUID@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0CDShowDevEnum@@QAE@ABU_GUID@@@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$??0CDShowDevEnum@@QAE@ABU_GUID@@@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$??0CDShowDevEnum@@QAE@ABU_GUID@@@Z$3
__ehfuncinfo$??0CDShowDevEnum@@QAE@ABU_GUID@@@Z DD 019930522H
	DD	04H
	DD	FLAT:__unwindtable$??0CDShowDevEnum@@QAE@ABU_GUID@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0CDShowDevEnum@@QAE@ABU_GUID@@@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
_devClass$ = 8						; size = 4
??0CDShowDevEnum@@QAE@ABU_GUID@@@Z PROC			; CDShowDevEnum::CDShowDevEnum, COMDAT
; _this$ = ecx

; 45   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0CDShowDevEnum@@QAE@ABU_GUID@@@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 f0	 mov	 eax, DWORD PTR _this$[ebp]
  00029	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], OFFSET ??_7CDShowDevEnum@@6B@
  0002f	6a 00		 push	 0
  00031	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00034	83 c1 04	 add	 ecx, 4
  00037	e8 00 00 00 00	 call	 ??0?$CComPtr@UIEnumMoniker@@@ATL@@QAE@PAUIEnumMoniker@@@Z ; ATL::CComPtr<IEnumMoniker>::CComPtr<IEnumMoniker>
  0003c	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00043	6a 00		 push	 0
  00045	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00048	83 c1 08	 add	 ecx, 8
  0004b	e8 00 00 00 00	 call	 ??0?$CComPtr@UICreateDevEnum@@@ATL@@QAE@PAUICreateDevEnum@@@Z ; ATL::CComPtr<ICreateDevEnum>::CComPtr<ICreateDevEnum>
  00050	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  00054	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00057	83 c1 0c	 add	 ecx, 12			; 0000000cH
  0005a	e8 00 00 00 00	 call	 ??0?$CComPtr@UIPropertyBag@@@ATL@@QAE@XZ ; ATL::CComPtr<IPropertyBag>::CComPtr<IPropertyBag>
  0005f	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  00063	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00066	83 c1 10	 add	 ecx, 16			; 00000010H
  00069	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> >
  0006e	c6 45 fc 03	 mov	 BYTE PTR __$EHRec$[ebp+8], 3

; 46   :     createSysEnum();

  00072	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00075	e8 00 00 00 00	 call	 ?createSysEnum@CDShowDevEnum@@AAEXXZ ; CDShowDevEnum::createSysEnum

; 47   :     initEnum(devClass);

  0007a	8b 4d 08	 mov	 ecx, DWORD PTR _devClass$[ebp]
  0007d	51		 push	 ecx
  0007e	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00081	e8 00 00 00 00	 call	 ?initEnum@CDShowDevEnum@@QAEXABU_GUID@@@Z ; CDShowDevEnum::initEnum

; 48   : }

  00086	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0008d	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  00090	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00093	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0009a	59		 pop	 ecx
  0009b	8b e5		 mov	 esp, ebp
  0009d	5d		 pop	 ebp
  0009e	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0CDShowDevEnum@@QAE@ABU_GUID@@@Z$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	83 c1 04	 add	 ecx, 4
  00006	e9 00 00 00 00	 jmp	 ??1?$CComPtr@UIEnumMoniker@@@ATL@@QAE@XZ ; ATL::CComPtr<IEnumMoniker>::~CComPtr<IEnumMoniker>
__unwindfunclet$??0CDShowDevEnum@@QAE@ABU_GUID@@@Z$1:
  0000b	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0000e	83 c1 08	 add	 ecx, 8
  00011	e9 00 00 00 00	 jmp	 ??1?$CComPtr@UICreateDevEnum@@@ATL@@QAE@XZ ; ATL::CComPtr<ICreateDevEnum>::~CComPtr<ICreateDevEnum>
__unwindfunclet$??0CDShowDevEnum@@QAE@ABU_GUID@@@Z$2:
  00016	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00019	83 c1 0c	 add	 ecx, 12			; 0000000cH
  0001c	e9 00 00 00 00	 jmp	 ??1?$CComPtr@UIPropertyBag@@@ATL@@QAE@XZ ; ATL::CComPtr<IPropertyBag>::~CComPtr<IPropertyBag>
__unwindfunclet$??0CDShowDevEnum@@QAE@ABU_GUID@@@Z$3:
  00021	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00024	83 c1 10	 add	 ecx, 16			; 00000010H
  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> >
__ehhandler$??0CDShowDevEnum@@QAE@ABU_GUID@@@Z:
  0002c	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00030	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00033	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  00036	33 c8		 xor	 ecx, eax
  00038	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0003d	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0CDShowDevEnum@@QAE@ABU_GUID@@@Z
  00042	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0CDShowDevEnum@@QAE@ABU_GUID@@@Z ENDP			; CDShowDevEnum::CDShowDevEnum
PUBLIC	??0CDShowDevEnum@@QAE@XZ			; CDShowDevEnum::CDShowDevEnum
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0CDShowDevEnum@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0CDShowDevEnum@@QAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0CDShowDevEnum@@QAE@XZ$1
	DD	01H
	DD	FLAT:__unwindfunclet$??0CDShowDevEnum@@QAE@XZ$2
	DD	02H
	DD	FLAT:__unwindfunclet$??0CDShowDevEnum@@QAE@XZ$3
__ehfuncinfo$??0CDShowDevEnum@@QAE@XZ DD 019930522H
	DD	04H
	DD	FLAT:__unwindtable$??0CDShowDevEnum@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0CDShowDevEnum@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0CDShowDevEnum@@QAE@XZ PROC				; CDShowDevEnum::CDShowDevEnum, COMDAT
; _this$ = ecx

; 39   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0CDShowDevEnum@@QAE@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	51		 push	 ecx
  00012	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00017	33 c5		 xor	 eax, ebp
  00019	50		 push	 eax
  0001a	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001d	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00023	89 4d f0	 mov	 DWORD PTR _this$[ebp], ecx
  00026	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  00029	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], OFFSET ??_7CDShowDevEnum@@6B@
  0002f	6a 00		 push	 0
  00031	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00034	83 c1 04	 add	 ecx, 4
  00037	e8 00 00 00 00	 call	 ??0?$CComPtr@UIEnumMoniker@@@ATL@@QAE@PAUIEnumMoniker@@@Z ; ATL::CComPtr<IEnumMoniker>::CComPtr<IEnumMoniker>
  0003c	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00043	6a 00		 push	 0
  00045	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00048	83 c1 08	 add	 ecx, 8
  0004b	e8 00 00 00 00	 call	 ??0?$CComPtr@UICreateDevEnum@@@ATL@@QAE@PAUICreateDevEnum@@@Z ; ATL::CComPtr<ICreateDevEnum>::CComPtr<ICreateDevEnum>
  00050	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  00054	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00057	83 c1 0c	 add	 ecx, 12			; 0000000cH
  0005a	e8 00 00 00 00	 call	 ??0?$CComPtr@UIPropertyBag@@@ATL@@QAE@XZ ; ATL::CComPtr<IPropertyBag>::CComPtr<IPropertyBag>
  0005f	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  00063	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00066	83 c1 10	 add	 ecx, 16			; 00000010H
  00069	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> >
  0006e	c6 45 fc 03	 mov	 BYTE PTR __$EHRec$[ebp+8], 3

; 40   :     createSysEnum();

  00072	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00075	e8 00 00 00 00	 call	 ?createSysEnum@CDShowDevEnum@@AAEXXZ ; CDShowDevEnum::createSysEnum

; 41   : }

  0007a	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00081	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  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$??0CDShowDevEnum@@QAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	83 c1 04	 add	 ecx, 4
  00006	e9 00 00 00 00	 jmp	 ??1?$CComPtr@UIEnumMoniker@@@ATL@@QAE@XZ ; ATL::CComPtr<IEnumMoniker>::~CComPtr<IEnumMoniker>
__unwindfunclet$??0CDShowDevEnum@@QAE@XZ$1:
  0000b	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0000e	83 c1 08	 add	 ecx, 8
  00011	e9 00 00 00 00	 jmp	 ??1?$CComPtr@UICreateDevEnum@@@ATL@@QAE@XZ ; ATL::CComPtr<ICreateDevEnum>::~CComPtr<ICreateDevEnum>
__unwindfunclet$??0CDShowDevEnum@@QAE@XZ$2:
  00016	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00019	83 c1 0c	 add	 ecx, 12			; 0000000cH
  0001c	e9 00 00 00 00	 jmp	 ??1?$CComPtr@UIPropertyBag@@@ATL@@QAE@XZ ; ATL::CComPtr<IPropertyBag>::~CComPtr<IPropertyBag>
__unwindfunclet$??0CDShowDevEnum@@QAE@XZ$3:
  00021	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00024	83 c1 10	 add	 ecx, 16			; 00000010H
  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> >
__ehhandler$??0CDShowDevEnum@@QAE@XZ:
  0002c	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00030	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00033	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  00036	33 c8		 xor	 ecx, eax
  00038	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0003d	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0CDShowDevEnum@@QAE@XZ
  00042	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0CDShowDevEnum@@QAE@XZ ENDP				; CDShowDevEnum::CDShowDevEnum
END
