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

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

INCLUDELIB OLDNAMES

PUBLIC	?IsInputSelected@CDShowSingleCrossbar@@UAEHJ@Z	; CDShowSingleCrossbar::IsInputSelected
PUBLIC	?GetInputIndex@CDShowSingleCrossbar@@UAEJJ@Z	; CDShowSingleCrossbar::GetInputIndex
PUBLIC	?SetInputIndex@CDShowSingleCrossbar@@UAEXJH@Z	; CDShowSingleCrossbar::SetInputIndex
PUBLIC	?GetInputType@CDShowSingleCrossbar@@UAE?AW4tagPhysicalConnectorType@@J@Z ; CDShowSingleCrossbar::GetInputType
PUBLIC	?GetPinCounts@CDShowSingleCrossbar@@UAEXAAJ0@Z	; CDShowSingleCrossbar::GetPinCounts
PUBLIC	??_R4CDShowSingleCrossbar@@6B@			; CDShowSingleCrossbar::`RTTI Complete Object Locator'
PUBLIC	??_R3CDShowSingleCrossbar@@8			; CDShowSingleCrossbar::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2CDShowSingleCrossbar@@8			; CDShowSingleCrossbar::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@CDShowSingleCrossbar@@8		; CDShowSingleCrossbar::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVCDShowSingleCrossbar@@@8		; CDShowSingleCrossbar `RTTI Type Descriptor'
PUBLIC	??_R4CCrossbarException@@6B@			; CCrossbarException::`RTTI Complete Object Locator'
PUBLIC	??_R3CCrossbarException@@8			; CCrossbarException::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2CCrossbarException@@8			; CCrossbarException::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@CCrossbarException@@8		; CCrossbarException::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??0?$CComPtr@UIAMCrossbar@@@ATL@@QAE@ABV01@@Z	; ATL::CComPtr<IAMCrossbar>::CComPtr<IAMCrossbar>
PUBLIC	??_GCDShowSingleCrossbar@@UAEPAXI@Z		; CDShowSingleCrossbar::`scalar deleting destructor'
PUBLIC	??0CCrossbarException@@QAE@PBDJ@Z		; CCrossbarException::CCrossbarException
PUBLIC	??C?$CComPtr@UIAMCrossbar@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIAMCrossbar@@@1@XZ ; ATL::CComPtr<IAMCrossbar>::operator->
PUBLIC	??1CCrossbarException@@UAE@XZ			; CCrossbarException::~CCrossbarException
PUBLIC	??_GCCrossbarException@@UAEPAXI@Z		; CCrossbarException::`scalar deleting destructor'
PUBLIC	??0CCrossbarException@@QAE@ABV0@@Z		; CCrossbarException::CCrossbarException
PUBLIC	??_C@_0BF@KGFHIDHF@get_PinCounts?5failed?$AA@	; `string'
PUBLIC	??_R0?AVCCrossbarException@@@8			; CCrossbarException `RTTI Type Descriptor'
PUBLIC	__CT??_R0?AVCCrossbarException@@@8??0CCrossbarException@@QAE@ABV0@@Z44
PUBLIC	__CTA4?AVCCrossbarException@@
PUBLIC	__TI4?AVCCrossbarException@@
PUBLIC	??_C@_0BL@BDANPCI@get_CrossbarPinInfo?5failed?$AA@ ; `string'
PUBLIC	??_C@_0BK@KBHBILAA@get_CrossbarPinInfo?5faile?$AA@ ; `string'
PUBLIC	??_C@_0BA@KBAHKLI@failed?5to?5route?$AA@	; `string'
PUBLIC	??_C@_0BA@BKDIICFG@Cant?5find?5route?$AA@	; `string'
PUBLIC	??_C@_0BM@HCNHLJJM@failed?5to?5route?5related?5pin?$AA@ ; `string'
PUBLIC	??_C@_0CD@LJGGAIKB@IAMCrossbar?3?3get_IsRoutedTo?5fail@ ; `string'
PUBLIC	??_7CCrossbarException@@6B@			; CCrossbarException::`vftable'
PUBLIC	??_7CDShowSingleCrossbar@@6B@			; CDShowSingleCrossbar::`vftable'
EXTRN	??_ECDShowSingleCrossbar@@UAEPAXI@Z:PROC	; CDShowSingleCrossbar::`vector deleting destructor'
EXTRN	??_ECCrossbarException@@UAEPAXI@Z:PROC		; CCrossbarException::`vector deleting destructor'
;	COMDAT ??_7CDShowSingleCrossbar@@6B@
CONST	SEGMENT
??_7CDShowSingleCrossbar@@6B@ DD FLAT:??_R4CDShowSingleCrossbar@@6B@ ; CDShowSingleCrossbar::`vftable'
	DD	FLAT:??_ECDShowSingleCrossbar@@UAEPAXI@Z
	DD	FLAT:?getObjectType@CDShowBaseCrossbar@@UAE?AW4eDSObjectType@@XZ
	DD	FLAT:?GetPinCounts@CDShowSingleCrossbar@@UAEXAAJ0@Z
	DD	FLAT:?GetInputType@CDShowSingleCrossbar@@UAE?AW4tagPhysicalConnectorType@@J@Z
	DD	FLAT:?GetInputName@CDShowBaseCrossbar@@UAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@J@Z
	DD	FLAT:?SetInputIndex@CDShowSingleCrossbar@@UAEXJH@Z
	DD	FLAT:?GetInputIndex@CDShowSingleCrossbar@@UAEJJ@Z
	DD	FLAT:?IsInputSelected@CDShowSingleCrossbar@@UAEHJ@Z
CONST	ENDS
;	COMDAT ??_R4CDShowSingleCrossbar@@6B@
rdata$r	SEGMENT
??_R4CDShowSingleCrossbar@@6B@ DD 00H			; CDShowSingleCrossbar::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVCDShowSingleCrossbar@@@8
	DD	FLAT:??_R3CDShowSingleCrossbar@@8
rdata$r	ENDS
;	COMDAT ??_R3CDShowSingleCrossbar@@8
rdata$r	SEGMENT
??_R3CDShowSingleCrossbar@@8 DD 00H			; CDShowSingleCrossbar::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	03H
	DD	FLAT:??_R2CDShowSingleCrossbar@@8
rdata$r	ENDS
;	COMDAT ??_R2CDShowSingleCrossbar@@8
rdata$r	SEGMENT
??_R2CDShowSingleCrossbar@@8 DD FLAT:??_R1A@?0A@EA@CDShowSingleCrossbar@@8 ; CDShowSingleCrossbar::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@CDShowBaseCrossbar@@8
	DD	FLAT:??_R1A@?0A@EA@CDShowObject@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@CDShowSingleCrossbar@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@CDShowSingleCrossbar@@8 DD FLAT:??_R0?AVCDShowSingleCrossbar@@@8 ; CDShowSingleCrossbar::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	02H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3CDShowSingleCrossbar@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVCDShowSingleCrossbar@@@8
_DATA	SEGMENT
??_R0?AVCDShowSingleCrossbar@@@8 DD FLAT:??_7type_info@@6B@ ; CDShowSingleCrossbar `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVCDShowSingleCrossbar@@', 00H
_DATA	ENDS
;	COMDAT ??_7CCrossbarException@@6B@
CONST	SEGMENT
??_7CCrossbarException@@6B@ DD FLAT:??_R4CCrossbarException@@6B@ ; CCrossbarException::`vftable'
	DD	FLAT:??_ECCrossbarException@@UAEPAXI@Z
	DD	FLAT:?what@runtime_error@std@@UBEPBDXZ
