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

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

INCLUDELIB OLDNAMES

PUBLIC	??_R4CDShowTVAudio@@6B@				; CDShowTVAudio::`RTTI Complete Object Locator'
PUBLIC	??_R3CDShowTVAudio@@8				; CDShowTVAudio::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2CDShowTVAudio@@8				; CDShowTVAudio::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@CDShowTVAudio@@8			; CDShowTVAudio::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVCDShowTVAudio@@@8			; CDShowTVAudio `RTTI Type Descriptor'
PUBLIC	??_GCDShowTVAudio@@UAEPAXI@Z			; CDShowTVAudio::`scalar deleting destructor'
PUBLIC	??C?$CComPtr@UIAMTVAudio@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIAMTVAudio@@@1@XZ ; ATL::CComPtr<IAMTVAudio>::operator->
PUBLIC	??_C@_0CI@OPALLJHC@CDShowTVAudio?3?3GetAvailableModes@ ; `string'
PUBLIC	??_C@_0BO@CNFHDMEL@CDShowTVAudio?3?3SetMode?5failed?$AA@ ; `string'
PUBLIC	??_C@_0BO@ODEJMGGH@CDShowTVAudio?3?3GetMode?5failed?$AA@ ; `string'
PUBLIC	??_7CDShowTVAudio@@6B@				; CDShowTVAudio::`vftable'
EXTRN	??_ECDShowTVAudio@@UAEPAXI@Z:PROC		; CDShowTVAudio::`vector deleting destructor'
;	COMDAT ??_7CDShowTVAudio@@6B@
CONST	SEGMENT
??_7CDShowTVAudio@@6B@ DD FLAT:??_R4CDShowTVAudio@@6B@	; CDShowTVAudio::`vftable'
	DD	FLAT:??_ECDShowTVAudio@@UAEPAXI@Z
CONST	ENDS
;	COMDAT ??_R4CDShowTVAudio@@6B@
rdata$r	SEGMENT
??_R4CDShowTVAudio@@6B@ DD 00H				; CDShowTVAudio::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVCDShowTVAudio@@@8
	DD	FLAT:??_R3CDShowTVAudio@@8
rdata$r	ENDS
;	COMDAT ??_R3CDShowTVAudio@@8
rdata$r	SEGMENT
??_R3CDShowTVAudio@@8 DD 00H				; CDShowTVAudio::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2CDShowTVAudio@@8
rdata$r	ENDS
;	COMDAT ??_R2CDShowTVAudio@@8
rdata$r	SEGMENT
??_R2CDShowTVAudio@@8 DD FLAT:??_R1A@?0A@EA@CDShowTVAudio@@8 ; CDShowTVAudio::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@CDShowTVAudio@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@CDShowTVAudio@@8 DD FLAT:??_R0?AVCDShowTVAudio@@@8 ; CDShowTVAudio::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3CDShowTVAudio@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVCDShowTVAudio@@@8
_DATA	SEGMENT
??_R0?AVCDShowTVAudio@@@8 DD FLAT:??_7type_info@@6B@	; CDShowTVAudio `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVCDShowTVAudio@@', 00H
_DATA	ENDS
;	COMDAT ??_C@_0BO@ODEJMGGH@CDShowTVAudio?3?3GetMode?5failed?$AA@
CONST	SEGMENT
??_C@_0BO@ODEJMGGH@CDShowTVAudio?3?3GetMode?5failed?$AA@ DB 'CDShowTVAudi'
	DB	'o::GetMode failed', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BO@CNFHDMEL@CDShowTVAudio?3?3SetMode?5failed?$AA@
CONST	SEGMENT
??_C@_0BO@CNFHDMEL@CDShowTVAudio?3?3SetMode?5failed?$AA@ DB 'CDShowTVAudi'
	DB	'o::SetMode failed', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0CI@OPALLJHC@CDShowTVAudio?3?3GetAvailableModes@
