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

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

INCLUDELIB OLDNAMES

PUBLIC	?GetRawPointer@?$SmartPtr@VCI2CBus@@@@QBEPAVCI2CBus@@XZ ; SmartPtr<CI2CBus>::GetRawPointer
PUBLIC	??4?$SmartPtr@VCAD9882@@@@QAEAAV0@PAVCAD9882@@@Z ; SmartPtr<CAD9882>::operator=
PUBLIC	?GetRawPointer@?$SmartPtr@VCAD9882@@@@QBEPAVCAD9882@@XZ ; SmartPtr<CAD9882>::GetRawPointer
PUBLIC	??C?$SmartPtr@VCAD9882@@@@QBEPAVCAD9882@@XZ	; SmartPtr<CAD9882>::operator->
;	COMDAT xdata$x
; File c:\develop\dscaler423a\dscaler\smartptr.h
xdata$x	SEGMENT
__unwindtable$?GetRawPointer@?$SmartPtr@VCAD9882@@@@QBEPAVCAD9882@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?GetRawPointer@?$SmartPtr@VCAD9882@@@@QBEPAVCAD9882@@XZ$0
__ehfuncinfo$?GetRawPointer@?$SmartPtr@VCAD9882@@@@QBEPAVCAD9882@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?GetRawPointer@?$SmartPtr@VCAD9882@@@@QBEPAVCAD9882@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?GetRawPointer@?$SmartPtr@VCAD9882@@@@QBEPAVCAD9882@@XZ
_TEXT	SEGMENT
tv72 = -32						; size = 4
_this$ = -28						; size = 4
$T317007 = -24						; size = 4
$T317006 = -20						; size = 4
$T317005 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?GetRawPointer@?$SmartPtr@VCAD9882@@@@QBEPAVCAD9882@@XZ PROC ; SmartPtr<CAD9882>::GetRawPointer, COMDAT
; _this$ = ecx

; 205  :     {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?GetRawPointer@?$SmartPtr@VCAD9882@@@@QBEPAVCAD9882@@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 14	 sub	 esp, 20			; 00000014H
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	50		 push	 eax
  0001c	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001f	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00025	89 4d e4	 mov	 DWORD PTR _this$[ebp], ecx

; 206  :         if (rawPtr == 0) throw new NullPointerException;

  00028	8b 45 e4	 mov	 eax, DWORD PTR _this$[ebp]
  0002b	83 38 00	 cmp	 DWORD PTR [eax], 0
  0002e	75 4f		 jne	 SHORT $LN1@GetRawPoin@249
  00030	6a 0c		 push	 12			; 0000000cH
  00032	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  00037	83 c4 04	 add	 esp, 4
  0003a	89 45 e8	 mov	 DWORD PTR $T317007[ebp], eax
  0003d	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00044	83 7d e8 00	 cmp	 DWORD PTR $T317007[ebp], 0
  00048	74 0d		 je	 SHORT $LN4@GetRawPoin@249
  0004a	8b 4d e8	 mov	 ecx, DWORD PTR $T317007[ebp]
  0004d	e8 00 00 00 00	 call	 ??0NullPointerException@@QAE@XZ ; NullPointerException::NullPointerException
  00052	89 45 e0	 mov	 DWORD PTR tv72[ebp], eax
  00055	eb 07		 jmp	 SHORT $LN5@GetRawPoin@249
$LN4@GetRawPoin@249:
  00057	c7 45 e0 00 00
	00 00		 mov	 DWORD PTR tv72[ebp], 0
$LN5@GetRawPoin@249:
  0005e	8b 4d e0	 mov	 ecx, DWORD PTR tv72[ebp]
  00061	89 4d ec	 mov	 DWORD PTR $T317006[ebp], ecx
  00064	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0006b	8b 55 ec	 mov	 edx, DWORD PTR $T317006[ebp]
  0006e	89 55 f0	 mov	 DWORD PTR $T317005[ebp], edx
  00071	68 00 00 00 00	 push	 OFFSET __TI3PAUNullPointerException@@
  00076	8d 45 f0	 lea	 eax, DWORD PTR $T317005[ebp]
  00079	50		 push	 eax
  0007a	e8 00 00 00 00	 call	 __CxxThrowException@8
$LN1@GetRawPoin@249:

; 207  :         return const_cast<X*>(rawPtr);

  0007f	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00082	8b 01		 mov	 eax, DWORD PTR [ecx]
$LN3@GetRawPoin@249:

; 208  :     }

  00084	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00087	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0008e	59		 pop	 ecx
  0008f	8b e5		 mov	 esp, ebp
  00091	5d		 pop	 ebp
  00092	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?GetRawPointer@?$SmartPtr@VCAD9882@@@@QBEPAVCAD9882@@XZ$0:
  00000	8b 45 e8	 mov	 eax, DWORD PTR $T317007[ebp]
  00003	50		 push	 eax
  00004	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00009	59		 pop	 ecx
  0000a	c3		 ret	 0
__ehhandler$?GetRawPointer@?$SmartPtr@VCAD9882@@@@QBEPAVCAD9882@@XZ:
  0000b	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000f	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00012	8b 4a e8	 mov	 ecx, DWORD PTR [edx-24]
  00015	33 c8		 xor	 ecx, eax
  00017	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0001c	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?GetRawPointer@?$SmartPtr@VCAD9882@@@@QBEPAVCAD9882@@XZ
  00021	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?GetRawPointer@?$SmartPtr@VCAD9882@@@@QBEPAVCAD9882@@XZ ENDP ; SmartPtr<CAD9882>::GetRawPointer
