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

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

INCLUDELIB OLDNAMES

PUBLIC	??_R4?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@6B@ ; CDShowGenericEnum<IEnumPins,IPin>::`RTTI Complete Object Locator'
PUBLIC	??_R4CDShowPinEnum@@6B@				; CDShowPinEnum::`RTTI Complete Object Locator'
PUBLIC	??_R3CDShowPinEnum@@8				; CDShowPinEnum::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2CDShowPinEnum@@8				; CDShowPinEnum::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@8 ; CDShowGenericEnum<IEnumPins,IPin>::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R3?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@8	; CDShowGenericEnum<IEnumPins,IPin>::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@8	; CDShowGenericEnum<IEnumPins,IPin>::`RTTI Base Class Array'
PUBLIC	??_R0?AV?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@@8 ; CDShowGenericEnum<IEnumPins,IPin> `RTTI Type Descriptor'
PUBLIC	??_R1A@?0A@EA@CDShowPinEnum@@8			; CDShowPinEnum::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVCDShowPinEnum@@@8			; CDShowPinEnum `RTTI Type Descriptor'
PUBLIC	??_R4CDShowPinEnumException@@6B@		; CDShowPinEnumException::`RTTI Complete Object Locator'
PUBLIC	??_R3CDShowPinEnumException@@8			; CDShowPinEnumException::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2CDShowPinEnumException@@8			; CDShowPinEnumException::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@CDShowPinEnumException@@8		; CDShowPinEnumException::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??0CDShowPinEnumException@@QAE@PBDJ@Z		; CDShowPinEnumException::CDShowPinEnumException
PUBLIC	??0?$CComPtr@UIEnumPins@@@ATL@@QAE@PAUIEnumPins@@@Z ; ATL::CComPtr<IEnumPins>::CComPtr<IEnumPins>
PUBLIC	??0?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@QAE@XZ ; CDShowGenericEnum<IEnumPins,IPin>::CDShowGenericEnum<IEnumPins,IPin>
PUBLIC	??4?$CComPtr@UIEnumPins@@@ATL@@QAEPAUIEnumPins@@PAU2@@Z ; ATL::CComPtr<IEnumPins>::operator=
PUBLIC	?init@?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@QAEXPAUIEnumPins@@@Z ; CDShowGenericEnum<IEnumPins,IPin>::init
PUBLIC	??0?$CComPtr@UIEnumPins@@@ATL@@QAE@XZ		; ATL::CComPtr<IEnumPins>::CComPtr<IEnumPins>
PUBLIC	??B?$CComPtr@UIEnumPins@@@ATL@@QBEPAUIEnumPins@@XZ ; ATL::CComPtr<IEnumPins>::operator IEnumPins *
PUBLIC	??I?$CComPtr@UIEnumPins@@@ATL@@QAEPAPAUIEnumPins@@XZ ; ATL::CComPtr<IEnumPins>::operator&
PUBLIC	??1CDShowPinEnumException@@UAE@XZ		; CDShowPinEnumException::~CDShowPinEnumException
PUBLIC	??_GCDShowPinEnumException@@UAEPAXI@Z		; CDShowPinEnumException::`scalar deleting destructor'
PUBLIC	??0CDShowPinEnumException@@QAE@ABV0@@Z		; CDShowPinEnumException::CDShowPinEnumException
PUBLIC	??1?$CComPtr@UIEnumPins@@@ATL@@QAE@XZ		; ATL::CComPtr<IEnumPins>::~CComPtr<IEnumPins>
PUBLIC	??_G?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@UAEPAXI@Z ; CDShowGenericEnum<IEnumPins,IPin>::`scalar deleting destructor'
PUBLIC	??1?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@UAE@XZ ; CDShowGenericEnum<IEnumPins,IPin>::~CDShowGenericEnum<IEnumPins,IPin>
PUBLIC	??_GCDShowPinEnum@@UAEPAXI@Z			; CDShowPinEnum::`scalar deleting destructor'
PUBLIC	?next@?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@QAEJPAPAUIPin@@@Z ; CDShowGenericEnum<IEnumPins,IPin>::next
PUBLIC	??0?$CComPtr@UIPin@@@ATL@@QAE@PAUIPin@@@Z	; ATL::CComPtr<IPin>::CComPtr<IPin>
PUBLIC	?Release@?$CComPtr@UIPin@@@ATL@@QAEXXZ		; ATL::CComPtr<IPin>::Release
PUBLIC	??_C@_0CA@EOPGDJJK@Failed?5to?5create?5pin?5enumerator?$AA@ ; `string'
PUBLIC	??_R0?AVCDShowPinEnumException@@@8		; CDShowPinEnumException `RTTI Type Descriptor'
PUBLIC	__CT??_R0?AVCDShowPinEnumException@@@8??0CDShowPinEnumException@@QAE@ABV0@@Z44
PUBLIC	__CTA4?AVCDShowPinEnumException@@
PUBLIC	__TI4?AVCDShowPinEnumException@@
PUBLIC	??_C@_0BP@FGMPHBEL@Enumerator?5already?5initialized?$AA@ ; `string'
PUBLIC	??_7CDShowPinEnumException@@6B@			; CDShowPinEnumException::`vftable'
PUBLIC	??_7CDShowPinEnum@@6B@				; CDShowPinEnum::`vftable'
PUBLIC	??_7?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@6B@ ; CDShowGenericEnum<IEnumPins,IPin>::`vftable'
EXTRN	??_ECDShowPinEnumException@@UAEPAXI@Z:PROC	; CDShowPinEnumException::`vector deleting destructor'
EXTRN	??_E?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@UAEPAXI@Z:PROC ; CDShowGenericEnum<IEnumPins,IPin>::`vector deleting destructor'
EXTRN	??_ECDShowPinEnum@@UAEPAXI@Z:PROC		; CDShowPinEnum::`vector deleting destructor'
;	COMDAT ??_7?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@6B@
CONST	SEGMENT
??_7?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@6B@ DD FLAT:??_R4?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@6B@ ; CDShowGenericEnum<IEnumPins,IPin>::`vftable'
	DD	FLAT:??_E?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@UAEPAXI@Z
CONST	ENDS
;	COMDAT ??_R4?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@6B@
rdata$r	SEGMENT
??_R4?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@6B@ DD 00H ; CDShowGenericEnum<IEnumPins,IPin>::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AV?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@@8
	DD	FLAT:??_R3?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@8
rdata$r	ENDS
;	COMDAT ??_7CDShowPinEnum@@6B@
CONST	SEGMENT
??_7CDShowPinEnum@@6B@ DD FLAT:??_R4CDShowPinEnum@@6B@	; CDShowPinEnum::`vftable'
	DD	FLAT:??_ECDShowPinEnum@@UAEPAXI@Z
CONST	ENDS
;	COMDAT ??_R4CDShowPinEnum@@6B@
rdata$r	SEGMENT
??_R4CDShowPinEnum@@6B@ DD 00H				; CDShowPinEnum::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVCDShowPinEnum@@@8
	DD	FLAT:??_R3CDShowPinEnum@@8