CONST	SEGMENT
??_C@_0CI@OPALLJHC@CDShowTVAudio?3?3GetAvailableModes@ DB 'CDShowTVAudio:'
	DB	':GetAvailableModes failed', 00H		; `string'
; Function compile flags: /Odtp
; File c:\tools\winddk\3790.1830\inc\atl30\atlbase.h
;	COMDAT ??C?$CComPtr@UIAMTVAudio@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIAMTVAudio@@@1@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??C?$CComPtr@UIAMTVAudio@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIAMTVAudio@@@1@XZ PROC ; ATL::CComPtr<IAMTVAudio>::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@UIAMTVAudio@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIAMTVAudio@@@1@XZ ENDP ; ATL::CComPtr<IAMTVAudio>::operator->
PUBLIC	??1CDShowTVAudio@@UAE@XZ			; CDShowTVAudio::~CDShowTVAudio
;	COMDAT xdata$x
; File c:\develop\dscaler423a\dscaler\dshowsource\dshowtvaudio.cpp
xdata$x	SEGMENT
__unwindtable$??1CDShowTVAudio@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1CDShowTVAudio@@UAE@XZ$0
__ehfuncinfo$??1CDShowTVAudio@@UAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1CDShowTVAudio@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??1CDShowTVAudio@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1CDShowTVAudio@@UAE@XZ PROC				; CDShowTVAudio::~CDShowTVAudio, COMDAT
; _this$ = ecx

; 41   : {

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

; 42   : 
; 43   : }

  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@UIAMTVAudio@@@ATL@@QAE@XZ ; ATL::CComPtr<IAMTVAudio>::~CComPtr<IAMTVAudio>
  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$??1CDShowTVAudio@@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@UIAMTVAudio@@@ATL@@QAE@XZ ; ATL::CComPtr<IAMTVAudio>::~CComPtr<IAMTVAudio>
__ehhandler$??1CDShowTVAudio@@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$??1CDShowTVAudio@@UAE@XZ
  00021	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1CDShowTVAudio@@UAE@XZ ENDP				; CDShowTVAudio::~CDShowTVAudio
; Function compile flags: /Odtp
;	COMDAT ??_GCDShowTVAudio@@UAEPAXI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___flags$ = 8						; size = 4
??_GCDShowTVAudio@@UAEPAXI@Z PROC			; CDShowTVAudio::`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	 ??1CDShowTVAudio@@UAE@XZ ; CDShowTVAudio::~CDShowTVAudio
  0000f	8b 45 08	 mov	 eax, DWORD PTR ___flags$[ebp]
  00012	83 e0 01	 and	 eax, 1
  00015	74 0c		 je	 SHORT $LN1@scalar@54
  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@54:
  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
??_GCDShowTVAudio@@UAEPAXI@Z ENDP			; CDShowTVAudio::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??0CDShowTVAudio@@QAE@V?$CComPtr@UIAMTVAudio@@@ATL@@@Z ; CDShowTVAudio::CDShowTVAudio
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0CDShowTVAudio@@QAE@V?$CComPtr@UIAMTVAudio@@@ATL@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0CDShowTVAudio@@QAE@V?$CComPtr@UIAMTVAudio@@@ATL@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0CDShowTVAudio@@QAE@V?$CComPtr@UIAMTVAudio@@@ATL@@@Z$1
__ehfuncinfo$??0CDShowTVAudio@@QAE@V?$CComPtr@UIAMTVAudio@@@ATL@@@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??0CDShowTVAudio@@QAE@V?$CComPtr@UIAMTVAudio@@@ATL@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0CDShowTVAudio@@QAE@V?$CComPtr@UIAMTVAudio@@@ATL@@@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
_pTVAudio$ = 8						; size = 4
??0CDShowTVAudio@@QAE@V?$CComPtr@UIAMTVAudio@@@ATL@@@Z PROC ; CDShowTVAudio::CDShowTVAudio, 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$??0CDShowTVAudio@@QAE@V?$CComPtr@UIAMTVAudio@@@ATL@@@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	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  0002d	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  00030	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], OFFSET ??_7CDShowTVAudio@@6B@
  00036	8d 4d 08	 lea	 ecx, DWORD PTR _pTVAudio$[ebp]
  00039	51		 push	 ecx
  0003a	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0003d	83 c1 04	 add	 ecx, 4
  00040	e8 00 00 00 00	 call	 ??0?$CComPtr@UIAMTVAudio@@@ATL@@QAE@ABV01@@Z ; ATL::CComPtr<IAMTVAudio>::CComPtr<IAMTVAudio>
  00045	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1