; Function compile flags: /Odtp
;	COMDAT ??C?$SmartPtr@VCAD9882@@@@QBEPAVCAD9882@@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??C?$SmartPtr@VCAD9882@@@@QBEPAVCAD9882@@XZ PROC	; SmartPtr<CAD9882>::operator->, COMDAT
; _this$ = ecx

; 168  :     {

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

; 169  :         return GetRawPointer();

  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	e8 00 00 00 00	 call	 ?GetRawPointer@?$SmartPtr@VCAD9882@@@@QBEPAVCAD9882@@XZ ; SmartPtr<CAD9882>::GetRawPointer

; 170  :     }

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

; 153  :     {

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

; 154  : 
; 155  :         Clear();

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

; 156  :         if (raw)

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

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

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

; 159  :             rawPtr = raw;

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

; 160  :         }
; 161  :         return *this;

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

; 162  :     }

  00087	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0008a	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00091	59		 pop	 ecx
  00092	8b e5		 mov	 esp, ebp
  00094	5d		 pop	 ebp
  00095	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??4?$SmartPtr@VCAD9882@@@@QAEAAV0@PAVCAD9882@@@Z$0:
  00000	8b 45 ec	 mov	 eax, DWORD PTR $T317022[ebp]
  00003	50		 push	 eax
  00004	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00009	59		 pop	 ecx
  0000a	c3		 ret	 0
__ehhandler$??4?$SmartPtr@VCAD9882@@@@QAEAAV0@PAVCAD9882@@@Z:
  0000b	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000f	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00012	8b 4a ec	 mov	 ecx, DWORD PTR [edx-20]
  00015	33 c8		 xor	 ecx, eax
  00017	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0001c	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??4?$SmartPtr@VCAD9882@@@@QAEAAV0@PAVCAD9882@@@Z
  00021	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??4?$SmartPtr@VCAD9882@@@@QAEAAV0@PAVCAD9882@@@Z ENDP	; SmartPtr<CAD9882>::operator=
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?GetRawPointer@?$SmartPtr@VCI2CBus@@@@QBEPAVCI2CBus@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?GetRawPointer@?$SmartPtr@VCI2CBus@@@@QBEPAVCI2CBus@@XZ$0
__ehfuncinfo$?GetRawPointer@?$SmartPtr@VCI2CBus@@@@QBEPAVCI2CBus@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?GetRawPointer@?$SmartPtr@VCI2CBus@@@@QBEPAVCI2CBus@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?GetRawPointer@?$SmartPtr@VCI2CBus@@@@QBEPAVCI2CBus@@XZ
_TEXT	SEGMENT
tv72 = -32						; size = 4
_this$ = -28						; size = 4
$T317036 = -24						; size = 4
$T317035 = -20						; size = 4
$T317034 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?GetRawPointer@?$SmartPtr@VCI2CBus@@@@QBEPAVCI2CBus@@XZ PROC ; SmartPtr<CI2CBus>::GetRawPointer, COMDAT
; _this$ = ecx

; 205  :     {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?GetRawPointer@?$SmartPtr@VCI2CBus@@@@QBEPAVCI2CBus@@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 14	 sub	 esp, 20			; 00000014H
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	50		 push	 eax
  0001c	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001f	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00025	89 4d e4	 mov	 DWORD PTR _this$[ebp], ecx

; 206  :         if (rawPtr == 0) throw new NullPointerException;

  00028	8b 45 e4	 mov	 eax, DWORD PTR _this$[ebp]
  0002b	83 38 00	 cmp	 DWORD PTR [eax], 0
  0002e	75 4f		 jne	 SHORT $LN1@GetRawPoin@250
  00030	6a 0c		 push	 12			; 0000000cH
  00032	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  00037	83 c4 04	 add	 esp, 4
  0003a	89 45 e8	 mov	 DWORD PTR $T317036[ebp], eax
  0003d	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00044	83 7d e8 00	 cmp	 DWORD PTR $T317036[ebp], 0
  00048	74 0d		 je	 SHORT $LN4@GetRawPoin@250
  0004a	8b 4d e8	 mov	 ecx, DWORD PTR $T317036[ebp]
  0004d	e8 00 00 00 00	 call	 ??0NullPointerException@@QAE@XZ ; NullPointerException::NullPointerException
  00052	89 45 e0	 mov	 DWORD PTR tv72[ebp], eax
  00055	eb 07		 jmp	 SHORT $LN5@GetRawPoin@250
$LN4@GetRawPoin@250:
  00057	c7 45 e0 00 00
	00 00		 mov	 DWORD PTR tv72[ebp], 0
$LN5@GetRawPoin@250:
  0005e	8b 4d e0	 mov	 ecx, DWORD PTR tv72[ebp]
  00061	89 4d ec	 mov	 DWORD PTR $T317035[ebp], ecx
  00064	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0006b	8b 55 ec	 mov	 edx, DWORD PTR $T317035[ebp]
  0006e	89 55 f0	 mov	 DWORD PTR $T317034[ebp], edx
  00071	68 00 00 00 00	 push	 OFFSET __TI3PAUNullPointerException@@
  00076	8d 45 f0	 lea	 eax, DWORD PTR $T317034[ebp]
  00079	50		 push	 eax
  0007a	e8 00 00 00 00	 call	 __CxxThrowException@8
$LN1@GetRawPoin@250:

; 207  :         return const_cast<X*>(rawPtr);

  0007f	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00082	8b 01		 mov	 eax, DWORD PTR [ecx]
$LN3@GetRawPoin@250:

; 208  :     }

  00084	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00087	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0008e	59		 pop	 ecx
  0008f	8b e5		 mov	 esp, ebp
  00091	5d		 pop	 ebp
  00092	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?GetRawPointer@?$SmartPtr@VCI2CBus@@@@QBEPAVCI2CBus@@XZ$0:
  00000	8b 45 e8	 mov	 eax, DWORD PTR $T317036[ebp]
  00003	50		 push	 eax
  00004	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00009	59		 pop	 ecx
  0000a	c3		 ret	 0