rdata$r	ENDS
;	COMDAT ??_R3CDShowPinEnum@@8
rdata$r	SEGMENT
??_R3CDShowPinEnum@@8 DD 00H				; CDShowPinEnum::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2CDShowPinEnum@@8
rdata$r	ENDS
;	COMDAT ??_R2CDShowPinEnum@@8
rdata$r	SEGMENT
??_R2CDShowPinEnum@@8 DD FLAT:??_R1A@?0A@EA@CDShowPinEnum@@8 ; CDShowPinEnum::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@8 DD FLAT:??_R0?AV?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@@8 ; CDShowGenericEnum<IEnumPins,IPin>::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@8
rdata$r	ENDS
;	COMDAT ??_R3?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@8
rdata$r	SEGMENT
??_R3?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@8 DD 00H	; CDShowGenericEnum<IEnumPins,IPin>::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@8
rdata$r	ENDS
;	COMDAT ??_R2?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@8
rdata$r	SEGMENT
??_R2?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@8 DD FLAT:??_R1A@?0A@EA@?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@8 ; CDShowGenericEnum<IEnumPins,IPin>::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R0?AV?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@@8
_DATA	SEGMENT
??_R0?AV?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@@8 DD FLAT:??_7type_info@@6B@ ; CDShowGenericEnum<IEnumPins,IPin> `RTTI Type Descriptor'
	DD	00H
	DB	'.?AV?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@', 00H
_DATA	ENDS
;	COMDAT ??_R1A@?0A@EA@CDShowPinEnum@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@CDShowPinEnum@@8 DD FLAT:??_R0?AVCDShowPinEnum@@@8 ; CDShowPinEnum::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3CDShowPinEnum@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVCDShowPinEnum@@@8
_DATA	SEGMENT
??_R0?AVCDShowPinEnum@@@8 DD FLAT:??_7type_info@@6B@	; CDShowPinEnum `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVCDShowPinEnum@@', 00H
_DATA	ENDS
;	COMDAT ??_7CDShowPinEnumException@@6B@
CONST	SEGMENT
??_7CDShowPinEnumException@@6B@ DD FLAT:??_R4CDShowPinEnumException@@6B@ ; CDShowPinEnumException::`vftable'
	DD	FLAT:??_ECDShowPinEnumException@@UAEPAXI@Z
	DD	FLAT:?what@runtime_error@std@@UBEPBDXZ
CONST	ENDS
;	COMDAT ??_R4CDShowPinEnumException@@6B@
rdata$r	SEGMENT
??_R4CDShowPinEnumException@@6B@ DD 00H			; CDShowPinEnumException::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVCDShowPinEnumException@@@8
	DD	FLAT:??_R3CDShowPinEnumException@@8
rdata$r	ENDS
;	COMDAT ??_R3CDShowPinEnumException@@8
rdata$r	SEGMENT
??_R3CDShowPinEnumException@@8 DD 00H			; CDShowPinEnumException::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2CDShowPinEnumException@@8
rdata$r	ENDS
;	COMDAT ??_R2CDShowPinEnumException@@8
rdata$r	SEGMENT
??_R2CDShowPinEnumException@@8 DD FLAT:??_R1A@?0A@EA@CDShowPinEnumException@@8 ; CDShowPinEnumException::`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@CDShowPinEnumException@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@CDShowPinEnumException@@8 DD FLAT:??_R0?AVCDShowPinEnumException@@@8 ; CDShowPinEnumException::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3CDShowPinEnumException@@8
rdata$r	ENDS
;	COMDAT ??_C@_0BP@FGMPHBEL@Enumerator?5already?5initialized?$AA@
CONST	SEGMENT
??_C@_0BP@FGMPHBEL@Enumerator?5already?5initialized?$AA@ DB 'Enumerator a'
	DB	'lready initialized', 00H			; `string'
CONST	ENDS
;	COMDAT __TI4?AVCDShowPinEnumException@@
xdata$x	SEGMENT
__TI4?AVCDShowPinEnumException@@ DD 00H
	DD	FLAT:??1CDShowPinEnumException@@UAE@XZ
	DD	00H
	DD	FLAT:__CTA4?AVCDShowPinEnumException@@
xdata$x	ENDS
;	COMDAT __CTA4?AVCDShowPinEnumException@@
xdata$x	SEGMENT
__CTA4?AVCDShowPinEnumException@@ DD 04H
	DD	FLAT:__CT??_R0?AVCDShowPinEnumException@@@8??0CDShowPinEnumException@@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?AVCDShowPinEnumException@@@8??0CDShowPinEnumException@@QAE@ABV0@@Z44
xdata$x	SEGMENT
__CT??_R0?AVCDShowPinEnumException@@@8??0CDShowPinEnumException@@QAE@ABV0@@Z44 DD 00H
	DD	FLAT:??_R0?AVCDShowPinEnumException@@@8
	DD	00H
	DD	0ffffffffH
	ORG $+4
	DD	02cH
	DD	FLAT:??0CDShowPinEnumException@@QAE@ABV0@@Z
xdata$x	ENDS
;	COMDAT ??_R0?AVCDShowPinEnumException@@@8
_DATA	SEGMENT
??_R0?AVCDShowPinEnumException@@@8 DD FLAT:??_7type_info@@6B@ ; CDShowPinEnumException `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVCDShowPinEnumException@@', 00H
_DATA	ENDS
;	COMDAT ??_C@_0CA@EOPGDJJK@Failed?5to?5create?5pin?5enumerator?$AA@
CONST	SEGMENT
??_C@_0CA@EOPGDJJK@Failed?5to?5create?5pin?5enumerator?$AA@ DB 'Failed to'
	DB	' create pin enumerator', 00H		; `string'
; Function compile flags: /Odtp
; File c:\tools\winddk\3790.1830\inc\atl30\atlbase.h
;	COMDAT ??0?$CComPtr@UIEnumPins@@@ATL@@QAE@PAUIEnumPins@@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_lp$ = 8						; size = 4
??0?$CComPtr@UIEnumPins@@@ATL@@QAE@PAUIEnumPins@@@Z PROC ; ATL::CComPtr<IEnumPins>::CComPtr<IEnumPins>, 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@3

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

; 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@UIEnumPins@@@ATL@@QAE@PAUIEnumPins@@@Z ENDP ; ATL::CComPtr<IEnumPins>::CComPtr<IEnumPins>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Release@?$CComPtr@UIPin@@@ATL@@QAEXXZ
_TEXT	SEGMENT
_this$ = -8						; size = 4
_pTemp$ = -4						; size = 4
?Release@?$CComPtr@UIPin@@@ATL@@QAEXXZ PROC		; ATL::CComPtr<IPin>::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@3

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

; 696  :                 }
; 697  :         }

  0002e	8b e5		 mov	 esp, ebp
  00030	5d		 pop	 ebp
  00031	c3		 ret	 0
?Release@?$CComPtr@UIPin@@@ATL@@QAEXXZ ENDP		; ATL::CComPtr<IPin>::Release
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$CComPtr@UIPin@@@ATL@@QAE@PAUIPin@@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_lp$ = 8						; size = 4
??0?$CComPtr@UIPin@@@ATL@@QAE@PAUIPin@@@Z PROC		; ATL::CComPtr<IPin>::CComPtr<IPin>, 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@4

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

; 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@UIPin@@@ATL@@QAE@PAUIPin@@@Z ENDP		; ATL::CComPtr<IPin>::CComPtr<IPin>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??I?$CComPtr@UIEnumPins@@@ATL@@QAEPAPAUIEnumPins@@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??I?$CComPtr@UIEnumPins@@@ATL@@QAEPAPAUIEnumPins@@XZ PROC ; ATL::CComPtr<IEnumPins>::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@UIEnumPins@@@ATL@@QAEPAPAUIEnumPins@@XZ ENDP ; ATL::CComPtr<IEnumPins>::operator&
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??B?$CComPtr@UIEnumPins@@@ATL@@QBEPAUIEnumPins@@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??B?$CComPtr@UIEnumPins@@@ATL@@QBEPAUIEnumPins@@XZ PROC	; ATL::CComPtr<IEnumPins>::operator IEnumPins *, 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@UIEnumPins@@@ATL@@QBEPAUIEnumPins@@XZ ENDP	; ATL::CComPtr<IEnumPins>::operator IEnumPins *
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??1?$CComPtr@UIEnumPins@@@ATL@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??1?$CComPtr@UIEnumPins@@@ATL@@QAE@XZ PROC		; ATL::CComPtr<IEnumPins>::~CComPtr<IEnumPins>, 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@5

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

; 688  :         }

  00021	8b e5		 mov	 esp, ebp
  00023	5d		 pop	 ebp
  00024	c3		 ret	 0
??1?$CComPtr@UIEnumPins@@@ATL@@QAE@XZ ENDP		; ATL::CComPtr<IEnumPins>::~CComPtr<IEnumPins>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$CComPtr@UIEnumPins@@@ATL@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??0?$CComPtr@UIEnumPins@@@ATL@@QAE@XZ PROC		; ATL::CComPtr<IEnumPins>::CComPtr<IEnumPins>, 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@UIEnumPins@@@ATL@@QAE@XZ ENDP		; ATL::CComPtr<IEnumPins>::CComPtr<IEnumPins>
_TEXT	ENDS
;	COMDAT xdata$x
; File c:\develop\dscaler423a\dscaler\dshowsource\pinenum.h
xdata$x	SEGMENT
__unwindtable$??1?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@UAE@XZ$0
__ehfuncinfo$??1?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@UAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??1?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@UAE@XZ PROC	; CDShowGenericEnum<IEnumPins,IPin>::~CDShowGenericEnum<IEnumPins,IPin>, COMDAT
; _this$ = ecx

; 57   :     {

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

; 58   : 
; 59   :     }

  00036	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0003d	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00040	83 c1 04	 add	 ecx, 4
  00043	e8 00 00 00 00	 call	 ??1?$CComPtr@UIEnumPins@@@ATL@@QAE@XZ ; ATL::CComPtr<IEnumPins>::~CComPtr<IEnumPins>
  00048	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0004b	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00052	59		 pop	 ecx
  00053	8b e5		 mov	 esp, ebp
  00055	5d		 pop	 ebp
  00056	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@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@UIEnumPins@@@ATL@@QAE@XZ ; ATL::CComPtr<IEnumPins>::~CComPtr<IEnumPins>
__ehhandler$??1?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@UAE@XZ:
  0000b	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000f	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00012	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  00015	33 c8		 xor	 ecx, eax
  00017	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0001c	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??1?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@UAE@XZ
  00021	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@UAE@XZ ENDP	; CDShowGenericEnum<IEnumPins,IPin>::~CDShowGenericEnum<IEnumPins,IPin>
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@QAE@XZ$0
__ehfuncinfo$??0?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@QAE@XZ PROC	; CDShowGenericEnum<IEnumPins,IPin>::CDShowGenericEnum<IEnumPins,IPin>, COMDAT
; _this$ = ecx

; 44   :     {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@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 ??_7?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@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@UIEnumPins@@@ATL@@QAE@PAUIEnumPins@@@Z ; ATL::CComPtr<IEnumPins>::CComPtr<IEnumPins>
  0003c	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 45   : 
; 46   :     }

  00043	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0004a	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  0004d	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00050	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00057	59		 pop	 ecx
  00058	8b e5		 mov	 esp, ebp
  0005a	5d		 pop	 ebp
  0005b	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@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@UIEnumPins@@@ATL@@QAE@XZ ; ATL::CComPtr<IEnumPins>::~CComPtr<IEnumPins>
__ehhandler$??0?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@QAE@XZ:
  0000b	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000f	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00012	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  00015	33 c8		 xor	 ecx, eax
  00017	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0001c	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@QAE@XZ
  00021	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@QAE@XZ ENDP	; CDShowGenericEnum<IEnumPins,IPin>::CDShowGenericEnum<IEnumPins,IPin>
PUBLIC	??1CDShowPinEnum@@UAE@XZ			; CDShowPinEnum::~CDShowPinEnum
;	COMDAT xdata$x
; File c:\develop\dscaler423a\dscaler\dshowsource\pinenum.cpp
xdata$x	SEGMENT
__unwindtable$??1CDShowPinEnum@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1CDShowPinEnum@@UAE@XZ$0
__ehfuncinfo$??1CDShowPinEnum@@UAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1CDShowPinEnum@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??1CDShowPinEnum@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1CDShowPinEnum@@UAE@XZ PROC				; CDShowPinEnum::~CDShowPinEnum, COMDAT
; _this$ = ecx

; 65   : {

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

; 66   : 
; 67   : }

  00036	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0003d	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00040	e8 00 00 00 00	 call	 ??1?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@UAE@XZ ; CDShowGenericEnum<IEnumPins,IPin>::~CDShowGenericEnum<IEnumPins,IPin>
  00045	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00048	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0004f	59		 pop	 ecx
  00050	8b e5		 mov	 esp, ebp
  00052	5d		 pop	 ebp
  00053	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1CDShowPinEnum@@UAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@UAE@XZ ; CDShowGenericEnum<IEnumPins,IPin>::~CDShowGenericEnum<IEnumPins,IPin>
__ehhandler$??1CDShowPinEnum@@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$??1CDShowPinEnum@@UAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1CDShowPinEnum@@UAE@XZ ENDP				; CDShowPinEnum::~CDShowPinEnum
; Function compile flags: /Odtp
;	COMDAT ??_GCDShowPinEnum@@UAEPAXI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___flags$ = 8						; size = 4
??_GCDShowPinEnum@@UAEPAXI@Z PROC			; CDShowPinEnum::`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	 ??1CDShowPinEnum@@UAE@XZ ; CDShowPinEnum::~CDShowPinEnum
  0000f	8b 45 08	 mov	 eax, DWORD PTR ___flags$[ebp]
  00012	83 e0 01	 and	 eax, 1
  00015	74 0c		 je	 SHORT $LN1@scalar@2
  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@2:
  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