; 37   : 
; 38   : }

  00049	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00050	8d 4d 08	 lea	 ecx, DWORD PTR _pTVAudio$[ebp]
  00053	e8 00 00 00 00	 call	 ??1?$CComPtr@UIAMTVAudio@@@ATL@@QAE@XZ ; ATL::CComPtr<IAMTVAudio>::~CComPtr<IAMTVAudio>
  00058	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  0005b	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0005e	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00065	59		 pop	 ecx
  00066	8b e5		 mov	 esp, ebp
  00068	5d		 pop	 ebp
  00069	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0CDShowTVAudio@@QAE@V?$CComPtr@UIAMTVAudio@@@ATL@@@Z$0:
  00000	8d 4d 08	 lea	 ecx, DWORD PTR _pTVAudio$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$CComPtr@UIAMTVAudio@@@ATL@@QAE@XZ ; ATL::CComPtr<IAMTVAudio>::~CComPtr<IAMTVAudio>
__unwindfunclet$??0CDShowTVAudio@@QAE@V?$CComPtr@UIAMTVAudio@@@ATL@@@Z$1:
  00008	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0000b	83 c1 04	 add	 ecx, 4
  0000e	e9 00 00 00 00	 jmp	 ??1?$CComPtr@UIAMTVAudio@@@ATL@@QAE@XZ ; ATL::CComPtr<IAMTVAudio>::~CComPtr<IAMTVAudio>
__ehhandler$??0CDShowTVAudio@@QAE@V?$CComPtr@UIAMTVAudio@@@ATL@@@Z:
  00013	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00017	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0001a	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  0001d	33 c8		 xor	 ecx, eax
  0001f	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00024	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0CDShowTVAudio@@QAE@V?$CComPtr@UIAMTVAudio@@@ATL@@@Z
  00029	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0CDShowTVAudio@@QAE@V?$CComPtr@UIAMTVAudio@@@ATL@@@Z ENDP ; CDShowTVAudio::CDShowTVAudio
PUBLIC	?GetMode@CDShowTVAudio@@QAE?AW4tagTVAudioMode@@XZ ; CDShowTVAudio::GetMode
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?GetMode@CDShowTVAudio@@QAE?AW4tagTVAudioMode@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?GetMode@CDShowTVAudio@@QAE?AW4tagTVAudioMode@@XZ$0
__ehfuncinfo$?GetMode@CDShowTVAudio@@QAE?AW4tagTVAudioMode@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?GetMode@CDShowTVAudio@@QAE?AW4tagTVAudioMode@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?GetMode@CDShowTVAudio@@QAE?AW4tagTVAudioMode@@XZ
_TEXT	SEGMENT
tv72 = -100						; size = 4
_this$ = -96						; size = 4
$T333427 = -92						; size = 28
$T333426 = -64						; size = 44
_hr$ = -20						; size = 4
_mode$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
?GetMode@CDShowTVAudio@@QAE?AW4tagTVAudioMode@@XZ PROC	; CDShowTVAudio::GetMode, COMDAT
; _this$ = ecx

; 68   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?GetMode@CDShowTVAudio@@QAE?AW4tagTVAudioMode@@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 58	 sub	 esp, 88			; 00000058H
  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 a0	 mov	 DWORD PTR _this$[ebp], ecx

; 69   :     HRESULT hr;
; 70   :     TVAudioMode mode;
; 71   :     hr=m_pTVAudio->get_TVAudioMode((long*)&mode);

  00028	8b 4d a0	 mov	 ecx, DWORD PTR _this$[ebp]
  0002b	83 c1 04	 add	 ecx, 4
  0002e	e8 00 00 00 00	 call	 ??C?$CComPtr@UIAMTVAudio@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIAMTVAudio@@@1@XZ ; ATL::CComPtr<IAMTVAudio>::operator->
  00033	89 45 9c	 mov	 DWORD PTR tv72[ebp], eax
  00036	8d 45 f0	 lea	 eax, DWORD PTR _mode$[ebp]
  00039	50		 push	 eax
  0003a	8b 4d 9c	 mov	 ecx, DWORD PTR tv72[ebp]
  0003d	51		 push	 ecx
  0003e	8b 55 9c	 mov	 edx, DWORD PTR tv72[ebp]
  00041	8b 02		 mov	 eax, DWORD PTR [edx]
  00043	8b 48 14	 mov	 ecx, DWORD PTR [eax+20]
  00046	ff d1		 call	 ecx
  00048	89 45 ec	 mov	 DWORD PTR _hr$[ebp], eax