__ehhandler$?GetRawPointer@?$SmartPtr@VCI2CBus@@@@QBEPAVCI2CBus@@XZ:
  0000b	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000f	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00012	8b 4a e8	 mov	 ecx, DWORD PTR [edx-24]
  00015	33 c8		 xor	 ecx, eax
  00017	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0001c	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?GetRawPointer@?$SmartPtr@VCI2CBus@@@@QBEPAVCI2CBus@@XZ
  00021	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?GetRawPointer@?$SmartPtr@VCI2CBus@@@@QBEPAVCI2CBus@@XZ ENDP ; SmartPtr<CI2CBus>::GetRawPointer
PUBLIC	?InitAtlas@CBT848Card@@AAEXXZ			; CBT848Card::InitAtlas
;	COMDAT xdata$x
; File c:\develop\dscaler423a\dscaler\bt848card_atlas.cpp
xdata$x	SEGMENT
__unwindtable$?InitAtlas@CBT848Card@@AAEXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?InitAtlas@CBT848Card@@AAEXXZ$0
__ehfuncinfo$?InitAtlas@CBT848Card@@AAEXXZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?InitAtlas@CBT848Card@@AAEXXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?InitAtlas@CBT848Card@@AAEXXZ
_TEXT	SEGMENT
tv74 = -28						; size = 4
_this$ = -24						; size = 4
$T324440 = -20						; size = 4
$T324439 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?InitAtlas@CBT848Card@@AAEXXZ PROC			; CBT848Card::InitAtlas, COMDAT
; _this$ = ecx

; 63   : {

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

; 64   :     m_AD9882 = new CAD9882();

  00028	6a 0c		 push	 12			; 0000000cH
  0002a	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  0002f	83 c4 04	 add	 esp, 4
  00032	89 45 ec	 mov	 DWORD PTR $T324440[ebp], eax
  00035	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  0003c	83 7d ec 00	 cmp	 DWORD PTR $T324440[ebp], 0
  00040	74 0d		 je	 SHORT $LN3@InitAtlas
  00042	8b 4d ec	 mov	 ecx, DWORD PTR $T324440[ebp]
  00045	e8 00 00 00 00	 call	 ??0CAD9882@@QAE@XZ	; CAD9882::CAD9882
  0004a	89 45 e4	 mov	 DWORD PTR tv74[ebp], eax
  0004d	eb 07		 jmp	 SHORT $LN4@InitAtlas
$LN3@InitAtlas:
  0004f	c7 45 e4 00 00
	00 00		 mov	 DWORD PTR tv74[ebp], 0
$LN4@InitAtlas:
  00056	8b 45 e4	 mov	 eax, DWORD PTR tv74[ebp]
  00059	89 45 f0	 mov	 DWORD PTR $T324439[ebp], eax
  0005c	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00063	8b 4d f0	 mov	 ecx, DWORD PTR $T324439[ebp]
  00066	51		 push	 ecx
  00067	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0006a	81 c1 cc 00 00
	00		 add	 ecx, 204		; 000000ccH
  00070	e8 00 00 00 00	 call	 ??4?$SmartPtr@VCAD9882@@@@QAEAAV0@PAVCAD9882@@@Z ; SmartPtr<CAD9882>::operator=

; 65   : 
; 66   :     m_AD9882->SetI2CBus(m_I2CBus.GetRawPointer());

  00075	6a 00		 push	 0
  00077	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0007a	81 c1 a0 00 00
	00		 add	 ecx, 160		; 000000a0H
  00080	e8 00 00 00 00	 call	 ?GetRawPointer@?$SmartPtr@VCI2CBus@@@@QBEPAVCI2CBus@@XZ ; SmartPtr<CI2CBus>::GetRawPointer
  00085	50		 push	 eax
  00086	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00089	81 c1 cc 00 00
	00		 add	 ecx, 204		; 000000ccH
  0008f	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCAD9882@@@@QBEPAVCAD9882@@XZ ; SmartPtr<CAD9882>::operator->
  00094	8b c8		 mov	 ecx, eax
  00096	e8 00 00 00 00	 call	 ?SetI2CBus@CI2CDevice@@QAEXPAVCI2CBus@@E@Z ; CI2CDevice::SetI2CBus

; 67   : 
; 68   :     // start with AD9882 disabled
; 69   :     m_AD9882->Suspend();

  0009b	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0009e	81 c1 cc 00 00
	00		 add	 ecx, 204		; 000000ccH
  000a4	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCAD9882@@@@QBEPAVCAD9882@@XZ ; SmartPtr<CAD9882>::operator->
  000a9	8b c8		 mov	 ecx, eax
  000ab	e8 00 00 00 00	 call	 ?Suspend@CAD9882@@QAEXXZ ; CAD9882::Suspend

; 70   : }

  000b0	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  000b3	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000ba	59		 pop	 ecx
  000bb	8b e5		 mov	 esp, ebp
  000bd	5d		 pop	 ebp
  000be	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?InitAtlas@CBT848Card@@AAEXXZ$0:
  00000	8b 45 ec	 mov	 eax, DWORD PTR $T324440[ebp]
  00003	50		 push	 eax
  00004	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00009	59		 pop	 ecx
  0000a	c3		 ret	 0
