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

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

INCLUDELIB OLDNAMES

PUBLIC	?I2CUnlock@CSAA7134Card@@UAEXXZ			; CSAA7134Card::I2CUnlock
PUBLIC	?I2CLock@CSAA7134Card@@UAEXXZ			; CSAA7134Card::I2CLock
PUBLIC	?SetI2CCommand@CSAA7134Card@@UAEXE@Z		; CSAA7134Card::SetI2CCommand
PUBLIC	?SetI2CStatus@CSAA7134Card@@UAEXE@Z		; CSAA7134Card::SetI2CStatus
PUBLIC	?GetI2CStatus@CSAA7134Card@@UAEEXZ		; CSAA7134Card::GetI2CStatus
PUBLIC	?GetI2CData@CSAA7134Card@@UAEEXZ		; CSAA7134Card::GetI2CData
PUBLIC	?SetI2CData@CSAA7134Card@@UAEXE@Z		; CSAA7134Card::SetI2CData
PUBLIC	??_R4CSAA7134Card@@6BISAA7134I2CInterface@@@	; CSAA7134Card::`RTTI Complete Object Locator'
PUBLIC	?ManageMyState@CSAA7134Card@@MAEXXZ		; CSAA7134Card::ManageMyState
PUBLIC	??_R4CSAA7134Card@@6BCPCICard@@@		; CSAA7134Card::`RTTI Complete Object Locator'
PUBLIC	??_R3CSAA7134Card@@8				; CSAA7134Card::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2CSAA7134Card@@8				; CSAA7134Card::`RTTI Base Class Array'
PUBLIC	??_R1FI@?0A@EA@CSAA7134Common@@8		; CSAA7134Common::`RTTI Base Class Descriptor at (88,-1,0,64)'
PUBLIC	??_R3CSAA7134Common@@8				; CSAA7134Common::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2CSAA7134Common@@8				; CSAA7134Common::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@CSAA7134Common@@8			; CSAA7134Common::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVCSAA7134Common@@@8			; CSAA7134Common `RTTI Type Descriptor'
PUBLIC	??_R1FE@?0A@EA@ISAA7134I2CInterface@@8		; ISAA7134I2CInterface::`RTTI Base Class Descriptor at (84,-1,0,64)'
PUBLIC	??_R1A@?0A@EA@CSAA7134Card@@8			; CSAA7134Card::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVCSAA7134Card@@@8			; CSAA7134Card `RTTI Type Descriptor'
PUBLIC	??_R4ISAA7134I2CInterface@@6B@			; ISAA7134I2CInterface::`RTTI Complete Object Locator'
PUBLIC	??_R3ISAA7134I2CInterface@@8			; ISAA7134I2CInterface::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2ISAA7134I2CInterface@@8			; ISAA7134I2CInterface::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@ISAA7134I2CInterface@@8		; ISAA7134I2CInterface::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVISAA7134I2CInterface@@@8		; ISAA7134I2CInterface `RTTI Type Descriptor'
PUBLIC	??0ISAA7134I2CInterface@@QAE@XZ			; ISAA7134I2CInterface::ISAA7134I2CInterface
PUBLIC	?SupportsACPI@CSAA7134Card@@MAEHXZ		; CSAA7134Card::SupportsACPI
PUBLIC	?ResetChip@CSAA7134Card@@MAEXXZ			; CSAA7134Card::ResetChip
PUBLIC	??_C@_1EO@KEANELKC@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AA4?$AA?3?$AA?5?$AAT?$AAr?$AAy?$AAi?$AAn?$AAg?$AA?5?$AAT?$AAr?$AAi?$AAg?$AAg?$AAe?$AAr?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?5?$AAr?$AAe@ ; `string'
PUBLIC	??_C@_19OEJGHIEG@?$AAn?$AAo?$AAn?$AAe?$AA?$AA@	; `string'
PUBLIC	??_C@_1BO@GCADKNON@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AAx?$AA?5?$AAO?$AAn?$AAC?$AAh?$AAi?$AAp?$AA?$AA@ ; `string'
PUBLIC	??_C@_19NGFMKOON@?$AA?$CF?$AA0?$AA8?$AAX?$AA?$AA@ ; `string'
PUBLIC	??_C@_1BA@DECIGCCE@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AA0?$AA?$AA@ ; `string'
PUBLIC	??_C@_1BA@CGJNMNMK@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AA3?$AA?$AA@ ; `string'
PUBLIC	??_C@_1BA@LLEKPFHD@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AA4?$AA?$AA@ ; `string'
PUBLIC	??_C@_1CE@OHCOEEJ@?$AA?$CF?$AA0?$AA2?$AAx?$AA?$CF?$AA0?$AA2?$AAx?$AA?5?$AA?$CF?$AA0?$AA2?$AAx?$AA?$CF?$AA0?$AA2?$AAx?$AA?$AA@ ; `string'
PUBLIC	??_C@_1CK@NHAFGAAE@?$AA?$CF?$AAs?$AA?5?$AA?$CF?$AA0?$AA2?$AAx?$AA?$CF?$AA0?$AA2?$AAx?$AA?5?$AA?$CF?$AA0?$AA2?$AAx?$AA?$CF?$AA0?$AA2?$AAx?$AA?$AA@ ; `string'
PUBLIC	??_C@_1CK@DFDOFDMD@?$AA?$CF?$AAs?$AA?$HM?$AA?$CF?$AA0?$AA2?$AAx?$AA?$CF?$AA0?$AA2?$AAx?$AA?5?$AA?$CF?$AA0?$AA2?$AAx?$AA?$CF?$AA0?$AA2?$AAx?$AA?$AA@ ; `string'
PUBLIC	??_C@_1BE@FOHKCIPJ@?$AA?$CF?$AA0?$AA3?$AAl?$AAX?$AA?3?$AA?5?$AA?$CF?$AAs?$AA?$AA@ ; `string'
PUBLIC	??_C@_1GE@CGDOECCL@?$AAd?$AAe?$AAb?$AAu?$AAg?$AA?3?$AA?5?$AAg?$AAp?$AAi?$AAo?$AA?3?$AA?5?$AAm?$AAo?$AAd?$AAe?$AA?$DN?$AA0?$AAx?$AA?$CF?$AA0?$AA7?$AAl?$AAx?$AA?5?$AAi?$AAn?$AA?$DN?$AA0?$AAx?$AA?$CF@ ; `string'
PUBLIC	??_C@_1BM@ENNOAKPE@?$AAA?$AA?5?$AAO?$AAd?$AAd?$AA?5?$AAC?$AAH?$AAA?$AAN?$AAG?$AAE?$AAD?$AA?$AA@ ; `string'
PUBLIC	??_C@_1BM@EPAAANND@?$AAB?$AA?5?$AAO?$AAd?$AAd?$AA?5?$AAC?$AAH?$AAA?$AAN?$AAG?$AAE?$AAD?$AA?$AA@ ; `string'
PUBLIC	??_C@_1BO@KHFALEOP@?$AAA?$AA?5?$AAE?$AAv?$AAe?$AAn?$AA?5?$AAC?$AAH?$AAA?$AAN?$AAG?$AAE?$AAD?$AA?$AA@ ; `string'
PUBLIC	??_C@_1BO@ODPBJBPH@?$AAB?$AA?5?$AAE?$AAv?$AAe?$AAn?$AA?5?$AAC?$AAH?$AAA?$AAN?$AAG?$AAE?$AAD?$AA?$AA@ ; `string'
PUBLIC	??_C@_1CC@EJGCMEBE@?$AAD?$AAM?$AAA?$AA?5?$AAS?$AAt?$AAa?$AAt?$AAu?$AAs?$AA?3?$AA?5?$AA?$CF?$AA0?$AA2?$AAx?$AA?$AA@ ; `string'
PUBLIC	??_C@_17LEDHLPJJ@?$AAo?$AAd?$AAd?$AA?$AA@	; `string'
PUBLIC	??_C@_19MCEENOHD@?$AAe?$AAv?$AAe?$AAn?$AA?$AA@	; `string'
PUBLIC	??_C@_13EPJEBPGL@?$AAb?$AA?$AA@			; `string'
PUBLIC	??_C@_13FNCBLAIF@?$AAa?$AA?$AA@			; `string'
PUBLIC	??_C@_17PDPAKOFJ@?$AAv?$AAb?$AAi?$AA?$AA@	; `string'
PUBLIC	??_C@_1M@NHCOFMD@?$AAv?$AAi?$AAd?$AAe?$AAo?$AA?$AA@ ; `string'
PUBLIC	??_C@_1DC@MLLCIJLF@?$AAI?$AAR?$AAQ?$AA?5?$AAS?$AAt?$AAa?$AAt?$AAu?$AAs?$AA?3?$AA?5?$AA?$CF?$AAs?$AA?0?$AA?$CF?$AAs?$AA?0?$AA?$CF?$AAs?$AA?0?$AA?$CF?$AAl?$AAd?$AA?$AA@ ; `string'
PUBLIC	??_C@_1M@NECLJFMJ@?$AAT?$AAA?$AAS?$AAK?$AA?5?$AA?$AA@ ; `string'
PUBLIC	??_C@_1O@JMAIEFME@?$AAD?$AA6?$AA_?$AAD?$AA5?$AA?5?$AA?$AA@ ; `string'
PUBLIC	??_C@_1BA@BJCMEAEI@?$AAF?$AAI?$AAD?$AAS?$AAC?$AAO?$AA?5?$AA?$AA@ ; `string'
PUBLIC	??_C@_1BA@MPHFKDFF@?$AAF?$AAI?$AAD?$AAS?$AAC?$AAI?$AA?5?$AA?$AA@ ; `string'
PUBLIC	??_C@_1BA@OANCFNEP@?$AAW?$AAA?$AAS?$AAR?$AAS?$AAT?$AA?5?$AA?$AA@ ; `string'
PUBLIC	??_C@_1O@PIIJFCPG@?$AAL?$AAD?$AAE?$AAR?$AAR?$AA?5?$AA?$AA@ ; `string'
PUBLIC	??_C@_1O@ECCGHIJP@?$AAC?$AAF?$AAE?$AAR?$AAR?$AA?5?$AA?$AA@ ; `string'
PUBLIC	??_C@_1O@EOEHDILA@?$AAT?$AAR?$AAE?$AAR?$AAR?$AA?5?$AA?$AA@ ; `string'
PUBLIC	??_C@_1O@CBNOOGCF@?$AAV?$AAB?$AAI?$AA_?$AAB?$AA?5?$AA?$AA@ ; `string'
PUBLIC	??_C@_1O@KFLCMJJL@?$AAV?$AAI?$AAD?$AA_?$AAB?$AA?5?$AA?$AA@ ; `string'
PUBLIC	??_C@_1O@KHEKJEIL@?$AAV?$AAB?$AAI?$AA_?$AAA?$AA?5?$AA?$AA@ ; `string'
PUBLIC	??_C@_1O@CDCGLLDF@?$AAV?$AAI?$AAD?$AA_?$AAA?$AA?5?$AA?$AA@ ; `string'
PUBLIC	??_C@_1FA@LLKBNJKA@?$AAS?$AAc?$AAa?$AAl?$AAe?$AAr?$AA?5?$AAS?$AAt?$AAa?$AAt?$AAu?$AAs?$AA?3?$AA?5?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF@ ; `string'
PUBLIC	??_7ISAA7134I2CInterface@@6B@			; ISAA7134I2CInterface::`vftable'
PUBLIC	??_7CSAA7134Card@@6BCPCICard@@@			; CSAA7134Card::`vftable'
PUBLIC	??_7CSAA7134Card@@6BISAA7134I2CInterface@@@	; CSAA7134Card::`vftable'
;	COMDAT ?OldScalerStatus@?1??CheckRegisters@CSAA7134Card@@QAEXPAK000@Z@4GA
_BSS	SEGMENT
?OldScalerStatus@?1??CheckRegisters@CSAA7134Card@@QAEXPAK000@Z@4GA DW 01H DUP (?) ; `CSAA7134Card::CheckRegisters'::`2'::OldScalerStatus
_BSS	ENDS
;	COMDAT ?OldIRQStatus@?1??CheckRegisters@CSAA7134Card@@QAEXPAK000@Z@4KA
_BSS	SEGMENT
?OldIRQStatus@?1??CheckRegisters@CSAA7134Card@@QAEXPAK000@Z@4KA DD 01H DUP (?) ; `CSAA7134Card::CheckRegisters'::`2'::OldIRQStatus
_BSS	ENDS
;	COMDAT ?OldDMAStatus@?1??CheckRegisters@CSAA7134Card@@QAEXPAK000@Z@4KA
_BSS	SEGMENT
?OldDMAStatus@?1??CheckRegisters@CSAA7134Card@@QAEXPAK000@Z@4KA DD 01H DUP (?) ; `CSAA7134Card::CheckRegisters'::`2'::OldDMAStatus
_BSS	ENDS
;	COMDAT ?OldAOdd@?1??CheckRegisters@CSAA7134Card@@QAEXPAK000@Z@4KA
_BSS	SEGMENT
?OldAOdd@?1??CheckRegisters@CSAA7134Card@@QAEXPAK000@Z@4KA DD 01H DUP (?) ; `CSAA7134Card::CheckRegisters'::`2'::OldAOdd
_BSS	ENDS
;	COMDAT ?OldBOdd@?1??CheckRegisters@CSAA7134Card@@QAEXPAK000@Z@4KA
_BSS	SEGMENT
?OldBOdd@?1??CheckRegisters@CSAA7134Card@@QAEXPAK000@Z@4KA DD 01H DUP (?) ; `CSAA7134Card::CheckRegisters'::`2'::OldBOdd
_BSS	ENDS
;	COMDAT ?OldAEven@?1??CheckRegisters@CSAA7134Card@@QAEXPAK000@Z@4KA
_BSS	SEGMENT
?OldAEven@?1??CheckRegisters@CSAA7134Card@@QAEXPAK000@Z@4KA DD 01H DUP (?) ; `CSAA7134Card::CheckRegisters'::`2'::OldAEven
_BSS	ENDS
;	COMDAT ?OldBEven@?1??CheckRegisters@CSAA7134Card@@QAEXPAK000@Z@4KA
_BSS	SEGMENT
?OldBEven@?1??CheckRegisters@CSAA7134Card@@QAEXPAK000@Z@4KA DD 01H DUP (?) ; `CSAA7134Card::CheckRegisters'::`2'::OldBEven
;	COMDAT ??_7CSAA7134Card@@6BISAA7134I2CInterface@@@
CONST	SEGMENT
??_7CSAA7134Card@@6BISAA7134I2CInterface@@@ DD FLAT:??_R4CSAA7134Card@@6BISAA7134I2CInterface@@@ ; CSAA7134Card::`vftable'
	DD	FLAT:?SetI2CData@CSAA7134Card@@UAEXE@Z
	DD	FLAT:?GetI2CData@CSAA7134Card@@UAEEXZ
	DD	FLAT:?GetI2CStatus@CSAA7134Card@@UAEEXZ
	DD	FLAT:?SetI2CStatus@CSAA7134Card@@UAEXE@Z
	DD	FLAT:?SetI2CCommand@CSAA7134Card@@UAEXE@Z
	DD	FLAT:?I2CLock@CSAA7134Card@@UAEXXZ
	DD	FLAT:?I2CUnlock@CSAA7134Card@@UAEXXZ
CONST	ENDS
;	COMDAT ??_R4CSAA7134Card@@6BISAA7134I2CInterface@@@
rdata$r	SEGMENT
??_R4CSAA7134Card@@6BISAA7134I2CInterface@@@ DD 00H	; CSAA7134Card::`RTTI Complete Object Locator'
	DD	054H
	DD	00H
	DD	FLAT:??_R0?AVCSAA7134Card@@@8
	DD	FLAT:??_R3CSAA7134Card@@8
rdata$r	ENDS
;	COMDAT ??_7CSAA7134Card@@6BCPCICard@@@
CONST	SEGMENT
??_7CSAA7134Card@@6BCPCICard@@@ DD FLAT:??_R4CSAA7134Card@@6BCPCICard@@@ ; CSAA7134Card::`vftable'
	DD	FLAT:?ManageMyState@CSAA7134Card@@MAEXXZ
	DD	FLAT:?SupportsACPI@CSAA7134Card@@MAEHXZ
	DD	FLAT:?ResetChip@CSAA7134Card@@MAEXXZ
CONST	ENDS
;	COMDAT ??_R4CSAA7134Card@@6BCPCICard@@@
rdata$r	SEGMENT
??_R4CSAA7134Card@@6BCPCICard@@@ DD 00H			; CSAA7134Card::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVCSAA7134Card@@@8
	DD	FLAT:??_R3CSAA7134Card@@8
rdata$r	ENDS
;	COMDAT ??_R3CSAA7134Card@@8
rdata$r	SEGMENT
??_R3CSAA7134Card@@8 DD 00H				; CSAA7134Card::`RTTI Class Hierarchy Descriptor'
	DD	01H
	DD	04H
	DD	FLAT:??_R2CSAA7134Card@@8
rdata$r	ENDS
;	COMDAT ??_R2CSAA7134Card@@8
rdata$r	SEGMENT
??_R2CSAA7134Card@@8 DD FLAT:??_R1A@?0A@EA@CSAA7134Card@@8 ; CSAA7134Card::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@CPCICard@@8
	DD	FLAT:??_R1FE@?0A@EA@ISAA7134I2CInterface@@8
	DD	FLAT:??_R1FI@?0A@EA@CSAA7134Common@@8
rdata$r	ENDS
;	COMDAT ??_R1FI@?0A@EA@CSAA7134Common@@8
rdata$r	SEGMENT
??_R1FI@?0A@EA@CSAA7134Common@@8 DD FLAT:??_R0?AVCSAA7134Common@@@8 ; CSAA7134Common::`RTTI Base Class Descriptor at (88,-1,0,64)'
	DD	00H
	DD	058H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3CSAA7134Common@@8
rdata$r	ENDS
;	COMDAT ??_R3CSAA7134Common@@8
rdata$r	SEGMENT
??_R3CSAA7134Common@@8 DD 00H				; CSAA7134Common::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2CSAA7134Common@@8
rdata$r	ENDS
;	COMDAT ??_R2CSAA7134Common@@8
rdata$r	SEGMENT
??_R2CSAA7134Common@@8 DD FLAT:??_R1A@?0A@EA@CSAA7134Common@@8 ; CSAA7134Common::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@CSAA7134Common@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@CSAA7134Common@@8 DD FLAT:??_R0?AVCSAA7134Common@@@8 ; CSAA7134Common::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3CSAA7134Common@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVCSAA7134Common@@@8
_DATA	SEGMENT
??_R0?AVCSAA7134Common@@@8 DD FLAT:??_7type_info@@6B@	; CSAA7134Common `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVCSAA7134Common@@', 00H
_DATA	ENDS
;	COMDAT ??_R1FE@?0A@EA@ISAA7134I2CInterface@@8
rdata$r	SEGMENT
??_R1FE@?0A@EA@ISAA7134I2CInterface@@8 DD FLAT:??_R0?AVISAA7134I2CInterface@@@8 ; ISAA7134I2CInterface::`RTTI Base Class Descriptor at (84,-1,0,64)'
	DD	00H
	DD	054H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3ISAA7134I2CInterface@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@CSAA7134Card@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@CSAA7134Card@@8 DD FLAT:??_R0?AVCSAA7134Card@@@8 ; CSAA7134Card::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	03H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3CSAA7134Card@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVCSAA7134Card@@@8
_DATA	SEGMENT
??_R0?AVCSAA7134Card@@@8 DD FLAT:??_7type_info@@6B@	; CSAA7134Card `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVCSAA7134Card@@', 00H
_DATA	ENDS
;	COMDAT ??_7ISAA7134I2CInterface@@6B@
CONST	SEGMENT
??_7ISAA7134I2CInterface@@6B@ DD FLAT:??_R4ISAA7134I2CInterface@@6B@ ; ISAA7134I2CInterface::`vftable'
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
CONST	ENDS
;	COMDAT ??_R4ISAA7134I2CInterface@@6B@
rdata$r	SEGMENT
??_R4ISAA7134I2CInterface@@6B@ DD 00H			; ISAA7134I2CInterface::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVISAA7134I2CInterface@@@8
	DD	FLAT:??_R3ISAA7134I2CInterface@@8
rdata$r	ENDS
;	COMDAT ??_R3ISAA7134I2CInterface@@8
rdata$r	SEGMENT
??_R3ISAA7134I2CInterface@@8 DD 00H			; ISAA7134I2CInterface::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2ISAA7134I2CInterface@@8
rdata$r	ENDS
;	COMDAT ??_R2ISAA7134I2CInterface@@8
rdata$r	SEGMENT
??_R2ISAA7134I2CInterface@@8 DD FLAT:??_R1A@?0A@EA@ISAA7134I2CInterface@@8 ; ISAA7134I2CInterface::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@ISAA7134I2CInterface@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@ISAA7134I2CInterface@@8 DD FLAT:??_R0?AVISAA7134I2CInterface@@@8 ; ISAA7134I2CInterface::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3ISAA7134I2CInterface@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVISAA7134I2CInterface@@@8
_DATA	SEGMENT
??_R0?AVISAA7134I2CInterface@@@8 DD FLAT:??_7type_info@@6B@ ; ISAA7134I2CInterface `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVISAA7134I2CInterface@@', 00H
_DATA	ENDS
;	COMDAT ??_C@_1FA@LLKBNJKA@?$AAS?$AAc?$AAa?$AAl?$AAe?$AAr?$AA?5?$AAS?$AAt?$AAa?$AAt?$AAu?$AAs?$AA?3?$AA?5?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF@
CONST	SEGMENT
??_C@_1FA@LLKBNJKA@?$AAS?$AAc?$AAa?$AAl?$AAe?$AAr?$AA?5?$AAS?$AAt?$AAa?$AAt?$AAu?$AAs?$AA?3?$AA?5?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF@ DB 'S'
	DB	00H, 'c', 00H, 'a', 00H, 'l', 00H, 'e', 00H, 'r', 00H, ' ', 00H
	DB	'S', 00H, 't', 00H, 'a', 00H, 't', 00H, 'u', 00H, 's', 00H, ':'
	DB	00H, ' ', 00H, '%', 00H, 's', 00H, '%', 00H, 's', 00H, '%', 00H
	DB	's', 00H, '%', 00H, 's', 00H, '%', 00H, 's', 00H, '%', 00H, 's'
	DB	00H, '%', 00H, 's', 00H, '%', 00H, 's', 00H, '%', 00H, 's', 00H
	DB	'%', 00H, 's', 00H, '%', 00H, 's', 00H, '%', 00H, 's', 00H, 00H
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_1O@CDCGLLDF@?$AAV?$AAI?$AAD?$AA_?$AAA?$AA?5?$AA?$AA@
CONST	SEGMENT
??_C@_1O@CDCGLLDF@?$AAV?$AAI?$AAD?$AA_?$AAA?$AA?5?$AA?$AA@ DB 'V', 00H, 'I'
	DB	00H, 'D', 00H, '_', 00H, 'A', 00H, ' ', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1O@KHEKJEIL@?$AAV?$AAB?$AAI?$AA_?$AAA?$AA?5?$AA?$AA@
CONST	SEGMENT
??_C@_1O@KHEKJEIL@?$AAV?$AAB?$AAI?$AA_?$AAA?$AA?5?$AA?$AA@ DB 'V', 00H, 'B'
	DB	00H, 'I', 00H, '_', 00H, 'A', 00H, ' ', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1O@KFLCMJJL@?$AAV?$AAI?$AAD?$AA_?$AAB?$AA?5?$AA?$AA@
CONST	SEGMENT
??_C@_1O@KFLCMJJL@?$AAV?$AAI?$AAD?$AA_?$AAB?$AA?5?$AA?$AA@ DB 'V', 00H, 'I'
	DB	00H, 'D', 00H, '_', 00H, 'B', 00H, ' ', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1O@CBNOOGCF@?$AAV?$AAB?$AAI?$AA_?$AAB?$AA?5?$AA?$AA@
CONST	SEGMENT
??_C@_1O@CBNOOGCF@?$AAV?$AAB?$AAI?$AA_?$AAB?$AA?5?$AA?$AA@ DB 'V', 00H, 'B'
	DB	00H, 'I', 00H, '_', 00H, 'B', 00H, ' ', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1O@EOEHDILA@?$AAT?$AAR?$AAE?$AAR?$AAR?$AA?5?$AA?$AA@
CONST	SEGMENT
??_C@_1O@EOEHDILA@?$AAT?$AAR?$AAE?$AAR?$AAR?$AA?5?$AA?$AA@ DB 'T', 00H, 'R'
	DB	00H, 'E', 00H, 'R', 00H, 'R', 00H, ' ', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1O@ECCGHIJP@?$AAC?$AAF?$AAE?$AAR?$AAR?$AA?5?$AA?$AA@
CONST	SEGMENT
??_C@_1O@ECCGHIJP@?$AAC?$AAF?$AAE?$AAR?$AAR?$AA?5?$AA?$AA@ DB 'C', 00H, 'F'
	DB	00H, 'E', 00H, 'R', 00H, 'R', 00H, ' ', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1O@PIIJFCPG@?$AAL?$AAD?$AAE?$AAR?$AAR?$AA?5?$AA?$AA@
CONST	SEGMENT
??_C@_1O@PIIJFCPG@?$AAL?$AAD?$AAE?$AAR?$AAR?$AA?5?$AA?$AA@ DB 'L', 00H, 'D'
	DB	00H, 'E', 00H, 'R', 00H, 'R', 00H, ' ', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1BA@OANCFNEP@?$AAW?$AAA?$AAS?$AAR?$AAS?$AAT?$AA?5?$AA?$AA@
CONST	SEGMENT
??_C@_1BA@OANCFNEP@?$AAW?$AAA?$AAS?$AAR?$AAS?$AAT?$AA?5?$AA?$AA@ DB 'W', 00H
	DB	'A', 00H, 'S', 00H, 'R', 00H, 'S', 00H, 'T', 00H, ' ', 00H, 00H
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_1BA@MPHFKDFF@?$AAF?$AAI?$AAD?$AAS?$AAC?$AAI?$AA?5?$AA?$AA@
CONST	SEGMENT
??_C@_1BA@MPHFKDFF@?$AAF?$AAI?$AAD?$AAS?$AAC?$AAI?$AA?5?$AA?$AA@ DB 'F', 00H
	DB	'I', 00H, 'D', 00H, 'S', 00H, 'C', 00H, 'I', 00H, ' ', 00H, 00H
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_1BA@BJCMEAEI@?$AAF?$AAI?$AAD?$AAS?$AAC?$AAO?$AA?5?$AA?$AA@
CONST	SEGMENT
??_C@_1BA@BJCMEAEI@?$AAF?$AAI?$AAD?$AAS?$AAC?$AAO?$AA?5?$AA?$AA@ DB 'F', 00H
	DB	'I', 00H, 'D', 00H, 'S', 00H, 'C', 00H, 'O', 00H, ' ', 00H, 00H
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_1O@JMAIEFME@?$AAD?$AA6?$AA_?$AAD?$AA5?$AA?5?$AA?$AA@
CONST	SEGMENT
??_C@_1O@JMAIEFME@?$AAD?$AA6?$AA_?$AAD?$AA5?$AA?5?$AA?$AA@ DB 'D', 00H, '6'
	DB	00H, '_', 00H, 'D', 00H, '5', 00H, ' ', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1M@NECLJFMJ@?$AAT?$AAA?$AAS?$AAK?$AA?5?$AA?$AA@
CONST	SEGMENT
??_C@_1M@NECLJFMJ@?$AAT?$AAA?$AAS?$AAK?$AA?5?$AA?$AA@ DB 'T', 00H, 'A', 00H
	DB	'S', 00H, 'K', 00H, ' ', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_1DC@MLLCIJLF@?$AAI?$AAR?$AAQ?$AA?5?$AAS?$AAt?$AAa?$AAt?$AAu?$AAs?$AA?3?$AA?5?$AA?$CF?$AAs?$AA?0?$AA?$CF?$AAs?$AA?0?$AA?$CF?$AAs?$AA?0?$AA?$CF?$AAl?$AAd?$AA?$AA@
CONST	SEGMENT
??_C@_1DC@MLLCIJLF@?$AAI?$AAR?$AAQ?$AA?5?$AAS?$AAt?$AAa?$AAt?$AAu?$AAs?$AA?3?$AA?5?$AA?$CF?$AAs?$AA?0?$AA?$CF?$AAs?$AA?0?$AA?$CF?$AAs?$AA?0?$AA?$CF?$AAl?$AAd?$AA?$AA@ DB 'I'
	DB	00H, 'R', 00H, 'Q', 00H, ' ', 00H, 'S', 00H, 't', 00H, 'a', 00H
	DB	't', 00H, 'u', 00H, 's', 00H, ':', 00H, ' ', 00H, '%', 00H, 's'
	DB	00H, ',', 00H, '%', 00H, 's', 00H, ',', 00H, '%', 00H, 's', 00H
	DB	',', 00H, '%', 00H, 'l', 00H, 'd', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1M@NHCOFMD@?$AAv?$AAi?$AAd?$AAe?$AAo?$AA?$AA@
CONST	SEGMENT
??_C@_1M@NHCOFMD@?$AAv?$AAi?$AAd?$AAe?$AAo?$AA?$AA@ DB 'v', 00H, 'i', 00H
	DB	'd', 00H, 'e', 00H, 'o', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_17PDPAKOFJ@?$AAv?$AAb?$AAi?$AA?$AA@
CONST	SEGMENT
??_C@_17PDPAKOFJ@?$AAv?$AAb?$AAi?$AA?$AA@ DB 'v', 00H, 'b', 00H, 'i', 00H
	DB	00H, 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_13FNCBLAIF@?$AAa?$AA?$AA@
CONST	SEGMENT
??_C@_13FNCBLAIF@?$AAa?$AA?$AA@ DB 'a', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_13EPJEBPGL@?$AAb?$AA?$AA@
CONST	SEGMENT
??_C@_13EPJEBPGL@?$AAb?$AA?$AA@ DB 'b', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_19MCEENOHD@?$AAe?$AAv?$AAe?$AAn?$AA?$AA@
CONST	SEGMENT
??_C@_19MCEENOHD@?$AAe?$AAv?$AAe?$AAn?$AA?$AA@ DB 'e', 00H, 'v', 00H, 'e', 00H
	DB	'n', 00H, 00H, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_17LEDHLPJJ@?$AAo?$AAd?$AAd?$AA?$AA@
CONST	SEGMENT
??_C@_17LEDHLPJJ@?$AAo?$AAd?$AAd?$AA?$AA@ DB 'o', 00H, 'd', 00H, 'd', 00H
	DB	00H, 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_1CC@EJGCMEBE@?$AAD?$AAM?$AAA?$AA?5?$AAS?$AAt?$AAa?$AAt?$AAu?$AAs?$AA?3?$AA?5?$AA?$CF?$AA0?$AA2?$AAx?$AA?$AA@
CONST	SEGMENT
??_C@_1CC@EJGCMEBE@?$AAD?$AAM?$AAA?$AA?5?$AAS?$AAt?$AAa?$AAt?$AAu?$AAs?$AA?3?$AA?5?$AA?$CF?$AA0?$AA2?$AAx?$AA?$AA@ DB 'D'
	DB	00H, 'M', 00H, 'A', 00H, ' ', 00H, 'S', 00H, 't', 00H, 'a', 00H
	DB	't', 00H, 'u', 00H, 's', 00H, ':', 00H, ' ', 00H, '%', 00H, '0'
	DB	00H, '2', 00H, 'x', 00H, 00H, 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_1BO@ODPBJBPH@?$AAB?$AA?5?$AAE?$AAv?$AAe?$AAn?$AA?5?$AAC?$AAH?$AAA?$AAN?$AAG?$AAE?$AAD?$AA?$AA@
CONST	SEGMENT
??_C@_1BO@ODPBJBPH@?$AAB?$AA?5?$AAE?$AAv?$AAe?$AAn?$AA?5?$AAC?$AAH?$AAA?$AAN?$AAG?$AAE?$AAD?$AA?$AA@ DB 'B'
	DB	00H, ' ', 00H, 'E', 00H, 'v', 00H, 'e', 00H, 'n', 00H, ' ', 00H
	DB	'C', 00H, 'H', 00H, 'A', 00H, 'N', 00H, 'G', 00H, 'E', 00H, 'D'
	DB	00H, 00H, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_1BO@KHFALEOP@?$AAA?$AA?5?$AAE?$AAv?$AAe?$AAn?$AA?5?$AAC?$AAH?$AAA?$AAN?$AAG?$AAE?$AAD?$AA?$AA@
CONST	SEGMENT
??_C@_1BO@KHFALEOP@?$AAA?$AA?5?$AAE?$AAv?$AAe?$AAn?$AA?5?$AAC?$AAH?$AAA?$AAN?$AAG?$AAE?$AAD?$AA?$AA@ DB 'A'
	DB	00H, ' ', 00H, 'E', 00H, 'v', 00H, 'e', 00H, 'n', 00H, ' ', 00H
	DB	'C', 00H, 'H', 00H, 'A', 00H, 'N', 00H, 'G', 00H, 'E', 00H, 'D'
	DB	00H, 00H, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_1BM@EPAAANND@?$AAB?$AA?5?$AAO?$AAd?$AAd?$AA?5?$AAC?$AAH?$AAA?$AAN?$AAG?$AAE?$AAD?$AA?$AA@
CONST	SEGMENT
??_C@_1BM@EPAAANND@?$AAB?$AA?5?$AAO?$AAd?$AAd?$AA?5?$AAC?$AAH?$AAA?$AAN?$AAG?$AAE?$AAD?$AA?$AA@ DB 'B'
	DB	00H, ' ', 00H, 'O', 00H, 'd', 00H, 'd', 00H, ' ', 00H, 'C', 00H
	DB	'H', 00H, 'A', 00H, 'N', 00H, 'G', 00H, 'E', 00H, 'D', 00H, 00H
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_1BM@ENNOAKPE@?$AAA?$AA?5?$AAO?$AAd?$AAd?$AA?5?$AAC?$AAH?$AAA?$AAN?$AAG?$AAE?$AAD?$AA?$AA@
CONST	SEGMENT
??_C@_1BM@ENNOAKPE@?$AAA?$AA?5?$AAO?$AAd?$AAd?$AA?5?$AAC?$AAH?$AAA?$AAN?$AAG?$AAE?$AAD?$AA?$AA@ DB 'A'
	DB	00H, ' ', 00H, 'O', 00H, 'd', 00H, 'd', 00H, ' ', 00H, 'C', 00H
	DB	'H', 00H, 'A', 00H, 'N', 00H, 'G', 00H, 'E', 00H, 'D', 00H, 00H
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_1GE@CGDOECCL@?$AAd?$AAe?$AAb?$AAu?$AAg?$AA?3?$AA?5?$AAg?$AAp?$AAi?$AAo?$AA?3?$AA?5?$AAm?$AAo?$AAd?$AAe?$AA?$DN?$AA0?$AAx?$AA?$CF?$AA0?$AA7?$AAl?$AAx?$AA?5?$AAi?$AAn?$AA?$DN?$AA0?$AAx?$AA?$CF@
CONST	SEGMENT
??_C@_1GE@CGDOECCL@?$AAd?$AAe?$AAb?$AAu?$AAg?$AA?3?$AA?5?$AAg?$AAp?$AAi?$AAo?$AA?3?$AA?5?$AAm?$AAo?$AAd?$AAe?$AA?$DN?$AA0?$AAx?$AA?$CF?$AA0?$AA7?$AAl?$AAx?$AA?5?$AAi?$AAn?$AA?$DN?$AA0?$AAx?$AA?$CF@ DB 'd'
	DB	00H, 'e', 00H, 'b', 00H, 'u', 00H, 'g', 00H, ':', 00H, ' ', 00H
	DB	'g', 00H, 'p', 00H, 'i', 00H, 'o', 00H, ':', 00H, ' ', 00H, 'm'
	DB	00H, 'o', 00H, 'd', 00H, 'e', 00H, '=', 00H, '0', 00H, 'x', 00H
	DB	'%', 00H, '0', 00H, '7', 00H, 'l', 00H, 'x', 00H, ' ', 00H, 'i'
	DB	00H, 'n', 00H, '=', 00H, '0', 00H, 'x', 00H, '%', 00H, '0', 00H
	DB	'7', 00H, 'l', 00H, 'x', 00H, ' ', 00H, 'o', 00H, 'u', 00H, 't'
	DB	00H, '=', 00H, '0', 00H, 'x', 00H, '%', 00H, '0', 00H, '7', 00H
	DB	'l', 00H, 'x', 00H, 0aH, 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_1BE@FOHKCIPJ@?$AA?$CF?$AA0?$AA3?$AAl?$AAX?$AA?3?$AA?5?$AA?$CF?$AAs?$AA?$AA@
CONST	SEGMENT
??_C@_1BE@FOHKCIPJ@?$AA?$CF?$AA0?$AA3?$AAl?$AAX?$AA?3?$AA?5?$AA?$CF?$AAs?$AA?$AA@ DB '%'
	DB	00H, '0', 00H, '3', 00H, 'l', 00H, 'X', 00H, ':', 00H, ' ', 00H
	DB	'%', 00H, 's', 00H, 00H, 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_1CK@DFDOFDMD@?$AA?$CF?$AAs?$AA?$HM?$AA?$CF?$AA0?$AA2?$AAx?$AA?$CF?$AA0?$AA2?$AAx?$AA?5?$AA?$CF?$AA0?$AA2?$AAx?$AA?$CF?$AA0?$AA2?$AAx?$AA?$AA@