CONST	ENDS
;	COMDAT ??_R4CCrossbarException@@6B@
rdata$r	SEGMENT
??_R4CCrossbarException@@6B@ DD 00H			; CCrossbarException::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVCCrossbarException@@@8
	DD	FLAT:??_R3CCrossbarException@@8
rdata$r	ENDS
;	COMDAT ??_R3CCrossbarException@@8
rdata$r	SEGMENT
??_R3CCrossbarException@@8 DD 00H			; CCrossbarException::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	04H
	DD	FLAT:??_R2CCrossbarException@@8
rdata$r	ENDS
;	COMDAT ??_R2CCrossbarException@@8
rdata$r	SEGMENT
??_R2CCrossbarException@@8 DD FLAT:??_R1A@?0A@EA@CCrossbarException@@8 ; CCrossbarException::`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@CCrossbarException@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@CCrossbarException@@8 DD FLAT:??_R0?AVCCrossbarException@@@8 ; CCrossbarException::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3CCrossbarException@@8
rdata$r	ENDS
;	COMDAT ??_C@_0CD@LJGGAIKB@IAMCrossbar?3?3get_IsRoutedTo?5fail@
CONST	SEGMENT
??_C@_0CD@LJGGAIKB@IAMCrossbar?3?3get_IsRoutedTo?5fail@ DB 'IAMCrossbar::'
	DB	'get_IsRoutedTo failed', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BM@HCNHLJJM@failed?5to?5route?5related?5pin?$AA@
CONST	SEGMENT
??_C@_0BM@HCNHLJJM@failed?5to?5route?5related?5pin?$AA@ DB 'failed to rou'
	DB	'te related pin', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@BKDIICFG@Cant?5find?5route?$AA@
CONST	SEGMENT
??_C@_0BA@BKDIICFG@Cant?5find?5route?$AA@ DB 'Cant find route', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@KBAHKLI@failed?5to?5route?$AA@
CONST	SEGMENT
??_C@_0BA@KBAHKLI@failed?5to?5route?$AA@ DB 'failed to route', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BK@KBHBILAA@get_CrossbarPinInfo?5faile?$AA@
CONST	SEGMENT
??_C@_0BK@KBHBILAA@get_CrossbarPinInfo?5faile?$AA@ DB 'get_CrossbarPinInf'
	DB	'o faile', 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_0BL@BDANPCI@get_CrossbarPinInfo?5failed?$AA@
CONST	SEGMENT
??_C@_0BL@BDANPCI@get_CrossbarPinInfo?5failed?$AA@ DB 'get_CrossbarPinInf'
	DB	'o failed', 00H				; `string'
CONST	ENDS
;	COMDAT __TI4?AVCCrossbarException@@
xdata$x	SEGMENT
__TI4?AVCCrossbarException@@ DD 00H
	DD	FLAT:??1CCrossbarException@@UAE@XZ
	DD	00H
	DD	FLAT:__CTA4?AVCCrossbarException@@
xdata$x	ENDS
;	COMDAT __CTA4?AVCCrossbarException@@
xdata$x	SEGMENT
__CTA4?AVCCrossbarException@@ DD 04H
	DD	FLAT:__CT??_R0?AVCCrossbarException@@@8??0CCrossbarException@@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?AVCCrossbarException@@@8??0CCrossbarException@@QAE@ABV0@@Z44
xdata$x	SEGMENT
__CT??_R0?AVCCrossbarException@@@8??0CCrossbarException@@QAE@ABV0@@Z44 DD 00H
	DD	FLAT:??_R0?AVCCrossbarException@@@8
	DD	00H
	DD	0ffffffffH
	ORG $+4
	DD	02cH
	DD	FLAT:??0CCrossbarException@@QAE@ABV0@@Z
xdata$x	ENDS
;	COMDAT ??_R0?AVCCrossbarException@@@8
_DATA	SEGMENT
??_R0?AVCCrossbarException@@@8 DD FLAT:??_7type_info@@6B@ ; CCrossbarException `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVCCrossbarException@@', 00H
_DATA	ENDS
;	COMDAT ??_C@_0BF@KGFHIDHF@get_PinCounts?5failed?$AA@
CONST	SEGMENT
??_C@_0BF@KGFHIDHF@get_PinCounts?5failed?$AA@ DB 'get_PinCounts failed', 00H ; `string'
; Function compile flags: /Odtp
; File c:\tools\winddk\3790.1830\inc\atl30\atlbase.h
;	COMDAT ??C?$CComPtr@UIAMCrossbar@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIAMCrossbar@@@1@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??C?$CComPtr@UIAMCrossbar@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIAMCrossbar@@@1@XZ PROC ; ATL::CComPtr<IAMCrossbar>::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@UIAMCrossbar@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIAMCrossbar@@@1@XZ ENDP ; ATL::CComPtr<IAMCrossbar>::operator->
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$CComPtr@UIAMCrossbar@@@ATL@@QAE@ABV01@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_lp$ = 8						; size = 4
??0?$CComPtr@UIAMCrossbar@@@ATL@@QAE@ABV01@@Z PROC	; ATL::CComPtr<IAMCrossbar>::CComPtr<IAMCrossbar>, COMDAT
; _this$ = ecx

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

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

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

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

; 682  :                         p->AddRef();

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

; 683  :         }

  0002b	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0002e	8b e5		 mov	 esp, ebp
  00030	5d		 pop	 ebp
  00031	c2 04 00	 ret	 4
??0?$CComPtr@UIAMCrossbar@@@ATL@@QAE@ABV01@@Z ENDP	; ATL::CComPtr<IAMCrossbar>::CComPtr<IAMCrossbar>
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\dshowsource\singlecrossbar.cpp
_TEXT	ENDS
;	COMDAT ?IsInputSelected@CDShowSingleCrossbar@@UAEHJ@Z
_TEXT	SEGMENT
_this$ = -20						; size = 4
_inputIndex$139751 = -16				; size = 4
_i$139747 = -12						; size = 4
_cOutput$ = -8						; size = 4
_cInput$ = -4						; size = 4
_index$ = 8						; size = 4
?IsInputSelected@CDShowSingleCrossbar@@UAEHJ@Z PROC	; CDShowSingleCrossbar::IsInputSelected, COMDAT
; _this$ = ecx

; 138  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 14	 sub	 esp, 20			; 00000014H
  00006	89 4d ec	 mov	 DWORD PTR _this$[ebp], ecx

; 139  :     long cInput,cOutput;
; 140  :     GetPinCounts(cInput,cOutput);

  00009	8d 45 f8	 lea	 eax, DWORD PTR _cOutput$[ebp]
  0000c	50		 push	 eax
  0000d	8d 4d fc	 lea	 ecx, DWORD PTR _cInput$[ebp]
  00010	51		 push	 ecx
  00011	8b 55 ec	 mov	 edx, DWORD PTR _this$[ebp]
  00014	8b 02		 mov	 eax, DWORD PTR [edx]
  00016	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00019	8b 50 08	 mov	 edx, DWORD PTR [eax+8]
  0001c	ff d2		 call	 edx

; 141  : 
; 142  :     for(int i=0;i<cOutput;i++)

  0001e	c7 45 f4 00 00
	00 00		 mov	 DWORD PTR _i$139747[ebp], 0
  00025	eb 09		 jmp	 SHORT $LN4@IsInputSel