__ehhandler$?InitAtlas@CBT848Card@@AAEXXZ:
  0000b	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000f	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00012	8b 4a ec	 mov	 ecx, DWORD PTR [edx-20]
  00015	33 c8		 xor	 ecx, eax
  00017	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0001c	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?InitAtlas@CBT848Card@@AAEXXZ
  00021	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?InitAtlas@CBT848Card@@AAEXXZ ENDP			; CBT848Card::InitAtlas
PUBLIC	?SetAtlasHue@CBT848Card@@AAEXE@Z		; CBT848Card::SetAtlasHue
; Function compile flags: /Odtp
;	COMDAT ?SetAtlasHue@CBT848Card@@AAEXE@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_Hue$ = 8						; size = 1
?SetAtlasHue@CBT848Card@@AAEXE@Z PROC			; CBT848Card::SetAtlasHue, COMDAT
; _this$ = ecx

; 162  : {

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

; 163  :     if (!IsSPISource(m_CurrentInput))

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b 88 c8 00 00
	00		 mov	 ecx, DWORD PTR [eax+200]
  00010	51		 push	 ecx
  00011	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00014	e8 00 00 00 00	 call	 ?IsSPISource@CBT848Card@@QAEHH@Z ; CBT848Card::IsSPISource
  00019	85 c0		 test	 eax, eax
  0001b	75 0d		 jne	 SHORT $LN2@SetAtlasHu

; 164  :     {
; 165  :         SetAnalogHue(Hue);

  0001d	0f b6 55 08	 movzx	 edx, BYTE PTR _Hue$[ebp]
  00021	52		 push	 edx
  00022	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00025	e8 00 00 00 00	 call	 ?SetAnalogHue@CBT848Card@@AAEXE@Z ; CBT848Card::SetAnalogHue
$LN2@SetAtlasHu:

; 166  :     }
; 167  : }

  0002a	8b e5		 mov	 esp, ebp
  0002c	5d		 pop	 ebp
  0002d	c2 04 00	 ret	 4
?SetAtlasHue@CBT848Card@@AAEXE@Z ENDP			; CBT848Card::SetAtlasHue
_TEXT	ENDS
PUBLIC	?SetAtlasFormat@CBT848Card@@AAEXHW4eVideoFormat@@@Z ; CBT848Card::SetAtlasFormat
; Function compile flags: /Odtp
;	COMDAT ?SetAtlasFormat@CBT848Card@@AAEXHW4eVideoFormat@@@Z
_TEXT	SEGMENT
tv209 = -52						; size = 4
tv204 = -48						; size = 4
tv198 = -44						; size = 4
tv193 = -40						; size = 4
tv186 = -36						; size = 4
tv135 = -32						; size = 4
tv130 = -28						; size = 4
tv92 = -24						; size = 4
tv87 = -20						; size = 4
tv80 = -16						; size = 4
tv66 = -12						; size = 4
_this$ = -8						; size = 4
_bOverlay$ = -4						; size = 4
_nInput$ = 8						; size = 4
_TVFormat$ = 12						; size = 4
?SetAtlasFormat@CBT848Card@@AAEXHW4eVideoFormat@@@Z PROC ; CBT848Card::SetAtlasFormat, COMDAT
; _this$ = ecx