??_GCDShowPinEnum@@UAEPAXI@Z ENDP			; CDShowPinEnum::`scalar deleting destructor'
; Function compile flags: /Odtp
; File c:\tools\winddk\3790.1830\inc\atl30\atlbase.h
;	COMDAT ??4?$CComPtr@UIEnumPins@@@ATL@@QAEPAUIEnumPins@@PAU2@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_lp$ = 8						; size = 4
??4?$CComPtr@UIEnumPins@@@ATL@@QAEPAUIEnumPins@@PAU2@@Z PROC ; ATL::CComPtr<IEnumPins>::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@UIEnumPins@@@ATL@@QAEPAUIEnumPins@@PAU2@@Z ENDP ; ATL::CComPtr<IEnumPins>::operator=
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??_G?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@UAEPAXI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___flags$ = 8						; size = 4
??_G?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@UAEPAXI@Z PROC ; CDShowGenericEnum<IEnumPins,IPin>::`scalar deleting destructor', COMDAT
; _this$ = ecx
  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx
  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	e8 00 00 00 00	 call	 ??1?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@UAE@XZ ; CDShowGenericEnum<IEnumPins,IPin>::~CDShowGenericEnum<IEnumPins,IPin>
  0000f	8b 45 08	 mov	 eax, DWORD PTR ___flags$[ebp]
  00012	83 e0 01	 and	 eax, 1
  00015	74 0c		 je	 SHORT $LN1@scalar@35
  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@35:
  00023	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00026	8b e5		 mov	 esp, ebp
  00028	5d		 pop	 ebp
  00029	c2 04 00	 ret	 4