$LN3@IsInputSel:
  00027	8b 45 f4	 mov	 eax, DWORD PTR _i$139747[ebp]
  0002a	83 c0 01	 add	 eax, 1
  0002d	89 45 f4	 mov	 DWORD PTR _i$139747[ebp], eax
$LN4@IsInputSel:
  00030	8b 4d f4	 mov	 ecx, DWORD PTR _i$139747[ebp]
  00033	3b 4d f8	 cmp	 ecx, DWORD PTR _cOutput$[ebp]
  00036	7d 25		 jge	 SHORT $LN2@IsInputSel

; 143  :     {
; 144  :         long inputIndex=GetInputIndex(i);

  00038	8b 55 f4	 mov	 edx, DWORD PTR _i$139747[ebp]
  0003b	52		 push	 edx
  0003c	8b 45 ec	 mov	 eax, DWORD PTR _this$[ebp]
  0003f	8b 10		 mov	 edx, DWORD PTR [eax]
  00041	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00044	8b 42 18	 mov	 eax, DWORD PTR [edx+24]
  00047	ff d0		 call	 eax
  00049	89 45 f0	 mov	 DWORD PTR _inputIndex$139751[ebp], eax

; 145  :         if(index==inputIndex)

  0004c	8b 4d 08	 mov	 ecx, DWORD PTR _index$[ebp]
  0004f	3b 4d f0	 cmp	 ecx, DWORD PTR _inputIndex$139751[ebp]
  00052	75 07		 jne	 SHORT $LN1@IsInputSel

; 146  :         {
; 147  :             return TRUE;

  00054	b8 01 00 00 00	 mov	 eax, 1
  00059	eb 04		 jmp	 SHORT $LN5@IsInputSel
$LN1@IsInputSel:

; 148  :         }
; 149  :     }

  0005b	eb ca		 jmp	 SHORT $LN3@IsInputSel
$LN2@IsInputSel:

; 150  :     return FALSE;

  0005d	33 c0		 xor	 eax, eax
$LN5@IsInputSel:

; 151  : }

  0005f	8b e5		 mov	 esp, ebp
  00061	5d		 pop	 ebp
  00062	c2 04 00	 ret	 4
?IsInputSelected@CDShowSingleCrossbar@@UAEHJ@Z ENDP	; CDShowSingleCrossbar::IsInputSelected
PUBLIC	??1CDShowSingleCrossbar@@UAE@XZ			; CDShowSingleCrossbar::~CDShowSingleCrossbar
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1CDShowSingleCrossbar@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1CDShowSingleCrossbar@@UAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??1CDShowSingleCrossbar@@UAE@XZ$1
__ehfuncinfo$??1CDShowSingleCrossbar@@UAE@XZ DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??1CDShowSingleCrossbar@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??1CDShowSingleCrossbar@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1CDShowSingleCrossbar@@UAE@XZ PROC			; CDShowSingleCrossbar::~CDShowSingleCrossbar, 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$??1CDShowSingleCrossbar@@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 ??_7CDShowSingleCrossbar@@6B@
  0002f	c7 45 fc 01 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 1

; 42   : 
; 43   : }

  00036	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  0003a	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0003d	83 c1 08	 add	 ecx, 8
  00040	e8 00 00 00 00	 call	 ??1?$CComPtr@UIAMCrossbar@@@ATL@@QAE@XZ ; ATL::CComPtr<IAMCrossbar>::~CComPtr<IAMCrossbar>
  00045	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0004c	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0004f	e8 00 00 00 00	 call	 ??1CDShowBaseCrossbar@@UAE@XZ ; CDShowBaseCrossbar::~CDShowBaseCrossbar
  00054	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00057	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0005e	59		 pop	 ecx
  0005f	8b e5		 mov	 esp, ebp
  00061	5d		 pop	 ebp
  00062	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1CDShowSingleCrossbar@@UAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CDShowBaseCrossbar@@UAE@XZ ; CDShowBaseCrossbar::~CDShowBaseCrossbar
__unwindfunclet$??1CDShowSingleCrossbar@@UAE@XZ$1:
  00008	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0000b	83 c1 08	 add	 ecx, 8
  0000e	e9 00 00 00 00	 jmp	 ??1?$CComPtr@UIAMCrossbar@@@ATL@@QAE@XZ ; ATL::CComPtr<IAMCrossbar>::~CComPtr<IAMCrossbar>
__ehhandler$??1CDShowSingleCrossbar@@UAE@XZ:
  00013	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00017	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0001a	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  0001d	33 c8		 xor	 ecx, eax
  0001f	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00024	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??1CDShowSingleCrossbar@@UAE@XZ
  00029	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1CDShowSingleCrossbar@@UAE@XZ ENDP			; CDShowSingleCrossbar::~CDShowSingleCrossbar