; 93   : {

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

; 94   :     BOOL bOverlay = GetActiveOutput()->OverlayActive();

  00009	e8 00 00 00 00	 call	 ?GetActiveOutput@@YAPAVIOutput@@XZ ; GetActiveOutput
  0000e	89 45 f4	 mov	 DWORD PTR tv66[ebp], eax
  00011	8b 45 f4	 mov	 eax, DWORD PTR tv66[ebp]
  00014	8b 10		 mov	 edx, DWORD PTR [eax]
  00016	8b 4d f4	 mov	 ecx, DWORD PTR tv66[ebp]
  00019	8b 42 1c	 mov	 eax, DWORD PTR [edx+28]
  0001c	ff d0		 call	 eax
  0001e	89 45 fc	 mov	 DWORD PTR _bOverlay$[ebp], eax

; 95   : 
; 96   :     if (!IsSPISource(nInput))

  00021	8b 4d 08	 mov	 ecx, DWORD PTR _nInput$[ebp]
  00024	51		 push	 ecx
  00025	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00028	e8 00 00 00 00	 call	 ?IsSPISource@CBT848Card@@QAEHH@Z ; CBT848Card::IsSPISource
  0002d	85 c0		 test	 eax, eax
  0002f	0f 85 8e 00 00
	00		 jne	 $LN7@SetAtlasFo

; 97   :     {
; 98   :         StandardSetFormat(nInput, TVFormat);

  00035	8b 55 0c	 mov	 edx, DWORD PTR _TVFormat$[ebp]
  00038	52		 push	 edx
  00039	8b 45 08	 mov	 eax, DWORD PTR _nInput$[ebp]
  0003c	50		 push	 eax
  0003d	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00040	e8 00 00 00 00	 call	 ?StandardSetFormat@CBT848Card@@AAEXHW4eVideoFormat@@@Z ; CBT848Card::StandardSetFormat

; 99   :         // change overlay format to YUV, if needed
; 100  :         if (bOverlay)

  00045	83 7d fc 00	 cmp	 DWORD PTR _bOverlay$[ebp], 0
  00049	74 5c		 je	 SHORT $LN6@SetAtlasFo

; 101  :         {
; 102  :             if (GetActiveOutput()->Overlay_GetRGB())

  0004b	e8 00 00 00 00	 call	 ?GetActiveOutput@@YAPAVIOutput@@XZ ; GetActiveOutput
  00050	89 45 f0	 mov	 DWORD PTR tv80[ebp], eax
  00053	8b 4d f0	 mov	 ecx, DWORD PTR tv80[ebp]
  00056	8b 11		 mov	 edx, DWORD PTR [ecx]
  00058	8b 4d f0	 mov	 ecx, DWORD PTR tv80[ebp]
  0005b	8b 42 5c	 mov	 eax, DWORD PTR [edx+92]
  0005e	ff d0		 call	 eax
  00060	85 c0		 test	 eax, eax
  00062	74 41		 je	 SHORT $LN5@SetAtlasFo

; 103  :             {
; 104  :                 GetActiveOutput()->Overlay_Destroy();

  00064	e8 00 00 00 00	 call	 ?GetActiveOutput@@YAPAVIOutput@@XZ ; GetActiveOutput
  00069	89 45 ec	 mov	 DWORD PTR tv87[ebp], eax
  0006c	8b 4d ec	 mov	 ecx, DWORD PTR tv87[ebp]
  0006f	8b 11		 mov	 edx, DWORD PTR [ecx]
  00071	8b 4d ec	 mov	 ecx, DWORD PTR tv87[ebp]
  00074	8b 42 2c	 mov	 eax, DWORD PTR [edx+44]
  00077	ff d0		 call	 eax

; 105  :                 GetActiveOutput()->Overlay_SetRGB(FALSE);

  00079	e8 00 00 00 00	 call	 ?GetActiveOutput@@YAPAVIOutput@@XZ ; GetActiveOutput
  0007e	89 45 e8	 mov	 DWORD PTR tv92[ebp], eax
  00081	6a 00		 push	 0
  00083	8b 4d e8	 mov	 ecx, DWORD PTR tv92[ebp]
  00086	8b 11		 mov	 edx, DWORD PTR [ecx]
  00088	8b 4d e8	 mov	 ecx, DWORD PTR tv92[ebp]
  0008b	8b 42 58	 mov	 eax, DWORD PTR [edx+88]
  0008e	ff d0		 call	 eax

; 106  :                 GetActiveOutput()->Overlay_Create();

  00090	e8 00 00 00 00	 call	 ?GetActiveOutput@@YAPAVIOutput@@XZ ; GetActiveOutput
  00095	89 45 e4	 mov	 DWORD PTR tv130[ebp], eax
  00098	8b 4d e4	 mov	 ecx, DWORD PTR tv130[ebp]
  0009b	8b 11		 mov	 edx, DWORD PTR [ecx]
  0009d	8b 4d e4	 mov	 ecx, DWORD PTR tv130[ebp]
  000a0	8b 42 24	 mov	 eax, DWORD PTR [edx+36]
  000a3	ff d0		 call	 eax
$LN5@SetAtlasFo:

; 107  :             }
; 108  :         }
; 109  :         else

  000a5	eb 17		 jmp	 SHORT $LN4@SetAtlasFo
$LN6@SetAtlasFo:

; 110  :         {
; 111  :             GetActiveOutput()->Overlay_SetRGB(FALSE);

  000a7	e8 00 00 00 00	 call	 ?GetActiveOutput@@YAPAVIOutput@@XZ ; GetActiveOutput
  000ac	89 45 e0	 mov	 DWORD PTR tv135[ebp], eax
  000af	6a 00		 push	 0
  000b1	8b 4d e0	 mov	 ecx, DWORD PTR tv135[ebp]
  000b4	8b 11		 mov	 edx, DWORD PTR [ecx]
  000b6	8b 4d e0	 mov	 ecx, DWORD PTR tv135[ebp]
  000b9	8b 42 58	 mov	 eax, DWORD PTR [edx+88]
  000bc	ff d0		 call	 eax
$LN4@SetAtlasFo:

; 112  :         }
; 113  : 
; 114  :         return;

  000be	e9 da 00 00 00	 jmp	 $LN8@SetAtlasFo
$LN7@SetAtlasFo:

; 115  :     }
; 116  : 
; 117  :     //SetupAD9882();
; 118  : 
; 119  :     #ifdef _DEBUG
; 120  :     if(m_AD9882->GetVersion() > 0)
; 121  :     {
; 122  :         m_AD9882->DumpSettings(_T("AD9882_Atlas.txt"));
; 123  :     }
; 124  :     #endif
; 125  :     // configure Bt878 to pass through the data
; 126  :     WriteByte(BT848_COLOR_FMT, BT848_COLOR_FMT_YUY2);

  000c3	6a 44		 push	 68			; 00000044H
  000c5	68 d4 00 00 00	 push	 212			; 000000d4H
  000ca	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  000cd	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 127  :     // SPI input mode
; 128  :     MaskDataWord(BT848_GPIO_DMA_CTL, 2 << 11,
; 129  :         (BT848_GPIO_DMA_CTL_GPIOMODE | BT848_GPIO_DMA_CTL_GPCLKMODE));

  000d2	68 00 1c 00 00	 push	 7168			; 00001c00H
  000d7	68 00 10 00 00	 push	 4096			; 00001000H
  000dc	68 0c 01 00 00	 push	 268			; 0000010cH
  000e1	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  000e4	e8 00 00 00 00	 call	 ?MaskDataWord@CPCICard@@QAEXKGG@Z ; CPCICard::MaskDataWord

; 130  :     // byte swap + no gamma correction removal
; 131  :     MaskDataByte(BT848_COLOR_CTL, (BT848_COLOR_CTL_GAMMA |
; 132  :             BT848_COLOR_CTL_BSWAP_ODD | BT848_COLOR_CTL_BSWAP_EVEN), 0x1f);

  000e9	6a 1f		 push	 31			; 0000001fH
  000eb	6a 13		 push	 19			; 00000013H
  000ed	68 d8 00 00 00	 push	 216			; 000000d8H
  000f2	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  000f5	e8 00 00 00 00	 call	 ?MaskDataByte@CPCICard@@QAEXKEE@Z ; CPCICard::MaskDataByte

; 133  :     // clear interrupt status bits and field counter
; 134  :     WriteDword(BT848_INT_STAT, ReadDword(BT848_INT_STAT));

  000fa	68 00 01 00 00	 push	 256			; 00000100H
  000ff	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00102	e8 00 00 00 00	 call	 ?ReadDword@CPCICard@@QAEKK@Z ; CPCICard::ReadDword
  00107	50		 push	 eax
  00108	68 00 01 00 00	 push	 256			; 00000100H
  0010d	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00110	e8 00 00 00 00	 call	 ?WriteDword@CPCICard@@QAEXKK@Z ; CPCICard::WriteDword

; 135  :     WriteByte(BT848_FCNTR, 0);

  00115	6a 00		 push	 0
  00117	68 e8 00 00 00	 push	 232			; 000000e8H
  0011c	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0011f	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 136  : 
; 137  :     // change overlay format to RGB16, if needed
; 138  :     if (bOverlay)

  00124	83 7d fc 00	 cmp	 DWORD PTR _bOverlay$[ebp], 0
  00128	74 5c		 je	 SHORT $LN3@SetAtlasFo

; 139  :     {
; 140  :         if (!GetActiveOutput()->Overlay_GetRGB())

  0012a	e8 00 00 00 00	 call	 ?GetActiveOutput@@YAPAVIOutput@@XZ ; GetActiveOutput
  0012f	89 45 dc	 mov	 DWORD PTR tv186[ebp], eax
  00132	8b 4d dc	 mov	 ecx, DWORD PTR tv186[ebp]
  00135	8b 11		 mov	 edx, DWORD PTR [ecx]
  00137	8b 4d dc	 mov	 ecx, DWORD PTR tv186[ebp]
  0013a	8b 42 5c	 mov	 eax, DWORD PTR [edx+92]
  0013d	ff d0		 call	 eax
  0013f	85 c0		 test	 eax, eax
  00141	75 41		 jne	 SHORT $LN2@SetAtlasFo

; 141  :         {
; 142  :             GetActiveOutput()->Overlay_Destroy();

  00143	e8 00 00 00 00	 call	 ?GetActiveOutput@@YAPAVIOutput@@XZ ; GetActiveOutput
  00148	89 45 d8	 mov	 DWORD PTR tv193[ebp], eax
  0014b	8b 4d d8	 mov	 ecx, DWORD PTR tv193[ebp]
  0014e	8b 11		 mov	 edx, DWORD PTR [ecx]
  00150	8b 4d d8	 mov	 ecx, DWORD PTR tv193[ebp]
  00153	8b 42 2c	 mov	 eax, DWORD PTR [edx+44]
  00156	ff d0		 call	 eax

; 143  :             GetActiveOutput()->Overlay_SetRGB(TRUE);

  00158	e8 00 00 00 00	 call	 ?GetActiveOutput@@YAPAVIOutput@@XZ ; GetActiveOutput
  0015d	89 45 d4	 mov	 DWORD PTR tv198[ebp], eax
  00160	6a 01		 push	 1
  00162	8b 4d d4	 mov	 ecx, DWORD PTR tv198[ebp]
  00165	8b 11		 mov	 edx, DWORD PTR [ecx]
  00167	8b 4d d4	 mov	 ecx, DWORD PTR tv198[ebp]
  0016a	8b 42 58	 mov	 eax, DWORD PTR [edx+88]
  0016d	ff d0		 call	 eax

; 144  :             GetActiveOutput()->Overlay_Create();

  0016f	e8 00 00 00 00	 call	 ?GetActiveOutput@@YAPAVIOutput@@XZ ; GetActiveOutput
  00174	89 45 d0	 mov	 DWORD PTR tv204[ebp], eax
  00177	8b 4d d0	 mov	 ecx, DWORD PTR tv204[ebp]
  0017a	8b 11		 mov	 edx, DWORD PTR [ecx]
  0017c	8b 4d d0	 mov	 ecx, DWORD PTR tv204[ebp]
  0017f	8b 42 24	 mov	 eax, DWORD PTR [edx+36]
  00182	ff d0		 call	 eax
$LN2@SetAtlasFo:

; 145  :         }
; 146  :     }
; 147  :     else

  00184	eb 17		 jmp	 SHORT $LN8@SetAtlasFo
$LN3@SetAtlasFo:

; 148  :     {
; 149  :         GetActiveOutput()->Overlay_SetRGB(TRUE);

  00186	e8 00 00 00 00	 call	 ?GetActiveOutput@@YAPAVIOutput@@XZ ; GetActiveOutput
  0018b	89 45 cc	 mov	 DWORD PTR tv209[ebp], eax
  0018e	6a 01		 push	 1
  00190	8b 4d cc	 mov	 ecx, DWORD PTR tv209[ebp]
  00193	8b 11		 mov	 edx, DWORD PTR [ecx]
  00195	8b 4d cc	 mov	 ecx, DWORD PTR tv209[ebp]
  00198	8b 42 58	 mov	 eax, DWORD PTR [edx+88]
  0019b	ff d0		 call	 eax
$LN8@SetAtlasFo:

; 150  :     }
; 151  : }

  0019d	8b e5		 mov	 esp, ebp
  0019f	5d		 pop	 ebp
  001a0	c2 08 00	 ret	 8