??_G?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@UAEPAXI@Z ENDP ; CDShowGenericEnum<IEnumPins,IPin>::`scalar deleting destructor'
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\dshowsource\pinenum.h
_TEXT	ENDS
;	COMDAT ?next@?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@QAEJPAPAUIPin@@@Z
_TEXT	SEGMENT
tv79 = -8						; size = 4
_this$ = -4						; size = 4
_ppItem$ = 8						; size = 4
?next@?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@QAEJPAPAUIPin@@@Z PROC ; CDShowGenericEnum<IEnumPins,IPin>::next, COMDAT
; _this$ = ecx

; 75   :     {

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

; 76   :         if(m_pEnum==NULL ||ppItem==NULL)

  00009	6a 00		 push	 0
  0000b	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000e	83 c1 04	 add	 ecx, 4
  00011	e8 00 00 00 00	 call	 ??8?$CComPtr@UIEnumPins@@@ATL@@QBE_NPAUIEnumPins@@@Z ; ATL::CComPtr<IEnumPins>::operator==
  00016	0f b6 c0	 movzx	 eax, al
  00019	85 c0		 test	 eax, eax
  0001b	75 06		 jne	 SHORT $LN1@next@3
  0001d	83 7d 08 00	 cmp	 DWORD PTR _ppItem$[ebp], 0
  00021	75 07		 jne	 SHORT $LN2@next@3
$LN1@next@3:

; 77   :             return E_POINTER;

  00023	b8 03 40 00 80	 mov	 eax, -2147467261	; 80004003H
  00028	eb 24		 jmp	 SHORT $LN3@next@3
$LN2@next@3:

; 78   :         return m_pEnum->Next(1,ppItem,NULL);

  0002a	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0002d	83 c1 04	 add	 ecx, 4
  00030	e8 00 00 00 00	 call	 ??C?$CComPtr@UIEnumPins@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIEnumPins@@@1@XZ ; ATL::CComPtr<IEnumPins>::operator->
  00035	89 45 f8	 mov	 DWORD PTR tv79[ebp], eax
  00038	6a 00		 push	 0
  0003a	8b 4d 08	 mov	 ecx, DWORD PTR _ppItem$[ebp]
  0003d	51		 push	 ecx
  0003e	6a 01		 push	 1
  00040	8b 55 f8	 mov	 edx, DWORD PTR tv79[ebp]
  00043	52		 push	 edx
  00044	8b 45 f8	 mov	 eax, DWORD PTR tv79[ebp]
  00047	8b 08		 mov	 ecx, DWORD PTR [eax]
  00049	8b 51 0c	 mov	 edx, DWORD PTR [ecx+12]
  0004c	ff d2		 call	 edx
$LN3@next@3:

; 79   :     }

  0004e	8b e5		 mov	 esp, ebp
  00050	5d		 pop	 ebp
  00051	c2 04 00	 ret	 4
?next@?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@QAEJPAPAUIPin@@@Z ENDP ; CDShowGenericEnum<IEnumPins,IPin>::next
_TEXT	ENDS
PUBLIC	?next@CDShowPinEnum@@QAE?AV?$CComPtr@UIPin@@@ATL@@XZ ; CDShowPinEnum::next
;	COMDAT xdata$x
; File c:\develop\dscaler423a\dscaler\dshowsource\pinenum.cpp
xdata$x	SEGMENT
__unwindtable$?next@CDShowPinEnum@@QAE?AV?$CComPtr@UIPin@@@ATL@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?next@CDShowPinEnum@@QAE?AV?$CComPtr@UIPin@@@ATL@@XZ$1
	DD	00H
	DD	FLAT:__unwindfunclet$?next@CDShowPinEnum@@QAE?AV?$CComPtr@UIPin@@@ATL@@XZ$0
__ehfuncinfo$?next@CDShowPinEnum@@QAE?AV?$CComPtr@UIPin@@@ATL@@XZ DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$?next@CDShowPinEnum@@QAE?AV?$CComPtr@UIPin@@@ATL@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?next@CDShowPinEnum@@QAE?AV?$CComPtr@UIPin@@@ATL@@XZ
_TEXT	SEGMENT
tv147 = -36						; size = 4
_this$ = -32						; size = 4
$T307317 = -28						; size = 4
_pinDir$139756 = -24					; size = 4
_hr$ = -20						; size = 4
_pin$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
___$ReturnUdt$ = 8					; size = 4
?next@CDShowPinEnum@@QAE?AV?$CComPtr@UIPin@@@ATL@@XZ PROC ; CDShowPinEnum::next, COMDAT
; _this$ = ecx

; 74   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?next@CDShowPinEnum@@QAE?AV?$CComPtr@UIPin@@@ATL@@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 18	 sub	 esp, 24			; 00000018H
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	50		 push	 eax
  0001c	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001f	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00025	89 4d e0	 mov	 DWORD PTR _this$[ebp], ecx
  00028	c7 45 e4 00 00
	00 00		 mov	 DWORD PTR $T307317[ebp], 0

; 75   :     CComPtr<IPin> pin;

  0002f	8d 4d f0	 lea	 ecx, DWORD PTR _pin$[ebp]
  00032	e8 00 00 00 00	 call	 ??0?$CComPtr@UIPin@@@ATL@@QAE@XZ ; ATL::CComPtr<IPin>::CComPtr<IPin>
  00037	c7 45 fc 01 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 1

; 76   :     HRESULT hr=S_OK;

  0003e	c7 45 ec 00 00
	00 00		 mov	 DWORD PTR _hr$[ebp], 0

; 77   : 
; 78   :     //only pins in specified direction?
; 79   :     if(m_anydir)

  00045	8b 45 e0	 mov	 eax, DWORD PTR _this$[ebp]
  00048	83 78 0c 00	 cmp	 DWORD PTR [eax+12], 0
  0004c	74 57		 je	 SHORT $LN6@next@4

; 80   :     {
; 81   :         hr=CDShowGenericEnum<IEnumPins,IPin>::next(&pin);

  0004e	8d 4d f0	 lea	 ecx, DWORD PTR _pin$[ebp]
  00051	e8 00 00 00 00	 call	 ??I?$CComPtr@UIPin@@@ATL@@QAEPAPAUIPin@@XZ ; ATL::CComPtr<IPin>::operator&
  00056	50		 push	 eax
  00057	8b 4d e0	 mov	 ecx, DWORD PTR _this$[ebp]
  0005a	e8 00 00 00 00	 call	 ?next@?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@QAEJPAPAUIPin@@@Z ; CDShowGenericEnum<IEnumPins,IPin>::next
  0005f	89 45 ec	 mov	 DWORD PTR _hr$[ebp], eax

; 82   :         if(FAILED(hr) || pin==NULL)

  00062	83 7d ec 00	 cmp	 DWORD PTR _hr$[ebp], 0
  00066	7c 11		 jl	 SHORT $LN8@next@4
  00068	6a 00		 push	 0
  0006a	8d 4d f0	 lea	 ecx, DWORD PTR _pin$[ebp]
  0006d	e8 00 00 00 00	 call	 ??8?$CComPtr@UIPin@@@ATL@@QBE_NPAUIPin@@@Z ; ATL::CComPtr<IPin>::operator==
  00072	0f b6 c8	 movzx	 ecx, al
  00075	85 c9		 test	 ecx, ecx
  00077	74 27		 je	 SHORT $LN9@next@4
$LN8@next@4:

; 83   :             return NULL;

  00079	6a 00		 push	 0
  0007b	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  0007e	e8 00 00 00 00	 call	 ??0?$CComPtr@UIPin@@@ATL@@QAE@PAUIPin@@@Z ; ATL::CComPtr<IPin>::CComPtr<IPin>
  00083	8b 55 e4	 mov	 edx, DWORD PTR $T307317[ebp]
  00086	83 ca 01	 or	 edx, 1
  00089	89 55 e4	 mov	 DWORD PTR $T307317[ebp], edx
  0008c	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  00090	8d 4d f0	 lea	 ecx, DWORD PTR _pin$[ebp]
  00093	e8 00 00 00 00	 call	 ??1?$CComPtr@UIPin@@@ATL@@QAE@XZ ; ATL::CComPtr<IPin>::~CComPtr<IPin>
  00098	8b 45 08	 mov	 eax, DWORD PTR ___$ReturnUdt$[ebp]
  0009b	e9 c7 00 00 00	 jmp	 $LN11@next@4
$LN9@next@4:

; 84   :             //throw CExPinEnum(_T("next() failed"),hr);
; 85   :     }
; 86   :     else

  000a0	e9 9e 00 00 00	 jmp	 $LN7@next@4
$LN6@next@4:

; 87   :     {
; 88   :         //step thru all pins until one with the right direction is found
; 89   :         while(TRUE)

  000a5	b8 01 00 00 00	 mov	 eax, 1
  000aa	85 c0		 test	 eax, eax
  000ac	0f 84 91 00 00
	00		 je	 $LN7@next@4

; 90   :         {
; 91   :             hr=CDShowGenericEnum<IEnumPins,IPin>::next(&pin);

  000b2	8d 4d f0	 lea	 ecx, DWORD PTR _pin$[ebp]
  000b5	e8 00 00 00 00	 call	 ??I?$CComPtr@UIPin@@@ATL@@QAEPAPAUIPin@@XZ ; ATL::CComPtr<IPin>::operator&
  000ba	50		 push	 eax
  000bb	8b 4d e0	 mov	 ecx, DWORD PTR _this$[ebp]
  000be	e8 00 00 00 00	 call	 ?next@?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@QAEJPAPAUIPin@@@Z ; CDShowGenericEnum<IEnumPins,IPin>::next
  000c3	89 45 ec	 mov	 DWORD PTR _hr$[ebp], eax

; 92   :             if(FAILED(hr) || pin==NULL)

  000c6	83 7d ec 00	 cmp	 DWORD PTR _hr$[ebp], 0
  000ca	7c 11		 jl	 SHORT $LN3@next@4
  000cc	6a 00		 push	 0
  000ce	8d 4d f0	 lea	 ecx, DWORD PTR _pin$[ebp]
  000d1	e8 00 00 00 00	 call	 ??8?$CComPtr@UIPin@@@ATL@@QBE_NPAUIPin@@@Z ; ATL::CComPtr<IPin>::operator==
  000d6	0f b6 c8	 movzx	 ecx, al
  000d9	85 c9		 test	 ecx, ecx
  000db	74 24		 je	 SHORT $LN4@next@4
$LN3@next@4:

; 93   :                 return NULL;

  000dd	6a 00		 push	 0
  000df	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  000e2	e8 00 00 00 00	 call	 ??0?$CComPtr@UIPin@@@ATL@@QAE@PAUIPin@@@Z ; ATL::CComPtr<IPin>::CComPtr<IPin>
  000e7	8b 55 e4	 mov	 edx, DWORD PTR $T307317[ebp]
  000ea	83 ca 01	 or	 edx, 1
  000ed	89 55 e4	 mov	 DWORD PTR $T307317[ebp], edx
  000f0	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  000f4	8d 4d f0	 lea	 ecx, DWORD PTR _pin$[ebp]
  000f7	e8 00 00 00 00	 call	 ??1?$CComPtr@UIPin@@@ATL@@QAE@XZ ; ATL::CComPtr<IPin>::~CComPtr<IPin>
  000fc	8b 45 08	 mov	 eax, DWORD PTR ___$ReturnUdt$[ebp]
  000ff	eb 66		 jmp	 SHORT $LN11@next@4
$LN4@next@4:

; 94   :                 //throw CExPinEnum(_T("next() failed"),hr);
; 95   : 
; 96   :             PIN_DIRECTION pinDir;
; 97   :             hr=pin->QueryDirection(&pinDir);

  00101	8d 4d f0	 lea	 ecx, DWORD PTR _pin$[ebp]
  00104	e8 00 00 00 00	 call	 ??C?$CComPtr@UIPin@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIPin@@@1@XZ ; ATL::CComPtr<IPin>::operator->
  00109	89 45 dc	 mov	 DWORD PTR tv147[ebp], eax
  0010c	8d 45 e8	 lea	 eax, DWORD PTR _pinDir$139756[ebp]
  0010f	50		 push	 eax
  00110	8b 4d dc	 mov	 ecx, DWORD PTR tv147[ebp]
  00113	51		 push	 ecx
  00114	8b 55 dc	 mov	 edx, DWORD PTR tv147[ebp]
  00117	8b 02		 mov	 eax, DWORD PTR [edx]
  00119	8b 48 24	 mov	 ecx, DWORD PTR [eax+36]
  0011c	ff d1		 call	 ecx
  0011e	89 45 ec	 mov	 DWORD PTR _hr$[ebp], eax

; 98   :             if(SUCCEEDED(hr) && pinDir==m_pinDir)

  00121	83 7d ec 00	 cmp	 DWORD PTR _hr$[ebp], 0
  00125	7c 0f		 jl	 SHORT $LN2@next@4
  00127	8b 55 e0	 mov	 edx, DWORD PTR _this$[ebp]
  0012a	8b 45 e8	 mov	 eax, DWORD PTR _pinDir$139756[ebp]
  0012d	3b 42 08	 cmp	 eax, DWORD PTR [edx+8]
  00130	75 04		 jne	 SHORT $LN2@next@4

; 99   :             {
; 100  :                 break;

  00132	eb 0f		 jmp	 SHORT $LN7@next@4

; 101  :             }
; 102  :             else

  00134	eb 08		 jmp	 SHORT $LN1@next@4
$LN2@next@4:

; 103  :             {
; 104  :                 //releas the pin becaus it was eighter wrong direction or some error
; 105  :                 //if we dont, there will be an assert trigered in CComPtr<>
; 106  :                 pin.Release();

  00136	8d 4d f0	 lea	 ecx, DWORD PTR _pin$[ebp]
  00139	e8 00 00 00 00	 call	 ?Release@?$CComPtr@UIPin@@@ATL@@QAEXXZ ; ATL::CComPtr<IPin>::Release
$LN1@next@4:

; 107  :             }
; 108  :         }

  0013e	e9 62 ff ff ff	 jmp	 $LN6@next@4
$LN7@next@4:

; 109  :     }
; 110  :     return pin;

  00143	8d 4d f0	 lea	 ecx, DWORD PTR _pin$[ebp]
  00146	51		 push	 ecx
  00147	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  0014a	e8 00 00 00 00	 call	 ??0?$CComPtr@UIPin@@@ATL@@QAE@ABV01@@Z ; ATL::CComPtr<IPin>::CComPtr<IPin>
  0014f	8b 55 e4	 mov	 edx, DWORD PTR $T307317[ebp]
  00152	83 ca 01	 or	 edx, 1
  00155	89 55 e4	 mov	 DWORD PTR $T307317[ebp], edx
  00158	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  0015c	8d 4d f0	 lea	 ecx, DWORD PTR _pin$[ebp]
  0015f	e8 00 00 00 00	 call	 ??1?$CComPtr@UIPin@@@ATL@@QAE@XZ ; ATL::CComPtr<IPin>::~CComPtr<IPin>
  00164	8b 45 08	 mov	 eax, DWORD PTR ___$ReturnUdt$[ebp]
$LN11@next@4:

; 111  : }

  00167	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0016a	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00171	59		 pop	 ecx
  00172	8b e5		 mov	 esp, ebp
  00174	5d		 pop	 ebp
  00175	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?next@CDShowPinEnum@@QAE?AV?$CComPtr@UIPin@@@ATL@@XZ$0:
  00000	8d 4d f0	 lea	 ecx, DWORD PTR _pin$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$CComPtr@UIPin@@@ATL@@QAE@XZ ; ATL::CComPtr<IPin>::~CComPtr<IPin>
__unwindfunclet$?next@CDShowPinEnum@@QAE?AV?$CComPtr@UIPin@@@ATL@@XZ$1:
  00008	8b 45 e4	 mov	 eax, DWORD PTR $T307317[ebp]
  0000b	83 e0 01	 and	 eax, 1
  0000e	0f 84 0c 00 00
	00		 je	 $LN15@next@4
  00014	83 65 e4 fe	 and	 DWORD PTR $T307317[ebp], -2 ; fffffffeH
  00018	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  0001b	e9 00 00 00 00	 jmp	 ??1?$CComPtr@UIPin@@@ATL@@QAE@XZ ; ATL::CComPtr<IPin>::~CComPtr<IPin>
$LN15@next@4:
  00020	c3		 ret	 0
__ehhandler$?next@CDShowPinEnum@@QAE?AV?$CComPtr@UIPin@@@ATL@@XZ:
  00021	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00025	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00028	8b 4a e4	 mov	 ecx, DWORD PTR [edx-28]
  0002b	33 c8		 xor	 ecx, eax
  0002d	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00032	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?next@CDShowPinEnum@@QAE?AV?$CComPtr@UIPin@@@ATL@@XZ
  00037	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?next@CDShowPinEnum@@QAE?AV?$CComPtr@UIPin@@@ATL@@XZ ENDP ; CDShowPinEnum::next
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1CDShowPinEnumException@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1CDShowPinEnumException@@UAE@XZ$0
__ehfuncinfo$??1CDShowPinEnumException@@UAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1CDShowPinEnumException@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??1CDShowPinEnumException@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1CDShowPinEnumException@@UAE@XZ PROC			; CDShowPinEnumException::~CDShowPinEnumException, 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$??1CDShowPinEnumException@@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$??1CDShowPinEnumException@@UAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CDShowException@@UAE@XZ
__ehhandler$??1CDShowPinEnumException@@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$??1CDShowPinEnumException@@UAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1CDShowPinEnumException@@UAE@XZ ENDP			; CDShowPinEnumException::~CDShowPinEnumException
; Function compile flags: /Odtp
;	COMDAT ??_GCDShowPinEnumException@@UAEPAXI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___flags$ = 8						; size = 4
??_GCDShowPinEnumException@@UAEPAXI@Z PROC		; CDShowPinEnumException::`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	 ??1CDShowPinEnumException@@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@214
  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@214:
  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