; 72   :     if(FAILED(hr))

  0004b	83 7d ec 00	 cmp	 DWORD PTR _hr$[ebp], 0
  0004f	7d 41		 jge	 SHORT $LN1@GetMode

; 73   :     {
; 74   :         throw CDShowException("CDShowTVAudio::GetMode failed",hr);

  00051	68 00 00 00 00	 push	 OFFSET ??_C@_0BO@ODEJMGGH@CDShowTVAudio?3?3GetMode?5failed?$AA@
  00056	8d 4d a4	 lea	 ecx, DWORD PTR $T333427[ebp]
  00059	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> >
  0005e	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00065	8b 55 ec	 mov	 edx, DWORD PTR _hr$[ebp]
  00068	52		 push	 edx
  00069	8d 45 a4	 lea	 eax, DWORD PTR $T333427[ebp]
  0006c	50		 push	 eax
  0006d	8d 4d c0	 lea	 ecx, DWORD PTR $T333426[ebp]
  00070	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
  00075	68 00 00 00 00	 push	 OFFSET __TI3?AVCDShowException@@
  0007a	8d 4d c0	 lea	 ecx, DWORD PTR $T333426[ebp]
  0007d	51		 push	 ecx
  0007e	e8 00 00 00 00	 call	 __CxxThrowException@8
  00083	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0008a	8d 4d a4	 lea	 ecx, DWORD PTR $T333427[ebp]
  0008d	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@GetMode:

; 75   :     }
; 76   :     return mode;

  00092	8b 45 f0	 mov	 eax, DWORD PTR _mode$[ebp]
$LN3@GetMode:

; 77   : }

  00095	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00098	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0009f	59		 pop	 ecx
  000a0	8b e5		 mov	 esp, ebp
  000a2	5d		 pop	 ebp
  000a3	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?GetMode@CDShowTVAudio@@QAE?AW4tagTVAudioMode@@XZ$0:
  00000	8d 4d a4	 lea	 ecx, DWORD PTR $T333427[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$?GetMode@CDShowTVAudio@@QAE?AW4tagTVAudioMode@@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 a4	 mov	 ecx, DWORD PTR [edx-92]
  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$?GetMode@CDShowTVAudio@@QAE?AW4tagTVAudioMode@@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?GetMode@CDShowTVAudio@@QAE?AW4tagTVAudioMode@@XZ ENDP	; CDShowTVAudio::GetMode
PUBLIC	?SetMode@CDShowTVAudio@@QAEXW4tagTVAudioMode@@@Z ; CDShowTVAudio::SetMode
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?SetMode@CDShowTVAudio@@QAEXW4tagTVAudioMode@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?SetMode@CDShowTVAudio@@QAEXW4tagTVAudioMode@@@Z$0
__ehfuncinfo$?SetMode@CDShowTVAudio@@QAEXW4tagTVAudioMode@@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?SetMode@CDShowTVAudio@@QAEXW4tagTVAudioMode@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?SetMode@CDShowTVAudio@@QAEXW4tagTVAudioMode@@@Z
_TEXT	SEGMENT
tv72 = -96						; size = 4
_this$ = -92						; size = 4
$T333438 = -88						; size = 28
$T333437 = -60						; size = 44
_hr$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
_mode$ = 8						; size = 4
?SetMode@CDShowTVAudio@@QAEXW4tagTVAudioMode@@@Z PROC	; CDShowTVAudio::SetMode, COMDAT
; _this$ = ecx

; 58   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?SetMode@CDShowTVAudio@@QAEXW4tagTVAudioMode@@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 54	 sub	 esp, 84			; 00000054H
  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 a4	 mov	 DWORD PTR _this$[ebp], ecx

; 59   :     HRESULT hr;
; 60   :     hr=m_pTVAudio->put_TVAudioMode(mode);

  00028	8b 4d a4	 mov	 ecx, DWORD PTR _this$[ebp]
  0002b	83 c1 04	 add	 ecx, 4
  0002e	e8 00 00 00 00	 call	 ??C?$CComPtr@UIAMTVAudio@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIAMTVAudio@@@1@XZ ; ATL::CComPtr<IAMTVAudio>::operator->
  00033	89 45 a0	 mov	 DWORD PTR tv72[ebp], eax
  00036	8b 45 08	 mov	 eax, DWORD PTR _mode$[ebp]
  00039	50		 push	 eax
  0003a	8b 4d a0	 mov	 ecx, DWORD PTR tv72[ebp]
  0003d	51		 push	 ecx
  0003e	8b 55 a0	 mov	 edx, DWORD PTR tv72[ebp]
  00041	8b 02		 mov	 eax, DWORD PTR [edx]
  00043	8b 48 18	 mov	 ecx, DWORD PTR [eax+24]
  00046	ff d1		 call	 ecx
  00048	89 45 f0	 mov	 DWORD PTR _hr$[ebp], eax

; 61   :     if(FAILED(hr))

  0004b	83 7d f0 00	 cmp	 DWORD PTR _hr$[ebp], 0
  0004f	7d 41		 jge	 SHORT $LN3@SetMode

; 62   :     {
; 63   :         throw CDShowException("CDShowTVAudio::SetMode failed",hr);

  00051	68 00 00 00 00	 push	 OFFSET ??_C@_0BO@CNFHDMEL@CDShowTVAudio?3?3SetMode?5failed?$AA@
  00056	8d 4d a8	 lea	 ecx, DWORD PTR $T333438[ebp]
  00059	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> >
  0005e	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00065	8b 55 f0	 mov	 edx, DWORD PTR _hr$[ebp]
  00068	52		 push	 edx
  00069	8d 45 a8	 lea	 eax, DWORD PTR $T333438[ebp]
  0006c	50		 push	 eax
  0006d	8d 4d c4	 lea	 ecx, DWORD PTR $T333437[ebp]
  00070	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
  00075	68 00 00 00 00	 push	 OFFSET __TI3?AVCDShowException@@
  0007a	8d 4d c4	 lea	 ecx, DWORD PTR $T333437[ebp]
  0007d	51		 push	 ecx
  0007e	e8 00 00 00 00	 call	 __CxxThrowException@8
  00083	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0008a	8d 4d a8	 lea	 ecx, DWORD PTR $T333438[ebp]
  0008d	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> >
$LN3@SetMode:

; 64   :     }
; 65   : }

  00092	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00095	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0009c	59		 pop	 ecx
  0009d	8b e5		 mov	 esp, ebp
  0009f	5d		 pop	 ebp
  000a0	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?SetMode@CDShowTVAudio@@QAEXW4tagTVAudioMode@@@Z$0:
  00000	8d 4d a8	 lea	 ecx, DWORD PTR $T333438[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$?SetMode@CDShowTVAudio@@QAEXW4tagTVAudioMode@@@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 a8	 mov	 ecx, DWORD PTR [edx-88]
  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$?SetMode@CDShowTVAudio@@QAEXW4tagTVAudioMode@@@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?SetMode@CDShowTVAudio@@QAEXW4tagTVAudioMode@@@Z ENDP	; CDShowTVAudio::SetMode
PUBLIC	?GetAvailableModes@CDShowTVAudio@@QAEJXZ	; CDShowTVAudio::GetAvailableModes
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?GetAvailableModes@CDShowTVAudio@@QAEJXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?GetAvailableModes@CDShowTVAudio@@QAEJXZ$0
__ehfuncinfo$?GetAvailableModes@CDShowTVAudio@@QAEJXZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?GetAvailableModes@CDShowTVAudio@@QAEJXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?GetAvailableModes@CDShowTVAudio@@QAEJXZ
_TEXT	SEGMENT
tv72 = -100						; size = 4
_this$ = -96						; size = 4
$T333449 = -92						; size = 28
$T333448 = -64						; size = 44
_hr$ = -20						; size = 4
_modes$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
?GetAvailableModes@CDShowTVAudio@@QAEJXZ PROC		; CDShowTVAudio::GetAvailableModes, COMDAT
; _this$ = ecx

; 46   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?GetAvailableModes@CDShowTVAudio@@QAEJXZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 58	 sub	 esp, 88			; 00000058H
  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 a0	 mov	 DWORD PTR _this$[ebp], ecx

; 47   :     HRESULT hr;
; 48   :     long modes;
; 49   :     hr=m_pTVAudio->GetAvailableTVAudioModes(&modes);

  00028	8b 4d a0	 mov	 ecx, DWORD PTR _this$[ebp]
  0002b	83 c1 04	 add	 ecx, 4
  0002e	e8 00 00 00 00	 call	 ??C?$CComPtr@UIAMTVAudio@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIAMTVAudio@@@1@XZ ; ATL::CComPtr<IAMTVAudio>::operator->
  00033	89 45 9c	 mov	 DWORD PTR tv72[ebp], eax
  00036	8d 45 f0	 lea	 eax, DWORD PTR _modes$[ebp]
  00039	50		 push	 eax
  0003a	8b 4d 9c	 mov	 ecx, DWORD PTR tv72[ebp]
  0003d	51		 push	 ecx
  0003e	8b 55 9c	 mov	 edx, DWORD PTR tv72[ebp]
  00041	8b 02		 mov	 eax, DWORD PTR [edx]
  00043	8b 48 10	 mov	 ecx, DWORD PTR [eax+16]
  00046	ff d1		 call	 ecx
  00048	89 45 ec	 mov	 DWORD PTR _hr$[ebp], eax

; 50   :     if(FAILED(hr))

  0004b	83 7d ec 00	 cmp	 DWORD PTR _hr$[ebp], 0
  0004f	7d 41		 jge	 SHORT $LN1@GetAvailab

; 51   :     {
; 52   :         throw CDShowException("CDShowTVAudio::GetAvailableModes failed",hr);

  00051	68 00 00 00 00	 push	 OFFSET ??_C@_0CI@OPALLJHC@CDShowTVAudio?3?3GetAvailableModes@
  00056	8d 4d a4	 lea	 ecx, DWORD PTR $T333449[ebp]
  00059	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> >
  0005e	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00065	8b 55 ec	 mov	 edx, DWORD PTR _hr$[ebp]
  00068	52		 push	 edx
  00069	8d 45 a4	 lea	 eax, DWORD PTR $T333449[ebp]
  0006c	50		 push	 eax
  0006d	8d 4d c0	 lea	 ecx, DWORD PTR $T333448[ebp]
  00070	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
  00075	68 00 00 00 00	 push	 OFFSET __TI3?AVCDShowException@@
  0007a	8d 4d c0	 lea	 ecx, DWORD PTR $T333448[ebp]
  0007d	51		 push	 ecx
  0007e	e8 00 00 00 00	 call	 __CxxThrowException@8
  00083	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0008a	8d 4d a4	 lea	 ecx, DWORD PTR $T333449[ebp]
  0008d	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@GetAvailab:

; 53   :     }
; 54   :     return modes;

  00092	8b 45 f0	 mov	 eax, DWORD PTR _modes$[ebp]
$LN3@GetAvailab:

; 55   : }

  00095	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00098	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0009f	59		 pop	 ecx
  000a0	8b e5		 mov	 esp, ebp
  000a2	5d		 pop	 ebp
  000a3	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?GetAvailableModes@CDShowTVAudio@@QAEJXZ$0:
  00000	8d 4d a4	 lea	 ecx, DWORD PTR $T333449[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$?GetAvailableModes@CDShowTVAudio@@QAEJXZ:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a a4	 mov	 ecx, DWORD PTR [edx-92]
  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$?GetAvailableModes@CDShowTVAudio@@QAEJXZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?GetAvailableModes@CDShowTVAudio@@QAEJXZ ENDP		; CDShowTVAudio::GetAvailableModes
END