?SetAtlasFormat@CBT848Card@@AAEXHW4eVideoFormat@@@Z ENDP ; CBT848Card::SetAtlasFormat
_TEXT	ENDS
PUBLIC	?AtlasInputSelect@CBT848Card@@AAEXH@Z		; CBT848Card::AtlasInputSelect
; Function compile flags: /Odtp
;	COMDAT ?AtlasInputSelect@CBT848Card@@AAEXH@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_nInput$ = 8						; size = 4
?AtlasInputSelect@CBT848Card@@AAEXH@Z PROC		; CBT848Card::AtlasInputSelect, COMDAT
; _this$ = ecx

; 73   : {

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

; 74   :     m_CurrentInput = nInput;

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b 4d 08	 mov	 ecx, DWORD PTR _nInput$[ebp]
  0000d	89 88 c8 00 00
	00		 mov	 DWORD PTR [eax+200], ecx

; 75   : 
; 76   :     if (IsSPISource(nInput))

  00013	8b 55 08	 mov	 edx, DWORD PTR _nInput$[ebp]
  00016	52		 push	 edx
  00017	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0001a	e8 00 00 00 00	 call	 ?IsSPISource@CBT848Card@@QAEHH@Z ; CBT848Card::IsSPISource
  0001f	85 c0		 test	 eax, eax
  00021	74 17		 je	 SHORT $LN2@AtlasInput

; 77   :     {
; 78   :         // AD9882 will auto-select input source between RGB and DVI
; 79   :         m_AD9882->Wakeup();

  00023	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00026	81 c1 cc 00 00
	00		 add	 ecx, 204		; 000000ccH
  0002c	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCAD9882@@@@QBEPAVCAD9882@@XZ ; SmartPtr<CAD9882>::operator->
  00031	8b c8		 mov	 ecx, eax
  00033	e8 00 00 00 00	 call	 ?Wakeup@CAD9882@@QAEXXZ	; CAD9882::Wakeup

; 80   :     }
; 81   :     else

  00038	eb 21		 jmp	 SHORT $LN3@AtlasInput
$LN2@AtlasInput:

; 82   :     {
; 83   :         m_AD9882->Suspend();

  0003a	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0003d	81 c1 cc 00 00
	00		 add	 ecx, 204		; 000000ccH
  00043	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCAD9882@@@@QBEPAVCAD9882@@XZ ; SmartPtr<CAD9882>::operator->
  00048	8b c8		 mov	 ecx, eax
  0004a	e8 00 00 00 00	 call	 ?Suspend@CAD9882@@QAEXXZ ; CAD9882::Suspend

; 84   :         StandardBT848InputSelect(nInput);

  0004f	8b 45 08	 mov	 eax, DWORD PTR _nInput$[ebp]
  00052	50		 push	 eax
  00053	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00056	e8 00 00 00 00	 call	 ?StandardBT848InputSelect@CBT848Card@@AAEXH@Z ; CBT848Card::StandardBT848InputSelect
$LN3@AtlasInput:

; 85   :     }
; 86   :     #ifdef _DEBUG
; 87   :     LOG(1, _T("AtlasInputSelect()"));
; 88   :     #endif
; 89   : }

  0005b	8b e5		 mov	 esp, ebp
  0005d	5d		 pop	 ebp
  0005e	c2 04 00	 ret	 4