; Function compile flags: /Odtp
;	COMDAT ??_GCDShowSingleCrossbar@@UAEPAXI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___flags$ = 8						; size = 4
??_GCDShowSingleCrossbar@@UAEPAXI@Z PROC		; CDShowSingleCrossbar::`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	 ??1CDShowSingleCrossbar@@UAE@XZ ; CDShowSingleCrossbar::~CDShowSingleCrossbar
  0000f	8b 45 08	 mov	 eax, DWORD PTR ___flags$[ebp]
  00012	83 e0 01	 and	 eax, 1
  00015	74 0c		 je	 SHORT $LN1@scalar@96
  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@96:
  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
??_GCDShowSingleCrossbar@@UAEPAXI@Z ENDP		; CDShowSingleCrossbar::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??0CDShowSingleCrossbar@@QAE@AAV?$CComPtr@UIAMCrossbar@@@ATL@@PAUIGraphBuilder@@@Z ; CDShowSingleCrossbar::CDShowSingleCrossbar
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0CDShowSingleCrossbar@@QAE@AAV?$CComPtr@UIAMCrossbar@@@ATL@@PAUIGraphBuilder@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0CDShowSingleCrossbar@@QAE@AAV?$CComPtr@UIAMCrossbar@@@ATL@@PAUIGraphBuilder@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0CDShowSingleCrossbar@@QAE@AAV?$CComPtr@UIAMCrossbar@@@ATL@@PAUIGraphBuilder@@@Z$1
__ehfuncinfo$??0CDShowSingleCrossbar@@QAE@AAV?$CComPtr@UIAMCrossbar@@@ATL@@PAUIGraphBuilder@@@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??0CDShowSingleCrossbar@@QAE@AAV?$CComPtr@UIAMCrossbar@@@ATL@@PAUIGraphBuilder@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0CDShowSingleCrossbar@@QAE@AAV?$CComPtr@UIAMCrossbar@@@ATL@@PAUIGraphBuilder@@@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
_pCrossbar$ = 8						; size = 4
_pGraph$ = 12						; size = 4
??0CDShowSingleCrossbar@@QAE@AAV?$CComPtr@UIAMCrossbar@@@ATL@@PAUIGraphBuilder@@@Z PROC ; CDShowSingleCrossbar::CDShowSingleCrossbar, 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$??0CDShowSingleCrossbar@@QAE@AAV?$CComPtr@UIAMCrossbar@@@ATL@@PAUIGraphBuilder@@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	51		 push	 ecx
  00012	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00017	33 c5		 xor	 eax, ebp
  00019	50		 push	 eax
  0001a	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001d	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00023	89 4d f0	 mov	 DWORD PTR _this$[ebp], ecx
  00026	8b 45 0c	 mov	 eax, DWORD PTR _pGraph$[ebp]
  00029	50		 push	 eax
  0002a	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0002d	e8 00 00 00 00	 call	 ??0CDShowBaseCrossbar@@QAE@PAUIGraphBuilder@@@Z ; CDShowBaseCrossbar::CDShowBaseCrossbar
  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 ??_7CDShowSingleCrossbar@@6B@
  00042	8b 55 08	 mov	 edx, DWORD PTR _pCrossbar$[ebp]
  00045	52		 push	 edx
  00046	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00049	83 c1 08	 add	 ecx, 8
  0004c	e8 00 00 00 00	 call	 ??0?$CComPtr@UIAMCrossbar@@@ATL@@QAE@ABV01@@Z ; ATL::CComPtr<IAMCrossbar>::CComPtr<IAMCrossbar>
  00051	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1

; 37   :     _ASSERTE(m_crossbar!=NULL);
; 38   : }

  00055	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0005c	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  0005f	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00062	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00069	59		 pop	 ecx
  0006a	8b e5		 mov	 esp, ebp
  0006c	5d		 pop	 ebp
  0006d	c2 08 00	 ret	 8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0CDShowSingleCrossbar@@QAE@AAV?$CComPtr@UIAMCrossbar@@@ATL@@PAUIGraphBuilder@@@Z$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CDShowBaseCrossbar@@UAE@XZ ; CDShowBaseCrossbar::~CDShowBaseCrossbar
__unwindfunclet$??0CDShowSingleCrossbar@@QAE@AAV?$CComPtr@UIAMCrossbar@@@ATL@@PAUIGraphBuilder@@@Z$1:
  00008	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0000b	83 c1 08	 add	 ecx, 8
  0000e	e9 00 00 00 00	 jmp	 ??1?$CComPtr@UIAMCrossbar@@@ATL@@QAE@XZ ; ATL::CComPtr<IAMCrossbar>::~CComPtr<IAMCrossbar>
__ehhandler$??0CDShowSingleCrossbar@@QAE@AAV?$CComPtr@UIAMCrossbar@@@ATL@@PAUIGraphBuilder@@@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$??0CDShowSingleCrossbar@@QAE@AAV?$CComPtr@UIAMCrossbar@@@ATL@@PAUIGraphBuilder@@@Z
  00029	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0CDShowSingleCrossbar@@QAE@AAV?$CComPtr@UIAMCrossbar@@@ATL@@PAUIGraphBuilder@@@Z ENDP ; CDShowSingleCrossbar::CDShowSingleCrossbar
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1CCrossbarException@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1CCrossbarException@@UAE@XZ$0
__ehfuncinfo$??1CCrossbarException@@UAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1CCrossbarException@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??1CCrossbarException@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1CCrossbarException@@UAE@XZ PROC			; CCrossbarException::~CCrossbarException, 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$??1CCrossbarException@@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$??1CCrossbarException@@UAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CDShowException@@UAE@XZ
__ehhandler$??1CCrossbarException@@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$??1CCrossbarException@@UAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1CCrossbarException@@UAE@XZ ENDP			; CCrossbarException::~CCrossbarException
; Function compile flags: /Odtp
;	COMDAT ??_GCCrossbarException@@UAEPAXI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___flags$ = 8						; size = 4
??_GCCrossbarException@@UAEPAXI@Z PROC			; CCrossbarException::`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	 ??1CCrossbarException@@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@163
  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@163:
  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