CONST	SEGMENT
??_C@_1CK@DFDOFDMD@?$AA?$CF?$AAs?$AA?$HM?$AA?$CF?$AA0?$AA2?$AAx?$AA?$CF?$AA0?$AA2?$AAx?$AA?5?$AA?$CF?$AA0?$AA2?$AAx?$AA?$CF?$AA0?$AA2?$AAx?$AA?$AA@ DB '%'
	DB	00H, 's', 00H, '|', 00H, '%', 00H, '0', 00H, '2', 00H, 'x', 00H
	DB	'%', 00H, '0', 00H, '2', 00H, 'x', 00H, ' ', 00H, '%', 00H, '0'
	DB	00H, '2', 00H, 'x', 00H, '%', 00H, '0', 00H, '2', 00H, 'x', 00H
	DB	00H, 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_1CK@NHAFGAAE@?$AA?$CF?$AAs?$AA?5?$AA?$CF?$AA0?$AA2?$AAx?$AA?$CF?$AA0?$AA2?$AAx?$AA?5?$AA?$CF?$AA0?$AA2?$AAx?$AA?$CF?$AA0?$AA2?$AAx?$AA?$AA@
CONST	SEGMENT
??_C@_1CK@NHAFGAAE@?$AA?$CF?$AAs?$AA?5?$AA?$CF?$AA0?$AA2?$AAx?$AA?$CF?$AA0?$AA2?$AAx?$AA?5?$AA?$CF?$AA0?$AA2?$AAx?$AA?$CF?$AA0?$AA2?$AAx?$AA?$AA@ DB '%'
	DB	00H, 's', 00H, ' ', 00H, '%', 00H, '0', 00H, '2', 00H, 'x', 00H
	DB	'%', 00H, '0', 00H, '2', 00H, 'x', 00H, ' ', 00H, '%', 00H, '0'
	DB	00H, '2', 00H, 'x', 00H, '%', 00H, '0', 00H, '2', 00H, 'x', 00H
	DB	00H, 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_1CE@OHCOEEJ@?$AA?$CF?$AA0?$AA2?$AAx?$AA?$CF?$AA0?$AA2?$AAx?$AA?5?$AA?$CF?$AA0?$AA2?$AAx?$AA?$CF?$AA0?$AA2?$AAx?$AA?$AA@
CONST	SEGMENT
??_C@_1CE@OHCOEEJ@?$AA?$CF?$AA0?$AA2?$AAx?$AA?$CF?$AA0?$AA2?$AAx?$AA?5?$AA?$CF?$AA0?$AA2?$AAx?$AA?$CF?$AA0?$AA2?$AAx?$AA?$AA@ DB '%'
	DB	00H, '0', 00H, '2', 00H, 'x', 00H, '%', 00H, '0', 00H, '2', 00H
	DB	'x', 00H, ' ', 00H, '%', 00H, '0', 00H, '2', 00H, 'x', 00H, '%'
	DB	00H, '0', 00H, '2', 00H, 'x', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_1BA@LLEKPFHD@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AA4?$AA?$AA@
CONST	SEGMENT
??_C@_1BA@LLEKPFHD@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AA4?$AA?$AA@ DB 'S', 00H
	DB	'A', 00H, 'A', 00H, '7', 00H, '1', 00H, '3', 00H, '4', 00H, 00H
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_1BA@CGJNMNMK@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AA3?$AA?$AA@
CONST	SEGMENT
??_C@_1BA@CGJNMNMK@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AA3?$AA?$AA@ DB 'S', 00H
	DB	'A', 00H, 'A', 00H, '7', 00H, '1', 00H, '3', 00H, '3', 00H, 00H
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_1BA@DECIGCCE@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AA0?$AA?$AA@
CONST	SEGMENT
??_C@_1BA@DECIGCCE@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AA0?$AA?$AA@ DB 'S', 00H
	DB	'A', 00H, 'A', 00H, '7', 00H, '1', 00H, '3', 00H, '0', 00H, 00H
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_19NGFMKOON@?$AA?$CF?$AA0?$AA8?$AAX?$AA?$AA@
CONST	SEGMENT
??_C@_19NGFMKOON@?$AA?$CF?$AA0?$AA8?$AAX?$AA?$AA@ DB '%', 00H, '0', 00H, '8'
	DB	00H, 'X', 00H, 00H, 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_1BO@GCADKNON@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AAx?$AA?5?$AAO?$AAn?$AAC?$AAh?$AAi?$AAp?$AA?$AA@
CONST	SEGMENT
??_C@_1BO@GCADKNON@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AAx?$AA?5?$AAO?$AAn?$AAC?$AAh?$AAi?$AAp?$AA?$AA@ DB 'S'
	DB	00H, 'A', 00H, 'A', 00H, '7', 00H, '1', 00H, '3', 00H, 'x', 00H
	DB	' ', 00H, 'O', 00H, 'n', 00H, 'C', 00H, 'h', 00H, 'i', 00H, 'p'
	DB	00H, 00H, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_19OEJGHIEG@?$AAn?$AAo?$AAn?$AAe?$AA?$AA@
CONST	SEGMENT
??_C@_19OEJGHIEG@?$AAn?$AAo?$AAn?$AAe?$AA?$AA@ DB 'n', 00H, 'o', 00H, 'n', 00H
	DB	'e', 00H, 00H, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_1EO@KEANELKC@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AA4?$AA?3?$AA?5?$AAT?$AAr?$AAy?$AAi?$AAn?$AAg?$AA?5?$AAT?$AAr?$AAi?$AAg?$AAg?$AAe?$AAr?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?5?$AAr?$AAe@