?AtlasInputSelect@CBT848Card@@AAEXH@Z ENDP		; CBT848Card::AtlasInputSelect
PUBLIC	?SetAtlasSaturationV@CBT848Card@@AAEXG@Z	; CBT848Card::SetAtlasSaturationV
; Function compile flags: /Odtp
;	COMDAT ?SetAtlasSaturationV@CBT848Card@@AAEXG@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_Saturation$ = 8					; size = 2
?SetAtlasSaturationV@CBT848Card@@AAEXG@Z PROC		; CBT848Card::SetAtlasSaturationV, COMDAT
; _this$ = ecx

; 178  : {

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

; 179  :     if (!IsSPISource(m_CurrentInput))

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b 88 c8 00 00
	00		 mov	 ecx, DWORD PTR [eax+200]
  00010	51		 push	 ecx
  00011	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00014	e8 00 00 00 00	 call	 ?IsSPISource@CBT848Card@@QAEHH@Z ; CBT848Card::IsSPISource
  00019	85 c0		 test	 eax, eax
  0001b	75 0d		 jne	 SHORT $LN2@SetAtlasSa

; 180  :     {
; 181  :         SetAnalogSaturationV(Saturation);

  0001d	0f b7 55 08	 movzx	 edx, WORD PTR _Saturation$[ebp]
  00021	52		 push	 edx
  00022	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00025	e8 00 00 00 00	 call	 ?SetAnalogSaturationV@CBT848Card@@AAEXG@Z ; CBT848Card::SetAnalogSaturationV
$LN2@SetAtlasSa:

; 182  :     }
; 183  : }

  0002a	8b e5		 mov	 esp, ebp
  0002c	5d		 pop	 ebp
  0002d	c2 04 00	 ret	 4