??_GCCrossbarException@@UAEPAXI@Z ENDP			; CCrossbarException::`scalar deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0CCrossbarException@@QAE@ABV0@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0CCrossbarException@@QAE@ABV0@@Z$0
__ehfuncinfo$??0CCrossbarException@@QAE@ABV0@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0CCrossbarException@@QAE@ABV0@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0CCrossbarException@@QAE@ABV0@@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
___that$ = 8						; size = 4
??0CCrossbarException@@QAE@ABV0@@Z PROC			; CCrossbarException::CCrossbarException, 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$??0CCrossbarException@@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 ??_7CCrossbarException@@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$??0CCrossbarException@@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$??0CCrossbarException@@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$??0CCrossbarException@@QAE@ABV0@@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0CCrossbarException@@QAE@ABV0@@Z ENDP			; CCrossbarException::CCrossbarException
;	COMDAT xdata$x
; File c:\develop\dscaler423a\dscaler\dshowsource\basecrossbar.h
xdata$x	SEGMENT
__unwindtable$??0CCrossbarException@@QAE@PBDJ@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0CCrossbarException@@QAE@PBDJ@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0CCrossbarException@@QAE@PBDJ@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$??0CCrossbarException@@QAE@PBDJ@Z$1
__ehfuncinfo$??0CCrossbarException@@QAE@PBDJ@Z DD 019930522H
	DD	03H
	DD	FLAT:__unwindtable$??0CCrossbarException@@QAE@PBDJ@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0CCrossbarException@@QAE@PBDJ@Z
_TEXT	SEGMENT
_this$ = -44						; size = 4
$T337076 = -40						; size = 28
__$EHRec$ = -12						; size = 12
_msg$ = 8						; size = 4
_hr$ = 12						; size = 4
??0CCrossbarException@@QAE@PBDJ@Z PROC			; CCrossbarException::CCrossbarException, COMDAT
; _this$ = ecx

; 41   :     CCrossbarException(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$??0CCrossbarException@@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 $T337076[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 $T337076[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 $T337076[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 ??_7CCrossbarException@@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$??0CCrossbarException@@QAE@PBDJ@Z$0:
  00000	8d 4d d8	 lea	 ecx, DWORD PTR $T337076[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$??0CCrossbarException@@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$??0CCrossbarException@@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$??0CCrossbarException@@QAE@PBDJ@Z
  00026	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0CCrossbarException@@QAE@PBDJ@Z ENDP			; CCrossbarException::CCrossbarException
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\dshowsource\singlecrossbar.cpp
;	COMDAT ?GetInputIndex@CDShowSingleCrossbar@@UAEJJ@Z
_TEXT	SEGMENT
tv72 = -60						; size = 4
_this$ = -56						; size = 4
$T340929 = -52						; size = 44
_hr$ = -8						; size = 4
_InputIndex$ = -4					; size = 4
_OutIndex$ = 8						; size = 4
?GetInputIndex@CDShowSingleCrossbar@@UAEJJ@Z PROC	; CDShowSingleCrossbar::GetInputIndex, COMDAT
; _this$ = ecx

; 127  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 3c	 sub	 esp, 60			; 0000003cH
  00006	89 4d c8	 mov	 DWORD PTR _this$[ebp], ecx

; 128  :     long InputIndex=0;

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

; 129  :     HRESULT hr=m_crossbar->get_IsRoutedTo(OutIndex,&InputIndex);

  00010	8b 4d c8	 mov	 ecx, DWORD PTR _this$[ebp]
  00013	83 c1 08	 add	 ecx, 8
  00016	e8 00 00 00 00	 call	 ??C?$CComPtr@UIAMCrossbar@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIAMCrossbar@@@1@XZ ; ATL::CComPtr<IAMCrossbar>::operator->
  0001b	89 45 c4	 mov	 DWORD PTR tv72[ebp], eax
  0001e	8d 45 fc	 lea	 eax, DWORD PTR _InputIndex$[ebp]
  00021	50		 push	 eax
  00022	8b 4d 08	 mov	 ecx, DWORD PTR _OutIndex$[ebp]
  00025	51		 push	 ecx
  00026	8b 55 c4	 mov	 edx, DWORD PTR tv72[ebp]
  00029	52		 push	 edx
  0002a	8b 45 c4	 mov	 eax, DWORD PTR tv72[ebp]
  0002d	8b 08		 mov	 ecx, DWORD PTR [eax]
  0002f	8b 51 18	 mov	 edx, DWORD PTR [ecx+24]
  00032	ff d2		 call	 edx
  00034	89 45 f8	 mov	 DWORD PTR _hr$[ebp], eax

; 130  :     if(FAILED(hr))

  00037	83 7d f8 00	 cmp	 DWORD PTR _hr$[ebp], 0
  0003b	7d 1f		 jge	 SHORT $LN1@GetInputIn

; 131  :     {
; 132  :         throw CCrossbarException("IAMCrossbar::get_IsRoutedTo failed",hr);

  0003d	8b 45 f8	 mov	 eax, DWORD PTR _hr$[ebp]
  00040	50		 push	 eax
  00041	68 00 00 00 00	 push	 OFFSET ??_C@_0CD@LJGGAIKB@IAMCrossbar?3?3get_IsRoutedTo?5fail@
  00046	8d 4d cc	 lea	 ecx, DWORD PTR $T340929[ebp]
  00049	e8 00 00 00 00	 call	 ??0CCrossbarException@@QAE@PBDJ@Z ; CCrossbarException::CCrossbarException
  0004e	68 00 00 00 00	 push	 OFFSET __TI4?AVCCrossbarException@@
  00053	8d 4d cc	 lea	 ecx, DWORD PTR $T340929[ebp]
  00056	51		 push	 ecx
  00057	e8 00 00 00 00	 call	 __CxxThrowException@8
$LN1@GetInputIn:

; 133  :     }
; 134  :     return InputIndex;

  0005c	8b 45 fc	 mov	 eax, DWORD PTR _InputIndex$[ebp]
$LN3@GetInputIn:

; 135  : }

  0005f	8b e5		 mov	 esp, ebp
  00061	5d		 pop	 ebp
  00062	c2 04 00	 ret	 4
?GetInputIndex@CDShowSingleCrossbar@@UAEJJ@Z ENDP	; CDShowSingleCrossbar::GetInputIndex
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?SetInputIndex@CDShowSingleCrossbar@@UAEXJH@Z
_TEXT	SEGMENT
tv222 = -284						; size = 4
tv207 = -280						; size = 4
tv184 = -276						; size = 4
tv164 = -272						; size = 4
tv149 = -268						; size = 4
tv93 = -264						; size = 4
tv72 = -260						; size = 4
_this$ = -256						; size = 4
$T340936 = -252						; size = 44
$T340935 = -208						; size = 44
$T340934 = -164						; size = 44
$T340933 = -120						; size = 44
$T340932 = -76						; size = 44
_i$139707 = -32						; size = 4
_cOutput$ = -28						; size = 4
_hr$ = -24						; size = 4
_cInputPinRelated$ = -20				; size = 4
_cInput$ = -16						; size = 4
_cOutputPinRelated$ = -12				; size = 4
_type$ = -8						; size = 4
_bInputRouted$ = -4					; size = 4
_Index$ = 8						; size = 4
_bSetRelated$ = 12					; size = 4
?SetInputIndex@CDShowSingleCrossbar@@UAEXJH@Z PROC	; CDShowSingleCrossbar::SetInputIndex, COMDAT
; _this$ = ecx

; 66   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	81 ec 1c 01 00
	00		 sub	 esp, 284		; 0000011cH
  00009	89 8d 00 ff ff
	ff		 mov	 DWORD PTR _this$[ebp], ecx

; 67   :     long cInputPinRelated,cOutputPinRelated,type;
; 68   :     long cInput,cOutput;
; 69   : 
; 70   :     HRESULT hr=m_crossbar->get_PinCounts(&cOutput,&cInput);

  0000f	8b 8d 00 ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00015	83 c1 08	 add	 ecx, 8
  00018	e8 00 00 00 00	 call	 ??C?$CComPtr@UIAMCrossbar@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIAMCrossbar@@@1@XZ ; ATL::CComPtr<IAMCrossbar>::operator->
  0001d	89 85 fc fe ff
	ff		 mov	 DWORD PTR tv72[ebp], eax
  00023	8d 45 f0	 lea	 eax, DWORD PTR _cInput$[ebp]
  00026	50		 push	 eax
  00027	8d 4d e4	 lea	 ecx, DWORD PTR _cOutput$[ebp]
  0002a	51		 push	 ecx
  0002b	8b 95 fc fe ff
	ff		 mov	 edx, DWORD PTR tv72[ebp]
  00031	52		 push	 edx
  00032	8b 85 fc fe ff
	ff		 mov	 eax, DWORD PTR tv72[ebp]
  00038	8b 08		 mov	 ecx, DWORD PTR [eax]
  0003a	8b 51 0c	 mov	 edx, DWORD PTR [ecx+12]
  0003d	ff d2		 call	 edx
  0003f	89 45 e8	 mov	 DWORD PTR _hr$[ebp], eax

; 71   :     if(FAILED(hr))

  00042	83 7d e8 00	 cmp	 DWORD PTR _hr$[ebp], 0
  00046	7d 1f		 jge	 SHORT $LN12@SetInputIn

; 72   :     {
; 73   :         throw CCrossbarException("get_PinCounts failed",hr);

  00048	8b 45 e8	 mov	 eax, DWORD PTR _hr$[ebp]
  0004b	50		 push	 eax
  0004c	68 00 00 00 00	 push	 OFFSET ??_C@_0BF@KGFHIDHF@get_PinCounts?5failed?$AA@
  00051	8d 4d b4	 lea	 ecx, DWORD PTR $T340932[ebp]
  00054	e8 00 00 00 00	 call	 ??0CCrossbarException@@QAE@PBDJ@Z ; CCrossbarException::CCrossbarException
  00059	68 00 00 00 00	 push	 OFFSET __TI4?AVCCrossbarException@@
  0005e	8d 4d b4	 lea	 ecx, DWORD PTR $T340932[ebp]
  00061	51		 push	 ecx
  00062	e8 00 00 00 00	 call	 __CxxThrowException@8
$LN12@SetInputIn:

; 74   :     }
; 75   : 
; 76   :     //set the related pin too?
; 77   :     if(bSetRelated==TRUE)

  00067	83 7d 0c 01	 cmp	 DWORD PTR _bSetRelated$[ebp], 1
  0006b	75 5e		 jne	 SHORT $LN11@SetInputIn

; 78   :     {
; 79   :         hr=m_crossbar->get_CrossbarPinInfo(TRUE,Index,&cInputPinRelated,&type);

  0006d	8b 8d 00 ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00073	83 c1 08	 add	 ecx, 8
  00076	e8 00 00 00 00	 call	 ??C?$CComPtr@UIAMCrossbar@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIAMCrossbar@@@1@XZ ; ATL::CComPtr<IAMCrossbar>::operator->
  0007b	89 85 f8 fe ff
	ff		 mov	 DWORD PTR tv93[ebp], eax
  00081	8d 55 f8	 lea	 edx, DWORD PTR _type$[ebp]
  00084	52		 push	 edx
  00085	8d 45 ec	 lea	 eax, DWORD PTR _cInputPinRelated$[ebp]
  00088	50		 push	 eax
  00089	8b 4d 08	 mov	 ecx, DWORD PTR _Index$[ebp]
  0008c	51		 push	 ecx
  0008d	6a 01		 push	 1
  0008f	8b 95 f8 fe ff
	ff		 mov	 edx, DWORD PTR tv93[ebp]
  00095	52		 push	 edx
  00096	8b 85 f8 fe ff
	ff		 mov	 eax, DWORD PTR tv93[ebp]
  0009c	8b 08		 mov	 ecx, DWORD PTR [eax]
  0009e	8b 51 1c	 mov	 edx, DWORD PTR [ecx+28]
  000a1	ff d2		 call	 edx
  000a3	89 45 e8	 mov	 DWORD PTR _hr$[ebp], eax

; 80   :         if(FAILED(hr))

  000a6	83 7d e8 00	 cmp	 DWORD PTR _hr$[ebp], 0
  000aa	7d 1f		 jge	 SHORT $LN11@SetInputIn

; 81   :         {
; 82   :             throw CCrossbarException("get_CrossbarPinInfo faile",hr);

  000ac	8b 45 e8	 mov	 eax, DWORD PTR _hr$[ebp]
  000af	50		 push	 eax
  000b0	68 00 00 00 00	 push	 OFFSET ??_C@_0BK@KBHBILAA@get_CrossbarPinInfo?5faile?$AA@
  000b5	8d 4d 88	 lea	 ecx, DWORD PTR $T340933[ebp]
  000b8	e8 00 00 00 00	 call	 ??0CCrossbarException@@QAE@PBDJ@Z ; CCrossbarException::CCrossbarException
  000bd	68 00 00 00 00	 push	 OFFSET __TI4?AVCCrossbarException@@
  000c2	8d 4d 88	 lea	 ecx, DWORD PTR $T340933[ebp]
  000c5	51		 push	 ecx
  000c6	e8 00 00 00 00	 call	 __CxxThrowException@8
$LN11@SetInputIn:

; 83   :         }
; 84   :     }
; 85   : 
; 86   :     //check all outputs to see if its posibel to connect with selected input
; 87   :     BOOL bInputRouted=FALSE;

  000cb	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _bInputRouted$[ebp], 0

; 88   :     for(int i=0;i<cOutput;i++)

  000d2	c7 45 e0 00 00
	00 00		 mov	 DWORD PTR _i$139707[ebp], 0
  000d9	eb 09		 jmp	 SHORT $LN9@SetInputIn
$LN8@SetInputIn:
  000db	8b 55 e0	 mov	 edx, DWORD PTR _i$139707[ebp]
  000de	83 c2 01	 add	 edx, 1
  000e1	89 55 e0	 mov	 DWORD PTR _i$139707[ebp], edx
$LN9@SetInputIn:
  000e4	8b 45 e0	 mov	 eax, DWORD PTR _i$139707[ebp]
  000e7	3b 45 e4	 cmp	 eax, DWORD PTR _cOutput$[ebp]
  000ea	0f 8d dd 00 00
	00		 jge	 $LN7@SetInputIn

; 89   :     {
; 90   :         //CanRoute returns S_FALSE if it cant route
; 91   :         if(m_crossbar->CanRoute(i,Index)==S_OK)

  000f0	8b 8d 00 ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  000f6	83 c1 08	 add	 ecx, 8
  000f9	e8 00 00 00 00	 call	 ??C?$CComPtr@UIAMCrossbar@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIAMCrossbar@@@1@XZ ; ATL::CComPtr<IAMCrossbar>::operator->
  000fe	89 85 f4 fe ff
	ff		 mov	 DWORD PTR tv149[ebp], eax
  00104	8b 4d 08	 mov	 ecx, DWORD PTR _Index$[ebp]
  00107	51		 push	 ecx
  00108	8b 55 e0	 mov	 edx, DWORD PTR _i$139707[ebp]
  0010b	52		 push	 edx
  0010c	8b 85 f4 fe ff
	ff		 mov	 eax, DWORD PTR tv149[ebp]
  00112	50		 push	 eax
  00113	8b 8d f4 fe ff
	ff		 mov	 ecx, DWORD PTR tv149[ebp]
  00119	8b 11		 mov	 edx, DWORD PTR [ecx]
  0011b	8b 42 10	 mov	 eax, DWORD PTR [edx+16]
  0011e	ff d0		 call	 eax
  00120	85 c0		 test	 eax, eax
  00122	0f 85 a0 00 00
	00		 jne	 $LN6@SetInputIn

; 92   :         {
; 93   :             hr=m_crossbar->Route(i,Index);

  00128	8b 8d 00 ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  0012e	83 c1 08	 add	 ecx, 8
  00131	e8 00 00 00 00	 call	 ??C?$CComPtr@UIAMCrossbar@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIAMCrossbar@@@1@XZ ; ATL::CComPtr<IAMCrossbar>::operator->
  00136	89 85 f0 fe ff
	ff		 mov	 DWORD PTR tv164[ebp], eax
  0013c	8b 4d 08	 mov	 ecx, DWORD PTR _Index$[ebp]
  0013f	51		 push	 ecx
  00140	8b 55 e0	 mov	 edx, DWORD PTR _i$139707[ebp]
  00143	52		 push	 edx
  00144	8b 85 f0 fe ff
	ff		 mov	 eax, DWORD PTR tv164[ebp]
  0014a	50		 push	 eax
  0014b	8b 8d f0 fe ff
	ff		 mov	 ecx, DWORD PTR tv164[ebp]
  00151	8b 11		 mov	 edx, DWORD PTR [ecx]
  00153	8b 42 14	 mov	 eax, DWORD PTR [edx+20]
  00156	ff d0		 call	 eax
  00158	89 45 e8	 mov	 DWORD PTR _hr$[ebp], eax

; 94   :             if(FAILED(hr))

  0015b	83 7d e8 00	 cmp	 DWORD PTR _hr$[ebp], 0
  0015f	7d 25		 jge	 SHORT $LN5@SetInputIn

; 95   :             {
; 96   :                 throw CCrossbarException("failed to route",hr);

  00161	8b 4d e8	 mov	 ecx, DWORD PTR _hr$[ebp]
  00164	51		 push	 ecx
  00165	68 00 00 00 00	 push	 OFFSET ??_C@_0BA@KBAHKLI@failed?5to?5route?$AA@
  0016a	8d 8d 5c ff ff
	ff		 lea	 ecx, DWORD PTR $T340934[ebp]
  00170	e8 00 00 00 00	 call	 ??0CCrossbarException@@QAE@PBDJ@Z ; CCrossbarException::CCrossbarException
  00175	68 00 00 00 00	 push	 OFFSET __TI4?AVCCrossbarException@@
  0017a	8d 95 5c ff ff
	ff		 lea	 edx, DWORD PTR $T340934[ebp]
  00180	52		 push	 edx
  00181	e8 00 00 00 00	 call	 __CxxThrowException@8
$LN5@SetInputIn:

; 97   :             }
; 98   : 
; 99   :             //output pin for related pin
; 100  :             hr=m_crossbar->get_CrossbarPinInfo(FALSE,i,&cOutputPinRelated,&type);

  00186	8b 8d 00 ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  0018c	83 c1 08	 add	 ecx, 8
  0018f	e8 00 00 00 00	 call	 ??C?$CComPtr@UIAMCrossbar@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIAMCrossbar@@@1@XZ ; ATL::CComPtr<IAMCrossbar>::operator->
  00194	89 85 ec fe ff
	ff		 mov	 DWORD PTR tv184[ebp], eax
  0019a	8d 45 f8	 lea	 eax, DWORD PTR _type$[ebp]
  0019d	50		 push	 eax
  0019e	8d 4d f4	 lea	 ecx, DWORD PTR _cOutputPinRelated$[ebp]
  001a1	51		 push	 ecx
  001a2	8b 55 e0	 mov	 edx, DWORD PTR _i$139707[ebp]
  001a5	52		 push	 edx
  001a6	6a 00		 push	 0
  001a8	8b 85 ec fe ff
	ff		 mov	 eax, DWORD PTR tv184[ebp]
  001ae	50		 push	 eax
  001af	8b 8d ec fe ff
	ff		 mov	 ecx, DWORD PTR tv184[ebp]
  001b5	8b 11		 mov	 edx, DWORD PTR [ecx]
  001b7	8b 42 1c	 mov	 eax, DWORD PTR [edx+28]
  001ba	ff d0		 call	 eax
  001bc	89 45 e8	 mov	 DWORD PTR _hr$[ebp], eax

; 101  : 
; 102  :             bInputRouted=TRUE;

  001bf	c7 45 fc 01 00
	00 00		 mov	 DWORD PTR _bInputRouted$[ebp], 1

; 103  :             break;

  001c6	eb 05		 jmp	 SHORT $LN7@SetInputIn
$LN6@SetInputIn:

; 104  :         }
; 105  :     }

  001c8	e9 0e ff ff ff	 jmp	 $LN8@SetInputIn
$LN7@SetInputIn:

; 106  : 
; 107  :     //successfull?
; 108  :     if(bInputRouted==FALSE)

  001cd	83 7d fc 00	 cmp	 DWORD PTR _bInputRouted$[ebp], 0
  001d1	75 23		 jne	 SHORT $LN4@SetInputIn

; 109  :     {
; 110  :         throw CCrossbarException("Cant find route");

  001d3	6a 00		 push	 0
  001d5	68 00 00 00 00	 push	 OFFSET ??_C@_0BA@BKDIICFG@Cant?5find?5route?$AA@
  001da	8d 8d 30 ff ff
	ff		 lea	 ecx, DWORD PTR $T340935[ebp]
  001e0	e8 00 00 00 00	 call	 ??0CCrossbarException@@QAE@PBDJ@Z ; CCrossbarException::CCrossbarException
  001e5	68 00 00 00 00	 push	 OFFSET __TI4?AVCCrossbarException@@
  001ea	8d 8d 30 ff ff
	ff		 lea	 ecx, DWORD PTR $T340935[ebp]
  001f0	51		 push	 ecx
  001f1	e8 00 00 00 00	 call	 __CxxThrowException@8
$LN4@SetInputIn:

; 111  :     }
; 112  : 
; 113  :     if(bSetRelated==TRUE)

  001f6	83 7d 0c 01	 cmp	 DWORD PTR _bSetRelated$[ebp], 1
  001fa	0f 85 8d 00 00
	00		 jne	 $LN14@SetInputIn

; 114  :     {
; 115  :         if(SUCCEEDED(m_crossbar->CanRoute(cOutputPinRelated,cInputPinRelated)))

  00200	8b 8d 00 ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00206	83 c1 08	 add	 ecx, 8
  00209	e8 00 00 00 00	 call	 ??C?$CComPtr@UIAMCrossbar@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIAMCrossbar@@@1@XZ ; ATL::CComPtr<IAMCrossbar>::operator->
  0020e	89 85 e8 fe ff
	ff		 mov	 DWORD PTR tv207[ebp], eax
  00214	8b 55 ec	 mov	 edx, DWORD PTR _cInputPinRelated$[ebp]
  00217	52		 push	 edx
  00218	8b 45 f4	 mov	 eax, DWORD PTR _cOutputPinRelated$[ebp]
  0021b	50		 push	 eax
  0021c	8b 8d e8 fe ff
	ff		 mov	 ecx, DWORD PTR tv207[ebp]
  00222	51		 push	 ecx
  00223	8b 95 e8 fe ff
	ff		 mov	 edx, DWORD PTR tv207[ebp]
  00229	8b 02		 mov	 eax, DWORD PTR [edx]
  0022b	8b 48 10	 mov	 ecx, DWORD PTR [eax+16]
  0022e	ff d1		 call	 ecx
  00230	85 c0		 test	 eax, eax
  00232	7c 59		 jl	 SHORT $LN14@SetInputIn

; 116  :         {
; 117  :             if(FAILED(m_crossbar->Route(cOutputPinRelated,cInputPinRelated)))

  00234	8b 8d 00 ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  0023a	83 c1 08	 add	 ecx, 8
  0023d	e8 00 00 00 00	 call	 ??C?$CComPtr@UIAMCrossbar@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIAMCrossbar@@@1@XZ ; ATL::CComPtr<IAMCrossbar>::operator->
  00242	89 85 e4 fe ff
	ff		 mov	 DWORD PTR tv222[ebp], eax
  00248	8b 55 ec	 mov	 edx, DWORD PTR _cInputPinRelated$[ebp]
  0024b	52		 push	 edx
  0024c	8b 45 f4	 mov	 eax, DWORD PTR _cOutputPinRelated$[ebp]
  0024f	50		 push	 eax
  00250	8b 8d e4 fe ff
	ff		 mov	 ecx, DWORD PTR tv222[ebp]
  00256	51		 push	 ecx
  00257	8b 95 e4 fe ff
	ff		 mov	 edx, DWORD PTR tv222[ebp]
  0025d	8b 02		 mov	 eax, DWORD PTR [edx]
  0025f	8b 48 14	 mov	 ecx, DWORD PTR [eax+20]
  00262	ff d1		 call	 ecx
  00264	85 c0		 test	 eax, eax
  00266	7d 25		 jge	 SHORT $LN14@SetInputIn

; 118  :             {
; 119  :                 throw CCrossbarException("failed to route related pin",hr);

  00268	8b 55 e8	 mov	 edx, DWORD PTR _hr$[ebp]
  0026b	52		 push	 edx
  0026c	68 00 00 00 00	 push	 OFFSET ??_C@_0BM@HCNHLJJM@failed?5to?5route?5related?5pin?$AA@
  00271	8d 8d 04 ff ff
	ff		 lea	 ecx, DWORD PTR $T340936[ebp]
  00277	e8 00 00 00 00	 call	 ??0CCrossbarException@@QAE@PBDJ@Z ; CCrossbarException::CCrossbarException
  0027c	68 00 00 00 00	 push	 OFFSET __TI4?AVCCrossbarException@@
  00281	8d 85 04 ff ff
	ff		 lea	 eax, DWORD PTR $T340936[ebp]
  00287	50		 push	 eax
  00288	e8 00 00 00 00	 call	 __CxxThrowException@8
$LN14@SetInputIn:

; 120  :             }
; 121  : 
; 122  :         }
; 123  :     }
; 124  : }

  0028d	8b e5		 mov	 esp, ebp
  0028f	5d		 pop	 ebp
  00290	c2 08 00	 ret	 8
?SetInputIndex@CDShowSingleCrossbar@@UAEXJH@Z ENDP	; CDShowSingleCrossbar::SetInputIndex
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?GetInputType@CDShowSingleCrossbar@@UAE?AW4tagPhysicalConnectorType@@J@Z
_TEXT	SEGMENT
tv72 = -64						; size = 4
_this$ = -60						; size = 4
$T340939 = -56						; size = 44
_cPinRelated$ = -12					; size = 4
_hr$ = -8						; size = 4
_type$ = -4						; size = 4
_Index$ = 8						; size = 4
?GetInputType@CDShowSingleCrossbar@@UAE?AW4tagPhysicalConnectorType@@J@Z PROC ; CDShowSingleCrossbar::GetInputType, COMDAT
; _this$ = ecx

; 55   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 40	 sub	 esp, 64			; 00000040H
  00006	89 4d c4	 mov	 DWORD PTR _this$[ebp], ecx

; 56   :     long cPinRelated,type;
; 57   :     HRESULT hr=m_crossbar->get_CrossbarPinInfo(TRUE,Index,&cPinRelated,&type);

  00009	8b 4d c4	 mov	 ecx, DWORD PTR _this$[ebp]
  0000c	83 c1 08	 add	 ecx, 8
  0000f	e8 00 00 00 00	 call	 ??C?$CComPtr@UIAMCrossbar@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIAMCrossbar@@@1@XZ ; ATL::CComPtr<IAMCrossbar>::operator->
  00014	89 45 c0	 mov	 DWORD PTR tv72[ebp], eax
  00017	8d 45 fc	 lea	 eax, DWORD PTR _type$[ebp]
  0001a	50		 push	 eax
  0001b	8d 4d f4	 lea	 ecx, DWORD PTR _cPinRelated$[ebp]
  0001e	51		 push	 ecx
  0001f	8b 55 08	 mov	 edx, DWORD PTR _Index$[ebp]
  00022	52		 push	 edx
  00023	6a 01		 push	 1
  00025	8b 45 c0	 mov	 eax, DWORD PTR tv72[ebp]
  00028	50		 push	 eax
  00029	8b 4d c0	 mov	 ecx, DWORD PTR tv72[ebp]
  0002c	8b 11		 mov	 edx, DWORD PTR [ecx]
  0002e	8b 42 1c	 mov	 eax, DWORD PTR [edx+28]
  00031	ff d0		 call	 eax
  00033	89 45 f8	 mov	 DWORD PTR _hr$[ebp], eax

; 58   :     if(FAILED(hr))

  00036	83 7d f8 00	 cmp	 DWORD PTR _hr$[ebp], 0
  0003a	7d 1f		 jge	 SHORT $LN1@GetInputTy@2

; 59   :     {
; 60   :         throw CCrossbarException("get_CrossbarPinInfo failed",hr);

  0003c	8b 4d f8	 mov	 ecx, DWORD PTR _hr$[ebp]
  0003f	51		 push	 ecx
  00040	68 00 00 00 00	 push	 OFFSET ??_C@_0BL@BDANPCI@get_CrossbarPinInfo?5failed?$AA@
  00045	8d 4d c8	 lea	 ecx, DWORD PTR $T340939[ebp]
  00048	e8 00 00 00 00	 call	 ??0CCrossbarException@@QAE@PBDJ@Z ; CCrossbarException::CCrossbarException
  0004d	68 00 00 00 00	 push	 OFFSET __TI4?AVCCrossbarException@@
  00052	8d 55 c8	 lea	 edx, DWORD PTR $T340939[ebp]
  00055	52		 push	 edx
  00056	e8 00 00 00 00	 call	 __CxxThrowException@8
$LN1@GetInputTy@2:

; 61   :     }
; 62   :     return (PhysicalConnectorType)type;

  0005b	8b 45 fc	 mov	 eax, DWORD PTR _type$[ebp]
$LN3@GetInputTy@2:

; 63   : }

  0005e	8b e5		 mov	 esp, ebp
  00060	5d		 pop	 ebp
  00061	c2 04 00	 ret	 4
?GetInputType@CDShowSingleCrossbar@@UAE?AW4tagPhysicalConnectorType@@J@Z ENDP ; CDShowSingleCrossbar::GetInputType
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?GetPinCounts@CDShowSingleCrossbar@@UAEXAAJ0@Z
_TEXT	SEGMENT
tv72 = -56						; size = 4
_this$ = -52						; size = 4
$T340942 = -48						; size = 44
_hr$ = -4						; size = 4
_cIn$ = 8						; size = 4
_cOut$ = 12						; size = 4
?GetPinCounts@CDShowSingleCrossbar@@UAEXAAJ0@Z PROC	; CDShowSingleCrossbar::GetPinCounts, COMDAT
; _this$ = ecx

; 46   : {

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

; 47   :     HRESULT hr=m_crossbar->get_PinCounts(&cOut,&cIn);

  00009	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000c	83 c1 08	 add	 ecx, 8
  0000f	e8 00 00 00 00	 call	 ??C?$CComPtr@UIAMCrossbar@@@ATL@@QBEPAV?$_NoAddRefReleaseOnCComPtr@UIAMCrossbar@@@1@XZ ; ATL::CComPtr<IAMCrossbar>::operator->
  00014	89 45 c8	 mov	 DWORD PTR tv72[ebp], eax
  00017	8b 45 08	 mov	 eax, DWORD PTR _cIn$[ebp]
  0001a	50		 push	 eax
  0001b	8b 4d 0c	 mov	 ecx, DWORD PTR _cOut$[ebp]
  0001e	51		 push	 ecx
  0001f	8b 55 c8	 mov	 edx, DWORD PTR tv72[ebp]
  00022	52		 push	 edx
  00023	8b 45 c8	 mov	 eax, DWORD PTR tv72[ebp]
  00026	8b 08		 mov	 ecx, DWORD PTR [eax]
  00028	8b 51 0c	 mov	 edx, DWORD PTR [ecx+12]
  0002b	ff d2		 call	 edx
  0002d	89 45 fc	 mov	 DWORD PTR _hr$[ebp], eax

; 48   :     if(FAILED(hr))

  00030	83 7d fc 00	 cmp	 DWORD PTR _hr$[ebp], 0
  00034	7d 1f		 jge	 SHORT $LN3@GetPinCoun

; 49   :     {
; 50   :         throw CCrossbarException("get_PinCounts failed",hr);

  00036	8b 45 fc	 mov	 eax, DWORD PTR _hr$[ebp]
  00039	50		 push	 eax
  0003a	68 00 00 00 00	 push	 OFFSET ??_C@_0BF@KGFHIDHF@get_PinCounts?5failed?$AA@
  0003f	8d 4d d0	 lea	 ecx, DWORD PTR $T340942[ebp]
  00042	e8 00 00 00 00	 call	 ??0CCrossbarException@@QAE@PBDJ@Z ; CCrossbarException::CCrossbarException
  00047	68 00 00 00 00	 push	 OFFSET __TI4?AVCCrossbarException@@
  0004c	8d 4d d0	 lea	 ecx, DWORD PTR $T340942[ebp]
  0004f	51		 push	 ecx
  00050	e8 00 00 00 00	 call	 __CxxThrowException@8
$LN3@GetPinCoun:

; 51   :     }
; 52   : }

  00055	8b e5		 mov	 esp, ebp
  00057	5d		 pop	 ebp
  00058	c2 08 00	 ret	 8
?GetPinCounts@CDShowSingleCrossbar@@UAEXAAJ0@Z ENDP	; CDShowSingleCrossbar::GetPinCounts
END