CONST	SEGMENT
??_C@_1EO@KEANELKC@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AA4?$AA?3?$AA?5?$AAT?$AAr?$AAy?$AAi?$AAn?$AAg?$AA?5?$AAT?$AAr?$AAi?$AAg?$AAg?$AAe?$AAr?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?5?$AAr?$AAe@ DB 'S'
	DB	00H, 'A', 00H, 'A', 00H, '7', 00H, '1', 00H, '3', 00H, '4', 00H
	DB	':', 00H, ' ', 00H, 'T', 00H, 'r', 00H, 'y', 00H, 'i', 00H, 'n'
	DB	00H, 'g', 00H, ' ', 00H, 'T', 00H, 'r', 00H, 'i', 00H, 'g', 00H
	DB	'g', 00H, 'e', 00H, 'r', 00H, ' ', 00H, 'E', 00H, 'r', 00H, 'r'
	DB	00H, 'o', 00H, 'r', 00H, ' ', 00H, 'r', 00H, 'e', 00H, 'c', 00H
	DB	'o', 00H, 'v', 00H, 'e', 00H, 'r', 00H, 'y', 00H, 00H, 00H ; `string'
PUBLIC	?TaskID2TaskMask@CSAA7134Card@@IAEEW4eTaskID@CSAA7134Common@@@Z ; CSAA7134Card::TaskID2TaskMask
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\saa7134card.cpp
;	COMDAT ?TaskID2TaskMask@CSAA7134Card@@IAEEW4eTaskID@CSAA7134Common@@@Z
_TEXT	SEGMENT
tv64 = -8						; size = 4
_this$ = -4						; size = 4
_TaskID$ = 8						; size = 4
?TaskID2TaskMask@CSAA7134Card@@IAEEW4eTaskID@CSAA7134Common@@@Z PROC ; CSAA7134Card::TaskID2TaskMask, COMDAT
; _this$ = ecx

; 93   : {

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

; 94   :     switch (TaskID)

  00009	8b 45 08	 mov	 eax, DWORD PTR _TaskID$[ebp]
  0000c	89 45 f8	 mov	 DWORD PTR tv64[ebp], eax
  0000f	83 7d f8 00	 cmp	 DWORD PTR tv64[ebp], 0
  00013	74 08		 je	 SHORT $LN3@TaskID2Tas
  00015	83 7d f8 01	 cmp	 DWORD PTR tv64[ebp], 1
  00019	74 06		 je	 SHORT $LN2@TaskID2Tas
  0001b	eb 08		 jmp	 SHORT $LN4@TaskID2Tas
$LN3@TaskID2Tas:

; 95   :     {
; 96   :     case TASKID_A: return SAA7134_TASK_A_MASK;

  0001d	b0 40		 mov	 al, 64			; 00000040H
  0001f	eb 06		 jmp	 SHORT $LN6@TaskID2Tas
$LN2@TaskID2Tas:

; 97   :     case TASKID_B: return SAA7134_TASK_B_MASK;

  00021	b0 80		 mov	 al, 128			; 00000080H
  00023	eb 02		 jmp	 SHORT $LN6@TaskID2Tas
$LN4@TaskID2Tas:

; 98   :     default:
; 99   :         // NEVER_GET_HERE;
; 100  :         break;
; 101  :     }
; 102  :     return 0;

  00025	32 c0		 xor	 al, al
$LN6@TaskID2Tas:

; 103  : }

  00027	8b e5		 mov	 esp, ebp
  00029	5d		 pop	 ebp
  0002a	c2 04 00	 ret	 4
?TaskID2TaskMask@CSAA7134Card@@IAEEW4eTaskID@CSAA7134Common@@@Z ENDP ; CSAA7134Card::TaskID2TaskMask
_TEXT	ENDS
PUBLIC	?RegionID2Channel@CSAA7134Card@@IAEHW4eRegionID@CSAA7134Common@@@Z ; CSAA7134Card::RegionID2Channel
; Function compile flags: /Odtp
;	COMDAT ?RegionID2Channel@CSAA7134Card@@IAEHW4eRegionID@CSAA7134Common@@@Z
_TEXT	SEGMENT
tv64 = -8						; size = 4
_this$ = -4						; size = 4
_RegionID$ = 8						; size = 4
?RegionID2Channel@CSAA7134Card@@IAEHW4eRegionID@CSAA7134Common@@@Z PROC ; CSAA7134Card::RegionID2Channel, COMDAT
; _this$ = ecx

; 77   : {

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

; 78   :     switch (RegionID)

  00009	8b 45 08	 mov	 eax, DWORD PTR _RegionID$[ebp]
  0000c	89 45 f8	 mov	 DWORD PTR tv64[ebp], eax
  0000f	83 7d f8 03	 cmp	 DWORD PTR tv64[ebp], 3
  00013	77 23		 ja	 SHORT $LN6@RegionID2C
  00015	8b 4d f8	 mov	 ecx, DWORD PTR tv64[ebp]
  00018	ff 24 8d 00 00
	00 00		 jmp	 DWORD PTR $LN10@RegionID2C[ecx*4]
$LN5@RegionID2C:

; 79   :     {
; 80   :     case REGIONID_VIDEO_A: return 0;

  0001f	33 c0		 xor	 eax, eax
  00021	eb 17		 jmp	 SHORT $LN8@RegionID2C
$LN4@RegionID2C:

; 81   :     case REGIONID_VIDEO_B: return 1;

  00023	b8 01 00 00 00	 mov	 eax, 1
  00028	eb 10		 jmp	 SHORT $LN8@RegionID2C
$LN3@RegionID2C:

; 82   :     case REGIONID_VBI_A: return 2;

  0002a	b8 02 00 00 00	 mov	 eax, 2
  0002f	eb 09		 jmp	 SHORT $LN8@RegionID2C
$LN2@RegionID2C:

; 83   :     case REGIONID_VBI_B: return 3;

  00031	b8 03 00 00 00	 mov	 eax, 3
  00036	eb 02		 jmp	 SHORT $LN8@RegionID2C
$LN6@RegionID2C:

; 84   :     default:
; 85   :         // NEVER_GET_HERE;
; 86   :         break;
; 87   :     }
; 88   :     return 0;

  00038	33 c0		 xor	 eax, eax
$LN8@RegionID2C:

; 89   : }

  0003a	8b e5		 mov	 esp, ebp
  0003c	5d		 pop	 ebp
  0003d	c2 04 00	 ret	 4
$LN10@RegionID2C:
  00040	00 00 00 00	 DD	 $LN5@RegionID2C
  00044	00 00 00 00	 DD	 $LN4@RegionID2C
  00048	00 00 00 00	 DD	 $LN3@RegionID2C
  0004c	00 00 00 00	 DD	 $LN2@RegionID2C
?RegionID2Channel@CSAA7134Card@@IAEHW4eRegionID@CSAA7134Common@@@Z ENDP ; CSAA7134Card::RegionID2Channel
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0ISAA7134I2CInterface@@QAE@XZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??0ISAA7134I2CInterface@@QAE@XZ PROC			; ISAA7134I2CInterface::ISAA7134I2CInterface, 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 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], OFFSET ??_7ISAA7134I2CInterface@@6B@
  00010	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00013	8b e5		 mov	 esp, ebp
  00015	5d		 pop	 ebp
  00016	c3		 ret	 0
??0ISAA7134I2CInterface@@QAE@XZ ENDP			; ISAA7134I2CInterface::ISAA7134I2CInterface
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\saa7134card.h
_TEXT	ENDS
;	COMDAT ?ResetChip@CSAA7134Card@@MAEXXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?ResetChip@CSAA7134Card@@MAEXXZ PROC			; CSAA7134Card::ResetChip, COMDAT
; _this$ = ecx

; 431  :     void ResetChip() {;};

  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 e5		 mov	 esp, ebp
  00009	5d		 pop	 ebp
  0000a	c3		 ret	 0
?ResetChip@CSAA7134Card@@MAEXXZ ENDP			; CSAA7134Card::ResetChip
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?SupportsACPI@CSAA7134Card@@MAEHXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?SupportsACPI@CSAA7134Card@@MAEHXZ PROC			; CSAA7134Card::SupportsACPI, COMDAT
; _this$ = ecx

; 429  :     BOOL SupportsACPI()    {return    TRUE;};

  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	b8 01 00 00 00	 mov	 eax, 1
  0000c	8b e5		 mov	 esp, ebp
  0000e	5d		 pop	 ebp
  0000f	c3		 ret	 0
?SupportsACPI@CSAA7134Card@@MAEHXZ ENDP			; CSAA7134Card::SupportsACPI
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\saa7134card.cpp
;	COMDAT ?I2CUnlock@CSAA7134Card@@UAEXXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?I2CUnlock@CSAA7134Card@@UAEXXZ PROC			; CSAA7134Card::I2CUnlock, COMDAT
; _this$ = ecx

; 914  : {

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

; 915  :     UnlockCard();

  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	83 e9 54	 sub	 ecx, 84			; 00000054H
  0000d	e8 00 00 00 00	 call	 ?UnlockCard@CPCICard@@QAEXXZ ; CPCICard::UnlockCard

; 916  : }

  00012	8b e5		 mov	 esp, ebp
  00014	5d		 pop	 ebp
  00015	c3		 ret	 0
?I2CUnlock@CSAA7134Card@@UAEXXZ ENDP			; CSAA7134Card::I2CUnlock
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?I2CLock@CSAA7134Card@@UAEXXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?I2CLock@CSAA7134Card@@UAEXXZ PROC			; CSAA7134Card::I2CLock, COMDAT
; _this$ = ecx

; 909  : {

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

; 910  :     LockCard();

  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	83 e9 54	 sub	 ecx, 84			; 00000054H
  0000d	e8 00 00 00 00	 call	 ?LockCard@CPCICard@@QAEXXZ ; CPCICard::LockCard

; 911  : }

  00012	8b e5		 mov	 esp, ebp
  00014	5d		 pop	 ebp
  00015	c3		 ret	 0
?I2CLock@CSAA7134Card@@UAEXXZ ENDP			; CSAA7134Card::I2CLock
PUBLIC	?GetChipType@CSAA7134Card@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ ; CSAA7134Card::GetChipType
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?GetChipType@CSAA7134Card@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?GetChipType@CSAA7134Card@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ$0
__ehfuncinfo$?GetChipType@CSAA7134Card@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?GetChipType@CSAA7134Card@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?GetChipType@CSAA7134Card@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ
_TEXT	SEGMENT
tv70 = -24						; size = 4
_this$ = -20						; size = 4
$T328616 = -16						; size = 4
__$EHRec$ = -12						; size = 12
___$ReturnUdt$ = 8					; size = 4
?GetChipType@CSAA7134Card@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ PROC ; CSAA7134Card::GetChipType, COMDAT
; _this$ = ecx

; 973  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?GetChipType@CSAA7134Card@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 0c	 sub	 esp, 12			; 0000000cH
  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 ec	 mov	 DWORD PTR _this$[ebp], ecx
  00028	c7 45 f0 00 00
	00 00		 mov	 DWORD PTR $T328616[ebp], 0

; 974  :     switch (m_DeviceId)

  0002f	8b 45 ec	 mov	 eax, DWORD PTR _this$[ebp]
  00032	0f b7 48 08	 movzx	 ecx, WORD PTR [eax+8]
  00036	89 4d e8	 mov	 DWORD PTR tv70[ebp], ecx
  00039	81 7d e8 30 71
	00 00		 cmp	 DWORD PTR tv70[ebp], 28976 ; 00007130H
  00040	74 14		 je	 SHORT $LN3@GetChipTyp
  00042	81 7d e8 33 71
	00 00		 cmp	 DWORD PTR tv70[ebp], 28979 ; 00007133H
  00049	74 2d		 je	 SHORT $LN2@GetChipTyp
  0004b	81 7d e8 34 71
	00 00		 cmp	 DWORD PTR tv70[ebp], 28980 ; 00007134H
  00052	74 46		 je	 SHORT $LN1@GetChipTyp
  00054	eb 66		 jmp	 SHORT $LN4@GetChipTyp
$LN3@GetChipTyp:

; 975  :     {
; 976  :     case 0x7130:
; 977  :         return _T("SAA7130");

  00056	68 00 00 00 00	 push	 OFFSET ??_C@_1BA@DECIGCCE@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AA0?$AA?$AA@
  0005b	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  0005e	e8 00 00 00 00	 call	 ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@PB_W@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
  00063	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  0006a	8b 55 f0	 mov	 edx, DWORD PTR $T328616[ebp]
  0006d	83 ca 01	 or	 edx, 1
  00070	89 55 f0	 mov	 DWORD PTR $T328616[ebp], edx
  00073	8b 45 08	 mov	 eax, DWORD PTR ___$ReturnUdt$[ebp]
  00076	eb 64		 jmp	 SHORT $LN6@GetChipTyp
$LN2@GetChipTyp:

; 978  :     case 0x7133:
; 979  :         return _T("SAA7133");

  00078	68 00 00 00 00	 push	 OFFSET ??_C@_1BA@CGJNMNMK@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AA3?$AA?$AA@
  0007d	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  00080	e8 00 00 00 00	 call	 ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@PB_W@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
  00085	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  0008c	8b 45 f0	 mov	 eax, DWORD PTR $T328616[ebp]
  0008f	83 c8 01	 or	 eax, 1
  00092	89 45 f0	 mov	 DWORD PTR $T328616[ebp], eax
  00095	8b 45 08	 mov	 eax, DWORD PTR ___$ReturnUdt$[ebp]
  00098	eb 42		 jmp	 SHORT $LN6@GetChipTyp
$LN1@GetChipTyp:

; 980  :     case 0x7134:
; 981  :         return _T("SAA7134");

  0009a	68 00 00 00 00	 push	 OFFSET ??_C@_1BA@LLEKPFHD@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AA4?$AA?$AA@
  0009f	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  000a2	e8 00 00 00 00	 call	 ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@PB_W@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
  000a7	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  000ae	8b 4d f0	 mov	 ecx, DWORD PTR $T328616[ebp]
  000b1	83 c9 01	 or	 ecx, 1
  000b4	89 4d f0	 mov	 DWORD PTR $T328616[ebp], ecx
  000b7	8b 45 08	 mov	 eax, DWORD PTR ___$ReturnUdt$[ebp]
  000ba	eb 20		 jmp	 SHORT $LN6@GetChipTyp
$LN4@GetChipTyp:

; 982  :     }
; 983  :     return _T("n/a");

  000bc	68 00 00 00 00	 push	 OFFSET ??_C@_17CKNMLFJK@?$AAn?$AA?1?$AAa?$AA?$AA@
  000c1	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  000c4	e8 00 00 00 00	 call	 ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@PB_W@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
  000c9	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  000d0	8b 55 f0	 mov	 edx, DWORD PTR $T328616[ebp]
  000d3	83 ca 01	 or	 edx, 1
  000d6	89 55 f0	 mov	 DWORD PTR $T328616[ebp], edx
  000d9	8b 45 08	 mov	 eax, DWORD PTR ___$ReturnUdt$[ebp]
$LN6@GetChipTyp:

; 984  : }

  000dc	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  000df	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000e6	59		 pop	 ecx
  000e7	8b e5		 mov	 esp, ebp
  000e9	5d		 pop	 ebp
  000ea	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?GetChipType@CSAA7134Card@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ$0:
  00000	8b 45 f0	 mov	 eax, DWORD PTR $T328616[ebp]
  00003	83 e0 01	 and	 eax, 1
  00006	0f 84 0c 00 00
	00		 je	 $LN9@GetChipTyp
  0000c	83 65 f0 fe	 and	 DWORD PTR $T328616[ebp], -2 ; fffffffeH
  00010	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  00013	e9 00 00 00 00	 jmp	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
$LN9@GetChipTyp:
  00018	c3		 ret	 0
__ehhandler$?GetChipType@CSAA7134Card@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ:
  00019	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0001d	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00020	8b 4a f0	 mov	 ecx, DWORD PTR [edx-16]
  00023	33 c8		 xor	 ecx, eax
  00025	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0002a	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?GetChipType@CSAA7134Card@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ
  0002f	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?GetChipType@CSAA7134Card@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ ENDP ; CSAA7134Card::GetChipType
PUBLIC	__$ArrayPad$
PUBLIC	?ChipSettingProc@CSAA7134Card@@SGHPAUHWND__@@IIJ@Z ; CSAA7134Card::ChipSettingProc
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?ChipSettingProc@CSAA7134Card@@SGHPAUHWND__@@IIJ@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?ChipSettingProc@CSAA7134Card@@SGHPAUHWND__@@IIJ@Z$0
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?ChipSettingProc@CSAA7134Card@@SGHPAUHWND__@@IIJ@Z$1
__ehfuncinfo$?ChipSettingProc@CSAA7134Card@@SGHPAUHWND__@@IIJ@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$?ChipSettingProc@CSAA7134Card@@SGHPAUHWND__@@IIJ@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?ChipSettingProc@CSAA7134Card@@SGHPAUHWND__@@IIJ@Z
_TEXT	SEGMENT
tv215 = -160						; size = 4
tv217 = -156						; size = 4
tv213 = -152						; size = 4
tv216 = -148						; size = 4
tv85 = -144						; size = 4
$T328628 = -140						; size = 28
$T328627 = -112						; size = 28
_szVendorId$ = -84					; size = 18
_dwCardId$ = -64					; size = 4
_szCardId$ = -60					; size = 18
_pThis$ = -40						; size = 4
_szDeviceId$ = -36					; size = 18
__$ArrayPad$ = -16					; size = 4
__$EHRec$ = -12						; size = 12
_hDlg$ = 8						; size = 4
_message$ = 12						; size = 4
_wParam$ = 16						; size = 4
_lParam$ = 20						; size = 4
?ChipSettingProc@CSAA7134Card@@SGHPAUHWND__@@IIJ@Z PROC	; CSAA7134Card::ChipSettingProc, COMDAT

; 920  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?ChipSettingProc@CSAA7134Card@@SGHPAUHWND__@@IIJ@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	81 ec 94 00 00
	00		 sub	 esp, 148		; 00000094H
  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001c	33 c5		 xor	 eax, ebp
  0001e	89 45 f0	 mov	 DWORD PTR __$ArrayPad$[ebp], eax
  00021	50		 push	 eax
  00022	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00025	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax

; 921  :     CSAA7134Card* pThis = NULL;

  0002b	c7 45 d8 00 00
	00 00		 mov	 DWORD PTR _pThis$[ebp], 0

; 922  :     TCHAR szCardId[9] = _T("none");

  00032	a1 00 00 00 00	 mov	 eax, DWORD PTR ??_C@_19OEJGHIEG@?$AAn?$AAo?$AAn?$AAe?$AA?$AA@
  00037	89 45 c4	 mov	 DWORD PTR _szCardId$[ebp], eax
  0003a	8b 0d 04 00 00
	00		 mov	 ecx, DWORD PTR ??_C@_19OEJGHIEG@?$AAn?$AAo?$AAn?$AAe?$AA?$AA@+4
  00040	89 4d c8	 mov	 DWORD PTR _szCardId$[ebp+4], ecx
  00043	66 8b 15 08 00
	00 00		 mov	 dx, WORD PTR ??_C@_19OEJGHIEG@?$AAn?$AAo?$AAn?$AAe?$AA?$AA@+8
  0004a	66 89 55 cc	 mov	 WORD PTR _szCardId$[ebp+8], dx
  0004e	33 c0		 xor	 eax, eax
  00050	89 45 ce	 mov	 DWORD PTR _szCardId$[ebp+10], eax
  00053	89 45 d2	 mov	 DWORD PTR _szCardId$[ebp+14], eax

; 923  :     TCHAR szVendorId[9] = _T("none");

  00056	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ??_C@_19OEJGHIEG@?$AAn?$AAo?$AAn?$AAe?$AA?$AA@
  0005c	89 4d ac	 mov	 DWORD PTR _szVendorId$[ebp], ecx
  0005f	8b 15 04 00 00
	00		 mov	 edx, DWORD PTR ??_C@_19OEJGHIEG@?$AAn?$AAo?$AAn?$AAe?$AA?$AA@+4
  00065	89 55 b0	 mov	 DWORD PTR _szVendorId$[ebp+4], edx
  00068	66 a1 08 00 00
	00		 mov	 ax, WORD PTR ??_C@_19OEJGHIEG@?$AAn?$AAo?$AAn?$AAe?$AA?$AA@+8
  0006e	66 89 45 b4	 mov	 WORD PTR _szVendorId$[ebp+8], ax
  00072	33 c9		 xor	 ecx, ecx
  00074	89 4d b6	 mov	 DWORD PTR _szVendorId$[ebp+10], ecx
  00077	89 4d ba	 mov	 DWORD PTR _szVendorId$[ebp+14], ecx

; 924  :     TCHAR szDeviceId[9] = _T("none");

  0007a	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ??_C@_19OEJGHIEG@?$AAn?$AAo?$AAn?$AAe?$AA?$AA@
  00080	89 55 dc	 mov	 DWORD PTR _szDeviceId$[ebp], edx
  00083	a1 04 00 00 00	 mov	 eax, DWORD PTR ??_C@_19OEJGHIEG@?$AAn?$AAo?$AAn?$AAe?$AA?$AA@+4
  00088	89 45 e0	 mov	 DWORD PTR _szDeviceId$[ebp+4], eax
  0008b	66 8b 0d 08 00
	00 00		 mov	 cx, WORD PTR ??_C@_19OEJGHIEG@?$AAn?$AAo?$AAn?$AAe?$AA?$AA@+8
  00092	66 89 4d e4	 mov	 WORD PTR _szDeviceId$[ebp+8], cx
  00096	33 d2		 xor	 edx, edx
  00098	89 55 e6	 mov	 DWORD PTR _szDeviceId$[ebp+10], edx
  0009b	89 55 ea	 mov	 DWORD PTR _szDeviceId$[ebp+14], edx

; 925  :     DWORD dwCardId(0);

  0009e	c7 45 c0 00 00
	00 00		 mov	 DWORD PTR _dwCardId$[ebp], 0

; 926  : 
; 927  :     switch (message)

  000a5	8b 45 0c	 mov	 eax, DWORD PTR _message$[ebp]
  000a8	89 85 70 ff ff
	ff		 mov	 DWORD PTR tv85[ebp], eax
  000ae	81 bd 70 ff ff
	ff 10 01 00 00	 cmp	 DWORD PTR tv85[ebp], 272 ; 00000110H
  000b8	74 15		 je	 SHORT $LN8@ChipSettin
  000ba	81 bd 70 ff ff
	ff 11 01 00 00	 cmp	 DWORD PTR tv85[ebp], 273 ; 00000111H
  000c4	0f 84 9c 01 00
	00		 je	 $LN3@ChipSettin
  000ca	e9 c5 01 00 00	 jmp	 $LN9@ChipSettin
$LN8@ChipSettin:

; 928  :     {
; 929  :     case WM_INITDIALOG:
; 930  :         pThis = (CSAA7134Card*)lParam;

  000cf	8b 4d 14	 mov	 ecx, DWORD PTR _lParam$[ebp]
  000d2	89 4d d8	 mov	 DWORD PTR _pThis$[ebp], ecx

; 931  : 
; 932  :         SetDlgItemText(hDlg, IDC_BT_CHIP_TYPE, pThis->GetChipType().c_str());

  000d5	8d 55 90	 lea	 edx, DWORD PTR $T328627[ebp]
  000d8	52		 push	 edx
  000d9	8b 4d d8	 mov	 ecx, DWORD PTR _pThis$[ebp]
  000dc	e8 00 00 00 00	 call	 ?GetChipType@CSAA7134Card@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ ; CSAA7134Card::GetChipType
  000e1	89 85 6c ff ff
	ff		 mov	 DWORD PTR tv216[ebp], eax
  000e7	8b 85 6c ff ff
	ff		 mov	 eax, DWORD PTR tv216[ebp]
  000ed	89 85 68 ff ff
	ff		 mov	 DWORD PTR tv213[ebp], eax
  000f3	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  000fa	8b 8d 68 ff ff
	ff		 mov	 ecx, DWORD PTR tv213[ebp]
  00100	e8 00 00 00 00	 call	 ?c_str@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEPB_WXZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::c_str
  00105	50		 push	 eax
  00106	68 67 07 00 00	 push	 1895			; 00000767H
  0010b	8b 4d 08	 mov	 ecx, DWORD PTR _hDlg$[ebp]
  0010e	51		 push	 ecx
  0010f	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__SetDlgItemTextW@12
  00115	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0011c	8d 4d 90	 lea	 ecx, DWORD PTR $T328627[ebp]
  0011f	e8 00 00 00 00	 call	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >

; 933  : 
; 934  :         _stprintf(szVendorId,_T("%04X"), pThis->GetVendorId());

  00124	8b 4d d8	 mov	 ecx, DWORD PTR _pThis$[ebp]
  00127	e8 00 00 00 00	 call	 ?GetVendorId@CPCICard@@QAEGXZ ; CPCICard::GetVendorId
  0012c	0f b7 d0	 movzx	 edx, ax
  0012f	52		 push	 edx
  00130	68 00 00 00 00	 push	 OFFSET ??_C@_19KBJOGOJG@?$AA?$CF?$AA0?$AA4?$AAX?$AA?$AA@
  00135	8d 45 ac	 lea	 eax, DWORD PTR _szVendorId$[ebp]
  00138	50		 push	 eax
  00139	e8 00 00 00 00	 call	 __swprintf
  0013e	83 c4 0c	 add	 esp, 12			; 0000000cH

; 935  :         SetDlgItemText(hDlg, IDC_BT_VENDOR_ID, szVendorId);

  00141	8d 4d ac	 lea	 ecx, DWORD PTR _szVendorId$[ebp]
  00144	51		 push	 ecx
  00145	68 2e 07 00 00	 push	 1838			; 0000072eH
  0014a	8b 55 08	 mov	 edx, DWORD PTR _hDlg$[ebp]
  0014d	52		 push	 edx
  0014e	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__SetDlgItemTextW@12

; 936  : 
; 937  :         _stprintf(szDeviceId,_T("%04X"), pThis->GetDeviceId());

  00154	8b 4d d8	 mov	 ecx, DWORD PTR _pThis$[ebp]
  00157	e8 00 00 00 00	 call	 ?GetDeviceId@CPCICard@@QAEGXZ ; CPCICard::GetDeviceId
  0015c	0f b7 c0	 movzx	 eax, ax
  0015f	50		 push	 eax
  00160	68 00 00 00 00	 push	 OFFSET ??_C@_19KBJOGOJG@?$AA?$CF?$AA0?$AA4?$AAX?$AA?$AA@
  00165	8d 4d dc	 lea	 ecx, DWORD PTR _szDeviceId$[ebp]
  00168	51		 push	 ecx
  00169	e8 00 00 00 00	 call	 __swprintf
  0016e	83 c4 0c	 add	 esp, 12			; 0000000cH

; 938  :         SetDlgItemText(hDlg, IDC_BT_DEVICE_ID, szDeviceId);

  00171	8d 55 dc	 lea	 edx, DWORD PTR _szDeviceId$[ebp]
  00174	52		 push	 edx
  00175	68 2f 07 00 00	 push	 1839			; 0000072fH
  0017a	8b 45 08	 mov	 eax, DWORD PTR _hDlg$[ebp]
  0017d	50		 push	 eax
  0017e	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__SetDlgItemTextW@12

; 939  : 
; 940  :         SetDlgItemText(hDlg, IDC_TUNER_TYPE, pThis->GetTunerType().c_str());

  00184	8d 8d 74 ff ff
	ff		 lea	 ecx, DWORD PTR $T328628[ebp]
  0018a	51		 push	 ecx
  0018b	8b 4d d8	 mov	 ecx, DWORD PTR _pThis$[ebp]
  0018e	e8 00 00 00 00	 call	 ?GetTunerType@CSAA7134Card@@QAE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ ; CSAA7134Card::GetTunerType
  00193	89 85 64 ff ff
	ff		 mov	 DWORD PTR tv217[ebp], eax
  00199	8b 95 64 ff ff
	ff		 mov	 edx, DWORD PTR tv217[ebp]
  0019f	89 95 60 ff ff
	ff		 mov	 DWORD PTR tv215[ebp], edx
  001a5	c7 45 fc 01 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 1
  001ac	8b 8d 60 ff ff
	ff		 mov	 ecx, DWORD PTR tv215[ebp]
  001b2	e8 00 00 00 00	 call	 ?c_str@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEPB_WXZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::c_str
  001b7	50		 push	 eax
  001b8	68 35 07 00 00	 push	 1845			; 00000735H
  001bd	8b 45 08	 mov	 eax, DWORD PTR _hDlg$[ebp]
  001c0	50		 push	 eax
  001c1	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__SetDlgItemTextW@12
  001c7	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  001ce	8d 8d 74 ff ff
	ff		 lea	 ecx, DWORD PTR $T328628[ebp]
  001d4	e8 00 00 00 00	 call	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >

; 941  : 
; 942  :         if ((pThis->m_DeviceId == 0x7134) || pThis->m_DeviceId == 0x7133)

  001d9	8b 4d d8	 mov	 ecx, DWORD PTR _pThis$[ebp]
  001dc	0f b7 51 08	 movzx	 edx, WORD PTR [ecx+8]
  001e0	81 fa 34 71 00
	00		 cmp	 edx, 28980		; 00007134H
  001e6	74 0f		 je	 SHORT $LN6@ChipSettin
  001e8	8b 45 d8	 mov	 eax, DWORD PTR _pThis$[ebp]
  001eb	0f b7 48 08	 movzx	 ecx, WORD PTR [eax+8]
  001ef	81 f9 33 71 00
	00		 cmp	 ecx, 28979		; 00007133H
  001f5	75 16		 jne	 SHORT $LN7@ChipSettin
$LN6@ChipSettin:

; 943  :         {
; 944  :             SetDlgItemText(hDlg, IDC_AUDIO_DECODER_TYPE, _T("SAA713x OnChip"));

  001f7	68 00 00 00 00	 push	 OFFSET ??_C@_1BO@GCADKNON@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AAx?$AA?5?$AAO?$AAn?$AAC?$AAh?$AAi?$AAp?$AA?$AA@
  001fc	68 36 07 00 00	 push	 1846			; 00000736H
  00201	8b 55 08	 mov	 edx, DWORD PTR _hDlg$[ebp]
  00204	52		 push	 edx
  00205	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__SetDlgItemTextW@12

; 945  :         }
; 946  :         else

  0020b	eb 14		 jmp	 SHORT $LN5@ChipSettin
$LN7@ChipSettin:

; 947  :         {
; 948  :             SetDlgItemText(hDlg, IDC_AUDIO_DECODER_TYPE, _T("n/a"));

  0020d	68 00 00 00 00	 push	 OFFSET ??_C@_17CKNMLFJK@?$AAn?$AA?1?$AAa?$AA?$AA@
  00212	68 36 07 00 00	 push	 1846			; 00000736H
  00217	8b 45 08	 mov	 eax, DWORD PTR _hDlg$[ebp]
  0021a	50		 push	 eax
  0021b	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__SetDlgItemTextW@12
$LN5@ChipSettin:

; 949  :         }
; 950  : 
; 951  :         dwCardId = pThis->GetSubSystemId();

  00221	8b 4d d8	 mov	 ecx, DWORD PTR _pThis$[ebp]
  00224	e8 00 00 00 00	 call	 ?GetSubSystemId@CPCICard@@QAEKXZ ; CPCICard::GetSubSystemId
  00229	89 45 c0	 mov	 DWORD PTR _dwCardId$[ebp], eax

; 952  :         if (dwCardId != 0x00001131)

  0022c	81 7d c0 31 11
	00 00		 cmp	 DWORD PTR _dwCardId$[ebp], 4401 ; 00001131H
  00233	74 15		 je	 SHORT $LN4@ChipSettin

; 953  :         {
; 954  :             _stprintf(szCardId, _T("%08X"), dwCardId);

  00235	8b 4d c0	 mov	 ecx, DWORD PTR _dwCardId$[ebp]
  00238	51		 push	 ecx
  00239	68 00 00 00 00	 push	 OFFSET ??_C@_19NGFMKOON@?$AA?$CF?$AA0?$AA8?$AAX?$AA?$AA@
  0023e	8d 55 c4	 lea	 edx, DWORD PTR _szCardId$[ebp]
  00241	52		 push	 edx
  00242	e8 00 00 00 00	 call	 __swprintf
  00247	83 c4 0c	 add	 esp, 12			; 0000000cH
$LN4@ChipSettin:

; 955  :         }
; 956  :         SetDlgItemText(hDlg, IDC_AUTODECTECTID, szCardId);

  0024a	8d 45 c4	 lea	 eax, DWORD PTR _szCardId$[ebp]
  0024d	50		 push	 eax
  0024e	68 7e 05 00 00	 push	 1406			; 0000057eH
  00253	8b 4d 08	 mov	 ecx, DWORD PTR _hDlg$[ebp]
  00256	51		 push	 ecx
  00257	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__SetDlgItemTextW@12

; 957  :         return TRUE;

  0025d	b8 01 00 00 00	 mov	 eax, 1
  00262	eb 32		 jmp	 SHORT $LN11@ChipSettin

; 958  :         break;

  00264	eb 2e		 jmp	 SHORT $LN9@ChipSettin
$LN3@ChipSettin:

; 959  : 
; 960  :     case WM_COMMAND:
; 961  :         if ((LOWORD(wParam) == IDOK) || (LOWORD(wParam) == IDCANCEL))

  00266	8b 55 10	 mov	 edx, DWORD PTR _wParam$[ebp]
  00269	81 e2 ff ff 00
	00		 and	 edx, 65535		; 0000ffffH
  0026f	0f b7 c2	 movzx	 eax, dx
  00272	83 f8 01	 cmp	 eax, 1
  00275	74 11		 je	 SHORT $LN1@ChipSettin
  00277	8b 4d 10	 mov	 ecx, DWORD PTR _wParam$[ebp]
  0027a	81 e1 ff ff 00
	00		 and	 ecx, 65535		; 0000ffffH
  00280	0f b7 d1	 movzx	 edx, cx
  00283	83 fa 02	 cmp	 edx, 2
  00286	75 0c		 jne	 SHORT $LN9@ChipSettin
$LN1@ChipSettin:

; 962  :         {
; 963  :             EndDialog(hDlg, TRUE);

  00288	6a 01		 push	 1
  0028a	8b 45 08	 mov	 eax, DWORD PTR _hDlg$[ebp]
  0028d	50		 push	 eax
  0028e	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EndDialog@8
$LN9@ChipSettin:

; 964  :         }
; 965  :         break;
; 966  :     }
; 967  : 
; 968  :     return (FALSE);

  00294	33 c0		 xor	 eax, eax
$LN11@ChipSettin:

; 969  : }

  00296	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00299	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  002a0	59		 pop	 ecx
  002a1	8b 4d f0	 mov	 ecx, DWORD PTR __$ArrayPad$[ebp]
  002a4	33 cd		 xor	 ecx, ebp
  002a6	e8 00 00 00 00	 call	 @__security_check_cookie@4
  002ab	8b e5		 mov	 esp, ebp
  002ad	5d		 pop	 ebp
  002ae	c2 10 00	 ret	 16			; 00000010H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?ChipSettingProc@CSAA7134Card@@SGHPAUHWND__@@IIJ@Z$0:
  00000	8d 4d 90	 lea	 ecx, DWORD PTR $T328627[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
__unwindfunclet$?ChipSettingProc@CSAA7134Card@@SGHPAUHWND__@@IIJ@Z$1:
  00008	8d 8d 74 ff ff
	ff		 lea	 ecx, DWORD PTR $T328628[ebp]
  0000e	e9 00 00 00 00	 jmp	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
__ehhandler$?ChipSettingProc@CSAA7134Card@@SGHPAUHWND__@@IIJ@Z:
  00013	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00017	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0001a	8b 8a 68 ff ff
	ff		 mov	 ecx, DWORD PTR [edx-152]
  00020	33 c8		 xor	 ecx, eax
  00022	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00027	8b 4a fc	 mov	 ecx, DWORD PTR [edx-4]
  0002a	33 c8		 xor	 ecx, eax
  0002c	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00031	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?ChipSettingProc@CSAA7134Card@@SGHPAUHWND__@@IIJ@Z
  00036	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?ChipSettingProc@CSAA7134Card@@SGHPAUHWND__@@IIJ@Z ENDP	; CSAA7134Card::ChipSettingProc
PUBLIC	?DirectGetByte@CSAA7134Card@@QAEEK@Z		; CSAA7134Card::DirectGetByte
; Function compile flags: /Odtp
;	COMDAT ?DirectGetByte@CSAA7134Card@@QAEEK@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_dwAddress$ = 8						; size = 4
?DirectGetByte@CSAA7134Card@@QAEEK@Z PROC		; CSAA7134Card::DirectGetByte, COMDAT
; _this$ = ecx

; 1200 : {

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

; 1201 :     return ReadByte(dwAddress);

  00007	8b 45 08	 mov	 eax, DWORD PTR _dwAddress$[ebp]
  0000a	50		 push	 eax
  0000b	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000e	e8 00 00 00 00	 call	 ?ReadByte@CPCICard@@QAEEK@Z ; CPCICard::ReadByte

; 1202 : }

  00013	8b e5		 mov	 esp, ebp
  00015	5d		 pop	 ebp
  00016	c2 04 00	 ret	 4
?DirectGetByte@CSAA7134Card@@QAEEK@Z ENDP		; CSAA7134Card::DirectGetByte
_TEXT	ENDS
PUBLIC	?CheckRegisters@CSAA7134Card@@QAEXPAK000@Z	; CSAA7134Card::CheckRegisters
; Function compile flags: /Odtp
;	COMDAT ?CheckRegisters@CSAA7134Card@@QAEXPAK000@Z
_TEXT	SEGMENT
tv213 = -76						; size = 4
tv208 = -72						; size = 4
tv203 = -68						; size = 4
tv198 = -64						; size = 4
tv193 = -60						; size = 4
tv188 = -56						; size = 4
tv183 = -52						; size = 4
tv178 = -48						; size = 4
tv173 = -44						; size = 4
tv168 = -40						; size = 4
tv163 = -36						; size = 4
tv158 = -32						; size = 4
tv148 = -28						; size = 4
tv144 = -24						; size = 4
tv140 = -20						; size = 4
_this$ = -16						; size = 4
_ScalerStatus$ = -12					; size = 2
_DMAStatus$ = -8					; size = 4
_IRQStatus$ = -4					; size = 4
_AOdd$ = 8						; size = 4
_AEven$ = 12						; size = 4
_BOdd$ = 16						; size = 4
_BEven$ = 20						; size = 4
?CheckRegisters@CSAA7134Card@@QAEXPAK000@Z PROC		; CSAA7134Card::CheckRegisters, COMDAT
; _this$ = ecx

; 1116 : {

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

; 1117 :     static WORD OldScalerStatus = 0;
; 1118 :     static DWORD OldIRQStatus = 0;
; 1119 :     static DWORD OldDMAStatus = 0;
; 1120 :     static DWORD OldAOdd = 0;
; 1121 :     static DWORD OldBOdd = 0;
; 1122 :     static DWORD OldAEven = 0;
; 1123 :     static DWORD OldBEven = 0;
; 1124 : 
; 1125 :     WORD ScalerStatus  = ReadWord(SAA7134_SCALER_STATUS);

  00009	6a 06		 push	 6
  0000b	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0000e	e8 00 00 00 00	 call	 ?ReadWord@CPCICard@@QAEGK@Z ; CPCICard::ReadWord
  00013	66 89 45 f4	 mov	 WORD PTR _ScalerStatus$[ebp], ax

; 1126 :     DWORD IRQStatus = ReadDword(SAA7134_IRQ_STATUS);

  00017	68 d0 02 00 00	 push	 720			; 000002d0H
  0001c	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0001f	e8 00 00 00 00	 call	 ?ReadDword@CPCICard@@QAEKK@Z ; CPCICard::ReadDword
  00024	89 45 fc	 mov	 DWORD PTR _IRQStatus$[ebp], eax

; 1127 :     DWORD DMAStatus = (ReadDword(SAA7134_DMA_STATUS) >> 20) & 0x1F;

  00027	68 ac 02 00 00	 push	 684			; 000002acH
  0002c	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0002f	e8 00 00 00 00	 call	 ?ReadDword@CPCICard@@QAEKK@Z ; CPCICard::ReadDword
  00034	c1 e8 14	 shr	 eax, 20			; 00000014H
  00037	83 e0 1f	 and	 eax, 31			; 0000001fH
  0003a	89 45 f8	 mov	 DWORD PTR _DMAStatus$[ebp], eax

; 1128 : 
; 1129 :     if (*AOdd != OldAOdd)

  0003d	8b 45 08	 mov	 eax, DWORD PTR _AOdd$[ebp]
  00040	8b 08		 mov	 ecx, DWORD PTR [eax]
  00042	3b 0d 00 00 00
	00		 cmp	 ecx, DWORD PTR ?OldAOdd@?1??CheckRegisters@CSAA7134Card@@QAEXPAK000@Z@4KA
  00048	74 19		 je	 SHORT $LN7@CheckRegis

; 1130 :     {
; 1131 :         OldAOdd = *AOdd;

  0004a	8b 55 08	 mov	 edx, DWORD PTR _AOdd$[ebp]
  0004d	8b 02		 mov	 eax, DWORD PTR [edx]
  0004f	a3 00 00 00 00	 mov	 DWORD PTR ?OldAOdd@?1??CheckRegisters@CSAA7134Card@@QAEXPAK000@Z@4KA, eax

; 1132 : 
; 1133 :         LOG(0, _T("A Odd CHANGED"));

  00054	68 00 00 00 00	 push	 OFFSET ??_C@_1BM@ENNOAKPE@?$AAA?$AA?5?$AAO?$AAd?$AAd?$AA?5?$AAC?$AAH?$AAA?$AAN?$AAG?$AAE?$AAD?$AA?$AA@
  00059	6a 00		 push	 0
  0005b	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00060	83 c4 08	 add	 esp, 8
$LN7@CheckRegis:

; 1134 :     }
; 1135 : 
; 1136 :     if (*BOdd != OldBOdd)

  00063	8b 4d 10	 mov	 ecx, DWORD PTR _BOdd$[ebp]
  00066	8b 11		 mov	 edx, DWORD PTR [ecx]
  00068	3b 15 00 00 00
	00		 cmp	 edx, DWORD PTR ?OldBOdd@?1??CheckRegisters@CSAA7134Card@@QAEXPAK000@Z@4KA
  0006e	74 1a		 je	 SHORT $LN6@CheckRegis

; 1137 :     {
; 1138 :         OldBOdd = *BOdd;

  00070	8b 45 10	 mov	 eax, DWORD PTR _BOdd$[ebp]
  00073	8b 08		 mov	 ecx, DWORD PTR [eax]
  00075	89 0d 00 00 00
	00		 mov	 DWORD PTR ?OldBOdd@?1??CheckRegisters@CSAA7134Card@@QAEXPAK000@Z@4KA, ecx

; 1139 : 
; 1140 :         LOG(0, _T("B Odd CHANGED"));

  0007b	68 00 00 00 00	 push	 OFFSET ??_C@_1BM@EPAAANND@?$AAB?$AA?5?$AAO?$AAd?$AAd?$AA?5?$AAC?$AAH?$AAA?$AAN?$AAG?$AAE?$AAD?$AA?$AA@
  00080	6a 00		 push	 0
  00082	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00087	83 c4 08	 add	 esp, 8
$LN6@CheckRegis:

; 1141 :     }
; 1142 : 
; 1143 :     if (*AEven != OldAEven)

  0008a	8b 55 0c	 mov	 edx, DWORD PTR _AEven$[ebp]
  0008d	8b 02		 mov	 eax, DWORD PTR [edx]
  0008f	3b 05 00 00 00
	00		 cmp	 eax, DWORD PTR ?OldAEven@?1??CheckRegisters@CSAA7134Card@@QAEXPAK000@Z@4KA
  00095	74 1a		 je	 SHORT $LN5@CheckRegis

; 1144 :     {
; 1145 :         OldAEven = *AEven;

  00097	8b 4d 0c	 mov	 ecx, DWORD PTR _AEven$[ebp]
  0009a	8b 11		 mov	 edx, DWORD PTR [ecx]
  0009c	89 15 00 00 00
	00		 mov	 DWORD PTR ?OldAEven@?1??CheckRegisters@CSAA7134Card@@QAEXPAK000@Z@4KA, edx

; 1146 : 
; 1147 :         LOG(0, _T("A Even CHANGED"));

  000a2	68 00 00 00 00	 push	 OFFSET ??_C@_1BO@KHFALEOP@?$AAA?$AA?5?$AAE?$AAv?$AAe?$AAn?$AA?5?$AAC?$AAH?$AAA?$AAN?$AAG?$AAE?$AAD?$AA?$AA@
  000a7	6a 00		 push	 0
  000a9	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  000ae	83 c4 08	 add	 esp, 8
$LN5@CheckRegis:

; 1148 :     }
; 1149 : 
; 1150 :     if (*BEven != OldBEven)

  000b1	8b 45 14	 mov	 eax, DWORD PTR _BEven$[ebp]
  000b4	8b 08		 mov	 ecx, DWORD PTR [eax]
  000b6	3b 0d 00 00 00
	00		 cmp	 ecx, DWORD PTR ?OldBEven@?1??CheckRegisters@CSAA7134Card@@QAEXPAK000@Z@4KA
  000bc	74 19		 je	 SHORT $LN4@CheckRegis

; 1151 :     {
; 1152 :         OldBEven = *BEven;

  000be	8b 55 14	 mov	 edx, DWORD PTR _BEven$[ebp]
  000c1	8b 02		 mov	 eax, DWORD PTR [edx]
  000c3	a3 00 00 00 00	 mov	 DWORD PTR ?OldBEven@?1??CheckRegisters@CSAA7134Card@@QAEXPAK000@Z@4KA, eax

; 1153 : 
; 1154 :         LOG(0, _T("B Even CHANGED"));

  000c8	68 00 00 00 00	 push	 OFFSET ??_C@_1BO@ODPBJBPH@?$AAB?$AA?5?$AAE?$AAv?$AAe?$AAn?$AA?5?$AAC?$AAH?$AAA?$AAN?$AAG?$AAE?$AAD?$AA?$AA@
  000cd	6a 00		 push	 0
  000cf	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  000d4	83 c4 08	 add	 esp, 8
$LN4@CheckRegis:

; 1155 :     }
; 1156 : 
; 1157 :     if (DMAStatus != OldDMAStatus)

  000d7	8b 4d f8	 mov	 ecx, DWORD PTR _DMAStatus$[ebp]
  000da	3b 0d 00 00 00
	00		 cmp	 ecx, DWORD PTR ?OldDMAStatus@?1??CheckRegisters@CSAA7134Card@@QAEXPAK000@Z@4KA
  000e0	74 1c		 je	 SHORT $LN3@CheckRegis

; 1158 :     {
; 1159 :         OldDMAStatus = DMAStatus;

  000e2	8b 55 f8	 mov	 edx, DWORD PTR _DMAStatus$[ebp]
  000e5	89 15 00 00 00
	00		 mov	 DWORD PTR ?OldDMAStatus@?1??CheckRegisters@CSAA7134Card@@QAEXPAK000@Z@4KA, edx

; 1160 : 
; 1161 :         LOG(0, _T("DMA Status: %02x"), DMAStatus);

  000eb	8b 45 f8	 mov	 eax, DWORD PTR _DMAStatus$[ebp]
  000ee	50		 push	 eax
  000ef	68 00 00 00 00	 push	 OFFSET ??_C@_1CC@EJGCMEBE@?$AAD?$AAM?$AAA?$AA?5?$AAS?$AAt?$AAa?$AAt?$AAu?$AAs?$AA?3?$AA?5?$AA?$CF?$AA0?$AA2?$AAx?$AA?$AA@
  000f4	6a 00		 push	 0
  000f6	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  000fb	83 c4 0c	 add	 esp, 12			; 0000000cH
$LN3@CheckRegis:

; 1162 :         //LOG(0, _T("DMA Status: %x"), (DMAStatus >> 20) & 0x0F);
; 1163 :     }
; 1164 : 
; 1165 :     if (IRQStatus != OldIRQStatus)

  000fe	8b 4d fc	 mov	 ecx, DWORD PTR _IRQStatus$[ebp]
  00101	3b 0d 00 00 00
	00		 cmp	 ecx, DWORD PTR ?OldIRQStatus@?1??CheckRegisters@CSAA7134Card@@QAEXPAK000@Z@4KA
  00107	74 73		 je	 SHORT $LN2@CheckRegis

; 1166 :     {
; 1167 :         OldIRQStatus = IRQStatus;

  00109	8b 55 fc	 mov	 edx, DWORD PTR _IRQStatus$[ebp]
  0010c	89 15 00 00 00
	00		 mov	 DWORD PTR ?OldIRQStatus@?1??CheckRegisters@CSAA7134Card@@QAEXPAK000@Z@4KA, edx

; 1168 : 
; 1169 :         LOG(0, _T("IRQ Status: %s,%s,%s,%ld"),
; 1170 :                (IRQStatus & 0x40) ? _T("vbi")  : _T("video"),
; 1171 :                (IRQStatus & 0x20) ? _T("b")    : _T("a"),
; 1172 :                (IRQStatus & 0x10) ? _T("odd")  : _T("even"),
; 1173 :                (IRQStatus & 0x0f));

  00112	8b 45 fc	 mov	 eax, DWORD PTR _IRQStatus$[ebp]
  00115	83 e0 10	 and	 eax, 16			; 00000010H
  00118	74 09		 je	 SHORT $LN10@CheckRegis
  0011a	c7 45 ec 00 00
	00 00		 mov	 DWORD PTR tv140[ebp], OFFSET ??_C@_17LEDHLPJJ@?$AAo?$AAd?$AAd?$AA?$AA@
  00121	eb 07		 jmp	 SHORT $LN11@CheckRegis
$LN10@CheckRegis:
  00123	c7 45 ec 00 00
	00 00		 mov	 DWORD PTR tv140[ebp], OFFSET ??_C@_19MCEENOHD@?$AAe?$AAv?$AAe?$AAn?$AA?$AA@
$LN11@CheckRegis:
  0012a	8b 4d fc	 mov	 ecx, DWORD PTR _IRQStatus$[ebp]
  0012d	83 e1 20	 and	 ecx, 32			; 00000020H
  00130	74 09		 je	 SHORT $LN12@CheckRegis
  00132	c7 45 e8 00 00
	00 00		 mov	 DWORD PTR tv144[ebp], OFFSET ??_C@_13EPJEBPGL@?$AAb?$AA?$AA@
  00139	eb 07		 jmp	 SHORT $LN13@CheckRegis
$LN12@CheckRegis:
  0013b	c7 45 e8 00 00
	00 00		 mov	 DWORD PTR tv144[ebp], OFFSET ??_C@_13FNCBLAIF@?$AAa?$AA?$AA@
$LN13@CheckRegis:
  00142	8b 55 fc	 mov	 edx, DWORD PTR _IRQStatus$[ebp]
  00145	83 e2 40	 and	 edx, 64			; 00000040H
  00148	74 09		 je	 SHORT $LN14@CheckRegis
  0014a	c7 45 e4 00 00
	00 00		 mov	 DWORD PTR tv148[ebp], OFFSET ??_C@_17PDPAKOFJ@?$AAv?$AAb?$AAi?$AA?$AA@
  00151	eb 07		 jmp	 SHORT $LN15@CheckRegis
$LN14@CheckRegis:
  00153	c7 45 e4 00 00
	00 00		 mov	 DWORD PTR tv148[ebp], OFFSET ??_C@_1M@NHCOFMD@?$AAv?$AAi?$AAd?$AAe?$AAo?$AA?$AA@
$LN15@CheckRegis:
  0015a	8b 45 fc	 mov	 eax, DWORD PTR _IRQStatus$[ebp]
  0015d	83 e0 0f	 and	 eax, 15			; 0000000fH
  00160	50		 push	 eax
  00161	8b 4d ec	 mov	 ecx, DWORD PTR tv140[ebp]
  00164	51		 push	 ecx
  00165	8b 55 e8	 mov	 edx, DWORD PTR tv144[ebp]
  00168	52		 push	 edx
  00169	8b 45 e4	 mov	 eax, DWORD PTR tv148[ebp]
  0016c	50		 push	 eax
  0016d	68 00 00 00 00	 push	 OFFSET ??_C@_1DC@MLLCIJLF@?$AAI?$AAR?$AAQ?$AA?5?$AAS?$AAt?$AAa?$AAt?$AAu?$AAs?$AA?3?$AA?5?$AA?$CF?$AAs?$AA?0?$AA?$CF?$AAs?$AA?0?$AA?$CF?$AAs?$AA?0?$AA?$CF?$AAl?$AAd?$AA?$AA@
  00172	6a 00		 push	 0
  00174	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00179	83 c4 18	 add	 esp, 24			; 00000018H
$LN2@CheckRegis:

; 1174 :     }
; 1175 : 
; 1176 :     if (ScalerStatus != OldScalerStatus)

  0017c	0f b7 4d f4	 movzx	 ecx, WORD PTR _ScalerStatus$[ebp]
  00180	0f b7 15 00 00
	00 00		 movzx	 edx, WORD PTR ?OldScalerStatus@?1??CheckRegisters@CSAA7134Card@@QAEXPAK000@Z@4GA
  00187	3b ca		 cmp	 ecx, edx
  00189	0f 84 8b 01 00
	00		 je	 $LN8@CheckRegis

; 1177 :     {
; 1178 :         OldScalerStatus = ScalerStatus;

  0018f	66 8b 45 f4	 mov	 ax, WORD PTR _ScalerStatus$[ebp]
  00193	66 a3 00 00 00
	00		 mov	 WORD PTR ?OldScalerStatus@?1??CheckRegisters@CSAA7134Card@@QAEXPAK000@Z@4GA, ax

; 1179 : 
; 1180 :         LOG(0, _T("Scaler Status: %s%s%s%s%s%s%s%s%s%s%s%s"),
; 1181 :             (ScalerStatus & SAA7134_SCALER_STATUS_VID_A) ? _T("VID_A ") : _T(""),
; 1182 :             (ScalerStatus & SAA7134_SCALER_STATUS_VBI_A) ? _T("VBI_A ") : _T(""),
; 1183 :             (ScalerStatus & SAA7134_SCALER_STATUS_VID_B) ? _T("VID_B ") : _T(""),
; 1184 :             (ScalerStatus & SAA7134_SCALER_STATUS_VBI_B) ? _T("VBI_B ") : _T(""),
; 1185 :             (ScalerStatus & SAA7134_SCALER_STATUS_TRERR) ? _T("TRERR ") : _T(""),
; 1186 :             (ScalerStatus & SAA7134_SCALER_STATUS_CFERR) ? _T("CFERR ") : _T(""),
; 1187 :             (ScalerStatus & SAA7134_SCALER_STATUS_LDERR) ? _T("LDERR ") : _T(""),
; 1188 :             (ScalerStatus & SAA7134_SCALER_STATUS_WASRST) ? _T("WASRST ") : _T(""),
; 1189 :             (ScalerStatus & SAA7134_SCALER_STATUS_FIDSCI) ? _T("FIDSCI ") : _T(""),
; 1190 :             (ScalerStatus & SAA7134_SCALER_STATUS_FIDSCO) ? _T("FIDSCO ") : _T(""),
; 1191 :             (ScalerStatus & SAA7134_SCALER_STATUS_D6_D5) ? _T("D6_D5 ") : _T(""),
; 1192 :             (ScalerStatus & SAA7134_SCALER_STATUS_TASK) ? _T("TASK ") : _T("")
; 1193 :             );

  00199	0f b7 4d f4	 movzx	 ecx, WORD PTR _ScalerStatus$[ebp]
  0019d	81 e1 00 80 00
	00		 and	 ecx, 32768		; 00008000H
  001a3	74 09		 je	 SHORT $LN16@CheckRegis
  001a5	c7 45 e0 00 00
	00 00		 mov	 DWORD PTR tv158[ebp], OFFSET ??_C@_1M@NECLJFMJ@?$AAT?$AAA?$AAS?$AAK?$AA?5?$AA?$AA@
  001ac	eb 07		 jmp	 SHORT $LN17@CheckRegis
$LN16@CheckRegis:
  001ae	c7 45 e0 00 00
	00 00		 mov	 DWORD PTR tv158[ebp], OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
$LN17@CheckRegis:
  001b5	0f b7 55 f4	 movzx	 edx, WORD PTR _ScalerStatus$[ebp]
  001b9	81 e2 00 40 00
	00		 and	 edx, 16384		; 00004000H
  001bf	74 09		 je	 SHORT $LN18@CheckRegis
  001c1	c7 45 dc 00 00
	00 00		 mov	 DWORD PTR tv163[ebp], OFFSET ??_C@_1O@JMAIEFME@?$AAD?$AA6?$AA_?$AAD?$AA5?$AA?5?$AA?$AA@
  001c8	eb 07		 jmp	 SHORT $LN19@CheckRegis
$LN18@CheckRegis:
  001ca	c7 45 dc 00 00
	00 00		 mov	 DWORD PTR tv163[ebp], OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
$LN19@CheckRegis:
  001d1	0f b7 45 f4	 movzx	 eax, WORD PTR _ScalerStatus$[ebp]
  001d5	25 00 20 00 00	 and	 eax, 8192		; 00002000H
  001da	74 09		 je	 SHORT $LN20@CheckRegis
  001dc	c7 45 d8 00 00
	00 00		 mov	 DWORD PTR tv168[ebp], OFFSET ??_C@_1BA@BJCMEAEI@?$AAF?$AAI?$AAD?$AAS?$AAC?$AAO?$AA?5?$AA?$AA@
  001e3	eb 07		 jmp	 SHORT $LN21@CheckRegis
$LN20@CheckRegis:
  001e5	c7 45 d8 00 00
	00 00		 mov	 DWORD PTR tv168[ebp], OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
$LN21@CheckRegis:
  001ec	0f b7 4d f4	 movzx	 ecx, WORD PTR _ScalerStatus$[ebp]
  001f0	81 e1 00 10 00
	00		 and	 ecx, 4096		; 00001000H
  001f6	74 09		 je	 SHORT $LN22@CheckRegis
  001f8	c7 45 d4 00 00
	00 00		 mov	 DWORD PTR tv173[ebp], OFFSET ??_C@_1BA@MPHFKDFF@?$AAF?$AAI?$AAD?$AAS?$AAC?$AAI?$AA?5?$AA?$AA@
  001ff	eb 07		 jmp	 SHORT $LN23@CheckRegis
$LN22@CheckRegis:
  00201	c7 45 d4 00 00
	00 00		 mov	 DWORD PTR tv173[ebp], OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
$LN23@CheckRegis:
  00208	0f b7 55 f4	 movzx	 edx, WORD PTR _ScalerStatus$[ebp]
  0020c	81 e2 00 08 00
	00		 and	 edx, 2048		; 00000800H
  00212	74 09		 je	 SHORT $LN24@CheckRegis
  00214	c7 45 d0 00 00
	00 00		 mov	 DWORD PTR tv178[ebp], OFFSET ??_C@_1BA@OANCFNEP@?$AAW?$AAA?$AAS?$AAR?$AAS?$AAT?$AA?5?$AA?$AA@
  0021b	eb 07		 jmp	 SHORT $LN25@CheckRegis
$LN24@CheckRegis:
  0021d	c7 45 d0 00 00
	00 00		 mov	 DWORD PTR tv178[ebp], OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
$LN25@CheckRegis:
  00224	0f b7 45 f4	 movzx	 eax, WORD PTR _ScalerStatus$[ebp]
  00228	25 00 04 00 00	 and	 eax, 1024		; 00000400H
  0022d	74 09		 je	 SHORT $LN26@CheckRegis
  0022f	c7 45 cc 00 00
	00 00		 mov	 DWORD PTR tv183[ebp], OFFSET ??_C@_1O@PIIJFCPG@?$AAL?$AAD?$AAE?$AAR?$AAR?$AA?5?$AA?$AA@
  00236	eb 07		 jmp	 SHORT $LN27@CheckRegis
$LN26@CheckRegis:
  00238	c7 45 cc 00 00
	00 00		 mov	 DWORD PTR tv183[ebp], OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
$LN27@CheckRegis:
  0023f	0f b7 4d f4	 movzx	 ecx, WORD PTR _ScalerStatus$[ebp]
  00243	81 e1 00 02 00
	00		 and	 ecx, 512		; 00000200H
  00249	74 09		 je	 SHORT $LN28@CheckRegis
  0024b	c7 45 c8 00 00
	00 00		 mov	 DWORD PTR tv188[ebp], OFFSET ??_C@_1O@ECCGHIJP@?$AAC?$AAF?$AAE?$AAR?$AAR?$AA?5?$AA?$AA@
  00252	eb 07		 jmp	 SHORT $LN29@CheckRegis
$LN28@CheckRegis:
  00254	c7 45 c8 00 00
	00 00		 mov	 DWORD PTR tv188[ebp], OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
$LN29@CheckRegis:
  0025b	0f b7 55 f4	 movzx	 edx, WORD PTR _ScalerStatus$[ebp]
  0025f	81 e2 00 01 00
	00		 and	 edx, 256		; 00000100H
  00265	74 09		 je	 SHORT $LN30@CheckRegis
  00267	c7 45 c4 00 00
	00 00		 mov	 DWORD PTR tv193[ebp], OFFSET ??_C@_1O@EOEHDILA@?$AAT?$AAR?$AAE?$AAR?$AAR?$AA?5?$AA?$AA@
  0026e	eb 07		 jmp	 SHORT $LN31@CheckRegis
$LN30@CheckRegis:
  00270	c7 45 c4 00 00
	00 00		 mov	 DWORD PTR tv193[ebp], OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
$LN31@CheckRegis:
  00277	0f b7 45 f4	 movzx	 eax, WORD PTR _ScalerStatus$[ebp]
  0027b	83 e0 20	 and	 eax, 32			; 00000020H
  0027e	74 09		 je	 SHORT $LN32@CheckRegis
  00280	c7 45 c0 00 00
	00 00		 mov	 DWORD PTR tv198[ebp], OFFSET ??_C@_1O@CBNOOGCF@?$AAV?$AAB?$AAI?$AA_?$AAB?$AA?5?$AA?$AA@
  00287	eb 07		 jmp	 SHORT $LN33@CheckRegis
$LN32@CheckRegis:
  00289	c7 45 c0 00 00
	00 00		 mov	 DWORD PTR tv198[ebp], OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
$LN33@CheckRegis:
  00290	0f b7 4d f4	 movzx	 ecx, WORD PTR _ScalerStatus$[ebp]
  00294	83 e1 10	 and	 ecx, 16			; 00000010H
  00297	74 09		 je	 SHORT $LN34@CheckRegis
  00299	c7 45 bc 00 00
	00 00		 mov	 DWORD PTR tv203[ebp], OFFSET ??_C@_1O@KFLCMJJL@?$AAV?$AAI?$AAD?$AA_?$AAB?$AA?5?$AA?$AA@
  002a0	eb 07		 jmp	 SHORT $LN35@CheckRegis
$LN34@CheckRegis:
  002a2	c7 45 bc 00 00
	00 00		 mov	 DWORD PTR tv203[ebp], OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
$LN35@CheckRegis:
  002a9	0f b7 55 f4	 movzx	 edx, WORD PTR _ScalerStatus$[ebp]
  002ad	83 e2 02	 and	 edx, 2
  002b0	74 09		 je	 SHORT $LN36@CheckRegis
  002b2	c7 45 b8 00 00
	00 00		 mov	 DWORD PTR tv208[ebp], OFFSET ??_C@_1O@KHEKJEIL@?$AAV?$AAB?$AAI?$AA_?$AAA?$AA?5?$AA?$AA@
  002b9	eb 07		 jmp	 SHORT $LN37@CheckRegis
$LN36@CheckRegis:
  002bb	c7 45 b8 00 00
	00 00		 mov	 DWORD PTR tv208[ebp], OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
$LN37@CheckRegis:
  002c2	0f b7 45 f4	 movzx	 eax, WORD PTR _ScalerStatus$[ebp]
  002c6	83 e0 01	 and	 eax, 1
  002c9	74 09		 je	 SHORT $LN38@CheckRegis
  002cb	c7 45 b4 00 00
	00 00		 mov	 DWORD PTR tv213[ebp], OFFSET ??_C@_1O@CDCGLLDF@?$AAV?$AAI?$AAD?$AA_?$AAA?$AA?5?$AA?$AA@
  002d2	eb 07		 jmp	 SHORT $LN39@CheckRegis
$LN38@CheckRegis:
  002d4	c7 45 b4 00 00
	00 00		 mov	 DWORD PTR tv213[ebp], OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
$LN39@CheckRegis:
  002db	8b 4d e0	 mov	 ecx, DWORD PTR tv158[ebp]
  002de	51		 push	 ecx
  002df	8b 55 dc	 mov	 edx, DWORD PTR tv163[ebp]
  002e2	52		 push	 edx
  002e3	8b 45 d8	 mov	 eax, DWORD PTR tv168[ebp]
  002e6	50		 push	 eax
  002e7	8b 4d d4	 mov	 ecx, DWORD PTR tv173[ebp]
  002ea	51		 push	 ecx
  002eb	8b 55 d0	 mov	 edx, DWORD PTR tv178[ebp]
  002ee	52		 push	 edx
  002ef	8b 45 cc	 mov	 eax, DWORD PTR tv183[ebp]
  002f2	50		 push	 eax
  002f3	8b 4d c8	 mov	 ecx, DWORD PTR tv188[ebp]
  002f6	51		 push	 ecx
  002f7	8b 55 c4	 mov	 edx, DWORD PTR tv193[ebp]
  002fa	52		 push	 edx
  002fb	8b 45 c0	 mov	 eax, DWORD PTR tv198[ebp]
  002fe	50		 push	 eax
  002ff	8b 4d bc	 mov	 ecx, DWORD PTR tv203[ebp]
  00302	51		 push	 ecx
  00303	8b 55 b8	 mov	 edx, DWORD PTR tv208[ebp]
  00306	52		 push	 edx
  00307	8b 45 b4	 mov	 eax, DWORD PTR tv213[ebp]
  0030a	50		 push	 eax
  0030b	68 00 00 00 00	 push	 OFFSET ??_C@_1FA@LLKBNJKA@?$AAS?$AAc?$AAa?$AAl?$AAe?$AAr?$AA?5?$AAS?$AAt?$AAa?$AAt?$AAu?$AAs?$AA?3?$AA?5?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF@
  00310	6a 00		 push	 0
  00312	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00317	83 c4 38	 add	 esp, 56			; 00000038H
$LN8@CheckRegis:

; 1194 :     }
; 1195 : }

  0031a	8b e5		 mov	 esp, ebp
  0031c	5d		 pop	 ebp
  0031d	c2 10 00	 ret	 16			; 00000010H
?CheckRegisters@CSAA7134Card@@QAEXPAK000@Z ENDP		; CSAA7134Card::CheckRegisters
_TEXT	ENDS
PUBLIC	__$ArrayPad$
PUBLIC	?DumpRegisters@CSAA7134Card@@QAEXXZ		; CSAA7134Card::DumpRegisters
; Function compile flags: /Odtp
;	COMDAT ?DumpRegisters@CSAA7134Card@@QAEXXZ
_TEXT	SEGMENT
_this$ = -148						; size = 4
_i$145859 = -144					; size = 4
_Data$ = -140						; size = 4
_HexString$ = -136					; size = 128
__$ArrayPad$ = -4					; size = 4
?DumpRegisters@CSAA7134Card@@QAEXXZ PROC		; CSAA7134Card::DumpRegisters, COMDAT
; _this$ = ecx

; 1070 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	81 ec 94 00 00
	00		 sub	 esp, 148		; 00000094H
  00009	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0000e	33 c5		 xor	 eax, ebp
  00010	89 45 fc	 mov	 DWORD PTR __$ArrayPad$[ebp], eax
  00013	89 8d 6c ff ff
	ff		 mov	 DWORD PTR _this$[ebp], ecx

; 1071 :     DWORD   Data;
; 1072 :     TCHAR   HexString[64];
; 1073 : 
; 1074 :     for (int i = 0x000; i < 0x400; i += 16)

  00019	c7 85 70 ff ff
	ff 00 00 00 00	 mov	 DWORD PTR _i$145859[ebp], 0
  00023	eb 0f		 jmp	 SHORT $LN3@DumpRegist
$LN2@DumpRegist:
  00025	8b 85 70 ff ff
	ff		 mov	 eax, DWORD PTR _i$145859[ebp]
  0002b	83 c0 10	 add	 eax, 16			; 00000010H
  0002e	89 85 70 ff ff
	ff		 mov	 DWORD PTR _i$145859[ebp], eax
$LN3@DumpRegist:
  00034	81 bd 70 ff ff
	ff 00 04 00 00	 cmp	 DWORD PTR _i$145859[ebp], 1024 ; 00000400H
  0003e	0f 8d e7 01 00
	00		 jge	 $LN4@DumpRegist

; 1075 :     {
; 1076 :         *HexString = '\0';

  00044	33 c9		 xor	 ecx, ecx
  00046	66 89 8d 78 ff
	ff ff		 mov	 WORD PTR _HexString$[ebp], cx

; 1077 : 
; 1078 :         Data = ReadDword(i);

  0004d	8b 95 70 ff ff
	ff		 mov	 edx, DWORD PTR _i$145859[ebp]
  00053	52		 push	 edx
  00054	8b 8d 6c ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  0005a	e8 00 00 00 00	 call	 ?ReadDword@CPCICard@@QAEKK@Z ; CPCICard::ReadDword
  0005f	89 85 74 ff ff
	ff		 mov	 DWORD PTR _Data$[ebp], eax

; 1079 :         _stprintf(HexString, _T("%02x%02x %02x%02x"),
; 1080 :             Data & 0xFF, (Data >> 8) & 0xFF, (Data >> 16) & 0xFF, (Data >> 24) & 0xFF);

  00065	8b 85 74 ff ff
	ff		 mov	 eax, DWORD PTR _Data$[ebp]
  0006b	c1 e8 18	 shr	 eax, 24			; 00000018H
  0006e	25 ff 00 00 00	 and	 eax, 255		; 000000ffH
  00073	50		 push	 eax
  00074	8b 8d 74 ff ff
	ff		 mov	 ecx, DWORD PTR _Data$[ebp]
  0007a	c1 e9 10	 shr	 ecx, 16			; 00000010H
  0007d	81 e1 ff 00 00
	00		 and	 ecx, 255		; 000000ffH
  00083	51		 push	 ecx
  00084	8b 95 74 ff ff
	ff		 mov	 edx, DWORD PTR _Data$[ebp]
  0008a	c1 ea 08	 shr	 edx, 8
  0008d	81 e2 ff 00 00
	00		 and	 edx, 255		; 000000ffH
  00093	52		 push	 edx
  00094	8b 85 74 ff ff
	ff		 mov	 eax, DWORD PTR _Data$[ebp]
  0009a	25 ff 00 00 00	 and	 eax, 255		; 000000ffH
  0009f	50		 push	 eax
  000a0	68 00 00 00 00	 push	 OFFSET ??_C@_1CE@OHCOEEJ@?$AA?$CF?$AA0?$AA2?$AAx?$AA?$CF?$AA0?$AA2?$AAx?$AA?5?$AA?$CF?$AA0?$AA2?$AAx?$AA?$CF?$AA0?$AA2?$AAx?$AA?$AA@
  000a5	8d 8d 78 ff ff
	ff		 lea	 ecx, DWORD PTR _HexString$[ebp]
  000ab	51		 push	 ecx
  000ac	e8 00 00 00 00	 call	 __swprintf
  000b1	83 c4 18	 add	 esp, 24			; 00000018H

; 1081 : 
; 1082 :         Data = ReadDword(i + 4);

  000b4	8b 95 70 ff ff
	ff		 mov	 edx, DWORD PTR _i$145859[ebp]
  000ba	83 c2 04	 add	 edx, 4
  000bd	52		 push	 edx
  000be	8b 8d 6c ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  000c4	e8 00 00 00 00	 call	 ?ReadDword@CPCICard@@QAEKK@Z ; CPCICard::ReadDword
  000c9	89 85 74 ff ff
	ff		 mov	 DWORD PTR _Data$[ebp], eax

; 1083 :         _stprintf(HexString, _T("%s %02x%02x %02x%02x"), HexString,
; 1084 :             Data & 0xFF, (Data >> 8) & 0xFF, (Data >> 16) & 0xFF, (Data >> 24) & 0xFF);

  000cf	8b 85 74 ff ff
	ff		 mov	 eax, DWORD PTR _Data$[ebp]
  000d5	c1 e8 18	 shr	 eax, 24			; 00000018H
  000d8	25 ff 00 00 00	 and	 eax, 255		; 000000ffH
  000dd	50		 push	 eax
  000de	8b 8d 74 ff ff
	ff		 mov	 ecx, DWORD PTR _Data$[ebp]
  000e4	c1 e9 10	 shr	 ecx, 16			; 00000010H
  000e7	81 e1 ff 00 00
	00		 and	 ecx, 255		; 000000ffH
  000ed	51		 push	 ecx
  000ee	8b 95 74 ff ff
	ff		 mov	 edx, DWORD PTR _Data$[ebp]
  000f4	c1 ea 08	 shr	 edx, 8
  000f7	81 e2 ff 00 00
	00		 and	 edx, 255		; 000000ffH
  000fd	52		 push	 edx
  000fe	8b 85 74 ff ff
	ff		 mov	 eax, DWORD PTR _Data$[ebp]
  00104	25 ff 00 00 00	 and	 eax, 255		; 000000ffH
  00109	50		 push	 eax
  0010a	8d 8d 78 ff ff
	ff		 lea	 ecx, DWORD PTR _HexString$[ebp]
  00110	51		 push	 ecx
  00111	68 00 00 00 00	 push	 OFFSET ??_C@_1CK@NHAFGAAE@?$AA?$CF?$AAs?$AA?5?$AA?$CF?$AA0?$AA2?$AAx?$AA?$CF?$AA0?$AA2?$AAx?$AA?5?$AA?$CF?$AA0?$AA2?$AAx?$AA?$CF?$AA0?$AA2?$AAx?$AA?$AA@
  00116	8d 95 78 ff ff
	ff		 lea	 edx, DWORD PTR _HexString$[ebp]
  0011c	52		 push	 edx
  0011d	e8 00 00 00 00	 call	 __swprintf
  00122	83 c4 1c	 add	 esp, 28			; 0000001cH

; 1085 : 
; 1086 :         Data = ReadDword(i + 8);

  00125	8b 85 70 ff ff
	ff		 mov	 eax, DWORD PTR _i$145859[ebp]
  0012b	83 c0 08	 add	 eax, 8
  0012e	50		 push	 eax
  0012f	8b 8d 6c ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00135	e8 00 00 00 00	 call	 ?ReadDword@CPCICard@@QAEKK@Z ; CPCICard::ReadDword
  0013a	89 85 74 ff ff
	ff		 mov	 DWORD PTR _Data$[ebp], eax

; 1087 :         _stprintf(HexString, _T("%s|%02x%02x %02x%02x"), HexString,
; 1088 :             Data & 0xFF, (Data >> 8) & 0xFF, (Data >> 16) & 0xFF, (Data >> 24) & 0xFF);

  00140	8b 8d 74 ff ff
	ff		 mov	 ecx, DWORD PTR _Data$[ebp]
  00146	c1 e9 18	 shr	 ecx, 24			; 00000018H
  00149	81 e1 ff 00 00
	00		 and	 ecx, 255		; 000000ffH
  0014f	51		 push	 ecx
  00150	8b 95 74 ff ff
	ff		 mov	 edx, DWORD PTR _Data$[ebp]
  00156	c1 ea 10	 shr	 edx, 16			; 00000010H
  00159	81 e2 ff 00 00
	00		 and	 edx, 255		; 000000ffH
  0015f	52		 push	 edx
  00160	8b 85 74 ff ff
	ff		 mov	 eax, DWORD PTR _Data$[ebp]
  00166	c1 e8 08	 shr	 eax, 8
  00169	25 ff 00 00 00	 and	 eax, 255		; 000000ffH
  0016e	50		 push	 eax
  0016f	8b 8d 74 ff ff
	ff		 mov	 ecx, DWORD PTR _Data$[ebp]
  00175	81 e1 ff 00 00
	00		 and	 ecx, 255		; 000000ffH
  0017b	51		 push	 ecx
  0017c	8d 95 78 ff ff
	ff		 lea	 edx, DWORD PTR _HexString$[ebp]
  00182	52		 push	 edx
  00183	68 00 00 00 00	 push	 OFFSET ??_C@_1CK@DFDOFDMD@?$AA?$CF?$AAs?$AA?$HM?$AA?$CF?$AA0?$AA2?$AAx?$AA?$CF?$AA0?$AA2?$AAx?$AA?5?$AA?$CF?$AA0?$AA2?$AAx?$AA?$CF?$AA0?$AA2?$AAx?$AA?$AA@
  00188	8d 85 78 ff ff
	ff		 lea	 eax, DWORD PTR _HexString$[ebp]
  0018e	50		 push	 eax
  0018f	e8 00 00 00 00	 call	 __swprintf
  00194	83 c4 1c	 add	 esp, 28			; 0000001cH

; 1089 : 
; 1090 :         Data = ReadDword(i + 12);

  00197	8b 8d 70 ff ff
	ff		 mov	 ecx, DWORD PTR _i$145859[ebp]
  0019d	83 c1 0c	 add	 ecx, 12			; 0000000cH
  001a0	51		 push	 ecx
  001a1	8b 8d 6c ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  001a7	e8 00 00 00 00	 call	 ?ReadDword@CPCICard@@QAEKK@Z ; CPCICard::ReadDword
  001ac	89 85 74 ff ff
	ff		 mov	 DWORD PTR _Data$[ebp], eax

; 1091 :         _stprintf(HexString, _T("%s %02x%02x %02x%02x"), HexString,
; 1092 :             Data & 0xFF, (Data >> 8) & 0xFF, (Data >> 16) & 0xFF, (Data >> 24) & 0xFF);

  001b2	8b 95 74 ff ff
	ff		 mov	 edx, DWORD PTR _Data$[ebp]
  001b8	c1 ea 18	 shr	 edx, 24			; 00000018H
  001bb	81 e2 ff 00 00
	00		 and	 edx, 255		; 000000ffH
  001c1	52		 push	 edx
  001c2	8b 85 74 ff ff
	ff		 mov	 eax, DWORD PTR _Data$[ebp]
  001c8	c1 e8 10	 shr	 eax, 16			; 00000010H
  001cb	25 ff 00 00 00	 and	 eax, 255		; 000000ffH
  001d0	50		 push	 eax
  001d1	8b 8d 74 ff ff
	ff		 mov	 ecx, DWORD PTR _Data$[ebp]
  001d7	c1 e9 08	 shr	 ecx, 8
  001da	81 e1 ff 00 00
	00		 and	 ecx, 255		; 000000ffH
  001e0	51		 push	 ecx
  001e1	8b 95 74 ff ff
	ff		 mov	 edx, DWORD PTR _Data$[ebp]
  001e7	81 e2 ff 00 00
	00		 and	 edx, 255		; 000000ffH
  001ed	52		 push	 edx
  001ee	8d 85 78 ff ff
	ff		 lea	 eax, DWORD PTR _HexString$[ebp]
  001f4	50		 push	 eax
  001f5	68 00 00 00 00	 push	 OFFSET ??_C@_1CK@NHAFGAAE@?$AA?$CF?$AAs?$AA?5?$AA?$CF?$AA0?$AA2?$AAx?$AA?$CF?$AA0?$AA2?$AAx?$AA?5?$AA?$CF?$AA0?$AA2?$AAx?$AA?$CF?$AA0?$AA2?$AAx?$AA?$AA@
  001fa	8d 8d 78 ff ff
	ff		 lea	 ecx, DWORD PTR _HexString$[ebp]
  00200	51		 push	 ecx
  00201	e8 00 00 00 00	 call	 __swprintf
  00206	83 c4 1c	 add	 esp, 28			; 0000001cH

; 1093 : 
; 1094 :         LOG(0, _T("%03lX: %s"), i, HexString);

  00209	8d 95 78 ff ff
	ff		 lea	 edx, DWORD PTR _HexString$[ebp]
  0020f	52		 push	 edx
  00210	8b 85 70 ff ff
	ff		 mov	 eax, DWORD PTR _i$145859[ebp]
  00216	50		 push	 eax
  00217	68 00 00 00 00	 push	 OFFSET ??_C@_1BE@FOHKCIPJ@?$AA?$CF?$AA0?$AA3?$AAl?$AAX?$AA?3?$AA?5?$AA?$CF?$AAs?$AA?$AA@
  0021c	6a 00		 push	 0
  0021e	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00223	83 c4 10	 add	 esp, 16			; 00000010H
  00226	e9 fa fd ff ff	 jmp	 $LN2@DumpRegist
$LN4@DumpRegist:

; 1095 :     }
; 1096 : }

  0022b	8b 4d fc	 mov	 ecx, DWORD PTR __$ArrayPad$[ebp]
  0022e	33 cd		 xor	 ecx, ebp
  00230	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00235	8b e5		 mov	 esp, ebp
  00237	5d		 pop	 ebp
  00238	c3		 ret	 0
?DumpRegisters@CSAA7134Card@@QAEXXZ ENDP		; CSAA7134Card::DumpRegisters
_TEXT	ENDS
PUBLIC	?EnableCCIR656VideoOut@CSAA7134Card@@QAEXXZ	; CSAA7134Card::EnableCCIR656VideoOut
; Function compile flags: /Odtp
;	COMDAT ?EnableCCIR656VideoOut@CSAA7134Card@@QAEXXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?EnableCCIR656VideoOut@CSAA7134Card@@QAEXXZ PROC	; CSAA7134Card::EnableCCIR656VideoOut, COMDAT
; _this$ = ecx

; 1049 : {

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

; 1050 :     // enable video output for CCIR656
; 1051 :     WriteByte(SAA7134_VIDEO_PORT_CTRL0, 0x00);

  00007	6a 00		 push	 0
  00009	68 90 01 00 00	 push	 400			; 00000190H
  0000e	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00011	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 1052 :     WriteByte(SAA7134_VIDEO_PORT_CTRL1, 0xB1);

  00016	68 b1 00 00 00	 push	 177			; 000000b1H
  0001b	68 91 01 00 00	 push	 401			; 00000191H
  00020	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00023	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 1053 :     WriteByte(SAA7134_VIDEO_PORT_CTRL2, 0x00);

  00028	6a 00		 push	 0
  0002a	68 92 01 00 00	 push	 402			; 00000192H
  0002f	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00032	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 1054 :     WriteByte(SAA7134_VIDEO_PORT_CTRL3, 0xA1);

  00037	68 a1 00 00 00	 push	 161			; 000000a1H
  0003c	68 93 01 00 00	 push	 403			; 00000193H
  00041	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00044	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 1055 :     WriteByte(SAA7134_VIDEO_PORT_CTRL4, 0x00);

  00049	6a 00		 push	 0
  0004b	68 94 01 00 00	 push	 404			; 00000194H
  00050	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00053	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 1056 :     WriteByte(SAA7134_VIDEO_PORT_CTRL5, 0x04);

  00058	6a 04		 push	 4
  0005a	68 95 01 00 00	 push	 405			; 00000195H
  0005f	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00062	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 1057 :     WriteByte(SAA7134_VIDEO_PORT_CTRL6, 0x06);

  00067	6a 06		 push	 6
  00069	68 96 01 00 00	 push	 406			; 00000196H
  0006e	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00071	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 1058 :     WriteByte(SAA7134_VIDEO_PORT_CTRL7, 0x00);

  00076	6a 00		 push	 0
  00078	68 97 01 00 00	 push	 407			; 00000197H
  0007d	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00080	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 1059 :     WriteByte(SAA7134_VIDEO_PORT_CTRL8, 0x00);

  00085	6a 00		 push	 0
  00087	68 98 01 00 00	 push	 408			; 00000198H
  0008c	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0008f	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 1060 : }

  00094	8b e5		 mov	 esp, ebp
  00096	5d		 pop	 ebp
  00097	c3		 ret	 0
?EnableCCIR656VideoOut@CSAA7134Card@@QAEXXZ ENDP	; CSAA7134Card::EnableCCIR656VideoOut
_TEXT	ENDS
PUBLIC	?GetIRQEventRegion@CSAA7134Card@@QAEHAAW4eRegionID@CSAA7134Common@@AAH@Z ; CSAA7134Card::GetIRQEventRegion
; Function compile flags: /Odtp
;	COMDAT ?GetIRQEventRegion@CSAA7134Card@@QAEHAAW4eRegionID@CSAA7134Common@@AAH@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
_Report$ = -12						; size = 4
_bIsTaskA$ = -8						; size = 4
_Status$ = -4						; size = 4
_RegionID$ = 8						; size = 4
_bIsFieldOdd$ = 12					; size = 4
?GetIRQEventRegion@CSAA7134Card@@QAEHAAW4eRegionID@CSAA7134Common@@AAH@Z PROC ; CSAA7134Card::GetIRQEventRegion, COMDAT
; _this$ = ecx

; 994  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 10	 sub	 esp, 16			; 00000010H
  00006	89 4d f0	 mov	 DWORD PTR _this$[ebp], ecx

; 995  :     DWORD Report;
; 996  :     DWORD Status;
; 997  : 
; 998  :     Report = ReadDword(SAA7134_IRQ_REPORT);

  00009	68 cc 02 00 00	 push	 716			; 000002ccH
  0000e	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00011	e8 00 00 00 00	 call	 ?ReadDword@CPCICard@@QAEKK@Z ; CPCICard::ReadDword
  00016	89 45 f4	 mov	 DWORD PTR _Report$[ebp], eax

; 999  :     Status = ReadDword(SAA7134_IRQ_STATUS);

  00019	68 d0 02 00 00	 push	 720			; 000002d0H
  0001e	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00021	e8 00 00 00 00	 call	 ?ReadDword@CPCICard@@QAEKK@Z ; CPCICard::ReadDword
  00026	89 45 fc	 mov	 DWORD PTR _Status$[ebp], eax

; 1000 :     WriteDword(SAA7134_IRQ_REPORT, Report);

  00029	8b 45 f4	 mov	 eax, DWORD PTR _Report$[ebp]
  0002c	50		 push	 eax
  0002d	68 cc 02 00 00	 push	 716			; 000002ccH
  00032	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00035	e8 00 00 00 00	 call	 ?WriteDword@CPCICard@@QAEXKK@Z ; CPCICard::WriteDword

; 1001 : 
; 1002 :     if (Report == 0)

  0003a	83 7d f4 00	 cmp	 DWORD PTR _Report$[ebp], 0
  0003e	75 04		 jne	 SHORT $LN3@GetIRQEven

; 1003 :     {
; 1004 :         return FALSE;

  00040	33 c0		 xor	 eax, eax
  00042	eb 50		 jmp	 SHORT $LN4@GetIRQEven
$LN3@GetIRQEven:

; 1005 :     }
; 1006 : 
; 1007 :     BOOL bIsTaskA = (Status & 0x20);

  00044	8b 4d fc	 mov	 ecx, DWORD PTR _Status$[ebp]
  00047	83 e1 20	 and	 ecx, 32			; 00000020H
  0004a	89 4d f8	 mov	 DWORD PTR _bIsTaskA$[ebp], ecx

; 1008 : 
; 1009 :     if (Status & 0x40)

  0004d	8b 55 fc	 mov	 edx, DWORD PTR _Status$[ebp]
  00050	83 e2 40	 and	 edx, 64			; 00000040H
  00053	74 11		 je	 SHORT $LN2@GetIRQEven

; 1010 :     {
; 1011 :         RegionID = bIsTaskA ? REGIONID_VBI_A : REGIONID_VBI_B;

  00055	8b 45 f8	 mov	 eax, DWORD PTR _bIsTaskA$[ebp]
  00058	f7 d8		 neg	 eax
  0005a	1b c0		 sbb	 eax, eax
  0005c	83 c0 03	 add	 eax, 3
  0005f	8b 4d 08	 mov	 ecx, DWORD PTR _RegionID$[ebp]
  00062	89 01		 mov	 DWORD PTR [ecx], eax

; 1012 :     }
; 1013 :     else

  00064	eb 0e		 jmp	 SHORT $LN1@GetIRQEven
$LN2@GetIRQEven:

; 1014 :     {
; 1015 :         RegionID = bIsTaskA ? REGIONID_VIDEO_A : REGIONID_VIDEO_B;

  00066	33 d2		 xor	 edx, edx
  00068	83 7d f8 00	 cmp	 DWORD PTR _bIsTaskA$[ebp], 0
  0006c	0f 94 c2	 sete	 dl
  0006f	8b 45 08	 mov	 eax, DWORD PTR _RegionID$[ebp]
  00072	89 10		 mov	 DWORD PTR [eax], edx
$LN1@GetIRQEven:

; 1016 :     }
; 1017 : 
; 1018 :     bIsFieldOdd = (Status & 0x10);

  00074	8b 4d fc	 mov	 ecx, DWORD PTR _Status$[ebp]
  00077	83 e1 10	 and	 ecx, 16			; 00000010H
  0007a	8b 55 0c	 mov	 edx, DWORD PTR _bIsFieldOdd$[ebp]
  0007d	89 0a		 mov	 DWORD PTR [edx], ecx

; 1019 : 
; 1020 :     // Everything above is SAA7134 style, here we convert evens
; 1021 :     // to odd and odds to even so SAA7137Source can take even
; 1022 :     // has to top line --instead of odd which SAA7137 uses.
; 1023 :     //   ala. CSAACard::SetBaseOffsets()
; 1024 :     bIsFieldOdd = !bIsFieldOdd;

  0007f	8b 45 0c	 mov	 eax, DWORD PTR _bIsFieldOdd$[ebp]
  00082	33 c9		 xor	 ecx, ecx
  00084	83 38 00	 cmp	 DWORD PTR [eax], 0
  00087	0f 94 c1	 sete	 cl
  0008a	8b 55 0c	 mov	 edx, DWORD PTR _bIsFieldOdd$[ebp]
  0008d	89 0a		 mov	 DWORD PTR [edx], ecx

; 1025 : 
; 1026 :     return TRUE;

  0008f	b8 01 00 00 00	 mov	 eax, 1
$LN4@GetIRQEven:

; 1027 : }

  00094	8b e5		 mov	 esp, ebp
  00096	5d		 pop	 ebp
  00097	c2 08 00	 ret	 8
?GetIRQEventRegion@CSAA7134Card@@QAEHAAW4eRegionID@CSAA7134Common@@AAH@Z ENDP ; CSAA7134Card::GetIRQEventRegion
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?GetI2CData@CSAA7134Card@@UAEEXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetI2CData@CSAA7134Card@@UAEEXZ PROC			; CSAA7134Card::GetI2CData, COMDAT
; _this$ = ecx

; 904  : {

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

; 905  :     return ReadByte(SAA7134_I2C_DATA);

  00007	68 81 01 00 00	 push	 385			; 00000181H
  0000c	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000f	83 e9 54	 sub	 ecx, 84			; 00000054H
  00012	e8 00 00 00 00	 call	 ?ReadByte@CPCICard@@QAEEK@Z ; CPCICard::ReadByte

; 906  : }

  00017	8b e5		 mov	 esp, ebp
  00019	5d		 pop	 ebp
  0001a	c3		 ret	 0
?GetI2CData@CSAA7134Card@@UAEEXZ ENDP			; CSAA7134Card::GetI2CData
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?SetI2CData@CSAA7134Card@@UAEXE@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_Data$ = 8						; size = 1
?SetI2CData@CSAA7134Card@@UAEXE@Z PROC			; CSAA7134Card::SetI2CData, COMDAT
; _this$ = ecx

; 898  : {

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

; 899  :     WriteByte(SAA7134_I2C_DATA, Data);

  00007	0f b6 45 08	 movzx	 eax, BYTE PTR _Data$[ebp]
  0000b	50		 push	 eax
  0000c	68 81 01 00 00	 push	 385			; 00000181H
  00011	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00014	83 e9 54	 sub	 ecx, 84			; 00000054H
  00017	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 900  : }

  0001c	8b e5		 mov	 esp, ebp
  0001e	5d		 pop	 ebp
  0001f	c2 04 00	 ret	 4
?SetI2CData@CSAA7134Card@@UAEXE@Z ENDP			; CSAA7134Card::SetI2CData
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?GetI2CStatus@CSAA7134Card@@UAEEXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetI2CStatus@CSAA7134Card@@UAEEXZ PROC			; CSAA7134Card::GetI2CStatus, COMDAT
; _this$ = ecx

; 880  : {

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

; 881  :     return ReadByte(SAA7134_I2C_ATTR_STATUS) & 0x0F;

  00007	68 80 01 00 00	 push	 384			; 00000180H
  0000c	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000f	83 e9 54	 sub	 ecx, 84			; 00000054H
  00012	e8 00 00 00 00	 call	 ?ReadByte@CPCICard@@QAEEK@Z ; CPCICard::ReadByte
  00017	0f b6 c0	 movzx	 eax, al
  0001a	83 e0 0f	 and	 eax, 15			; 0000000fH

; 882  : }

  0001d	8b e5		 mov	 esp, ebp
  0001f	5d		 pop	 ebp
  00020	c3		 ret	 0
?GetI2CStatus@CSAA7134Card@@UAEEXZ ENDP			; CSAA7134Card::GetI2CStatus
_TEXT	ENDS
PUBLIC	?CheckScalerError@CSAA7134Card@@IAEXHG@Z	; CSAA7134Card::CheckScalerError
; Function compile flags: /Odtp
;	COMDAT ?CheckScalerError@CSAA7134Card@@IAEXHG@Z
_TEXT	SEGMENT
_this$ = -8						; size = 4
_CurrentTick$145754 = -4				; size = 4
_bErrorOccurred$ = 8					; size = 4
_ScalerStatus$ = 12					; size = 2
?CheckScalerError@CSAA7134Card@@IAEXHG@Z PROC		; CSAA7134Card::CheckScalerError, COMDAT
; _this$ = ecx

; 812  : {

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

; 813  :     if (!bErrorOccurred)

  00009	83 7d 08 00	 cmp	 DWORD PTR _bErrorOccurred$[ebp], 0
  0000d	75 12		 jne	 SHORT $LN9@CheckScale@2

; 814  :     {
; 815  :         m_LastTriggerError = 0UL;

  0000f	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  00012	c7 80 a8 00 00
	00 00 00 00 00	 mov	 DWORD PTR [eax+168], 0

; 816  :         return;

  0001c	e9 ad 00 00 00	 jmp	 $LN10@CheckScale@2
$LN9@CheckScale@2:

; 817  :     }
; 818  : 
; 819  :     if (ScalerStatus & SAA7134_SCALER_STATUS_TRERR)

  00021	0f b7 4d 0c	 movzx	 ecx, WORD PTR _ScalerStatus$[ebp]
  00025	81 e1 00 01 00
	00		 and	 ecx, 256		; 00000100H
  0002b	0f 84 9d 00 00
	00		 je	 $LN10@CheckScale@2

; 820  :     {
; 821  :         // - Wait 1 second from the first time this occurred
; 822  :         // and if it's still a problem, reset the task
; 823  :         // conditions.  Hopefully, the card will sort itself out.
; 824  :         //
; 825  :         // - If the last sighting is older than 2 seconds prior,
; 826  :         // CheckScalerError() wasn't called consistently enough
; 827  :         // for the value to be useful.
; 828  : 
; 829  :         DWORD CurrentTick = GetTickCount();

  00031	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__GetTickCount@0
  00037	89 45 fc	 mov	 DWORD PTR _CurrentTick$145754[ebp], eax

; 830  : 
; 831  :         if (CurrentTick < m_LastTriggerError ||
; 832  :             CurrentTick > m_LastTriggerError + 2000)

  0003a	8b 55 f8	 mov	 edx, DWORD PTR _this$[ebp]
  0003d	8b 45 fc	 mov	 eax, DWORD PTR _CurrentTick$145754[ebp]
  00040	3b 82 a8 00 00
	00		 cmp	 eax, DWORD PTR [edx+168]
  00046	72 14		 jb	 SHORT $LN6@CheckScale@2
  00048	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0004b	8b 91 a8 00 00
	00		 mov	 edx, DWORD PTR [ecx+168]
  00051	81 c2 d0 07 00
	00		 add	 edx, 2000		; 000007d0H
  00057	39 55 fc	 cmp	 DWORD PTR _CurrentTick$145754[ebp], edx
  0005a	76 0e		 jbe	 SHORT $LN7@CheckScale@2
$LN6@CheckScale@2:

; 833  :         {
; 834  :             m_LastTriggerError = CurrentTick;

  0005c	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  0005f	8b 4d fc	 mov	 ecx, DWORD PTR _CurrentTick$145754[ebp]
  00062	89 88 a8 00 00
	00		 mov	 DWORD PTR [eax+168], ecx
  00068	eb 64		 jmp	 SHORT $LN10@CheckScale@2
$LN7@CheckScale@2:

; 835  :         }
; 836  :         else if (CurrentTick > m_LastTriggerError + 1000)

  0006a	8b 55 f8	 mov	 edx, DWORD PTR _this$[ebp]
  0006d	8b 82 a8 00 00
	00		 mov	 eax, DWORD PTR [edx+168]
  00073	05 e8 03 00 00	 add	 eax, 1000		; 000003e8H
  00078	39 45 fc	 cmp	 DWORD PTR _CurrentTick$145754[ebp], eax
  0007b	76 51		 jbe	 SHORT $LN10@CheckScale@2

; 837  :         {
; 838  :             LOG(2, _T("SAA7134: Trying Trigger Error recovery"));

  0007d	68 00 00 00 00	 push	 OFFSET ??_C@_1EO@KEANELKC@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AA4?$AA?3?$AA?5?$AAT?$AAr?$AAy?$AAi?$AAn?$AAg?$AA?5?$AAT?$AAr?$AAi?$AAg?$AAg?$AAe?$AAr?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?5?$AAr?$AAe@
  00082	6a 02		 push	 2
  00084	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00089	83 c4 08	 add	 esp, 8

; 839  :             WriteByte(SAA7134_TASK_CONDITIONS(SAA7134_TASK_A_MASK), 0x00);

  0008c	6a 00		 push	 0
  0008e	6a 40		 push	 64			; 00000040H
  00090	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00093	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 840  :             WriteByte(SAA7134_TASK_CONDITIONS(SAA7134_TASK_B_MASK), 0x00);

  00098	6a 00		 push	 0
  0009a	68 80 00 00 00	 push	 128			; 00000080H
  0009f	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  000a2	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 841  :             WriteByte(SAA7134_TASK_CONDITIONS(SAA7134_TASK_A_MASK), 0x0D);

  000a7	6a 0d		 push	 13			; 0000000dH
  000a9	6a 40		 push	 64			; 00000040H
  000ab	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  000ae	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 842  :             WriteByte(SAA7134_TASK_CONDITIONS(SAA7134_TASK_B_MASK), 0x0D);

  000b3	6a 0d		 push	 13			; 0000000dH
  000b5	68 80 00 00 00	 push	 128			; 00000080H
  000ba	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  000bd	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 843  : 
; 844  :             m_LastTriggerError = CurrentTick;

  000c2	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  000c5	8b 55 fc	 mov	 edx, DWORD PTR _CurrentTick$145754[ebp]
  000c8	89 91 a8 00 00
	00		 mov	 DWORD PTR [ecx+168], edx
$LN10@CheckScale@2:

; 845  :         }
; 846  :     }
; 847  :     else if (ScalerStatus & SAA7134_SCALER_STATUS_CFERR)
; 848  :     {
; 849  :         // This one sorts itself out.
; 850  :     }
; 851  :     else
; 852  :     {
; 853  :         // do nothing
; 854  :     }
; 855  : 
; 856  :     /*
; 857  :     LOG(0, _T("Scaler Status: %s%s%s%s%s%s%s%s%s%s%s%s"),
; 858  :         (ScalerStatus & SAA7134_SCALER_STATUS_VID_A) ? _T("VID_A ") : _T(""),
; 859  :         (ScalerStatus & SAA7134_SCALER_STATUS_VBI_A) ? _T("VBI_A ") : _T(""),
; 860  :         (ScalerStatus & SAA7134_SCALER_STATUS_VID_B) ? _T("VID_B ") : _T(""),
; 861  :         (ScalerStatus & SAA7134_SCALER_STATUS_VBI_B) ? _T("VBI_B ") : _T(""),
; 862  :         (ScalerStatus & SAA7134_SCALER_STATUS_TRERR) ? _T("TRERR ") : _T(""),
; 863  :         (ScalerStatus & SAA7134_SCALER_STATUS_CFERR) ? _T("CFERR ") : _T(""),
; 864  :         (ScalerStatus & SAA7134_SCALER_STATUS_LDERR) ? _T("LDERR ") : _T(""),
; 865  :         (ScalerStatus & SAA7134_SCALER_STATUS_WASRST) ? _T("WASRST ") : _T(""),
; 866  :         (ScalerStatus & SAA7134_SCALER_STATUS_FIDSCI) ? _T("FIDSCI ") : _T(""),
; 867  :         (ScalerStatus & SAA7134_SCALER_STATUS_FIDSCO) ? _T("FIDSCO ") : _T(""),
; 868  :         (ScalerStatus & SAA7134_SCALER_STATUS_D6_D5) ? _T("D6_D5 ") : _T(""),
; 869  :         (ScalerStatus & SAA7134_SCALER_STATUS_TASK) ? _T("TASK ") : _T("")
; 870  :     );
; 871  :     */
; 872  : }

  000ce	8b e5		 mov	 esp, ebp
  000d0	5d		 pop	 ebp
  000d1	c2 08 00	 ret	 8
?CheckScalerError@CSAA7134Card@@IAEXHG@Z ENDP		; CSAA7134Card::CheckScalerError
_TEXT	ENDS
PUBLIC	?GetProcessingFieldID@CSAA7134Card@@QAEHPAD@Z	; CSAA7134Card::GetProcessingFieldID
; Function compile flags: /Odtp
;	COMDAT ?GetProcessingFieldID@CSAA7134Card@@QAEHPAD@Z
_TEXT	SEGMENT
_this$ = -12						; size = 4
_Status$ = -8						; size = 2
_FieldID$ = -1						; size = 1
_pFieldID$ = 8						; size = 4
?GetProcessingFieldID@CSAA7134Card@@QAEHPAD@Z PROC	; CSAA7134Card::GetProcessingFieldID, COMDAT
; _this$ = ecx

; 756  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 0c	 sub	 esp, 12			; 0000000cH
  00006	89 4d f4	 mov	 DWORD PTR _this$[ebp], ecx

; 757  :     WORD Status;
; 758  :     BYTE FieldID;
; 759  : 
; 760  :     Status  = ReadWord(SAA7134_SCALER_STATUS);

  00009	6a 06		 push	 6
  0000b	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  0000e	e8 00 00 00 00	 call	 ?ReadWord@CPCICard@@QAEGK@Z ; CPCICard::ReadWord
  00013	66 89 45 f8	 mov	 WORD PTR _Status$[ebp], ax

; 761  : 
; 762  :     if (Status & (SAA7134_SCALER_STATUS_TRERR |
; 763  :         SAA7134_SCALER_STATUS_CFERR |
; 764  :         SAA7134_SCALER_STATUS_LDERR |
; 765  :         SAA7134_SCALER_STATUS_WASRST))

  00017	0f b7 45 f8	 movzx	 eax, WORD PTR _Status$[ebp]
  0001b	25 00 0f 00 00	 and	 eax, 3840		; 00000f00H
  00020	74 13		 je	 SHORT $LN7@GetProcess@2

; 766  :     {
; 767  :         CheckScalerError(TRUE, Status);

  00022	0f b7 4d f8	 movzx	 ecx, WORD PTR _Status$[ebp]
  00026	51		 push	 ecx
  00027	6a 01		 push	 1
  00029	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  0002c	e8 00 00 00 00	 call	 ?CheckScalerError@CSAA7134Card@@IAEXHG@Z ; CSAA7134Card::CheckScalerError

; 768  :         return FALSE;

  00031	33 c0		 xor	 eax, eax
  00033	eb 6b		 jmp	 SHORT $LN8@GetProcess@2
$LN7@GetProcess@2:

; 769  :     }
; 770  : 
; 771  :     CheckScalerError(FALSE, Status);

  00035	0f b7 55 f8	 movzx	 edx, WORD PTR _Status$[ebp]
  00039	52		 push	 edx
  0003a	6a 00		 push	 0
  0003c	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  0003f	e8 00 00 00 00	 call	 ?CheckScalerError@CSAA7134Card@@IAEXHG@Z ; CSAA7134Card::CheckScalerError

; 772  : 
; 773  :     // FIDSCI XOR FIDSCO should be 0
; 774  :     if (Status & SAA7134_SCALER_STATUS_D6_D5)

  00044	0f b7 45 f8	 movzx	 eax, WORD PTR _Status$[ebp]
  00048	25 00 40 00 00	 and	 eax, 16384		; 00004000H
  0004d	74 04		 je	 SHORT $LN6@GetProcess@2

; 775  :     {
; 776  :         return FALSE;

  0004f	33 c0		 xor	 eax, eax
  00051	eb 4d		 jmp	 SHORT $LN8@GetProcess@2
$LN6@GetProcess@2:

; 777  :     }
; 778  : 
; 779  :     if (Status & SAA7134_SCALER_STATUS_VID_A)

  00053	0f b7 4d f8	 movzx	 ecx, WORD PTR _Status$[ebp]
  00057	83 e1 01	 and	 ecx, 1
  0005a	74 06		 je	 SHORT $LN5@GetProcess@2

; 780  :     {
; 781  :         FieldID = 0;

  0005c	c6 45 ff 00	 mov	 BYTE PTR _FieldID$[ebp], 0
  00060	eb 13		 jmp	 SHORT $LN4@GetProcess@2
$LN5@GetProcess@2:

; 782  :     }
; 783  :     else if (Status & SAA7134_SCALER_STATUS_VID_B)

  00062	0f b7 55 f8	 movzx	 edx, WORD PTR _Status$[ebp]
  00066	83 e2 10	 and	 edx, 16			; 00000010H
  00069	74 06		 je	 SHORT $LN3@GetProcess@2

; 784  :     {
; 785  :         FieldID = 1;

  0006b	c6 45 ff 01	 mov	 BYTE PTR _FieldID$[ebp], 1

; 786  :     }
; 787  :     else

  0006f	eb 04		 jmp	 SHORT $LN4@GetProcess@2
$LN3@GetProcess@2:

; 788  :     {
; 789  :         return FALSE;

  00071	33 c0		 xor	 eax, eax
  00073	eb 2b		 jmp	 SHORT $LN8@GetProcess@2
$LN4@GetProcess@2:

; 790  :     }
; 791  : 
; 792  :     FieldID <<= FIELDID_FRAMESHIFT;

  00075	8a 45 ff	 mov	 al, BYTE PTR _FieldID$[ebp]
  00078	d0 e0		 shl	 al, 1
  0007a	88 45 ff	 mov	 BYTE PTR _FieldID$[ebp], al

; 793  : 
; 794  :     if ((Status & SAA7134_SCALER_STATUS_FIDSCO) == 0)

  0007d	0f b7 4d f8	 movzx	 ecx, WORD PTR _Status$[ebp]
  00081	81 e1 00 20 00
	00		 and	 ecx, 8192		; 00002000H
  00087	75 0a		 jne	 SHORT $LN1@GetProcess@2

; 795  :     {
; 796  :         FieldID |= FIELDID_SECONDFIELD;

  00089	0f b6 55 ff	 movzx	 edx, BYTE PTR _FieldID$[ebp]
  0008d	83 ca 01	 or	 edx, 1
  00090	88 55 ff	 mov	 BYTE PTR _FieldID$[ebp], dl
$LN1@GetProcess@2:

; 797  :     }
; 798  : 
; 799  :     *pFieldID = FieldID;

  00093	8b 45 08	 mov	 eax, DWORD PTR _pFieldID$[ebp]
  00096	8a 4d ff	 mov	 cl, BYTE PTR _FieldID$[ebp]
  00099	88 08		 mov	 BYTE PTR [eax], cl

; 800  : 
; 801  :     return TRUE;

  0009b	b8 01 00 00 00	 mov	 eax, 1
$LN8@GetProcess@2:

; 802  : }

  000a0	8b e5		 mov	 esp, ebp
  000a2	5d		 pop	 ebp
  000a3	c2 04 00	 ret	 4
?GetProcessingFieldID@CSAA7134Card@@QAEHPAD@Z ENDP	; CSAA7134Card::GetProcessingFieldID
_TEXT	ENDS
PUBLIC	?GetProcessingRegion@CSAA7134Card@@QAEHAAW4eRegionID@CSAA7134Common@@AAH@Z ; CSAA7134Card::GetProcessingRegion
; Function compile flags: /Odtp
;	COMDAT ?GetProcessingRegion@CSAA7134Card@@QAEHAAW4eRegionID@CSAA7134Common@@AAH@Z
_TEXT	SEGMENT
_this$ = -8						; size = 4
_Status$ = -4						; size = 2
_RegionID$ = 8						; size = 4
_bIsFieldOdd$ = 12					; size = 4
?GetProcessingRegion@CSAA7134Card@@QAEHAAW4eRegionID@CSAA7134Common@@AAH@Z PROC ; CSAA7134Card::GetProcessingRegion, COMDAT
; _this$ = ecx

; 701  : {

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

; 702  :     WORD Status;
; 703  : 
; 704  :     Status  = ReadWord(SAA7134_SCALER_STATUS);

  00009	6a 06		 push	 6
  0000b	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0000e	e8 00 00 00 00	 call	 ?ReadWord@CPCICard@@QAEGK@Z ; CPCICard::ReadWord
  00013	66 89 45 fc	 mov	 WORD PTR _Status$[ebp], ax

; 705  : 
; 706  :     if (Status & (SAA7134_SCALER_STATUS_TRERR |
; 707  :         SAA7134_SCALER_STATUS_CFERR |
; 708  :         SAA7134_SCALER_STATUS_LDERR |
; 709  :         SAA7134_SCALER_STATUS_WASRST))

  00017	0f b7 45 fc	 movzx	 eax, WORD PTR _Status$[ebp]
  0001b	25 00 0f 00 00	 and	 eax, 3840		; 00000f00H
  00020	74 13		 je	 SHORT $LN8@GetProcess@3

; 710  :     {
; 711  :         CheckScalerError(TRUE, Status);

  00022	0f b7 4d fc	 movzx	 ecx, WORD PTR _Status$[ebp]
  00026	51		 push	 ecx
  00027	6a 01		 push	 1
  00029	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0002c	e8 00 00 00 00	 call	 ?CheckScalerError@CSAA7134Card@@IAEXHG@Z ; CSAA7134Card::CheckScalerError

; 712  :         return FALSE;

  00031	33 c0		 xor	 eax, eax
  00033	eb 7f		 jmp	 SHORT $LN9@GetProcess@3
$LN8@GetProcess@3:

; 713  :     }
; 714  : 
; 715  :     CheckScalerError(FALSE, Status);

  00035	0f b7 55 fc	 movzx	 edx, WORD PTR _Status$[ebp]
  00039	52		 push	 edx
  0003a	6a 00		 push	 0
  0003c	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0003f	e8 00 00 00 00	 call	 ?CheckScalerError@CSAA7134Card@@IAEXHG@Z ; CSAA7134Card::CheckScalerError

; 716  : 
; 717  :     // FIDSCI XOR FIDSCO should be 0
; 718  :     if (Status & SAA7134_SCALER_STATUS_D6_D5)

  00044	0f b7 45 fc	 movzx	 eax, WORD PTR _Status$[ebp]
  00048	25 00 40 00 00	 and	 eax, 16384		; 00004000H
  0004d	74 04		 je	 SHORT $LN7@GetProcess@3

; 719  :     {
; 720  :         return FALSE;

  0004f	33 c0		 xor	 eax, eax
  00051	eb 61		 jmp	 SHORT $LN9@GetProcess@3
$LN7@GetProcess@3:

; 721  :     }
; 722  : 
; 723  :     if (Status & SAA7134_SCALER_STATUS_VID_A)

  00053	0f b7 4d fc	 movzx	 ecx, WORD PTR _Status$[ebp]
  00057	83 e1 01	 and	 ecx, 1
  0005a	74 0b		 je	 SHORT $LN6@GetProcess@3

; 724  :     {
; 725  :         RegionID = REGIONID_VIDEO_A;

  0005c	8b 55 08	 mov	 edx, DWORD PTR _RegionID$[ebp]
  0005f	c7 02 00 00 00
	00		 mov	 DWORD PTR [edx], 0
  00065	eb 18		 jmp	 SHORT $LN5@GetProcess@3
$LN6@GetProcess@3:

; 726  :     }
; 727  :     else if (Status & SAA7134_SCALER_STATUS_VID_B)

  00067	0f b7 45 fc	 movzx	 eax, WORD PTR _Status$[ebp]
  0006b	83 e0 10	 and	 eax, 16			; 00000010H
  0006e	74 0b		 je	 SHORT $LN4@GetProcess@3

; 728  :     {
; 729  :         RegionID = REGIONID_VIDEO_B;

  00070	8b 4d 08	 mov	 ecx, DWORD PTR _RegionID$[ebp]
  00073	c7 01 01 00 00
	00		 mov	 DWORD PTR [ecx], 1

; 730  :     }
; 731  :     else

  00079	eb 04		 jmp	 SHORT $LN5@GetProcess@3
$LN4@GetProcess@3:

; 732  :     {
; 733  :         return FALSE;

  0007b	33 c0		 xor	 eax, eax
  0007d	eb 35		 jmp	 SHORT $LN9@GetProcess@3
$LN5@GetProcess@3:

; 734  :     }
; 735  : 
; 736  :     if (Status & SAA7134_SCALER_STATUS_FIDSCO)

  0007f	0f b7 55 fc	 movzx	 edx, WORD PTR _Status$[ebp]
  00083	81 e2 00 20 00
	00		 and	 edx, 8192		; 00002000H
  00089	74 0b		 je	 SHORT $LN2@GetProcess@3

; 737  :     {
; 738  :         bIsFieldOdd = FALSE;

  0008b	8b 45 0c	 mov	 eax, DWORD PTR _bIsFieldOdd$[ebp]
  0008e	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], 0

; 739  :     }
; 740  :     else

  00094	eb 09		 jmp	 SHORT $LN1@GetProcess@3
$LN2@GetProcess@3:

; 741  :     {
; 742  :         bIsFieldOdd = TRUE;

  00096	8b 4d 0c	 mov	 ecx, DWORD PTR _bIsFieldOdd$[ebp]
  00099	c7 01 01 00 00
	00		 mov	 DWORD PTR [ecx], 1
$LN1@GetProcess@3:

; 743  :     }
; 744  : 
; 745  :     // Everything above is SAA7134 style, here we convert evens
; 746  :     // to odd and odds to even so SAA7134Source can take even
; 747  :     // has to top line --instead of odd which SAA7134 uses.
; 748  :     //   ala. CSAACard::SetBaseOffsets()
; 749  :     bIsFieldOdd = !bIsFieldOdd;

  0009f	8b 55 0c	 mov	 edx, DWORD PTR _bIsFieldOdd$[ebp]
  000a2	33 c0		 xor	 eax, eax
  000a4	83 3a 00	 cmp	 DWORD PTR [edx], 0
  000a7	0f 94 c0	 sete	 al
  000aa	8b 4d 0c	 mov	 ecx, DWORD PTR _bIsFieldOdd$[ebp]
  000ad	89 01		 mov	 DWORD PTR [ecx], eax

; 750  : 
; 751  :     return TRUE;

  000af	b8 01 00 00 00	 mov	 eax, 1
$LN9@GetProcess@3:

; 752  : }

  000b4	8b e5		 mov	 esp, ebp
  000b6	5d		 pop	 ebp
  000b7	c2 08 00	 ret	 8
?GetProcessingRegion@CSAA7134Card@@QAEHAAW4eRegionID@CSAA7134Common@@AAH@Z ENDP ; CSAA7134Card::GetProcessingRegion
_TEXT	ENDS
PUBLIC	?IsVideoPresent@CSAA7134Card@@QAEHXZ		; CSAA7134Card::IsVideoPresent
; Function compile flags: /Odtp
;	COMDAT ?IsVideoPresent@CSAA7134Card@@QAEHXZ
_TEXT	SEGMENT
_this$ = -8						; size = 4
_CheckMask$ = -4					; size = 2
?IsVideoPresent@CSAA7134Card@@QAEHXZ PROC		; CSAA7134Card::IsVideoPresent, COMDAT
; _this$ = ecx

; 677  : {

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

; 678  :     WORD CheckMask = SAA7134_STATUS_VIDEO_HLCK;

  00009	b8 40 00 00 00	 mov	 eax, 64			; 00000040H
  0000e	66 89 45 fc	 mov	 WORD PTR _CheckMask$[ebp], ax

; 679  : 
; 680  :     if ((ReadWord(SAA7134_STATUS_VIDEO) & CheckMask) == 0)

  00012	68 1e 01 00 00	 push	 286			; 0000011eH
  00017	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0001a	e8 00 00 00 00	 call	 ?ReadWord@CPCICard@@QAEGK@Z ; CPCICard::ReadWord
  0001f	0f b7 c8	 movzx	 ecx, ax
  00022	0f b7 55 fc	 movzx	 edx, WORD PTR _CheckMask$[ebp]
  00026	23 ca		 and	 ecx, edx
  00028	75 07		 jne	 SHORT $LN1@IsVideoPre@4

; 681  :     {
; 682  :         return TRUE;

  0002a	b8 01 00 00 00	 mov	 eax, 1
  0002f	eb 02		 jmp	 SHORT $LN2@IsVideoPre@4
$LN1@IsVideoPre@4:

; 683  :     }
; 684  : 
; 685  :     return FALSE;

  00031	33 c0		 xor	 eax, eax
$LN2@IsVideoPre@4:

; 686  : }

  00033	8b e5		 mov	 esp, ebp
  00035	5d		 pop	 ebp
  00036	c3		 ret	 0
?IsVideoPresent@CSAA7134Card@@QAEHXZ ENDP		; CSAA7134Card::IsVideoPresent
_TEXT	ENDS
PUBLIC	?StopCapture@CSAA7134Card@@QAEXXZ		; CSAA7134Card::StopCapture
; Function compile flags: /Odtp
;	COMDAT ?StopCapture@CSAA7134Card@@QAEXXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?StopCapture@CSAA7134Card@@QAEXXZ PROC			; CSAA7134Card::StopCapture, COMDAT
; _this$ = ecx

; 671  : {

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

; 672  :     WriteByte(SAA7134_REGION_ENABLE, 0x00);

  00007	6a 00		 push	 0
  00009	6a 04		 push	 4
  0000b	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000e	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 673  : }

  00013	8b e5		 mov	 esp, ebp
  00015	5d		 pop	 ebp
  00016	c3		 ret	 0
?StopCapture@CSAA7134Card@@QAEXXZ ENDP			; CSAA7134Card::StopCapture
_TEXT	ENDS
PUBLIC	?GetDMA@CSAA7134Card@@QAEHW4eRegionID@CSAA7134Common@@@Z ; CSAA7134Card::GetDMA
; Function compile flags: /Odtp
;	COMDAT ?GetDMA@CSAA7134Card@@QAEHW4eRegionID@CSAA7134Common@@@Z
_TEXT	SEGMENT
tv64 = -12						; size = 4
_this$ = -8						; size = 4
_Mask$ = -4						; size = 4
_RegionID$ = 8						; size = 4
?GetDMA@CSAA7134Card@@QAEHW4eRegionID@CSAA7134Common@@@Z PROC ; CSAA7134Card::GetDMA, COMDAT
; _this$ = ecx

; 632  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 0c	 sub	 esp, 12			; 0000000cH
  00006	89 4d f8	 mov	 DWORD PTR _this$[ebp], ecx

; 633  :     DWORD Mask = 0;

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

; 634  : 
; 635  :     switch (RegionID) {

  00010	8b 45 08	 mov	 eax, DWORD PTR _RegionID$[ebp]
  00013	89 45 f4	 mov	 DWORD PTR tv64[ebp], eax
  00016	83 7d f4 03	 cmp	 DWORD PTR tv64[ebp], 3
  0001a	77 2c		 ja	 SHORT $LN5@GetDMA@2
  0001c	8b 4d f4	 mov	 ecx, DWORD PTR tv64[ebp]
  0001f	ff 24 8d 00 00
	00 00		 jmp	 DWORD PTR $LN9@GetDMA@2[ecx*4]
$LN4@GetDMA@2:

; 636  :     case REGIONID_VIDEO_A: Mask = SAA7134_MAIN_CTRL_TE0; break;

  00026	c7 45 fc 01 00
	00 00		 mov	 DWORD PTR _Mask$[ebp], 1
  0002d	eb 19		 jmp	 SHORT $LN5@GetDMA@2
$LN3@GetDMA@2:

; 637  :     case REGIONID_VIDEO_B: Mask = SAA7134_MAIN_CTRL_TE1; break;

  0002f	c7 45 fc 02 00
	00 00		 mov	 DWORD PTR _Mask$[ebp], 2
  00036	eb 10		 jmp	 SHORT $LN5@GetDMA@2
$LN2@GetDMA@2:

; 638  :     case REGIONID_VBI_A: Mask = SAA7134_MAIN_CTRL_TE2; break;

  00038	c7 45 fc 04 00
	00 00		 mov	 DWORD PTR _Mask$[ebp], 4
  0003f	eb 07		 jmp	 SHORT $LN5@GetDMA@2
$LN1@GetDMA@2:

; 639  :     case REGIONID_VBI_B: Mask = SAA7134_MAIN_CTRL_TE3; break;

  00041	c7 45 fc 08 00
	00 00		 mov	 DWORD PTR _Mask$[ebp], 8
$LN5@GetDMA@2:

; 640  :     }
; 641  : 
; 642  :     return (ReadDword(SAA7134_MAIN_CTRL) & Mask) > 0;

  00048	68 a8 02 00 00	 push	 680			; 000002a8H
  0004d	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00050	e8 00 00 00 00	 call	 ?ReadDword@CPCICard@@QAEKK@Z ; CPCICard::ReadDword
  00055	23 45 fc	 and	 eax, DWORD PTR _Mask$[ebp]
  00058	33 d2		 xor	 edx, edx
  0005a	3b d0		 cmp	 edx, eax
  0005c	1b c0		 sbb	 eax, eax
  0005e	f7 d8		 neg	 eax

; 643  : }

  00060	8b e5		 mov	 esp, ebp
  00062	5d		 pop	 ebp
  00063	c2 04 00	 ret	 4
  00066	8b ff		 npad	 2
$LN9@GetDMA@2:
  00068	00 00 00 00	 DD	 $LN4@GetDMA@2
  0006c	00 00 00 00	 DD	 $LN3@GetDMA@2
  00070	00 00 00 00	 DD	 $LN2@GetDMA@2
  00074	00 00 00 00	 DD	 $LN1@GetDMA@2
?GetDMA@CSAA7134Card@@QAEHW4eRegionID@CSAA7134Common@@@Z ENDP ; CSAA7134Card::GetDMA
_TEXT	ENDS
PUBLIC	?CalculateLinesAvailable@CSAA7134Card@@IAEGW4eRegionID@CSAA7134Common@@G@Z ; CSAA7134Card::CalculateLinesAvailable
; Function compile flags: /Odtp
;	COMDAT ?CalculateLinesAvailable@CSAA7134Card@@IAEGW4eRegionID@CSAA7134Common@@G@Z
_TEXT	SEGMENT
tv95 = -32						; size = 4
_this$ = -28						; size = 4
_Offset2$ = -24						; size = 4
_MaxBaseOffset$ = -20					; size = 4
_Offset1$ = -16						; size = 4
_Pitch$ = -12						; size = 4
_Channel$ = -8						; size = 4
_MinimumBytesAvailable$ = -4				; size = 4
_RegionID$ = 8						; size = 4
_wBytesPerLine$ = 12					; size = 2
?CalculateLinesAvailable@CSAA7134Card@@IAEGW4eRegionID@CSAA7134Common@@G@Z PROC ; CSAA7134Card::CalculateLinesAvailable, COMDAT
; _this$ = ecx

; 558  : {

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

; 559  :     int Channel = RegionID2Channel(RegionID);

  00009	8b 45 08	 mov	 eax, DWORD PTR _RegionID$[ebp]
  0000c	50		 push	 eax
  0000d	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00010	e8 00 00 00 00	 call	 ?RegionID2Channel@CSAA7134Card@@IAEHW4eRegionID@CSAA7134Common@@@Z ; CSAA7134Card::RegionID2Channel
  00015	89 45 f8	 mov	 DWORD PTR _Channel$[ebp], eax

; 560  : 
; 561  :     DWORD Offset1     = ReadDword(SAA7134_RS_BA1(Channel));

  00018	8b 4d f8	 mov	 ecx, DWORD PTR _Channel$[ebp]
  0001b	c1 e1 04	 shl	 ecx, 4
  0001e	81 c9 00 02 00
	00		 or	 ecx, 512		; 00000200H
  00024	51		 push	 ecx
  00025	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00028	e8 00 00 00 00	 call	 ?ReadDword@CPCICard@@QAEKK@Z ; CPCICard::ReadDword
  0002d	89 45 f0	 mov	 DWORD PTR _Offset1$[ebp], eax

; 562  :     DWORD Offset2     = ReadDword(SAA7134_RS_BA2(Channel));

  00030	8b 55 f8	 mov	 edx, DWORD PTR _Channel$[ebp]
  00033	c1 e2 04	 shl	 edx, 4
  00036	81 ca 04 02 00
	00		 or	 edx, 516		; 00000204H
  0003c	52		 push	 edx
  0003d	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00040	e8 00 00 00 00	 call	 ?ReadDword@CPCICard@@QAEKK@Z ; CPCICard::ReadDword
  00045	89 45 e8	 mov	 DWORD PTR _Offset2$[ebp], eax

; 563  :     DWORD Pitch         = ReadDword(SAA7134_RS_PITCH(Channel));

  00048	8b 45 f8	 mov	 eax, DWORD PTR _Channel$[ebp]
  0004b	c1 e0 04	 shl	 eax, 4
  0004e	0d 08 02 00 00	 or	 eax, 520		; 00000208H
  00053	50		 push	 eax
  00054	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00057	e8 00 00 00 00	 call	 ?ReadDword@CPCICard@@QAEKK@Z ; CPCICard::ReadDword
  0005c	89 45 f4	 mov	 DWORD PTR _Pitch$[ebp], eax

; 564  : 
; 565  :     DWORD MaxBaseOffset = (Offset2 > Offset1) ? Offset2 : Offset1;

  0005f	8b 4d e8	 mov	 ecx, DWORD PTR _Offset2$[ebp]
  00062	3b 4d f0	 cmp	 ecx, DWORD PTR _Offset1$[ebp]
  00065	76 08		 jbe	 SHORT $LN5@CalculateL
  00067	8b 55 e8	 mov	 edx, DWORD PTR _Offset2$[ebp]
  0006a	89 55 e0	 mov	 DWORD PTR tv95[ebp], edx
  0006d	eb 06		 jmp	 SHORT $LN6@CalculateL
$LN5@CalculateL:
  0006f	8b 45 f0	 mov	 eax, DWORD PTR _Offset1$[ebp]
  00072	89 45 e0	 mov	 DWORD PTR tv95[ebp], eax
$LN6@CalculateL:
  00075	8b 4d e0	 mov	 ecx, DWORD PTR tv95[ebp]
  00078	89 4d ec	 mov	 DWORD PTR _MaxBaseOffset$[ebp], ecx

; 566  :     DWORD MinimumBytesAvailable;
; 567  : 
; 568  :     MinimumBytesAvailable = m_DMAChannelMemorySize[Channel];

  0007b	8b 55 f8	 mov	 edx, DWORD PTR _Channel$[ebp]
  0007e	8b 45 e4	 mov	 eax, DWORD PTR _this$[ebp]
  00081	8b 8c 90 88 00
	00 00		 mov	 ecx, DWORD PTR [eax+edx*4+136]
  00088	89 4d fc	 mov	 DWORD PTR _MinimumBytesAvailable$[ebp], ecx

; 569  : 
; 570  :     if (MinimumBytesAvailable < MaxBaseOffset)

  0008b	8b 55 fc	 mov	 edx, DWORD PTR _MinimumBytesAvailable$[ebp]
  0008e	3b 55 ec	 cmp	 edx, DWORD PTR _MaxBaseOffset$[ebp]
  00091	73 04		 jae	 SHORT $LN2@CalculateL

; 571  :     {
; 572  :         return 0;

  00093	33 c0		 xor	 eax, eax
  00095	eb 27		 jmp	 SHORT $LN3@CalculateL
$LN2@CalculateL:

; 573  :     }
; 574  : 
; 575  :     MinimumBytesAvailable -= MaxBaseOffset;

  00097	8b 45 fc	 mov	 eax, DWORD PTR _MinimumBytesAvailable$[ebp]
  0009a	2b 45 ec	 sub	 eax, DWORD PTR _MaxBaseOffset$[ebp]
  0009d	89 45 fc	 mov	 DWORD PTR _MinimumBytesAvailable$[ebp], eax

; 576  :     if (MinimumBytesAvailable < wBytesPerLine)

  000a0	0f b7 4d 0c	 movzx	 ecx, WORD PTR _wBytesPerLine$[ebp]
  000a4	39 4d fc	 cmp	 DWORD PTR _MinimumBytesAvailable$[ebp], ecx
  000a7	73 04		 jae	 SHORT $LN1@CalculateL

; 577  :     {
; 578  :         return 0;

  000a9	33 c0		 xor	 eax, eax
  000ab	eb 11		 jmp	 SHORT $LN3@CalculateL
$LN1@CalculateL:

; 579  :     }
; 580  : 
; 581  :     return (WORD)((MinimumBytesAvailable - wBytesPerLine) / Pitch + 1);

  000ad	0f b7 55 0c	 movzx	 edx, WORD PTR _wBytesPerLine$[ebp]
  000b1	8b 45 fc	 mov	 eax, DWORD PTR _MinimumBytesAvailable$[ebp]
  000b4	2b c2		 sub	 eax, edx
  000b6	33 d2		 xor	 edx, edx
  000b8	f7 75 f4	 div	 DWORD PTR _Pitch$[ebp]
  000bb	83 c0 01	 add	 eax, 1
$LN3@CalculateL:

; 582  : }

  000be	8b e5		 mov	 esp, ebp
  000c0	5d		 pop	 ebp
  000c1	c2 08 00	 ret	 8
?CalculateLinesAvailable@CSAA7134Card@@IAEGW4eRegionID@CSAA7134Common@@G@Z ENDP ; CSAA7134Card::CalculateLinesAvailable
_TEXT	ENDS
PUBLIC	?VerifyMemorySize@CSAA7134Card@@IAEXW4eRegionID@CSAA7134Common@@@Z ; CSAA7134Card::VerifyMemorySize
; Function compile flags: /Odtp
;	COMDAT ?VerifyMemorySize@CSAA7134Card@@IAEXW4eRegionID@CSAA7134Common@@@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
_LinesAvailable$ = -12					; size = 2
_BytesPerLine$ = -8					; size = 2
_TaskMask$ = -1						; size = 1
_RegionID$ = 8						; size = 4
?VerifyMemorySize@CSAA7134Card@@IAEXW4eRegionID@CSAA7134Common@@@Z PROC ; CSAA7134Card::VerifyMemorySize, COMDAT
; _this$ = ecx

; 516  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 10	 sub	 esp, 16			; 00000010H
  00006	56		 push	 esi
  00007	89 4d f0	 mov	 DWORD PTR _this$[ebp], ecx

; 517  :     WORD LinesAvailable;
; 518  :     WORD BytesPerLine;
; 519  : 
; 520  :     // Only Video and VBI memory size checking is implemented
; 521  :     if (!IsRegionIDVideo(RegionID) && !IsRegionIDVBI(RegionID))

  0000a	8b 45 08	 mov	 eax, DWORD PTR _RegionID$[ebp]
  0000d	50		 push	 eax
  0000e	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00011	83 c1 58	 add	 ecx, 88			; 00000058H
  00014	e8 00 00 00 00	 call	 ?IsRegionIDVideo@CSAA7134Common@@IAEHW4eRegionID@1@@Z ; CSAA7134Common::IsRegionIDVideo
  00019	85 c0		 test	 eax, eax
  0001b	75 18		 jne	 SHORT $LN7@VerifyMemo
  0001d	8b 4d 08	 mov	 ecx, DWORD PTR _RegionID$[ebp]
  00020	51		 push	 ecx
  00021	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00024	83 c1 58	 add	 ecx, 88			; 00000058H
  00027	e8 00 00 00 00	 call	 ?IsRegionIDVBI@CSAA7134Common@@IAEHW4eRegionID@1@@Z ; CSAA7134Common::IsRegionIDVBI
  0002c	85 c0		 test	 eax, eax
  0002e	75 05		 jne	 SHORT $LN7@VerifyMemo

; 522  :     {
; 523  :         return;

  00030	e9 e7 00 00 00	 jmp	 $LN8@VerifyMemo
$LN7@VerifyMemo:

; 524  :     }
; 525  : 
; 526  :     BYTE TaskMask = TaskID2TaskMask(RegionID2TaskID(RegionID));

  00035	8b 55 08	 mov	 edx, DWORD PTR _RegionID$[ebp]
  00038	52		 push	 edx
  00039	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0003c	83 c1 58	 add	 ecx, 88			; 00000058H
  0003f	e8 00 00 00 00	 call	 ?RegionID2TaskID@CSAA7134Common@@IAE?AW4eTaskID@1@W4eRegionID@1@@Z ; CSAA7134Common::RegionID2TaskID
  00044	50		 push	 eax
  00045	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00048	e8 00 00 00 00	 call	 ?TaskID2TaskMask@CSAA7134Card@@IAEEW4eTaskID@CSAA7134Common@@@Z ; CSAA7134Card::TaskID2TaskMask
  0004d	88 45 ff	 mov	 BYTE PTR _TaskMask$[ebp], al

; 527  : 
; 528  :     if (IsRegionIDVBI(RegionID))

  00050	8b 45 08	 mov	 eax, DWORD PTR _RegionID$[ebp]
  00053	50		 push	 eax
  00054	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00057	83 c1 58	 add	 ecx, 88			; 00000058H
  0005a	e8 00 00 00 00	 call	 ?IsRegionIDVBI@CSAA7134Common@@IAEHW4eRegionID@1@@Z ; CSAA7134Common::IsRegionIDVBI
  0005f	85 c0		 test	 eax, eax
  00061	74 16		 je	 SHORT $LN6@VerifyMemo

; 529  :     {
; 530  :         BytesPerLine = ReadWord(SAA7134_VBI_H_LEN(TaskMask));

  00063	0f b6 4d ff	 movzx	 ecx, BYTE PTR _TaskMask$[ebp]
  00067	83 c9 0c	 or	 ecx, 12			; 0000000cH
  0006a	51		 push	 ecx
  0006b	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0006e	e8 00 00 00 00	 call	 ?ReadWord@CPCICard@@QAEGK@Z ; CPCICard::ReadWord
  00073	66 89 45 f8	 mov	 WORD PTR _BytesPerLine$[ebp], ax

; 531  :     }
; 532  :     else

  00077	eb 19		 jmp	 SHORT $LN5@VerifyMemo
$LN6@VerifyMemo:

; 533  :     {
; 534  :         // YUV is 2 bytes per pixel
; 535  :         BytesPerLine = ReadWord(SAA7134_VIDEO_PIXELS(TaskMask)) * 2;

  00079	0f b6 55 ff	 movzx	 edx, BYTE PTR _TaskMask$[ebp]
  0007d	83 ca 1c	 or	 edx, 28			; 0000001cH
  00080	52		 push	 edx
  00081	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00084	e8 00 00 00 00	 call	 ?ReadWord@CPCICard@@QAEGK@Z ; CPCICard::ReadWord
  00089	0f b7 c0	 movzx	 eax, ax
  0008c	d1 e0		 shl	 eax, 1
  0008e	66 89 45 f8	 mov	 WORD PTR _BytesPerLine$[ebp], ax
$LN5@VerifyMemo:

; 536  :     }
; 537  : 
; 538  :     LinesAvailable = CalculateLinesAvailable(RegionID, BytesPerLine);

  00092	0f b7 4d f8	 movzx	 ecx, WORD PTR _BytesPerLine$[ebp]
  00096	51		 push	 ecx
  00097	8b 55 08	 mov	 edx, DWORD PTR _RegionID$[ebp]
  0009a	52		 push	 edx
  0009b	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0009e	e8 00 00 00 00	 call	 ?CalculateLinesAvailable@CSAA7134Card@@IAEGW4eRegionID@CSAA7134Common@@G@Z ; CSAA7134Card::CalculateLinesAvailable
  000a3	66 89 45 f4	 mov	 WORD PTR _LinesAvailable$[ebp], ax

; 539  : 
; 540  :     if (IsRegionIDVBI(RegionID))

  000a7	8b 45 08	 mov	 eax, DWORD PTR _RegionID$[ebp]
  000aa	50		 push	 eax
  000ab	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  000ae	83 c1 58	 add	 ecx, 88			; 00000058H
  000b1	e8 00 00 00 00	 call	 ?IsRegionIDVBI@CSAA7134Common@@IAEHW4eRegionID@1@@Z ; CSAA7134Common::IsRegionIDVBI
  000b6	85 c0		 test	 eax, eax
  000b8	74 32		 je	 SHORT $LN4@VerifyMemo

; 541  :     {
; 542  :         if (LinesAvailable < ReadWord(SAA7134_VBI_V_LEN(TaskMask)))

  000ba	0f b7 75 f4	 movzx	 esi, WORD PTR _LinesAvailable$[ebp]
  000be	0f b6 4d ff	 movzx	 ecx, BYTE PTR _TaskMask$[ebp]
  000c2	83 c9 0e	 or	 ecx, 14			; 0000000eH
  000c5	51		 push	 ecx
  000c6	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  000c9	e8 00 00 00 00	 call	 ?ReadWord@CPCICard@@QAEGK@Z ; CPCICard::ReadWord
  000ce	0f b7 d0	 movzx	 edx, ax
  000d1	3b f2		 cmp	 esi, edx
  000d3	7d 15		 jge	 SHORT $LN3@VerifyMemo

; 543  :         {
; 544  :             WriteWord(SAA7134_VBI_H_LEN(TaskMask), LinesAvailable);

  000d5	0f b7 45 f4	 movzx	 eax, WORD PTR _LinesAvailable$[ebp]
  000d9	50		 push	 eax
  000da	0f b6 4d ff	 movzx	 ecx, BYTE PTR _TaskMask$[ebp]
  000de	83 c9 0c	 or	 ecx, 12			; 0000000cH
  000e1	51		 push	 ecx
  000e2	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  000e5	e8 00 00 00 00	 call	 ?WriteWord@CPCICard@@QAEXKG@Z ; CPCICard::WriteWord
$LN3@VerifyMemo:

; 545  :         }
; 546  :     }
; 547  :     else

  000ea	eb 30		 jmp	 SHORT $LN8@VerifyMemo
$LN4@VerifyMemo:

; 548  :     {
; 549  :         if (LinesAvailable < ReadWord(SAA7134_VIDEO_LINES(TaskMask)))

  000ec	0f b7 75 f4	 movzx	 esi, WORD PTR _LinesAvailable$[ebp]
  000f0	0f b6 55 ff	 movzx	 edx, BYTE PTR _TaskMask$[ebp]
  000f4	83 ca 1e	 or	 edx, 30			; 0000001eH
  000f7	52		 push	 edx
  000f8	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  000fb	e8 00 00 00 00	 call	 ?ReadWord@CPCICard@@QAEGK@Z ; CPCICard::ReadWord
  00100	0f b7 c0	 movzx	 eax, ax
  00103	3b f0		 cmp	 esi, eax
  00105	7d 15		 jge	 SHORT $LN8@VerifyMemo

; 550  :         {
; 551  :             WriteWord(SAA7134_VIDEO_LINES(TaskMask), LinesAvailable);

  00107	0f b7 4d f4	 movzx	 ecx, WORD PTR _LinesAvailable$[ebp]
  0010b	51		 push	 ecx
  0010c	0f b6 55 ff	 movzx	 edx, BYTE PTR _TaskMask$[ebp]
  00110	83 ca 1e	 or	 edx, 30			; 0000001eH
  00113	52		 push	 edx
  00114	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00117	e8 00 00 00 00	 call	 ?WriteWord@CPCICard@@QAEXKG@Z ; CPCICard::WriteWord
$LN8@VerifyMemo:

; 552  :         }
; 553  :     }
; 554  : }

  0011c	5e		 pop	 esi
  0011d	8b e5		 mov	 esp, ebp
  0011f	5d		 pop	 ebp
  00120	c2 04 00	 ret	 4
?VerifyMemorySize@CSAA7134Card@@IAEXW4eRegionID@CSAA7134Common@@@Z ENDP ; CSAA7134Card::VerifyMemorySize
_TEXT	ENDS
PUBLIC	?SetBSwapAndWSwap@CSAA7134Card@@QAEXW4eRegionID@CSAA7134Common@@HH@Z ; CSAA7134Card::SetBSwapAndWSwap
; Function compile flags: /Odtp
;	COMDAT ?SetBSwapAndWSwap@CSAA7134Card@@QAEXW4eRegionID@CSAA7134Common@@HH@Z
_TEXT	SEGMENT
_this$ = -8						; size = 4
_Channel$ = -4						; size = 4
_RegionID$ = 8						; size = 4
_bBSwap$ = 12						; size = 4
_bWSwap$ = 16						; size = 4
?SetBSwapAndWSwap@CSAA7134Card@@QAEXW4eRegionID@CSAA7134Common@@HH@Z PROC ; CSAA7134Card::SetBSwapAndWSwap, COMDAT
; _this$ = ecx

; 505  : {

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

; 506  :     int Channel = RegionID2Channel(RegionID);

  00009	8b 45 08	 mov	 eax, DWORD PTR _RegionID$[ebp]
  0000c	50		 push	 eax
  0000d	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00010	e8 00 00 00 00	 call	 ?RegionID2Channel@CSAA7134Card@@IAEHW4eRegionID@CSAA7134Common@@@Z ; CSAA7134Card::RegionID2Channel
  00015	89 45 fc	 mov	 DWORD PTR _Channel$[ebp], eax

; 507  : 
; 508  :     WriteByte(SAA7134_RS_CONTROL_3(Channel),
; 509  :             (bBSwap ? SAA7134_RS_CONTROL_3_BSWAP : 0x00) |
; 510  :             (bWSwap ? SAA7134_RS_CONTROL_3_WSWAP : 0x00)
; 511  :         );

  00018	33 c9		 xor	 ecx, ecx
  0001a	83 7d 0c 00	 cmp	 DWORD PTR _bBSwap$[ebp], 0
  0001e	0f 95 c1	 setne	 cl
  00021	8b 55 10	 mov	 edx, DWORD PTR _bWSwap$[ebp]
  00024	f7 da		 neg	 edx
  00026	1b d2		 sbb	 edx, edx
  00028	83 e2 02	 and	 edx, 2
  0002b	0b ca		 or	 ecx, edx
  0002d	51		 push	 ecx
  0002e	8b 45 fc	 mov	 eax, DWORD PTR _Channel$[ebp]
  00031	c1 e0 04	 shl	 eax, 4
  00034	0d 0f 02 00 00	 or	 eax, 527		; 0000020fH
  00039	50		 push	 eax
  0003a	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0003d	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 512  : }

  00042	8b e5		 mov	 esp, ebp
  00044	5d		 pop	 ebp
  00045	c2 0c 00	 ret	 12			; 0000000cH
?SetBSwapAndWSwap@CSAA7134Card@@QAEXW4eRegionID@CSAA7134Common@@HH@Z ENDP ; CSAA7134Card::SetBSwapAndWSwap
_TEXT	ENDS
PUBLIC	?SetBaseOffsets@CSAA7134Card@@QAEXW4eRegionID@CSAA7134Common@@KKK@Z ; CSAA7134Card::SetBaseOffsets
; Function compile flags: /Odtp
;	COMDAT ?SetBaseOffsets@CSAA7134Card@@QAEXW4eRegionID@CSAA7134Common@@KKK@Z
_TEXT	SEGMENT
_this$ = -8						; size = 4
_Channel$ = -4						; size = 4
_RegionID$ = 8						; size = 4
_dwEvenOffset$ = 12					; size = 4
_dwOddOffset$ = 16					; size = 4
_dwPitch$ = 20						; size = 4
?SetBaseOffsets@CSAA7134Card@@QAEXW4eRegionID@CSAA7134Common@@KKK@Z PROC ; CSAA7134Card::SetBaseOffsets, COMDAT
; _this$ = ecx

; 481  : {

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

; 482  :     int Channel = RegionID2Channel(RegionID);

  00009	8b 45 08	 mov	 eax, DWORD PTR _RegionID$[ebp]
  0000c	50		 push	 eax
  0000d	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00010	e8 00 00 00 00	 call	 ?RegionID2Channel@CSAA7134Card@@IAEHW4eRegionID@CSAA7134Common@@@Z ; CSAA7134Card::RegionID2Channel
  00015	89 45 fc	 mov	 DWORD PTR _Channel$[ebp], eax

; 483  : 
; 484  :     // WARNING!!  SAA7134 thinks the top line is odd but DScaler expects
; 485  :     //            it to be even.  Do the conversion in here in SAA7134Card.cpp
; 486  :     //            so we don't confuse ourselves... (I hope)  Make sure everything
; 487  :     //            we give back to SAA7134Source.cpp has already been converted.
; 488  :     //            GetProcessingRegion() and GetIRQEventRegion() and should have
; 489  :     //            the conversion back.
; 490  :     //
; 491  :     // SAA7134 writes the upper field to BA1 the lower field to B2, but
; 492  :     // for some reason, B2 (lower) gets written to processed before B1.
; 493  :     //
; 494  :     // Number bytes to offset into every page
; 495  :     // Give the even offset as odd and odd offset as even
; 496  :     WriteDword(SAA7134_RS_BA2(Channel), dwOddOffset);

  00018	8b 4d 10	 mov	 ecx, DWORD PTR _dwOddOffset$[ebp]
  0001b	51		 push	 ecx
  0001c	8b 55 fc	 mov	 edx, DWORD PTR _Channel$[ebp]
  0001f	c1 e2 04	 shl	 edx, 4
  00022	81 ca 04 02 00
	00		 or	 edx, 516		; 00000204H
  00028	52		 push	 edx
  00029	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0002c	e8 00 00 00 00	 call	 ?WriteDword@CPCICard@@QAEXKK@Z ; CPCICard::WriteDword

; 497  :     WriteDword(SAA7134_RS_BA1(Channel), dwEvenOffset);

  00031	8b 45 0c	 mov	 eax, DWORD PTR _dwEvenOffset$[ebp]
  00034	50		 push	 eax
  00035	8b 4d fc	 mov	 ecx, DWORD PTR _Channel$[ebp]
  00038	c1 e1 04	 shl	 ecx, 4
  0003b	81 c9 00 02 00
	00		 or	 ecx, 512		; 00000200H
  00041	51		 push	 ecx
  00042	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00045	e8 00 00 00 00	 call	 ?WriteDword@CPCICard@@QAEXKK@Z ; CPCICard::WriteDword

; 498  : 
; 499  :     // Number of bytes to spend per line
; 500  :     WriteDword(SAA7134_RS_PITCH(Channel), dwPitch);

  0004a	8b 55 14	 mov	 edx, DWORD PTR _dwPitch$[ebp]
  0004d	52		 push	 edx
  0004e	8b 45 fc	 mov	 eax, DWORD PTR _Channel$[ebp]
  00051	c1 e0 04	 shl	 eax, 4
  00054	0d 08 02 00 00	 or	 eax, 520		; 00000208H
  00059	50		 push	 eax
  0005a	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0005d	e8 00 00 00 00	 call	 ?WriteDword@CPCICard@@QAEXKK@Z ; CPCICard::WriteDword

; 501  : }

  00062	8b e5		 mov	 esp, ebp
  00064	5d		 pop	 ebp
  00065	c2 10 00	 ret	 16			; 00000010H
?SetBaseOffsets@CSAA7134Card@@QAEXW4eRegionID@CSAA7134Common@@KKK@Z ENDP ; CSAA7134Card::SetBaseOffsets
_TEXT	ENDS
PUBLIC	?SetPageTable@CSAA7134Card@@QAEXW4eRegionID@CSAA7134Common@@KK@Z ; CSAA7134Card::SetPageTable
; Function compile flags: /Odtp
;	COMDAT ?SetPageTable@CSAA7134Card@@QAEXW4eRegionID@CSAA7134Common@@KK@Z
_TEXT	SEGMENT
_this$ = -12						; size = 4
_Page$145627 = -8					; size = 4
_Channel$ = -4						; size = 4
_RegionID$ = 8						; size = 4
_pPhysical$ = 12					; size = 4
_nPages$ = 16						; size = 4
?SetPageTable@CSAA7134Card@@QAEXW4eRegionID@CSAA7134Common@@KK@Z PROC ; CSAA7134Card::SetPageTable, COMDAT
; _this$ = ecx

; 450  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 0c	 sub	 esp, 12			; 0000000cH
  00006	89 4d f4	 mov	 DWORD PTR _this$[ebp], ecx

; 451  :     int Channel = RegionID2Channel(RegionID);

  00009	8b 45 08	 mov	 eax, DWORD PTR _RegionID$[ebp]
  0000c	50		 push	 eax
  0000d	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  00010	e8 00 00 00 00	 call	 ?RegionID2Channel@CSAA7134Card@@IAEHW4eRegionID@CSAA7134Common@@@Z ; CSAA7134Card::RegionID2Channel
  00015	89 45 fc	 mov	 DWORD PTR _Channel$[ebp], eax

; 452  : 
; 453  :     if (pPhysical != 0)

  00018	83 7d 0c 00	 cmp	 DWORD PTR _pPhysical$[ebp], 0
  0001c	0f 84 82 00 00
	00		 je	 $LN2@SetPageTab

; 454  :     {
; 455  :         DWORD Page = pPhysical >> 12;

  00022	8b 4d 0c	 mov	 ecx, DWORD PTR _pPhysical$[ebp]
  00025	c1 e9 0c	 shr	 ecx, 12			; 0000000cH
  00028	89 4d f8	 mov	 DWORD PTR _Page$145627[ebp], ecx

; 456  : 
; 457  :         // ME must be enabled for page tables to work
; 458  :         WriteByte(SAA7134_RS_CONTROL_0(Channel), (BYTE)(Page & 0xFF));

  0002b	8b 55 f8	 mov	 edx, DWORD PTR _Page$145627[ebp]
  0002e	81 e2 ff 00 00
	00		 and	 edx, 255		; 000000ffH
  00034	52		 push	 edx
  00035	8b 45 fc	 mov	 eax, DWORD PTR _Channel$[ebp]
  00038	c1 e0 04	 shl	 eax, 4
  0003b	0d 0c 02 00 00	 or	 eax, 524		; 0000020cH
  00040	50		 push	 eax
  00041	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  00044	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 459  :         WriteByte(SAA7134_RS_CONTROL_1(Channel), (BYTE)(Page >> 8 & 0xFF));

  00049	8b 4d f8	 mov	 ecx, DWORD PTR _Page$145627[ebp]
  0004c	c1 e9 08	 shr	 ecx, 8
  0004f	81 e1 ff 00 00
	00		 and	 ecx, 255		; 000000ffH
  00055	51		 push	 ecx
  00056	8b 55 fc	 mov	 edx, DWORD PTR _Channel$[ebp]
  00059	c1 e2 04	 shl	 edx, 4
  0005c	81 ca 0d 02 00
	00		 or	 edx, 525		; 0000020dH
  00062	52		 push	 edx
  00063	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  00066	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 460  :         WriteByte(SAA7134_RS_CONTROL_2(Channel), (BYTE)(Page >> 16 |
; 461  :             SAA7134_RS_CONTROL_2_ME | SAA7134_RS_CONTROL_2_BURST_MAX));

  0006b	8b 45 f8	 mov	 eax, DWORD PTR _Page$145627[ebp]
  0006e	c1 e8 10	 shr	 eax, 16			; 00000010H
  00071	83 c8 10	 or	 eax, 16			; 00000010H
  00074	0d e0 00 00 00	 or	 eax, 224		; 000000e0H
  00079	50		 push	 eax
  0007a	8b 4d fc	 mov	 ecx, DWORD PTR _Channel$[ebp]
  0007d	c1 e1 04	 shl	 ecx, 4
  00080	81 c9 0e 02 00
	00		 or	 ecx, 526		; 0000020eH
  00086	51		 push	 ecx
  00087	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  0008a	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 462  : 
; 463  :         m_DMAChannelMemorySize[Channel] = nPages * 4096;

  0008f	8b 55 10	 mov	 edx, DWORD PTR _nPages$[ebp]
  00092	c1 e2 0c	 shl	 edx, 12			; 0000000cH
  00095	8b 45 fc	 mov	 eax, DWORD PTR _Channel$[ebp]
  00098	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  0009b	89 94 81 88 00
	00 00		 mov	 DWORD PTR [ecx+eax*4+136], edx

; 464  :     }
; 465  :     else

  000a2	eb 57		 jmp	 SHORT $LN3@SetPageTab
$LN2@SetPageTab:

; 466  :     {
; 467  :         WriteByte(SAA7134_RS_CONTROL_0(Channel), 0x00);

  000a4	6a 00		 push	 0
  000a6	8b 55 fc	 mov	 edx, DWORD PTR _Channel$[ebp]
  000a9	c1 e2 04	 shl	 edx, 4
  000ac	81 ca 0c 02 00
	00		 or	 edx, 524		; 0000020cH
  000b2	52		 push	 edx
  000b3	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  000b6	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 468  :         WriteByte(SAA7134_RS_CONTROL_1(Channel), 0x00);

  000bb	6a 00		 push	 0
  000bd	8b 45 fc	 mov	 eax, DWORD PTR _Channel$[ebp]
  000c0	c1 e0 04	 shl	 eax, 4
  000c3	0d 0d 02 00 00	 or	 eax, 525		; 0000020dH
  000c8	50		 push	 eax
  000c9	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  000cc	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 469  :         WriteByte(SAA7134_RS_CONTROL_2(Channel), SAA7134_RS_CONTROL_2_BURST_MAX);

  000d1	68 e0 00 00 00	 push	 224			; 000000e0H
  000d6	8b 4d fc	 mov	 ecx, DWORD PTR _Channel$[ebp]
  000d9	c1 e1 04	 shl	 ecx, 4
  000dc	81 c9 0e 02 00
	00		 or	 ecx, 526		; 0000020eH
  000e2	51		 push	 ecx
  000e3	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  000e6	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 470  : 
; 471  :         m_DMAChannelMemorySize[Channel] = nPages;

  000eb	8b 55 fc	 mov	 edx, DWORD PTR _Channel$[ebp]
  000ee	8b 45 f4	 mov	 eax, DWORD PTR _this$[ebp]
  000f1	8b 4d 10	 mov	 ecx, DWORD PTR _nPages$[ebp]
  000f4	89 8c 90 88 00
	00 00		 mov	 DWORD PTR [eax+edx*4+136], ecx
$LN3@SetPageTab:

; 472  :     }
; 473  : }

  000fb	8b e5		 mov	 esp, ebp
  000fd	5d		 pop	 ebp
  000fe	c2 0c 00	 ret	 12			; 0000000cH
?SetPageTable@CSAA7134Card@@QAEXW4eRegionID@CSAA7134Common@@KK@Z ENDP ; CSAA7134Card::SetPageTable
_TEXT	ENDS
PUBLIC	?SetupTasks@CSAA7134Card@@IAEXXZ		; CSAA7134Card::SetupTasks
; Function compile flags: /Odtp
;	COMDAT ?SetupTasks@CSAA7134Card@@IAEXXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?SetupTasks@CSAA7134Card@@IAEXXZ PROC			; CSAA7134Card::SetupTasks, COMDAT
; _this$ = ecx

; 374  : {

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

; 375  :     // 0x00 = YUV2
; 376  :     WriteByte(SAA7134_OFMT_VIDEO_A, 0x00);

  00007	6a 00		 push	 0
  00009	68 00 03 00 00	 push	 768			; 00000300H
  0000e	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00011	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 377  :     WriteByte(SAA7134_OFMT_VIDEO_B, 0x00);

  00016	6a 00		 push	 0
  00018	68 02 03 00 00	 push	 770			; 00000302H
  0001d	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00020	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 378  :     // 0x06 = raw VBI
; 379  :     WriteByte(SAA7134_OFMT_DATA_A, 0x06);

  00025	6a 06		 push	 6
  00027	68 01 03 00 00	 push	 769			; 00000301H
  0002c	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0002f	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 380  :     WriteByte(SAA7134_OFMT_DATA_B, 0x06);

  00034	6a 06		 push	 6
  00036	68 03 03 00 00	 push	 771			; 00000303H
  0003b	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0003e	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 381  : 
; 382  :     // Let Task A get Odd then Even field, follow by Task B
; 383  :     // getting Odd then Even field. (Odd is DScaler's Even)
; 384  : 
; 385  :     WriteByte(SAA7134_TASK_CONDITIONS(SAA7134_TASK_A_MASK), 0x0D);

  00043	6a 0d		 push	 13			; 0000000dH
  00045	6a 40		 push	 64			; 00000040H
  00047	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0004a	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 386  :     WriteByte(SAA7134_TASK_CONDITIONS(SAA7134_TASK_B_MASK), 0x0D);

  0004f	6a 0d		 push	 13			; 0000000dH
  00051	68 80 00 00 00	 push	 128			; 00000080H
  00056	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00059	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 387  : 
; 388  :     // handle two fields per task
; 389  :     WriteByte(SAA7134_FIELD_HANDLING(SAA7134_TASK_A_MASK), 0x02);

  0005e	6a 02		 push	 2
  00060	6a 41		 push	 65			; 00000041H
  00062	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00065	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 390  :     WriteByte(SAA7134_FIELD_HANDLING(SAA7134_TASK_B_MASK), 0x02);

  0006a	6a 02		 push	 2
  0006c	68 81 00 00 00	 push	 129			; 00000081H
  00071	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00074	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 391  : 
; 392  :     WriteByte(SAA7134_V_FILTER(SAA7134_TASK_A_MASK), 0x00);

  00079	6a 00		 push	 0
  0007b	6a 72		 push	 114			; 00000072H
  0007d	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00080	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 393  :     WriteByte(SAA7134_V_FILTER(SAA7134_TASK_B_MASK), 0x00);

  00085	6a 00		 push	 0
  00087	68 b2 00 00 00	 push	 178			; 000000b2H
  0008c	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0008f	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 394  : 
; 395  :     WriteByte(SAA7134_LUMA_CONTRAST(SAA7134_TASK_A_MASK), 0x40);

  00094	6a 40		 push	 64			; 00000040H
  00096	6a 65		 push	 101			; 00000065H
  00098	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0009b	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 396  :     WriteByte(SAA7134_LUMA_CONTRAST(SAA7134_TASK_B_MASK), 0x40);

  000a0	6a 40		 push	 64			; 00000040H
  000a2	68 a5 00 00 00	 push	 165			; 000000a5H
  000a7	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000aa	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 397  : 
; 398  :     WriteByte(SAA7134_CHROMA_SATURATION(SAA7134_TASK_A_MASK), 0x40);

  000af	6a 40		 push	 64			; 00000040H
  000b1	6a 66		 push	 102			; 00000066H
  000b3	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000b6	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 399  :     WriteByte(SAA7134_CHROMA_SATURATION(SAA7134_TASK_B_MASK), 0x40);

  000bb	6a 40		 push	 64			; 00000040H
  000bd	68 a6 00 00 00	 push	 166			; 000000a6H
  000c2	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000c5	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 400  : 
; 401  :     WriteByte(SAA7134_LUMA_BRIGHT(SAA7134_TASK_A_MASK), 0x80);

  000ca	68 80 00 00 00	 push	 128			; 00000080H
  000cf	6a 64		 push	 100			; 00000064H
  000d1	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000d4	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 402  :     WriteByte(SAA7134_LUMA_BRIGHT(SAA7134_TASK_B_MASK), 0x80);

  000d9	68 80 00 00 00	 push	 128			; 00000080H
  000de	68 a4 00 00 00	 push	 164			; 000000a4H
  000e3	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000e6	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 403  : 
; 404  :     WriteWord(SAA7134_H_PHASE_OFF_LUMA(SAA7134_TASK_A_MASK), 0x00);

  000eb	6a 00		 push	 0
  000ed	6a 6e		 push	 110			; 0000006eH
  000ef	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000f2	e8 00 00 00 00	 call	 ?WriteWord@CPCICard@@QAEXKG@Z ; CPCICard::WriteWord

; 405  :     WriteWord(SAA7134_H_PHASE_OFF_LUMA(SAA7134_TASK_B_MASK), 0x00);

  000f7	6a 00		 push	 0
  000f9	68 ae 00 00 00	 push	 174			; 000000aeH
  000fe	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00101	e8 00 00 00 00	 call	 ?WriteWord@CPCICard@@QAEXKG@Z ; CPCICard::WriteWord

; 406  :     WriteWord(SAA7134_H_PHASE_OFF_CHROMA(SAA7134_TASK_A_MASK), 0x00);

  00106	6a 00		 push	 0
  00108	6a 6f		 push	 111			; 0000006fH
  0010a	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0010d	e8 00 00 00 00	 call	 ?WriteWord@CPCICard@@QAEXKG@Z ; CPCICard::WriteWord

; 407  :     WriteWord(SAA7134_H_PHASE_OFF_CHROMA(SAA7134_TASK_B_MASK), 0x00);

  00112	6a 00		 push	 0
  00114	68 af 00 00 00	 push	 175			; 000000afH
  00119	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0011c	e8 00 00 00 00	 call	 ?WriteWord@CPCICard@@QAEXKG@Z ; CPCICard::WriteWord

; 408  : 
; 409  :     // 0x88 seems to clean up colour crosstalk
; 410  :     WriteByte(SAA7134_FIR_PREFILTER_CTRL(SAA7134_TASK_A_MASK), 0x88);

  00121	68 88 00 00 00	 push	 136			; 00000088H
  00126	6a 63		 push	 99			; 00000063H
  00128	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0012b	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 411  :     WriteByte(SAA7134_FIR_PREFILTER_CTRL(SAA7134_TASK_B_MASK), 0x88);

  00130	68 88 00 00 00	 push	 136			; 00000088H
  00135	68 a3 00 00 00	 push	 163			; 000000a3H
  0013a	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0013d	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 412  : 
; 413  :     WriteByte(SAA7134_VBI_PHASE_OFFSET_LUMA(SAA7134_TASK_A_MASK), 0x00);

  00142	6a 00		 push	 0
  00144	6a 6a		 push	 106			; 0000006aH
  00146	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00149	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 414  :     WriteByte(SAA7134_VBI_PHASE_OFFSET_LUMA(SAA7134_TASK_B_MASK), 0x00);

  0014e	6a 00		 push	 0
  00150	68 aa 00 00 00	 push	 170			; 000000aaH
  00155	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00158	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 415  :     WriteByte(SAA7134_VBI_PHASE_OFFSET_CHROMA(SAA7134_TASK_A_MASK), 0x00);

  0015d	6a 00		 push	 0
  0015f	6a 6b		 push	 107			; 0000006bH
  00161	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00164	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 416  :     WriteByte(SAA7134_VBI_PHASE_OFFSET_CHROMA(SAA7134_TASK_B_MASK), 0x00);

  00169	6a 00		 push	 0
  0016b	68 ab 00 00 00	 push	 171			; 000000abH
  00170	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00173	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 417  : 
; 418  :     WriteByte(SAA7134_DATA_PATH(SAA7134_TASK_A_MASK), 0x03);

  00178	6a 03		 push	 3
  0017a	6a 42		 push	 66			; 00000042H
  0017c	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0017f	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 419  :     WriteByte(SAA7134_DATA_PATH(SAA7134_TASK_B_MASK), 0x03);

  00184	6a 03		 push	 3
  00186	68 82 00 00 00	 push	 130			; 00000082H
  0018b	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0018e	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 420  : 
; 421  :     // deinterlace y offsets ?? no idea what these are
; 422  :     // Odds: 0x00 default
; 423  :     // Evens: 0x00 default + yscale(1024) / 0x20;
; 424  :     // ---
; 425  :     // We can tweak these to change the top line to even (by giving
; 426  :     // even an offset of 0x20) but it doesn't change VBI
; 427  :     WriteByte(SAA7134_V_PHASE_OFFSET0(SAA7134_TASK_A_MASK), 0x00); // Odd

  00193	6a 00		 push	 0
  00195	6a 74		 push	 116			; 00000074H
  00197	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0019a	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 428  :     WriteByte(SAA7134_V_PHASE_OFFSET1(SAA7134_TASK_A_MASK), 0x00); // Even

  0019f	6a 00		 push	 0
  001a1	6a 75		 push	 117			; 00000075H
  001a3	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  001a6	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 429  :     WriteByte(SAA7134_V_PHASE_OFFSET2(SAA7134_TASK_A_MASK), 0x00); // Odd

  001ab	6a 00		 push	 0
  001ad	6a 76		 push	 118			; 00000076H
  001af	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  001b2	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 430  :     WriteByte(SAA7134_V_PHASE_OFFSET3(SAA7134_TASK_A_MASK), 0x00); // Even

  001b7	6a 00		 push	 0
  001b9	6a 77		 push	 119			; 00000077H
  001bb	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  001be	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 431  : 
; 432  :     WriteByte(SAA7134_V_PHASE_OFFSET0(SAA7134_TASK_B_MASK), 0x00); // Odd

  001c3	6a 00		 push	 0
  001c5	68 b4 00 00 00	 push	 180			; 000000b4H
  001ca	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  001cd	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 433  :     WriteByte(SAA7134_V_PHASE_OFFSET1(SAA7134_TASK_B_MASK), 0x00); // Even

  001d2	6a 00		 push	 0
  001d4	68 b5 00 00 00	 push	 181			; 000000b5H
  001d9	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  001dc	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 434  :     WriteByte(SAA7134_V_PHASE_OFFSET2(SAA7134_TASK_B_MASK), 0x00); // Odd

  001e1	6a 00		 push	 0
  001e3	68 b6 00 00 00	 push	 182			; 000000b6H
  001e8	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  001eb	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 435  :     WriteByte(SAA7134_V_PHASE_OFFSET3(SAA7134_TASK_B_MASK), 0x00); // Even

  001f0	6a 00		 push	 0
  001f2	68 b7 00 00 00	 push	 183			; 000000b7H
  001f7	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  001fa	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 436  : }

  001ff	8b e5		 mov	 esp, ebp
  00201	5d		 pop	 ebp
  00202	c3		 ret	 0
?SetupTasks@CSAA7134Card@@IAEXXZ ENDP			; CSAA7134Card::SetupTasks
_TEXT	ENDS
PUBLIC	?SetTypicalSettings@CSAA7134Card@@IAEXXZ	; CSAA7134Card::SetTypicalSettings
; Function compile flags: /Odtp
;	COMDAT ?SetTypicalSettings@CSAA7134Card@@IAEXXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?SetTypicalSettings@CSAA7134Card@@IAEXXZ PROC		; CSAA7134Card::SetTypicalSettings, COMDAT
; _this$ = ecx

; 342  : {

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

; 343  :     // Typical settings for video decoder (according to saa7134 manual(v0.1))
; 344  : 
; 345  :     WriteByte(SAA7134_INCR_DELAY,               0x08);

  00007	6a 08		 push	 8
  00009	68 01 01 00 00	 push	 257			; 00000101H
  0000e	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00011	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 346  :     WriteByte(SAA7134_ANALOG_IN_CTRL1,          0xC0);

  00016	68 c0 00 00 00	 push	 192			; 000000c0H
  0001b	68 02 01 00 00	 push	 258			; 00000102H
  00020	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00023	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 347  :     WriteByte(SAA7134_ANALOG_IN_CTRL2,          0x00);

  00028	6a 00		 push	 0
  0002a	68 03 01 00 00	 push	 259			; 00000103H
  0002f	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00032	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 348  :     WriteByte(SAA7134_ANALOG_IN_CTRL3,          0x90);

  00037	68 90 00 00 00	 push	 144			; 00000090H
  0003c	68 04 01 00 00	 push	 260			; 00000104H
  00041	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00044	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 349  :     WriteByte(SAA7134_ANALOG_IN_CTRL4,          0x90);

  00049	68 90 00 00 00	 push	 144			; 00000090H
  0004e	68 05 01 00 00	 push	 261			; 00000105H
  00053	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00056	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 350  :     WriteByte(SAA7134_HSYNC_START,              0xEB);

  0005b	68 eb 00 00 00	 push	 235			; 000000ebH
  00060	68 06 01 00 00	 push	 262			; 00000106H
  00065	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00068	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 351  :     WriteByte(SAA7134_HSYNC_STOP,               0xE0);

  0006d	68 e0 00 00 00	 push	 224			; 000000e0H
  00072	68 07 01 00 00	 push	 263			; 00000107H
  00077	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0007a	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 352  : 
; 353  :     WriteByte(SAA7134_SYNC_CTRL,                0xB8);  // standard adjust

  0007f	68 b8 00 00 00	 push	 184			; 000000b8H
  00084	68 08 01 00 00	 push	 264			; 00000108H
  00089	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0008c	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 354  :     WriteByte(SAA7134_LUMA_CTRL,                0x40);  // standard adjust

  00091	6a 40		 push	 64			; 00000040H
  00093	68 09 01 00 00	 push	 265			; 00000109H
  00098	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0009b	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 355  :     WriteByte(SAA7134_DEC_LUMA_BRIGHT,          0x80);  // bright 128

  000a0	68 80 00 00 00	 push	 128			; 00000080H
  000a5	68 0a 01 00 00	 push	 266			; 0000010aH
  000aa	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000ad	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 356  :     WriteByte(SAA7134_DEC_LUMA_CONTRAST,        0x44);  // contrast 68

  000b2	6a 44		 push	 68			; 00000044H
  000b4	68 0b 01 00 00	 push	 267			; 0000010bH
  000b9	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000bc	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 357  :     // Saturation: Auto=64, PAL=61, SECAM=64, NTSC=67
; 358  :     WriteByte(SAA7134_DEC_CHROMA_SATURATION,    0x40);  // saturation 64

  000c1	6a 40		 push	 64			; 00000040H
  000c3	68 0c 01 00 00	 push	 268			; 0000010cH
  000c8	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000cb	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 359  :     WriteByte(SAA7134_DEC_CHROMA_HUE,           0x00);  // hue 0

  000d0	6a 00		 push	 0
  000d2	68 0d 01 00 00	 push	 269			; 0000010dH
  000d7	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000da	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 360  :     WriteByte(SAA7134_CHROMA_CTRL1,             0x8B);  // standard adjust

  000df	68 8b 00 00 00	 push	 139			; 0000008bH
  000e4	68 0e 01 00 00	 push	 270			; 0000010eH
  000e9	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000ec	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 361  :     WriteByte(SAA7134_CHROMA_GAIN_CTRL,         0x00);  // standard adjust

  000f1	6a 00		 push	 0
  000f3	68 0f 01 00 00	 push	 271			; 0000010fH
  000f8	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000fb	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 362  :     WriteByte(SAA7134_CHROMA_CTRL2,             0x00);  // standard adjust

  00100	6a 00		 push	 0
  00102	68 10 01 00 00	 push	 272			; 00000110H
  00107	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0010a	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 363  :     WriteByte(SAA7134_MODE_DELAY_CTRL,          0x00);

  0010f	6a 00		 push	 0
  00111	68 11 01 00 00	 push	 273			; 00000111H
  00116	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00119	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 364  :     WriteByte(SAA7134_ANALOG_ADC,               0x41);

  0011e	6a 41		 push	 65			; 00000041H
  00120	68 14 01 00 00	 push	 276			; 00000114H
  00125	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00128	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 365  :     WriteByte(SAA7134_VGATE_START,              0x11);

  0012d	6a 11		 push	 17			; 00000011H
  0012f	68 15 01 00 00	 push	 277			; 00000115H
  00134	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00137	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 366  :     WriteByte(SAA7134_VGATE_STOP,               0xFE);

  0013c	68 fe 00 00 00	 push	 254			; 000000feH
  00141	68 16 01 00 00	 push	 278			; 00000116H
  00146	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00149	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 367  :     WriteByte(SAA7134_MISC_VGATE_MSB,           0x18);  // standard adjust

  0014e	6a 18		 push	 24			; 00000018H
  00150	68 17 01 00 00	 push	 279			; 00000117H
  00155	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00158	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 368  :     WriteByte(SAA7134_RAW_DATA_GAIN,            0x40);

  0015d	6a 40		 push	 64			; 00000040H
  0015f	68 18 01 00 00	 push	 280			; 00000118H
  00164	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00167	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 369  :     WriteByte(SAA7134_RAW_DATA_OFFSET,          0x80);

  0016c	68 80 00 00 00	 push	 128			; 00000080H
  00171	68 19 01 00 00	 push	 281			; 00000119H
  00176	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00179	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 370  : }

  0017e	8b e5		 mov	 esp, ebp
  00180	5d		 pop	 ebp
  00181	c3		 ret	 0
?SetTypicalSettings@CSAA7134Card@@IAEXXZ ENDP		; CSAA7134Card::SetTypicalSettings
PUBLIC	?DirectSetBit@CSAA7134Card@@QAEXKHH@Z		; CSAA7134Card::DirectSetBit
; Function compile flags: /Odtp
;	COMDAT ?DirectSetBit@CSAA7134Card@@QAEXKHH@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_dwAddress$ = 8						; size = 4
_nBit$ = 12						; size = 4
_bSet$ = 16						; size = 4
?DirectSetBit@CSAA7134Card@@QAEXKHH@Z PROC		; CSAA7134Card::DirectSetBit, COMDAT
; _this$ = ecx

; 1207 : {

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

; 1208 :     if (bSet)

  00007	83 7d 10 00	 cmp	 DWORD PTR _bSet$[ebp], 0
  0000b	74 42		 je	 SHORT $LN6@DirectSetB

; 1209 :     {
; 1210 :         OrDataByte(dwAddress, (1<<nBit));

  0000d	b8 01 00 00 00	 mov	 eax, 1
  00012	8b 4d 0c	 mov	 ecx, DWORD PTR _nBit$[ebp]
  00015	d3 e0		 shl	 eax, cl
  00017	50		 push	 eax
  00018	8b 4d 08	 mov	 ecx, DWORD PTR _dwAddress$[ebp]
  0001b	51		 push	 ecx
  0001c	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0001f	e8 00 00 00 00	 call	 ?OrDataByte@CPCICard@@QAEXKE@Z ; CPCICard::OrDataByte

; 1211 :         if (dwAddress >= 0x040 || dwAddress < 0x080)

  00024	83 7d 08 40	 cmp	 DWORD PTR _dwAddress$[ebp], 64 ; 00000040H
  00028	73 09		 jae	 SHORT $LN4@DirectSetB
  0002a	81 7d 08 80 00
	00 00		 cmp	 DWORD PTR _dwAddress$[ebp], 128 ; 00000080H
  00031	73 1a		 jae	 SHORT $LN5@DirectSetB
$LN4@DirectSetB:

; 1212 :         {
; 1213 :             OrDataByte(dwAddress + 0x040, (1<<nBit));

  00033	ba 01 00 00 00	 mov	 edx, 1
  00038	8b 4d 0c	 mov	 ecx, DWORD PTR _nBit$[ebp]
  0003b	d3 e2		 shl	 edx, cl
  0003d	52		 push	 edx
  0003e	8b 45 08	 mov	 eax, DWORD PTR _dwAddress$[ebp]
  00041	83 c0 40	 add	 eax, 64			; 00000040H
  00044	50		 push	 eax
  00045	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00048	e8 00 00 00 00	 call	 ?OrDataByte@CPCICard@@QAEXKE@Z ; CPCICard::OrDataByte
$LN5@DirectSetB:

; 1214 :         }
; 1215 :     }
; 1216 :     else

  0004d	eb 44		 jmp	 SHORT $LN7@DirectSetB
$LN6@DirectSetB:

; 1217 :     {
; 1218 :         AndDataByte(dwAddress, ~(1<<nBit));

  0004f	ba 01 00 00 00	 mov	 edx, 1
  00054	8b 4d 0c	 mov	 ecx, DWORD PTR _nBit$[ebp]
  00057	d3 e2		 shl	 edx, cl
  00059	f7 d2		 not	 edx
  0005b	52		 push	 edx
  0005c	8b 45 08	 mov	 eax, DWORD PTR _dwAddress$[ebp]
  0005f	50		 push	 eax
  00060	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00063	e8 00 00 00 00	 call	 ?AndDataByte@CPCICard@@QAEXKE@Z ; CPCICard::AndDataByte

; 1219 :         if (dwAddress >= 0x040 || dwAddress < 0x080)

  00068	83 7d 08 40	 cmp	 DWORD PTR _dwAddress$[ebp], 64 ; 00000040H
  0006c	73 09		 jae	 SHORT $LN1@DirectSetB
  0006e	81 7d 08 80 00
	00 00		 cmp	 DWORD PTR _dwAddress$[ebp], 128 ; 00000080H
  00075	73 1c		 jae	 SHORT $LN7@DirectSetB
$LN1@DirectSetB:

; 1220 :         {
; 1221 :             AndDataByte(dwAddress + 0x040, ~(1<<nBit));

  00077	ba 01 00 00 00	 mov	 edx, 1
  0007c	8b 4d 0c	 mov	 ecx, DWORD PTR _nBit$[ebp]
  0007f	d3 e2		 shl	 edx, cl
  00081	f7 d2		 not	 edx
  00083	52		 push	 edx
  00084	8b 45 08	 mov	 eax, DWORD PTR _dwAddress$[ebp]
  00087	83 c0 40	 add	 eax, 64			; 00000040H
  0008a	50		 push	 eax
  0008b	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0008e	e8 00 00 00 00	 call	 ?AndDataByte@CPCICard@@QAEXKE@Z ; CPCICard::AndDataByte
$LN7@DirectSetB:

; 1222 :         }
; 1223 :     }
; 1224 : }

  00093	8b e5		 mov	 esp, ebp
  00095	5d		 pop	 ebp
  00096	c2 0c 00	 ret	 12			; 0000000cH
?DirectSetBit@CSAA7134Card@@QAEXKHH@Z ENDP		; CSAA7134Card::DirectSetBit
_TEXT	ENDS
PUBLIC	?StatGPIO@CSAA7134Card@@QAEXXZ			; CSAA7134Card::StatGPIO
; Function compile flags: /Odtp
;	COMDAT ?StatGPIO@CSAA7134Card@@QAEXXZ
_TEXT	SEGMENT
_this$ = -12						; size = 4
_Status$ = -8						; size = 4
_Mode$ = -4						; size = 4
?StatGPIO@CSAA7134Card@@QAEXXZ PROC			; CSAA7134Card::StatGPIO, COMDAT
; _this$ = ecx

; 1102 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 0c	 sub	 esp, 12			; 0000000cH
  00006	89 4d f4	 mov	 DWORD PTR _this$[ebp], ecx

; 1103 :     MaskDataDword(SAA7134_GPIO_GPMODE, 0UL, SAA7134_GPIO_GPMODE_GPRESCN);

  00009	68 00 00 00 80	 push	 -2147483648		; 80000000H
  0000e	6a 00		 push	 0
  00010	68 b0 01 00 00	 push	 432			; 000001b0H
  00015	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  00018	e8 00 00 00 00	 call	 ?MaskDataDword@CPCICard@@QAEXKKK@Z ; CPCICard::MaskDataDword

; 1104 :     MaskDataDword(SAA7134_GPIO_GPMODE, SAA7134_GPIO_GPMODE_GPRESCN,
; 1105 :         SAA7134_GPIO_GPMODE_GPRESCN);

  0001d	68 00 00 00 80	 push	 -2147483648		; 80000000H
  00022	68 00 00 00 80	 push	 -2147483648		; 80000000H
  00027	68 b0 01 00 00	 push	 432			; 000001b0H
  0002c	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  0002f	e8 00 00 00 00	 call	 ?MaskDataDword@CPCICard@@QAEXKKK@Z ; CPCICard::MaskDataDword

; 1106 : 
; 1107 :     DWORD Mode = ReadDword(SAA7134_GPIO_GPMODE) & 0x0EFFFFFF;

  00034	68 b0 01 00 00	 push	 432			; 000001b0H
  00039	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  0003c	e8 00 00 00 00	 call	 ?ReadDword@CPCICard@@QAEKK@Z ; CPCICard::ReadDword
  00041	25 ff ff ff 0e	 and	 eax, 251658239		; 0effffffH
  00046	89 45 fc	 mov	 DWORD PTR _Mode$[ebp], eax

; 1108 :     DWORD Status = ReadDword(SAA7134_GPIO_GPSTATUS) & 0x0EFFFFFF;

  00049	68 b4 01 00 00	 push	 436			; 000001b4H
  0004e	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  00051	e8 00 00 00 00	 call	 ?ReadDword@CPCICard@@QAEKK@Z ; CPCICard::ReadDword
  00056	25 ff ff ff 0e	 and	 eax, 251658239		; 0effffffH
  0005b	89 45 f8	 mov	 DWORD PTR _Status$[ebp], eax

; 1109 :     LOG(0, _T("debug: gpio: mode=0x%07lx in=0x%07lx out=0x%07lx\n"), Mode,
; 1110 :             (~Mode) & Status, Mode & Status);

  0005e	8b 45 fc	 mov	 eax, DWORD PTR _Mode$[ebp]
  00061	23 45 f8	 and	 eax, DWORD PTR _Status$[ebp]
  00064	50		 push	 eax
  00065	8b 4d fc	 mov	 ecx, DWORD PTR _Mode$[ebp]
  00068	f7 d1		 not	 ecx
  0006a	23 4d f8	 and	 ecx, DWORD PTR _Status$[ebp]
  0006d	51		 push	 ecx
  0006e	8b 55 fc	 mov	 edx, DWORD PTR _Mode$[ebp]
  00071	52		 push	 edx
  00072	68 00 00 00 00	 push	 OFFSET ??_C@_1GE@CGDOECCL@?$AAd?$AAe?$AAb?$AAu?$AAg?$AA?3?$AA?5?$AAg?$AAp?$AAi?$AAo?$AA?3?$AA?5?$AAm?$AAo?$AAd?$AAe?$AA?$DN?$AA0?$AAx?$AA?$CF?$AA0?$AA7?$AAl?$AAx?$AA?5?$AAi?$AAn?$AA?$DN?$AA0?$AAx?$AA?$CF@
  00077	6a 00		 push	 0
  00079	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  0007e	83 c4 14	 add	 esp, 20			; 00000014H

; 1111 : }

  00081	8b e5		 mov	 esp, ebp
  00083	5d		 pop	 ebp
  00084	c3		 ret	 0
?StatGPIO@CSAA7134Card@@QAEXXZ ENDP			; CSAA7134Card::StatGPIO
_TEXT	ENDS
PUBLIC	?EnableI2SAudioOutput@CSAA7134Card@@QAEXG@Z	; CSAA7134Card::EnableI2SAudioOutput
; Function compile flags: /Odtp
;	COMDAT ?EnableI2SAudioOutput@CSAA7134Card@@QAEXG@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_wRate$ = 8						; size = 2
?EnableI2SAudioOutput@CSAA7134Card@@QAEXG@Z PROC	; CSAA7134Card::EnableI2SAudioOutput, COMDAT
; _this$ = ecx

; 1033 : {

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

; 1034 :     // set rate
; 1035 :     MaskDataByte(SAA7134_SIF_SAMPLE_FREQ, wRate == 32000 ? 0x01 : 0x03, 0x03);

  00007	6a 03		 push	 3
  00009	0f b7 45 08	 movzx	 eax, WORD PTR _wRate$[ebp]
  0000d	33 c9		 xor	 ecx, ecx
  0000f	3d 00 7d 00 00	 cmp	 eax, 32000		; 00007d00H
  00014	0f 95 c1	 setne	 cl
  00017	8d 4c 09 01	 lea	 ecx, DWORD PTR [ecx+ecx+1]
  0001b	51		 push	 ecx
  0001c	68 6d 01 00 00	 push	 365			; 0000016dH
  00021	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00024	e8 00 00 00 00	 call	 ?MaskDataByte@CPCICard@@QAEXKEE@Z ; CPCICard::MaskDataByte

; 1036 : 
; 1037 :     // enable I2S output -- no idea
; 1038 :     WriteByte(SAA7134_DSP_OUTPUT_SELECT,    0x80);

  00029	68 80 00 00 00	 push	 128			; 00000080H
  0002e	68 6b 01 00 00	 push	 363			; 0000016bH
  00033	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00036	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 1039 :     WriteByte(SAA7134_I2S_OUTPUT_SELECT,    0x80);

  0003b	68 80 00 00 00	 push	 128			; 00000080H
  00040	68 69 01 00 00	 push	 361			; 00000169H
  00045	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00048	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 1040 :     WriteByte(SAA7134_I2S_OUTPUT_FORMAT,    0x01);

  0004d	6a 01		 push	 1
  0004f	68 68 01 00 00	 push	 360			; 00000168H
  00054	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00057	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 1041 :     WriteByte(SAA7134_I2S_OUTPUT_LEVEL,     0x00);

  0005c	6a 00		 push	 0
  0005e	68 6a 01 00 00	 push	 362			; 0000016aH
  00063	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00066	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 1042 :     WriteByte(SAA7134_I2S_AUDIO_OUTPUT,     0x01);

  0006b	6a 01		 push	 1
  0006d	68 c0 01 00 00	 push	 448			; 000001c0H
  00072	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00075	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 1043 : }

  0007a	8b e5		 mov	 esp, ebp
  0007c	5d		 pop	 ebp
  0007d	c2 04 00	 ret	 4
?EnableI2SAudioOutput@CSAA7134Card@@QAEXG@Z ENDP	; CSAA7134Card::EnableI2SAudioOutput
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?SetI2CCommand@CSAA7134Card@@UAEXE@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_Command$ = 8						; size = 1
?SetI2CCommand@CSAA7134Card@@UAEXE@Z PROC		; CSAA7134Card::SetI2CCommand, COMDAT
; _this$ = ecx

; 892  : {

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

; 893  :     MaskDataByte(SAA7134_I2C_ATTR_STATUS, Command, 0xC0);

  00007	68 c0 00 00 00	 push	 192			; 000000c0H
  0000c	0f b6 45 08	 movzx	 eax, BYTE PTR _Command$[ebp]
  00010	50		 push	 eax
  00011	68 80 01 00 00	 push	 384			; 00000180H
  00016	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00019	83 e9 54	 sub	 ecx, 84			; 00000054H
  0001c	e8 00 00 00 00	 call	 ?MaskDataByte@CPCICard@@QAEXKEE@Z ; CPCICard::MaskDataByte

; 894  : }

  00021	8b e5		 mov	 esp, ebp
  00023	5d		 pop	 ebp
  00024	c2 04 00	 ret	 4
?SetI2CCommand@CSAA7134Card@@UAEXE@Z ENDP		; CSAA7134Card::SetI2CCommand
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?SetI2CStatus@CSAA7134Card@@UAEXE@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_Status$ = 8						; size = 1
?SetI2CStatus@CSAA7134Card@@UAEXE@Z PROC		; CSAA7134Card::SetI2CStatus, COMDAT
; _this$ = ecx

; 886  : {

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

; 887  :     MaskDataByte(SAA7134_I2C_ATTR_STATUS, Status, 0x0F);

  00007	6a 0f		 push	 15			; 0000000fH
  00009	0f b6 45 08	 movzx	 eax, BYTE PTR _Status$[ebp]
  0000d	50		 push	 eax
  0000e	68 80 01 00 00	 push	 384			; 00000180H
  00013	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00016	83 e9 54	 sub	 ecx, 84			; 00000054H
  00019	e8 00 00 00 00	 call	 ?MaskDataByte@CPCICard@@QAEXKEE@Z ; CPCICard::MaskDataByte

; 888  : }

  0001e	8b e5		 mov	 esp, ebp
  00020	5d		 pop	 ebp
  00021	c2 04 00	 ret	 4
?SetI2CStatus@CSAA7134Card@@UAEXE@Z ENDP		; CSAA7134Card::SetI2CStatus
_TEXT	ENDS
PUBLIC	?StartCapture@CSAA7134Card@@QAEXH@Z		; CSAA7134Card::StartCapture
; Function compile flags: /Odtp
;	COMDAT ?StartCapture@CSAA7134Card@@QAEXH@Z
_TEXT	SEGMENT
_this$ = -8						; size = 4
_Region$ = -1						; size = 1
_bCaptureVBI$ = 8					; size = 4
?StartCapture@CSAA7134Card@@QAEXH@Z PROC		; CSAA7134Card::StartCapture, COMDAT
; _this$ = ecx

; 647  : {

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

; 648  :     BYTE Region;
; 649  : 
; 650  :     Region = SAA7134_REGION_ENABLE_VID_ENA | SAA7134_REGION_ENABLE_VID_ENB;

  00009	c6 45 ff 11	 mov	 BYTE PTR _Region$[ebp], 17 ; 00000011H

; 651  : 
; 652  :     VerifyMemorySize(REGIONID_VIDEO_A);

  0000d	6a 00		 push	 0
  0000f	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00012	e8 00 00 00 00	 call	 ?VerifyMemorySize@CSAA7134Card@@IAEXW4eRegionID@CSAA7134Common@@@Z ; CSAA7134Card::VerifyMemorySize

; 653  :     VerifyMemorySize(REGIONID_VIDEO_B);

  00017	6a 01		 push	 1
  00019	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0001c	e8 00 00 00 00	 call	 ?VerifyMemorySize@CSAA7134Card@@IAEXW4eRegionID@CSAA7134Common@@@Z ; CSAA7134Card::VerifyMemorySize

; 654  : 
; 655  :     if (bCaptureVBI)

  00021	83 7d 08 00	 cmp	 DWORD PTR _bCaptureVBI$[ebp], 0
  00025	74 32		 je	 SHORT $LN1@StartCaptu@3

; 656  :     {
; 657  :         CheckVBIAndVideoOverlap(TASKID_A);

  00027	6a 00		 push	 0
  00029	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0002c	e8 00 00 00 00	 call	 ?CheckVBIAndVideoOverlap@CSAA7134Card@@IAEXW4eTaskID@CSAA7134Common@@@Z ; CSAA7134Card::CheckVBIAndVideoOverlap

; 658  :         CheckVBIAndVideoOverlap(TASKID_B);

  00031	6a 01		 push	 1
  00033	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00036	e8 00 00 00 00	 call	 ?CheckVBIAndVideoOverlap@CSAA7134Card@@IAEXW4eTaskID@CSAA7134Common@@@Z ; CSAA7134Card::CheckVBIAndVideoOverlap

; 659  : 
; 660  :         VerifyMemorySize(REGIONID_VBI_A);

  0003b	6a 02		 push	 2
  0003d	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00040	e8 00 00 00 00	 call	 ?VerifyMemorySize@CSAA7134Card@@IAEXW4eRegionID@CSAA7134Common@@@Z ; CSAA7134Card::VerifyMemorySize

; 661  :         VerifyMemorySize(REGIONID_VBI_B);

  00045	6a 03		 push	 3
  00047	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0004a	e8 00 00 00 00	 call	 ?VerifyMemorySize@CSAA7134Card@@IAEXW4eRegionID@CSAA7134Common@@@Z ; CSAA7134Card::VerifyMemorySize

; 662  : 
; 663  :         Region |= SAA7134_REGION_ENABLE_VBI_ENA | SAA7134_REGION_ENABLE_VBI_ENB;

  0004f	0f b6 45 ff	 movzx	 eax, BYTE PTR _Region$[ebp]
  00053	83 c8 22	 or	 eax, 34			; 00000022H
  00056	88 45 ff	 mov	 BYTE PTR _Region$[ebp], al
$LN1@StartCaptu@3:

; 664  :     }
; 665  : 
; 666  :     MaskDataByte(SAA7134_REGION_ENABLE, Region, m_PreparedRegions);

  00059	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0005c	0f b6 91 a4 00
	00 00		 movzx	 edx, BYTE PTR [ecx+164]
  00063	52		 push	 edx
  00064	0f b6 45 ff	 movzx	 eax, BYTE PTR _Region$[ebp]
  00068	50		 push	 eax
  00069	6a 04		 push	 4
  0006b	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0006e	e8 00 00 00 00	 call	 ?MaskDataByte@CPCICard@@QAEXKEE@Z ; CPCICard::MaskDataByte

; 667  : }

  00073	8b e5		 mov	 esp, ebp
  00075	5d		 pop	 ebp
  00076	c2 04 00	 ret	 4
?StartCapture@CSAA7134Card@@QAEXH@Z ENDP		; CSAA7134Card::StartCapture
_TEXT	ENDS
PUBLIC	?SetDMA@CSAA7134Card@@QAEXW4eRegionID@CSAA7134Common@@H@Z ; CSAA7134Card::SetDMA
; Function compile flags: /Odtp
;	COMDAT ?SetDMA@CSAA7134Card@@QAEXW4eRegionID@CSAA7134Common@@H@Z
_TEXT	SEGMENT
tv64 = -20						; size = 4
_this$ = -16						; size = 4
_Region$ = -9						; size = 1
_Control$ = -8						; size = 4
_IRQs$ = -4						; size = 4
_RegionID$ = 8						; size = 4
_bState$ = 12						; size = 4
?SetDMA@CSAA7134Card@@QAEXW4eRegionID@CSAA7134Common@@H@Z PROC ; CSAA7134Card::SetDMA, COMDAT
; _this$ = ecx

; 586  : {

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

; 587  :     BYTE    Region = 0;

  00009	c6 45 f7 00	 mov	 BYTE PTR _Region$[ebp], 0

; 588  :     DWORD   IRQs = 0;

  0000d	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _IRQs$[ebp], 0

; 589  :     DWORD   Control = 0;

  00014	c7 45 f8 00 00
	00 00		 mov	 DWORD PTR _Control$[ebp], 0

; 590  : 
; 591  :     switch (RegionID)

  0001b	8b 45 08	 mov	 eax, DWORD PTR _RegionID$[ebp]
  0001e	89 45 ec	 mov	 DWORD PTR tv64[ebp], eax
  00021	83 7d ec 03	 cmp	 DWORD PTR tv64[ebp], 3
  00025	77 58		 ja	 SHORT $LN7@SetDMA@2
  00027	8b 4d ec	 mov	 ecx, DWORD PTR tv64[ebp]
  0002a	ff 24 8d 00 00
	00 00		 jmp	 DWORD PTR $LN11@SetDMA@2[ecx*4]
$LN6@SetDMA@2:

; 592  :     {
; 593  :     case REGIONID_VIDEO_A:
; 594  :         Region = SAA7134_REGION_ENABLE_VID_ENA;

  00031	c6 45 f7 01	 mov	 BYTE PTR _Region$[ebp], 1

; 595  :         Control = SAA7134_MAIN_CTRL_TE0;

  00035	c7 45 f8 01 00
	00 00		 mov	 DWORD PTR _Control$[ebp], 1

; 596  :         IRQs = SAA7134_IRQ1_INTE_RA0_0 | SAA7134_IRQ1_INTE_RA0_1;

  0003c	c7 45 fc 03 00
	00 00		 mov	 DWORD PTR _IRQs$[ebp], 3

; 597  :         break;

  00043	eb 3a		 jmp	 SHORT $LN7@SetDMA@2
$LN5@SetDMA@2:

; 598  :     case REGIONID_VIDEO_B:
; 599  :         Region = SAA7134_REGION_ENABLE_VID_ENB;

  00045	c6 45 f7 10	 mov	 BYTE PTR _Region$[ebp], 16 ; 00000010H

; 600  :         Control = SAA7134_MAIN_CTRL_TE1;

  00049	c7 45 f8 02 00
	00 00		 mov	 DWORD PTR _Control$[ebp], 2

; 601  :         IRQs = SAA7134_IRQ1_INTE_RA0_2 | SAA7134_IRQ1_INTE_RA0_3;

  00050	c7 45 fc 0c 00
	00 00		 mov	 DWORD PTR _IRQs$[ebp], 12 ; 0000000cH

; 602  :         break;

  00057	eb 26		 jmp	 SHORT $LN7@SetDMA@2
$LN4@SetDMA@2:

; 603  :     case REGIONID_VBI_A:
; 604  :         Region = SAA7134_REGION_ENABLE_VBI_ENA;

  00059	c6 45 f7 02	 mov	 BYTE PTR _Region$[ebp], 2

; 605  :         Control = SAA7134_MAIN_CTRL_TE2;

  0005d	c7 45 f8 04 00
	00 00		 mov	 DWORD PTR _Control$[ebp], 4

; 606  :         IRQs = SAA7134_IRQ1_INTE_RA0_4 | SAA7134_IRQ1_INTE_RA0_5;

  00064	c7 45 fc 30 00
	00 00		 mov	 DWORD PTR _IRQs$[ebp], 48 ; 00000030H

; 607  :         break;

  0006b	eb 12		 jmp	 SHORT $LN7@SetDMA@2
$LN3@SetDMA@2:

; 608  : 
; 609  :     case REGIONID_VBI_B:
; 610  :         Region = SAA7134_REGION_ENABLE_VBI_ENB;

  0006d	c6 45 f7 20	 mov	 BYTE PTR _Region$[ebp], 32 ; 00000020H

; 611  :         Control = SAA7134_MAIN_CTRL_TE3;

  00071	c7 45 f8 08 00
	00 00		 mov	 DWORD PTR _Control$[ebp], 8

; 612  :         IRQs = SAA7134_IRQ1_INTE_RA0_6 | SAA7134_IRQ1_INTE_RA0_7;

  00078	c7 45 fc c0 00
	00 00		 mov	 DWORD PTR _IRQs$[ebp], 192 ; 000000c0H
$LN7@SetDMA@2:

; 613  :         break;
; 614  :     }
; 615  : 
; 616  :     if (bState) {

  0007f	83 7d 0c 00	 cmp	 DWORD PTR _bState$[ebp], 0
  00083	74 30		 je	 SHORT $LN2@SetDMA@2

; 617  :         m_PreparedRegions |= Region;

  00085	0f b6 55 f7	 movzx	 edx, BYTE PTR _Region$[ebp]
  00089	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  0008c	0f b6 88 a4 00
	00 00		 movzx	 ecx, BYTE PTR [eax+164]
  00093	0b ca		 or	 ecx, edx
  00095	8b 55 f0	 mov	 edx, DWORD PTR _this$[ebp]
  00098	88 8a a4 00 00
	00		 mov	 BYTE PTR [edx+164], cl

; 618  :         // Don't turn on interrupts because we don't have an ISR!
; 619  :         // MaskDataDword(SAA7134_IRQ1, IRQs, IRQs);
; 620  :         MaskDataDword(SAA7134_MAIN_CTRL, Control, Control);

  0009e	8b 45 f8	 mov	 eax, DWORD PTR _Control$[ebp]
  000a1	50		 push	 eax
  000a2	8b 4d f8	 mov	 ecx, DWORD PTR _Control$[ebp]
  000a5	51		 push	 ecx
  000a6	68 a8 02 00 00	 push	 680			; 000002a8H
  000ab	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  000ae	e8 00 00 00 00	 call	 ?MaskDataDword@CPCICard@@QAEXKKK@Z ; CPCICard::MaskDataDword

; 621  :     }
; 622  :     else {

  000b3	eb 52		 jmp	 SHORT $LN9@SetDMA@2
$LN2@SetDMA@2:

; 623  :         m_PreparedRegions &= ~Region;

  000b5	0f b6 55 f7	 movzx	 edx, BYTE PTR _Region$[ebp]
  000b9	f7 d2		 not	 edx
  000bb	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  000be	0f b6 88 a4 00
	00 00		 movzx	 ecx, BYTE PTR [eax+164]
  000c5	23 ca		 and	 ecx, edx
  000c7	8b 55 f0	 mov	 edx, DWORD PTR _this$[ebp]
  000ca	88 8a a4 00 00
	00		 mov	 BYTE PTR [edx+164], cl

; 624  :         AndDataByte(SAA7134_REGION_ENABLE, ~Region);

  000d0	0f b6 45 f7	 movzx	 eax, BYTE PTR _Region$[ebp]
  000d4	f7 d0		 not	 eax
  000d6	50		 push	 eax
  000d7	6a 04		 push	 4
  000d9	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  000dc	e8 00 00 00 00	 call	 ?AndDataByte@CPCICard@@QAEXKE@Z ; CPCICard::AndDataByte

; 625  :         MaskDataDword(SAA7134_IRQ1, 0x00, IRQs);

  000e1	8b 4d fc	 mov	 ecx, DWORD PTR _IRQs$[ebp]
  000e4	51		 push	 ecx
  000e5	6a 00		 push	 0
  000e7	68 c4 02 00 00	 push	 708			; 000002c4H
  000ec	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  000ef	e8 00 00 00 00	 call	 ?MaskDataDword@CPCICard@@QAEXKKK@Z ; CPCICard::MaskDataDword

; 626  :         MaskDataDword(SAA7134_MAIN_CTRL, 0x00, Control);

  000f4	8b 55 f8	 mov	 edx, DWORD PTR _Control$[ebp]
  000f7	52		 push	 edx
  000f8	6a 00		 push	 0
  000fa	68 a8 02 00 00	 push	 680			; 000002a8H
  000ff	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00102	e8 00 00 00 00	 call	 ?MaskDataDword@CPCICard@@QAEXKKK@Z ; CPCICard::MaskDataDword
$LN9@SetDMA@2:

; 627  :     }
; 628  : }

  00107	8b e5		 mov	 esp, ebp
  00109	5d		 pop	 ebp
  0010a	c2 08 00	 ret	 8
  0010d	8d 49 00	 npad	 3
$LN11@SetDMA@2:
  00110	00 00 00 00	 DD	 $LN6@SetDMA@2
  00114	00 00 00 00	 DD	 $LN5@SetDMA@2
  00118	00 00 00 00	 DD	 $LN4@SetDMA@2
  0011c	00 00 00 00	 DD	 $LN3@SetDMA@2
?SetDMA@CSAA7134Card@@QAEXW4eRegionID@CSAA7134Common@@H@Z ENDP ; CSAA7134Card::SetDMA
_TEXT	ENDS
PUBLIC	?PrepareCard@CSAA7134Card@@QAEXXZ		; CSAA7134Card::PrepareCard
; Function compile flags: /Odtp
;	COMDAT ?PrepareCard@CSAA7134Card@@QAEXXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?PrepareCard@CSAA7134Card@@QAEXXZ PROC			; CSAA7134Card::PrepareCard, COMDAT
; _this$ = ecx

; 107  : {

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

; 108  :     // Disable all interrupts
; 109  :     WriteDword(SAA7134_IRQ1, 0UL);

  00007	6a 00		 push	 0
  00009	68 c4 02 00 00	 push	 708			; 000002c4H
  0000e	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00011	e8 00 00 00 00	 call	 ?WriteDword@CPCICard@@QAEXKK@Z ; CPCICard::WriteDword

; 110  :     WriteDword(SAA7134_IRQ2, 0UL);

  00016	6a 00		 push	 0
  00018	68 c8 02 00 00	 push	 712			; 000002c8H
  0001d	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00020	e8 00 00 00 00	 call	 ?WriteDword@CPCICard@@QAEXKK@Z ; CPCICard::WriteDword

; 111  : 
; 112  :     // Disable all DMA
; 113  :     MaskDataDword(SAA7134_MAIN_CTRL, 0UL,
; 114  :         SAA7134_MAIN_CTRL_TE6 |
; 115  :         SAA7134_MAIN_CTRL_TE5 |
; 116  :         SAA7134_MAIN_CTRL_TE4 |
; 117  :         SAA7134_MAIN_CTRL_TE3 |
; 118  :         SAA7134_MAIN_CTRL_TE2 |
; 119  :         SAA7134_MAIN_CTRL_TE1 |
; 120  :         SAA7134_MAIN_CTRL_TE0);

  00025	6a 7f		 push	 127			; 0000007fH
  00027	6a 00		 push	 0
  00029	68 a8 02 00 00	 push	 680			; 000002a8H
  0002e	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00031	e8 00 00 00 00	 call	 ?MaskDataDword@CPCICard@@QAEXKKK@Z ; CPCICard::MaskDataDword

; 121  : 
; 122  :     // Disable all regions
; 123  :     WriteByte(SAA7134_REGION_ENABLE, 0x00);

  00036	6a 00		 push	 0
  00038	6a 04		 push	 4
  0003a	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0003d	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 124  : }

  00042	8b e5		 mov	 esp, ebp
  00044	5d		 pop	 ebp
  00045	c3		 ret	 0
?PrepareCard@CSAA7134Card@@QAEXXZ ENDP			; CSAA7134Card::PrepareCard
_TEXT	ENDS
PUBLIC	??1CSAA7134Card@@QAE@XZ				; CSAA7134Card::~CSAA7134Card
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1CSAA7134Card@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1CSAA7134Card@@QAE@XZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$??1CSAA7134Card@@QAE@XZ$1
	DD	01H
	DD	FLAT:__unwindfunclet$??1CSAA7134Card@@QAE@XZ$2
	DD	02H
	DD	FLAT:__unwindfunclet$??1CSAA7134Card@@QAE@XZ$3
__ehfuncinfo$??1CSAA7134Card@@QAE@XZ DD 019930522H
	DD	04H
	DD	FLAT:__unwindtable$??1CSAA7134Card@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??1CSAA7134Card@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1CSAA7134Card@@QAE@XZ PROC				; CSAA7134Card::~CSAA7134Card, COMDAT
; _this$ = ecx

; 67   : {

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

; 68   :     WriteDword(SAA7134_IRQ1, 0UL);

  00040	6a 00		 push	 0
  00042	68 c4 02 00 00	 push	 708			; 000002c4H
  00047	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0004a	e8 00 00 00 00	 call	 ?WriteDword@CPCICard@@QAEXKK@Z ; CPCICard::WriteDword

; 69   :     WriteDword(SAA7134_IRQ2, 0UL);

  0004f	6a 00		 push	 0
  00051	68 c8 02 00 00	 push	 712			; 000002c8H
  00056	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00059	e8 00 00 00 00	 call	 ?WriteDword@CPCICard@@QAEXKK@Z ; CPCICard::WriteDword

; 70   :     MaskDataDword(SAA7134_MAIN_CTRL, 0, 0x000000FF);

  0005e	68 ff 00 00 00	 push	 255			; 000000ffH
  00063	6a 00		 push	 0
  00065	68 a8 02 00 00	 push	 680			; 000002a8H
  0006a	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0006d	e8 00 00 00 00	 call	 ?MaskDataDword@CPCICard@@QAEXKKK@Z ; CPCICard::MaskDataDword

; 71   : 
; 72   :     ClosePCICard();

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

; 73   : }

  0007a	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  0007e	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00081	81 c1 80 00 00
	00		 add	 ecx, 128		; 00000080H
  00087	e8 00 00 00 00	 call	 ??1?$SmartPtr@VII2CTuner@@@@QAE@XZ ; SmartPtr<II2CTuner>::~SmartPtr<II2CTuner>
  0008c	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  00090	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00093	83 c1 78	 add	 ecx, 120		; 00000078H
  00096	e8 00 00 00 00	 call	 ??1?$SmartPtr@VCI2CBus@@@@QAE@XZ ; SmartPtr<CI2CBus>::~SmartPtr<CI2CBus>
  0009b	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  0009f	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  000a2	83 c1 5c	 add	 ecx, 92			; 0000005cH
  000a5	e8 00 00 00 00	 call	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
  000aa	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  000b1	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  000b4	e8 00 00 00 00	 call	 ??1CPCICard@@IAE@XZ	; CPCICard::~CPCICard
  000b9	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  000bc	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000c3	59		 pop	 ecx
  000c4	8b e5		 mov	 esp, ebp
  000c6	5d		 pop	 ebp
  000c7	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1CSAA7134Card@@QAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CPCICard@@IAE@XZ	; CPCICard::~CPCICard
__unwindfunclet$??1CSAA7134Card@@QAE@XZ$1:
  00008	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0000b	83 c1 5c	 add	 ecx, 92			; 0000005cH
  0000e	e9 00 00 00 00	 jmp	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
__unwindfunclet$??1CSAA7134Card@@QAE@XZ$2:
  00013	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00016	83 c1 78	 add	 ecx, 120		; 00000078H
  00019	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VCI2CBus@@@@QAE@XZ ; SmartPtr<CI2CBus>::~SmartPtr<CI2CBus>
__unwindfunclet$??1CSAA7134Card@@QAE@XZ$3:
  0001e	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00021	81 c1 80 00 00
	00		 add	 ecx, 128		; 00000080H
  00027	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VII2CTuner@@@@QAE@XZ ; SmartPtr<II2CTuner>::~SmartPtr<II2CTuner>
__ehhandler$??1CSAA7134Card@@QAE@XZ:
  0002c	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00030	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00033	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  00036	33 c8		 xor	 ecx, eax
  00038	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0003d	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??1CSAA7134Card@@QAE@XZ
  00042	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1CSAA7134Card@@QAE@XZ ENDP				; CSAA7134Card::~CSAA7134Card
PUBLIC	??0CSAA7134Card@@QAE@V?$SmartPtr@VCHardwareDriver@@@@@Z ; CSAA7134Card::CSAA7134Card
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0CSAA7134Card@@QAE@V?$SmartPtr@VCHardwareDriver@@@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0CSAA7134Card@@QAE@V?$SmartPtr@VCHardwareDriver@@@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0CSAA7134Card@@QAE@V?$SmartPtr@VCHardwareDriver@@@@@Z$1
	DD	00H
	DD	FLAT:__unwindfunclet$??0CSAA7134Card@@QAE@V?$SmartPtr@VCHardwareDriver@@@@@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$??0CSAA7134Card@@QAE@V?$SmartPtr@VCHardwareDriver@@@@@Z$3
	DD	03H
	DD	FLAT:__unwindfunclet$??0CSAA7134Card@@QAE@V?$SmartPtr@VCHardwareDriver@@@@@Z$4
	DD	03H
	DD	FLAT:__unwindfunclet$??0CSAA7134Card@@QAE@V?$SmartPtr@VCHardwareDriver@@@@@Z$5
	DD	05H
	DD	FLAT:__unwindfunclet$??0CSAA7134Card@@QAE@V?$SmartPtr@VCHardwareDriver@@@@@Z$6
__ehfuncinfo$??0CSAA7134Card@@QAE@V?$SmartPtr@VCHardwareDriver@@@@@Z DD 019930522H
	DD	07H
	DD	FLAT:__unwindtable$??0CSAA7134Card@@QAE@V?$SmartPtr@VCHardwareDriver@@@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0CSAA7134Card@@QAE@V?$SmartPtr@VCHardwareDriver@@@@@Z
_TEXT	SEGMENT
tv164 = -48						; size = 4
tv161 = -44						; size = 4
tv181 = -40						; size = 4
tv180 = -36						; size = 4
tv190 = -32						; size = 4
_this$ = -28						; size = 4
$T352439 = -24						; size = 4
$T352438 = -20						; size = 4
$T352437 = -16						; size = 4
__$EHRec$ = -12						; size = 12
_pDriver$ = 8						; size = 8
??0CSAA7134Card@@QAE@V?$SmartPtr@VCHardwareDriver@@@@@Z PROC ; CSAA7134Card::CSAA7134Card, COMDAT
; _this$ = ecx

; 60   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0CSAA7134Card@@QAE@V?$SmartPtr@VCHardwareDriver@@@@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 24	 sub	 esp, 36			; 00000024H
  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
  00028	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  0002f	83 ec 08	 sub	 esp, 8
  00032	8b cc		 mov	 ecx, esp
  00034	89 65 f0	 mov	 DWORD PTR $T352437[ebp], esp
  00037	8d 45 08	 lea	 eax, DWORD PTR _pDriver$[ebp]
  0003a	50		 push	 eax
  0003b	e8 00 00 00 00	 call	 ??0?$SmartPtr@VCHardwareDriver@@@@QAE@ABV0@@Z ; SmartPtr<CHardwareDriver>::SmartPtr<CHardwareDriver>
  00040	89 45 e0	 mov	 DWORD PTR tv190[ebp], eax
  00043	8b 4d e0	 mov	 ecx, DWORD PTR tv190[ebp]
  00046	89 4d dc	 mov	 DWORD PTR tv180[ebp], ecx
  00049	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  0004d	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  00051	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00054	e8 00 00 00 00	 call	 ??0CPCICard@@IAE@V?$SmartPtr@VCHardwareDriver@@@@@Z ; CPCICard::CPCICard
  00059	89 45 d8	 mov	 DWORD PTR tv181[ebp], eax
  0005c	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  00060	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00063	83 c1 54	 add	 ecx, 84			; 00000054H
  00066	e8 00 00 00 00	 call	 ??0ISAA7134I2CInterface@@QAE@XZ
  0006b	8b 55 e4	 mov	 edx, DWORD PTR _this$[ebp]
  0006e	c7 02 00 00 00
	00		 mov	 DWORD PTR [edx], OFFSET ??_7CSAA7134Card@@6BCPCICard@@@
  00074	8b 45 e4	 mov	 eax, DWORD PTR _this$[ebp]
  00077	c7 40 54 00 00
	00 00		 mov	 DWORD PTR [eax+84], OFFSET ??_7CSAA7134Card@@6BISAA7134I2CInterface@@@
  0007e	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00081	c7 41 58 00 00
	00 00		 mov	 DWORD PTR [ecx+88], 0
  00088	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  0008b	83 c1 5c	 add	 ecx, 92			; 0000005cH
  0008e	e8 00 00 00 00	 call	 ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
  00093	c6 45 fc 03	 mov	 BYTE PTR __$EHRec$[ebp+8], 3
  00097	6a 10		 push	 16			; 00000010H
  00099	e8 00 00 00 00	 call	 ??2@YAPAXI@Z		; operator new
  0009e	83 c4 04	 add	 esp, 4
  000a1	89 45 e8	 mov	 DWORD PTR $T352439[ebp], eax
  000a4	c6 45 fc 04	 mov	 BYTE PTR __$EHRec$[ebp+8], 4
  000a8	83 7d e8 00	 cmp	 DWORD PTR $T352439[ebp], 0
  000ac	74 29		 je	 SHORT $LN5@CSAA7134Ca@5
  000ae	83 7d e4 00	 cmp	 DWORD PTR _this$[ebp], 0
  000b2	74 0b		 je	 SHORT $LN3@CSAA7134Ca@5
  000b4	8b 55 e4	 mov	 edx, DWORD PTR _this$[ebp]
  000b7	83 c2 54	 add	 edx, 84			; 00000054H
  000ba	89 55 d4	 mov	 DWORD PTR tv161[ebp], edx
  000bd	eb 07		 jmp	 SHORT $LN4@CSAA7134Ca@5
$LN3@CSAA7134Ca@5:
  000bf	c7 45 d4 00 00
	00 00		 mov	 DWORD PTR tv161[ebp], 0
$LN4@CSAA7134Ca@5:
  000c6	8b 45 d4	 mov	 eax, DWORD PTR tv161[ebp]
  000c9	50		 push	 eax
  000ca	8b 4d e8	 mov	 ecx, DWORD PTR $T352439[ebp]
  000cd	e8 00 00 00 00	 call	 ??0CSAA7134I2CBus@@QAE@PAVISAA7134I2CInterface@@@Z ; CSAA7134I2CBus::CSAA7134I2CBus
  000d2	89 45 d0	 mov	 DWORD PTR tv164[ebp], eax
  000d5	eb 07		 jmp	 SHORT $LN6@CSAA7134Ca@5
$LN5@CSAA7134Ca@5:
  000d7	c7 45 d0 00 00
	00 00		 mov	 DWORD PTR tv164[ebp], 0
$LN6@CSAA7134Ca@5:
  000de	8b 4d d0	 mov	 ecx, DWORD PTR tv164[ebp]
  000e1	89 4d ec	 mov	 DWORD PTR $T352438[ebp], ecx
  000e4	c6 45 fc 03	 mov	 BYTE PTR __$EHRec$[ebp+8], 3
  000e8	6a 00		 push	 0
  000ea	8b 55 ec	 mov	 edx, DWORD PTR $T352438[ebp]
  000ed	52		 push	 edx
  000ee	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  000f1	83 c1 78	 add	 ecx, 120		; 00000078H
  000f4	e8 00 00 00 00	 call	 ??0?$SmartPtr@VCI2CBus@@@@QAE@PAVCI2CBus@@PAUCounter@@@Z ; SmartPtr<CI2CBus>::SmartPtr<CI2CBus>
  000f9	c6 45 fc 05	 mov	 BYTE PTR __$EHRec$[ebp+8], 5
  000fd	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00100	81 c1 80 00 00
	00		 add	 ecx, 128		; 00000080H
  00106	e8 00 00 00 00	 call	 ??0?$SmartPtr@VII2CTuner@@@@QAE@XZ ; SmartPtr<II2CTuner>::SmartPtr<II2CTuner>
  0010b	c6 45 fc 06	 mov	 BYTE PTR __$EHRec$[ebp+8], 6
  0010f	8b 45 e4	 mov	 eax, DWORD PTR _this$[ebp]
  00112	c6 80 a4 00 00
	00 00		 mov	 BYTE PTR [eax+164], 0
  00119	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  0011c	c7 81 ac 00 00
	00 ff ff ff ff	 mov	 DWORD PTR [ecx+172], -1
  00126	8b 55 e4	 mov	 edx, DWORD PTR _this$[ebp]
  00129	c7 82 b4 00 00
	00 00 00 00 00	 mov	 DWORD PTR [edx+180], 0
  00133	8b 45 e4	 mov	 eax, DWORD PTR _this$[ebp]
  00136	c7 80 b8 00 00
	00 00 00 00 00	 mov	 DWORD PTR [eax+184], 0

; 61   :     m_LastTriggerError = 0UL;

  00140	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00143	c7 81 a8 00 00
	00 00 00 00 00	 mov	 DWORD PTR [ecx+168], 0

; 62   : 
; 63   : }

  0014d	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00154	8d 4d 08	 lea	 ecx, DWORD PTR _pDriver$[ebp]
  00157	e8 00 00 00 00	 call	 ??1?$SmartPtr@VCHardwareDriver@@@@QAE@XZ ; SmartPtr<CHardwareDriver>::~SmartPtr<CHardwareDriver>
  0015c	8b 45 e4	 mov	 eax, DWORD PTR _this$[ebp]
  0015f	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00162	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00169	59		 pop	 ecx
  0016a	8b e5		 mov	 esp, ebp
  0016c	5d		 pop	 ebp
  0016d	c2 08 00	 ret	 8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0CSAA7134Card@@QAE@V?$SmartPtr@VCHardwareDriver@@@@@Z$0:
  00000	8d 4d 08	 lea	 ecx, DWORD PTR _pDriver$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VCHardwareDriver@@@@QAE@XZ ; SmartPtr<CHardwareDriver>::~SmartPtr<CHardwareDriver>
__unwindfunclet$??0CSAA7134Card@@QAE@V?$SmartPtr@VCHardwareDriver@@@@@Z$1:
  00008	8b 4d f0	 mov	 ecx, DWORD PTR $T352437[ebp]
  0000b	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VCHardwareDriver@@@@QAE@XZ ; SmartPtr<CHardwareDriver>::~SmartPtr<CHardwareDriver>
__unwindfunclet$??0CSAA7134Card@@QAE@V?$SmartPtr@VCHardwareDriver@@@@@Z$2:
  00010	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00013	e9 00 00 00 00	 jmp	 ??1CPCICard@@IAE@XZ	; CPCICard::~CPCICard
__unwindfunclet$??0CSAA7134Card@@QAE@V?$SmartPtr@VCHardwareDriver@@@@@Z$3:
  00018	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  0001b	83 c1 5c	 add	 ecx, 92			; 0000005cH
  0001e	e9 00 00 00 00	 jmp	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
__unwindfunclet$??0CSAA7134Card@@QAE@V?$SmartPtr@VCHardwareDriver@@@@@Z$4:
  00023	8b 45 e8	 mov	 eax, DWORD PTR $T352439[ebp]
  00026	50		 push	 eax
  00027	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  0002c	59		 pop	 ecx
  0002d	c3		 ret	 0
__unwindfunclet$??0CSAA7134Card@@QAE@V?$SmartPtr@VCHardwareDriver@@@@@Z$5:
  0002e	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00031	83 c1 78	 add	 ecx, 120		; 00000078H
  00034	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VCI2CBus@@@@QAE@XZ ; SmartPtr<CI2CBus>::~SmartPtr<CI2CBus>
__unwindfunclet$??0CSAA7134Card@@QAE@V?$SmartPtr@VCHardwareDriver@@@@@Z$6:
  00039	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  0003c	81 c1 80 00 00
	00		 add	 ecx, 128		; 00000080H
  00042	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VII2CTuner@@@@QAE@XZ ; SmartPtr<II2CTuner>::~SmartPtr<II2CTuner>
__ehhandler$??0CSAA7134Card@@QAE@V?$SmartPtr@VCHardwareDriver@@@@@Z:
  00047	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0004b	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0004e	8b 4a d8	 mov	 ecx, DWORD PTR [edx-40]
  00051	33 c8		 xor	 ecx, eax
  00053	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00058	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0CSAA7134Card@@QAE@V?$SmartPtr@VCHardwareDriver@@@@@Z
  0005d	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0CSAA7134Card@@QAE@V?$SmartPtr@VCHardwareDriver@@@@@Z ENDP ; CSAA7134Card::CSAA7134Card
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?ManageMyState@CSAA7134Card@@MAEXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?ManageMyState@CSAA7134Card@@MAEXXZ$0
__ehfuncinfo$?ManageMyState@CSAA7134Card@@MAEXXZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?ManageMyState@CSAA7134Card@@MAEXXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?ManageMyState@CSAA7134Card@@MAEXXZ
_TEXT	SEGMENT
tv645 = -32						; size = 4
tv646 = -28						; size = 4
_this$ = -24						; size = 4
$T354971 = -20						; size = 4
_i$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
?ManageMyState@CSAA7134Card@@MAEXXZ PROC		; CSAA7134Card::ManageMyState, COMDAT
; _this$ = ecx

; 128  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?ManageMyState@CSAA7134Card@@MAEXXZ
  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 e8	 mov	 DWORD PTR _this$[ebp], ecx

; 129  :     int i;
; 130  : 
; 131  :     ManageByte(SAA7134_INCR_DELAY);

  00028	68 01 01 00 00	 push	 257			; 00000101H
  0002d	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00030	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 132  :     ManageByte(SAA7134_ANALOG_IN_CTRL1);

  00035	68 02 01 00 00	 push	 258			; 00000102H
  0003a	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0003d	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 133  :     ManageByte(SAA7134_ANALOG_IN_CTRL2);

  00042	68 03 01 00 00	 push	 259			; 00000103H
  00047	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0004a	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 134  :     ManageByte(SAA7134_ANALOG_IN_CTRL3);

  0004f	68 04 01 00 00	 push	 260			; 00000104H
  00054	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00057	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 135  :     ManageByte(SAA7134_ANALOG_IN_CTRL4);

  0005c	68 05 01 00 00	 push	 261			; 00000105H
  00061	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00064	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 136  : 
; 137  :     ManageByte(SAA7134_HSYNC_START);

  00069	68 06 01 00 00	 push	 262			; 00000106H
  0006e	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00071	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 138  :     ManageByte(SAA7134_HSYNC_STOP);

  00076	68 07 01 00 00	 push	 263			; 00000107H
  0007b	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0007e	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 139  :     ManageByte(SAA7134_SYNC_CTRL);

  00083	68 08 01 00 00	 push	 264			; 00000108H
  00088	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0008b	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 140  :     ManageByte(SAA7134_LUMA_CTRL);

  00090	68 09 01 00 00	 push	 265			; 00000109H
  00095	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00098	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 141  :     ManageByte(SAA7134_DEC_LUMA_BRIGHT);

  0009d	68 0a 01 00 00	 push	 266			; 0000010aH
  000a2	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  000a5	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 142  :     ManageByte(SAA7134_DEC_LUMA_CONTRAST);

  000aa	68 0b 01 00 00	 push	 267			; 0000010bH
  000af	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  000b2	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 143  :     ManageByte(SAA7134_DEC_CHROMA_SATURATION);

  000b7	68 0c 01 00 00	 push	 268			; 0000010cH
  000bc	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  000bf	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 144  :     ManageByte(SAA7134_DEC_CHROMA_HUE);

  000c4	68 0d 01 00 00	 push	 269			; 0000010dH
  000c9	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  000cc	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 145  :     ManageByte(SAA7134_CHROMA_CTRL1);

  000d1	68 0e 01 00 00	 push	 270			; 0000010eH
  000d6	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  000d9	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 146  :     ManageByte(SAA7134_CHROMA_GAIN_CTRL);

  000de	68 0f 01 00 00	 push	 271			; 0000010fH
  000e3	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  000e6	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 147  :     ManageByte(SAA7134_CHROMA_CTRL2);

  000eb	68 10 01 00 00	 push	 272			; 00000110H
  000f0	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  000f3	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 148  :     ManageByte(SAA7134_MODE_DELAY_CTRL);

  000f8	68 11 01 00 00	 push	 273			; 00000111H
  000fd	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00100	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 149  :     ManageByte(SAA7134_ANALOG_ADC);

  00105	68 14 01 00 00	 push	 276			; 00000114H
  0010a	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0010d	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 150  :     ManageByte(SAA7134_VGATE_START);

  00112	68 15 01 00 00	 push	 277			; 00000115H
  00117	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0011a	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 151  :     ManageByte(SAA7134_VGATE_STOP);

  0011f	68 16 01 00 00	 push	 278			; 00000116H
  00124	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00127	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 152  :     ManageByte(SAA7134_MISC_VGATE_MSB);

  0012c	68 17 01 00 00	 push	 279			; 00000117H
  00131	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00134	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 153  :     ManageByte(SAA7134_RAW_DATA_GAIN);

  00139	68 18 01 00 00	 push	 280			; 00000118H
  0013e	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00141	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 154  :     ManageByte(SAA7134_RAW_DATA_OFFSET);

  00146	68 19 01 00 00	 push	 281			; 00000119H
  0014b	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0014e	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 155  :     ManageByte(SAA7134_STATUS_VIDEO);

  00153	68 1e 01 00 00	 push	 286			; 0000011eH
  00158	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0015b	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 156  :     ManageByte(SAA7134_STATUS_VIDEO_HIBYTE);

  00160	68 1f 01 00 00	 push	 287			; 0000011fH
  00165	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00168	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 157  : 
; 158  :     for (i = 0; i < 16; i++)

  0016d	c7 45 f0 00 00
	00 00		 mov	 DWORD PTR _i$[ebp], 0
  00174	eb 09		 jmp	 SHORT $LN11@ManageMySt@2
$LN10@ManageMySt@2:
  00176	8b 45 f0	 mov	 eax, DWORD PTR _i$[ebp]
  00179	83 c0 01	 add	 eax, 1
  0017c	89 45 f0	 mov	 DWORD PTR _i$[ebp], eax
$LN11@ManageMySt@2:
  0017f	83 7d f0 10	 cmp	 DWORD PTR _i$[ebp], 16	; 00000010H
  00183	7d 2f		 jge	 SHORT $LN9@ManageMySt@2

; 159  :     {
; 160  :         ManageByte(SAA7134_GREEN_PATH(i));

  00185	8b 4d f0	 mov	 ecx, DWORD PTR _i$[ebp]
  00188	83 c9 10	 or	 ecx, 16			; 00000010H
  0018b	51		 push	 ecx
  0018c	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0018f	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 161  :         ManageByte(SAA7134_BLUE_PATH(i));

  00194	8b 55 f0	 mov	 edx, DWORD PTR _i$[ebp]
  00197	83 ca 20	 or	 edx, 32			; 00000020H
  0019a	52		 push	 edx
  0019b	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0019e	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 162  :         ManageByte(SAA7134_RED_PATH(i));

  001a3	8b 45 f0	 mov	 eax, DWORD PTR _i$[ebp]
  001a6	83 c8 30	 or	 eax, 48			; 00000030H
  001a9	50		 push	 eax
  001aa	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  001ad	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 163  :     }

  001b2	eb c2		 jmp	 SHORT $LN10@ManageMySt@2
$LN9@ManageMySt@2:

; 164  : 
; 165  :     ManageByte(SAA7134_START_GREEN);

  001b4	6a 0c		 push	 12			; 0000000cH
  001b6	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  001b9	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 166  :     ManageByte(SAA7134_START_BLUE);

  001be	6a 0d		 push	 13			; 0000000dH
  001c0	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  001c3	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 167  :     ManageByte(SAA7134_START_RED);

  001c8	6a 0e		 push	 14			; 0000000eH
  001ca	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  001cd	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 168  : 
; 169  :     for (i = SAA7134_TASK_A_MASK; i < 0x077; i++)

  001d2	c7 45 f0 40 00
	00 00		 mov	 DWORD PTR _i$[ebp], 64	; 00000040H
  001d9	eb 09		 jmp	 SHORT $LN8@ManageMySt@2
$LN7@ManageMySt@2:
  001db	8b 4d f0	 mov	 ecx, DWORD PTR _i$[ebp]
  001de	83 c1 01	 add	 ecx, 1
  001e1	89 4d f0	 mov	 DWORD PTR _i$[ebp], ecx
$LN8@ManageMySt@2:
  001e4	83 7d f0 77	 cmp	 DWORD PTR _i$[ebp], 119	; 00000077H
  001e8	7d 0e		 jge	 SHORT $LN6@ManageMySt@2

; 170  :     {
; 171  :         ManageByte(i);

  001ea	8b 55 f0	 mov	 edx, DWORD PTR _i$[ebp]
  001ed	52		 push	 edx
  001ee	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  001f1	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 172  :     }

  001f6	eb e3		 jmp	 SHORT $LN7@ManageMySt@2
$LN6@ManageMySt@2:

; 173  : 
; 174  :     for (i = SAA7134_TASK_B_MASK; i < 0x0B7; i++)

  001f8	c7 45 f0 80 00
	00 00		 mov	 DWORD PTR _i$[ebp], 128	; 00000080H
  001ff	eb 09		 jmp	 SHORT $LN5@ManageMySt@2
$LN4@ManageMySt@2:
  00201	8b 45 f0	 mov	 eax, DWORD PTR _i$[ebp]
  00204	83 c0 01	 add	 eax, 1
  00207	89 45 f0	 mov	 DWORD PTR _i$[ebp], eax
$LN5@ManageMySt@2:
  0020a	81 7d f0 b7 00
	00 00		 cmp	 DWORD PTR _i$[ebp], 183	; 000000b7H
  00211	7d 0e		 jge	 SHORT $LN3@ManageMySt@2

; 175  :     {
; 176  :         ManageByte(i);

  00213	8b 4d f0	 mov	 ecx, DWORD PTR _i$[ebp]
  00216	51		 push	 ecx
  00217	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0021a	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 177  :     }

  0021f	eb e0		 jmp	 SHORT $LN4@ManageMySt@2
$LN3@ManageMySt@2:

; 178  : 
; 179  :     ManageByte(SAA7134_OFMT_VIDEO_A);

  00221	68 00 03 00 00	 push	 768			; 00000300H
  00226	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00229	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 180  :     ManageByte(SAA7134_OFMT_DATA_A);

  0022e	68 01 03 00 00	 push	 769			; 00000301H
  00233	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00236	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 181  :     ManageByte(SAA7134_OFMT_VIDEO_B);

  0023b	68 02 03 00 00	 push	 770			; 00000302H
  00240	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00243	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 182  :     ManageByte(SAA7134_OFMT_DATA_B);

  00248	68 03 03 00 00	 push	 771			; 00000303H
  0024d	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00250	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 183  :     ManageByte(SAA7134_ALPHA_NOCLIP);

  00255	68 04 03 00 00	 push	 772			; 00000304H
  0025a	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0025d	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 184  :     ManageByte(SAA7134_ALPHA_CLIP);

  00262	68 05 03 00 00	 push	 773			; 00000305H
  00267	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0026a	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 185  :     ManageByte(SAA7134_UV_PIXEL);

  0026f	68 08 03 00 00	 push	 776			; 00000308H
  00274	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00277	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 186  :     ManageByte(SAA7134_CLIP_RED);

  0027c	68 09 03 00 00	 push	 777			; 00000309H
  00281	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00284	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 187  :     ManageByte(SAA7134_CLIP_GREEN);

  00289	68 0a 03 00 00	 push	 778			; 0000030aH
  0028e	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00291	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 188  :     ManageByte(SAA7134_CLIP_BLUE);

  00296	68 0b 03 00 00	 push	 779			; 0000030bH
  0029b	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0029e	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 189  : 
; 190  :     /* We don't really need to save these
; 191  :     for (i = 0; i < 16; i++)
; 192  :     {
; 193  :         ManageByte(SAA7134_CLIP_H_ACTIVE(i));
; 194  :         ManageByte(SAA7134_CLIP_H_NOIDEA(i));
; 195  :         ManageByte(SAA7134_CLIP_H_POS(i));
; 196  :         ManageByte(SAA7134_CLIP_H_POS_HIBYTE(i));
; 197  :         ManageByte(SAA7134_CLIP_V_ACTIVE(i));
; 198  :         ManageByte(SAA7134_CLIP_V_NOIDEA(i));
; 199  :         ManageByte(SAA7134_CLIP_V_POS(i));
; 200  :         ManageByte(SAA7134_CLIP_V_POS_HIBYTE(i));
; 201  :     }
; 202  :     */
; 203  : 
; 204  :     ManageByte(SAA7134_DCXO_IDENT_CTRL);

  002a3	68 4a 01 00 00	 push	 330			; 0000014aH
  002a8	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  002ab	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 205  :     ManageByte(SAA7134_DEMODULATOR);

  002b0	68 4b 01 00 00	 push	 331			; 0000014bH
  002b5	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  002b8	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 206  :     ManageByte(SAA7134_AGC_GAIN_SELECT);

  002bd	68 4c 01 00 00	 push	 332			; 0000014cH
  002c2	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  002c5	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 207  :     ManageDword(SAA7134_CARRIER1_FREQ);

  002ca	68 50 01 00 00	 push	 336			; 00000150H
  002cf	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  002d2	e8 00 00 00 00	 call	 ?ManageDword@CPCICard@@IAEXK@Z ; CPCICard::ManageDword

; 208  :     ManageDword(SAA7134_CARRIER2_FREQ);

  002d7	68 54 01 00 00	 push	 340			; 00000154H
  002dc	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  002df	e8 00 00 00 00	 call	 ?ManageDword@CPCICard@@IAEXK@Z ; CPCICard::ManageDword

; 209  :     ManageDword(SAA7134_NUM_SAMPLES);

  002e4	68 58 01 00 00	 push	 344			; 00000158H
  002e9	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  002ec	e8 00 00 00 00	 call	 ?ManageDword@CPCICard@@IAEXK@Z ; CPCICard::ManageDword

; 210  :     ManageByte(SAA7134_AUDIO_FORMAT_CTRL);

  002f1	68 5b 01 00 00	 push	 347			; 0000015bH
  002f6	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  002f9	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 211  :     ManageByte(SAA7134_MONITOR_SELECT);

  002fe	68 60 01 00 00	 push	 352			; 00000160H
  00303	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00306	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 212  :     ManageByte(SAA7134_FM_DEEMPHASIS);

  0030b	68 61 01 00 00	 push	 353			; 00000161H
  00310	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00313	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 213  :     ManageByte(SAA7134_FM_DEMATRIX);

  00318	68 62 01 00 00	 push	 354			; 00000162H
  0031d	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00320	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 214  :     ManageByte(SAA7134_CHANNEL1_LEVEL);

  00325	68 63 01 00 00	 push	 355			; 00000163H
  0032a	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0032d	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 215  :     ManageByte(SAA7134_CHANNEL2_LEVEL);

  00332	68 64 01 00 00	 push	 356			; 00000164H
  00337	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0033a	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 216  :     ManageByte(SAA7134_NICAM_CONFIG);

  0033f	68 65 01 00 00	 push	 357			; 00000165H
  00344	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00347	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 217  :     ManageByte(SAA7134_NICAM_LEVEL_ADJUST);

  0034c	68 66 01 00 00	 push	 358			; 00000166H
  00351	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00354	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 218  :     ManageByte(SAA7134_STEREO_DAC_OUTPUT_SELECT);

  00359	68 67 01 00 00	 push	 359			; 00000167H
  0035e	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00361	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 219  :     ManageByte(SAA7134_I2S_OUTPUT_FORMAT);

  00366	68 68 01 00 00	 push	 360			; 00000168H
  0036b	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0036e	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 220  :     ManageByte(SAA7134_I2S_OUTPUT_SELECT);

  00373	68 69 01 00 00	 push	 361			; 00000169H
  00378	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0037b	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 221  :     ManageByte(SAA7134_I2S_OUTPUT_LEVEL);

  00380	68 6a 01 00 00	 push	 362			; 0000016aH
  00385	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00388	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 222  :     ManageByte(SAA7134_DSP_OUTPUT_SELECT);

  0038d	68 6b 01 00 00	 push	 363			; 0000016bH
  00392	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00395	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 223  : 
; 224  :     // This stops unmuting on exit
; 225  :     // ManageByte(SAA7134_AUDIO_MUTE_CTRL);
; 226  : 
; 227  :     ManageByte(SAA7134_SIF_SAMPLE_FREQ);

  0039a	68 6d 01 00 00	 push	 365			; 0000016dH
  0039f	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  003a2	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 228  : 
; 229  :     // Managing this causes problems for cards that
; 230  :     // use audio line for muting
; 231  :     //ManageByte(SAA7134_ANALOG_IO_SELECT);
; 232  : 
; 233  :     ManageDword(SAA7134_AUDIO_CLOCK);

  003a7	68 70 01 00 00	 push	 368			; 00000170H
  003ac	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  003af	e8 00 00 00 00	 call	 ?ManageDword@CPCICard@@IAEXK@Z ; CPCICard::ManageDword

; 234  :     ManageByte(SAA7134_AUDIO_PLL_CTRL);

  003b4	68 73 01 00 00	 push	 371			; 00000173H
  003b9	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  003bc	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 235  :     ManageDword(SAA7134_AUDIO_CLOCKS_PER_FIELD);

  003c1	68 74 01 00 00	 push	 372			; 00000174H
  003c6	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  003c9	e8 00 00 00 00	 call	 ?ManageDword@CPCICard@@IAEXK@Z ; CPCICard::ManageDword

; 236  : 
; 237  :     ManageByte(SAA7134_VIDEO_PORT_CTRL0);

  003ce	68 90 01 00 00	 push	 400			; 00000190H
  003d3	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  003d6	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 238  :     ManageByte(SAA7134_VIDEO_PORT_CTRL1);

  003db	68 91 01 00 00	 push	 401			; 00000191H
  003e0	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  003e3	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 239  :     ManageByte(SAA7134_VIDEO_PORT_CTRL2);

  003e8	68 92 01 00 00	 push	 402			; 00000192H
  003ed	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  003f0	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 240  :     ManageByte(SAA7134_VIDEO_PORT_CTRL3);

  003f5	68 93 01 00 00	 push	 403			; 00000193H
  003fa	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  003fd	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 241  :     ManageByte(SAA7134_VIDEO_PORT_CTRL4);

  00402	68 94 01 00 00	 push	 404			; 00000194H
  00407	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0040a	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 242  :     ManageByte(SAA7134_VIDEO_PORT_CTRL5);

  0040f	68 95 01 00 00	 push	 405			; 00000195H
  00414	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00417	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 243  :     ManageByte(SAA7134_VIDEO_PORT_CTRL6);

  0041c	68 96 01 00 00	 push	 406			; 00000196H
  00421	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00424	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 244  :     ManageByte(SAA7134_VIDEO_PORT_CTRL7);

  00429	68 97 01 00 00	 push	 407			; 00000197H
  0042e	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00431	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 245  :     ManageByte(SAA7134_VIDEO_PORT_CTRL8);

  00436	68 98 01 00 00	 push	 408			; 00000198H
  0043b	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0043e	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 246  : 
; 247  :     ManageByte(SAA7134_TS_PARALLEL);

  00443	68 a0 01 00 00	 push	 416			; 000001a0H
  00448	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0044b	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 248  :     ManageByte(SAA7134_TS_PARALLEL_SERIAL);

  00450	68 a1 01 00 00	 push	 417			; 000001a1H
  00455	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00458	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 249  :     ManageByte(SAA7134_TS_SERIAL0);

  0045d	68 a2 01 00 00	 push	 418			; 000001a2H
  00462	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00465	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 250  :     ManageByte(SAA7134_TS_SERIAL1);

  0046a	68 a3 01 00 00	 push	 419			; 000001a3H
  0046f	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00472	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 251  :     ManageByte(SAA7134_TS_DMA0);

  00477	68 a4 01 00 00	 push	 420			; 000001a4H
  0047c	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0047f	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 252  :     ManageByte(SAA7134_TS_DMA1);

  00484	68 a5 01 00 00	 push	 421			; 000001a5H
  00489	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0048c	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 253  :     ManageByte(SAA7134_TS_DMA2);

  00491	68 a6 01 00 00	 push	 422			; 000001a6H
  00496	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00499	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 254  : 
; 255  :     ManageByte(SAA7134_I2S_AUDIO_OUTPUT);

  0049e	68 c0 01 00 00	 push	 448			; 000001c0H
  004a3	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  004a6	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 256  :     ManageByte(SAA7134_SPECIAL_MODE);

  004ab	68 d0 01 00 00	 push	 464			; 000001d0H
  004b0	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  004b3	e8 00 00 00 00	 call	 ?ManageByte@CPCICard@@IAEXK@Z ; CPCICard::ManageByte

; 257  : 
; 258  :     if (m_DeviceId == 0x7133 || m_DeviceId == 0x7135)

  004b8	8b 55 e8	 mov	 edx, DWORD PTR _this$[ebp]
  004bb	0f b7 42 08	 movzx	 eax, WORD PTR [edx+8]
  004bf	3d 33 71 00 00	 cmp	 eax, 28979		; 00007133H
  004c4	74 0f		 je	 SHORT $LN1@ManageMySt@2
  004c6	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  004c9	0f b7 51 08	 movzx	 edx, WORD PTR [ecx+8]
  004cd	81 fa 35 71 00
	00		 cmp	 edx, 28981		; 00007135H
  004d3	75 35		 jne	 SHORT $LN12@ManageMySt@2
$LN1@ManageMySt@2:

; 259  :     {
; 260  :         ManageData(SAA7133_ANALOG_IO_SELECT);

  004d5	83 ec 08	 sub	 esp, 8
  004d8	8b cc		 mov	 ecx, esp
  004da	89 65 ec	 mov	 DWORD PTR $T354971[ebp], esp
  004dd	6a ff		 push	 -1
  004df	e8 00 00 00 00	 call	 ??0CBitMask@@QAE@K@Z	; CBitMask::CBitMask
  004e4	89 45 e4	 mov	 DWORD PTR tv646[ebp], eax
  004e7	8b 45 e4	 mov	 eax, DWORD PTR tv646[ebp]
  004ea	89 45 e0	 mov	 DWORD PTR tv645[ebp], eax
  004ed	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  004f4	6a 3f		 push	 63			; 0000003fH
  004f6	68 94 05 00 00	 push	 1428			; 00000594H
  004fb	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00502	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00505	e8 00 00 00 00	 call	 ?ManageData@CPCICard@@QAEXKKVCBitMask@@@Z ; CPCICard::ManageData
$LN12@ManageMySt@2:

; 261  :     }
; 262  : 
; 263  :     // do these ones last
; 264  :     /* It is probably safer if we leave DMA
; 265  :        and IRQ stuff zeroed when we're done.
; 266  :     ManageWord(SAA7134_SOURCE_TIMING);
; 267  :     ManageByte(SAA7134_REGION_ENABLE);
; 268  : 
; 269  :     for (i = 0; i < 7; i++)
; 270  :     {
; 271  :         ManageDword(SAA7134_RS_BA1(i));
; 272  :         ManageDword(SAA7134_RS_BA2(i));
; 273  :         ManageDword(SAA7134_RS_PITCH(i));
; 274  : 
; 275  :         ManageByte(SAA7134_RS_CONTROL_0(i));
; 276  :         ManageByte(SAA7134_RS_CONTROL_1(i));
; 277  :         ManageByte(SAA7134_RS_CONTROL_2(i));
; 278  :         ManageByte(SAA7134_RS_CONTROL_3(i));
; 279  :     }
; 280  : 
; 281  :     ManageDword(SAA7134_FIFO_SIZE);
; 282  :     ManageDword(SAA7134_THRESHOULD);
; 283  : 
; 284  :     ManageDword(SAA7134_MAIN_CTRL);
; 285  : 
; 286  :     ManageDword(SAA7134_IRQ1);
; 287  :     ManageDword(SAA7134_IRQ2);
; 288  :     */
; 289  : }

  0050a	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0050d	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00514	59		 pop	 ecx
  00515	8b e5		 mov	 esp, ebp
  00517	5d		 pop	 ebp
  00518	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?ManageMyState@CSAA7134Card@@MAEXXZ$0:
  00000	8b 4d ec	 mov	 ecx, DWORD PTR $T354971[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CBitMask@@UAE@XZ	; CBitMask::~CBitMask
__ehhandler$?ManageMyState@CSAA7134Card@@MAEXXZ:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a e8	 mov	 ecx, DWORD PTR [edx-24]
  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$?ManageMyState@CSAA7134Card@@MAEXXZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?ManageMyState@CSAA7134Card@@MAEXXZ ENDP		; CSAA7134Card::ManageMyState
PUBLIC	?ResetHardware@CSAA7134Card@@QAEXXZ		; CSAA7134Card::ResetHardware
; Function compile flags: /Odtp
;	COMDAT ?ResetHardware@CSAA7134Card@@QAEXXZ
_TEXT	SEGMENT
_this$ = -8						; size = 4
_i$145609 = -4						; size = 4
?ResetHardware@CSAA7134Card@@QAEXXZ PROC		; CSAA7134Card::ResetHardware, COMDAT
; _this$ = ecx

; 293  : {

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

; 294  :     WriteByte(SAA7134_REGION_ENABLE, 0x00);

  00009	6a 00		 push	 0
  0000b	6a 04		 push	 4
  0000d	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00010	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 295  :     WriteByte(SAA7134_REGION_ENABLE, SAA7134_REGION_ENABLE_SWRST);

  00015	68 80 00 00 00	 push	 128			; 00000080H
  0001a	6a 04		 push	 4
  0001c	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0001f	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 296  :     WriteByte(SAA7134_REGION_ENABLE, 0x00);

  00024	6a 00		 push	 0
  00026	6a 04		 push	 4
  00028	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0002b	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 297  : 
; 298  :     // LOG(0, _T("Initial registery dump"));
; 299  :     // DumpRegisters();
; 300  : 
; 301  :     WriteWord(SAA7134_SOURCE_TIMING, SAA7134_SOURCE_TIMING_DVED);

  00030	68 00 20 00 00	 push	 8192			; 00002000H
  00035	6a 00		 push	 0
  00037	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0003a	e8 00 00 00 00	 call	 ?WriteWord@CPCICard@@QAEXKG@Z ; CPCICard::WriteWord

; 302  : 
; 303  :     WriteByte(SAA7134_START_GREEN, 0x00);

  0003f	6a 00		 push	 0
  00041	6a 0c		 push	 12			; 0000000cH
  00043	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00046	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 304  :     WriteByte(SAA7134_START_BLUE, 0x00);

  0004b	6a 00		 push	 0
  0004d	6a 0d		 push	 13			; 0000000dH
  0004f	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00052	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 305  :     WriteByte(SAA7134_START_RED, 0x00);

  00057	6a 00		 push	 0
  00059	6a 0e		 push	 14			; 0000000eH
  0005b	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0005e	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 306  : 
; 307  :     for (int i = 0; i < 0x0F; i++)

  00063	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _i$145609[ebp], 0
  0006a	eb 09		 jmp	 SHORT $LN3@ResetHardw@6
$LN2@ResetHardw@6:
  0006c	8b 45 fc	 mov	 eax, DWORD PTR _i$145609[ebp]
  0006f	83 c0 01	 add	 eax, 1
  00072	89 45 fc	 mov	 DWORD PTR _i$145609[ebp], eax
$LN3@ResetHardw@6:
  00075	83 7d fc 0f	 cmp	 DWORD PTR _i$145609[ebp], 15 ; 0000000fH
  00079	7d 4d		 jge	 SHORT $LN1@ResetHardw@6

; 308  :     {
; 309  :         WriteByte(SAA7134_GREEN_PATH(i), (i+1)<<4);

  0007b	8b 4d fc	 mov	 ecx, DWORD PTR _i$145609[ebp]
  0007e	83 c1 01	 add	 ecx, 1
  00081	c1 e1 04	 shl	 ecx, 4
  00084	51		 push	 ecx
  00085	8b 55 fc	 mov	 edx, DWORD PTR _i$145609[ebp]
  00088	83 ca 10	 or	 edx, 16			; 00000010H
  0008b	52		 push	 edx
  0008c	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0008f	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 310  :         WriteByte(SAA7134_BLUE_PATH(i), (i+1)<<4);

  00094	8b 45 fc	 mov	 eax, DWORD PTR _i$145609[ebp]
  00097	83 c0 01	 add	 eax, 1
  0009a	c1 e0 04	 shl	 eax, 4
  0009d	50		 push	 eax
  0009e	8b 4d fc	 mov	 ecx, DWORD PTR _i$145609[ebp]
  000a1	83 c9 20	 or	 ecx, 32			; 00000020H
  000a4	51		 push	 ecx
  000a5	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  000a8	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 311  :         WriteByte(SAA7134_RED_PATH(i), (i+1)<<4);

  000ad	8b 55 fc	 mov	 edx, DWORD PTR _i$145609[ebp]
  000b0	83 c2 01	 add	 edx, 1
  000b3	c1 e2 04	 shl	 edx, 4
  000b6	52		 push	 edx
  000b7	8b 45 fc	 mov	 eax, DWORD PTR _i$145609[ebp]
  000ba	83 c8 30	 or	 eax, 48			; 00000030H
  000bd	50		 push	 eax
  000be	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  000c1	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 312  :     }

  000c6	eb a4		 jmp	 SHORT $LN2@ResetHardw@6
$LN1@ResetHardw@6:

; 313  :     WriteByte(SAA7134_GREEN_PATH(0x0F), 0xFF);

  000c8	68 ff 00 00 00	 push	 255			; 000000ffH
  000cd	6a 1f		 push	 31			; 0000001fH
  000cf	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  000d2	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 314  :     WriteByte(SAA7134_BLUE_PATH(0x0F), 0xFF);

  000d7	68 ff 00 00 00	 push	 255			; 000000ffH
  000dc	6a 2f		 push	 47			; 0000002fH
  000de	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  000e1	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 315  :     WriteByte(SAA7134_RED_PATH(0x0F), 0xFF);

  000e6	68 ff 00 00 00	 push	 255			; 000000ffH
  000eb	6a 3f		 push	 63			; 0000003fH
  000ed	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  000f0	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 316  : 
; 317  :     // RAM FIFO config ???
; 318  :     WriteDword(SAA7134_FIFO_SIZE, 0x08070503);

  000f5	68 03 05 07 08	 push	 134677763		; 08070503H
  000fa	68 a0 02 00 00	 push	 672			; 000002a0H
  000ff	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00102	e8 00 00 00 00	 call	 ?WriteDword@CPCICard@@QAEXKK@Z ; CPCICard::WriteDword

; 319  :     WriteDword(SAA7134_THRESHOULD, 0x02020202);

  00107	68 02 02 02 02	 push	 33686018		; 02020202H
  0010c	68 a4 02 00 00	 push	 676			; 000002a4H
  00111	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00114	e8 00 00 00 00	 call	 ?WriteDword@CPCICard@@QAEXKK@Z ; CPCICard::WriteDword

; 320  : 
; 321  :     // Enable audio and video processing
; 322  :     WriteDword(SAA7134_MAIN_CTRL,
; 323  :             SAA7134_MAIN_CTRL_VPLLE |
; 324  :             SAA7134_MAIN_CTRL_APLLE |
; 325  :             SAA7134_MAIN_CTRL_EXOSC |
; 326  :             SAA7134_MAIN_CTRL_EVFE1 |
; 327  :             SAA7134_MAIN_CTRL_EVFE2 |
; 328  :             SAA7134_MAIN_CTRL_ESFE  |
; 329  :             SAA7134_MAIN_CTRL_EBADC |
; 330  :             SAA7134_MAIN_CTRL_EBDAC);

  00119	68 00 ff 00 00	 push	 65280			; 0000ff00H
  0011e	68 a8 02 00 00	 push	 680			; 000002a8H
  00123	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00126	e8 00 00 00 00	 call	 ?WriteDword@CPCICard@@QAEXKK@Z ; CPCICard::WriteDword

; 331  : 
; 332  :     WriteByte(SAA7134_SPECIAL_MODE, 0x01);

  0012b	6a 01		 push	 1
  0012d	68 d0 01 00 00	 push	 464			; 000001d0H
  00132	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00135	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 333  : 
; 334  :     InitAudio();

  0013a	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0013d	e8 00 00 00 00	 call	 ?InitAudio@CSAA7134Card@@QAEXXZ ; CSAA7134Card::InitAudio

; 335  : 
; 336  :     SetTypicalSettings();

  00142	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00145	e8 00 00 00 00	 call	 ?SetTypicalSettings@CSAA7134Card@@IAEXXZ ; CSAA7134Card::SetTypicalSettings

; 337  :     SetupTasks();

  0014a	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0014d	e8 00 00 00 00	 call	 ?SetupTasks@CSAA7134Card@@IAEXXZ ; CSAA7134Card::SetupTasks

; 338  : }

  00152	8b e5		 mov	 esp, ebp
  00154	5d		 pop	 ebp
  00155	c3		 ret	 0
?ResetHardware@CSAA7134Card@@QAEXXZ ENDP		; CSAA7134Card::ResetHardware
END