?SetAtlasSaturationV@CBT848Card@@AAEXG@Z ENDP		; CBT848Card::SetAtlasSaturationV
_TEXT	ENDS
PUBLIC	?SetAtlasSaturationU@CBT848Card@@AAEXG@Z	; CBT848Card::SetAtlasSaturationU
; Function compile flags: /Odtp
;	COMDAT ?SetAtlasSaturationU@CBT848Card@@AAEXG@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_Saturation$ = 8					; size = 2
?SetAtlasSaturationU@CBT848Card@@AAEXG@Z PROC		; CBT848Card::SetAtlasSaturationU, COMDAT
; _this$ = ecx

; 170  : {

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

; 171  :     if (!IsSPISource(m_CurrentInput))

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b 88 c8 00 00
	00		 mov	 ecx, DWORD PTR [eax+200]
  00010	51		 push	 ecx
  00011	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00014	e8 00 00 00 00	 call	 ?IsSPISource@CBT848Card@@QAEHH@Z ; CBT848Card::IsSPISource
  00019	85 c0		 test	 eax, eax
  0001b	75 0d		 jne	 SHORT $LN2@SetAtlasSa@2

; 172  :     {
; 173  :         SetAnalogSaturationU(Saturation);

  0001d	0f b7 55 08	 movzx	 edx, WORD PTR _Saturation$[ebp]
  00021	52		 push	 edx
  00022	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00025	e8 00 00 00 00	 call	 ?SetAnalogSaturationU@CBT848Card@@AAEXG@Z ; CBT848Card::SetAnalogSaturationU
$LN2@SetAtlasSa@2:

; 174  :     }
; 175  : }

  0002a	8b e5		 mov	 esp, ebp
  0002c	5d		 pop	 ebp
  0002d	c2 04 00	 ret	 4
?SetAtlasSaturationU@CBT848Card@@AAEXG@Z ENDP		; CBT848Card::SetAtlasSaturationU
_TEXT	ENDS
PUBLIC	?SetAtlasContrastBrightness@CBT848Card@@AAEXGG@Z ; CBT848Card::SetAtlasContrastBrightness
; Function compile flags: /Odtp
;	COMDAT ?SetAtlasContrastBrightness@CBT848Card@@AAEXGG@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_Contrast$ = 8						; size = 2
_Brightness$ = 12					; size = 2
?SetAtlasContrastBrightness@CBT848Card@@AAEXGG@Z PROC	; CBT848Card::SetAtlasContrastBrightness, COMDAT
; _this$ = ecx

; 154  : {

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

; 155  :     if (!IsSPISource(m_CurrentInput))

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b 88 c8 00 00
	00		 mov	 ecx, DWORD PTR [eax+200]
  00010	51		 push	 ecx
  00011	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00014	e8 00 00 00 00	 call	 ?IsSPISource@CBT848Card@@QAEHH@Z ; CBT848Card::IsSPISource
  00019	85 c0		 test	 eax, eax
  0001b	75 12		 jne	 SHORT $LN2@SetAtlasCo

; 156  :     {
; 157  :         SetAnalogContrastBrightness(Contrast, Brightness);

  0001d	0f b7 55 0c	 movzx	 edx, WORD PTR _Brightness$[ebp]
  00021	52		 push	 edx
  00022	0f b7 45 08	 movzx	 eax, WORD PTR _Contrast$[ebp]
  00026	50		 push	 eax
  00027	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0002a	e8 00 00 00 00	 call	 ?SetAnalogContrastBrightness@CBT848Card@@AAEXGG@Z ; CBT848Card::SetAnalogContrastBrightness
$LN2@SetAtlasCo:

; 158  :     }
; 159  : }

  0002f	8b e5		 mov	 esp, ebp
  00031	5d		 pop	 ebp
  00032	c2 08 00	 ret	 8
?SetAtlasContrastBrightness@CBT848Card@@AAEXGG@Z ENDP	; CBT848Card::SetAtlasContrastBrightness
END