??_GCDShowPinEnumException@@UAEPAXI@Z ENDP		; CDShowPinEnumException::`scalar deleting destructor'
;	COMDAT xdata$x
; File c:\develop\dscaler423a\dscaler\dshowsource\pinenum.h
xdata$x	SEGMENT
__unwindtable$?init@?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@QAEXPAUIEnumPins@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?init@?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@QAEXPAUIEnumPins@@@Z$0
__ehfuncinfo$?init@?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@QAEXPAUIEnumPins@@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?init@?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@QAEXPAUIEnumPins@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?init@?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@QAEXPAUIEnumPins@@@Z
_TEXT	SEGMENT
_this$ = -88						; size = 4
$T337577 = -84						; size = 28
$T337576 = -56						; size = 44
__$EHRec$ = -12						; size = 12
_pEnum$ = 8						; size = 4
?init@?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@QAEXPAUIEnumPins@@@Z PROC ; CDShowGenericEnum<IEnumPins,IPin>::init, COMDAT
; _this$ = ecx

; 66   :     {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?init@?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@QAEXPAUIEnumPins@@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 4c	 sub	 esp, 76			; 0000004cH
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	50		 push	 eax
  0001c	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001f	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00025	89 4d a8	 mov	 DWORD PTR _this$[ebp], ecx

; 67   :         if(m_pEnum!=NULL)

  00028	8b 4d a8	 mov	 ecx, DWORD PTR _this$[ebp]
  0002b	83 c1 04	 add	 ecx, 4
  0002e	e8 00 00 00 00	 call	 ??B?$CComPtr@UIEnumPins@@@ATL@@QBEPAUIEnumPins@@XZ ; ATL::CComPtr<IEnumPins>::operator IEnumPins *
  00033	85 c0		 test	 eax, eax
  00035	74 3f		 je	 SHORT $LN1@init

; 68   :         {
; 69   :             throw CDShowException("Enumerator already initialized");

  00037	68 00 00 00 00	 push	 OFFSET ??_C@_0BP@FGMPHBEL@Enumerator?5already?5initialized?$AA@
  0003c	8d 4d ac	 lea	 ecx, DWORD PTR $T337577[ebp]
  0003f	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> >
  00044	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  0004b	6a 00		 push	 0
  0004d	8d 45 ac	 lea	 eax, DWORD PTR $T337577[ebp]
  00050	50		 push	 eax
  00051	8d 4d c8	 lea	 ecx, DWORD PTR $T337576[ebp]
  00054	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
  00059	68 00 00 00 00	 push	 OFFSET __TI3?AVCDShowException@@
  0005e	8d 4d c8	 lea	 ecx, DWORD PTR $T337576[ebp]
  00061	51		 push	 ecx
  00062	e8 00 00 00 00	 call	 __CxxThrowException@8
  00067	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0006e	8d 4d ac	 lea	 ecx, DWORD PTR $T337577[ebp]
  00071	e8 00 00 00 00	 call	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
$LN1@init:

; 70   :         }
; 71   :         m_pEnum=pEnum;

  00076	8b 55 08	 mov	 edx, DWORD PTR _pEnum$[ebp]
  00079	52		 push	 edx
  0007a	8b 4d a8	 mov	 ecx, DWORD PTR _this$[ebp]
  0007d	83 c1 04	 add	 ecx, 4
  00080	e8 00 00 00 00	 call	 ??4?$CComPtr@UIEnumPins@@@ATL@@QAEPAUIEnumPins@@PAU2@@Z ; ATL::CComPtr<IEnumPins>::operator=
$LN3@init:

; 72   :     }

  00085	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00088	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0008f	59		 pop	 ecx
  00090	8b e5		 mov	 esp, ebp
  00092	5d		 pop	 ebp
  00093	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?init@?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@QAEXPAUIEnumPins@@@Z$0:
  00000	8d 4d ac	 lea	 ecx, DWORD PTR $T337577[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__ehhandler$?init@?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@QAEXPAUIEnumPins@@@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 b0	 mov	 ecx, DWORD PTR [edx-80]
  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$?init@?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@QAEXPAUIEnumPins@@@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?init@?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@QAEXPAUIEnumPins@@@Z ENDP ; CDShowGenericEnum<IEnumPins,IPin>::init
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0CDShowPinEnumException@@QAE@ABV0@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0CDShowPinEnumException@@QAE@ABV0@@Z$0
__ehfuncinfo$??0CDShowPinEnumException@@QAE@ABV0@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0CDShowPinEnumException@@QAE@ABV0@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0CDShowPinEnumException@@QAE@ABV0@@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
___that$ = 8						; size = 4
??0CDShowPinEnumException@@QAE@ABV0@@Z PROC		; CDShowPinEnumException::CDShowPinEnumException, 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$??0CDShowPinEnumException@@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 ??_7CDShowPinEnumException@@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$??0CDShowPinEnumException@@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$??0CDShowPinEnumException@@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$??0CDShowPinEnumException@@QAE@ABV0@@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0CDShowPinEnumException@@QAE@ABV0@@Z ENDP		; CDShowPinEnumException::CDShowPinEnumException
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0CDShowPinEnumException@@QAE@PBDJ@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0CDShowPinEnumException@@QAE@PBDJ@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0CDShowPinEnumException@@QAE@PBDJ@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$??0CDShowPinEnumException@@QAE@PBDJ@Z$1
__ehfuncinfo$??0CDShowPinEnumException@@QAE@PBDJ@Z DD 019930522H
	DD	03H
	DD	FLAT:__unwindtable$??0CDShowPinEnumException@@QAE@PBDJ@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0CDShowPinEnumException@@QAE@PBDJ@Z
_TEXT	SEGMENT
_this$ = -44						; size = 4
$T337596 = -40						; size = 28
__$EHRec$ = -12						; size = 12
_msg$ = 8						; size = 4
_hr$ = 12						; size = 4
??0CDShowPinEnumException@@QAE@PBDJ@Z PROC		; CDShowPinEnumException::CDShowPinEnumException, COMDAT
; _this$ = ecx

; 163  :     CDShowPinEnumException(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$??0CDShowPinEnumException@@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 $T337596[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 $T337596[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 $T337596[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 ??_7CDShowPinEnumException@@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$??0CDShowPinEnumException@@QAE@PBDJ@Z$0:
  00000	8d 4d d8	 lea	 ecx, DWORD PTR $T337596[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$??0CDShowPinEnumException@@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$??0CDShowPinEnumException@@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$??0CDShowPinEnumException@@QAE@PBDJ@Z
  00026	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0CDShowPinEnumException@@QAE@PBDJ@Z ENDP		; CDShowPinEnumException::CDShowPinEnumException
PUBLIC	??0CDShowPinEnum@@QAE@V?$CComPtr@UIBaseFilter@@@ATL@@@Z ; CDShowPinEnum::CDShowPinEnum
;	COMDAT xdata$x
; File c:\develop\dscaler423a\dscaler\dshowsource\pinenum.cpp
xdata$x	SEGMENT
__unwindtable$??0CDShowPinEnum@@QAE@V?$CComPtr@UIBaseFilter@@@ATL@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0CDShowPinEnum@@QAE@V?$CComPtr@UIBaseFilter@@@ATL@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0CDShowPinEnum@@QAE@V?$CComPtr@UIBaseFilter@@@ATL@@@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$??0CDShowPinEnum@@QAE@V?$CComPtr@UIBaseFilter@@@ATL@@@Z$2
__ehfuncinfo$??0CDShowPinEnum@@QAE@V?$CComPtr@UIBaseFilter@@@ATL@@@Z DD 019930522H
	DD	03H
	DD	FLAT:__unwindtable$??0CDShowPinEnum@@QAE@V?$CComPtr@UIBaseFilter@@@ATL@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0CDShowPinEnum@@QAE@V?$CComPtr@UIBaseFilter@@@ATL@@@Z
_TEXT	SEGMENT
tv92 = -72						; size = 4
_this$ = -68						; size = 4
$T341170 = -64						; size = 44
_pEnum$ = -20						; size = 4
_hr$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
_filter$ = 8						; size = 4
??0CDShowPinEnum@@QAE@V?$CComPtr@UIBaseFilter@@@ATL@@@Z PROC ; CDShowPinEnum::CDShowPinEnum, COMDAT
; _this$ = ecx

; 53   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0CDShowPinEnum@@QAE@V?$CComPtr@UIBaseFilter@@@ATL@@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 3c	 sub	 esp, 60			; 0000003cH
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	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 bc	 mov	 DWORD PTR _this$[ebp], ecx
  00028	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  0002f	8b 4d bc	 mov	 ecx, DWORD PTR _this$[ebp]
  00032	e8 00 00 00 00	 call	 ??0?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@QAE@XZ ; CDShowGenericEnum<IEnumPins,IPin>::CDShowGenericEnum<IEnumPins,IPin>
  00037	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  0003b	8b 45 bc	 mov	 eax, DWORD PTR _this$[ebp]
  0003e	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], OFFSET ??_7CDShowPinEnum@@6B@
  00044	8b 4d bc	 mov	 ecx, DWORD PTR _this$[ebp]
  00047	c7 41 0c 01 00
	00 00		 mov	 DWORD PTR [ecx+12], 1

; 54   :     _ASSERTE(filter!=NULL);
; 55   :     CComPtr<IEnumPins> pEnum;

  0004e	8d 4d ec	 lea	 ecx, DWORD PTR _pEnum$[ebp]
  00051	e8 00 00 00 00	 call	 ??0?$CComPtr@UIEnumPins@@@ATL@@QAE@XZ ; ATL::CComPtr<IEnumPins>::CComPtr<IEnumPins>
  00056	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2

; 56   :     HRESULT hr=filter->EnumPins(&pEnum);

  0005a	8d 4d 08	 lea	 ecx, DWORD PTR _filter$[ebp]
  0005d	e8 00 00 00 00	 call	 ??C?$CComPtr@UIBaseFilter@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIBaseFilter@@@1@XZ ; ATL::CComPtr<IBaseFilter>::operator->
  00062	89 45 b8	 mov	 DWORD PTR tv92[ebp], eax
  00065	8d 4d ec	 lea	 ecx, DWORD PTR _pEnum$[ebp]
  00068	e8 00 00 00 00	 call	 ??I?$CComPtr@UIEnumPins@@@ATL@@QAEPAPAUIEnumPins@@XZ ; ATL::CComPtr<IEnumPins>::operator&
  0006d	50		 push	 eax
  0006e	8b 55 b8	 mov	 edx, DWORD PTR tv92[ebp]
  00071	52		 push	 edx
  00072	8b 45 b8	 mov	 eax, DWORD PTR tv92[ebp]
  00075	8b 08		 mov	 ecx, DWORD PTR [eax]
  00077	8b 51 28	 mov	 edx, DWORD PTR [ecx+40]
  0007a	ff d2		 call	 edx
  0007c	89 45 f0	 mov	 DWORD PTR _hr$[ebp], eax

; 57   :     if(FAILED(hr))

  0007f	83 7d f0 00	 cmp	 DWORD PTR _hr$[ebp], 0
  00083	7d 1f		 jge	 SHORT $LN1@CDShowPinE

; 58   :         throw CDShowPinEnumException("Failed to create pin enumerator",hr);

  00085	8b 45 f0	 mov	 eax, DWORD PTR _hr$[ebp]
  00088	50		 push	 eax
  00089	68 00 00 00 00	 push	 OFFSET ??_C@_0CA@EOPGDJJK@Failed?5to?5create?5pin?5enumerator?$AA@
  0008e	8d 4d c0	 lea	 ecx, DWORD PTR $T341170[ebp]
  00091	e8 00 00 00 00	 call	 ??0CDShowPinEnumException@@QAE@PBDJ@Z ; CDShowPinEnumException::CDShowPinEnumException
  00096	68 00 00 00 00	 push	 OFFSET __TI4?AVCDShowPinEnumException@@
  0009b	8d 4d c0	 lea	 ecx, DWORD PTR $T341170[ebp]
  0009e	51		 push	 ecx
  0009f	e8 00 00 00 00	 call	 __CxxThrowException@8
$LN1@CDShowPinE:

; 59   : 
; 60   :     _ASSERTE(pEnum!=NULL);
; 61   :     init(pEnum);

  000a4	8d 4d ec	 lea	 ecx, DWORD PTR _pEnum$[ebp]
  000a7	e8 00 00 00 00	 call	 ??B?$CComPtr@UIEnumPins@@@ATL@@QBEPAUIEnumPins@@XZ ; ATL::CComPtr<IEnumPins>::operator IEnumPins *
  000ac	50		 push	 eax
  000ad	8b 4d bc	 mov	 ecx, DWORD PTR _this$[ebp]
  000b0	e8 00 00 00 00	 call	 ?init@?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@QAEXPAUIEnumPins@@@Z ; CDShowGenericEnum<IEnumPins,IPin>::init

; 62   : }

  000b5	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  000b9	8d 4d ec	 lea	 ecx, DWORD PTR _pEnum$[ebp]
  000bc	e8 00 00 00 00	 call	 ??1?$CComPtr@UIEnumPins@@@ATL@@QAE@XZ ; ATL::CComPtr<IEnumPins>::~CComPtr<IEnumPins>
  000c1	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  000c8	8d 4d 08	 lea	 ecx, DWORD PTR _filter$[ebp]
  000cb	e8 00 00 00 00	 call	 ??1?$CComPtr@UIBaseFilter@@@ATL@@QAE@XZ ; ATL::CComPtr<IBaseFilter>::~CComPtr<IBaseFilter>
  000d0	8b 45 bc	 mov	 eax, DWORD PTR _this$[ebp]
$LN3@CDShowPinE:
  000d3	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  000d6	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000dd	59		 pop	 ecx
  000de	8b e5		 mov	 esp, ebp
  000e0	5d		 pop	 ebp
  000e1	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0CDShowPinEnum@@QAE@V?$CComPtr@UIBaseFilter@@@ATL@@@Z$0:
  00000	8d 4d 08	 lea	 ecx, DWORD PTR _filter$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$CComPtr@UIBaseFilter@@@ATL@@QAE@XZ ; ATL::CComPtr<IBaseFilter>::~CComPtr<IBaseFilter>
__unwindfunclet$??0CDShowPinEnum@@QAE@V?$CComPtr@UIBaseFilter@@@ATL@@@Z$1:
  00008	8b 4d bc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000b	e9 00 00 00 00	 jmp	 ??1?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@UAE@XZ ; CDShowGenericEnum<IEnumPins,IPin>::~CDShowGenericEnum<IEnumPins,IPin>
__unwindfunclet$??0CDShowPinEnum@@QAE@V?$CComPtr@UIBaseFilter@@@ATL@@@Z$2:
  00010	8d 4d ec	 lea	 ecx, DWORD PTR _pEnum$[ebp]
  00013	e9 00 00 00 00	 jmp	 ??1?$CComPtr@UIEnumPins@@@ATL@@QAE@XZ ; ATL::CComPtr<IEnumPins>::~CComPtr<IEnumPins>
__ehhandler$??0CDShowPinEnum@@QAE@V?$CComPtr@UIBaseFilter@@@ATL@@@Z:
  00018	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0001c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0001f	8b 4a c0	 mov	 ecx, DWORD PTR [edx-64]
  00022	33 c8		 xor	 ecx, eax
  00024	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00029	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0CDShowPinEnum@@QAE@V?$CComPtr@UIBaseFilter@@@ATL@@@Z
  0002e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0CDShowPinEnum@@QAE@V?$CComPtr@UIBaseFilter@@@ATL@@@Z ENDP ; CDShowPinEnum::CDShowPinEnum
PUBLIC	??0CDShowPinEnum@@QAE@V?$CComPtr@UIBaseFilter@@@ATL@@W4_PinDirection@@@Z ; CDShowPinEnum::CDShowPinEnum
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0CDShowPinEnum@@QAE@V?$CComPtr@UIBaseFilter@@@ATL@@W4_PinDirection@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0CDShowPinEnum@@QAE@V?$CComPtr@UIBaseFilter@@@ATL@@W4_PinDirection@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0CDShowPinEnum@@QAE@V?$CComPtr@UIBaseFilter@@@ATL@@W4_PinDirection@@@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$??0CDShowPinEnum@@QAE@V?$CComPtr@UIBaseFilter@@@ATL@@W4_PinDirection@@@Z$2
__ehfuncinfo$??0CDShowPinEnum@@QAE@V?$CComPtr@UIBaseFilter@@@ATL@@W4_PinDirection@@@Z DD 019930522H
	DD	03H
	DD	FLAT:__unwindtable$??0CDShowPinEnum@@QAE@V?$CComPtr@UIBaseFilter@@@ATL@@W4_PinDirection@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0CDShowPinEnum@@QAE@V?$CComPtr@UIBaseFilter@@@ATL@@W4_PinDirection@@@Z
_TEXT	SEGMENT
tv92 = -72						; size = 4
_this$ = -68						; size = 4
$T341182 = -64						; size = 44
_pEnum$ = -20						; size = 4
_hr$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
_filter$ = 8						; size = 4
_pinDir$ = 12						; size = 4
??0CDShowPinEnum@@QAE@V?$CComPtr@UIBaseFilter@@@ATL@@W4_PinDirection@@@Z PROC ; CDShowPinEnum::CDShowPinEnum, COMDAT
; _this$ = ecx

; 36   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0CDShowPinEnum@@QAE@V?$CComPtr@UIBaseFilter@@@ATL@@W4_PinDirection@@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 3c	 sub	 esp, 60			; 0000003cH
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	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 bc	 mov	 DWORD PTR _this$[ebp], ecx
  00028	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  0002f	8b 4d bc	 mov	 ecx, DWORD PTR _this$[ebp]
  00032	e8 00 00 00 00	 call	 ??0?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@QAE@XZ ; CDShowGenericEnum<IEnumPins,IPin>::CDShowGenericEnum<IEnumPins,IPin>
  00037	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  0003b	8b 45 bc	 mov	 eax, DWORD PTR _this$[ebp]
  0003e	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], OFFSET ??_7CDShowPinEnum@@6B@
  00044	8b 4d bc	 mov	 ecx, DWORD PTR _this$[ebp]
  00047	c7 41 0c 00 00
	00 00		 mov	 DWORD PTR [ecx+12], 0

; 37   :     _ASSERTE(filter!=NULL);
; 38   :     _ASSERTE(pinDir==PINDIR_INPUT || pinDir==PINDIR_OUTPUT);
; 39   : 
; 40   :     CComPtr<IEnumPins> pEnum;

  0004e	8d 4d ec	 lea	 ecx, DWORD PTR _pEnum$[ebp]
  00051	e8 00 00 00 00	 call	 ??0?$CComPtr@UIEnumPins@@@ATL@@QAE@XZ ; ATL::CComPtr<IEnumPins>::CComPtr<IEnumPins>
  00056	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2

; 41   :     HRESULT hr=filter->EnumPins(&pEnum);

  0005a	8d 4d 08	 lea	 ecx, DWORD PTR _filter$[ebp]
  0005d	e8 00 00 00 00	 call	 ??C?$CComPtr@UIBaseFilter@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIBaseFilter@@@1@XZ ; ATL::CComPtr<IBaseFilter>::operator->
  00062	89 45 b8	 mov	 DWORD PTR tv92[ebp], eax
  00065	8d 4d ec	 lea	 ecx, DWORD PTR _pEnum$[ebp]
  00068	e8 00 00 00 00	 call	 ??I?$CComPtr@UIEnumPins@@@ATL@@QAEPAPAUIEnumPins@@XZ ; ATL::CComPtr<IEnumPins>::operator&
  0006d	50		 push	 eax
  0006e	8b 55 b8	 mov	 edx, DWORD PTR tv92[ebp]
  00071	52		 push	 edx
  00072	8b 45 b8	 mov	 eax, DWORD PTR tv92[ebp]
  00075	8b 08		 mov	 ecx, DWORD PTR [eax]
  00077	8b 51 28	 mov	 edx, DWORD PTR [ecx+40]
  0007a	ff d2		 call	 edx
  0007c	89 45 f0	 mov	 DWORD PTR _hr$[ebp], eax

; 42   :     if(FAILED(hr))

  0007f	83 7d f0 00	 cmp	 DWORD PTR _hr$[ebp], 0
  00083	7d 1f		 jge	 SHORT $LN1@CDShowPinE@2

; 43   :         throw CDShowPinEnumException("Failed to create pin enumerator",hr);

  00085	8b 45 f0	 mov	 eax, DWORD PTR _hr$[ebp]
  00088	50		 push	 eax
  00089	68 00 00 00 00	 push	 OFFSET ??_C@_0CA@EOPGDJJK@Failed?5to?5create?5pin?5enumerator?$AA@
  0008e	8d 4d c0	 lea	 ecx, DWORD PTR $T341182[ebp]
  00091	e8 00 00 00 00	 call	 ??0CDShowPinEnumException@@QAE@PBDJ@Z ; CDShowPinEnumException::CDShowPinEnumException
  00096	68 00 00 00 00	 push	 OFFSET __TI4?AVCDShowPinEnumException@@
  0009b	8d 4d c0	 lea	 ecx, DWORD PTR $T341182[ebp]
  0009e	51		 push	 ecx
  0009f	e8 00 00 00 00	 call	 __CxxThrowException@8
$LN1@CDShowPinE@2:

; 44   : 
; 45   :     _ASSERTE(pEnum!=NULL);
; 46   :     init(pEnum);

  000a4	8d 4d ec	 lea	 ecx, DWORD PTR _pEnum$[ebp]
  000a7	e8 00 00 00 00	 call	 ??B?$CComPtr@UIEnumPins@@@ATL@@QBEPAUIEnumPins@@XZ ; ATL::CComPtr<IEnumPins>::operator IEnumPins *
  000ac	50		 push	 eax
  000ad	8b 4d bc	 mov	 ecx, DWORD PTR _this$[ebp]
  000b0	e8 00 00 00 00	 call	 ?init@?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@QAEXPAUIEnumPins@@@Z ; CDShowGenericEnum<IEnumPins,IPin>::init

; 47   : 
; 48   :     m_pinDir=pinDir;

  000b5	8b 55 bc	 mov	 edx, DWORD PTR _this$[ebp]
  000b8	8b 45 0c	 mov	 eax, DWORD PTR _pinDir$[ebp]
  000bb	89 42 08	 mov	 DWORD PTR [edx+8], eax

; 49   : }

  000be	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  000c2	8d 4d ec	 lea	 ecx, DWORD PTR _pEnum$[ebp]
  000c5	e8 00 00 00 00	 call	 ??1?$CComPtr@UIEnumPins@@@ATL@@QAE@XZ ; ATL::CComPtr<IEnumPins>::~CComPtr<IEnumPins>
  000ca	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  000d1	8d 4d 08	 lea	 ecx, DWORD PTR _filter$[ebp]
  000d4	e8 00 00 00 00	 call	 ??1?$CComPtr@UIBaseFilter@@@ATL@@QAE@XZ ; ATL::CComPtr<IBaseFilter>::~CComPtr<IBaseFilter>
  000d9	8b 45 bc	 mov	 eax, DWORD PTR _this$[ebp]
$LN3@CDShowPinE@2:
  000dc	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  000df	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000e6	59		 pop	 ecx
  000e7	8b e5		 mov	 esp, ebp
  000e9	5d		 pop	 ebp
  000ea	c2 08 00	 ret	 8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0CDShowPinEnum@@QAE@V?$CComPtr@UIBaseFilter@@@ATL@@W4_PinDirection@@@Z$0:
  00000	8d 4d 08	 lea	 ecx, DWORD PTR _filter$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$CComPtr@UIBaseFilter@@@ATL@@QAE@XZ ; ATL::CComPtr<IBaseFilter>::~CComPtr<IBaseFilter>
__unwindfunclet$??0CDShowPinEnum@@QAE@V?$CComPtr@UIBaseFilter@@@ATL@@W4_PinDirection@@@Z$1:
  00008	8b 4d bc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000b	e9 00 00 00 00	 jmp	 ??1?$CDShowGenericEnum@UIEnumPins@@UIPin@@@@UAE@XZ ; CDShowGenericEnum<IEnumPins,IPin>::~CDShowGenericEnum<IEnumPins,IPin>
__unwindfunclet$??0CDShowPinEnum@@QAE@V?$CComPtr@UIBaseFilter@@@ATL@@W4_PinDirection@@@Z$2:
  00010	8d 4d ec	 lea	 ecx, DWORD PTR _pEnum$[ebp]
  00013	e9 00 00 00 00	 jmp	 ??1?$CComPtr@UIEnumPins@@@ATL@@QAE@XZ ; ATL::CComPtr<IEnumPins>::~CComPtr<IEnumPins>
__ehhandler$??0CDShowPinEnum@@QAE@V?$CComPtr@UIBaseFilter@@@ATL@@W4_PinDirection@@@Z:
  00018	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0001c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0001f	8b 4a c0	 mov	 ecx, DWORD PTR [edx-64]
  00022	33 c8		 xor	 ecx, eax
  00024	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00029	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0CDShowPinEnum@@QAE@V?$CComPtr@UIBaseFilter@@@ATL@@W4_PinDirection@@@Z
  0002e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0CDShowPinEnum@@QAE@V?$CComPtr@UIBaseFilter@@@ATL@@W4_PinDirection@@@Z ENDP ; CDShowPinEnum::CDShowPinEnum
END
