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

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

INCLUDELIB OLDNAMES

PUBLIC	??0CBitVector@@QAE@ABV0@@Z			; CBitVector::CBitVector
PUBLIC	??4CBitVector@@QAEAAV0@ABV0@@Z			; CBitVector::operator=
PUBLIC	?size@?$vector@VCCardTypeEx@CSAA7134Card@@V?$allocator@VCCardTypeEx@CSAA7134Card@@@std@@@std@@QBEIXZ ; std::vector<CSAA7134Card::CCardTypeEx,std::allocator<CSAA7134Card::CCardTypeEx> >::size
PUBLIC	??A?$vector@VCCardTypeEx@CSAA7134Card@@V?$allocator@VCCardTypeEx@CSAA7134Card@@@std@@@std@@QAEAAVCCardTypeEx@CSAA7134Card@@I@Z ; std::vector<CSAA7134Card::CCardTypeEx,std::allocator<CSAA7134Card::CCardTypeEx> >::operator[]
PUBLIC	??_C@_1HO@JOCLMCLE@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AA3?$AA?3?$AA?5?$AAU?$AAn?$AAe?$AAx?$AAp?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?3?$AA?5?$AAD?$AAS?$AAP?$AA?5?$AAa@ ; `string'
PUBLIC	??_C@_1BC@IAFFNOPI@?$AAr?$AAe?$AAa?$AAd?$AA?5?$AAR?$AAD?$AAR?$AA?$AA@ ; `string'
PUBLIC	??_C@_1BE@IFOEFFNH@?$AAw?$AAr?$AAi?$AAt?$AAe?$AA?5?$AAW?$AAR?$AAR?$AA?$AA@ ; `string'
PUBLIC	??_C@_1GO@NNLDEFEB@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AA3?$AA?3?$AA?5?$AAU?$AAn?$AAe?$AAx?$AAp?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?3?$AA?5?$AAD?$AAS?$AAP?$AA?5?$AA?$CF@ ; `string'
PUBLIC	??_C@_1IE@IBFLKGKD@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AA3?$AA?3?$AA?5?$AAU?$AAn?$AAe?$AAx?$AAp?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?3?$AA?5?$AAI?$AAD?$AAA?$AA?5?$AAw@ ; `string'
PUBLIC	??_C@_1FC@MDIODBPF@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AAx?$AA?3?$AA?5?$AAN?$AAT?$AAS?$AAC?$AA?5?$AAs?$AAi?$AAg?$AAn?$AAa?$AAl?$AA?5?$AAd?$AAe?$AAt?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAf?$AAo@ ; `string'
PUBLIC	??_C@_1FA@GBAEFPIE@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AAx?$AA?3?$AA?5?$AAP?$AAA?$AAL?$AA?5?$AAs?$AAi?$AAg?$AAn?$AAa?$AAl?$AA?5?$AAd?$AAe?$AAt?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAf?$AAo?$AAr@ ; `string'
PUBLIC	??_C@_1FE@MFMAKCIL@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AAx?$AA?3?$AA?5?$AAS?$AAE?$AAC?$AAA?$AAM?$AA?5?$AAs?$AAi?$AAg?$AAn?$AAa?$AAl?$AA?5?$AAd?$AAe?$AAt?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAf@ ; `string'
PUBLIC	??_C@_1EO@BKFBBIBF@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AAx?$AA?3?$AA?5?$AAB?$AAW?$AA?5?$AAs?$AAi?$AAg?$AAn?$AAa?$AAl?$AA?5?$AAd?$AAe?$AAt?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAf?$AAo?$AAr?$AA?5@ ; `string'
PUBLIC	??_C@_17GGNLFNHA@?$AAF?$AAM?$AA?5?$AA?$AA@	; `string'
PUBLIC	??_C@_1O@IKOCGBHE@?$AAN?$AAI?$AAC?$AAA?$AAM?$AA?5?$AA?$AA@ ; `string'
PUBLIC	??_C@_1BC@CLHJFBEG@?$AAF?$AAM?$AA_?$AAD?$AAU?$AAA?$AAL?$AA?5?$AA?$AA@ ; `string'
PUBLIC	??_C@_1BG@PLMHGMHI@?$AAF?$AAM?$AA_?$AAS?$AAT?$AAE?$AAR?$AAE?$AAO?$AA?5?$AA?$AA@ ; `string'
PUBLIC	??_C@_1BI@LEBFEGMP@?$AAN?$AAI?$AAC?$AAA?$AAM?$AA_?$AAD?$AAU?$AAA?$AAL?$AA?5?$AA?$AA@ ; `string'
PUBLIC	??_C@_1BM@NLAHIKEC@?$AAN?$AAI?$AAC?$AAA?$AAM?$AA_?$AAS?$AAT?$AAE?$AAR?$AAE?$AAO?$AA?5?$AA?$AA@ ; `string'
PUBLIC	??_C@_19HNNMPHI@?$AAS?$AAA?$AAP?$AA?5?$AA?$AA@	; `string'
PUBLIC	??_C@_1BC@GFBCABEP@?$AAB?$AAT?$AAS?$AAC?$AA?1?$AAF?$AAM?$AA?5?$AA?$AA@ ; `string'
PUBLIC	??_C@_1BC@BNKPCFA@?$AAA?$AA2?$AA?1?$AAE?$AAI?$AAA?$AAJ?$AA?5?$AA?$AA@ ; `string'
PUBLIC	??_C@_1CA@OAINGAKD@?$AAA?$AA2?$AA?1?$AAE?$AAI?$AAA?$AAJ?$AA_?$AAS?$AAT?$AAE?$AAR?$AAE?$AAO?$AA?5?$AA?$AA@ ; `string'
PUBLIC	??_C@_1BM@NNICGNFO@?$AAA?$AA2?$AA?1?$AAE?$AAI?$AAA?$AAJ?$AA_?$AAD?$AAU?$AAA?$AAL?$AA?5?$AA?$AA@ ; `string'
PUBLIC	??_C@_1M@NFONFPEJ@?$AAD?$AAU?$AAA?$AAL?$AA?5?$AA?$AA@ ; `string'
PUBLIC	??_C@_1BA@OGBCMBCB@?$AAS?$AAT?$AAE?$AAR?$AAE?$AAO?$AA?5?$AA?$AA@ ; `string'
;	COMDAT ??_C@_1BA@OGBCMBCB@?$AAS?$AAT?$AAE?$AAR?$AAE?$AAO?$AA?5?$AA?$AA@
CONST	SEGMENT
??_C@_1BA@OGBCMBCB@?$AAS?$AAT?$AAE?$AAR?$AAE?$AAO?$AA?5?$AA?$AA@ DB 'S', 00H
	DB	'T', 00H, 'E', 00H, 'R', 00H, 'E', 00H, 'O', 00H, ' ', 00H, 00H
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_1M@NFONFPEJ@?$AAD?$AAU?$AAA?$AAL?$AA?5?$AA?$AA@
CONST	SEGMENT
??_C@_1M@NFONFPEJ@?$AAD?$AAU?$AAA?$AAL?$AA?5?$AA?$AA@ DB 'D', 00H, 'U', 00H
	DB	'A', 00H, 'L', 00H, ' ', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_1BM@NNICGNFO@?$AAA?$AA2?$AA?1?$AAE?$AAI?$AAA?$AAJ?$AA_?$AAD?$AAU?$AAA?$AAL?$AA?5?$AA?$AA@
CONST	SEGMENT
??_C@_1BM@NNICGNFO@?$AAA?$AA2?$AA?1?$AAE?$AAI?$AAA?$AAJ?$AA_?$AAD?$AAU?$AAA?$AAL?$AA?5?$AA?$AA@ DB 'A'
	DB	00H, '2', 00H, '/', 00H, 'E', 00H, 'I', 00H, 'A', 00H, 'J', 00H
	DB	'_', 00H, 'D', 00H, 'U', 00H, 'A', 00H, 'L', 00H, ' ', 00H, 00H
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_1CA@OAINGAKD@?$AAA?$AA2?$AA?1?$AAE?$AAI?$AAA?$AAJ?$AA_?$AAS?$AAT?$AAE?$AAR?$AAE?$AAO?$AA?5?$AA?$AA@
CONST	SEGMENT
??_C@_1CA@OAINGAKD@?$AAA?$AA2?$AA?1?$AAE?$AAI?$AAA?$AAJ?$AA_?$AAS?$AAT?$AAE?$AAR?$AAE?$AAO?$AA?5?$AA?$AA@ DB 'A'
	DB	00H, '2', 00H, '/', 00H, 'E', 00H, 'I', 00H, 'A', 00H, 'J', 00H
	DB	'_', 00H, 'S', 00H, 'T', 00H, 'E', 00H, 'R', 00H, 'E', 00H, 'O'
	DB	00H, ' ', 00H, 00H, 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_1BC@BNKPCFA@?$AAA?$AA2?$AA?1?$AAE?$AAI?$AAA?$AAJ?$AA?5?$AA?$AA@
CONST	SEGMENT
??_C@_1BC@BNKPCFA@?$AAA?$AA2?$AA?1?$AAE?$AAI?$AAA?$AAJ?$AA?5?$AA?$AA@ DB 'A'
	DB	00H, '2', 00H, '/', 00H, 'E', 00H, 'I', 00H, 'A', 00H, 'J', 00H
	DB	' ', 00H, 00H, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_1BC@GFBCABEP@?$AAB?$AAT?$AAS?$AAC?$AA?1?$AAF?$AAM?$AA?5?$AA?$AA@
CONST	SEGMENT
??_C@_1BC@GFBCABEP@?$AAB?$AAT?$AAS?$AAC?$AA?1?$AAF?$AAM?$AA?5?$AA?$AA@ DB 'B'
	DB	00H, 'T', 00H, 'S', 00H, 'C', 00H, '/', 00H, 'F', 00H, 'M', 00H
	DB	' ', 00H, 00H, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_19HNNMPHI@?$AAS?$AAA?$AAP?$AA?5?$AA?$AA@
CONST	SEGMENT
??_C@_19HNNMPHI@?$AAS?$AAA?$AAP?$AA?5?$AA?$AA@ DB 'S', 00H, 'A', 00H, 'P', 00H
	DB	' ', 00H, 00H, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_1BM@NLAHIKEC@?$AAN?$AAI?$AAC?$AAA?$AAM?$AA_?$AAS?$AAT?$AAE?$AAR?$AAE?$AAO?$AA?5?$AA?$AA@
CONST	SEGMENT
??_C@_1BM@NLAHIKEC@?$AAN?$AAI?$AAC?$AAA?$AAM?$AA_?$AAS?$AAT?$AAE?$AAR?$AAE?$AAO?$AA?5?$AA?$AA@ DB 'N'
	DB	00H, 'I', 00H, 'C', 00H, 'A', 00H, 'M', 00H, '_', 00H, 'S', 00H
	DB	'T', 00H, 'E', 00H, 'R', 00H, 'E', 00H, 'O', 00H, ' ', 00H, 00H
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_1BI@LEBFEGMP@?$AAN?$AAI?$AAC?$AAA?$AAM?$AA_?$AAD?$AAU?$AAA?$AAL?$AA?5?$AA?$AA@
CONST	SEGMENT
??_C@_1BI@LEBFEGMP@?$AAN?$AAI?$AAC?$AAA?$AAM?$AA_?$AAD?$AAU?$AAA?$AAL?$AA?5?$AA?$AA@ DB 'N'
	DB	00H, 'I', 00H, 'C', 00H, 'A', 00H, 'M', 00H, '_', 00H, 'D', 00H
	DB	'U', 00H, 'A', 00H, 'L', 00H, ' ', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1BG@PLMHGMHI@?$AAF?$AAM?$AA_?$AAS?$AAT?$AAE?$AAR?$AAE?$AAO?$AA?5?$AA?$AA@
CONST	SEGMENT
??_C@_1BG@PLMHGMHI@?$AAF?$AAM?$AA_?$AAS?$AAT?$AAE?$AAR?$AAE?$AAO?$AA?5?$AA?$AA@ DB 'F'
	DB	00H, 'M', 00H, '_', 00H, 'S', 00H, 'T', 00H, 'E', 00H, 'R', 00H
	DB	'E', 00H, 'O', 00H, ' ', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_1BC@CLHJFBEG@?$AAF?$AAM?$AA_?$AAD?$AAU?$AAA?$AAL?$AA?5?$AA?$AA@
CONST	SEGMENT
??_C@_1BC@CLHJFBEG@?$AAF?$AAM?$AA_?$AAD?$AAU?$AAA?$AAL?$AA?5?$AA?$AA@ DB 'F'
	DB	00H, 'M', 00H, '_', 00H, 'D', 00H, 'U', 00H, 'A', 00H, 'L', 00H
	DB	' ', 00H, 00H, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_1O@IKOCGBHE@?$AAN?$AAI?$AAC?$AAA?$AAM?$AA?5?$AA?$AA@
CONST	SEGMENT
??_C@_1O@IKOCGBHE@?$AAN?$AAI?$AAC?$AAA?$AAM?$AA?5?$AA?$AA@ DB 'N', 00H, 'I'
	DB	00H, 'C', 00H, 'A', 00H, 'M', 00H, ' ', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_17GGNLFNHA@?$AAF?$AAM?$AA?5?$AA?$AA@
CONST	SEGMENT
??_C@_17GGNLFNHA@?$AAF?$AAM?$AA?5?$AA?$AA@ DB 'F', 00H, 'M', 00H, ' ', 00H
	DB	00H, 00H					; `string'
CONST	ENDS
;	COMDAT ?s_acnipf@?1??UpdateAudioClocksPerField7133@CSAA7134Card@@QAEXW4eVideoStandard@CSAA7134Common@@@Z@4QAY03$$CBKA
CONST	SEGMENT
?s_acnipf@?1??UpdateAudioClocksPerField7133@CSAA7134Card@@QAEXW4eVideoStandard@CSAA7134Common@@@Z@4QAY03$$CBKA DD 00H ; `CSAA7134Card::UpdateAudioClocksPerField7133'::`2'::s_acnipf
	DD	00H
	DD	016800H
	DD	012c4dH
	DD	0200000H
	DD	0187de7H
	DD	01e000H
	DD	019066H
	DD	0211333H
	DD	0195088H
	DD	01f020H
	DD	019dd9H
	DD	0240000H
	DD	01b8da4H
	DD	021c00H
	DD	01c273H
	DD	02c1995H
	DD	021c0b2H
	DD	029580H
	DD	0227cdH
	DD	0300000H
	DD	024bcdaH
	DD	02d000H
	DD	02589aH
CONST	ENDS
;	COMDAT ??_C@_1EO@BKFBBIBF@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AAx?$AA?3?$AA?5?$AAB?$AAW?$AA?5?$AAs?$AAi?$AAg?$AAn?$AAa?$AAl?$AA?5?$AAd?$AAe?$AAt?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAf?$AAo?$AAr?$AA?5@
CONST	SEGMENT
??_C@_1EO@BKFBBIBF@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AAx?$AA?3?$AA?5?$AAB?$AAW?$AA?5?$AAs?$AAi?$AAg?$AAn?$AAa?$AAl?$AA?5?$AAd?$AAe?$AAt?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAf?$AAo?$AAr?$AA?5@ DB 'S'
	DB	00H, 'A', 00H, 'A', 00H, '7', 00H, '1', 00H, '3', 00H, 'x', 00H
	DB	':', 00H, ' ', 00H, 'B', 00H, 'W', 00H, ' ', 00H, 's', 00H, 'i'
	DB	00H, 'g', 00H, 'n', 00H, 'a', 00H, 'l', 00H, ' ', 00H, 'd', 00H
	DB	'e', 00H, 't', 00H, 'e', 00H, 'c', 00H, 't', 00H, 'e', 00H, 'd'
	DB	00H, ' ', 00H, 'f', 00H, 'o', 00H, 'r', 00H, ' ', 00H, 's', 00H
	DB	'o', 00H, 'u', 00H, 'n', 00H, 'd', 00H, '.', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1FE@MFMAKCIL@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AAx?$AA?3?$AA?5?$AAS?$AAE?$AAC?$AAA?$AAM?$AA?5?$AAs?$AAi?$AAg?$AAn?$AAa?$AAl?$AA?5?$AAd?$AAe?$AAt?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAf@
CONST	SEGMENT
??_C@_1FE@MFMAKCIL@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AAx?$AA?3?$AA?5?$AAS?$AAE?$AAC?$AAA?$AAM?$AA?5?$AAs?$AAi?$AAg?$AAn?$AAa?$AAl?$AA?5?$AAd?$AAe?$AAt?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAf@ DB 'S'
	DB	00H, 'A', 00H, 'A', 00H, '7', 00H, '1', 00H, '3', 00H, 'x', 00H
	DB	':', 00H, ' ', 00H, 'S', 00H, 'E', 00H, 'C', 00H, 'A', 00H, 'M'
	DB	00H, ' ', 00H, 's', 00H, 'i', 00H, 'g', 00H, 'n', 00H, 'a', 00H
	DB	'l', 00H, ' ', 00H, 'd', 00H, 'e', 00H, 't', 00H, 'e', 00H, 'c'
	DB	00H, 't', 00H, 'e', 00H, 'd', 00H, ' ', 00H, 'f', 00H, 'o', 00H
	DB	'r', 00H, ' ', 00H, 's', 00H, 'o', 00H, 'u', 00H, 'n', 00H, 'd'
	DB	00H, '.', 00H, 00H, 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_1FA@GBAEFPIE@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AAx?$AA?3?$AA?5?$AAP?$AAA?$AAL?$AA?5?$AAs?$AAi?$AAg?$AAn?$AAa?$AAl?$AA?5?$AAd?$AAe?$AAt?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAf?$AAo?$AAr@
CONST	SEGMENT
??_C@_1FA@GBAEFPIE@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AAx?$AA?3?$AA?5?$AAP?$AAA?$AAL?$AA?5?$AAs?$AAi?$AAg?$AAn?$AAa?$AAl?$AA?5?$AAd?$AAe?$AAt?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAf?$AAo?$AAr@ DB 'S'
	DB	00H, 'A', 00H, 'A', 00H, '7', 00H, '1', 00H, '3', 00H, 'x', 00H
	DB	':', 00H, ' ', 00H, 'P', 00H, 'A', 00H, 'L', 00H, ' ', 00H, 's'
	DB	00H, 'i', 00H, 'g', 00H, 'n', 00H, 'a', 00H, 'l', 00H, ' ', 00H
	DB	'd', 00H, 'e', 00H, 't', 00H, 'e', 00H, 'c', 00H, 't', 00H, 'e'
	DB	00H, 'd', 00H, ' ', 00H, 'f', 00H, 'o', 00H, 'r', 00H, ' ', 00H
	DB	's', 00H, 'o', 00H, 'u', 00H, 'n', 00H, 'd', 00H, '.', 00H, 00H
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_1FC@MDIODBPF@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AAx?$AA?3?$AA?5?$AAN?$AAT?$AAS?$AAC?$AA?5?$AAs?$AAi?$AAg?$AAn?$AAa?$AAl?$AA?5?$AAd?$AAe?$AAt?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAf?$AAo@
CONST	SEGMENT
??_C@_1FC@MDIODBPF@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AAx?$AA?3?$AA?5?$AAN?$AAT?$AAS?$AAC?$AA?5?$AAs?$AAi?$AAg?$AAn?$AAa?$AAl?$AA?5?$AAd?$AAe?$AAt?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAf?$AAo@ DB 'S'
	DB	00H, 'A', 00H, 'A', 00H, '7', 00H, '1', 00H, '3', 00H, 'x', 00H
	DB	':', 00H, ' ', 00H, 'N', 00H, 'T', 00H, 'S', 00H, 'C', 00H, ' '
	DB	00H, 's', 00H, 'i', 00H, 'g', 00H, 'n', 00H, 'a', 00H, 'l', 00H
	DB	' ', 00H, 'd', 00H, 'e', 00H, 't', 00H, 'e', 00H, 'c', 00H, 't'
	DB	00H, 'e', 00H, 'd', 00H, ' ', 00H, 'f', 00H, 'o', 00H, 'r', 00H
	DB	' ', 00H, 's', 00H, 'o', 00H, 'u', 00H, 'n', 00H, 'd', 00H, '.'
	DB	00H, 00H, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_1IE@IBFLKGKD@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AA3?$AA?3?$AA?5?$AAU?$AAn?$AAe?$AAx?$AAp?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?3?$AA?5?$AAI?$AAD?$AAA?$AA?5?$AAw@
CONST	SEGMENT
??_C@_1IE@IBFLKGKD@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AA3?$AA?3?$AA?5?$AAU?$AAn?$AAe?$AAx?$AAp?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?3?$AA?5?$AAI?$AAD?$AAA?$AA?5?$AAw@ DB 'S'
	DB	00H, 'A', 00H, 'A', 00H, '7', 00H, '1', 00H, '3', 00H, '3', 00H
	DB	':', 00H, ' ', 00H, 'U', 00H, 'n', 00H, 'e', 00H, 'x', 00H, 'p'
	DB	00H, 'e', 00H, 'c', 00H, 't', 00H, 'e', 00H, 'd', 00H, ' ', 00H
	DB	'E', 00H, 'r', 00H, 'r', 00H, 'o', 00H, 'r', 00H, ':', 00H, ' '
	DB	00H, 'I', 00H, 'D', 00H, 'A', 00H, ' ', 00H, 'w', 00H, 'a', 00H
	DB	's', 00H, ' ', 00H, 'n', 00H, 'o', 00H, 't', 00H, ' ', 00H, 's'
	DB	00H, 'e', 00H, 't', 00H, ' ', 00H, 'a', 00H, 'f', 00H, 't', 00H
	DB	'e', 00H, 'r', 00H, ' ', 00H, 's', 00H, 'e', 00H, 'c', 00H, 'o'
	DB	00H, 'n', 00H, 'd', 00H, ' ', 00H, 'D', 00H, 'S', 00H, 'P', 00H
	DB	' ', 00H, 'r', 00H, 'e', 00H, 'a', 00H, 'd', 00H, '.', 00H, 00H
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_1GO@NNLDEFEB@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AA3?$AA?3?$AA?5?$AAU?$AAn?$AAe?$AAx?$AAp?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?3?$AA?5?$AAD?$AAS?$AAP?$AA?5?$AA?$CF@
CONST	SEGMENT
??_C@_1GO@NNLDEFEB@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AA3?$AA?3?$AA?5?$AAU?$AAn?$AAe?$AAx?$AAp?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?3?$AA?5?$AAD?$AAS?$AAP?$AA?5?$AA?$CF@ DB 'S'
	DB	00H, 'A', 00H, 'A', 00H, '7', 00H, '1', 00H, '3', 00H, '3', 00H
	DB	':', 00H, ' ', 00H, 'U', 00H, 'n', 00H, 'e', 00H, 'x', 00H, 'p'
	DB	00H, 'e', 00H, 'c', 00H, 't', 00H, 'e', 00H, 'd', 00H, ' ', 00H
	DB	'E', 00H, 'r', 00H, 'r', 00H, 'o', 00H, 'r', 00H, ':', 00H, ' '
	DB	00H, 'D', 00H, 'S', 00H, 'P', 00H, ' ', 00H, '%', 00H, 's', 00H
	DB	' ', 00H, 'f', 00H, 'l', 00H, 'a', 00H, 'g', 00H, ' ', 00H, 'w'
	DB	00H, 'a', 00H, 'i', 00H, 't', 00H, ' ', 00H, 't', 00H, 'i', 00H
	DB	'm', 00H, 'e', 00H, 'd', 00H, ' ', 00H, 'o', 00H, 'u', 00H, 't'
	DB	00H, '.', 00H, 00H, 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_1BE@IFOEFFNH@?$AAw?$AAr?$AAi?$AAt?$AAe?$AA?5?$AAW?$AAR?$AAR?$AA?$AA@
CONST	SEGMENT
??_C@_1BE@IFOEFFNH@?$AAw?$AAr?$AAi?$AAt?$AAe?$AA?5?$AAW?$AAR?$AAR?$AA?$AA@ DB 'w'
	DB	00H, 'r', 00H, 'i', 00H, 't', 00H, 'e', 00H, ' ', 00H, 'W', 00H
	DB	'R', 00H, 'R', 00H, 00H, 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_1BC@IAFFNOPI@?$AAr?$AAe?$AAa?$AAd?$AA?5?$AAR?$AAD?$AAR?$AA?$AA@
CONST	SEGMENT
??_C@_1BC@IAFFNOPI@?$AAr?$AAe?$AAa?$AAd?$AA?5?$AAR?$AAD?$AAR?$AA?$AA@ DB 'r'
	DB	00H, 'e', 00H, 'a', 00H, 'd', 00H, ' ', 00H, 'R', 00H, 'D', 00H
	DB	'R', 00H, 00H, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_1HO@JOCLMCLE@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AA3?$AA?3?$AA?5?$AAU?$AAn?$AAe?$AAx?$AAp?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?3?$AA?5?$AAD?$AAS?$AAP?$AA?5?$AAa@
CONST	SEGMENT
??_C@_1HO@JOCLMCLE@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AA3?$AA?3?$AA?5?$AAU?$AAn?$AAe?$AAx?$AAp?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?3?$AA?5?$AAD?$AAS?$AAP?$AA?5?$AAa@ DB 'S'
	DB	00H, 'A', 00H, 'A', 00H, '7', 00H, '1', 00H, '3', 00H, '3', 00H
	DB	':', 00H, ' ', 00H, 'U', 00H, 'n', 00H, 'e', 00H, 'x', 00H, 'p'
	DB	00H, 'e', 00H, 'c', 00H, 't', 00H, 'e', 00H, 'd', 00H, ' ', 00H
	DB	'E', 00H, 'r', 00H, 'r', 00H, 'o', 00H, 'r', 00H, ':', 00H, ' '
	DB	00H, 'D', 00H, 'S', 00H, 'P', 00H, ' ', 00H, 'a', 00H, 'c', 00H
	DB	'c', 00H, 'e', 00H, 's', 00H, 's', 00H, ' ', 00H, 'W', 00H, 'R'
	DB	00H, 'R', 00H, ' ', 00H, 'f', 00H, 'l', 00H, 'a', 00H, 'g', 00H
	DB	' ', 00H, 'w', 00H, 'a', 00H, 'i', 00H, 't', 00H, ' ', 00H, 't'
	DB	00H, 'i', 00H, 'm', 00H, 'e', 00H, 'd', 00H, ' ', 00H, 'o', 00H
	DB	'u', 00H, 't', 00H, '.', 00H, 00H, 00H	; `string'
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\vector
;	COMDAT ?size@?$vector@VCCardTypeEx@CSAA7134Card@@V?$allocator@VCCardTypeEx@CSAA7134Card@@@std@@@std@@QBEIXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?size@?$vector@VCCardTypeEx@CSAA7134Card@@V?$allocator@VCCardTypeEx@CSAA7134Card@@@std@@@std@@QBEIXZ PROC ; std::vector<CSAA7134Card::CCardTypeEx,std::allocator<CSAA7134Card::CCardTypeEx> >::size, COMDAT
; _this$ = ecx

; 725  : 		{	// return length of sequence

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

; 726  : 		return (_Mylast - _Myfirst);

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000d	8b 40 10	 mov	 eax, DWORD PTR [eax+16]
  00010	2b 41 0c	 sub	 eax, DWORD PTR [ecx+12]
  00013	99		 cdq
  00014	b9 48 05 00 00	 mov	 ecx, 1352		; 00000548H
  00019	f7 f9		 idiv	 ecx

; 727  : 		}

  0001b	8b e5		 mov	 esp, ebp
  0001d	5d		 pop	 ebp
  0001e	c3		 ret	 0
?size@?$vector@VCCardTypeEx@CSAA7134Card@@V?$allocator@VCCardTypeEx@CSAA7134Card@@@std@@@std@@QBEIXZ ENDP ; std::vector<CSAA7134Card::CCardTypeEx,std::allocator<CSAA7134Card::CCardTypeEx> >::size
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??A?$vector@VCCardTypeEx@CSAA7134Card@@V?$allocator@VCCardTypeEx@CSAA7134Card@@@std@@@std@@QAEAAVCCardTypeEx@CSAA7134Card@@I@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
__Pos$ = 8						; size = 4
??A?$vector@VCCardTypeEx@CSAA7134Card@@V?$allocator@VCCardTypeEx@CSAA7134Card@@@std@@@std@@QAEAAVCCardTypeEx@CSAA7134Card@@I@Z PROC ; std::vector<CSAA7134Card::CCardTypeEx,std::allocator<CSAA7134Card::CCardTypeEx> >::operator[], COMDAT
; _this$ = ecx

; 774  : 		{	// subscript mutable sequence

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

; 775  : 
; 776  :  #if _HAS_ITERATOR_DEBUGGING
; 777  : 		if (size() <= _Pos)
; 778  : 			{
; 779  : 			_DEBUG_ERROR("vector subscript out of range");
; 780  : 			_SCL_SECURE_OUT_OF_RANGE;
; 781  : 			}
; 782  :  #endif /* _HAS_ITERATOR_DEBUGGING */
; 783  : 		_SCL_SECURE_VALIDATE_RANGE(_Pos < size());

  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	e8 00 00 00 00	 call	 ?size@?$vector@VCCardTypeEx@CSAA7134Card@@V?$allocator@VCCardTypeEx@CSAA7134Card@@@std@@@std@@QBEIXZ ; std::vector<CSAA7134Card::CCardTypeEx,std::allocator<CSAA7134Card::CCardTypeEx> >::size
  0000f	39 45 08	 cmp	 DWORD PTR __Pos$[ebp], eax
  00012	72 05		 jb	 SHORT $LN2@operator@5
  00014	e8 00 00 00 00	 call	 __invalid_parameter_noinfo
$LN2@operator@5:
  00019	33 c0		 xor	 eax, eax
  0001b	75 fc		 jne	 SHORT $LN2@operator@5

; 784  : 
; 785  : 		return (*(_Myfirst + _Pos));

  0001d	8b 45 08	 mov	 eax, DWORD PTR __Pos$[ebp]
  00020	69 c0 48 05 00
	00		 imul	 eax, 1352		; 00000548H
  00026	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00029	03 41 0c	 add	 eax, DWORD PTR [ecx+12]

; 786  : 		}

  0002c	8b e5		 mov	 esp, ebp
  0002e	5d		 pop	 ebp
  0002f	c2 04 00	 ret	 4
??A?$vector@VCCardTypeEx@CSAA7134Card@@V?$allocator@VCCardTypeEx@CSAA7134Card@@@std@@@std@@QAEAAVCCardTypeEx@CSAA7134Card@@I@Z ENDP ; std::vector<CSAA7134Card::CCardTypeEx,std::allocator<CSAA7134Card::CCardTypeEx> >::operator[]
_TEXT	ENDS
PUBLIC	?GetAudioStandardName@CSAA7134Card@@QAEPB_WW4eAudioStandard@CSAA7134Common@@@Z ; CSAA7134Card::GetAudioStandardName
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\saa7134card_audio.cpp
;	COMDAT ?GetAudioStandardName@CSAA7134Card@@QAEPB_WW4eAudioStandard@CSAA7134Common@@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_audioStandard$ = 8					; size = 4
?GetAudioStandardName@CSAA7134Card@@QAEPB_WW4eAudioStandard@CSAA7134Common@@@Z PROC ; CSAA7134Card::GetAudioStandardName, COMDAT
; _this$ = ecx

; 1977 : {

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

; 1978 :     return m_AudioStandards[audioStandard].Name;

  00007	8b 45 08	 mov	 eax, DWORD PTR _audioStandard$[ebp]
  0000a	6b c0 1c	 imul	 eax, 28			; 0000001cH
  0000d	8b 80 00 00 00
	00		 mov	 eax, DWORD PTR ?m_AudioStandards@CSAA7134Common@@1PAUTAudioStandardDefinition@1@A[eax]

; 1979 : }

  00013	8b e5		 mov	 esp, ebp
  00015	5d		 pop	 ebp
  00016	c2 04 00	 ret	 4
?GetAudioStandardName@CSAA7134Card@@QAEPB_WW4eAudioStandard@CSAA7134Common@@@Z ENDP ; CSAA7134Card::GetAudioStandardName
_TEXT	ENDS
PUBLIC	?GetInputAudioLine@CSAA7134Card@@QAEHH@Z	; CSAA7134Card::GetInputAudioLine
; Function compile flags: /Odtp
;	COMDAT ?GetInputAudioLine@CSAA7134Card@@QAEHH@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_nInput$ = 8						; size = 4
?GetInputAudioLine@CSAA7134Card@@QAEHH@Z PROC		; CSAA7134Card::GetInputAudioLine, COMDAT
; _this$ = ecx

; 1968 : {

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

; 1969 :     if (nInput < m_SAA713xCards[m_CardType].NumInputs && nInput >= 0)

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b 48 58	 mov	 ecx, DWORD PTR [eax+88]
  0000d	51		 push	 ecx
  0000e	b9 00 00 00 00	 mov	 ecx, OFFSET ?m_SAA713xCards@CSAA7134Card@@0V?$vector@VCCardTypeEx@CSAA7134Card@@V?$allocator@VCCardTypeEx@CSAA7134Card@@@std@@@std@@A ; CSAA7134Card::m_SAA713xCards
  00013	e8 00 00 00 00	 call	 ??A?$vector@VCCardTypeEx@CSAA7134Card@@V?$allocator@VCCardTypeEx@CSAA7134Card@@@std@@@std@@QAEAAVCCardTypeEx@CSAA7134Card@@I@Z ; std::vector<CSAA7134Card::CCardTypeEx,std::allocator<CSAA7134Card::CCardTypeEx> >::operator[]
  00018	8b 55 08	 mov	 edx, DWORD PTR _nInput$[ebp]
  0001b	3b 90 04 01 00
	00		 cmp	 edx, DWORD PTR [eax+260]
  00021	7d 29		 jge	 SHORT $LN1@GetInputAu
  00023	83 7d 08 00	 cmp	 DWORD PTR _nInput$[ebp], 0
  00027	7c 23		 jl	 SHORT $LN1@GetInputAu

; 1970 :     {
; 1971 :         return m_SAA713xCards[m_CardType].Inputs[nInput].AudioLineSelect;

  00029	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0002c	8b 48 58	 mov	 ecx, DWORD PTR [eax+88]
  0002f	51		 push	 ecx
  00030	b9 00 00 00 00	 mov	 ecx, OFFSET ?m_SAA713xCards@CSAA7134Card@@0V?$vector@VCCardTypeEx@CSAA7134Card@@V?$allocator@VCCardTypeEx@CSAA7134Card@@@std@@@std@@A ; CSAA7134Card::m_SAA713xCards
  00035	e8 00 00 00 00	 call	 ??A?$vector@VCCardTypeEx@CSAA7134Card@@V?$allocator@VCCardTypeEx@CSAA7134Card@@@std@@@std@@QAEAAVCCardTypeEx@CSAA7134Card@@I@Z ; std::vector<CSAA7134Card::CCardTypeEx,std::allocator<CSAA7134Card::CCardTypeEx> >::operator[]
  0003a	8b 55 08	 mov	 edx, DWORD PTR _nInput$[ebp]
  0003d	69 d2 94 00 00
	00		 imul	 edx, 148		; 00000094H
  00043	8b 84 10 90 01
	00 00		 mov	 eax, DWORD PTR [eax+edx+400]
  0004a	eb 02		 jmp	 SHORT $LN2@GetInputAu
$LN1@GetInputAu:

; 1972 :     }
; 1973 :     return 0;

  0004c	33 c0		 xor	 eax, eax
$LN2@GetInputAu:

; 1974 : }

  0004e	8b e5		 mov	 esp, ebp
  00050	5d		 pop	 ebp
  00051	c2 04 00	 ret	 4
?GetInputAudioLine@CSAA7134Card@@QAEHH@Z ENDP		; CSAA7134Card::GetInputAudioLine
_TEXT	ENDS
PUBLIC	?SetAudioTreble@CSAA7134Card@@QAEXG@Z		; CSAA7134Card::SetAudioTreble
; Function compile flags: /Odtp
;	COMDAT ?SetAudioTreble@CSAA7134Card@@QAEXG@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_nTreble$ = 8						; size = 2
?SetAudioTreble@CSAA7134Card@@QAEXG@Z PROC		; CSAA7134Card::SetAudioTreble, COMDAT
; _this$ = ecx

; 1963 : {

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

; 1964 :     // Unsupported
; 1965 : }

  00007	8b e5		 mov	 esp, ebp
  00009	5d		 pop	 ebp
  0000a	c2 04 00	 ret	 4
?SetAudioTreble@CSAA7134Card@@QAEXG@Z ENDP		; CSAA7134Card::SetAudioTreble
_TEXT	ENDS
PUBLIC	?SetAudioBass@CSAA7134Card@@QAEXG@Z		; CSAA7134Card::SetAudioBass
; Function compile flags: /Odtp
;	COMDAT ?SetAudioBass@CSAA7134Card@@QAEXG@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_nBass$ = 8						; size = 2
?SetAudioBass@CSAA7134Card@@QAEXG@Z PROC		; CSAA7134Card::SetAudioBass, COMDAT
; _this$ = ecx

; 1958 : {

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

; 1959 :     // Unsupported
; 1960 : }

  00007	8b e5		 mov	 esp, ebp
  00009	5d		 pop	 ebp
  0000a	c2 04 00	 ret	 4
?SetAudioBass@CSAA7134Card@@QAEXG@Z ENDP		; CSAA7134Card::SetAudioBass
_TEXT	ENDS
PUBLIC	?SetAudioBalance@CSAA7134Card@@QAEXG@Z		; CSAA7134Card::SetAudioBalance
; Function compile flags: /Odtp
;	COMDAT ?SetAudioBalance@CSAA7134Card@@QAEXG@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_nBalance$ = 8						; size = 2
?SetAudioBalance@CSAA7134Card@@QAEXG@Z PROC		; CSAA7134Card::SetAudioBalance, COMDAT
; _this$ = ecx

; 1953 : {

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

; 1954 :     // Unsupported
; 1955 : }

  00007	8b e5		 mov	 esp, ebp
  00009	5d		 pop	 ebp
  0000a	c2 04 00	 ret	 4
?SetAudioBalance@CSAA7134Card@@QAEXG@Z ENDP		; CSAA7134Card::SetAudioBalance
_TEXT	ENDS
PUBLIC	?SetFilterBandwidth@CSAA7134Card@@QAEXW4eAudioFilterBandwidth@CSAA7134Common@@@Z ; CSAA7134Card::SetFilterBandwidth
; Function compile flags: /Odtp
;	COMDAT ?SetFilterBandwidth@CSAA7134Card@@QAEXW4eAudioFilterBandwidth@CSAA7134Common@@@Z
_TEXT	SEGMENT
tv85 = -8						; size = 4
_this$ = -4						; size = 4
_FilterBandwidth$ = 8					; size = 4
?SetFilterBandwidth@CSAA7134Card@@QAEXW4eAudioFilterBandwidth@CSAA7134Common@@@Z PROC ; CSAA7134Card::SetFilterBandwidth, COMDAT
; _this$ = ecx

; 1102 : {

  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

; 1103 :     // Sound carrier filter bandwidth
; 1104 : 
; 1105 :     if (m_DeviceId == 0x7130)

  00009	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	0f b7 48 08	 movzx	 ecx, WORD PTR [eax+8]
  00010	81 f9 30 71 00
	00		 cmp	 ecx, 28976		; 00007130H
  00016	75 02		 jne	 SHORT $LN10@SetFilterB

; 1106 :     {
; 1107 :         // saa7130 doesn't support this
; 1108 :         return;

  00018	eb 25		 jmp	 SHORT $LN11@SetFilterB
$LN10@SetFilterB:

; 1109 :     }
; 1110 :     if (m_DeviceId == 0x7133 || m_DeviceId == 0x7135)

  0001a	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  0001d	0f b7 42 08	 movzx	 eax, WORD PTR [edx+8]
  00021	3d 33 71 00 00	 cmp	 eax, 28979		; 00007133H
  00026	74 0f		 je	 SHORT $LN8@SetFilterB
  00028	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0002b	0f b7 51 08	 movzx	 edx, WORD PTR [ecx+8]
  0002f	81 fa 35 71 00
	00		 cmp	 edx, 28981		; 00007135H
  00035	75 02		 jne	 SHORT $LN9@SetFilterB
$LN8@SetFilterB:

; 1111 :     {
; 1112 :         // Only in DDEP mode in expert mode
; 1113 :         // saa7133 supports similar but this function isn't used anyhow.
; 1114 :         return;

  00037	eb 06		 jmp	 SHORT $LN11@SetFilterB
$LN9@SetFilterB:

; 1115 :     }
; 1116 : 
; 1117 :     switch (FilterBandwidth)

  00039	8b 45 08	 mov	 eax, DWORD PTR _FilterBandwidth$[ebp]
  0003c	89 45 f8	 mov	 DWORD PTR tv85[ebp], eax
$LN11@SetFilterB:

; 1118 :     {
; 1119 :     case AUDIOFILTERBANDWIDTH_NARROW_NARROW:
; 1120 :         break;
; 1121 : 
; 1122 :     case AUDIOFILTERBANDWIDTH_XWIDE_NARROW:
; 1123 :         break;
; 1124 : 
; 1125 :     case AUDIOFILTERBANDWIDTH_MEDIUM_MEDIUM:
; 1126 :         break;
; 1127 : 
; 1128 :     case AUDIOFILTERBANDWIDTH_WIDE_WIDE:
; 1129 :         break;
; 1130 : 
; 1131 :     default:
; 1132 :         break;
; 1133 :     }
; 1134 : }

  0003f	8b e5		 mov	 esp, ebp
  00041	5d		 pop	 ebp
  00042	c2 04 00	 ret	 4
?SetFilterBandwidth@CSAA7134Card@@QAEXW4eAudioFilterBandwidth@CSAA7134Common@@@Z ENDP ; CSAA7134Card::SetFilterBandwidth
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0CBitVector@@QAE@ABV0@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___that$ = 8						; size = 4
??0CBitVector@@QAE@ABV0@@Z PROC				; CBitVector::CBitVector, 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 ??_7CBitVector@@6B@
  00010	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00013	8b 55 08	 mov	 edx, DWORD PTR ___that$[ebp]
  00016	8b 42 04	 mov	 eax, DWORD PTR [edx+4]
  00019	89 41 04	 mov	 DWORD PTR [ecx+4], eax
  0001c	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0001f	8b 55 08	 mov	 edx, DWORD PTR ___that$[ebp]
  00022	8b 42 08	 mov	 eax, DWORD PTR [edx+8]
  00025	89 41 08	 mov	 DWORD PTR [ecx+8], eax
  00028	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0002b	8b e5		 mov	 esp, ebp
  0002d	5d		 pop	 ebp
  0002e	c2 04 00	 ret	 4
??0CBitVector@@QAE@ABV0@@Z ENDP				; CBitVector::CBitVector
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??4CBitVector@@QAEAAV0@ABV0@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___that$ = 8						; size = 4
??4CBitVector@@QAEAAV0@ABV0@@Z PROC			; CBitVector::operator=, 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	8b 4d 08	 mov	 ecx, DWORD PTR ___that$[ebp]
  0000d	8b 51 04	 mov	 edx, DWORD PTR [ecx+4]
  00010	89 50 04	 mov	 DWORD PTR [eax+4], edx
  00013	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00016	8b 4d 08	 mov	 ecx, DWORD PTR ___that$[ebp]
  00019	8b 51 08	 mov	 edx, DWORD PTR [ecx+8]
  0001c	89 50 08	 mov	 DWORD PTR [eax+8], edx
  0001f	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00022	8b e5		 mov	 esp, ebp
  00024	5d		 pop	 ebp
  00025	c2 04 00	 ret	 4
??4CBitVector@@QAEAAV0@ABV0@@Z ENDP			; CBitVector::operator=
PUBLIC	?SetAudioVolume@CSAA7134Card@@QAEXE@Z		; CSAA7134Card::SetAudioVolume
; Function compile flags: /Odtp
;	COMDAT ?SetAudioVolume@CSAA7134Card@@QAEXE@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_nGain$ = 8						; size = 1
?SetAudioVolume@CSAA7134Card@@QAEXE@Z PROC		; CSAA7134Card::SetAudioVolume, COMDAT
; _this$ = ecx

; 1931 : {

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

; 1932 :     if (m_DeviceId == 0x7130)

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	0f b7 48 08	 movzx	 ecx, WORD PTR [eax+8]
  0000e	81 f9 30 71 00
	00		 cmp	 ecx, 28976		; 00007130H
  00014	75 02		 jne	 SHORT $LN3@SetAudioVo

; 1933 :     {
; 1934 :         // saa7130 doesn't support this
; 1935 :         return;

  00016	eb 5e		 jmp	 SHORT $LN4@SetAudioVo
$LN3@SetAudioVo:

; 1936 :     }
; 1937 :     if (m_DeviceId == 0x7133 || m_DeviceId == 0x7135)

  00018	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  0001b	0f b7 42 08	 movzx	 eax, WORD PTR [edx+8]
  0001f	3d 33 71 00 00	 cmp	 eax, 28979		; 00007133H
  00024	74 0f		 je	 SHORT $LN1@SetAudioVo
  00026	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00029	0f b7 51 08	 movzx	 edx, WORD PTR [ecx+8]
  0002d	81 fa 35 71 00
	00		 cmp	 edx, 28981		; 00007135H
  00033	75 02		 jne	 SHORT $LN2@SetAudioVo
$LN1@SetAudioVo:

; 1938 :     {
; 1939 :         // SAA7133 has similar but this function isn't used anyhow.
; 1940 :         return;

  00035	eb 3f		 jmp	 SHORT $LN4@SetAudioVo
$LN2@SetAudioVo:

; 1941 :     }
; 1942 : 
; 1943 :     // nGain = -15..0..15, 0 = normal
; 1944 : 
; 1945 :     // Dual FM Level adjust
; 1946 :     WriteByte(SAA7134_CHANNEL1_LEVEL, nGain & 0x1F);

  00037	0f b6 45 08	 movzx	 eax, BYTE PTR _nGain$[ebp]
  0003b	83 e0 1f	 and	 eax, 31			; 0000001fH
  0003e	50		 push	 eax
  0003f	68 63 01 00 00	 push	 355			; 00000163H
  00044	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00047	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 1947 :     WriteByte(SAA7134_CHANNEL2_LEVEL, nGain & 0x1F);

  0004c	0f b6 4d 08	 movzx	 ecx, BYTE PTR _nGain$[ebp]
  00050	83 e1 1f	 and	 ecx, 31			; 0000001fH
  00053	51		 push	 ecx
  00054	68 64 01 00 00	 push	 356			; 00000164H
  00059	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0005c	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 1948 :     // NICAM Level adjust
; 1949 :     WriteByte(SAA7134_NICAM_LEVEL_ADJUST, nGain & 0x1F);

  00061	0f b6 55 08	 movzx	 edx, BYTE PTR _nGain$[ebp]
  00065	83 e2 1f	 and	 edx, 31			; 0000001fH
  00068	52		 push	 edx
  00069	68 66 01 00 00	 push	 358			; 00000166H
  0006e	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00071	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte
$LN4@SetAudioVo:

; 1950 : }

  00076	8b e5		 mov	 esp, ebp
  00078	5d		 pop	 ebp
  00079	c2 04 00	 ret	 4
?SetAudioVolume@CSAA7134Card@@QAEXE@Z ENDP		; CSAA7134Card::SetAudioVolume
PUBLIC	?SetAudioLine2Voltage@CSAA7134Card@@QAEXW4eAudioLineVoltage@CSAA7134Common@@@Z ; CSAA7134Card::SetAudioLine2Voltage
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?SetAudioLine2Voltage@CSAA7134Card@@QAEXW4eAudioLineVoltage@CSAA7134Common@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?SetAudioLine2Voltage@CSAA7134Card@@QAEXW4eAudioLineVoltage@CSAA7134Common@@@Z$0
__ehfuncinfo$?SetAudioLine2Voltage@CSAA7134Card@@QAEXW4eAudioLineVoltage@CSAA7134Common@@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?SetAudioLine2Voltage@CSAA7134Card@@QAEXW4eAudioLineVoltage@CSAA7134Common@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?SetAudioLine2Voltage@CSAA7134Card@@QAEXW4eAudioLineVoltage@CSAA7134Common@@@Z
_TEXT	SEGMENT
tv167 = -32						; size = 4
tv168 = -28						; size = 4
tv78 = -24						; size = 4
_this$ = -20						; size = 4
$T352317 = -16						; size = 4
__$EHRec$ = -12						; size = 12
_lineVoltage$ = 8					; size = 4
?SetAudioLine2Voltage@CSAA7134Card@@QAEXW4eAudioLineVoltage@CSAA7134Common@@@Z PROC ; CSAA7134Card::SetAudioLine2Voltage, COMDAT
; _this$ = ecx

; 1855 : {

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

; 1856 :     if (m_DeviceId == 0x7130 || m_DeviceId == 0x7134)

  00028	8b 45 ec	 mov	 eax, DWORD PTR _this$[ebp]
  0002b	0f b7 48 08	 movzx	 ecx, WORD PTR [eax+8]
  0002f	81 f9 30 71 00
	00		 cmp	 ecx, 28976		; 00007130H
  00035	74 0e		 je	 SHORT $LN8@SetAudioLi
  00037	8b 55 ec	 mov	 edx, DWORD PTR _this$[ebp]
  0003a	0f b7 42 08	 movzx	 eax, WORD PTR [edx+8]
  0003e	3d 34 71 00 00	 cmp	 eax, 28980		; 00007134H
  00043	75 39		 jne	 SHORT $LN9@SetAudioLi
$LN8@SetAudioLi:

; 1857 :     {
; 1858 :         switch (lineVoltage)

  00045	8b 4d 08	 mov	 ecx, DWORD PTR _lineVoltage$[ebp]
  00048	89 4d e8	 mov	 DWORD PTR tv78[ebp], ecx
  0004b	83 7d e8 00	 cmp	 DWORD PTR tv78[ebp], 0
  0004f	74 08		 je	 SHORT $LN5@SetAudioLi
  00051	83 7d e8 01	 cmp	 DWORD PTR tv78[ebp], 1
  00055	74 16		 je	 SHORT $LN4@SetAudioLi
  00057	eb 23		 jmp	 SHORT $LN6@SetAudioLi
$LN5@SetAudioLi:

; 1859 :         {
; 1860 :         case AUDIOLINEVOLTAGE_1VRMS:
; 1861 :             AndDataByte(SAA7134_ANALOG_IO_SELECT, ~SAA7134_ANALOG_IO_SELECT_VSEL2);

  00059	68 df 00 00 00	 push	 223			; 000000dfH
  0005e	68 6e 01 00 00	 push	 366			; 0000016eH
  00063	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00066	e8 00 00 00 00	 call	 ?AndDataByte@CPCICard@@QAEXKE@Z ; CPCICard::AndDataByte

; 1862 :             break;

  0006b	eb 0f		 jmp	 SHORT $LN6@SetAudioLi
$LN4@SetAudioLi:

; 1863 : 
; 1864 :         case AUDIOLINEVOLTAGE_2VRMS:
; 1865 :             OrDataByte(SAA7134_ANALOG_IO_SELECT, SAA7134_ANALOG_IO_SELECT_VSEL2);

  0006d	6a 20		 push	 32			; 00000020H
  0006f	68 6e 01 00 00	 push	 366			; 0000016eH
  00074	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00077	e8 00 00 00 00	 call	 ?OrDataByte@CPCICard@@QAEXKE@Z ; CPCICard::OrDataByte
$LN6@SetAudioLi:

; 1866 :             break;
; 1867 :         }
; 1868 :     }
; 1869 :     else if (m_DeviceId == 0x7133 || m_DeviceId == 0x7135)

  0007c	eb 5e		 jmp	 SHORT $LN10@SetAudioLi
$LN9@SetAudioLi:
  0007e	8b 55 ec	 mov	 edx, DWORD PTR _this$[ebp]
  00081	0f b7 42 08	 movzx	 eax, WORD PTR [edx+8]
  00085	3d 33 71 00 00	 cmp	 eax, 28979		; 00007133H
  0008a	74 0f		 je	 SHORT $LN1@SetAudioLi
  0008c	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  0008f	0f b7 51 08	 movzx	 edx, WORD PTR [ecx+8]
  00093	81 fa 35 71 00
	00		 cmp	 edx, 28981		; 00007135H
  00099	75 41		 jne	 SHORT $LN10@SetAudioLi
$LN1@SetAudioLi:

; 1870 :     {
; 1871 :         WriteData(SAA7133_ANALOG_IO_SELECT, _B(SAA7133_ANALOG_IO_SELECT_VSEL2,
; 1872 :             (lineVoltage == AUDIOLINEVOLTAGE_1VRMS) ? 0 : 1));

  0009b	33 c0		 xor	 eax, eax
  0009d	83 7d 08 00	 cmp	 DWORD PTR _lineVoltage$[ebp], 0
  000a1	0f 95 c0	 setne	 al
  000a4	83 ec 0c	 sub	 esp, 12			; 0000000cH
  000a7	8b cc		 mov	 ecx, esp
  000a9	89 65 f0	 mov	 DWORD PTR $T352317[ebp], esp
  000ac	50		 push	 eax
  000ad	6a 01		 push	 1
  000af	6a 05		 push	 5
  000b1	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  000b6	89 45 e4	 mov	 DWORD PTR tv168[ebp], eax
  000b9	8b 4d e4	 mov	 ecx, DWORD PTR tv168[ebp]
  000bc	89 4d e0	 mov	 DWORD PTR tv167[ebp], ecx
  000bf	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  000c6	6a 3f		 push	 63			; 0000003fH
  000c8	68 94 05 00 00	 push	 1428			; 00000594H
  000cd	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  000d4	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  000d7	e8 00 00 00 00	 call	 ?WriteData@CPCICard@@QAEXKKVCBitVector@@@Z ; CPCICard::WriteData
$LN10@SetAudioLi:

; 1873 :     }
; 1874 : }

  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$?SetAudioLine2Voltage@CSAA7134Card@@QAEXW4eAudioLineVoltage@CSAA7134Common@@@Z$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR $T352317[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__ehhandler$?SetAudioLine2Voltage@CSAA7134Card@@QAEXW4eAudioLineVoltage@CSAA7134Common@@@Z:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a 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$?SetAudioLine2Voltage@CSAA7134Card@@QAEXW4eAudioLineVoltage@CSAA7134Common@@@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?SetAudioLine2Voltage@CSAA7134Card@@QAEXW4eAudioLineVoltage@CSAA7134Common@@@Z ENDP ; CSAA7134Card::SetAudioLine2Voltage
PUBLIC	?SetAudioLine1Voltage@CSAA7134Card@@QAEXW4eAudioLineVoltage@CSAA7134Common@@@Z ; CSAA7134Card::SetAudioLine1Voltage
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?SetAudioLine1Voltage@CSAA7134Card@@QAEXW4eAudioLineVoltage@CSAA7134Common@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?SetAudioLine1Voltage@CSAA7134Card@@QAEXW4eAudioLineVoltage@CSAA7134Common@@@Z$0
__ehfuncinfo$?SetAudioLine1Voltage@CSAA7134Card@@QAEXW4eAudioLineVoltage@CSAA7134Common@@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?SetAudioLine1Voltage@CSAA7134Card@@QAEXW4eAudioLineVoltage@CSAA7134Common@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?SetAudioLine1Voltage@CSAA7134Card@@QAEXW4eAudioLineVoltage@CSAA7134Common@@@Z
_TEXT	SEGMENT
tv167 = -32						; size = 4
tv168 = -28						; size = 4
tv78 = -24						; size = 4
_this$ = -20						; size = 4
$T352327 = -16						; size = 4
__$EHRec$ = -12						; size = 12
_lineVoltage$ = 8					; size = 4
?SetAudioLine1Voltage@CSAA7134Card@@QAEXW4eAudioLineVoltage@CSAA7134Common@@@Z PROC ; CSAA7134Card::SetAudioLine1Voltage, COMDAT
; _this$ = ecx

; 1832 : {

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

; 1833 :     if (m_DeviceId == 0x7130 || m_DeviceId == 0x7134)

  00028	8b 45 ec	 mov	 eax, DWORD PTR _this$[ebp]
  0002b	0f b7 48 08	 movzx	 ecx, WORD PTR [eax+8]
  0002f	81 f9 30 71 00
	00		 cmp	 ecx, 28976		; 00007130H
  00035	74 0e		 je	 SHORT $LN8@SetAudioLi@2
  00037	8b 55 ec	 mov	 edx, DWORD PTR _this$[ebp]
  0003a	0f b7 42 08	 movzx	 eax, WORD PTR [edx+8]
  0003e	3d 34 71 00 00	 cmp	 eax, 28980		; 00007134H
  00043	75 39		 jne	 SHORT $LN9@SetAudioLi@2
$LN8@SetAudioLi@2:

; 1834 :     {
; 1835 :         switch (lineVoltage)

  00045	8b 4d 08	 mov	 ecx, DWORD PTR _lineVoltage$[ebp]
  00048	89 4d e8	 mov	 DWORD PTR tv78[ebp], ecx
  0004b	83 7d e8 00	 cmp	 DWORD PTR tv78[ebp], 0
  0004f	74 08		 je	 SHORT $LN5@SetAudioLi@2
  00051	83 7d e8 01	 cmp	 DWORD PTR tv78[ebp], 1
  00055	74 16		 je	 SHORT $LN4@SetAudioLi@2
  00057	eb 23		 jmp	 SHORT $LN6@SetAudioLi@2
$LN5@SetAudioLi@2:

; 1836 :         {
; 1837 :         case AUDIOLINEVOLTAGE_1VRMS:
; 1838 :             AndDataByte(SAA7134_ANALOG_IO_SELECT, ~SAA7134_ANALOG_IO_SELECT_VSEL1);

  00059	68 ef 00 00 00	 push	 239			; 000000efH
  0005e	68 6e 01 00 00	 push	 366			; 0000016eH
  00063	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00066	e8 00 00 00 00	 call	 ?AndDataByte@CPCICard@@QAEXKE@Z ; CPCICard::AndDataByte

; 1839 :             break;

  0006b	eb 0f		 jmp	 SHORT $LN6@SetAudioLi@2
$LN4@SetAudioLi@2:

; 1840 : 
; 1841 :         case AUDIOLINEVOLTAGE_2VRMS:
; 1842 :             OrDataByte(SAA7134_ANALOG_IO_SELECT, SAA7134_ANALOG_IO_SELECT_VSEL1);

  0006d	6a 10		 push	 16			; 00000010H
  0006f	68 6e 01 00 00	 push	 366			; 0000016eH
  00074	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00077	e8 00 00 00 00	 call	 ?OrDataByte@CPCICard@@QAEXKE@Z ; CPCICard::OrDataByte
$LN6@SetAudioLi@2:

; 1843 :             break;
; 1844 :         }
; 1845 :     }
; 1846 :     else if (m_DeviceId == 0x7133 || m_DeviceId == 0x7135)

  0007c	eb 5e		 jmp	 SHORT $LN10@SetAudioLi@2
$LN9@SetAudioLi@2:
  0007e	8b 55 ec	 mov	 edx, DWORD PTR _this$[ebp]
  00081	0f b7 42 08	 movzx	 eax, WORD PTR [edx+8]
  00085	3d 33 71 00 00	 cmp	 eax, 28979		; 00007133H
  0008a	74 0f		 je	 SHORT $LN1@SetAudioLi@2
  0008c	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  0008f	0f b7 51 08	 movzx	 edx, WORD PTR [ecx+8]
  00093	81 fa 35 71 00
	00		 cmp	 edx, 28981		; 00007135H
  00099	75 41		 jne	 SHORT $LN10@SetAudioLi@2
$LN1@SetAudioLi@2:

; 1847 :     {
; 1848 :         WriteData(SAA7133_ANALOG_IO_SELECT, _B(SAA7133_ANALOG_IO_SELECT_VSEL1,
; 1849 :             (lineVoltage == AUDIOLINEVOLTAGE_1VRMS) ? 0 : 1));

  0009b	33 c0		 xor	 eax, eax
  0009d	83 7d 08 00	 cmp	 DWORD PTR _lineVoltage$[ebp], 0
  000a1	0f 95 c0	 setne	 al
  000a4	83 ec 0c	 sub	 esp, 12			; 0000000cH
  000a7	8b cc		 mov	 ecx, esp
  000a9	89 65 f0	 mov	 DWORD PTR $T352327[ebp], esp
  000ac	50		 push	 eax
  000ad	6a 01		 push	 1
  000af	6a 04		 push	 4
  000b1	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  000b6	89 45 e4	 mov	 DWORD PTR tv168[ebp], eax
  000b9	8b 4d e4	 mov	 ecx, DWORD PTR tv168[ebp]
  000bc	89 4d e0	 mov	 DWORD PTR tv167[ebp], ecx
  000bf	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  000c6	6a 3f		 push	 63			; 0000003fH
  000c8	68 94 05 00 00	 push	 1428			; 00000594H
  000cd	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  000d4	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  000d7	e8 00 00 00 00	 call	 ?WriteData@CPCICard@@QAEXKKVCBitVector@@@Z ; CPCICard::WriteData
$LN10@SetAudioLi@2:

; 1850 :     }
; 1851 : }

  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$?SetAudioLine1Voltage@CSAA7134Card@@QAEXW4eAudioLineVoltage@CSAA7134Common@@@Z$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR $T352327[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__ehhandler$?SetAudioLine1Voltage@CSAA7134Card@@QAEXW4eAudioLineVoltage@CSAA7134Common@@@Z:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a 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$?SetAudioLine1Voltage@CSAA7134Card@@QAEXW4eAudioLineVoltage@CSAA7134Common@@@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?SetAudioLine1Voltage@CSAA7134Card@@QAEXW4eAudioLineVoltage@CSAA7134Common@@@Z ENDP ; CSAA7134Card::SetAudioLine1Voltage
PUBLIC	?SetAutomaticVolume7133@CSAA7134Card@@QAEXW4eAutomaticVolume@CSAA7134Common@@@Z ; CSAA7134Card::SetAutomaticVolume7133
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?SetAutomaticVolume7133@CSAA7134Card@@QAEXW4eAutomaticVolume@CSAA7134Common@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?SetAutomaticVolume7133@CSAA7134Card@@QAEXW4eAutomaticVolume@CSAA7134Common@@@Z$0
__ehfuncinfo$?SetAutomaticVolume7133@CSAA7134Card@@QAEXW4eAutomaticVolume@CSAA7134Common@@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?SetAutomaticVolume7133@CSAA7134Card@@QAEXW4eAutomaticVolume@CSAA7134Common@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?SetAutomaticVolume7133@CSAA7134Card@@QAEXW4eAutomaticVolume@CSAA7134Common@@@Z
_TEXT	SEGMENT
tv93 = -36						; size = 4
tv94 = -32						; size = 4
tv64 = -28						; size = 4
_this$ = -24						; size = 4
$T352337 = -20						; size = 4
_avlmod$ = -13						; size = 1
__$EHRec$ = -12						; size = 12
_avl$ = 8						; size = 4
?SetAutomaticVolume7133@CSAA7134Card@@QAEXW4eAutomaticVolume@CSAA7134Common@@@Z PROC ; CSAA7134Card::SetAutomaticVolume7133, COMDAT
; _this$ = ecx

; 1803 : {

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

; 1804 :     BYTE avlmod;
; 1805 : 
; 1806 :     // SAA7133 offers _T("very short decay"), _T("very long decay") and other
; 1807 :     // sound processing features but the existing SAA7134 framework
; 1808 :     // only expects these.
; 1809 : 
; 1810 :     switch (avl)

  00028	8b 45 08	 mov	 eax, DWORD PTR _avl$[ebp]
  0002b	89 45 e4	 mov	 DWORD PTR tv64[ebp], eax
  0002e	83 7d e4 01	 cmp	 DWORD PTR tv64[ebp], 1
  00032	74 0e		 je	 SHORT $LN4@SetAutomat@2
  00034	83 7d e4 02	 cmp	 DWORD PTR tv64[ebp], 2
  00038	74 0e		 je	 SHORT $LN3@SetAutomat@2
  0003a	83 7d e4 03	 cmp	 DWORD PTR tv64[ebp], 3
  0003e	74 0e		 je	 SHORT $LN2@SetAutomat@2
  00040	eb 12		 jmp	 SHORT $LN1@SetAutomat@2
$LN4@SetAutomat@2:

; 1811 :     {
; 1812 :     case AUTOMATICVOLUME_SHORTDECAY:
; 1813 :         avlmod = 2;

  00042	c6 45 f3 02	 mov	 BYTE PTR _avlmod$[ebp], 2

; 1814 :         break;

  00046	eb 10		 jmp	 SHORT $LN5@SetAutomat@2
$LN3@SetAutomat@2:

; 1815 :     case AUTOMATICVOLUME_MEDIUMDECAY:
; 1816 :         avlmod = 3;

  00048	c6 45 f3 03	 mov	 BYTE PTR _avlmod$[ebp], 3

; 1817 :         break;

  0004c	eb 0a		 jmp	 SHORT $LN5@SetAutomat@2
$LN2@SetAutomat@2:

; 1818 :     case AUTOMATICVOLUME_LONGDECAY:
; 1819 :         avlmod = 4;

  0004e	c6 45 f3 04	 mov	 BYTE PTR _avlmod$[ebp], 4

; 1820 :         break;

  00052	eb 04		 jmp	 SHORT $LN5@SetAutomat@2
$LN1@SetAutomat@2:

; 1821 :     case AUTOMATICVOLUME_OFF:
; 1822 :     default:
; 1823 :         avlmod = 0;

  00054	c6 45 f3 00	 mov	 BYTE PTR _avlmod$[ebp], 0
$LN5@SetAutomat@2:

; 1824 :         break;
; 1825 :     }
; 1826 : 
; 1827 :     WriteData(SAA7133_A_SND_FEATURE_CTRL, _B(SAA7133_A_SND_FEATURE_CTRL_AVLMOD, avlmod));

  00058	0f b6 4d f3	 movzx	 ecx, BYTE PTR _avlmod$[ebp]
  0005c	83 ec 0c	 sub	 esp, 12			; 0000000cH
  0005f	8b d4		 mov	 edx, esp
  00061	89 65 ec	 mov	 DWORD PTR $T352337[ebp], esp
  00064	51		 push	 ecx
  00065	6a 07		 push	 7
  00067	6a 07		 push	 7
  00069	8b ca		 mov	 ecx, edx
  0006b	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  00070	89 45 e0	 mov	 DWORD PTR tv94[ebp], eax
  00073	8b 45 e0	 mov	 eax, DWORD PTR tv94[ebp]
  00076	89 45 dc	 mov	 DWORD PTR tv93[ebp], eax
  00079	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00080	68 ff 7f 00 00	 push	 32767			; 00007fffH
  00085	68 78 04 00 00	 push	 1144			; 00000478H
  0008a	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00091	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00094	e8 00 00 00 00	 call	 ?WriteData@CPCICard@@QAEXKKVCBitVector@@@Z ; CPCICard::WriteData

; 1828 : }

  00099	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0009c	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000a3	59		 pop	 ecx
  000a4	8b e5		 mov	 esp, ebp
  000a6	5d		 pop	 ebp
  000a7	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?SetAutomaticVolume7133@CSAA7134Card@@QAEXW4eAutomaticVolume@CSAA7134Common@@@Z$0:
  00000	8b 4d ec	 mov	 ecx, DWORD PTR $T352337[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__ehhandler$?SetAutomaticVolume7133@CSAA7134Card@@QAEXW4eAutomaticVolume@CSAA7134Common@@@Z:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a e4	 mov	 ecx, DWORD PTR [edx-28]
  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$?SetAutomaticVolume7133@CSAA7134Card@@QAEXW4eAutomaticVolume@CSAA7134Common@@@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?SetAutomaticVolume7133@CSAA7134Card@@QAEXW4eAutomaticVolume@CSAA7134Common@@@Z ENDP ; CSAA7134Card::SetAutomaticVolume7133
PUBLIC	?SetAutomaticVolume@CSAA7134Card@@QAEXW4eAutomaticVolume@CSAA7134Common@@@Z ; CSAA7134Card::SetAutomaticVolume
; Function compile flags: /Odtp
;	COMDAT ?SetAutomaticVolume@CSAA7134Card@@QAEXW4eAutomaticVolume@CSAA7134Common@@@Z
_TEXT	SEGMENT
tv87 = -12						; size = 4
_this$ = -8						; size = 4
_DACOutputSelect$ = -1					; size = 1
_AVL$ = 8						; size = 4
?SetAutomaticVolume@CSAA7134Card@@QAEXW4eAutomaticVolume@CSAA7134Common@@@Z PROC ; CSAA7134Card::SetAutomaticVolume, COMDAT
; _this$ = ecx

; 1765 : {

  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

; 1766 :     if (m_DeviceId == 0x7130)

  00009	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	0f b7 48 08	 movzx	 ecx, WORD PTR [eax+8]
  00010	81 f9 30 71 00
	00		 cmp	 ecx, 28976		; 00007130H
  00016	75 02		 jne	 SHORT $LN9@SetAutomat@3

; 1767 :     {
; 1768 :         // saa7130 doesn't support this
; 1769 :         return;

  00018	eb 6d		 jmp	 SHORT $LN10@SetAutomat@3
$LN9@SetAutomat@3:

; 1770 :     }
; 1771 :     if (m_DeviceId == 0x7133 || m_DeviceId == 0x7135)

  0001a	8b 55 f8	 mov	 edx, DWORD PTR _this$[ebp]
  0001d	0f b7 42 08	 movzx	 eax, WORD PTR [edx+8]
  00021	3d 33 71 00 00	 cmp	 eax, 28979		; 00007133H
  00026	74 0f		 je	 SHORT $LN7@SetAutomat@3
  00028	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0002b	0f b7 51 08	 movzx	 edx, WORD PTR [ecx+8]
  0002f	81 fa 35 71 00
	00		 cmp	 edx, 28981		; 00007135H
  00035	75 0e		 jne	 SHORT $LN8@SetAutomat@3
$LN7@SetAutomat@3:

; 1772 :     {
; 1773 :         SetAutomaticVolume7133(AVL);

  00037	8b 45 08	 mov	 eax, DWORD PTR _AVL$[ebp]
  0003a	50		 push	 eax
  0003b	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0003e	e8 00 00 00 00	 call	 ?SetAutomaticVolume7133@CSAA7134Card@@QAEXW4eAutomaticVolume@CSAA7134Common@@@Z ; CSAA7134Card::SetAutomaticVolume7133

; 1774 :         return;

  00043	eb 42		 jmp	 SHORT $LN10@SetAutomat@3
$LN8@SetAutomat@3:

; 1775 :     }
; 1776 : 
; 1777 :     BYTE DACOutputSelect = 0x00;

  00045	c6 45 ff 00	 mov	 BYTE PTR _DACOutputSelect$[ebp], 0

; 1778 : 
; 1779 :     switch (AVL)

  00049	8b 4d 08	 mov	 ecx, DWORD PTR _AVL$[ebp]
  0004c	89 4d f4	 mov	 DWORD PTR tv87[ebp], ecx
  0004f	83 7d f4 01	 cmp	 DWORD PTR tv87[ebp], 1
  00053	74 0e		 je	 SHORT $LN4@SetAutomat@3
  00055	83 7d f4 02	 cmp	 DWORD PTR tv87[ebp], 2
  00059	74 0e		 je	 SHORT $LN3@SetAutomat@3
  0005b	83 7d f4 03	 cmp	 DWORD PTR tv87[ebp], 3
  0005f	74 0e		 je	 SHORT $LN2@SetAutomat@3
  00061	eb 10		 jmp	 SHORT $LN5@SetAutomat@3
$LN4@SetAutomat@3:

; 1780 :     {
; 1781 :     case AUTOMATICVOLUME_SHORTDECAY:
; 1782 :         DACOutputSelect = 0x10;

  00063	c6 45 ff 10	 mov	 BYTE PTR _DACOutputSelect$[ebp], 16 ; 00000010H

; 1783 :         break;

  00067	eb 0a		 jmp	 SHORT $LN5@SetAutomat@3
$LN3@SetAutomat@3:

; 1784 : 
; 1785 :     case AUTOMATICVOLUME_MEDIUMDECAY:
; 1786 :         DACOutputSelect = 0x20;

  00069	c6 45 ff 20	 mov	 BYTE PTR _DACOutputSelect$[ebp], 32 ; 00000020H

; 1787 :         break;

  0006d	eb 04		 jmp	 SHORT $LN5@SetAutomat@3
$LN2@SetAutomat@3:

; 1788 : 
; 1789 :     case AUTOMATICVOLUME_LONGDECAY:
; 1790 :         DACOutputSelect = 0x30;

  0006f	c6 45 ff 30	 mov	 BYTE PTR _DACOutputSelect$[ebp], 48 ; 00000030H
$LN5@SetAutomat@3:

; 1791 :         break;
; 1792 : 
; 1793 :     default:
; 1794 :         break;
; 1795 :     }
; 1796 : 
; 1797 :     MaskDataByte(SAA7134_STEREO_DAC_OUTPUT_SELECT, DACOutputSelect,
; 1798 :         SAA7134_STEREO_DAC_OUTPUT_SELECT_AVL);

  00073	6a 30		 push	 48			; 00000030H
  00075	0f b6 55 ff	 movzx	 edx, BYTE PTR _DACOutputSelect$[ebp]
  00079	52		 push	 edx
  0007a	68 67 01 00 00	 push	 359			; 00000167H
  0007f	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00082	e8 00 00 00 00	 call	 ?MaskDataByte@CPCICard@@QAEXKEE@Z ; CPCICard::MaskDataByte
$LN10@SetAutomat@3:

; 1799 : }

  00087	8b e5		 mov	 esp, ebp
  00089	5d		 pop	 ebp
  0008a	c2 04 00	 ret	 4
?SetAutomaticVolume@CSAA7134Card@@QAEXW4eAutomaticVolume@CSAA7134Common@@@Z ENDP ; CSAA7134Card::SetAutomaticVolume
_TEXT	ENDS
PUBLIC	?SetCh2FMDeemphasis@CSAA7134Card@@QAEXW4eAudioFMDeemphasis@CSAA7134Common@@@Z ; CSAA7134Card::SetCh2FMDeemphasis
; Function compile flags: /Odtp
;	COMDAT ?SetCh2FMDeemphasis@CSAA7134Card@@QAEXW4eAudioFMDeemphasis@CSAA7134Common@@@Z
_TEXT	SEGMENT
tv85 = -12						; size = 4
_this$ = -8						; size = 4
_Ch2FMDeemphasis$ = -1					; size = 1
_FMDeemphasis$ = 8					; size = 4
?SetCh2FMDeemphasis@CSAA7134Card@@QAEXW4eAudioFMDeemphasis@CSAA7134Common@@@Z PROC ; CSAA7134Card::SetCh2FMDeemphasis, COMDAT
; _this$ = ecx

; 965  : {

  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

; 966  :     if (m_DeviceId == 0x7130)

  00009	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	0f b7 48 08	 movzx	 ecx, WORD PTR [eax+8]
  00010	81 f9 30 71 00
	00		 cmp	 ecx, 28976		; 00007130H
  00016	75 02		 jne	 SHORT $LN11@SetCh2FMDe

; 967  :     {
; 968  :         // saa7130 doesn't support this
; 969  :         return;

  00018	eb 72		 jmp	 SHORT $LN12@SetCh2FMDe
$LN11@SetCh2FMDe:

; 970  :     }
; 971  :     if (m_DeviceId == 0x7133 || m_DeviceId == 0x7135)

  0001a	8b 55 f8	 mov	 edx, DWORD PTR _this$[ebp]
  0001d	0f b7 42 08	 movzx	 eax, WORD PTR [edx+8]
  00021	3d 33 71 00 00	 cmp	 eax, 28979		; 00007133H
  00026	74 0f		 je	 SHORT $LN9@SetCh2FMDe
  00028	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0002b	0f b7 51 08	 movzx	 edx, WORD PTR [ecx+8]
  0002f	81 fa 35 71 00
	00		 cmp	 edx, 28981		; 00007135H
  00035	75 02		 jne	 SHORT $LN10@SetCh2FMDe
$LN9@SetCh2FMDe:

; 972  :     {
; 973  :         return;

  00037	eb 53		 jmp	 SHORT $LN12@SetCh2FMDe
$LN10@SetCh2FMDe:

; 974  :     }
; 975  : 
; 976  :     BYTE Ch2FMDeemphasis = 0x00;

  00039	c6 45 ff 00	 mov	 BYTE PTR _Ch2FMDeemphasis$[ebp], 0

; 977  : 
; 978  :     switch (FMDeemphasis)

  0003d	8b 45 08	 mov	 eax, DWORD PTR _FMDeemphasis$[ebp]
  00040	89 45 f4	 mov	 DWORD PTR tv85[ebp], eax
  00043	83 7d f4 05	 cmp	 DWORD PTR tv85[ebp], 5
  00047	77 2c		 ja	 SHORT $LN7@SetCh2FMDe
  00049	8b 4d f4	 mov	 ecx, DWORD PTR tv85[ebp]
  0004c	ff 24 8d 00 00
	00 00		 jmp	 DWORD PTR $LN14@SetCh2FMDe[ecx*4]
$LN6@SetCh2FMDe:

; 979  :     {
; 980  :     case AUDIOFMDEEMPHASIS_OFF:
; 981  :         Ch2FMDeemphasis = 0x40;

  00053	c6 45 ff 40	 mov	 BYTE PTR _Ch2FMDeemphasis$[ebp], 64 ; 00000040H

; 982  :         break;

  00057	eb 1c		 jmp	 SHORT $LN7@SetCh2FMDe
$LN5@SetCh2FMDe:

; 983  : 
; 984  :     case AUDIOFMDEEMPHASIS_50_MICROS:
; 985  :         Ch2FMDeemphasis = 0x00;

  00059	c6 45 ff 00	 mov	 BYTE PTR _Ch2FMDeemphasis$[ebp], 0

; 986  :         break;

  0005d	eb 16		 jmp	 SHORT $LN7@SetCh2FMDe
$LN4@SetCh2FMDe:

; 987  : 
; 988  :     case AUDIOFMDEEMPHASIS_60_MICROS:
; 989  :         Ch2FMDeemphasis = 0x10;

  0005f	c6 45 ff 10	 mov	 BYTE PTR _Ch2FMDeemphasis$[ebp], 16 ; 00000010H

; 990  :         break;

  00063	eb 10		 jmp	 SHORT $LN7@SetCh2FMDe
$LN3@SetCh2FMDe:

; 991  : 
; 992  :     case AUDIOFMDEEMPHASIS_75_MICROS:
; 993  :         Ch2FMDeemphasis = 0x20;

  00065	c6 45 ff 20	 mov	 BYTE PTR _Ch2FMDeemphasis$[ebp], 32 ; 00000020H

; 994  :         break;

  00069	eb 0a		 jmp	 SHORT $LN7@SetCh2FMDe
$LN2@SetCh2FMDe:

; 995  : 
; 996  :     case AUDIOFMDEEMPHASIS_J17:
; 997  :         Ch2FMDeemphasis = 0x30;

  0006b	c6 45 ff 30	 mov	 BYTE PTR _Ch2FMDeemphasis$[ebp], 48 ; 00000030H

; 998  :         break;

  0006f	eb 04		 jmp	 SHORT $LN7@SetCh2FMDe
$LN1@SetCh2FMDe:

; 999  : 
; 1000 :     case AUDIOFMDEEMPHASIS_ADAPTIVE:
; 1001 :         Ch2FMDeemphasis = 0xC0;

  00071	c6 45 ff c0	 mov	 BYTE PTR _Ch2FMDeemphasis$[ebp], 192 ; 000000c0H
$LN7@SetCh2FMDe:

; 1002 :         break;
; 1003 :     }
; 1004 : 
; 1005 :     MaskDataByte(SAA7134_FM_DEEMPHASIS, Ch2FMDeemphasis, 0xF0);

  00075	68 f0 00 00 00	 push	 240			; 000000f0H
  0007a	0f b6 55 ff	 movzx	 edx, BYTE PTR _Ch2FMDeemphasis$[ebp]
  0007e	52		 push	 edx
  0007f	68 61 01 00 00	 push	 353			; 00000161H
  00084	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00087	e8 00 00 00 00	 call	 ?MaskDataByte@CPCICard@@QAEXKEE@Z ; CPCICard::MaskDataByte
$LN12@SetCh2FMDe:

; 1006 : }

  0008c	8b e5		 mov	 esp, ebp
  0008e	5d		 pop	 ebp
  0008f	c2 04 00	 ret	 4
  00092	8b ff		 npad	 2
$LN14@SetCh2FMDe:
  00094	00 00 00 00	 DD	 $LN6@SetCh2FMDe
  00098	00 00 00 00	 DD	 $LN5@SetCh2FMDe
  0009c	00 00 00 00	 DD	 $LN4@SetCh2FMDe
  000a0	00 00 00 00	 DD	 $LN3@SetCh2FMDe
  000a4	00 00 00 00	 DD	 $LN2@SetCh2FMDe
  000a8	00 00 00 00	 DD	 $LN1@SetCh2FMDe
?SetCh2FMDeemphasis@CSAA7134Card@@QAEXW4eAudioFMDeemphasis@CSAA7134Common@@@Z ENDP ; CSAA7134Card::SetCh2FMDeemphasis
_TEXT	ENDS
PUBLIC	?UpdateAudioClocksPerField7133@CSAA7134Card@@QAEXW4eVideoStandard@CSAA7134Common@@@Z ; CSAA7134Card::UpdateAudioClocksPerField7133
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?UpdateAudioClocksPerField7133@CSAA7134Card@@QAEXW4eVideoStandard@CSAA7134Common@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?UpdateAudioClocksPerField7133@CSAA7134Card@@QAEXW4eVideoStandard@CSAA7134Common@@@Z$0
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?UpdateAudioClocksPerField7133@CSAA7134Card@@QAEXW4eVideoStandard@CSAA7134Common@@@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?UpdateAudioClocksPerField7133@CSAA7134Card@@QAEXW4eVideoStandard@CSAA7134Common@@@Z$2
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?UpdateAudioClocksPerField7133@CSAA7134Card@@QAEXW4eVideoStandard@CSAA7134Common@@@Z$3
__ehfuncinfo$?UpdateAudioClocksPerField7133@CSAA7134Card@@QAEXW4eVideoStandard@CSAA7134Common@@@Z DD 019930522H
	DD	04H
	DD	FLAT:__unwindtable$?UpdateAudioClocksPerField7133@CSAA7134Card@@QAEXW4eVideoStandard@CSAA7134Common@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?UpdateAudioClocksPerField7133@CSAA7134Card@@QAEXW4eVideoStandard@CSAA7134Common@@@Z
_TEXT	SEGMENT
tv231 = -96						; size = 4
tv235 = -92						; size = 4
tv229 = -88						; size = 4
tv234 = -84						; size = 4
tv227 = -80						; size = 4
tv233 = -76						; size = 4
tv136 = -72						; size = 4
tv76 = -68						; size = 4
tv225 = -64						; size = 4
tv232 = -60						; size = 4
_this$ = -56						; size = 4
$T352355 = -52						; size = 4
$T352354 = -48						; size = 4
$T352353 = -44						; size = 4
$T352352 = -40						; size = 12
_acpf$ = -28						; size = 4
_acs$ = -21						; size = 1
_row$ = -20						; size = 4
_acni$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
_videoStandard$ = 8					; size = 4
?UpdateAudioClocksPerField7133@CSAA7134Card@@QAEXW4eVideoStandard@CSAA7134Common@@@Z PROC ; CSAA7134Card::UpdateAudioClocksPerField7133, COMDAT
; _this$ = ecx

; 798  : {

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

; 799  :     BYTE acs = static_cast<BYTE>(ReadData(SAA7133_PLL_CONTROL).value(SAA7133_PLL_CONTROL_ACS));

  00028	68 ff 00 00 00	 push	 255			; 000000ffH
  0002d	68 9b 05 00 00	 push	 1435			; 0000059bH
  00032	8d 45 d8	 lea	 eax, DWORD PTR $T352352[ebp]
  00035	50		 push	 eax
  00036	8b 4d c8	 mov	 ecx, DWORD PTR _this$[ebp]
  00039	e8 00 00 00 00	 call	 ?ReadData@CPCICard@@QAE?AVCBitVector@@KK@Z ; CPCICard::ReadData
  0003e	89 45 c4	 mov	 DWORD PTR tv232[ebp], eax
  00041	8b 4d c4	 mov	 ecx, DWORD PTR tv232[ebp]
  00044	89 4d c0	 mov	 DWORD PTR tv225[ebp], ecx
  00047	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  0004e	8b 55 c0	 mov	 edx, DWORD PTR tv225[ebp]
  00051	89 55 bc	 mov	 DWORD PTR tv76[ebp], edx
  00054	6a 0f		 push	 15			; 0000000fH
  00056	6a 04		 push	 4
  00058	8b 45 bc	 mov	 eax, DWORD PTR tv76[ebp]
  0005b	8b 10		 mov	 edx, DWORD PTR [eax]
  0005d	8b 4d bc	 mov	 ecx, DWORD PTR tv76[ebp]
  00060	8b 42 08	 mov	 eax, DWORD PTR [edx+8]
  00063	ff d0		 call	 eax
  00065	88 45 eb	 mov	 BYTE PTR _acs$[ebp], al
  00068	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0006f	8d 4d d8	 lea	 ecx, DWORD PTR $T352352[ebp]
  00072	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector

; 800  : 
; 801  :     // Six master clocks by ACNI 24/32 MHz, ACPF 50/59.94 Hz
; 802  :     static const DWORD s_acnipf[6][4] =
; 803  :     {
; 804  :         // 24 MHz   32 MHz    50 Hz    59.94 Hz
; 805  :         { 0x000000, 0x000000, 0x16800, 0x12C4D },   // 147.456 MHz
; 806  :         { 0x200000, 0x187DE7, 0x1E000, 0x19066 },   // 196.608 MHz
; 807  :         { 0x211333, 0x195088, 0x1F020, 0x19DD9 },   // 203.213 MHz
; 808  :         { 0x240000, 0x1B8DA4, 0x21C00, 0x1C273 },   // 221.184 MHz
; 809  :         { 0x2C1995, 0x21C0B2, 0x29580, 0x227CD },   // 270.950 MHz
; 810  :         { 0x300000, 0x24BCDA, 0x2D000, 0x2589A }    // 294.912 MHz
; 811  :     };
; 812  : 
; 813  :     int row = -1;

  00077	c7 45 ec ff ff
	ff ff		 mov	 DWORD PTR _row$[ebp], -1

; 814  : 
; 815  :     // 196.608 MHz (master clock)
; 816  :     if ((acs & 0x9) == 0x0)

  0007e	0f b6 4d eb	 movzx	 ecx, BYTE PTR _acs$[ebp]
  00082	83 e1 09	 and	 ecx, 9
  00085	75 09		 jne	 SHORT $LN20@UpdateAudi

; 817  :     {
; 818  :         row = 1;

  00087	c7 45 ec 01 00
	00 00		 mov	 DWORD PTR _row$[ebp], 1
  0008e	eb 67		 jmp	 SHORT $LN19@UpdateAudi
$LN20@UpdateAudi:

; 819  :     }
; 820  :     // 147.456 MHz
; 821  :     else if ((acs & 0x9) == 0x1)

  00090	0f b6 55 eb	 movzx	 edx, BYTE PTR _acs$[ebp]
  00094	83 e2 09	 and	 edx, 9
  00097	83 fa 01	 cmp	 edx, 1
  0009a	75 09		 jne	 SHORT $LN18@UpdateAudi

; 822  :     {
; 823  :         row = 0;

  0009c	c7 45 ec 00 00
	00 00		 mov	 DWORD PTR _row$[ebp], 0
  000a3	eb 52		 jmp	 SHORT $LN19@UpdateAudi
$LN18@UpdateAudi:

; 824  :     }
; 825  :     // 270.950 MHz
; 826  :     else if ((acs & 0xD) == 0x8)

  000a5	0f b6 45 eb	 movzx	 eax, BYTE PTR _acs$[ebp]
  000a9	83 e0 0d	 and	 eax, 13			; 0000000dH
  000ac	83 f8 08	 cmp	 eax, 8
  000af	75 09		 jne	 SHORT $LN16@UpdateAudi

; 827  :     {
; 828  :         row = 4;

  000b1	c7 45 ec 04 00
	00 00		 mov	 DWORD PTR _row$[ebp], 4
  000b8	eb 3d		 jmp	 SHORT $LN19@UpdateAudi
$LN16@UpdateAudi:

; 829  :     }
; 830  :     // 203.213 MHz
; 831  :     else if ((acs & 0xD) == 0x9)

  000ba	0f b6 4d eb	 movzx	 ecx, BYTE PTR _acs$[ebp]
  000be	83 e1 0d	 and	 ecx, 13			; 0000000dH
  000c1	83 f9 09	 cmp	 ecx, 9
  000c4	75 09		 jne	 SHORT $LN14@UpdateAudi

; 832  :     {
; 833  :         row = 2;

  000c6	c7 45 ec 02 00
	00 00		 mov	 DWORD PTR _row$[ebp], 2
  000cd	eb 28		 jmp	 SHORT $LN19@UpdateAudi
$LN14@UpdateAudi:

; 834  :     }
; 835  :     // 294.912 MHz
; 836  :     else if ((acs & 0xD) == 0xC)

  000cf	0f b6 55 eb	 movzx	 edx, BYTE PTR _acs$[ebp]
  000d3	83 e2 0d	 and	 edx, 13			; 0000000dH
  000d6	83 fa 0c	 cmp	 edx, 12			; 0000000cH
  000d9	75 09		 jne	 SHORT $LN12@UpdateAudi

; 837  :     {
; 838  :         row = 5;

  000db	c7 45 ec 05 00
	00 00		 mov	 DWORD PTR _row$[ebp], 5
  000e2	eb 13		 jmp	 SHORT $LN19@UpdateAudi
$LN12@UpdateAudi:

; 839  :     }
; 840  :     // 221.184 MHz
; 841  :     else if ((acs & 0xD) == 0xD)

  000e4	0f b6 45 eb	 movzx	 eax, BYTE PTR _acs$[ebp]
  000e8	83 e0 0d	 and	 eax, 13			; 0000000dH
  000eb	83 f8 0d	 cmp	 eax, 13			; 0000000dH
  000ee	75 07		 jne	 SHORT $LN19@UpdateAudi

; 842  :     {
; 843  :         row = 3;

  000f0	c7 45 ec 03 00
	00 00		 mov	 DWORD PTR _row$[ebp], 3
$LN19@UpdateAudi:

; 844  :     }
; 845  : 
; 846  :     DWORD   acni = 0x000000;    // Audio Clock

  000f7	c7 45 f0 00 00
	00 00		 mov	 DWORD PTR _acni$[ebp], 0

; 847  :     DWORD   acpf = 0x00000;     // Audio Clocks Per Field

  000fe	c7 45 e4 00 00
	00 00		 mov	 DWORD PTR _acpf$[ebp], 0

; 848  : 
; 849  :     switch (GetCardSetup()->AudioCrystal)

  00105	8b 4d c8	 mov	 ecx, DWORD PTR _this$[ebp]
  00108	e8 00 00 00 00	 call	 ?GetCardSetup@CSAA7134Card@@AAEPBUTCardType@1@XZ ; CSAA7134Card::GetCardSetup
  0010d	8b 88 18 05 00
	00		 mov	 ecx, DWORD PTR [eax+1304]
  00113	89 4d b8	 mov	 DWORD PTR tv136[ebp], ecx
  00116	83 7d b8 01	 cmp	 DWORD PTR tv136[ebp], 1
  0011a	74 19		 je	 SHORT $LN6@UpdateAudi
  0011c	83 7d b8 02	 cmp	 DWORD PTR tv136[ebp], 2
  00120	74 02		 je	 SHORT $LN7@UpdateAudi
  00122	eb 20		 jmp	 SHORT $LN8@UpdateAudi
$LN7@UpdateAudi:

; 850  :     {
; 851  :     case AUDIOCRYSTAL_24576kHz: acni = s_acnipf[row][0]; break;

  00124	8b 55 ec	 mov	 edx, DWORD PTR _row$[ebp]
  00127	c1 e2 04	 shl	 edx, 4
  0012a	8b 82 00 00 00
	00		 mov	 eax, DWORD PTR ?s_acnipf@?1??UpdateAudioClocksPerField7133@CSAA7134Card@@QAEXW4eVideoStandard@CSAA7134Common@@@Z@4QAY03$$CBKA[edx]
  00130	89 45 f0	 mov	 DWORD PTR _acni$[ebp], eax
  00133	eb 0f		 jmp	 SHORT $LN8@UpdateAudi
$LN6@UpdateAudi:

; 852  :     case AUDIOCRYSTAL_32110kHz: acni = s_acnipf[row][1]; break;

  00135	8b 4d ec	 mov	 ecx, DWORD PTR _row$[ebp]
  00138	c1 e1 04	 shl	 ecx, 4
  0013b	8b 91 04 00 00
	00		 mov	 edx, DWORD PTR ?s_acnipf@?1??UpdateAudioClocksPerField7133@CSAA7134Card@@QAEXW4eVideoStandard@CSAA7134Common@@@Z@4QAY03$$CBKA[ecx+4]
  00141	89 55 f0	 mov	 DWORD PTR _acni$[ebp], edx
$LN8@UpdateAudi:

; 853  :     }
; 854  : 
; 855  :     if ((videoStandard == VIDEOSTANDARD_AUTODETECT && Is25fpsSignalDetected()) ||
; 856  :         m_VideoStandards[videoStandard].Is25fps)

  00144	83 7d 08 00	 cmp	 DWORD PTR _videoStandard$[ebp], 0
  00148	75 0c		 jne	 SHORT $LN3@UpdateAudi
  0014a	8b 4d c8	 mov	 ecx, DWORD PTR _this$[ebp]
  0014d	e8 00 00 00 00	 call	 ?Is25fpsSignalDetected@CSAA7134Card@@QAEHXZ ; CSAA7134Card::Is25fpsSignalDetected
  00152	85 c0		 test	 eax, eax
  00154	75 0f		 jne	 SHORT $LN4@UpdateAudi
$LN3@UpdateAudi:
  00156	8b 45 08	 mov	 eax, DWORD PTR _videoStandard$[ebp]
  00159	6b c0 14	 imul	 eax, 20			; 00000014H
  0015c	83 b8 08 00 00
	00 00		 cmp	 DWORD PTR ?m_VideoStandards@CSAA7134Common@@1PAUTVideoStandardDefinition@1@A[eax+8], 0
  00163	74 11		 je	 SHORT $LN5@UpdateAudi
$LN4@UpdateAudi:

; 857  :     {
; 858  :         acpf = s_acnipf[row][2];

  00165	8b 4d ec	 mov	 ecx, DWORD PTR _row$[ebp]
  00168	c1 e1 04	 shl	 ecx, 4
  0016b	8b 91 08 00 00
	00		 mov	 edx, DWORD PTR ?s_acnipf@?1??UpdateAudioClocksPerField7133@CSAA7134Card@@QAEXW4eVideoStandard@CSAA7134Common@@@Z@4QAY03$$CBKA[ecx+8]
  00171	89 55 e4	 mov	 DWORD PTR _acpf$[ebp], edx

; 859  :     }
; 860  :     else

  00174	eb 0f		 jmp	 SHORT $LN2@UpdateAudi
$LN5@UpdateAudi:

; 861  :     {
; 862  :         acpf = s_acnipf[row][3];

  00176	8b 45 ec	 mov	 eax, DWORD PTR _row$[ebp]
  00179	c1 e0 04	 shl	 eax, 4
  0017c	8b 88 0c 00 00
	00		 mov	 ecx, DWORD PTR ?s_acnipf@?1??UpdateAudioClocksPerField7133@CSAA7134Card@@QAEXW4eVideoStandard@CSAA7134Common@@@Z@4QAY03$$CBKA[eax+12]
  00182	89 4d e4	 mov	 DWORD PTR _acpf$[ebp], ecx
$LN2@UpdateAudi:

; 863  :     }
; 864  : 
; 865  :     // Ensure the correct transfer of the ACNI register value to PLL.
; 866  :     WriteData(SAA7133_PLL_CONTROL, _B(SAA7133_PLL_CONTROL_SWLOOP, 1));

  00185	83 ec 0c	 sub	 esp, 12			; 0000000cH
  00188	8b cc		 mov	 ecx, esp
  0018a	89 65 d4	 mov	 DWORD PTR $T352353[ebp], esp
  0018d	6a 01		 push	 1
  0018f	6a 01		 push	 1
  00191	6a 00		 push	 0
  00193	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  00198	89 45 b4	 mov	 DWORD PTR tv233[ebp], eax
  0019b	8b 55 b4	 mov	 edx, DWORD PTR tv233[ebp]
  0019e	89 55 b0	 mov	 DWORD PTR tv227[ebp], edx
  001a1	c7 45 fc 01 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 1
  001a8	68 ff 00 00 00	 push	 255			; 000000ffH
  001ad	68 9b 05 00 00	 push	 1435			; 0000059bH
  001b2	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  001b9	8b 4d c8	 mov	 ecx, DWORD PTR _this$[ebp]
  001bc	e8 00 00 00 00	 call	 ?WriteData@CPCICard@@QAEXKKVCBitVector@@@Z ; CPCICard::WriteData

; 867  : 
; 868  :     if (acni != 0x000000)

  001c1	83 7d f0 00	 cmp	 DWORD PTR _acni$[ebp], 0
  001c5	74 3a		 je	 SHORT $LN1@UpdateAudi

; 869  :     {
; 870  :         // Write the audio clock.
; 871  :         WriteData(SAA7133_AUDIO_CLOCK_NOMINAL, acni);

  001c7	83 ec 0c	 sub	 esp, 12			; 0000000cH
  001ca	8b cc		 mov	 ecx, esp
  001cc	89 65 d0	 mov	 DWORD PTR $T352354[ebp], esp
  001cf	8b 45 f0	 mov	 eax, DWORD PTR _acni$[ebp]
  001d2	50		 push	 eax
  001d3	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@K@Z	; CBitVector::CBitVector
  001d8	89 45 ac	 mov	 DWORD PTR tv234[ebp], eax
  001db	8b 4d ac	 mov	 ecx, DWORD PTR tv234[ebp]
  001de	89 4d a8	 mov	 DWORD PTR tv229[ebp], ecx
  001e1	c7 45 fc 02 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 2
  001e8	68 ff ff 3f 00	 push	 4194303			; 003fffffH
  001ed	68 98 05 00 00	 push	 1432			; 00000598H
  001f2	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  001f9	8b 4d c8	 mov	 ecx, DWORD PTR _this$[ebp]
  001fc	e8 00 00 00 00	 call	 ?WriteData@CPCICard@@QAEXKKVCBitVector@@@Z ; CPCICard::WriteData
$LN1@UpdateAudi:

; 872  :     }
; 873  : 
; 874  :     // Write the audio clocks per field.
; 875  :     WriteData(SAA7133_AUDIO_CLOCKS_PER_FIELD, acpf);

  00201	83 ec 0c	 sub	 esp, 12			; 0000000cH
  00204	8b cc		 mov	 ecx, esp
  00206	89 65 cc	 mov	 DWORD PTR $T352355[ebp], esp
  00209	8b 55 e4	 mov	 edx, DWORD PTR _acpf$[ebp]
  0020c	52		 push	 edx
  0020d	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@K@Z	; CBitVector::CBitVector
  00212	89 45 a4	 mov	 DWORD PTR tv235[ebp], eax
  00215	8b 45 a4	 mov	 eax, DWORD PTR tv235[ebp]
  00218	89 45 a0	 mov	 DWORD PTR tv231[ebp], eax
  0021b	c7 45 fc 03 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 3
  00222	68 ff ff 03 00	 push	 262143			; 0003ffffH
  00227	68 9c 05 00 00	 push	 1436			; 0000059cH
  0022c	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00233	8b 4d c8	 mov	 ecx, DWORD PTR _this$[ebp]
  00236	e8 00 00 00 00	 call	 ?WriteData@CPCICard@@QAEXKKVCBitVector@@@Z ; CPCICard::WriteData

; 876  : }

  0023b	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0023e	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00245	59		 pop	 ecx
  00246	8b e5		 mov	 esp, ebp
  00248	5d		 pop	 ebp
  00249	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?UpdateAudioClocksPerField7133@CSAA7134Card@@QAEXW4eVideoStandard@CSAA7134Common@@@Z$0:
  00000	8d 4d d8	 lea	 ecx, DWORD PTR $T352352[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?UpdateAudioClocksPerField7133@CSAA7134Card@@QAEXW4eVideoStandard@CSAA7134Common@@@Z$1:
  00008	8b 4d d4	 mov	 ecx, DWORD PTR $T352353[ebp]
  0000b	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?UpdateAudioClocksPerField7133@CSAA7134Card@@QAEXW4eVideoStandard@CSAA7134Common@@@Z$2:
  00010	8b 4d d0	 mov	 ecx, DWORD PTR $T352354[ebp]
  00013	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?UpdateAudioClocksPerField7133@CSAA7134Card@@QAEXW4eVideoStandard@CSAA7134Common@@@Z$3:
  00018	8b 4d cc	 mov	 ecx, DWORD PTR $T352355[ebp]
  0001b	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__ehhandler$?UpdateAudioClocksPerField7133@CSAA7134Card@@QAEXW4eVideoStandard@CSAA7134Common@@@Z:
  00020	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00024	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00027	8b 4a a8	 mov	 ecx, DWORD PTR [edx-88]
  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$?UpdateAudioClocksPerField7133@CSAA7134Card@@QAEXW4eVideoStandard@CSAA7134Common@@@Z
  00036	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?UpdateAudioClocksPerField7133@CSAA7134Card@@QAEXW4eVideoStandard@CSAA7134Common@@@Z ENDP ; CSAA7134Card::UpdateAudioClocksPerField7133
PUBLIC	?UpdateAudioClocksPerField@CSAA7134Card@@IAEXW4eVideoStandard@CSAA7134Common@@@Z ; CSAA7134Card::UpdateAudioClocksPerField
; Function compile flags: /Odtp
;	COMDAT ?UpdateAudioClocksPerField@CSAA7134Card@@IAEXW4eVideoStandard@CSAA7134Common@@@Z
_TEXT	SEGMENT
tv148 = -24						; size = 4
tv134 = -20						; size = 4
_this$ = -16						; size = 4
_SampleFreq$ = -9					; size = 1
_AudioClocksPerField$ = -8				; size = 4
_AudioClock$ = -4					; size = 4
_VideoStandard$ = 8					; size = 4
?UpdateAudioClocksPerField@CSAA7134Card@@IAEXW4eVideoStandard@CSAA7134Common@@@Z PROC ; CSAA7134Card::UpdateAudioClocksPerField, COMDAT
; _this$ = ecx

; 720  : {

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

; 721  :     if (m_DeviceId == 0x7130)

  00009	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	0f b7 48 08	 movzx	 ecx, WORD PTR [eax+8]
  00010	81 f9 30 71 00
	00		 cmp	 ecx, 28976		; 00007130H
  00016	75 05		 jne	 SHORT $LN20@UpdateAudi@2

; 722  :     {
; 723  :         // saa7130 doesn't support this
; 724  :         return;

  00018	e9 3d 01 00 00	 jmp	 $LN21@UpdateAudi@2
$LN20@UpdateAudi@2:

; 725  :     }
; 726  :     if (m_DeviceId == 0x7133 || m_DeviceId == 0x7135)

  0001d	8b 55 f0	 mov	 edx, DWORD PTR _this$[ebp]
  00020	0f b7 42 08	 movzx	 eax, WORD PTR [edx+8]
  00024	3d 33 71 00 00	 cmp	 eax, 28979		; 00007133H
  00029	74 0f		 je	 SHORT $LN18@UpdateAudi@2
  0002b	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0002e	0f b7 51 08	 movzx	 edx, WORD PTR [ecx+8]
  00032	81 fa 35 71 00
	00		 cmp	 edx, 28981		; 00007135H
  00038	75 11		 jne	 SHORT $LN19@UpdateAudi@2
$LN18@UpdateAudi@2:

; 727  :     {
; 728  :         UpdateAudioClocksPerField7133(VideoStandard);

  0003a	8b 45 08	 mov	 eax, DWORD PTR _VideoStandard$[ebp]
  0003d	50		 push	 eax
  0003e	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00041	e8 00 00 00 00	 call	 ?UpdateAudioClocksPerField7133@CSAA7134Card@@QAEXW4eVideoStandard@CSAA7134Common@@@Z ; CSAA7134Card::UpdateAudioClocksPerField7133

; 729  :         return;

  00046	e9 0f 01 00 00	 jmp	 $LN21@UpdateAudi@2
$LN19@UpdateAudi@2:

; 730  :     }
; 731  : 
; 732  :     DWORD   AudioClock = 0x000000;

  0004b	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _AudioClock$[ebp], 0

; 733  :     DWORD   AudioClocksPerField = 0x00000;

  00052	c7 45 f8 00 00
	00 00		 mov	 DWORD PTR _AudioClocksPerField$[ebp], 0

; 734  :     BYTE    SampleFreq;
; 735  : 
; 736  :     SampleFreq = ReadByte(SAA7134_SIF_SAMPLE_FREQ) & SAA7134_SIF_SAMPLE_FREQ_SFS;

  00059	68 6d 01 00 00	 push	 365			; 0000016dH
  0005e	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00061	e8 00 00 00 00	 call	 ?ReadByte@CPCICard@@QAEEK@Z ; CPCICard::ReadByte
  00066	0f b6 c8	 movzx	 ecx, al
  00069	83 e1 03	 and	 ecx, 3
  0006c	88 4d f7	 mov	 BYTE PTR _SampleFreq$[ebp], cl

; 737  : 
; 738  :     // If the sample frequency isn't 44.1KHz
; 739  :     if (SampleFreq != 0x02)

  0006f	0f b6 55 f7	 movzx	 edx, BYTE PTR _SampleFreq$[ebp]
  00073	83 fa 02	 cmp	 edx, 2
  00076	74 62		 je	 SHORT $LN17@UpdateAudi@2

; 740  :     {
; 741  :         switch (GetCardSetup()->AudioCrystal)

  00078	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0007b	e8 00 00 00 00	 call	 ?GetCardSetup@CSAA7134Card@@AAEPBUTCardType@1@XZ ; CSAA7134Card::GetCardSetup
  00080	8b 80 18 05 00
	00		 mov	 eax, DWORD PTR [eax+1304]
  00086	89 45 ec	 mov	 DWORD PTR tv134[ebp], eax
  00089	83 7d ec 01	 cmp	 DWORD PTR tv134[ebp], 1
  0008d	74 08		 je	 SHORT $LN14@UpdateAudi@2
  0008f	83 7d ec 02	 cmp	 DWORD PTR tv134[ebp], 2
  00093	74 0b		 je	 SHORT $LN13@UpdateAudi@2
  00095	eb 10		 jmp	 SHORT $LN15@UpdateAudi@2
$LN14@UpdateAudi@2:

; 742  :         {
; 743  :         case AUDIOCRYSTAL_32110kHz:
; 744  :             AudioClock = 0x187DE7;

  00097	c7 45 fc e7 7d
	18 00		 mov	 DWORD PTR _AudioClock$[ebp], 1605095 ; 00187de7H

; 745  :             break;

  0009e	eb 07		 jmp	 SHORT $LN15@UpdateAudi@2
$LN13@UpdateAudi@2:

; 746  : 
; 747  :         case AUDIOCRYSTAL_24576kHz:
; 748  :             AudioClock = 0x200000;

  000a0	c7 45 fc 00 00
	20 00		 mov	 DWORD PTR _AudioClock$[ebp], 2097152 ; 00200000H
$LN15@UpdateAudi@2:

; 749  :             break;
; 750  :         }
; 751  : 
; 752  :         if ((VideoStandard != VIDEOSTANDARD_AUTODETECT &&
; 753  :             m_VideoStandards[VideoStandard].Is25fps) ||
; 754  :             Is25fpsSignalDetected())

  000a7	83 7d 08 00	 cmp	 DWORD PTR _VideoStandard$[ebp], 0
  000ab	74 0f		 je	 SHORT $LN10@UpdateAudi@2
  000ad	8b 4d 08	 mov	 ecx, DWORD PTR _VideoStandard$[ebp]
  000b0	6b c9 14	 imul	 ecx, 20			; 00000014H
  000b3	83 b9 08 00 00
	00 00		 cmp	 DWORD PTR ?m_VideoStandards@CSAA7134Common@@1PAUTVideoStandardDefinition@1@A[ecx+8], 0
  000ba	75 0c		 jne	 SHORT $LN11@UpdateAudi@2
$LN10@UpdateAudi@2:
  000bc	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  000bf	e8 00 00 00 00	 call	 ?Is25fpsSignalDetected@CSAA7134Card@@QAEHXZ ; CSAA7134Card::Is25fpsSignalDetected
  000c4	85 c0		 test	 eax, eax
  000c6	74 09		 je	 SHORT $LN12@UpdateAudi@2
$LN11@UpdateAudi@2:

; 755  :         {
; 756  :             AudioClocksPerField = 0x1E000;

  000c8	c7 45 f8 00 e0
	01 00		 mov	 DWORD PTR _AudioClocksPerField$[ebp], 122880 ; 0001e000H

; 757  :         }
; 758  :         else

  000cf	eb 07		 jmp	 SHORT $LN9@UpdateAudi@2
$LN12@UpdateAudi@2:

; 759  :         {
; 760  :             AudioClocksPerField = 0x19066;

  000d1	c7 45 f8 66 90
	01 00		 mov	 DWORD PTR _AudioClocksPerField$[ebp], 102502 ; 00019066H
$LN9@UpdateAudi@2:

; 761  :         }
; 762  :     }
; 763  :     else

  000d8	eb 4e		 jmp	 SHORT $LN8@UpdateAudi@2
$LN17@UpdateAudi@2:

; 764  :     {
; 765  :         switch (GetCardSetup()->AudioCrystal)

  000da	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  000dd	e8 00 00 00 00	 call	 ?GetCardSetup@CSAA7134Card@@AAEPBUTCardType@1@XZ ; CSAA7134Card::GetCardSetup
  000e2	8b 90 18 05 00
	00		 mov	 edx, DWORD PTR [eax+1304]
  000e8	89 55 e8	 mov	 DWORD PTR tv148[ebp], edx
  000eb	83 7d e8 01	 cmp	 DWORD PTR tv148[ebp], 1
  000ef	74 08		 je	 SHORT $LN5@UpdateAudi@2
  000f1	83 7d e8 02	 cmp	 DWORD PTR tv148[ebp], 2
  000f5	74 0b		 je	 SHORT $LN4@UpdateAudi@2
  000f7	eb 10		 jmp	 SHORT $LN6@UpdateAudi@2
$LN5@UpdateAudi@2:

; 766  :         {
; 767  :         case AUDIOCRYSTAL_32110kHz:
; 768  :             AudioClock = 0x1C2097;

  000f9	c7 45 fc 97 20
	1c 00		 mov	 DWORD PTR _AudioClock$[ebp], 1843351 ; 001c2097H

; 769  :             break;

  00100	eb 07		 jmp	 SHORT $LN6@UpdateAudi@2
$LN4@UpdateAudi@2:

; 770  : 
; 771  :         case AUDIOCRYSTAL_24576kHz:
; 772  :             AudioClock = 0x24C000;

  00102	c7 45 fc 00 c0
	24 00		 mov	 DWORD PTR _AudioClock$[ebp], 2408448 ; 0024c000H
$LN6@UpdateAudi@2:

; 773  :             break;
; 774  :         }
; 775  : 
; 776  :         if (m_VideoStandards[VideoStandard].Is25fps)

  00109	8b 45 08	 mov	 eax, DWORD PTR _VideoStandard$[ebp]
  0010c	6b c0 14	 imul	 eax, 20			; 00000014H
  0010f	83 b8 08 00 00
	00 00		 cmp	 DWORD PTR ?m_VideoStandards@CSAA7134Common@@1PAUTVideoStandardDefinition@1@A[eax+8], 0
  00116	74 09		 je	 SHORT $LN3@UpdateAudi@2

; 777  :         {
; 778  :             AudioClocksPerField = 0x22740;

  00118	c7 45 f8 40 27
	02 00		 mov	 DWORD PTR _AudioClocksPerField$[ebp], 141120 ; 00022740H

; 779  :         }
; 780  :         else

  0011f	eb 07		 jmp	 SHORT $LN8@UpdateAudi@2
$LN3@UpdateAudi@2:

; 781  :         {
; 782  :             AudioClocksPerField = 0x1CBD5;

  00121	c7 45 f8 d5 cb
	01 00		 mov	 DWORD PTR _AudioClocksPerField$[ebp], 117717 ; 0001cbd5H
$LN8@UpdateAudi@2:

; 783  :         }
; 784  :     }
; 785  : 
; 786  :     if (AudioClock != 0x000000)

  00128	83 7d fc 00	 cmp	 DWORD PTR _AudioClock$[ebp], 0
  0012c	74 16		 je	 SHORT $LN1@UpdateAudi@2

; 787  :     {
; 788  :         MaskDataDword(SAA7134_AUDIO_CLOCK, AudioClock,
; 789  :             SAA7134_AUDIO_CLOCK_MASK);

  0012e	68 ff ff 3f 00	 push	 4194303			; 003fffffH
  00133	8b 4d fc	 mov	 ecx, DWORD PTR _AudioClock$[ebp]
  00136	51		 push	 ecx
  00137	68 70 01 00 00	 push	 368			; 00000170H
  0013c	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0013f	e8 00 00 00 00	 call	 ?MaskDataDword@CPCICard@@QAEXKKK@Z ; CPCICard::MaskDataDword
$LN1@UpdateAudi@2:

; 790  :     }
; 791  : 
; 792  :     MaskDataDword(SAA7134_AUDIO_CLOCKS_PER_FIELD, AudioClocksPerField,
; 793  :         SAA7134_AUDIO_CLOCKS_PER_FIELD_MASK);

  00144	68 ff ff 03 00	 push	 262143			; 0003ffffH
  00149	8b 55 f8	 mov	 edx, DWORD PTR _AudioClocksPerField$[ebp]
  0014c	52		 push	 edx
  0014d	68 74 01 00 00	 push	 372			; 00000174H
  00152	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00155	e8 00 00 00 00	 call	 ?MaskDataDword@CPCICard@@QAEXKKK@Z ; CPCICard::MaskDataDword
$LN21@UpdateAudi@2:

; 794  : }

  0015a	8b e5		 mov	 esp, ebp
  0015c	5d		 pop	 ebp
  0015d	c2 04 00	 ret	 4
?UpdateAudioClocksPerField@CSAA7134Card@@IAEXW4eVideoStandard@CSAA7134Common@@@Z ENDP ; CSAA7134Card::UpdateAudioClocksPerField
_TEXT	ENDS
PUBLIC	?SetAudioLockToVideo7133@CSAA7134Card@@QAEXH@Z	; CSAA7134Card::SetAudioLockToVideo7133
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?SetAudioLockToVideo7133@CSAA7134Card@@QAEXH@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?SetAudioLockToVideo7133@CSAA7134Card@@QAEXH@Z$0
__ehfuncinfo$?SetAudioLockToVideo7133@CSAA7134Card@@QAEXH@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?SetAudioLockToVideo7133@CSAA7134Card@@QAEXH@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?SetAudioLockToVideo7133@CSAA7134Card@@QAEXH@Z
_TEXT	SEGMENT
tv90 = -28						; size = 4
tv91 = -24						; size = 4
_this$ = -20						; size = 4
$T352370 = -16						; size = 4
__$EHRec$ = -12						; size = 12
_bLockAudio$ = 8					; size = 4
?SetAudioLockToVideo7133@CSAA7134Card@@QAEXH@Z PROC	; CSAA7134Card::SetAudioLockToVideo7133, COMDAT
; _this$ = ecx

; 712  : {

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

; 713  :     // This doesn't affect NICAM (for 7133/5 at least) as NICAM
; 714  :     // is always video frame locked.
; 715  :     WriteData(SAA7133_PLL_CONTROL, _B(SAA7133_PLL_CONTROL_APLL, bLockAudio ? 0 : 1));

  00028	33 c0		 xor	 eax, eax
  0002a	83 7d 08 00	 cmp	 DWORD PTR _bLockAudio$[ebp], 0
  0002e	0f 94 c0	 sete	 al
  00031	83 ec 0c	 sub	 esp, 12			; 0000000cH
  00034	8b cc		 mov	 ecx, esp
  00036	89 65 f0	 mov	 DWORD PTR $T352370[ebp], esp
  00039	50		 push	 eax
  0003a	6a 01		 push	 1
  0003c	6a 01		 push	 1
  0003e	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  00043	89 45 e8	 mov	 DWORD PTR tv91[ebp], eax
  00046	8b 4d e8	 mov	 ecx, DWORD PTR tv91[ebp]
  00049	89 4d e4	 mov	 DWORD PTR tv90[ebp], ecx
  0004c	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00053	68 ff 00 00 00	 push	 255			; 000000ffH
  00058	68 9b 05 00 00	 push	 1435			; 0000059bH
  0005d	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00064	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00067	e8 00 00 00 00	 call	 ?WriteData@CPCICard@@QAEXKKVCBitVector@@@Z ; CPCICard::WriteData

; 716  : }

  0006c	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0006f	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00076	59		 pop	 ecx
  00077	8b e5		 mov	 esp, ebp
  00079	5d		 pop	 ebp
  0007a	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?SetAudioLockToVideo7133@CSAA7134Card@@QAEXH@Z$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR $T352370[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__ehhandler$?SetAudioLockToVideo7133@CSAA7134Card@@QAEXH@Z:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a ec	 mov	 ecx, DWORD PTR [edx-20]
  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$?SetAudioLockToVideo7133@CSAA7134Card@@QAEXH@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?SetAudioLockToVideo7133@CSAA7134Card@@QAEXH@Z ENDP	; CSAA7134Card::SetAudioLockToVideo7133
PUBLIC	?SetAudioLockToVideo@CSAA7134Card@@QAEXH@Z	; CSAA7134Card::SetAudioLockToVideo
; Function compile flags: /Odtp
;	COMDAT ?SetAudioLockToVideo@CSAA7134Card@@QAEXH@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_bLockAudio$ = 8					; size = 4
?SetAudioLockToVideo@CSAA7134Card@@QAEXH@Z PROC		; CSAA7134Card::SetAudioLockToVideo, COMDAT
; _this$ = ecx

; 688  : {

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

; 689  :     if (m_DeviceId == 0x7130)

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	0f b7 48 08	 movzx	 ecx, WORD PTR [eax+8]
  0000e	81 f9 30 71 00
	00		 cmp	 ecx, 28976		; 00007130H
  00014	75 02		 jne	 SHORT $LN5@SetAudioLo

; 690  :     {
; 691  :         // saa7130 doesn't support this
; 692  :         return;

  00016	eb 54		 jmp	 SHORT $LN6@SetAudioLo
$LN5@SetAudioLo:

; 693  :     }
; 694  :     if (m_DeviceId == 0x7133 || m_DeviceId == 0x7135)

  00018	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  0001b	0f b7 42 08	 movzx	 eax, WORD PTR [edx+8]
  0001f	3d 33 71 00 00	 cmp	 eax, 28979		; 00007133H
  00024	74 0f		 je	 SHORT $LN3@SetAudioLo
  00026	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00029	0f b7 51 08	 movzx	 edx, WORD PTR [ecx+8]
  0002d	81 fa 35 71 00
	00		 cmp	 edx, 28981		; 00007135H
  00033	75 0e		 jne	 SHORT $LN4@SetAudioLo
$LN3@SetAudioLo:

; 695  :     {
; 696  :         SetAudioLockToVideo7133(bLockAudio);

  00035	8b 45 08	 mov	 eax, DWORD PTR _bLockAudio$[ebp]
  00038	50		 push	 eax
  00039	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0003c	e8 00 00 00 00	 call	 ?SetAudioLockToVideo7133@CSAA7134Card@@QAEXH@Z ; CSAA7134Card::SetAudioLockToVideo7133

; 697  :         return;

  00041	eb 29		 jmp	 SHORT $LN6@SetAudioLo
$LN4@SetAudioLo:

; 698  :     }
; 699  : 
; 700  :     if (bLockAudio)

  00043	83 7d 08 00	 cmp	 DWORD PTR _bLockAudio$[ebp], 0
  00047	74 14		 je	 SHORT $LN2@SetAudioLo

; 701  :     {
; 702  :         AndDataByte(SAA7134_AUDIO_PLL_CTRL, ~SAA7134_AUDIO_PLL_CTRL_APLL);

  00049	68 fd 00 00 00	 push	 253			; 000000fdH
  0004e	68 73 01 00 00	 push	 371			; 00000173H
  00053	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00056	e8 00 00 00 00	 call	 ?AndDataByte@CPCICard@@QAEXKE@Z ; CPCICard::AndDataByte

; 703  :     }
; 704  :     else

  0005b	eb 0f		 jmp	 SHORT $LN6@SetAudioLo
$LN2@SetAudioLo:

; 705  :     {
; 706  :         OrDataByte(SAA7134_AUDIO_PLL_CTRL, SAA7134_AUDIO_PLL_CTRL_APLL);

  0005d	6a 02		 push	 2
  0005f	68 73 01 00 00	 push	 371			; 00000173H
  00064	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00067	e8 00 00 00 00	 call	 ?OrDataByte@CPCICard@@QAEXKE@Z ; CPCICard::OrDataByte
$LN6@SetAudioLo:

; 707  :     }
; 708  : }

  0006c	8b e5		 mov	 esp, ebp
  0006e	5d		 pop	 ebp
  0006f	c2 04 00	 ret	 4
?SetAudioLockToVideo@CSAA7134Card@@QAEXH@Z ENDP		; CSAA7134Card::SetAudioLockToVideo
_TEXT	ENDS
PUBLIC	?WaitDSPAccessState7133@CSAA7134Card@@QAEHH@Z	; CSAA7134Card::WaitDSPAccessState7133
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?WaitDSPAccessState7133@CSAA7134Card@@QAEHH@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?WaitDSPAccessState7133@CSAA7134Card@@QAEHH@Z$0
__ehfuncinfo$?WaitDSPAccessState7133@CSAA7134Card@@QAEHH@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?WaitDSPAccessState7133@CSAA7134Card@@QAEHH@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?WaitDSPAccessState7133@CSAA7134Card@@QAEHH@Z
_TEXT	SEGMENT
tv90 = -40						; size = 4
_this$ = -36						; size = 4
$T352382 = -32						; size = 4
_ctrl$145326 = -28					; size = 12
_timeout$145322 = -16					; size = 4
__$EHRec$ = -12						; size = 12
_bRead$ = 8						; size = 4
?WaitDSPAccessState7133@CSAA7134Card@@QAEHH@Z PROC	; CSAA7134Card::WaitDSPAccessState7133, COMDAT
; _this$ = ecx

; 197  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?WaitDSPAccessState7133@CSAA7134Card@@QAEHH@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 1c	 sub	 esp, 28			; 0000001cH
  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 dc	 mov	 DWORD PTR _this$[ebp], ecx

; 198  :     // It shouldn't take more than one sleep for the wait but
; 199  :     // failure is costly so give extra chances.
; 200  :     for (int timeout = 2; timeout > 0; timeout--)

  00028	c7 45 f0 02 00
	00 00		 mov	 DWORD PTR _timeout$145322[ebp], 2
  0002f	eb 09		 jmp	 SHORT $LN6@WaitDSPAcc
$LN5@WaitDSPAcc:
  00031	8b 45 f0	 mov	 eax, DWORD PTR _timeout$145322[ebp]
  00034	83 e8 01	 sub	 eax, 1
  00037	89 45 f0	 mov	 DWORD PTR _timeout$145322[ebp], eax
$LN6@WaitDSPAcc:
  0003a	83 7d f0 00	 cmp	 DWORD PTR _timeout$145322[ebp], 0
  0003e	7e 7d		 jle	 SHORT $LN4@WaitDSPAcc

; 201  :     {
; 202  :         CBitVector ctrl = ReadData(SAA7133_EPICS_ACCESS_STATUS);

  00040	6a 0f		 push	 15			; 0000000fH
  00042	68 80 05 00 00	 push	 1408			; 00000580H
  00047	8d 4d e4	 lea	 ecx, DWORD PTR _ctrl$145326[ebp]
  0004a	51		 push	 ecx
  0004b	8b 4d dc	 mov	 ecx, DWORD PTR _this$[ebp]
  0004e	e8 00 00 00 00	 call	 ?ReadData@CPCICard@@QAE?AVCBitVector@@KK@Z ; CPCICard::ReadData
  00053	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 203  : 
; 204  :         if ((bRead && ctrl.value(SAA7133_EPICS_ACCESS_STATUS_RDR)) ||
; 205  :             (!bRead && ctrl.value(SAA7133_EPICS_ACCESS_STATUS_WRR)))

  0005a	83 7d 08 00	 cmp	 DWORD PTR _bRead$[ebp], 0
  0005e	74 10		 je	 SHORT $LN1@WaitDSPAcc
  00060	6a 01		 push	 1
  00062	6a 01		 push	 1
  00064	8d 4d e4	 lea	 ecx, DWORD PTR _ctrl$145326[ebp]
  00067	e8 00 00 00 00	 call	 ?value@CBitVector@@UBEKEE@Z ; CBitVector::value
  0006c	85 c0		 test	 eax, eax
  0006e	75 16		 jne	 SHORT $LN2@WaitDSPAcc
$LN1@WaitDSPAcc:
  00070	83 7d 08 00	 cmp	 DWORD PTR _bRead$[ebp], 0
  00074	75 2b		 jne	 SHORT $LN3@WaitDSPAcc
  00076	6a 01		 push	 1
  00078	6a 00		 push	 0
  0007a	8d 4d e4	 lea	 ecx, DWORD PTR _ctrl$145326[ebp]
  0007d	e8 00 00 00 00	 call	 ?value@CBitVector@@UBEKEE@Z ; CBitVector::value
  00082	85 c0		 test	 eax, eax
  00084	74 1b		 je	 SHORT $LN3@WaitDSPAcc
$LN2@WaitDSPAcc:

; 206  :         {
; 207  :             // Read is ready or write is complete.
; 208  :             return TRUE;

  00086	c7 45 e0 01 00
	00 00		 mov	 DWORD PTR $T352382[ebp], 1
  0008d	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00094	8d 4d e4	 lea	 ecx, DWORD PTR _ctrl$145326[ebp]
  00097	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  0009c	8b 45 e0	 mov	 eax, DWORD PTR $T352382[ebp]
  0009f	eb 47		 jmp	 SHORT $LN7@WaitDSPAcc
$LN3@WaitDSPAcc:

; 209  :         }
; 210  : 
; 211  :         // The DSP performs read and write accesses at 32kHz so the
; 212  :         // period is 31.25 us.  This is the longest time any read or
; 213  :         // write should take to perform.  However, Windows only provides
; 214  :         // a 1 ms sleep function so sleep for one millisecond here.
; 215  :         Sleep(1);

  000a1	6a 01		 push	 1
  000a3	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__Sleep@4

; 216  :     }

  000a9	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  000b0	8d 4d e4	 lea	 ecx, DWORD PTR _ctrl$145326[ebp]
  000b3	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  000b8	e9 74 ff ff ff	 jmp	 $LN5@WaitDSPAcc
$LN4@WaitDSPAcc:

; 217  : 
; 218  :     LOG(0, _T("SAA7133: Unexpected Error: DSP %s flag wait timed out."),
; 219  :         (bRead ? _T("read RDR") : _T("write WRR")));

  000bd	83 7d 08 00	 cmp	 DWORD PTR _bRead$[ebp], 0
  000c1	74 09		 je	 SHORT $LN9@WaitDSPAcc
  000c3	c7 45 d8 00 00
	00 00		 mov	 DWORD PTR tv90[ebp], OFFSET ??_C@_1BC@IAFFNOPI@?$AAr?$AAe?$AAa?$AAd?$AA?5?$AAR?$AAD?$AAR?$AA?$AA@
  000ca	eb 07		 jmp	 SHORT $LN10@WaitDSPAcc
$LN9@WaitDSPAcc:
  000cc	c7 45 d8 00 00
	00 00		 mov	 DWORD PTR tv90[ebp], OFFSET ??_C@_1BE@IFOEFFNH@?$AAw?$AAr?$AAi?$AAt?$AAe?$AA?5?$AAW?$AAR?$AAR?$AA?$AA@
$LN10@WaitDSPAcc:
  000d3	8b 55 d8	 mov	 edx, DWORD PTR tv90[ebp]
  000d6	52		 push	 edx
  000d7	68 00 00 00 00	 push	 OFFSET ??_C@_1GO@NNLDEFEB@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AA3?$AA?3?$AA?5?$AAU?$AAn?$AAe?$AAx?$AAp?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?3?$AA?5?$AAD?$AAS?$AAP?$AA?5?$AA?$CF@
  000dc	6a 00		 push	 0
  000de	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  000e3	83 c4 0c	 add	 esp, 12			; 0000000cH

; 220  :     return FALSE;

  000e6	33 c0		 xor	 eax, eax
$LN7@WaitDSPAcc:

; 221  : }

  000e8	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  000eb	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000f2	59		 pop	 ecx
  000f3	8b e5		 mov	 esp, ebp
  000f5	5d		 pop	 ebp
  000f6	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?WaitDSPAccessState7133@CSAA7134Card@@QAEHH@Z$0:
  00000	8d 4d e4	 lea	 ecx, DWORD PTR _ctrl$145326[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__ehhandler$?WaitDSPAccessState7133@CSAA7134Card@@QAEHH@Z:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a e0	 mov	 ecx, DWORD PTR [edx-32]
  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$?WaitDSPAccessState7133@CSAA7134Card@@QAEHH@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?WaitDSPAccessState7133@CSAA7134Card@@QAEHH@Z ENDP	; CSAA7134Card::WaitDSPAccessState7133
PUBLIC	?StartDSPAccess7133@CSAA7134Card@@QAEHXZ	; CSAA7134Card::StartDSPAccess7133
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?StartDSPAccess7133@CSAA7134Card@@QAEHXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?StartDSPAccess7133@CSAA7134Card@@QAEHXZ$0
	DD	00H
	DD	FLAT:__unwindfunclet$?StartDSPAccess7133@CSAA7134Card@@QAEHXZ$1
	DD	00H
	DD	FLAT:__unwindfunclet$?StartDSPAccess7133@CSAA7134Card@@QAEHXZ$2
__ehfuncinfo$?StartDSPAccess7133@CSAA7134Card@@QAEHXZ DD 019930522H
	DD	03H
	DD	FLAT:__unwindtable$?StartDSPAccess7133@CSAA7134Card@@QAEHXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?StartDSPAccess7133@CSAA7134Card@@QAEHXZ
_TEXT	SEGMENT
tv176 = -60						; size = 4
tv179 = -56						; size = 4
tv174 = -52						; size = 4
tv71 = -48						; size = 4
_this$ = -44						; size = 4
$T352396 = -40						; size = 4
$T352395 = -36						; size = 4
$T352394 = -32						; size = 4
_ctrl$145299 = -28					; size = 12
_timeout$145295 = -16					; size = 4
__$EHRec$ = -12						; size = 12
?StartDSPAccess7133@CSAA7134Card@@QAEHXZ PROC		; CSAA7134Card::StartDSPAccess7133, COMDAT
; _this$ = ecx

; 160  : {

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

; 161  :     // It shouldn't take more than one sleep for the wait but
; 162  :     // failure is costly so give extra chances.
; 163  :     for (int timeout = 2; timeout > 0; timeout--)

  00028	c7 45 f0 02 00
	00 00		 mov	 DWORD PTR _timeout$145295[ebp], 2
  0002f	eb 09		 jmp	 SHORT $LN6@StartDSPAc
$LN5@StartDSPAc:
  00031	8b 45 f0	 mov	 eax, DWORD PTR _timeout$145295[ebp]
  00034	83 e8 01	 sub	 eax, 1
  00037	89 45 f0	 mov	 DWORD PTR _timeout$145295[ebp], eax
$LN6@StartDSPAc:
  0003a	83 7d f0 00	 cmp	 DWORD PTR _timeout$145295[ebp], 0
  0003e	0f 8e e7 00 00
	00		 jle	 $LN4@StartDSPAc

; 164  :     {
; 165  :         CBitVector ctrl = ReadData(SAA7133_EPICS_ACCESS_STATUS);

  00044	6a 0f		 push	 15			; 0000000fH
  00046	68 80 05 00 00	 push	 1408			; 00000580H
  0004b	8d 4d e4	 lea	 ecx, DWORD PTR _ctrl$145299[ebp]
  0004e	51		 push	 ecx
  0004f	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  00052	e8 00 00 00 00	 call	 ?ReadData@CPCICard@@QAE?AVCBitVector@@KK@Z ; CPCICard::ReadData
  00057	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 166  : 
; 167  :         // Reset if the error state is flagged.
; 168  :         if (ctrl.value(SAA7133_EPICS_ACCESS_STATUS_ERR))

  0005e	6a 01		 push	 1
  00060	6a 03		 push	 3
  00062	8d 4d e4	 lea	 ecx, DWORD PTR _ctrl$145299[ebp]
  00065	e8 00 00 00 00	 call	 ?value@CBitVector@@UBEKEE@Z ; CBitVector::value
  0006a	85 c0		 test	 eax, eax
  0006c	74 33		 je	 SHORT $LN3@StartDSPAc

; 169  :         {
; 170  :             WriteData(SAA7133_STATUS_RESET, _B(SAA7133_STATUS_RESET_RERR, 1));

  0006e	83 ec 0c	 sub	 esp, 12			; 0000000cH
  00071	8b cc		 mov	 ecx, esp
  00073	89 65 e0	 mov	 DWORD PTR $T352394[ebp], esp
  00076	6a 01		 push	 1
  00078	6a 01		 push	 1
  0007a	6a 00		 push	 0
  0007c	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  00081	89 45 d0	 mov	 DWORD PTR tv71[ebp], eax
  00084	8b 55 d0	 mov	 edx, DWORD PTR tv71[ebp]
  00087	89 55 cc	 mov	 DWORD PTR tv174[ebp], edx
  0008a	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  0008e	6a 03		 push	 3
  00090	68 86 05 00 00	 push	 1414			; 00000586H
  00095	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  00099	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  0009c	e8 00 00 00 00	 call	 ?WriteData@CPCICard@@QAEXKKVCBitVector@@@Z ; CPCICard::WriteData
$LN3@StartDSPAc:

; 171  :         }
; 172  :         // Reset if the read ready state is flagged.
; 173  :         if (ctrl.value(SAA7133_EPICS_ACCESS_STATUS_RDR))

  000a1	6a 01		 push	 1
  000a3	6a 01		 push	 1
  000a5	8d 4d e4	 lea	 ecx, DWORD PTR _ctrl$145299[ebp]
  000a8	e8 00 00 00 00	 call	 ?value@CBitVector@@UBEKEE@Z ; CBitVector::value
  000ad	85 c0		 test	 eax, eax
  000af	74 33		 je	 SHORT $LN2@StartDSPAc

; 174  :         {
; 175  :             WriteData(SAA7133_STATUS_RESET, _B(SAA7133_STATUS_RESET_RRDR, 1));

  000b1	83 ec 0c	 sub	 esp, 12			; 0000000cH
  000b4	8b cc		 mov	 ecx, esp
  000b6	89 65 dc	 mov	 DWORD PTR $T352395[ebp], esp
  000b9	6a 01		 push	 1
  000bb	6a 01		 push	 1
  000bd	6a 01		 push	 1
  000bf	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  000c4	89 45 c8	 mov	 DWORD PTR tv179[ebp], eax
  000c7	8b 45 c8	 mov	 eax, DWORD PTR tv179[ebp]
  000ca	89 45 c4	 mov	 DWORD PTR tv176[ebp], eax
  000cd	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  000d1	6a 03		 push	 3
  000d3	68 86 05 00 00	 push	 1414			; 00000586H
  000d8	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  000dc	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  000df	e8 00 00 00 00	 call	 ?WriteData@CPCICard@@QAEXKKVCBitVector@@@Z ; CPCICard::WriteData
$LN2@StartDSPAc:

; 176  :         }
; 177  : 
; 178  :         // WRR flagged means there're no current DSP reads or writes.
; 179  :         if (ctrl.value(SAA7133_EPICS_ACCESS_STATUS_WRR))

  000e4	6a 01		 push	 1
  000e6	6a 00		 push	 0
  000e8	8d 4d e4	 lea	 ecx, DWORD PTR _ctrl$145299[ebp]
  000eb	e8 00 00 00 00	 call	 ?value@CBitVector@@UBEKEE@Z ; CBitVector::value
  000f0	85 c0		 test	 eax, eax
  000f2	74 1b		 je	 SHORT $LN1@StartDSPAc

; 180  :         {
; 181  :             return TRUE;

  000f4	c7 45 d8 01 00
	00 00		 mov	 DWORD PTR $T352396[ebp], 1
  000fb	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00102	8d 4d e4	 lea	 ecx, DWORD PTR _ctrl$145299[ebp]
  00105	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  0010a	8b 45 d8	 mov	 eax, DWORD PTR $T352396[ebp]
  0010d	eb 2d		 jmp	 SHORT $LN7@StartDSPAc
$LN1@StartDSPAc:

; 182  :         }
; 183  : 
; 184  :         // The DSP performs read and write accesses at 32kHz so the
; 185  :         // period is 31.25 us.  This is the longest time any read or
; 186  :         // write should take to perform.  However, Windows only provides
; 187  :         // a 1 ms sleep function so sleep for one millisecond here.
; 188  :         Sleep(1);

  0010f	6a 01		 push	 1
  00111	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__Sleep@4

; 189  :     }

  00117	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0011e	8d 4d e4	 lea	 ecx, DWORD PTR _ctrl$145299[ebp]
  00121	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  00126	e9 06 ff ff ff	 jmp	 $LN5@StartDSPAc
$LN4@StartDSPAc:

; 190  : 
; 191  :     LOG(0, _T("SAA7133: Unexpected Error: DSP access WRR flag wait timed out."));

  0012b	68 00 00 00 00	 push	 OFFSET ??_C@_1HO@JOCLMCLE@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AA3?$AA?3?$AA?5?$AAU?$AAn?$AAe?$AAx?$AAp?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?3?$AA?5?$AAD?$AAS?$AAP?$AA?5?$AAa@
  00130	6a 00		 push	 0
  00132	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00137	83 c4 08	 add	 esp, 8

; 192  :     return FALSE;

  0013a	33 c0		 xor	 eax, eax
$LN7@StartDSPAc:

; 193  : }

  0013c	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0013f	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00146	59		 pop	 ecx
  00147	8b e5		 mov	 esp, ebp
  00149	5d		 pop	 ebp
  0014a	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?StartDSPAccess7133@CSAA7134Card@@QAEHXZ$0:
  00000	8d 4d e4	 lea	 ecx, DWORD PTR _ctrl$145299[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?StartDSPAccess7133@CSAA7134Card@@QAEHXZ$1:
  00008	8b 4d e0	 mov	 ecx, DWORD PTR $T352394[ebp]
  0000b	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?StartDSPAccess7133@CSAA7134Card@@QAEHXZ$2:
  00010	8b 4d dc	 mov	 ecx, DWORD PTR $T352395[ebp]
  00013	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__ehhandler$?StartDSPAccess7133@CSAA7134Card@@QAEHXZ:
  00018	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0001c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0001f	8b 4a cc	 mov	 ecx, DWORD PTR [edx-52]
  00022	33 c8		 xor	 ecx, eax
  00024	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00029	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?StartDSPAccess7133@CSAA7134Card@@QAEHXZ
  0002e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?StartDSPAccess7133@CSAA7134Card@@QAEHXZ ENDP		; CSAA7134Card::StartDSPAccess7133
PUBLIC	?SetAudioSampleRate7133@CSAA7134Card@@QAEXW4eAudioSampleRate@CSAA7134Common@@@Z ; CSAA7134Card::SetAudioSampleRate7133
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?SetAudioSampleRate7133@CSAA7134Card@@QAEXW4eAudioSampleRate@CSAA7134Common@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?SetAudioSampleRate7133@CSAA7134Card@@QAEXW4eAudioSampleRate@CSAA7134Common@@@Z$0
__ehfuncinfo$?SetAudioSampleRate7133@CSAA7134Card@@QAEXW4eAudioSampleRate@CSAA7134Common@@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?SetAudioSampleRate7133@CSAA7134Card@@QAEXW4eAudioSampleRate@CSAA7134Common@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?SetAudioSampleRate7133@CSAA7134Card@@QAEXW4eAudioSampleRate@CSAA7134Common@@@Z
_TEXT	SEGMENT
tv130 = -36						; size = 4
tv131 = -32						; size = 4
tv66 = -28						; size = 4
_this$ = -24						; size = 4
$T354895 = -20						; size = 4
_acs$ = -13						; size = 1
__$EHRec$ = -12						; size = 12
_sampleRate$ = 8					; size = 4
?SetAudioSampleRate7133@CSAA7134Card@@QAEXW4eAudioSampleRate@CSAA7134Common@@@Z PROC ; CSAA7134Card::SetAudioSampleRate7133, COMDAT
; _this$ = ecx

; 1175 : {

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

; 1176 :     BYTE acs = 0;

  00028	c6 45 f3 00	 mov	 BYTE PTR _acs$[ebp], 0

; 1177 : 
; 1178 :     if (m_AudioInputSource == AUDIOINPUTSOURCE_DAC)

  0002c	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  0002f	83 b8 b0 00 00
	00 02		 cmp	 DWORD PTR [eax+176], 2
  00036	75 06		 jne	 SHORT $LN7@SetAudioSa

; 1179 :     {
; 1180 :         // 0000: 32 kHz w/ DEMDEC, 196.608 MHz, /3 = DSP
; 1181 :         acs = 0x0;

  00038	c6 45 f3 00	 mov	 BYTE PTR _acs$[ebp], 0

; 1182 :     }
; 1183 :     else

  0003c	eb 2a		 jmp	 SHORT $LN6@SetAudioSa
$LN7@SetAudioSa:

; 1184 :     {
; 1185 :         switch (sampleRate)

  0003e	8b 4d 08	 mov	 ecx, DWORD PTR _sampleRate$[ebp]
  00041	89 4d e4	 mov	 DWORD PTR tv66[ebp], ecx
  00044	83 7d e4 00	 cmp	 DWORD PTR tv66[ebp], 0
  00048	74 0e		 je	 SHORT $LN3@SetAudioSa
  0004a	83 7d e4 01	 cmp	 DWORD PTR tv66[ebp], 1
  0004e	74 0e		 je	 SHORT $LN2@SetAudioSa
  00050	83 7d e4 02	 cmp	 DWORD PTR tv66[ebp], 2
  00054	74 0e		 je	 SHORT $LN1@SetAudioSa
  00056	eb 10		 jmp	 SHORT $LN6@SetAudioSa
$LN3@SetAudioSa:

; 1186 :         {
; 1187 :             // 0100: 32 kHz baseband, 196.608 MHz, /3 = DSP
; 1188 :         case AUDIOSAMPLERATE_32000Hz: acs = 0x4; break;

  00058	c6 45 f3 04	 mov	 BYTE PTR _acs$[ebp], 4
  0005c	eb 0a		 jmp	 SHORT $LN6@SetAudioSa
$LN2@SetAudioSa:

; 1189 :             // 1000: 44.1 kHz baseband, 270.950 MHz, /3 = DSP
; 1190 :         case AUDIOSAMPLERATE_44100Hz: acs = 0x8; break;

  0005e	c6 45 f3 08	 mov	 BYTE PTR _acs$[ebp], 8
  00062	eb 04		 jmp	 SHORT $LN6@SetAudioSa
$LN1@SetAudioSa:

; 1191 :             // 1100: 48 kHz baseband, 294.912 MHz, /3 = DSP
; 1192 :         case AUDIOSAMPLERATE_48000Hz: acs = 0xC; break;

  00064	c6 45 f3 0c	 mov	 BYTE PTR _acs$[ebp], 12	; 0000000cH
$LN6@SetAudioSa:

; 1193 :         }
; 1194 :     }
; 1195 : 
; 1196 :     WriteData(SAA7133_PLL_CONTROL, _B(SAA7133_PLL_CONTROL_ACS, acs));

  00068	0f b6 55 f3	 movzx	 edx, BYTE PTR _acs$[ebp]
  0006c	83 ec 0c	 sub	 esp, 12			; 0000000cH
  0006f	8b cc		 mov	 ecx, esp
  00071	89 65 ec	 mov	 DWORD PTR $T354895[ebp], esp
  00074	52		 push	 edx
  00075	6a 0f		 push	 15			; 0000000fH
  00077	6a 04		 push	 4
  00079	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  0007e	89 45 e0	 mov	 DWORD PTR tv131[ebp], eax
  00081	8b 45 e0	 mov	 eax, DWORD PTR tv131[ebp]
  00084	89 45 dc	 mov	 DWORD PTR tv130[ebp], eax
  00087	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  0008e	68 ff 00 00 00	 push	 255			; 000000ffH
  00093	68 9b 05 00 00	 push	 1435			; 0000059bH
  00098	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0009f	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  000a2	e8 00 00 00 00	 call	 ?WriteData@CPCICard@@QAEXKKVCBitVector@@@Z ; CPCICard::WriteData

; 1197 : 
; 1198 :     // Update the audio clock and audio clocks per field.
; 1199 :     UpdateAudioClocksPerField7133(m_VideoStandard);

  000a7	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  000aa	8b 91 ac 00 00
	00		 mov	 edx, DWORD PTR [ecx+172]
  000b0	52		 push	 edx
  000b1	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  000b4	e8 00 00 00 00	 call	 ?UpdateAudioClocksPerField7133@CSAA7134Card@@QAEXW4eVideoStandard@CSAA7134Common@@@Z ; CSAA7134Card::UpdateAudioClocksPerField7133

; 1200 : }

  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	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?SetAudioSampleRate7133@CSAA7134Card@@QAEXW4eAudioSampleRate@CSAA7134Common@@@Z$0:
  00000	8b 4d ec	 mov	 ecx, DWORD PTR $T354895[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__ehhandler$?SetAudioSampleRate7133@CSAA7134Card@@QAEXW4eAudioSampleRate@CSAA7134Common@@@Z:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a e4	 mov	 ecx, DWORD PTR [edx-28]
  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$?SetAudioSampleRate7133@CSAA7134Card@@QAEXW4eAudioSampleRate@CSAA7134Common@@@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?SetAudioSampleRate7133@CSAA7134Card@@QAEXW4eAudioSampleRate@CSAA7134Common@@@Z ENDP ; CSAA7134Card::SetAudioSampleRate7133
PUBLIC	?SetAudioSampleRate@CSAA7134Card@@QAEXW4eAudioSampleRate@CSAA7134Common@@@Z ; CSAA7134Card::SetAudioSampleRate
; Function compile flags: /Odtp
;	COMDAT ?SetAudioSampleRate@CSAA7134Card@@QAEXW4eAudioSampleRate@CSAA7134Common@@@Z
_TEXT	SEGMENT
tv89 = -12						; size = 4
_this$ = -8						; size = 4
_SampleFrequency$ = -1					; size = 1
_SampleRate$ = 8					; size = 4
?SetAudioSampleRate@CSAA7134Card@@QAEXW4eAudioSampleRate@CSAA7134Common@@@Z PROC ; CSAA7134Card::SetAudioSampleRate, COMDAT
; _this$ = ecx

; 1138 : {

  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

; 1139 :     if (m_DeviceId == 0x7130)

  00009	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	0f b7 48 08	 movzx	 ecx, WORD PTR [eax+8]
  00010	81 f9 30 71 00
	00		 cmp	 ecx, 28976		; 00007130H
  00016	75 05		 jne	 SHORT $LN10@SetAudioSa@2

; 1140 :     {
; 1141 :         // saa7130 doesn't support this
; 1142 :         return;

  00018	e9 91 00 00 00	 jmp	 $LN11@SetAudioSa@2
$LN10@SetAudioSa@2:

; 1143 :     }
; 1144 :     if (m_DeviceId == 0x7133 || m_DeviceId == 0x7135)

  0001d	8b 55 f8	 mov	 edx, DWORD PTR _this$[ebp]
  00020	0f b7 42 08	 movzx	 eax, WORD PTR [edx+8]
  00024	3d 33 71 00 00	 cmp	 eax, 28979		; 00007133H
  00029	74 0f		 je	 SHORT $LN8@SetAudioSa@2
  0002b	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0002e	0f b7 51 08	 movzx	 edx, WORD PTR [ecx+8]
  00032	81 fa 35 71 00
	00		 cmp	 edx, 28981		; 00007135H
  00038	75 0e		 jne	 SHORT $LN9@SetAudioSa@2
$LN8@SetAudioSa@2:

; 1145 :     {
; 1146 :         SetAudioSampleRate7133(SampleRate);

  0003a	8b 45 08	 mov	 eax, DWORD PTR _SampleRate$[ebp]
  0003d	50		 push	 eax
  0003e	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00041	e8 00 00 00 00	 call	 ?SetAudioSampleRate7133@CSAA7134Card@@QAEXW4eAudioSampleRate@CSAA7134Common@@@Z ; CSAA7134Card::SetAudioSampleRate7133

; 1147 :         return;

  00046	eb 66		 jmp	 SHORT $LN11@SetAudioSa@2
$LN9@SetAudioSa@2:

; 1148 :     }
; 1149 : 
; 1150 :     BYTE SampleFrequency = 0;

  00048	c6 45 ff 00	 mov	 BYTE PTR _SampleFrequency$[ebp], 0

; 1151 : 
; 1152 :     if (m_AudioInputSource == AUDIOINPUTSOURCE_DAC)

  0004c	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0004f	83 b9 b0 00 00
	00 02		 cmp	 DWORD PTR [ecx+176], 2
  00056	75 06		 jne	 SHORT $LN7@SetAudioSa@2

; 1153 :     {
; 1154 :         // SampleRate is always AUDIOSAMPLERATE_32000Hz;
; 1155 :         SampleFrequency = 0x40;

  00058	c6 45 ff 40	 mov	 BYTE PTR _SampleFrequency$[ebp], 64 ; 00000040H

; 1156 :     }
; 1157 :     else

  0005c	eb 2a		 jmp	 SHORT $LN6@SetAudioSa@2
$LN7@SetAudioSa@2:

; 1158 :     {
; 1159 :         switch (SampleRate)

  0005e	8b 55 08	 mov	 edx, DWORD PTR _SampleRate$[ebp]
  00061	89 55 f4	 mov	 DWORD PTR tv89[ebp], edx
  00064	83 7d f4 00	 cmp	 DWORD PTR tv89[ebp], 0
  00068	74 0e		 je	 SHORT $LN3@SetAudioSa@2
  0006a	83 7d f4 01	 cmp	 DWORD PTR tv89[ebp], 1
  0006e	74 0e		 je	 SHORT $LN2@SetAudioSa@2
  00070	83 7d f4 02	 cmp	 DWORD PTR tv89[ebp], 2
  00074	74 0e		 je	 SHORT $LN1@SetAudioSa@2
  00076	eb 10		 jmp	 SHORT $LN6@SetAudioSa@2
$LN3@SetAudioSa@2:

; 1160 :         {
; 1161 :         case AUDIOSAMPLERATE_32000Hz: SampleFrequency = 0x01; break;

  00078	c6 45 ff 01	 mov	 BYTE PTR _SampleFrequency$[ebp], 1
  0007c	eb 0a		 jmp	 SHORT $LN6@SetAudioSa@2
$LN2@SetAudioSa@2:

; 1162 :         case AUDIOSAMPLERATE_44100Hz: SampleFrequency = 0x02; break;

  0007e	c6 45 ff 02	 mov	 BYTE PTR _SampleFrequency$[ebp], 2
  00082	eb 04		 jmp	 SHORT $LN6@SetAudioSa@2
$LN1@SetAudioSa@2:

; 1163 :         case AUDIOSAMPLERATE_48000Hz: SampleFrequency = 0x03; break;

  00084	c6 45 ff 03	 mov	 BYTE PTR _SampleFrequency$[ebp], 3
$LN6@SetAudioSa@2:

; 1164 :         }
; 1165 :     }
; 1166 : 
; 1167 :     MaskDataByte(SAA7134_SIF_SAMPLE_FREQ, SampleFrequency,
; 1168 :         SAA7134_SIF_SAMPLE_FREQ_SFS);

  00088	6a 03		 push	 3
  0008a	0f b6 45 ff	 movzx	 eax, BYTE PTR _SampleFrequency$[ebp]
  0008e	50		 push	 eax
  0008f	68 6d 01 00 00	 push	 365			; 0000016dH
  00094	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00097	e8 00 00 00 00	 call	 ?MaskDataByte@CPCICard@@QAEXKEE@Z ; CPCICard::MaskDataByte

; 1169 : 
; 1170 :     UpdateAudioClocksPerField(m_VideoStandard);

  0009c	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0009f	8b 91 ac 00 00
	00		 mov	 edx, DWORD PTR [ecx+172]
  000a5	52		 push	 edx
  000a6	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  000a9	e8 00 00 00 00	 call	 ?UpdateAudioClocksPerField@CSAA7134Card@@IAEXW4eVideoStandard@CSAA7134Common@@@Z ; CSAA7134Card::UpdateAudioClocksPerField
$LN11@SetAudioSa@2:

; 1171 : }

  000ae	8b e5		 mov	 esp, ebp
  000b0	5d		 pop	 ebp
  000b1	c2 04 00	 ret	 4
?SetAudioSampleRate@CSAA7134Card@@QAEXW4eAudioSampleRate@CSAA7134Common@@@Z ENDP ; CSAA7134Card::SetAudioSampleRate
_TEXT	ENDS
PUBLIC	?ReadDSPData7133@CSAA7134Card@@QAEHKKAAVCBitVector@@@Z ; CSAA7134Card::ReadDSPData7133
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?ReadDSPData7133@CSAA7134Card@@QAEHKKAAVCBitVector@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?ReadDSPData7133@CSAA7134Card@@QAEHKKAAVCBitVector@@@Z$0
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?ReadDSPData7133@CSAA7134Card@@QAEHKKAAVCBitVector@@@Z$1
__ehfuncinfo$?ReadDSPData7133@CSAA7134Card@@QAEHKKAAVCBitVector@@@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$?ReadDSPData7133@CSAA7134Card@@QAEHKKAAVCBitVector@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?ReadDSPData7133@CSAA7134Card@@QAEHKKAAVCBitVector@@@Z
_TEXT	SEGMENT
tv142 = -56						; size = 4
tv146 = -52						; size = 4
_this$ = -48						; size = 4
$T354909 = -44						; size = 4
$T354908 = -40						; size = 4
$T354907 = -36						; size = 12
_ctrl$ = -24						; size = 12
__$EHRec$ = -12						; size = 12
_registerOffset$ = 8					; size = 4
_registerMask$ = 12					; size = 4
_value$ = 16						; size = 4
?ReadDSPData7133@CSAA7134Card@@QAEHKKAAVCBitVector@@@Z PROC ; CSAA7134Card::ReadDSPData7133, COMDAT
; _this$ = ecx

; 274  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?ReadDSPData7133@CSAA7134Card@@QAEHKKAAVCBitVector@@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 2c	 sub	 esp, 44			; 0000002cH
  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 d0	 mov	 DWORD PTR _this$[ebp], ecx

; 275  : #ifdef _DEBUG
; 276  :     if (registerOffset < 0x400 || registerOffset >= 0x500)
; 277  :     {
; 278  :         LOGD(_T("ReadDSPData7133 used for low latency register %lu!"), registerOffset);
; 279  :         value = ReadData(registerOffset, registerMask);
; 280  :         return TRUE;
; 281  :     }
; 282  : #endif
; 283  : 
; 284  :     // Read DSP data according to the high latency read protocol.
; 285  :     if (!StartDSPAccess7133())

  00028	8b 4d d0	 mov	 ecx, DWORD PTR _this$[ebp]
  0002b	e8 00 00 00 00	 call	 ?StartDSPAccess7133@CSAA7134Card@@QAEHXZ ; CSAA7134Card::StartDSPAccess7133
  00030	85 c0		 test	 eax, eax
  00032	75 07		 jne	 SHORT $LN3@ReadDSPDat

; 286  :     {
; 287  :         return FALSE;

  00034	33 c0		 xor	 eax, eax
  00036	e9 d2 00 00 00	 jmp	 $LN4@ReadDSPDat
$LN3@ReadDSPDat:

; 288  :     }
; 289  : 
; 290  :     // First, read to tell the DSP the address we want.
; 291  :     ReadDword(registerOffset);

  0003b	8b 45 08	 mov	 eax, DWORD PTR _registerOffset$[ebp]
  0003e	50		 push	 eax
  0003f	8b 4d d0	 mov	 ecx, DWORD PTR _this$[ebp]
  00042	e8 00 00 00 00	 call	 ?ReadDword@CPCICard@@QAEKK@Z ; CPCICard::ReadDword

; 292  : 
; 293  :     // Wait for the data to be prepped.
; 294  :     if (!WaitDSPAccessState7133(TRUE))

  00047	6a 01		 push	 1
  00049	8b 4d d0	 mov	 ecx, DWORD PTR _this$[ebp]
  0004c	e8 00 00 00 00	 call	 ?WaitDSPAccessState7133@CSAA7134Card@@QAEHH@Z ; CSAA7134Card::WaitDSPAccessState7133
  00051	85 c0		 test	 eax, eax
  00053	75 07		 jne	 SHORT $LN2@ReadDSPDat

; 295  :     {
; 296  :         return FALSE;

  00055	33 c0		 xor	 eax, eax
  00057	e9 b1 00 00 00	 jmp	 $LN4@ReadDSPDat
$LN2@ReadDSPDat:

; 297  :     }
; 298  : 
; 299  :     // Read the actual data.
; 300  :     value = CBitVector(registerMask, ReadDword(registerOffset));

  0005c	8b 4d 08	 mov	 ecx, DWORD PTR _registerOffset$[ebp]
  0005f	51		 push	 ecx
  00060	8b 4d d0	 mov	 ecx, DWORD PTR _this$[ebp]
  00063	e8 00 00 00 00	 call	 ?ReadDword@CPCICard@@QAEKK@Z ; CPCICard::ReadDword
  00068	50		 push	 eax
  00069	8b 55 0c	 mov	 edx, DWORD PTR _registerMask$[ebp]
  0006c	52		 push	 edx
  0006d	8d 4d dc	 lea	 ecx, DWORD PTR $T354907[ebp]
  00070	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@KK@Z	; CBitVector::CBitVector
  00075	89 45 cc	 mov	 DWORD PTR tv146[ebp], eax
  00078	8b 45 cc	 mov	 eax, DWORD PTR tv146[ebp]
  0007b	89 45 c8	 mov	 DWORD PTR tv142[ebp], eax
  0007e	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00085	8b 4d c8	 mov	 ecx, DWORD PTR tv142[ebp]
  00088	51		 push	 ecx
  00089	8b 4d 10	 mov	 ecx, DWORD PTR _value$[ebp]
  0008c	e8 00 00 00 00	 call	 ??4CBitVector@@QAEAAV0@ABV0@@Z
  00091	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00098	8d 4d dc	 lea	 ecx, DWORD PTR $T354907[ebp]
  0009b	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector

; 301  : 
; 302  :     // Check the IDA flag to make sure the read data is valid.
; 303  :     CBitVector ctrl = ReadData(SAA7133_EPICS_ACCESS_STATUS);

  000a0	6a 0f		 push	 15			; 0000000fH
  000a2	68 80 05 00 00	 push	 1408			; 00000580H
  000a7	8d 55 e8	 lea	 edx, DWORD PTR _ctrl$[ebp]
  000aa	52		 push	 edx
  000ab	8b 4d d0	 mov	 ecx, DWORD PTR _this$[ebp]
  000ae	e8 00 00 00 00	 call	 ?ReadData@CPCICard@@QAE?AVCBitVector@@KK@Z ; CPCICard::ReadData
  000b3	c7 45 fc 01 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 1

; 304  :     if (!ctrl.value(SAA7133_EPICS_ACCESS_STATUS_IDA))

  000ba	6a 01		 push	 1
  000bc	6a 02		 push	 2
  000be	8d 4d e8	 lea	 ecx, DWORD PTR _ctrl$[ebp]
  000c1	e8 00 00 00 00	 call	 ?value@CBitVector@@UBEKEE@Z ; CBitVector::value
  000c6	85 c0		 test	 eax, eax
  000c8	75 2a		 jne	 SHORT $LN1@ReadDSPDat

; 305  :     {
; 306  :         LOG(0, _T("SAA7133: Unexpected Error: IDA was not set after second DSP read."));

  000ca	68 00 00 00 00	 push	 OFFSET ??_C@_1IE@IBFLKGKD@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AA3?$AA?3?$AA?5?$AAU?$AAn?$AAe?$AAx?$AAp?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?3?$AA?5?$AAI?$AAD?$AAA?$AA?5?$AAw@
  000cf	6a 00		 push	 0
  000d1	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  000d6	83 c4 08	 add	 esp, 8

; 307  :         return FALSE;

  000d9	c7 45 d8 00 00
	00 00		 mov	 DWORD PTR $T354908[ebp], 0
  000e0	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  000e7	8d 4d e8	 lea	 ecx, DWORD PTR _ctrl$[ebp]
  000ea	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  000ef	8b 45 d8	 mov	 eax, DWORD PTR $T354908[ebp]
  000f2	eb 19		 jmp	 SHORT $LN4@ReadDSPDat
$LN1@ReadDSPDat:

; 308  :     }
; 309  :     return TRUE;

  000f4	c7 45 d4 01 00
	00 00		 mov	 DWORD PTR $T354909[ebp], 1
  000fb	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00102	8d 4d e8	 lea	 ecx, DWORD PTR _ctrl$[ebp]
  00105	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  0010a	8b 45 d4	 mov	 eax, DWORD PTR $T354909[ebp]
$LN4@ReadDSPDat:

; 310  : }

  0010d	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00110	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00117	59		 pop	 ecx
  00118	8b e5		 mov	 esp, ebp
  0011a	5d		 pop	 ebp
  0011b	c2 0c 00	 ret	 12			; 0000000cH
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?ReadDSPData7133@CSAA7134Card@@QAEHKKAAVCBitVector@@@Z$0:
  00000	8d 4d dc	 lea	 ecx, DWORD PTR $T354907[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?ReadDSPData7133@CSAA7134Card@@QAEHKKAAVCBitVector@@@Z$1:
  00008	8d 4d e8	 lea	 ecx, DWORD PTR _ctrl$[ebp]
  0000b	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__ehhandler$?ReadDSPData7133@CSAA7134Card@@QAEHKKAAVCBitVector@@@Z:
  00010	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00014	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00017	8b 4a d0	 mov	 ecx, DWORD PTR [edx-48]
  0001a	33 c8		 xor	 ecx, eax
  0001c	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00021	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?ReadDSPData7133@CSAA7134Card@@QAEHKKAAVCBitVector@@@Z
  00026	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?ReadDSPData7133@CSAA7134Card@@QAEHKKAAVCBitVector@@@Z ENDP ; CSAA7134Card::ReadDSPData7133
PUBLIC	?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z ; CSAA7134Card::WriteDSPData7133
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z$1
__ehfuncinfo$?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z
_TEXT	SEGMENT
_this$ = -44						; size = 4
$T354922 = -40						; size = 4
$T354921 = -36						; size = 4
$T354920 = -32						; size = 4
_b$145346 = -28						; size = 12
_previousValue$ = -16					; size = 4
__$EHRec$ = -12						; size = 12
_registerOffset$ = 8					; size = 4
_registerMask$ = 12					; size = 4
_value$ = 16						; size = 12
?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z PROC ; CSAA7134Card::WriteDSPData7133, COMDAT
; _this$ = ecx

; 225  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 20	 sub	 esp, 32			; 00000020H
  00014	56		 push	 esi
  00015	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001a	33 c5		 xor	 eax, ebp
  0001c	50		 push	 eax
  0001d	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00020	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00026	89 4d d4	 mov	 DWORD PTR _this$[ebp], ecx
  00029	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 226  : #ifdef _DEBUG
; 227  :     if (registerOffset < 0x400 || registerOffset >= 0x580)
; 228  :     {
; 229  :         LOGD(_T("WriteDSPData7133 used for low latency register %lu!"), registerOffset);
; 230  :         WriteData(registerOffset, registerMask, value);
; 231  :         return TRUE;
; 232  :     }
; 233  : #endif
; 234  : 
; 235  :     DWORD previousValue = 0;

  00030	c7 45 f0 00 00
	00 00		 mov	 DWORD PTR _previousValue$[ebp], 0

; 236  : 
; 237  :     if (value.mask() != registerMask)

  00037	8d 4d 10	 lea	 ecx, DWORD PTR _value$[ebp]
  0003a	e8 00 00 00 00	 call	 ?mask@CBitVector@@UBEKXZ ; CBitVector::mask
  0003f	3b 45 0c	 cmp	 eax, DWORD PTR _registerMask$[ebp]
  00042	74 63		 je	 SHORT $LN3@WriteDSPDa

; 238  :     //if ((value.mask() & registerMask) != 0xffffffff)
; 239  :     {
; 240  :         CBitVector b;

  00044	8d 4d e4	 lea	 ecx, DWORD PTR _b$145346[ebp]
  00047	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@XZ	; CBitVector::CBitVector
  0004c	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1

; 241  :         if (!ReadDSPData7133(registerOffset, 0xffffffff, b))

  00050	8d 45 e4	 lea	 eax, DWORD PTR _b$145346[ebp]
  00053	50		 push	 eax
  00054	6a ff		 push	 -1
  00056	8b 4d 08	 mov	 ecx, DWORD PTR _registerOffset$[ebp]
  00059	51		 push	 ecx
  0005a	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  0005d	e8 00 00 00 00	 call	 ?ReadDSPData7133@CSAA7134Card@@QAEHKKAAVCBitVector@@@Z ; CSAA7134Card::ReadDSPData7133
  00062	85 c0		 test	 eax, eax
  00064	75 2a		 jne	 SHORT $LN2@WriteDSPDa

; 242  :         {
; 243  :             return FALSE;

  00066	c7 45 e0 00 00
	00 00		 mov	 DWORD PTR $T354920[ebp], 0
  0006d	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  00071	8d 4d e4	 lea	 ecx, DWORD PTR _b$145346[ebp]
  00074	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  00079	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00080	8d 4d 10	 lea	 ecx, DWORD PTR _value$[ebp]
  00083	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  00088	8b 45 e0	 mov	 eax, DWORD PTR $T354920[ebp]
  0008b	e9 89 00 00 00	 jmp	 $LN4@WriteDSPDa
$LN2@WriteDSPDa:

; 244  :         }
; 245  :         previousValue = b.value();

  00090	8d 4d e4	 lea	 ecx, DWORD PTR _b$145346[ebp]
  00093	e8 00 00 00 00	 call	 ?value@CBitVector@@UBEKXZ ; CBitVector::value
  00098	89 45 f0	 mov	 DWORD PTR _previousValue$[ebp], eax

; 246  :     }

  0009b	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  0009f	8d 4d e4	 lea	 ecx, DWORD PTR _b$145346[ebp]
  000a2	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
$LN3@WriteDSPDa:

; 247  : 
; 248  :     // Write DSP data according to the high latency write protocol.
; 249  :     // All DSP registers are DWORD in size and this function will work
; 250  :     // exclusively with this size.  It's assumed that registerMask
; 251  :     // encompasses all operable bits in the registerOffset's DWORD space.
; 252  :     // As long as there're no registers that do otherwise (and I haven't
; 253  :     // defined any such in SAA7134_Defines.h, this optimized approach
; 254  :     // should be fine).  Otherwise, the commented out if expression above
; 255  :     // will need to be used instead (which will cause much more frequent
; 256  :     // reads).
; 257  : 
; 258  :     if (!StartDSPAccess7133())

  000a7	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  000aa	e8 00 00 00 00	 call	 ?StartDSPAccess7133@CSAA7134Card@@QAEHXZ ; CSAA7134Card::StartDSPAccess7133
  000af	85 c0		 test	 eax, eax
  000b1	75 1b		 jne	 SHORT $LN1@WriteDSPDa

; 259  :     {
; 260  :         return FALSE;

  000b3	c7 45 dc 00 00
	00 00		 mov	 DWORD PTR $T354921[ebp], 0
  000ba	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  000c1	8d 4d 10	 lea	 ecx, DWORD PTR _value$[ebp]
  000c4	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  000c9	8b 45 dc	 mov	 eax, DWORD PTR $T354921[ebp]
  000cc	eb 4b		 jmp	 SHORT $LN4@WriteDSPDa
$LN1@WriteDSPDa:

; 261  :     }
; 262  : 
; 263  :     // Write to the DSP.  WriteData() cannot be used to write the data
; 264  :     // because it can cause a read on the same register.
; 265  :     WriteDword(registerOffset,
; 266  :         (previousValue & ~(value.mask() & registerMask)) | (value.value() & registerMask));

  000ce	8d 4d 10	 lea	 ecx, DWORD PTR _value$[ebp]
  000d1	e8 00 00 00 00	 call	 ?mask@CBitVector@@UBEKXZ ; CBitVector::mask
  000d6	8b f0		 mov	 esi, eax
  000d8	23 75 0c	 and	 esi, DWORD PTR _registerMask$[ebp]
  000db	f7 d6		 not	 esi
  000dd	23 75 f0	 and	 esi, DWORD PTR _previousValue$[ebp]
  000e0	8d 4d 10	 lea	 ecx, DWORD PTR _value$[ebp]
  000e3	e8 00 00 00 00	 call	 ?value@CBitVector@@UBEKXZ ; CBitVector::value
  000e8	23 45 0c	 and	 eax, DWORD PTR _registerMask$[ebp]
  000eb	0b f0		 or	 esi, eax
  000ed	56		 push	 esi
  000ee	8b 55 08	 mov	 edx, DWORD PTR _registerOffset$[ebp]
  000f1	52		 push	 edx
  000f2	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  000f5	e8 00 00 00 00	 call	 ?WriteDword@CPCICard@@QAEXKK@Z ; CPCICard::WriteDword

; 267  : 
; 268  :     // Wait for the write to complete.
; 269  :     return WaitDSPAccessState7133(FALSE);

  000fa	6a 00		 push	 0
  000fc	8b 4d d4	 mov	 ecx, DWORD PTR _this$[ebp]
  000ff	e8 00 00 00 00	 call	 ?WaitDSPAccessState7133@CSAA7134Card@@QAEHH@Z ; CSAA7134Card::WaitDSPAccessState7133
  00104	89 45 d8	 mov	 DWORD PTR $T354922[ebp], eax
  00107	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0010e	8d 4d 10	 lea	 ecx, DWORD PTR _value$[ebp]
  00111	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  00116	8b 45 d8	 mov	 eax, DWORD PTR $T354922[ebp]
$LN4@WriteDSPDa:

; 270  : }

  00119	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0011c	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00123	59		 pop	 ecx
  00124	5e		 pop	 esi
  00125	8b e5		 mov	 esp, ebp
  00127	5d		 pop	 ebp
  00128	c2 14 00	 ret	 20			; 00000014H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z$0:
  00000	8d 4d 10	 lea	 ecx, DWORD PTR _value$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z$1:
  00008	8d 4d e4	 lea	 ecx, DWORD PTR _b$145346[ebp]
  0000b	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__ehhandler$?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z:
  00010	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00014	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00017	8b 4a d8	 mov	 ecx, DWORD PTR [edx-40]
  0001a	33 c8		 xor	 ecx, eax
  0001c	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00021	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z
  00026	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z ENDP ; CSAA7134Card::WriteDSPData7133
PUBLIC	?InitAudio7133@CSAA7134Card@@QAEXXZ		; CSAA7134Card::InitAudio7133
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?InitAudio7133@CSAA7134Card@@QAEXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?InitAudio7133@CSAA7134Card@@QAEXXZ$0
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?InitAudio7133@CSAA7134Card@@QAEXXZ$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?InitAudio7133@CSAA7134Card@@QAEXXZ$2
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?InitAudio7133@CSAA7134Card@@QAEXXZ$3
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?InitAudio7133@CSAA7134Card@@QAEXXZ$4
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?InitAudio7133@CSAA7134Card@@QAEXXZ$5
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?InitAudio7133@CSAA7134Card@@QAEXXZ$6
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?InitAudio7133@CSAA7134Card@@QAEXXZ$7
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?InitAudio7133@CSAA7134Card@@QAEXXZ$8
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?InitAudio7133@CSAA7134Card@@QAEXXZ$9
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?InitAudio7133@CSAA7134Card@@QAEXXZ$10
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?InitAudio7133@CSAA7134Card@@QAEXXZ$11
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?InitAudio7133@CSAA7134Card@@QAEXXZ$12
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?InitAudio7133@CSAA7134Card@@QAEXXZ$13
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?InitAudio7133@CSAA7134Card@@QAEXXZ$14
__ehfuncinfo$?InitAudio7133@CSAA7134Card@@QAEXXZ DD 019930522H
	DD	0fH
	DD	FLAT:__unwindtable$?InitAudio7133@CSAA7134Card@@QAEXXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?InitAudio7133@CSAA7134Card@@QAEXXZ
_TEXT	SEGMENT
tv402 = -196						; size = 4
tv417 = -192						; size = 4
tv400 = -188						; size = 4
tv416 = -184						; size = 4
tv398 = -180						; size = 4
tv415 = -176						; size = 4
tv396 = -172						; size = 4
tv414 = -168						; size = 4
tv394 = -164						; size = 4
tv413 = -160						; size = 4
tv392 = -156						; size = 4
tv412 = -152						; size = 4
tv390 = -148						; size = 4
tv411 = -144						; size = 4
tv388 = -140						; size = 4
tv410 = -136						; size = 4
tv386 = -132						; size = 4
tv409 = -128						; size = 4
tv384 = -124						; size = 4
tv408 = -120						; size = 4
tv382 = -116						; size = 4
tv407 = -112						; size = 4
tv380 = -108						; size = 4
tv406 = -104						; size = 4
tv378 = -100						; size = 4
tv405 = -96						; size = 4
tv376 = -92						; size = 4
tv404 = -88						; size = 4
tv374 = -84						; size = 4
tv403 = -80						; size = 4
_this$ = -76						; size = 4
$T354947 = -72						; size = 4
$T354946 = -68						; size = 4
$T354945 = -64						; size = 4
$T354944 = -60						; size = 4
$T354943 = -56						; size = 4
$T354942 = -52						; size = 4
$T354941 = -48						; size = 4
$T354940 = -44						; size = 4
$T354939 = -40						; size = 4
$T354938 = -36						; size = 4
$T354937 = -32						; size = 4
$T354936 = -28						; size = 4
$T354935 = -24						; size = 4
$T354934 = -20						; size = 4
$T354933 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?InitAudio7133@CSAA7134Card@@QAEXXZ PROC		; CSAA7134Card::InitAudio7133, COMDAT
; _this$ = ecx

; 110  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?InitAudio7133@CSAA7134Card@@QAEXXZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	81 ec b8 00 00
	00		 sub	 esp, 184		; 000000b8H
  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001c	33 c5		 xor	 eax, ebp
  0001e	50		 push	 eax
  0001f	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00022	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00028	89 4d b4	 mov	 DWORD PTR _this$[ebp], ecx

; 111  :     // Out = Line1, In = line2, VSEL = 2.0Vrms for line 1/2.
; 112  :     // Doing this should effectively mute audio.
; 113  :     WriteData(SAA7133_ANALOG_IO_SELECT, 0x34);

  0002b	83 ec 0c	 sub	 esp, 12			; 0000000cH
  0002e	8b cc		 mov	 ecx, esp
  00030	89 65 f0	 mov	 DWORD PTR $T354933[ebp], esp
  00033	6a 34		 push	 52			; 00000034H
  00035	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@K@Z	; CBitVector::CBitVector
  0003a	89 45 b0	 mov	 DWORD PTR tv403[ebp], eax
  0003d	8b 45 b0	 mov	 eax, DWORD PTR tv403[ebp]
  00040	89 45 ac	 mov	 DWORD PTR tv374[ebp], eax
  00043	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  0004a	6a 3f		 push	 63			; 0000003fH
  0004c	68 94 05 00 00	 push	 1428			; 00000594H
  00051	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00058	8b 4d b4	 mov	 ecx, DWORD PTR _this$[ebp]
  0005b	e8 00 00 00 00	 call	 ?WriteData@CPCICard@@QAEXKKVCBitVector@@@Z ; CPCICard::WriteData

; 114  : 
; 115  :     // Some of these settings are audio DMA related and are
; 116  :     // probably not necessary since we don't use DMA.
; 117  : 
; 118  :     // Number of samples = 0x0fff + 1 = 4096. (p125)
; 119  :     WriteData(SAA7133_NUM_SAMPLES, 0x000fff);

  00060	83 ec 0c	 sub	 esp, 12			; 0000000cH
  00063	8b cc		 mov	 ecx, esp
  00065	89 65 ec	 mov	 DWORD PTR $T354934[ebp], esp
  00068	68 ff 0f 00 00	 push	 4095			; 00000fffH
  0006d	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@K@Z	; CBitVector::CBitVector
  00072	89 45 a8	 mov	 DWORD PTR tv404[ebp], eax
  00075	8b 4d a8	 mov	 ecx, DWORD PTR tv404[ebp]
  00078	89 4d a4	 mov	 DWORD PTR tv376[ebp], ecx
  0007b	c7 45 fc 01 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 1
  00082	68 ff ff 3f 00	 push	 4194303			; 003fffffH
  00087	68 88 05 00 00	 push	 1416			; 00000588H
  0008c	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00093	8b 4d b4	 mov	 ecx, DWORD PTR _this$[ebp]
  00096	e8 00 00 00 00	 call	 ?WriteData@CPCICard@@QAEXKKVCBitVector@@@Z ; CPCICard::WriteData

; 120  :     // Audio-DSP (EPICS) is input source.
; 121  :     WriteData(SAA7133_AUDIO_SELECT, 0x00);

  0009b	83 ec 0c	 sub	 esp, 12			; 0000000cH
  0009e	8b cc		 mov	 ecx, esp
  000a0	89 65 e8	 mov	 DWORD PTR $T354935[ebp], esp
  000a3	6a 00		 push	 0
  000a5	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@K@Z	; CBitVector::CBitVector
  000aa	89 45 a0	 mov	 DWORD PTR tv405[ebp], eax
  000ad	8b 55 a0	 mov	 edx, DWORD PTR tv405[ebp]
  000b0	89 55 9c	 mov	 DWORD PTR tv378[ebp], edx
  000b3	c7 45 fc 02 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 2
  000ba	6a 03		 push	 3
  000bc	68 8b 05 00 00	 push	 1419			; 0000058bH
  000c1	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  000c8	8b 4d b4	 mov	 ecx, DWORD PTR _this$[ebp]
  000cb	e8 00 00 00 00	 call	 ?WriteData@CPCICard@@QAEXKKVCBitVector@@@Z ; CPCICard::WriteData

; 122  :     // Number for assigned DSP channels 0 to 5.
; 123  :     WriteData(SAA7133_AUDIO_CHANNEL, 0x543210);

  000d0	83 ec 0c	 sub	 esp, 12			; 0000000cH
  000d3	8b cc		 mov	 ecx, esp
  000d5	89 65 e4	 mov	 DWORD PTR $T354936[ebp], esp
  000d8	68 10 32 54 00	 push	 5517840			; 00543210H
  000dd	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@K@Z	; CBitVector::CBitVector
  000e2	89 45 98	 mov	 DWORD PTR tv406[ebp], eax
  000e5	8b 45 98	 mov	 eax, DWORD PTR tv406[ebp]
  000e8	89 45 94	 mov	 DWORD PTR tv380[ebp], eax
  000eb	c7 45 fc 03 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 3
  000f2	68 ff ff ff 00	 push	 16777215		; 00ffffffH
  000f7	68 8c 05 00 00	 push	 1420			; 0000058cH
  000fc	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00103	8b 4d b4	 mov	 ecx, DWORD PTR _this$[ebp]
  00106	e8 00 00 00 00	 call	 ?WriteData@CPCICard@@QAEXKKVCBitVector@@@Z ; CPCICard::WriteData

; 124  :     // 2-channels, 2s comp 32bit, 32bit data for PCI-word. (p126)
; 125  :     WriteData(SAA7133_AUDIO_FORMAT, 0x23);

  0010b	83 ec 0c	 sub	 esp, 12			; 0000000cH
  0010e	8b cc		 mov	 ecx, esp
  00110	89 65 e0	 mov	 DWORD PTR $T354937[ebp], esp
  00113	6a 23		 push	 35			; 00000023H
  00115	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@K@Z	; CBitVector::CBitVector
  0011a	89 45 90	 mov	 DWORD PTR tv407[ebp], eax
  0011d	8b 4d 90	 mov	 ecx, DWORD PTR tv407[ebp]
  00120	89 4d 8c	 mov	 DWORD PTR tv382[ebp], ecx
  00123	c7 45 fc 04 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 4
  0012a	68 ff 00 00 00	 push	 255			; 000000ffH
  0012f	68 8f 05 00 00	 push	 1423			; 0000058fH
  00134	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0013b	8b 4d b4	 mov	 ecx, DWORD PTR _this$[ebp]
  0013e	e8 00 00 00 00	 call	 ?WriteData@CPCICard@@QAEXKKVCBitVector@@@Z ; CPCICard::WriteData

; 126  : 
; 127  :     // Auto standard detect allowing B/G/D/K/M,
; 128  :     // default for bunch of other settings. (p112)
; 129  :     WriteDSPData7133(SAA7133_A_EASY_PROGRAMMING, 0x00004c);

  00143	83 ec 0c	 sub	 esp, 12			; 0000000cH
  00146	8b cc		 mov	 ecx, esp
  00148	89 65 dc	 mov	 DWORD PTR $T354938[ebp], esp
  0014b	6a 4c		 push	 76			; 0000004cH
  0014d	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@K@Z	; CBitVector::CBitVector
  00152	89 45 88	 mov	 DWORD PTR tv408[ebp], eax
  00155	8b 55 88	 mov	 edx, DWORD PTR tv408[ebp]
  00158	89 55 84	 mov	 DWORD PTR tv384[ebp], edx
  0015b	c7 45 fc 05 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 5
  00162	68 ff ff 0f 00	 push	 1048575			; 000fffffH
  00167	68 54 04 00 00	 push	 1108			; 00000454H
  0016c	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00173	8b 4d b4	 mov	 ecx, DWORD PTR _this$[ebp]
  00176	e8 00 00 00 00	 call	 ?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z ; CSAA7134Card::WriteDSPData7133

; 130  :     // Main matrix = AB[stereo], source = DECODER, same for Dolby (p120)
; 131  :     WriteDSPData7133(SAA7133_A_DIGITAL_INPUT_XBAR1, 0x0000);

  0017b	83 ec 0c	 sub	 esp, 12			; 0000000cH
  0017e	8b cc		 mov	 ecx, esp
  00180	89 65 d8	 mov	 DWORD PTR $T354939[ebp], esp
  00183	6a 00		 push	 0
  00185	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@K@Z	; CBitVector::CBitVector
  0018a	89 45 80	 mov	 DWORD PTR tv409[ebp], eax
  0018d	8b 45 80	 mov	 eax, DWORD PTR tv409[ebp]
  00190	89 85 7c ff ff
	ff		 mov	 DWORD PTR tv386[ebp], eax
  00196	c7 45 fc 06 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 6
  0019d	68 ff ff 00 00	 push	 65535			; 0000ffffH
  001a2	68 64 04 00 00	 push	 1124			; 00000464H
  001a7	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  001ae	8b 4d b4	 mov	 ecx, DWORD PTR _this$[ebp]
  001b1	e8 00 00 00 00	 call	 ?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z ; CSAA7134Card::WriteDSPData7133

; 132  :     // Same for AUX1 and AUX2
; 133  :     WriteDSPData7133(SAA7133_A_DIGITAL_INPUT_XBAR2, 0x0000);

  001b6	83 ec 0c	 sub	 esp, 12			; 0000000cH
  001b9	8b cc		 mov	 ecx, esp
  001bb	89 65 d4	 mov	 DWORD PTR $T354940[ebp], esp
  001be	6a 00		 push	 0
  001c0	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@K@Z	; CBitVector::CBitVector
  001c5	89 85 78 ff ff
	ff		 mov	 DWORD PTR tv410[ebp], eax
  001cb	8b 8d 78 ff ff
	ff		 mov	 ecx, DWORD PTR tv410[ebp]
  001d1	89 8d 74 ff ff
	ff		 mov	 DWORD PTR tv388[ebp], ecx
  001d7	c7 45 fc 07 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 7
  001de	68 ff ff 00 00	 push	 65535			; 0000ffffH
  001e3	68 68 04 00 00	 push	 1128			; 00000468H
  001e8	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  001ef	8b 4d b4	 mov	 ecx, DWORD PTR _this$[ebp]
  001f2	e8 00 00 00 00	 call	 ?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z ; CSAA7134Card::WriteDSPData7133

; 134  :     // DMA1 = MAIN L, DMA2 = MAIN R, silence for others. (p124)
; 135  :     WriteDSPData7133(SAA7133_A_DIGITAL_OUTPUT_SEL1, 0x00bbbb10);

  001f7	83 ec 0c	 sub	 esp, 12			; 0000000cH
  001fa	8b cc		 mov	 ecx, esp
  001fc	89 65 d0	 mov	 DWORD PTR $T354941[ebp], esp
  001ff	68 10 bb bb 00	 push	 12303120		; 00bbbb10H
  00204	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@K@Z	; CBitVector::CBitVector
  00209	89 85 70 ff ff
	ff		 mov	 DWORD PTR tv411[ebp], eax
  0020f	8b 95 70 ff ff
	ff		 mov	 edx, DWORD PTR tv411[ebp]
  00215	89 95 6c ff ff
	ff		 mov	 DWORD PTR tv390[ebp], edx
  0021b	c7 45 fc 08 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 8
  00222	68 ff ff ff 00	 push	 16777215		; 00ffffffH
  00227	68 6c 04 00 00	 push	 1132			; 0000046cH
  0022c	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00233	8b 4d b4	 mov	 ecx, DWORD PTR _this$[ebp]
  00236	e8 00 00 00 00	 call	 ?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z ; CSAA7134Card::WriteDSPData7133

; 136  :     // DAC L/R = MAIN L/R, I2S'1 L/R = MAIN L/R, I2S'2 = MAIN L/R
; 137  :     WriteDSPData7133(SAA7133_A_DIGITAL_OUTPUT_SEL2, 0x00101010);

  0023b	83 ec 0c	 sub	 esp, 12			; 0000000cH
  0023e	8b cc		 mov	 ecx, esp
  00240	89 65 cc	 mov	 DWORD PTR $T354942[ebp], esp
  00243	68 10 10 10 00	 push	 1052688			; 00101010H
  00248	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@K@Z	; CBitVector::CBitVector
  0024d	89 85 68 ff ff
	ff		 mov	 DWORD PTR tv412[ebp], eax
  00253	8b 85 68 ff ff
	ff		 mov	 eax, DWORD PTR tv412[ebp]
  00259	89 85 64 ff ff
	ff		 mov	 DWORD PTR tv392[ebp], eax
  0025f	c7 45 fc 09 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 9
  00266	68 ff ff ff 00	 push	 16777215		; 00ffffffH
  0026b	68 70 04 00 00	 push	 1136			; 00000470H
  00270	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00277	8b 4d b4	 mov	 ecx, DWORD PTR _this$[ebp]
  0027a	e8 00 00 00 00	 call	 ?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z ; CSAA7134Card::WriteDSPData7133

; 138  : 
; 139  :     // Set all sound feature stuff such as auto volume, incredible
; 140  :     // stereo, dolby prologic, virtual dolby surround to default.
; 141  :     WriteDSPData7133(SAA7133_A_SND_FEATURE_CTRL, 0x0000);

  0027f	83 ec 0c	 sub	 esp, 12			; 0000000cH
  00282	8b cc		 mov	 ecx, esp
  00284	89 65 c8	 mov	 DWORD PTR $T354943[ebp], esp
  00287	6a 00		 push	 0
  00289	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@K@Z	; CBitVector::CBitVector
  0028e	89 85 60 ff ff
	ff		 mov	 DWORD PTR tv413[ebp], eax
  00294	8b 8d 60 ff ff
	ff		 mov	 ecx, DWORD PTR tv413[ebp]
  0029a	89 8d 5c ff ff
	ff		 mov	 DWORD PTR tv394[ebp], ecx
  002a0	c7 45 fc 0a 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 10 ; 0000000aH
  002a7	68 ff 7f 00 00	 push	 32767			; 00007fffH
  002ac	68 78 04 00 00	 push	 1144			; 00000478H
  002b1	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  002b8	8b 4d b4	 mov	 ecx, DWORD PTR _this$[ebp]
  002bb	e8 00 00 00 00	 call	 ?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z ; CSAA7134Card::WriteDSPData7133

; 142  :     // Default for all dolby prologic options.
; 143  :     WriteDSPData7133(SAA7133_A_DOLBY_PROLOGIC_CTRL, 0x0000);

  002c0	83 ec 0c	 sub	 esp, 12			; 0000000cH
  002c3	8b cc		 mov	 ecx, esp
  002c5	89 65 c4	 mov	 DWORD PTR $T354944[ebp], esp
  002c8	6a 00		 push	 0
  002ca	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@K@Z	; CBitVector::CBitVector
  002cf	89 85 58 ff ff
	ff		 mov	 DWORD PTR tv414[ebp], eax
  002d5	8b 95 58 ff ff
	ff		 mov	 edx, DWORD PTR tv414[ebp]
  002db	89 95 54 ff ff
	ff		 mov	 DWORD PTR tv396[ebp], edx
  002e1	c7 45 fc 0b 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 11 ; 0000000bH
  002e8	68 ff 3f 00 00	 push	 16383			; 00003fffH
  002ed	68 7c 04 00 00	 push	 1148			; 0000047cH
  002f2	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  002f9	8b 4d b4	 mov	 ecx, DWORD PTR _this$[ebp]
  002fc	e8 00 00 00 00	 call	 ?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z ; CSAA7134Card::WriteDSPData7133

; 144  : 
; 145  :     // Main line volume 0 db gain (scale of +24 db to -83 db)
; 146  :     WriteDSPData7133(SAA7133_A_VOLUME_CTRL1, 0x0000);

  00301	83 ec 0c	 sub	 esp, 12			; 0000000cH
  00304	8b cc		 mov	 ecx, esp
  00306	89 65 c0	 mov	 DWORD PTR $T354945[ebp], esp
  00309	6a 00		 push	 0
  0030b	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@K@Z	; CBitVector::CBitVector
  00310	89 85 50 ff ff
	ff		 mov	 DWORD PTR tv415[ebp], eax
  00316	8b 85 50 ff ff
	ff		 mov	 eax, DWORD PTR tv415[ebp]
  0031c	89 85 4c ff ff
	ff		 mov	 DWORD PTR tv398[ebp], eax
  00322	c7 45 fc 0c 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 12 ; 0000000cH
  00329	68 ff ff 00 00	 push	 65535			; 0000ffffH
  0032e	68 80 04 00 00	 push	 1152			; 00000480H
  00333	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0033a	8b 4d b4	 mov	 ecx, DWORD PTR _this$[ebp]
  0033d	e8 00 00 00 00	 call	 ?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z ; CSAA7134Card::WriteDSPData7133

; 147  :     // Aux1/2 line volume 0 db gain (scale of +24 db to -83 db)
; 148  :     WriteDSPData7133(SAA7133_A_VOLUME_CTRL2, 0x0000);

  00342	83 ec 0c	 sub	 esp, 12			; 0000000cH
  00345	8b cc		 mov	 ecx, esp
  00347	89 65 bc	 mov	 DWORD PTR $T354946[ebp], esp
  0034a	6a 00		 push	 0
  0034c	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@K@Z	; CBitVector::CBitVector
  00351	89 85 48 ff ff
	ff		 mov	 DWORD PTR tv416[ebp], eax
  00357	8b 8d 48 ff ff
	ff		 mov	 ecx, DWORD PTR tv416[ebp]
  0035d	89 8d 44 ff ff
	ff		 mov	 DWORD PTR tv400[ebp], ecx
  00363	c7 45 fc 0d 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 13 ; 0000000dH
  0036a	68 ff ff 00 00	 push	 65535			; 0000ffffH
  0036f	68 84 04 00 00	 push	 1156			; 00000484H
  00374	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0037b	8b 4d b4	 mov	 ecx, DWORD PTR _this$[ebp]
  0037e	e8 00 00 00 00	 call	 ?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z ; CSAA7134Card::WriteDSPData7133

; 149  :     // Main line bass and treble 0 db (scale of +15 db to -16 db)
; 150  :     WriteDSPData7133(SAA7133_A_MAIN_TONE_CTRL, 0x0000);

  00383	83 ec 0c	 sub	 esp, 12			; 0000000cH
  00386	8b cc		 mov	 ecx, esp
  00388	89 65 b8	 mov	 DWORD PTR $T354947[ebp], esp
  0038b	6a 00		 push	 0
  0038d	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@K@Z	; CBitVector::CBitVector
  00392	89 85 40 ff ff
	ff		 mov	 DWORD PTR tv417[ebp], eax
  00398	8b 95 40 ff ff
	ff		 mov	 edx, DWORD PTR tv417[ebp]
  0039e	89 95 3c ff ff
	ff		 mov	 DWORD PTR tv402[ebp], edx
  003a4	c7 45 fc 0e 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 14 ; 0000000eH
  003ab	68 ff 03 00 00	 push	 1023			; 000003ffH
  003b0	68 88 04 00 00	 push	 1160			; 00000488H
  003b5	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  003bc	8b 4d b4	 mov	 ecx, DWORD PTR _this$[ebp]
  003bf	e8 00 00 00 00	 call	 ?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z ; CSAA7134Card::WriteDSPData7133

; 151  : 
; 152  :     // Leave out I2S stuff because I don't know what to do with it.
; 153  : 
; 154  :     // Make all audio video frame locked.
; 155  :     SetAudioLockToVideo7133(TRUE);

  003c4	6a 01		 push	 1
  003c6	8b 4d b4	 mov	 ecx, DWORD PTR _this$[ebp]
  003c9	e8 00 00 00 00	 call	 ?SetAudioLockToVideo7133@CSAA7134Card@@QAEXH@Z ; CSAA7134Card::SetAudioLockToVideo7133

; 156  : }

  003ce	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  003d1	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  003d8	59		 pop	 ecx
  003d9	8b e5		 mov	 esp, ebp
  003db	5d		 pop	 ebp
  003dc	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?InitAudio7133@CSAA7134Card@@QAEXXZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR $T354933[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?InitAudio7133@CSAA7134Card@@QAEXXZ$1:
  00008	8b 4d ec	 mov	 ecx, DWORD PTR $T354934[ebp]
  0000b	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?InitAudio7133@CSAA7134Card@@QAEXXZ$2:
  00010	8b 4d e8	 mov	 ecx, DWORD PTR $T354935[ebp]
  00013	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?InitAudio7133@CSAA7134Card@@QAEXXZ$3:
  00018	8b 4d e4	 mov	 ecx, DWORD PTR $T354936[ebp]
  0001b	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?InitAudio7133@CSAA7134Card@@QAEXXZ$4:
  00020	8b 4d e0	 mov	 ecx, DWORD PTR $T354937[ebp]
  00023	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?InitAudio7133@CSAA7134Card@@QAEXXZ$5:
  00028	8b 4d dc	 mov	 ecx, DWORD PTR $T354938[ebp]
  0002b	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?InitAudio7133@CSAA7134Card@@QAEXXZ$6:
  00030	8b 4d d8	 mov	 ecx, DWORD PTR $T354939[ebp]
  00033	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?InitAudio7133@CSAA7134Card@@QAEXXZ$7:
  00038	8b 4d d4	 mov	 ecx, DWORD PTR $T354940[ebp]
  0003b	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?InitAudio7133@CSAA7134Card@@QAEXXZ$8:
  00040	8b 4d d0	 mov	 ecx, DWORD PTR $T354941[ebp]
  00043	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?InitAudio7133@CSAA7134Card@@QAEXXZ$9:
  00048	8b 4d cc	 mov	 ecx, DWORD PTR $T354942[ebp]
  0004b	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?InitAudio7133@CSAA7134Card@@QAEXXZ$10:
  00050	8b 4d c8	 mov	 ecx, DWORD PTR $T354943[ebp]
  00053	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?InitAudio7133@CSAA7134Card@@QAEXXZ$11:
  00058	8b 4d c4	 mov	 ecx, DWORD PTR $T354944[ebp]
  0005b	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?InitAudio7133@CSAA7134Card@@QAEXXZ$12:
  00060	8b 4d c0	 mov	 ecx, DWORD PTR $T354945[ebp]
  00063	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?InitAudio7133@CSAA7134Card@@QAEXXZ$13:
  00068	8b 4d bc	 mov	 ecx, DWORD PTR $T354946[ebp]
  0006b	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?InitAudio7133@CSAA7134Card@@QAEXXZ$14:
  00070	8b 4d b8	 mov	 ecx, DWORD PTR $T354947[ebp]
  00073	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__ehhandler$?InitAudio7133@CSAA7134Card@@QAEXXZ:
  00078	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0007c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0007f	8b 8a 44 ff ff
	ff		 mov	 ecx, DWORD PTR [edx-188]
  00085	33 c8		 xor	 ecx, eax
  00087	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0008c	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?InitAudio7133@CSAA7134Card@@QAEXXZ
  00091	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?InitAudio7133@CSAA7134Card@@QAEXXZ ENDP		; CSAA7134Card::InitAudio7133
PUBLIC	__$ArrayPad$
PUBLIC	?GetAudioDecoderStatus@CSAA7134Card@@QAEXPA_WG@Z ; CSAA7134Card::GetAudioDecoderStatus
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?GetAudioDecoderStatus@CSAA7134Card@@QAEXPA_WG@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?GetAudioDecoderStatus@CSAA7134Card@@QAEXPA_WG@Z$0
__ehfuncinfo$?GetAudioDecoderStatus@CSAA7134Card@@QAEXPA_WG@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?GetAudioDecoderStatus@CSAA7134Card@@QAEXPA_WG@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?GetAudioDecoderStatus@CSAA7134Card@@QAEXPA_WG@Z
_TEXT	SEGMENT
_this$ = -548						; size = 4
_b$146101 = -544					; size = 12
_buffer$ = -532						; size = 512
__$ArrayPad$ = -20					; size = 4
_avStatus$ = -16					; size = 4
__$EHRec$ = -12						; size = 12
_pBuffer$ = 8						; size = 4
_nBufferSize$ = 12					; size = 2
?GetAudioDecoderStatus@CSAA7134Card@@QAEXPA_WG@Z PROC	; CSAA7134Card::GetAudioDecoderStatus, COMDAT
; _this$ = ecx

; 1682 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?GetAudioDecoderStatus@CSAA7134Card@@QAEXPA_WG@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	81 ec 18 02 00
	00		 sub	 esp, 536		; 00000218H
  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001c	33 c5		 xor	 eax, ebp
  0001e	89 45 ec	 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
  0002b	89 8d dc fd ff
	ff		 mov	 DWORD PTR _this$[ebp], ecx

; 1683 :     *pBuffer = '\0';

  00031	33 c0		 xor	 eax, eax
  00033	8b 4d 08	 mov	 ecx, DWORD PTR _pBuffer$[ebp]
  00036	66 89 01	 mov	 WORD PTR [ecx], ax

; 1684 : 
; 1685 :     if (m_DeviceId == 0x7130)

  00039	8b 95 dc fd ff
	ff		 mov	 edx, DWORD PTR _this$[ebp]
  0003f	0f b7 42 08	 movzx	 eax, WORD PTR [edx+8]
  00043	3d 30 71 00 00	 cmp	 eax, 28976		; 00007130H
  00048	75 05		 jne	 SHORT $LN17@GetAudioDe@3

; 1686 :     {
; 1687 :         // saa7130 doesn't support this
; 1688 :         return;

  0004a	e9 7e 02 00 00	 jmp	 $LN18@GetAudioDe@3
$LN17@GetAudioDe@3:

; 1689 :     }
; 1690 : 
; 1691 :     DWORD avStatus = ReadDword(SAA7134_AV_STATUS);

  0004f	68 c0 02 00 00	 push	 704			; 000002c0H
  00054	8b 8d dc fd ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  0005a	e8 00 00 00 00	 call	 ?ReadDword@CPCICard@@QAEKK@Z ; CPCICard::ReadDword
  0005f	89 45 f0	 mov	 DWORD PTR _avStatus$[ebp], eax

; 1692 :     TCHAR buffer[256] = _T("");

  00062	66 8b 0d 00 00
	00 00		 mov	 cx, WORD PTR ??_C@_11LOCGONAA@?$AA?$AA@
  00069	66 89 8d ec fd
	ff ff		 mov	 WORD PTR _buffer$[ebp], cx
  00070	68 fe 01 00 00	 push	 510			; 000001feH
  00075	6a 00		 push	 0
  00077	8d 95 ee fd ff
	ff		 lea	 edx, DWORD PTR _buffer$[ebp+2]
  0007d	52		 push	 edx
  0007e	e8 00 00 00 00	 call	 _memset
  00083	83 c4 0c	 add	 esp, 12			; 0000000cH

; 1693 : 
; 1694 :     if (avStatus & SAA7134_AV_STATUS_PILOT)

  00086	8b 45 f0	 mov	 eax, DWORD PTR _avStatus$[ebp]
  00089	25 00 80 00 00	 and	 eax, 32768		; 00008000H
  0008e	74 14		 je	 SHORT $LN16@GetAudioDe@3

; 1695 :     {
; 1696 :         _tcscat(buffer, _T("FM "));

  00090	68 00 00 00 00	 push	 OFFSET ??_C@_17GGNLFNHA@?$AAF?$AAM?$AA?5?$AA?$AA@
  00095	8d 8d ec fd ff
	ff		 lea	 ecx, DWORD PTR _buffer$[ebp]
  0009b	51		 push	 ecx
  0009c	e8 00 00 00 00	 call	 _wcscat
  000a1	83 c4 08	 add	 esp, 8
$LN16@GetAudioDe@3:

; 1697 :     }
; 1698 :     if (avStatus & SAA7134_AV_STATUS_VDSP)

  000a4	8b 55 f0	 mov	 edx, DWORD PTR _avStatus$[ebp]
  000a7	81 e2 00 10 00
	00		 and	 edx, 4096		; 00001000H
  000ad	74 14		 je	 SHORT $LN15@GetAudioDe@3

; 1699 :     {
; 1700 :         _tcscat(buffer, _T("NICAM "));

  000af	68 00 00 00 00	 push	 OFFSET ??_C@_1O@IKOCGBHE@?$AAN?$AAI?$AAC?$AAA?$AAM?$AA?5?$AA?$AA@
  000b4	8d 85 ec fd ff
	ff		 lea	 eax, DWORD PTR _buffer$[ebp]
  000ba	50		 push	 eax
  000bb	e8 00 00 00 00	 call	 _wcscat
  000c0	83 c4 08	 add	 esp, 8
$LN15@GetAudioDe@3:

; 1701 :     }
; 1702 :     if (avStatus & SAA7134_AV_STATUS_DUAL)

  000c3	8b 4d f0	 mov	 ecx, DWORD PTR _avStatus$[ebp]
  000c6	81 e1 00 00 01
	00		 and	 ecx, 65536		; 00010000H
  000cc	74 14		 je	 SHORT $LN14@GetAudioDe@3

; 1703 :     {
; 1704 :         _tcscat(buffer, _T("FM_DUAL "));

  000ce	68 00 00 00 00	 push	 OFFSET ??_C@_1BC@CLHJFBEG@?$AAF?$AAM?$AA_?$AAD?$AAU?$AAA?$AAL?$AA?5?$AA?$AA@
  000d3	8d 95 ec fd ff
	ff		 lea	 edx, DWORD PTR _buffer$[ebp]
  000d9	52		 push	 edx
  000da	e8 00 00 00 00	 call	 _wcscat
  000df	83 c4 08	 add	 esp, 8
$LN14@GetAudioDe@3:

; 1705 :     }
; 1706 :     if (avStatus & SAA7134_AV_STATUS_STEREO)

  000e2	8b 45 f0	 mov	 eax, DWORD PTR _avStatus$[ebp]
  000e5	25 00 00 02 00	 and	 eax, 131072		; 00020000H
  000ea	74 14		 je	 SHORT $LN13@GetAudioDe@3

; 1707 :     {
; 1708 :         _tcscat(buffer, _T("FM_STEREO "));

  000ec	68 00 00 00 00	 push	 OFFSET ??_C@_1BG@PLMHGMHI@?$AAF?$AAM?$AA_?$AAS?$AAT?$AAE?$AAR?$AAE?$AAO?$AA?5?$AA?$AA@
  000f1	8d 8d ec fd ff
	ff		 lea	 ecx, DWORD PTR _buffer$[ebp]
  000f7	51		 push	 ecx
  000f8	e8 00 00 00 00	 call	 _wcscat
  000fd	83 c4 08	 add	 esp, 8
$LN13@GetAudioDe@3:

; 1709 :     }
; 1710 :     if (avStatus & SAA7134_AV_STATUS_DMB)

  00100	8b 55 f0	 mov	 edx, DWORD PTR _avStatus$[ebp]
  00103	81 e2 00 20 00
	00		 and	 edx, 8192		; 00002000H
  00109	74 14		 je	 SHORT $LN12@GetAudioDe@3

; 1711 :     {
; 1712 :         _tcscat(buffer, _T("NICAM_DUAL "));

  0010b	68 00 00 00 00	 push	 OFFSET ??_C@_1BI@LEBFEGMP@?$AAN?$AAI?$AAC?$AAA?$AAM?$AA_?$AAD?$AAU?$AAA?$AAL?$AA?5?$AA?$AA@
  00110	8d 85 ec fd ff
	ff		 lea	 eax, DWORD PTR _buffer$[ebp]
  00116	50		 push	 eax
  00117	e8 00 00 00 00	 call	 _wcscat
  0011c	83 c4 08	 add	 esp, 8
$LN12@GetAudioDe@3:

; 1713 :     }
; 1714 :     if (avStatus & SAA7134_AV_STATUS_SMB)

  0011f	8b 4d f0	 mov	 ecx, DWORD PTR _avStatus$[ebp]
  00122	81 e1 00 40 00
	00		 and	 ecx, 16384		; 00004000H
  00128	74 14		 je	 SHORT $LN11@GetAudioDe@3

; 1715 :     {
; 1716 :         _tcscat(buffer, _T("NICAM_STEREO "));

  0012a	68 00 00 00 00	 push	 OFFSET ??_C@_1BM@NLAHIKEC@?$AAN?$AAI?$AAC?$AAA?$AAM?$AA_?$AAS?$AAT?$AAE?$AAR?$AAE?$AAO?$AA?5?$AA?$AA@
  0012f	8d 95 ec fd ff
	ff		 lea	 edx, DWORD PTR _buffer$[ebp]
  00135	52		 push	 edx
  00136	e8 00 00 00 00	 call	 _wcscat
  0013b	83 c4 08	 add	 esp, 8
$LN11@GetAudioDe@3:

; 1717 :     }
; 1718 : 
; 1719 :     // SAA7133 has extra status.
; 1720 :     if (m_DeviceId == 0x7133 || m_DeviceId == 0x7135)

  0013e	8b 85 dc fd ff
	ff		 mov	 eax, DWORD PTR _this$[ebp]
  00144	0f b7 48 08	 movzx	 ecx, WORD PTR [eax+8]
  00148	81 f9 33 71 00
	00		 cmp	 ecx, 28979		; 00007133H
  0014e	74 15		 je	 SHORT $LN9@GetAudioDe@3
  00150	8b 95 dc fd ff
	ff		 mov	 edx, DWORD PTR _this$[ebp]
  00156	0f b7 42 08	 movzx	 eax, WORD PTR [edx+8]
  0015a	3d 35 71 00 00	 cmp	 eax, 28981		; 00007135H
  0015f	0f 85 3c 01 00
	00		 jne	 $LN10@GetAudioDe@3
$LN9@GetAudioDe@3:

; 1721 :     {
; 1722 :         CBitVector b;

  00165	8d 8d e0 fd ff
	ff		 lea	 ecx, DWORD PTR _b$146101[ebp]
  0016b	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@XZ	; CBitVector::CBitVector
  00170	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 1723 : 
; 1724 :         ReadDSPData7133(SAA7133_A_MAIN_STATUS, b);

  00177	8d 8d e0 fd ff
	ff		 lea	 ecx, DWORD PTR _b$146101[ebp]
  0017d	51		 push	 ecx
  0017e	68 ff ff 1f 00	 push	 2097151			; 001fffffH
  00183	68 04 04 00 00	 push	 1028			; 00000404H
  00188	8b 8d dc fd ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  0018e	e8 00 00 00 00	 call	 ?ReadDSPData7133@CSAA7134Card@@QAEHKKAAVCBitVector@@@Z ; CSAA7134Card::ReadDSPData7133

; 1725 :         if (b.value(SAA7133_A_MAIN_STATUS_SAPDET))

  00193	6a 01		 push	 1
  00195	6a 0c		 push	 12			; 0000000cH
  00197	8d 8d e0 fd ff
	ff		 lea	 ecx, DWORD PTR _b$146101[ebp]
  0019d	e8 00 00 00 00	 call	 ?value@CBitVector@@UBEKEE@Z ; CBitVector::value
  001a2	85 c0		 test	 eax, eax
  001a4	74 11		 je	 SHORT $LN8@GetAudioDe@3

; 1726 :         {
; 1727 :             _tcscat(pBuffer, _T("SAP "));

  001a6	68 00 00 00 00	 push	 OFFSET ??_C@_19HNNMPHI@?$AAS?$AAA?$AAP?$AA?5?$AA?$AA@
  001ab	8b 55 08	 mov	 edx, DWORD PTR _pBuffer$[ebp]
  001ae	52		 push	 edx
  001af	e8 00 00 00 00	 call	 _wcscat
  001b4	83 c4 08	 add	 esp, 8
$LN8@GetAudioDe@3:

; 1728 :         }
; 1729 :         if (b.value(SAA7133_A_MAIN_STATUS_BPILOT))

  001b7	6a 01		 push	 1
  001b9	6a 0b		 push	 11			; 0000000bH
  001bb	8d 8d e0 fd ff
	ff		 lea	 ecx, DWORD PTR _b$146101[ebp]
  001c1	e8 00 00 00 00	 call	 ?value@CBitVector@@UBEKEE@Z ; CBitVector::value
  001c6	85 c0		 test	 eax, eax
  001c8	74 11		 je	 SHORT $LN7@GetAudioDe@3

; 1730 :         {
; 1731 :             _tcscat(pBuffer, _T("BTSC/FM "));

  001ca	68 00 00 00 00	 push	 OFFSET ??_C@_1BC@GFBCABEP@?$AAB?$AAT?$AAS?$AAC?$AA?1?$AAF?$AAM?$AA?5?$AA?$AA@
  001cf	8b 45 08	 mov	 eax, DWORD PTR _pBuffer$[ebp]
  001d2	50		 push	 eax
  001d3	e8 00 00 00 00	 call	 _wcscat
  001d8	83 c4 08	 add	 esp, 8
$LN7@GetAudioDe@3:

; 1732 :         }
; 1733 :         if (b.value(SAA7133_A_MAIN_STATUS_APILOT))

  001db	6a 01		 push	 1
  001dd	6a 07		 push	 7
  001df	8d 8d e0 fd ff
	ff		 lea	 ecx, DWORD PTR _b$146101[ebp]
  001e5	e8 00 00 00 00	 call	 ?value@CBitVector@@UBEKEE@Z ; CBitVector::value
  001ea	85 c0		 test	 eax, eax
  001ec	74 11		 je	 SHORT $LN6@GetAudioDe@3

; 1734 :         {
; 1735 :             _tcscat(pBuffer, _T("A2/EIAJ "));

  001ee	68 00 00 00 00	 push	 OFFSET ??_C@_1BC@BNKPCFA@?$AAA?$AA2?$AA?1?$AAE?$AAI?$AAA?$AAJ?$AA?5?$AA?$AA@
  001f3	8b 4d 08	 mov	 ecx, DWORD PTR _pBuffer$[ebp]
  001f6	51		 push	 ecx
  001f7	e8 00 00 00 00	 call	 _wcscat
  001fc	83 c4 08	 add	 esp, 8
$LN6@GetAudioDe@3:

; 1736 :         }
; 1737 :         if (b.value(SAA7133_A_MAIN_STATUS_AST))

  001ff	6a 01		 push	 1
  00201	6a 09		 push	 9
  00203	8d 8d e0 fd ff
	ff		 lea	 ecx, DWORD PTR _b$146101[ebp]
  00209	e8 00 00 00 00	 call	 ?value@CBitVector@@UBEKEE@Z ; CBitVector::value
  0020e	85 c0		 test	 eax, eax
  00210	74 11		 je	 SHORT $LN5@GetAudioDe@3

; 1738 :         {
; 1739 :             _tcscat(pBuffer, _T("A2/EIAJ_STEREO "));

  00212	68 00 00 00 00	 push	 OFFSET ??_C@_1CA@OAINGAKD@?$AAA?$AA2?$AA?1?$AAE?$AAI?$AAA?$AAJ?$AA_?$AAS?$AAT?$AAE?$AAR?$AAE?$AAO?$AA?5?$AA?$AA@
  00217	8b 55 08	 mov	 edx, DWORD PTR _pBuffer$[ebp]
  0021a	52		 push	 edx
  0021b	e8 00 00 00 00	 call	 _wcscat
  00220	83 c4 08	 add	 esp, 8
$LN5@GetAudioDe@3:

; 1740 :         }
; 1741 :         if (b.value(SAA7133_A_MAIN_STATUS_ADU))

  00223	6a 01		 push	 1
  00225	6a 08		 push	 8
  00227	8d 8d e0 fd ff
	ff		 lea	 ecx, DWORD PTR _b$146101[ebp]
  0022d	e8 00 00 00 00	 call	 ?value@CBitVector@@UBEKEE@Z ; CBitVector::value
  00232	85 c0		 test	 eax, eax
  00234	74 11		 je	 SHORT $LN4@GetAudioDe@3

; 1742 :         {
; 1743 :             _tcscat(pBuffer, _T("A2/EIAJ_DUAL "));

  00236	68 00 00 00 00	 push	 OFFSET ??_C@_1BM@NNICGNFO@?$AAA?$AA2?$AA?1?$AAE?$AAI?$AAA?$AAJ?$AA_?$AAD?$AAU?$AAA?$AAL?$AA?5?$AA?$AA@
  0023b	8b 45 08	 mov	 eax, DWORD PTR _pBuffer$[ebp]
  0023e	50		 push	 eax
  0023f	e8 00 00 00 00	 call	 _wcscat
  00244	83 c4 08	 add	 esp, 8
$LN4@GetAudioDe@3:

; 1744 :         }
; 1745 :         if (b.value(SAA7133_A_MAIN_STATUS_GDU))

  00247	6a 01		 push	 1
  00249	6a 06		 push	 6
  0024b	8d 8d e0 fd ff
	ff		 lea	 ecx, DWORD PTR _b$146101[ebp]
  00251	e8 00 00 00 00	 call	 ?value@CBitVector@@UBEKEE@Z ; CBitVector::value
  00256	85 c0		 test	 eax, eax
  00258	74 11		 je	 SHORT $LN3@GetAudioDe@3

; 1746 :         {
; 1747 :             _tcscat(pBuffer, _T("DUAL "));

  0025a	68 00 00 00 00	 push	 OFFSET ??_C@_1M@NFONFPEJ@?$AAD?$AAU?$AAA?$AAL?$AA?5?$AA?$AA@
  0025f	8b 4d 08	 mov	 ecx, DWORD PTR _pBuffer$[ebp]
  00262	51		 push	 ecx
  00263	e8 00 00 00 00	 call	 _wcscat
  00268	83 c4 08	 add	 esp, 8
$LN3@GetAudioDe@3:

; 1748 :         }
; 1749 :         if (b.value(SAA7133_A_MAIN_STATUS_GST))

  0026b	6a 01		 push	 1
  0026d	6a 05		 push	 5
  0026f	8d 8d e0 fd ff
	ff		 lea	 ecx, DWORD PTR _b$146101[ebp]
  00275	e8 00 00 00 00	 call	 ?value@CBitVector@@UBEKEE@Z ; CBitVector::value
  0027a	85 c0		 test	 eax, eax
  0027c	74 11		 je	 SHORT $LN2@GetAudioDe@3

; 1750 :         {
; 1751 :             _tcscat(pBuffer, _T("STEREO "));

  0027e	68 00 00 00 00	 push	 OFFSET ??_C@_1BA@OGBCMBCB@?$AAS?$AAT?$AAE?$AAR?$AAE?$AAO?$AA?5?$AA?$AA@
  00283	8b 55 08	 mov	 edx, DWORD PTR _pBuffer$[ebp]
  00286	52		 push	 edx
  00287	e8 00 00 00 00	 call	 _wcscat
  0028c	83 c4 08	 add	 esp, 8
$LN2@GetAudioDe@3:

; 1752 :         }
; 1753 :     }

  0028f	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00296	8d 8d e0 fd ff
	ff		 lea	 ecx, DWORD PTR _b$146101[ebp]
  0029c	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
$LN10@GetAudioDe@3:

; 1754 : 
; 1755 :     if (nBufferSize < sizeof(buffer))

  002a1	0f b7 45 0c	 movzx	 eax, WORD PTR _nBufferSize$[ebp]
  002a5	3d 00 02 00 00	 cmp	 eax, 512		; 00000200H
  002aa	73 0e		 jae	 SHORT $LN1@GetAudioDe@3

; 1756 :     {
; 1757 :         buffer[nBufferSize-1] = '\0';

  002ac	0f b7 4d 0c	 movzx	 ecx, WORD PTR _nBufferSize$[ebp]
  002b0	33 d2		 xor	 edx, edx
  002b2	66 89 94 4d ea
	fd ff ff	 mov	 WORD PTR _buffer$[ebp+ecx*2-2], dx
$LN1@GetAudioDe@3:

; 1758 :     }
; 1759 : 
; 1760 :     _tcscpy(pBuffer, buffer);

  002ba	8d 85 ec fd ff
	ff		 lea	 eax, DWORD PTR _buffer$[ebp]
  002c0	50		 push	 eax
  002c1	8b 4d 08	 mov	 ecx, DWORD PTR _pBuffer$[ebp]
  002c4	51		 push	 ecx
  002c5	e8 00 00 00 00	 call	 _wcscpy
  002ca	83 c4 08	 add	 esp, 8
$LN18@GetAudioDe@3:

; 1761 : }

  002cd	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  002d0	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  002d7	59		 pop	 ecx
  002d8	8b 4d ec	 mov	 ecx, DWORD PTR __$ArrayPad$[ebp]
  002db	33 cd		 xor	 ecx, ebp
  002dd	e8 00 00 00 00	 call	 @__security_check_cookie@4
  002e2	8b e5		 mov	 esp, ebp
  002e4	5d		 pop	 ebp
  002e5	c2 08 00	 ret	 8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?GetAudioDecoderStatus@CSAA7134Card@@QAEXPA_WG@Z$0:
  00000	8d 8d e0 fd ff
	ff		 lea	 ecx, DWORD PTR _b$146101[ebp]
  00006	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__ehhandler$?GetAudioDecoderStatus@CSAA7134Card@@QAEXPA_WG@Z:
  0000b	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000f	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00012	8b 8a e4 fd ff
	ff		 mov	 ecx, DWORD PTR [edx-540]
  00018	33 c8		 xor	 ecx, eax
  0001a	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0001f	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  00022	33 c8		 xor	 ecx, eax
  00024	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00029	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?GetAudioDecoderStatus@CSAA7134Card@@QAEXPA_WG@Z
  0002e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?GetAudioDecoderStatus@CSAA7134Card@@QAEXPA_WG@Z ENDP	; CSAA7134Card::GetAudioDecoderStatus
PUBLIC	?_SetAudioChannel7133@CSAA7134Card@@QAEXW4eAudioChannel@CSAA7134Common@@@Z ; CSAA7134Card::_SetAudioChannel7133
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?_SetAudioChannel7133@CSAA7134Card@@QAEXW4eAudioChannel@CSAA7134Common@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?_SetAudioChannel7133@CSAA7134Card@@QAEXW4eAudioChannel@CSAA7134Common@@@Z$0
__ehfuncinfo$?_SetAudioChannel7133@CSAA7134Card@@QAEXW4eAudioChannel@CSAA7134Common@@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?_SetAudioChannel7133@CSAA7134Card@@QAEXW4eAudioChannel@CSAA7134Common@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?_SetAudioChannel7133@CSAA7134Card@@QAEXW4eAudioChannel@CSAA7134Common@@@Z
_TEXT	SEGMENT
tv87 = -36						; size = 4
tv88 = -32						; size = 4
tv64 = -28						; size = 4
_this$ = -24						; size = 4
$T358868 = -20						; size = 4
_maindm$ = -13						; size = 1
__$EHRec$ = -12						; size = 12
_audioChannel$ = 8					; size = 4
?_SetAudioChannel7133@CSAA7134Card@@QAEXW4eAudioChannel@CSAA7134Common@@@Z PROC ; CSAA7134Card::_SetAudioChannel7133, COMDAT
; _this$ = ecx

; 1478 : {

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

; 1479 :     BYTE maindm = 0;

  00028	c6 45 f3 00	 mov	 BYTE PTR _maindm$[ebp], 0

; 1480 : 
; 1481 :     // Only the DAC line should see this path.  SetAudioChannel()
; 1482 :     // exits early for external lines.
; 1483 : 
; 1484 :     // Unlike what was done for SAA7134, audio channels here are set
; 1485 :     // up at the digital input crossbar.  _T("Mono") in this case is
; 1486 :     // (Left + Right)/2 rather than the Left/Left that was done for
; 1487 :     // SAA7134.  SAA7133 also offers channel selections for aux1,
; 1488 :     // aux2 (external lines) and dolby pro but they're ignored.
; 1489 :     // There doesn't seem to be automatic stereo detect in SAA7133
; 1490 :     // so that's one less thing this function needs to worry about.
; 1491 :     switch (audioChannel)

  0002c	8b 45 08	 mov	 eax, DWORD PTR _audioChannel$[ebp]
  0002f	89 45 e4	 mov	 DWORD PTR tv64[ebp], eax
  00032	83 7d e4 03	 cmp	 DWORD PTR tv64[ebp], 3
  00036	77 20		 ja	 SHORT $LN5@SetAudioCh
  00038	8b 4d e4	 mov	 ecx, DWORD PTR tv64[ebp]
  0003b	ff 24 8d 00 00
	00 00		 jmp	 DWORD PTR $LN11@SetAudioCh[ecx*4]
$LN4@SetAudioCh:

; 1492 :     {
; 1493 :     case AUDIOCHANNEL_MONO:
; 1494 :         maindm = 1;

  00042	c6 45 f3 01	 mov	 BYTE PTR _maindm$[ebp], 1

; 1495 :         break;

  00046	eb 10		 jmp	 SHORT $LN5@SetAudioCh
$LN3@SetAudioCh:

; 1496 :     case AUDIOCHANNEL_STEREO:
; 1497 :         maindm = 0;

  00048	c6 45 f3 00	 mov	 BYTE PTR _maindm$[ebp], 0

; 1498 :         break;

  0004c	eb 0a		 jmp	 SHORT $LN5@SetAudioCh
$LN2@SetAudioCh:

; 1499 :     case AUDIOCHANNEL_LANGUAGE1:
; 1500 :         maindm = 2;

  0004e	c6 45 f3 02	 mov	 BYTE PTR _maindm$[ebp], 2

; 1501 :         break;

  00052	eb 04		 jmp	 SHORT $LN5@SetAudioCh
$LN1@SetAudioCh:

; 1502 :     case AUDIOCHANNEL_LANGUAGE2:
; 1503 :         maindm = 3;

  00054	c6 45 f3 03	 mov	 BYTE PTR _maindm$[ebp], 3
$LN5@SetAudioCh:

; 1504 :         break;
; 1505 :     }
; 1506 : 
; 1507 :     WriteDSPData7133(SAA7133_A_DIGITAL_INPUT_XBAR1,
; 1508 :         _B(SAA7133_A_DIGITAL_INPUT_XBAR1_MAINDM, maindm));

  00058	0f b6 55 f3	 movzx	 edx, BYTE PTR _maindm$[ebp]
  0005c	83 ec 0c	 sub	 esp, 12			; 0000000cH
  0005f	8b cc		 mov	 ecx, esp
  00061	89 65 ec	 mov	 DWORD PTR $T358868[ebp], esp
  00064	52		 push	 edx
  00065	6a 07		 push	 7
  00067	6a 05		 push	 5
  00069	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  0006e	89 45 e0	 mov	 DWORD PTR tv88[ebp], eax
  00071	8b 45 e0	 mov	 eax, DWORD PTR tv88[ebp]
  00074	89 45 dc	 mov	 DWORD PTR tv87[ebp], eax
  00077	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  0007e	68 ff ff 00 00	 push	 65535			; 0000ffffH
  00083	68 64 04 00 00	 push	 1124			; 00000464H
  00088	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0008f	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00092	e8 00 00 00 00	 call	 ?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z ; CSAA7134Card::WriteDSPData7133

; 1509 : }

  00097	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0009a	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000a1	59		 pop	 ecx
  000a2	8b e5		 mov	 esp, ebp
  000a4	5d		 pop	 ebp
  000a5	c2 04 00	 ret	 4
$LN11@SetAudioCh:
  000a8	00 00 00 00	 DD	 $LN4@SetAudioCh
  000ac	00 00 00 00	 DD	 $LN3@SetAudioCh
  000b0	00 00 00 00	 DD	 $LN2@SetAudioCh
  000b4	00 00 00 00	 DD	 $LN1@SetAudioCh
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?_SetAudioChannel7133@CSAA7134Card@@QAEXW4eAudioChannel@CSAA7134Common@@@Z$0:
  00000	8b 4d ec	 mov	 ecx, DWORD PTR $T358868[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__ehhandler$?_SetAudioChannel7133@CSAA7134Card@@QAEXW4eAudioChannel@CSAA7134Common@@@Z:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a e4	 mov	 ecx, DWORD PTR [edx-28]
  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$?_SetAudioChannel7133@CSAA7134Card@@QAEXW4eAudioChannel@CSAA7134Common@@@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?_SetAudioChannel7133@CSAA7134Card@@QAEXW4eAudioChannel@CSAA7134Common@@@Z ENDP ; CSAA7134Card::_SetAudioChannel7133
PUBLIC	?_IsAudioChannelDetected7133@CSAA7134Card@@QAEHW4eAudioChannel@CSAA7134Common@@@Z ; CSAA7134Card::_IsAudioChannelDetected7133
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?_IsAudioChannelDetected7133@CSAA7134Card@@QAEHW4eAudioChannel@CSAA7134Common@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?_IsAudioChannelDetected7133@CSAA7134Card@@QAEHW4eAudioChannel@CSAA7134Common@@@Z$0
__ehfuncinfo$?_IsAudioChannelDetected7133@CSAA7134Card@@QAEHW4eAudioChannel@CSAA7134Common@@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?_IsAudioChannelDetected7133@CSAA7134Card@@QAEHW4eAudioChannel@CSAA7134Common@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?_IsAudioChannelDetected7133@CSAA7134Card@@QAEHW4eAudioChannel@CSAA7134Common@@@Z
_TEXT	SEGMENT
tv85 = -44						; size = 4
_this$ = -40						; size = 4
$T358883 = -36						; size = 4
$T358880 = -32						; size = 4
$T358879 = -28						; size = 4
_b$ = -24						; size = 12
__$EHRec$ = -12						; size = 12
_audioChannel$ = 8					; size = 4
?_IsAudioChannelDetected7133@CSAA7134Card@@QAEHW4eAudioChannel@CSAA7134Common@@@Z PROC ; CSAA7134Card::_IsAudioChannelDetected7133, COMDAT
; _this$ = ecx

; 1396 : {

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

; 1397 :     CBitVector b;

  00028	8d 4d e8	 lea	 ecx, DWORD PTR _b$[ebp]
  0002b	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@XZ	; CBitVector::CBitVector
  00030	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 1398 :     ReadDSPData7133(SAA7133_A_MAIN_STATUS, b);

  00037	8d 45 e8	 lea	 eax, DWORD PTR _b$[ebp]
  0003a	50		 push	 eax
  0003b	68 ff ff 1f 00	 push	 2097151			; 001fffffH
  00040	68 04 04 00 00	 push	 1028			; 00000404H
  00045	8b 4d d8	 mov	 ecx, DWORD PTR _this$[ebp]
  00048	e8 00 00 00 00	 call	 ?ReadDSPData7133@CSAA7134Card@@QAEHKKAAVCBitVector@@@Z ; CSAA7134Card::ReadDSPData7133

; 1399 : 
; 1400 :     // Checking general stereo (GST) and general dual (GDU) is unverified.
; 1401 :     if (b.value(SAA7133_A_MAIN_STATUS_GST))

  0004d	6a 01		 push	 1
  0004f	6a 05		 push	 5
  00051	8d 4d e8	 lea	 ecx, DWORD PTR _b$[ebp]
  00054	e8 00 00 00 00	 call	 ?value@CBitVector@@UBEKEE@Z ; CBitVector::value
  00059	85 c0		 test	 eax, eax
  0005b	74 20		 je	 SHORT $LN2@IsAudioCha@5

; 1402 :     {
; 1403 :         return audioChannel == AUDIOCHANNEL_STEREO;

  0005d	33 c9		 xor	 ecx, ecx
  0005f	83 7d 08 01	 cmp	 DWORD PTR _audioChannel$[ebp], 1
  00063	0f 94 c1	 sete	 cl
  00066	89 4d e4	 mov	 DWORD PTR $T358879[ebp], ecx
  00069	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00070	8d 4d e8	 lea	 ecx, DWORD PTR _b$[ebp]
  00073	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  00078	8b 45 e4	 mov	 eax, DWORD PTR $T358879[ebp]
  0007b	eb 64		 jmp	 SHORT $LN3@IsAudioCha@5
$LN2@IsAudioCha@5:

; 1404 :     }
; 1405 :     if (b.value(SAA7133_A_MAIN_STATUS_GDU))

  0007d	6a 01		 push	 1
  0007f	6a 06		 push	 6
  00081	8d 4d e8	 lea	 ecx, DWORD PTR _b$[ebp]
  00084	e8 00 00 00 00	 call	 ?value@CBitVector@@UBEKEE@Z ; CBitVector::value
  00089	85 c0		 test	 eax, eax
  0008b	74 36		 je	 SHORT $LN1@IsAudioCha@5

; 1406 :     {
; 1407 :         return audioChannel == AUDIOCHANNEL_LANGUAGE1 ||
; 1408 :             audioChannel == AUDIOCHANNEL_LANGUAGE2;

  0008d	83 7d 08 02	 cmp	 DWORD PTR _audioChannel$[ebp], 2
  00091	74 0f		 je	 SHORT $LN5@IsAudioCha@5
  00093	83 7d 08 03	 cmp	 DWORD PTR _audioChannel$[ebp], 3
  00097	74 09		 je	 SHORT $LN5@IsAudioCha@5
  00099	c7 45 d4 00 00
	00 00		 mov	 DWORD PTR tv85[ebp], 0
  000a0	eb 07		 jmp	 SHORT $LN6@IsAudioCha@5
$LN5@IsAudioCha@5:
  000a2	c7 45 d4 01 00
	00 00		 mov	 DWORD PTR tv85[ebp], 1
$LN6@IsAudioCha@5:
  000a9	8b 55 d4	 mov	 edx, DWORD PTR tv85[ebp]
  000ac	89 55 e0	 mov	 DWORD PTR $T358880[ebp], edx
  000af	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  000b6	8d 4d e8	 lea	 ecx, DWORD PTR _b$[ebp]
  000b9	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  000be	8b 45 e0	 mov	 eax, DWORD PTR $T358880[ebp]
  000c1	eb 1e		 jmp	 SHORT $LN3@IsAudioCha@5
$LN1@IsAudioCha@5:

; 1409 :     }
; 1410 :     return audioChannel == AUDIOCHANNEL_MONO;

  000c3	33 c0		 xor	 eax, eax
  000c5	83 7d 08 00	 cmp	 DWORD PTR _audioChannel$[ebp], 0
  000c9	0f 94 c0	 sete	 al
  000cc	89 45 dc	 mov	 DWORD PTR $T358883[ebp], eax
  000cf	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  000d6	8d 4d e8	 lea	 ecx, DWORD PTR _b$[ebp]
  000d9	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  000de	8b 45 dc	 mov	 eax, DWORD PTR $T358883[ebp]
$LN3@IsAudioCha@5:

; 1411 : }

  000e1	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  000e4	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000eb	59		 pop	 ecx
  000ec	8b e5		 mov	 esp, ebp
  000ee	5d		 pop	 ebp
  000ef	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?_IsAudioChannelDetected7133@CSAA7134Card@@QAEHW4eAudioChannel@CSAA7134Common@@@Z$0:
  00000	8d 4d e8	 lea	 ecx, DWORD PTR _b$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__ehhandler$?_IsAudioChannelDetected7133@CSAA7134Card@@QAEHW4eAudioChannel@CSAA7134Common@@@Z:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a dc	 mov	 ecx, DWORD PTR [edx-36]
  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$?_IsAudioChannelDetected7133@CSAA7134Card@@QAEHW4eAudioChannel@CSAA7134Common@@@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?_IsAudioChannelDetected7133@CSAA7134Card@@QAEHW4eAudioChannel@CSAA7134Common@@@Z ENDP ; CSAA7134Card::_IsAudioChannelDetected7133
PUBLIC	?IsAudioChannelDetected@CSAA7134Card@@QAEHW4eAudioChannel@CSAA7134Common@@@Z ; CSAA7134Card::IsAudioChannelDetected
; Function compile flags: /Odtp
;	COMDAT ?IsAudioChannelDetected@CSAA7134Card@@QAEHW4eAudioChannel@CSAA7134Common@@@Z
_TEXT	SEGMENT
tv167 = -20						; size = 4
tv148 = -16						; size = 4
tv143 = -12						; size = 4
_this$ = -8						; size = 4
_Status$ = -1						; size = 1
_AudioChannel$ = 8					; size = 4
?IsAudioChannelDetected@CSAA7134Card@@QAEHW4eAudioChannel@CSAA7134Common@@@Z PROC ; CSAA7134Card::IsAudioChannelDetected, COMDAT
; _this$ = ecx

; 1336 : {

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

; 1337 :     if (m_AudioInputSource == AUDIOINPUTSOURCE_LINE1 ||
; 1338 :         m_AudioInputSource == AUDIOINPUTSOURCE_LINE2 ||
; 1339 :         m_AudioInputSource == AUDIOINPUTSOURCE_DAC_LINE1 ||
; 1340 :         m_AudioInputSource == AUDIOINPUTSOURCE_DAC_LINE2)

  00009	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	83 b8 b0 00 00
	00 00		 cmp	 DWORD PTR [eax+176], 0
  00013	74 24		 je	 SHORT $LN17@IsAudioCha@6
  00015	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00018	83 b9 b0 00 00
	00 01		 cmp	 DWORD PTR [ecx+176], 1
  0001f	74 18		 je	 SHORT $LN17@IsAudioCha@6
  00021	8b 55 f8	 mov	 edx, DWORD PTR _this$[ebp]
  00024	83 ba b0 00 00
	00 03		 cmp	 DWORD PTR [edx+176], 3
  0002b	74 0c		 je	 SHORT $LN17@IsAudioCha@6
  0002d	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  00030	83 b8 b0 00 00
	00 04		 cmp	 DWORD PTR [eax+176], 4
  00037	75 1d		 jne	 SHORT $LN18@IsAudioCha@6
$LN17@IsAudioCha@6:

; 1341 :     {
; 1342 :         // external lines are only stereo
; 1343 :         if (AudioChannel == AUDIOCHANNEL_MONO ||
; 1344 :             AudioChannel == AUDIOCHANNEL_STEREO)

  00039	83 7d 08 00	 cmp	 DWORD PTR _AudioChannel$[ebp], 0
  0003d	74 06		 je	 SHORT $LN15@IsAudioCha@6
  0003f	83 7d 08 01	 cmp	 DWORD PTR _AudioChannel$[ebp], 1
  00043	75 0a		 jne	 SHORT $LN16@IsAudioCha@6
$LN15@IsAudioCha@6:

; 1345 :         {
; 1346 :             return TRUE;

  00045	b8 01 00 00 00	 mov	 eax, 1
  0004a	e9 24 01 00 00	 jmp	 $LN19@IsAudioCha@6
$LN16@IsAudioCha@6:

; 1347 :         }
; 1348 :         return FALSE;

  0004f	33 c0		 xor	 eax, eax
  00051	e9 1d 01 00 00	 jmp	 $LN19@IsAudioCha@6
$LN18@IsAudioCha@6:

; 1349 :     }
; 1350 : 
; 1351 :     if (m_DeviceId == 0x7133 || m_DeviceId == 0x7135)

  00056	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00059	0f b7 51 08	 movzx	 edx, WORD PTR [ecx+8]
  0005d	81 fa 33 71 00
	00		 cmp	 edx, 28979		; 00007133H
  00063	74 0f		 je	 SHORT $LN13@IsAudioCha@6
  00065	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  00068	0f b7 48 08	 movzx	 ecx, WORD PTR [eax+8]
  0006c	81 f9 35 71 00
	00		 cmp	 ecx, 28981		; 00007135H
  00072	75 11		 jne	 SHORT $LN14@IsAudioCha@6
$LN13@IsAudioCha@6:

; 1352 :     {
; 1353 :         return _IsAudioChannelDetected7133(AudioChannel);

  00074	8b 55 08	 mov	 edx, DWORD PTR _AudioChannel$[ebp]
  00077	52		 push	 edx
  00078	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0007b	e8 00 00 00 00	 call	 ?_IsAudioChannelDetected7133@CSAA7134Card@@QAEHW4eAudioChannel@CSAA7134Common@@@Z ; CSAA7134Card::_IsAudioChannelDetected7133
  00080	e9 ee 00 00 00	 jmp	 $LN19@IsAudioCha@6
$LN14@IsAudioCha@6:

; 1354 :     }
; 1355 : 
; 1356 :     BYTE Status;
; 1357 : 
; 1358 :     // Read carrier 2 mode to see if it's NICAM
; 1359 :     if (ReadByte(SAA7134_DEMODULATOR) & SAA7134_DEMODULATOR_CH2MOD1)

  00085	68 4b 01 00 00	 push	 331			; 0000014bH
  0008a	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0008d	e8 00 00 00 00	 call	 ?ReadByte@CPCICard@@QAEEK@Z ; CPCICard::ReadByte
  00092	0f b6 c0	 movzx	 eax, al
  00095	83 e0 10	 and	 eax, 16			; 00000010H
  00098	74 77		 je	 SHORT $LN12@IsAudioCha@6

; 1360 :     {
; 1361 :         Status = (ReadByte(SAA7134_NICAM_STATUS) & SAA7134_NICAM_STATUS_SIN);

  0009a	68 42 01 00 00	 push	 322			; 00000142H
  0009f	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  000a2	e8 00 00 00 00	 call	 ?ReadByte@CPCICard@@QAEEK@Z ; CPCICard::ReadByte
  000a7	0f b6 c8	 movzx	 ecx, al
  000aa	83 e1 03	 and	 ecx, 3
  000ad	88 4d ff	 mov	 BYTE PTR _Status$[ebp], cl

; 1362 : 
; 1363 :         switch (AudioChannel)

  000b0	8b 55 08	 mov	 edx, DWORD PTR _AudioChannel$[ebp]
  000b3	89 55 f4	 mov	 DWORD PTR tv143[ebp], edx
  000b6	83 7d f4 03	 cmp	 DWORD PTR tv143[ebp], 3
  000ba	77 53		 ja	 SHORT $LN10@IsAudioCha@6
  000bc	8b 45 f4	 mov	 eax, DWORD PTR tv143[ebp]
  000bf	ff 24 85 00 00
	00 00		 jmp	 DWORD PTR $LN23@IsAudioCha@6[eax*4]
$LN9@IsAudioCha@6:

; 1364 :         {
; 1365 :         case AUDIOCHANNEL_MONO:
; 1366 :             return Status == 0x00 || Status == 0x02;

  000c6	0f b6 4d ff	 movzx	 ecx, BYTE PTR _Status$[ebp]
  000ca	85 c9		 test	 ecx, ecx
  000cc	74 12		 je	 SHORT $LN21@IsAudioCha@6
  000ce	0f b6 55 ff	 movzx	 edx, BYTE PTR _Status$[ebp]
  000d2	83 fa 02	 cmp	 edx, 2
  000d5	74 09		 je	 SHORT $LN21@IsAudioCha@6
  000d7	c7 45 f0 00 00
	00 00		 mov	 DWORD PTR tv148[ebp], 0
  000de	eb 07		 jmp	 SHORT $LN22@IsAudioCha@6
$LN21@IsAudioCha@6:
  000e0	c7 45 f0 01 00
	00 00		 mov	 DWORD PTR tv148[ebp], 1
$LN22@IsAudioCha@6:
  000e7	8b 45 f0	 mov	 eax, DWORD PTR tv148[ebp]
  000ea	e9 84 00 00 00	 jmp	 $LN19@IsAudioCha@6
$LN8@IsAudioCha@6:

; 1367 :         case AUDIOCHANNEL_STEREO:
; 1368 :             return Status == 0x02;

  000ef	0f b6 45 ff	 movzx	 eax, BYTE PTR _Status$[ebp]
  000f3	33 c9		 xor	 ecx, ecx
  000f5	83 f8 02	 cmp	 eax, 2
  000f8	0f 94 c1	 sete	 cl
  000fb	8b c1		 mov	 eax, ecx
  000fd	eb 74		 jmp	 SHORT $LN19@IsAudioCha@6
$LN7@IsAudioCha@6:

; 1369 :         case AUDIOCHANNEL_LANGUAGE1:
; 1370 :         case AUDIOCHANNEL_LANGUAGE2:
; 1371 :             return Status == 0x01;

  000ff	0f b6 45 ff	 movzx	 eax, BYTE PTR _Status$[ebp]
  00103	83 e8 01	 sub	 eax, 1
  00106	f7 d8		 neg	 eax
  00108	1b c0		 sbb	 eax, eax
  0010a	83 c0 01	 add	 eax, 1
  0010d	eb 64		 jmp	 SHORT $LN19@IsAudioCha@6
$LN10@IsAudioCha@6:

; 1372 :         }
; 1373 :     }
; 1374 :     else

  0010f	eb 60		 jmp	 SHORT $LN6@IsAudioCha@6
$LN12@IsAudioCha@6:

; 1375 :     {
; 1376 :         Status = (ReadByte(SAA7134_IDENT_SIF) & SAA7134_IDENT_SIF_IDP) >> 5;

  00111	68 45 01 00 00	 push	 325			; 00000145H
  00116	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00119	e8 00 00 00 00	 call	 ?ReadByte@CPCICard@@QAEEK@Z ; CPCICard::ReadByte
  0011e	0f b6 d0	 movzx	 edx, al
  00121	81 e2 e0 00 00
	00		 and	 edx, 224		; 000000e0H
  00127	c1 fa 05	 sar	 edx, 5
  0012a	88 55 ff	 mov	 BYTE PTR _Status$[ebp], dl

; 1377 : 
; 1378 :         switch (AudioChannel)

  0012d	8b 45 08	 mov	 eax, DWORD PTR _AudioChannel$[ebp]
  00130	89 45 ec	 mov	 DWORD PTR tv167[ebp], eax
  00133	83 7d ec 03	 cmp	 DWORD PTR tv167[ebp], 3
  00137	77 38		 ja	 SHORT $LN6@IsAudioCha@6
  00139	8b 4d ec	 mov	 ecx, DWORD PTR tv167[ebp]
  0013c	ff 24 8d 00 00
	00 00		 jmp	 DWORD PTR $LN24@IsAudioCha@6[ecx*4]
$LN3@IsAudioCha@6:

; 1379 :         {
; 1380 :         case AUDIOCHANNEL_MONO:
; 1381 :             return (Status & (1 << 1)) == 0;

  00143	0f b6 45 ff	 movzx	 eax, BYTE PTR _Status$[ebp]
  00147	83 e0 02	 and	 eax, 2
  0014a	f7 d8		 neg	 eax
  0014c	1b c0		 sbb	 eax, eax
  0014e	83 c0 01	 add	 eax, 1
  00151	eb 20		 jmp	 SHORT $LN19@IsAudioCha@6
$LN2@IsAudioCha@6:

; 1382 :         case AUDIOCHANNEL_STEREO:
; 1383 :             return (Status & (1 << 2)) != 0;

  00153	0f b6 45 ff	 movzx	 eax, BYTE PTR _Status$[ebp]
  00157	83 e0 04	 and	 eax, 4
  0015a	f7 d8		 neg	 eax
  0015c	1b c0		 sbb	 eax, eax
  0015e	f7 d8		 neg	 eax
  00160	eb 11		 jmp	 SHORT $LN19@IsAudioCha@6
$LN1@IsAudioCha@6:

; 1384 :         case AUDIOCHANNEL_LANGUAGE1:
; 1385 :         case AUDIOCHANNEL_LANGUAGE2:
; 1386 :             return (Status & (1 << 1)) != 0;

  00162	0f b6 45 ff	 movzx	 eax, BYTE PTR _Status$[ebp]
  00166	83 e0 02	 and	 eax, 2
  00169	f7 d8		 neg	 eax
  0016b	1b c0		 sbb	 eax, eax
  0016d	f7 d8		 neg	 eax
  0016f	eb 02		 jmp	 SHORT $LN19@IsAudioCha@6
$LN6@IsAudioCha@6:

; 1387 :         }
; 1388 :     }
; 1389 : 
; 1390 :     // NEVER_GET_HERE;
; 1391 :     return FALSE;

  00171	33 c0		 xor	 eax, eax
$LN19@IsAudioCha@6:

; 1392 : }

  00173	8b e5		 mov	 esp, ebp
  00175	5d		 pop	 ebp
  00176	c2 04 00	 ret	 4
  00179	8d 49 00	 npad	 3
$LN23@IsAudioCha@6:
  0017c	00 00 00 00	 DD	 $LN9@IsAudioCha@6
  00180	00 00 00 00	 DD	 $LN8@IsAudioCha@6
  00184	00 00 00 00	 DD	 $LN7@IsAudioCha@6
  00188	00 00 00 00	 DD	 $LN7@IsAudioCha@6
$LN24@IsAudioCha@6:
  0018c	00 00 00 00	 DD	 $LN3@IsAudioCha@6
  00190	00 00 00 00	 DD	 $LN2@IsAudioCha@6
  00194	00 00 00 00	 DD	 $LN1@IsAudioCha@6
  00198	00 00 00 00	 DD	 $LN1@IsAudioCha@6
?IsAudioChannelDetected@CSAA7134Card@@QAEHW4eAudioChannel@CSAA7134Common@@@Z ENDP ; CSAA7134Card::IsAudioChannelDetected
_TEXT	ENDS
PUBLIC	?_SetIOSelectOCS7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z ; CSAA7134Card::_SetIOSelectOCS7133
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?_SetIOSelectOCS7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?_SetIOSelectOCS7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?_SetIOSelectOCS7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$?_SetIOSelectOCS7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z$2
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?_SetIOSelectOCS7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z$3
	DD	03H
	DD	FLAT:__unwindfunclet$?_SetIOSelectOCS7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z$4
	DD	04H
	DD	FLAT:__unwindfunclet$?_SetIOSelectOCS7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z$5
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?_SetIOSelectOCS7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z$6
	DD	06H
	DD	FLAT:__unwindfunclet$?_SetIOSelectOCS7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z$7
	DD	07H
	DD	FLAT:__unwindfunclet$?_SetIOSelectOCS7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z$8
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?_SetIOSelectOCS7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z$9
__ehfuncinfo$?_SetIOSelectOCS7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z DD 019930522H
	DD	0aH
	DD	FLAT:__unwindtable$?_SetIOSelectOCS7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?_SetIOSelectOCS7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z
_TEXT	SEGMENT
tv255 = -204						; size = 4
tv268 = -200						; size = 4
tv253 = -196						; size = 4
tv266 = -192						; size = 4
tv250 = -188						; size = 4
tv265 = -184						; size = 4
tv189 = -180						; size = 4
tv248 = -176						; size = 4
tv264 = -172						; size = 4
tv246 = -168						; size = 4
tv262 = -164						; size = 4
tv243 = -160						; size = 4
tv261 = -156						; size = 4
tv154 = -152						; size = 4
tv241 = -148						; size = 4
tv260 = -144						; size = 4
tv239 = -140						; size = 4
tv258 = -136						; size = 4
tv236 = -132						; size = 4
tv257 = -128						; size = 4
tv81 = -124						; size = 4
tv234 = -120						; size = 4
tv256 = -116						; size = 4
tv64 = -112						; size = 4
_this$ = -108						; size = 4
$T358908 = -104						; size = 4
$T358907 = -100						; size = 12
$T358906 = -88						; size = 12
$T358905 = -76						; size = 4
$T358904 = -72						; size = 12
$T358903 = -60						; size = 12
$T358902 = -48						; size = 4
$T358901 = -44						; size = 12
$T358900 = -32						; size = 12
$T358899 = -20						; size = 4
_ocs$ = -13						; size = 1
__$EHRec$ = -12						; size = 12
_inputSource$ = 8					; size = 4
_bStereoExternal$ = 12					; size = 4
?_SetIOSelectOCS7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z PROC ; CSAA7134Card::_SetIOSelectOCS7133, COMDAT
; _this$ = ecx

; 1299 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?_SetIOSelectOCS7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	81 ec c0 00 00
	00		 sub	 esp, 192		; 000000c0H
  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001c	33 c5		 xor	 eax, ebp
  0001e	50		 push	 eax
  0001f	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00022	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00028	89 4d 94	 mov	 DWORD PTR _this$[ebp], ecx

; 1300 :     // In SAA7133, 0111 is _T("no output enabled").
; 1301 :     BYTE ocs = 0x7;

  0002b	c6 45 f3 07	 mov	 BYTE PTR _ocs$[ebp], 7

; 1302 : 
; 1303 :     switch (inputSource)

  0002f	8b 45 08	 mov	 eax, DWORD PTR _inputSource$[ebp]
  00032	89 45 90	 mov	 DWORD PTR tv64[ebp], eax
  00035	83 7d 90 04	 cmp	 DWORD PTR tv64[ebp], 4
  00039	0f 87 6d 02 00
	00		 ja	 $LN6@SetIOSelec@2
  0003f	8b 4d 90	 mov	 ecx, DWORD PTR tv64[ebp]
  00042	ff 24 8d 00 00
	00 00		 jmp	 DWORD PTR $LN21@SetIOSelec@2[ecx*4]
$LN5@SetIOSelec@2:

; 1304 :     {
; 1305 :         // DAC L/DAC R
; 1306 :     case AUDIOINPUTSOURCE_DAC: ocs = 0x2;

  00049	c6 45 f3 02	 mov	 BYTE PTR _ocs$[ebp], 2

; 1307 :         // DACL = MAIN left, DACR = MAIN right.
; 1308 :         WriteDSPData7133(SAA7133_A_DIGITAL_OUTPUT_SEL2,
; 1309 :             _B(SAA7133_A_DIGITAL_OUTPUT_SEL2_ASDACL, 0)|
; 1310 :             _B(SAA7133_A_DIGITAL_OUTPUT_SEL2_ASDACR, 1));

  0004d	6a 00		 push	 0
  0004f	6a 0f		 push	 15			; 0000000fH
  00051	6a 00		 push	 0
  00053	8d 4d e0	 lea	 ecx, DWORD PTR $T358900[ebp]
  00056	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  0005b	89 45 8c	 mov	 DWORD PTR tv256[ebp], eax
  0005e	8b 55 8c	 mov	 edx, DWORD PTR tv256[ebp]
  00061	89 55 88	 mov	 DWORD PTR tv234[ebp], edx
  00064	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  0006b	8b 45 88	 mov	 eax, DWORD PTR tv234[ebp]
  0006e	89 45 84	 mov	 DWORD PTR tv81[ebp], eax
  00071	6a 01		 push	 1
  00073	6a 0f		 push	 15			; 0000000fH
  00075	6a 04		 push	 4
  00077	8d 4d d4	 lea	 ecx, DWORD PTR $T358901[ebp]
  0007a	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  0007f	89 45 80	 mov	 DWORD PTR tv257[ebp], eax
  00082	8b 4d 80	 mov	 ecx, DWORD PTR tv257[ebp]
  00085	89 8d 7c ff ff
	ff		 mov	 DWORD PTR tv236[ebp], ecx
  0008b	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  0008f	83 ec 0c	 sub	 esp, 12			; 0000000cH
  00092	8b d4		 mov	 edx, esp
  00094	89 65 ec	 mov	 DWORD PTR $T358899[ebp], esp
  00097	8b 85 7c ff ff
	ff		 mov	 eax, DWORD PTR tv236[ebp]
  0009d	50		 push	 eax
  0009e	52		 push	 edx
  0009f	8b 4d 84	 mov	 ecx, DWORD PTR tv81[ebp]
  000a2	8b 11		 mov	 edx, DWORD PTR [ecx]
  000a4	8b 4d 84	 mov	 ecx, DWORD PTR tv81[ebp]
  000a7	8b 42 2c	 mov	 eax, DWORD PTR [edx+44]
  000aa	ff d0		 call	 eax
  000ac	89 85 78 ff ff
	ff		 mov	 DWORD PTR tv258[ebp], eax
  000b2	8b 8d 78 ff ff
	ff		 mov	 ecx, DWORD PTR tv258[ebp]
  000b8	89 8d 74 ff ff
	ff		 mov	 DWORD PTR tv239[ebp], ecx
  000be	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  000c2	68 ff ff ff 00	 push	 16777215		; 00ffffffH
  000c7	68 70 04 00 00	 push	 1136			; 00000470H
  000cc	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  000d0	8b 4d 94	 mov	 ecx, DWORD PTR _this$[ebp]
  000d3	e8 00 00 00 00	 call	 ?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z ; CSAA7134Card::WriteDSPData7133
  000d8	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  000dc	8d 4d d4	 lea	 ecx, DWORD PTR $T358901[ebp]
  000df	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  000e4	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  000eb	8d 4d e0	 lea	 ecx, DWORD PTR $T358900[ebp]
  000ee	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector

; 1311 :         break;

  000f3	e9 b4 01 00 00	 jmp	 $LN6@SetIOSelec@2
$LN4@SetIOSelec@2:

; 1312 :         // EXTIL1/EXTIR1 or EXTIL1/EXTIL1
; 1313 :     case AUDIOINPUTSOURCE_LINE1: ocs = (bStereoExternal ? 0x0 : 0x3); break;

  000f8	8b 55 0c	 mov	 edx, DWORD PTR _bStereoExternal$[ebp]
  000fb	f7 da		 neg	 edx
  000fd	1b d2		 sbb	 edx, edx
  000ff	83 e2 fd	 and	 edx, -3			; fffffffdH
  00102	83 c2 03	 add	 edx, 3
  00105	88 55 f3	 mov	 BYTE PTR _ocs$[ebp], dl
  00108	e9 9f 01 00 00	 jmp	 $LN6@SetIOSelec@2
$LN3@SetIOSelec@2:

; 1314 :         // EXTIL2/EXTIR2 or EXTIL2/EXTIL2
; 1315 :     case AUDIOINPUTSOURCE_LINE2: ocs = (bStereoExternal ? 0x1 : 0x5); break;

  0010d	33 c0		 xor	 eax, eax
  0010f	83 7d 0c 00	 cmp	 DWORD PTR _bStereoExternal$[ebp], 0
  00113	0f 94 c0	 sete	 al
  00116	8d 04 85 01 00
	00 00		 lea	 eax, DWORD PTR [eax*4+1]
  0011d	88 45 f3	 mov	 BYTE PTR _ocs$[ebp], al
  00120	e9 87 01 00 00	 jmp	 $LN6@SetIOSelec@2
$LN2@SetIOSelec@2:

; 1316 :         // Via DAC auxiliary lines.
; 1317 :     case AUDIOINPUTSOURCE_DAC_LINE1:
; 1318 :         // DACL = AUX1 left, DACR = AUX1 right.
; 1319 :         WriteDSPData7133(SAA7133_A_DIGITAL_OUTPUT_SEL2,
; 1320 :             _B(SAA7133_A_DIGITAL_OUTPUT_SEL2_ASDACL, 2)|
; 1321 :             _B(SAA7133_A_DIGITAL_OUTPUT_SEL2_ASDACR, 3));

  00125	6a 02		 push	 2
  00127	6a 0f		 push	 15			; 0000000fH
  00129	6a 00		 push	 0
  0012b	8d 4d c4	 lea	 ecx, DWORD PTR $T358903[ebp]
  0012e	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  00133	89 85 70 ff ff
	ff		 mov	 DWORD PTR tv260[ebp], eax
  00139	8b 8d 70 ff ff
	ff		 mov	 ecx, DWORD PTR tv260[ebp]
  0013f	89 8d 6c ff ff
	ff		 mov	 DWORD PTR tv241[ebp], ecx
  00145	c7 45 fc 03 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 3
  0014c	8b 95 6c ff ff
	ff		 mov	 edx, DWORD PTR tv241[ebp]
  00152	89 95 68 ff ff
	ff		 mov	 DWORD PTR tv154[ebp], edx
  00158	6a 03		 push	 3
  0015a	6a 0f		 push	 15			; 0000000fH
  0015c	6a 04		 push	 4
  0015e	8d 4d b8	 lea	 ecx, DWORD PTR $T358904[ebp]
  00161	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  00166	89 85 64 ff ff
	ff		 mov	 DWORD PTR tv261[ebp], eax
  0016c	8b 85 64 ff ff
	ff		 mov	 eax, DWORD PTR tv261[ebp]
  00172	89 85 60 ff ff
	ff		 mov	 DWORD PTR tv243[ebp], eax
  00178	c6 45 fc 04	 mov	 BYTE PTR __$EHRec$[ebp+8], 4
  0017c	83 ec 0c	 sub	 esp, 12			; 0000000cH
  0017f	8b cc		 mov	 ecx, esp
  00181	89 65 d0	 mov	 DWORD PTR $T358902[ebp], esp
  00184	8b 95 60 ff ff
	ff		 mov	 edx, DWORD PTR tv243[ebp]
  0018a	52		 push	 edx
  0018b	51		 push	 ecx
  0018c	8b 85 68 ff ff
	ff		 mov	 eax, DWORD PTR tv154[ebp]
  00192	8b 10		 mov	 edx, DWORD PTR [eax]
  00194	8b 8d 68 ff ff
	ff		 mov	 ecx, DWORD PTR tv154[ebp]
  0019a	8b 42 2c	 mov	 eax, DWORD PTR [edx+44]
  0019d	ff d0		 call	 eax
  0019f	89 85 5c ff ff
	ff		 mov	 DWORD PTR tv262[ebp], eax
  001a5	8b 8d 5c ff ff
	ff		 mov	 ecx, DWORD PTR tv262[ebp]
  001ab	89 8d 58 ff ff
	ff		 mov	 DWORD PTR tv246[ebp], ecx
  001b1	c6 45 fc 05	 mov	 BYTE PTR __$EHRec$[ebp+8], 5
  001b5	68 ff ff ff 00	 push	 16777215		; 00ffffffH
  001ba	68 70 04 00 00	 push	 1136			; 00000470H
  001bf	c6 45 fc 04	 mov	 BYTE PTR __$EHRec$[ebp+8], 4
  001c3	8b 4d 94	 mov	 ecx, DWORD PTR _this$[ebp]
  001c6	e8 00 00 00 00	 call	 ?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z ; CSAA7134Card::WriteDSPData7133
  001cb	c6 45 fc 03	 mov	 BYTE PTR __$EHRec$[ebp+8], 3
  001cf	8d 4d b8	 lea	 ecx, DWORD PTR $T358904[ebp]
  001d2	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  001d7	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  001de	8d 4d c4	 lea	 ecx, DWORD PTR $T358903[ebp]
  001e1	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector

; 1322 :         break;

  001e6	e9 c1 00 00 00	 jmp	 $LN6@SetIOSelec@2
$LN1@SetIOSelec@2:

; 1323 :     case AUDIOINPUTSOURCE_DAC_LINE2:
; 1324 :         // DACL = AUX2 left, DACR = AUX2 right.
; 1325 :         WriteDSPData7133(SAA7133_A_DIGITAL_OUTPUT_SEL2,
; 1326 :             _B(SAA7133_A_DIGITAL_OUTPUT_SEL2_ASDACL, 4)|
; 1327 :             _B(SAA7133_A_DIGITAL_OUTPUT_SEL2_ASDACR, 5));

  001eb	6a 04		 push	 4
  001ed	6a 0f		 push	 15			; 0000000fH
  001ef	6a 00		 push	 0
  001f1	8d 4d a8	 lea	 ecx, DWORD PTR $T358906[ebp]
  001f4	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  001f9	89 85 54 ff ff
	ff		 mov	 DWORD PTR tv264[ebp], eax
  001ff	8b 95 54 ff ff
	ff		 mov	 edx, DWORD PTR tv264[ebp]
  00205	89 95 50 ff ff
	ff		 mov	 DWORD PTR tv248[ebp], edx
  0020b	c7 45 fc 06 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 6
  00212	8b 85 50 ff ff
	ff		 mov	 eax, DWORD PTR tv248[ebp]
  00218	89 85 4c ff ff
	ff		 mov	 DWORD PTR tv189[ebp], eax
  0021e	6a 05		 push	 5
  00220	6a 0f		 push	 15			; 0000000fH
  00222	6a 04		 push	 4
  00224	8d 4d 9c	 lea	 ecx, DWORD PTR $T358907[ebp]
  00227	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  0022c	89 85 48 ff ff
	ff		 mov	 DWORD PTR tv265[ebp], eax
  00232	8b 8d 48 ff ff
	ff		 mov	 ecx, DWORD PTR tv265[ebp]
  00238	89 8d 44 ff ff
	ff		 mov	 DWORD PTR tv250[ebp], ecx
  0023e	c6 45 fc 07	 mov	 BYTE PTR __$EHRec$[ebp+8], 7
  00242	83 ec 0c	 sub	 esp, 12			; 0000000cH
  00245	8b d4		 mov	 edx, esp
  00247	89 65 b4	 mov	 DWORD PTR $T358905[ebp], esp
  0024a	8b 85 44 ff ff
	ff		 mov	 eax, DWORD PTR tv250[ebp]
  00250	50		 push	 eax
  00251	52		 push	 edx
  00252	8b 8d 4c ff ff
	ff		 mov	 ecx, DWORD PTR tv189[ebp]
  00258	8b 11		 mov	 edx, DWORD PTR [ecx]
  0025a	8b 8d 4c ff ff
	ff		 mov	 ecx, DWORD PTR tv189[ebp]
  00260	8b 42 2c	 mov	 eax, DWORD PTR [edx+44]
  00263	ff d0		 call	 eax
  00265	89 85 40 ff ff
	ff		 mov	 DWORD PTR tv266[ebp], eax
  0026b	8b 8d 40 ff ff
	ff		 mov	 ecx, DWORD PTR tv266[ebp]
  00271	89 8d 3c ff ff
	ff		 mov	 DWORD PTR tv253[ebp], ecx
  00277	c6 45 fc 08	 mov	 BYTE PTR __$EHRec$[ebp+8], 8
  0027b	68 ff ff ff 00	 push	 16777215		; 00ffffffH
  00280	68 70 04 00 00	 push	 1136			; 00000470H
  00285	c6 45 fc 07	 mov	 BYTE PTR __$EHRec$[ebp+8], 7
  00289	8b 4d 94	 mov	 ecx, DWORD PTR _this$[ebp]
  0028c	e8 00 00 00 00	 call	 ?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z ; CSAA7134Card::WriteDSPData7133
  00291	c6 45 fc 06	 mov	 BYTE PTR __$EHRec$[ebp+8], 6
  00295	8d 4d 9c	 lea	 ecx, DWORD PTR $T358907[ebp]
  00298	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  0029d	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  002a4	8d 4d a8	 lea	 ecx, DWORD PTR $T358906[ebp]
  002a7	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
$LN6@SetIOSelec@2:

; 1328 :         break;
; 1329 :     }
; 1330 : 
; 1331 :     WriteData(SAA7133_ANALOG_IO_SELECT, _B(SAA7133_ANALOG_IO_SELECT_OCS, ocs));

  002ac	0f b6 55 f3	 movzx	 edx, BYTE PTR _ocs$[ebp]
  002b0	83 ec 0c	 sub	 esp, 12			; 0000000cH
  002b3	8b cc		 mov	 ecx, esp
  002b5	89 65 98	 mov	 DWORD PTR $T358908[ebp], esp
  002b8	52		 push	 edx
  002b9	6a 07		 push	 7
  002bb	6a 00		 push	 0
  002bd	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  002c2	89 85 38 ff ff
	ff		 mov	 DWORD PTR tv268[ebp], eax
  002c8	8b 85 38 ff ff
	ff		 mov	 eax, DWORD PTR tv268[ebp]
  002ce	89 85 34 ff ff
	ff		 mov	 DWORD PTR tv255[ebp], eax
  002d4	c7 45 fc 09 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 9
  002db	6a 3f		 push	 63			; 0000003fH
  002dd	68 94 05 00 00	 push	 1428			; 00000594H
  002e2	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  002e9	8b 4d 94	 mov	 ecx, DWORD PTR _this$[ebp]
  002ec	e8 00 00 00 00	 call	 ?WriteData@CPCICard@@QAEXKKVCBitVector@@@Z ; CPCICard::WriteData

; 1332 : }

  002f1	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  002f4	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  002fb	59		 pop	 ecx
  002fc	8b e5		 mov	 esp, ebp
  002fe	5d		 pop	 ebp
  002ff	c2 08 00	 ret	 8
  00302	8b ff		 npad	 2
$LN21@SetIOSelec@2:
  00304	00 00 00 00	 DD	 $LN4@SetIOSelec@2
  00308	00 00 00 00	 DD	 $LN3@SetIOSelec@2
  0030c	00 00 00 00	 DD	 $LN5@SetIOSelec@2
  00310	00 00 00 00	 DD	 $LN2@SetIOSelec@2
  00314	00 00 00 00	 DD	 $LN1@SetIOSelec@2
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?_SetIOSelectOCS7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z$0:
  00000	8d 4d e0	 lea	 ecx, DWORD PTR $T358900[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?_SetIOSelectOCS7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z$1:
  00008	8d 4d d4	 lea	 ecx, DWORD PTR $T358901[ebp]
  0000b	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?_SetIOSelectOCS7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z$2:
  00010	8b 4d ec	 mov	 ecx, DWORD PTR $T358899[ebp]
  00013	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?_SetIOSelectOCS7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z$3:
  00018	8d 4d c4	 lea	 ecx, DWORD PTR $T358903[ebp]
  0001b	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?_SetIOSelectOCS7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z$4:
  00020	8d 4d b8	 lea	 ecx, DWORD PTR $T358904[ebp]
  00023	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?_SetIOSelectOCS7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z$5:
  00028	8b 4d d0	 mov	 ecx, DWORD PTR $T358902[ebp]
  0002b	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?_SetIOSelectOCS7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z$6:
  00030	8d 4d a8	 lea	 ecx, DWORD PTR $T358906[ebp]
  00033	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?_SetIOSelectOCS7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z$7:
  00038	8d 4d 9c	 lea	 ecx, DWORD PTR $T358907[ebp]
  0003b	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?_SetIOSelectOCS7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z$8:
  00040	8b 4d b4	 mov	 ecx, DWORD PTR $T358905[ebp]
  00043	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?_SetIOSelectOCS7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z$9:
  00048	8b 4d 98	 mov	 ecx, DWORD PTR $T358908[ebp]
  0004b	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__ehhandler$?_SetIOSelectOCS7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z:
  00050	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00054	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00057	8b 8a 3c ff ff
	ff		 mov	 ecx, DWORD PTR [edx-196]
  0005d	33 c8		 xor	 ecx, eax
  0005f	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00064	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?_SetIOSelectOCS7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z
  00069	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?_SetIOSelectOCS7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z ENDP ; CSAA7134Card::_SetIOSelectOCS7133
PUBLIC	?_SetIOSelectOCS@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z ; CSAA7134Card::_SetIOSelectOCS
; Function compile flags: /Odtp
;	COMDAT ?_SetIOSelectOCS@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z
_TEXT	SEGMENT
tv81 = -12						; size = 4
_this$ = -8						; size = 4
_LineSelect$ = -1					; size = 1
_InputSource$ = 8					; size = 4
_bStereoExternal$ = 12					; size = 4
?_SetIOSelectOCS@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z PROC ; CSAA7134Card::_SetIOSelectOCS, COMDAT
; _this$ = ecx

; 1275 : {

  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

; 1276 :     if (m_DeviceId == 0x7133 || m_DeviceId == 0x7135)

  00009	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	0f b7 48 08	 movzx	 ecx, WORD PTR [eax+8]
  00010	81 f9 33 71 00
	00		 cmp	 ecx, 28979		; 00007133H
  00016	74 0e		 je	 SHORT $LN6@SetIOSelec@3
  00018	8b 55 f8	 mov	 edx, DWORD PTR _this$[ebp]
  0001b	0f b7 42 08	 movzx	 eax, WORD PTR [edx+8]
  0001f	3d 35 71 00 00	 cmp	 eax, 28981		; 00007135H
  00024	75 12		 jne	 SHORT $LN7@SetIOSelec@3
$LN6@SetIOSelec@3:

; 1277 :     {
; 1278 :         _SetIOSelectOCS7133(InputSource, bStereoExternal);

  00026	8b 4d 0c	 mov	 ecx, DWORD PTR _bStereoExternal$[ebp]
  00029	51		 push	 ecx
  0002a	8b 55 08	 mov	 edx, DWORD PTR _InputSource$[ebp]
  0002d	52		 push	 edx
  0002e	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00031	e8 00 00 00 00	 call	 ?_SetIOSelectOCS7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z ; CSAA7134Card::_SetIOSelectOCS7133

; 1279 :         return;

  00036	eb 55		 jmp	 SHORT $LN8@SetIOSelec@3
$LN7@SetIOSelec@3:

; 1280 :     }
; 1281 : 
; 1282 :     BYTE LineSelect;
; 1283 : 
; 1284 :     switch (InputSource)

  00038	8b 45 08	 mov	 eax, DWORD PTR _InputSource$[ebp]
  0003b	89 45 f4	 mov	 DWORD PTR tv81[ebp], eax
  0003e	83 7d f4 04	 cmp	 DWORD PTR tv81[ebp], 4
  00042	77 35		 ja	 SHORT $LN4@SetIOSelec@3
  00044	8b 4d f4	 mov	 ecx, DWORD PTR tv81[ebp]
  00047	ff 24 8d 00 00
	00 00		 jmp	 DWORD PTR $LN10@SetIOSelec@3[ecx*4]
$LN3@SetIOSelec@3:

; 1285 :     {
; 1286 :     case AUDIOINPUTSOURCE_DAC: LineSelect = 0x02; break;

  0004e	c6 45 ff 02	 mov	 BYTE PTR _LineSelect$[ebp], 2
  00052	eb 25		 jmp	 SHORT $LN4@SetIOSelec@3
$LN2@SetIOSelec@3:

; 1287 :     case AUDIOINPUTSOURCE_DAC_LINE1:
; 1288 :     case AUDIOINPUTSOURCE_LINE1: LineSelect = bStereoExternal ? 0x00 : 0x03; break;

  00054	8b 55 0c	 mov	 edx, DWORD PTR _bStereoExternal$[ebp]
  00057	f7 da		 neg	 edx
  00059	1b d2		 sbb	 edx, edx
  0005b	83 e2 fd	 and	 edx, -3			; fffffffdH
  0005e	83 c2 03	 add	 edx, 3
  00061	88 55 ff	 mov	 BYTE PTR _LineSelect$[ebp], dl
  00064	eb 13		 jmp	 SHORT $LN4@SetIOSelec@3
$LN1@SetIOSelec@3:

; 1289 :     case AUDIOINPUTSOURCE_DAC_LINE2:
; 1290 :     case AUDIOINPUTSOURCE_LINE2: LineSelect = bStereoExternal ? 0x01 : 0x05; break;

  00066	33 c0		 xor	 eax, eax
  00068	83 7d 0c 00	 cmp	 DWORD PTR _bStereoExternal$[ebp], 0
  0006c	0f 94 c0	 sete	 al
  0006f	8d 04 85 01 00
	00 00		 lea	 eax, DWORD PTR [eax*4+1]
  00076	88 45 ff	 mov	 BYTE PTR _LineSelect$[ebp], al
$LN4@SetIOSelec@3:

; 1291 :     }
; 1292 : 
; 1293 :     MaskDataByte(SAA7134_ANALOG_IO_SELECT, LineSelect,
; 1294 :         SAA7134_ANALOG_IO_SELECT_OCS);

  00079	6a 07		 push	 7
  0007b	0f b6 4d ff	 movzx	 ecx, BYTE PTR _LineSelect$[ebp]
  0007f	51		 push	 ecx
  00080	68 6e 01 00 00	 push	 366			; 0000016eH
  00085	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00088	e8 00 00 00 00	 call	 ?MaskDataByte@CPCICard@@QAEXKEE@Z ; CPCICard::MaskDataByte
$LN8@SetIOSelec@3:

; 1295 : }

  0008d	8b e5		 mov	 esp, ebp
  0008f	5d		 pop	 ebp
  00090	c2 08 00	 ret	 8
  00093	90		 npad	 1
$LN10@SetIOSelec@3:
  00094	00 00 00 00	 DD	 $LN2@SetIOSelec@3
  00098	00 00 00 00	 DD	 $LN1@SetIOSelec@3
  0009c	00 00 00 00	 DD	 $LN3@SetIOSelec@3
  000a0	00 00 00 00	 DD	 $LN2@SetIOSelec@3
  000a4	00 00 00 00	 DD	 $LN1@SetIOSelec@3
?_SetIOSelectOCS@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z ENDP ; CSAA7134Card::_SetIOSelectOCS
_TEXT	ENDS
PUBLIC	?SetAudioSource7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@@Z ; CSAA7134Card::SetAudioSource7133
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?SetAudioSource7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?SetAudioSource7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@@Z$0
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?SetAudioSource7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@@Z$1
__ehfuncinfo$?SetAudioSource7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$?SetAudioSource7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?SetAudioSource7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@@Z
_TEXT	SEGMENT
tv156 = -40						; size = 4
tv158 = -36						; size = 4
tv154 = -32						; size = 4
tv157 = -28						; size = 4
_this$ = -24						; size = 4
$T358932 = -20						; size = 4
$T358931 = -16						; size = 4
__$EHRec$ = -12						; size = 12
_inputSource$ = 8					; size = 4
?SetAudioSource7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@@Z PROC ; CSAA7134Card::SetAudioSource7133, COMDAT
; _this$ = ecx

; 1251 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?SetAudioSource7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 1c	 sub	 esp, 28			; 0000001cH
  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

; 1252 :     _SetIOSelectOCS7133(inputSource, m_bStereoExternalLines);

  00028	8b 45 e8	 mov	 eax, DWORD PTR _this$[ebp]
  0002b	8b 88 b8 00 00
	00		 mov	 ecx, DWORD PTR [eax+184]
  00031	51		 push	 ecx
  00032	8b 55 08	 mov	 edx, DWORD PTR _inputSource$[ebp]
  00035	52		 push	 edx
  00036	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00039	e8 00 00 00 00	 call	 ?_SetIOSelectOCS7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z ; CSAA7134Card::_SetIOSelectOCS7133

; 1253 : 
; 1254 :     if (inputSource == AUDIOINPUTSOURCE_DAC)

  0003e	83 7d 08 02	 cmp	 DWORD PTR _inputSource$[ebp], 2
  00042	75 0f		 jne	 SHORT $LN7@SetAudioSo@18

; 1255 :     {
; 1256 :         SetAudioSampleRate7133(AUDIOSAMPLERATE_32000Hz);

  00044	6a 00		 push	 0
  00046	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00049	e8 00 00 00 00	 call	 ?SetAudioSampleRate7133@CSAA7134Card@@QAEXW4eAudioSampleRate@CSAA7134Common@@@Z ; CSAA7134Card::SetAudioSampleRate7133
  0004e	e9 8c 00 00 00	 jmp	 $LN8@SetAudioSo@18
$LN7@SetAudioSo@18:

; 1257 :     }
; 1258 :     else if (inputSource == AUDIOINPUTSOURCE_LINE1 || inputSource == AUDIOINPUTSOURCE_DAC_LINE1)

  00053	83 7d 08 00	 cmp	 DWORD PTR _inputSource$[ebp], 0
  00057	74 06		 je	 SHORT $LN4@SetAudioSo@18
  00059	83 7d 08 03	 cmp	 DWORD PTR _inputSource$[ebp], 3
  0005d	75 3b		 jne	 SHORT $LN5@SetAudioSo@18
$LN4@SetAudioSo@18:

; 1259 :     {
; 1260 :         // Input crossbar select line 1.  Sample rate and audio clock adjustments
; 1261 :         // for the external two lines should be made by CSAA7134Source calling
; 1262 :         // SetAudioSampleRate() straight after.  CSAA7134Card doesn't record the
; 1263 :         // sample rate state to be able to make the adjustment itself.
; 1264 :         WriteData(SAA7133_ANALOG_IO_SELECT, _B(SAA7133_ANALOG_IO_SELECT_ICS, 0));

  0005f	83 ec 0c	 sub	 esp, 12			; 0000000cH
  00062	8b cc		 mov	 ecx, esp
  00064	89 65 f0	 mov	 DWORD PTR $T358931[ebp], esp
  00067	6a 00		 push	 0
  00069	6a 01		 push	 1
  0006b	6a 03		 push	 3
  0006d	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  00072	89 45 e4	 mov	 DWORD PTR tv157[ebp], eax
  00075	8b 45 e4	 mov	 eax, DWORD PTR tv157[ebp]
  00078	89 45 e0	 mov	 DWORD PTR tv154[ebp], eax
  0007b	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00082	6a 3f		 push	 63			; 0000003fH
  00084	68 94 05 00 00	 push	 1428			; 00000594H
  00089	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00090	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00093	e8 00 00 00 00	 call	 ?WriteData@CPCICard@@QAEXKKVCBitVector@@@Z ; CPCICard::WriteData
  00098	eb 45		 jmp	 SHORT $LN8@SetAudioSo@18
$LN5@SetAudioSo@18:

; 1265 :     }
; 1266 :     else if (inputSource == AUDIOINPUTSOURCE_LINE2 || inputSource == AUDIOINPUTSOURCE_DAC_LINE2)

  0009a	83 7d 08 01	 cmp	 DWORD PTR _inputSource$[ebp], 1
  0009e	74 06		 je	 SHORT $LN1@SetAudioSo@18
  000a0	83 7d 08 04	 cmp	 DWORD PTR _inputSource$[ebp], 4
  000a4	75 39		 jne	 SHORT $LN8@SetAudioSo@18
$LN1@SetAudioSo@18:

; 1267 :     {
; 1268 :         // Input crossbar select line 2.
; 1269 :         WriteData(SAA7133_ANALOG_IO_SELECT, _B(SAA7133_ANALOG_IO_SELECT_ICS, 1));

  000a6	83 ec 0c	 sub	 esp, 12			; 0000000cH
  000a9	8b cc		 mov	 ecx, esp
  000ab	89 65 ec	 mov	 DWORD PTR $T358932[ebp], esp
  000ae	6a 01		 push	 1
  000b0	6a 01		 push	 1
  000b2	6a 03		 push	 3
  000b4	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  000b9	89 45 dc	 mov	 DWORD PTR tv158[ebp], eax
  000bc	8b 4d dc	 mov	 ecx, DWORD PTR tv158[ebp]
  000bf	89 4d d8	 mov	 DWORD PTR tv156[ebp], ecx
  000c2	c7 45 fc 01 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 1
  000c9	6a 3f		 push	 63			; 0000003fH
  000cb	68 94 05 00 00	 push	 1428			; 00000594H
  000d0	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  000d7	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  000da	e8 00 00 00 00	 call	 ?WriteData@CPCICard@@QAEXKKVCBitVector@@@Z ; CPCICard::WriteData
$LN8@SetAudioSo@18:

; 1270 :     }
; 1271 : }

  000df	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  000e2	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000e9	59		 pop	 ecx
  000ea	8b e5		 mov	 esp, ebp
  000ec	5d		 pop	 ebp
  000ed	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?SetAudioSource7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@@Z$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR $T358931[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioSource7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@@Z$1:
  00008	8b 4d ec	 mov	 ecx, DWORD PTR $T358932[ebp]
  0000b	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__ehhandler$?SetAudioSource7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@@Z:
  00010	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00014	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00017	8b 4a e0	 mov	 ecx, DWORD PTR [edx-32]
  0001a	33 c8		 xor	 ecx, eax
  0001c	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00021	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?SetAudioSource7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@@Z
  00026	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?SetAudioSource7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@@Z ENDP ; CSAA7134Card::SetAudioSource7133
PUBLIC	?SetAudioSource@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@@Z ; CSAA7134Card::SetAudioSource
; Function compile flags: /Odtp
;	COMDAT ?SetAudioSource@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_InputSource$ = 8					; size = 4
?SetAudioSource@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@@Z PROC ; CSAA7134Card::SetAudioSource, COMDAT
; _this$ = ecx

; 1204 : {

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

; 1205 :     if (m_DeviceId != 0x7133 && m_DeviceId != 0x7135)

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	0f b7 48 08	 movzx	 ecx, WORD PTR [eax+8]
  0000e	81 f9 33 71 00
	00		 cmp	 ecx, 28979		; 00007133H
  00014	74 2a		 je	 SHORT $LN14@SetAudioSo@19
  00016	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00019	0f b7 42 08	 movzx	 eax, WORD PTR [edx+8]
  0001d	3d 35 71 00 00	 cmp	 eax, 28981		; 00007135H
  00022	74 1c		 je	 SHORT $LN14@SetAudioSo@19

; 1206 :     {
; 1207 :         if (InputSource == AUDIOINPUTSOURCE_DAC_LINE1)

  00024	83 7d 08 03	 cmp	 DWORD PTR _InputSource$[ebp], 3
  00028	75 09		 jne	 SHORT $LN13@SetAudioSo@19

; 1208 :         {
; 1209 :             InputSource = AUDIOINPUTSOURCE_LINE1;

  0002a	c7 45 08 00 00
	00 00		 mov	 DWORD PTR _InputSource$[ebp], 0
  00031	eb 0d		 jmp	 SHORT $LN14@SetAudioSo@19
$LN13@SetAudioSo@19:

; 1210 :         }
; 1211 :         else if (InputSource == AUDIOINPUTSOURCE_DAC_LINE2)

  00033	83 7d 08 04	 cmp	 DWORD PTR _InputSource$[ebp], 4
  00037	75 07		 jne	 SHORT $LN14@SetAudioSo@19

; 1212 :         {
; 1213 :             InputSource = AUDIOINPUTSOURCE_LINE2;

  00039	c7 45 08 01 00
	00 00		 mov	 DWORD PTR _InputSource$[ebp], 1
$LN14@SetAudioSo@19:

; 1214 :         }
; 1215 :     }
; 1216 : 
; 1217 :     m_AudioInputSource = InputSource;

  00040	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00043	8b 55 08	 mov	 edx, DWORD PTR _InputSource$[ebp]
  00046	89 91 b0 00 00
	00		 mov	 DWORD PTR [ecx+176], edx

; 1218 : 
; 1219 :     if (m_bAudioLineReservedForMute)

  0004c	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0004f	83 b8 b4 00 00
	00 00		 cmp	 DWORD PTR [eax+180], 0
  00056	74 05		 je	 SHORT $LN10@SetAudioSo@19

; 1220 :     {
; 1221 :         // This means that the card's line selection is tied up to a specific
; 1222 :         // line in order perform mute.  (SAA7130 for instance, cannot mute
; 1223 :         // any other way.)  The line recorded above is set at unmute.
; 1224 :         return;

  00058	e9 8f 00 00 00	 jmp	 $LN15@SetAudioSo@19
$LN10@SetAudioSo@19:

; 1225 :     }
; 1226 : 
; 1227 :     if (m_DeviceId == 0x7133 || m_DeviceId == 0x7135)

  0005d	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00060	0f b7 51 08	 movzx	 edx, WORD PTR [ecx+8]
  00064	81 fa 33 71 00
	00		 cmp	 edx, 28979		; 00007133H
  0006a	74 0f		 je	 SHORT $LN8@SetAudioSo@19
  0006c	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0006f	0f b7 48 08	 movzx	 ecx, WORD PTR [eax+8]
  00073	81 f9 35 71 00
	00		 cmp	 ecx, 28981		; 00007135H
  00079	75 0e		 jne	 SHORT $LN9@SetAudioSo@19
$LN8@SetAudioSo@19:

; 1228 :     {
; 1229 :         SetAudioSource7133(InputSource);

  0007b	8b 55 08	 mov	 edx, DWORD PTR _InputSource$[ebp]
  0007e	52		 push	 edx
  0007f	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00082	e8 00 00 00 00	 call	 ?SetAudioSource7133@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@@Z ; CSAA7134Card::SetAudioSource7133

; 1230 :         return;

  00087	eb 63		 jmp	 SHORT $LN15@SetAudioSo@19
$LN9@SetAudioSo@19:

; 1231 :     }
; 1232 : 
; 1233 :     _SetIOSelectOCS(InputSource, m_bStereoExternalLines);

  00089	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0008c	8b 88 b8 00 00
	00		 mov	 ecx, DWORD PTR [eax+184]
  00092	51		 push	 ecx
  00093	8b 55 08	 mov	 edx, DWORD PTR _InputSource$[ebp]
  00096	52		 push	 edx
  00097	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0009a	e8 00 00 00 00	 call	 ?_SetIOSelectOCS@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z ; CSAA7134Card::_SetIOSelectOCS

; 1234 : 
; 1235 :     if (InputSource == AUDIOINPUTSOURCE_DAC)

  0009f	83 7d 08 02	 cmp	 DWORD PTR _InputSource$[ebp], 2
  000a3	75 0c		 jne	 SHORT $LN7@SetAudioSo@19

; 1236 :     {
; 1237 :         SetAudioSampleRate(AUDIOSAMPLERATE_32000Hz);

  000a5	6a 00		 push	 0
  000a7	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000aa	e8 00 00 00 00	 call	 ?SetAudioSampleRate@CSAA7134Card@@QAEXW4eAudioSampleRate@CSAA7134Common@@@Z ; CSAA7134Card::SetAudioSampleRate
  000af	eb 3b		 jmp	 SHORT $LN15@SetAudioSo@19
$LN7@SetAudioSo@19:

; 1238 :     }
; 1239 :     else if (InputSource == AUDIOINPUTSOURCE_LINE1 || InputSource == AUDIOINPUTSOURCE_DAC_LINE1)

  000b1	83 7d 08 00	 cmp	 DWORD PTR _InputSource$[ebp], 0
  000b5	74 06		 je	 SHORT $LN4@SetAudioSo@19
  000b7	83 7d 08 03	 cmp	 DWORD PTR _InputSource$[ebp], 3
  000bb	75 14		 jne	 SHORT $LN5@SetAudioSo@19
$LN4@SetAudioSo@19:

; 1240 :     {
; 1241 :         AndDataByte(SAA7134_ANALOG_IO_SELECT, ~SAA7134_ANALOG_IO_SELECT_ICS);

  000bd	68 f7 00 00 00	 push	 247			; 000000f7H
  000c2	68 6e 01 00 00	 push	 366			; 0000016eH
  000c7	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000ca	e8 00 00 00 00	 call	 ?AndDataByte@CPCICard@@QAEXKE@Z ; CPCICard::AndDataByte
  000cf	eb 1b		 jmp	 SHORT $LN15@SetAudioSo@19
$LN5@SetAudioSo@19:

; 1242 :     }
; 1243 :     else if (InputSource == AUDIOINPUTSOURCE_LINE2 || InputSource == AUDIOINPUTSOURCE_DAC_LINE2)

  000d1	83 7d 08 01	 cmp	 DWORD PTR _InputSource$[ebp], 1
  000d5	74 06		 je	 SHORT $LN1@SetAudioSo@19
  000d7	83 7d 08 04	 cmp	 DWORD PTR _InputSource$[ebp], 4
  000db	75 0f		 jne	 SHORT $LN15@SetAudioSo@19
$LN1@SetAudioSo@19:

; 1244 :     {
; 1245 :         OrDataByte(SAA7134_ANALOG_IO_SELECT, SAA7134_ANALOG_IO_SELECT_ICS);

  000dd	6a 08		 push	 8
  000df	68 6e 01 00 00	 push	 366			; 0000016eH
  000e4	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000e7	e8 00 00 00 00	 call	 ?OrDataByte@CPCICard@@QAEXKE@Z ; CPCICard::OrDataByte
$LN15@SetAudioSo@19:

; 1246 :     }
; 1247 : }

  000ec	8b e5		 mov	 esp, ebp
  000ee	5d		 pop	 ebp
  000ef	c2 04 00	 ret	 4
?SetAudioSource@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@@Z ENDP ; CSAA7134Card::SetAudioSource
_TEXT	ENDS
PUBLIC	?SetAudioFMDematrix7133@CSAA7134Card@@QAEXW4eAudioFMDematrix@CSAA7134Common@@@Z ; CSAA7134Card::SetAudioFMDematrix7133
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?SetAudioFMDematrix7133@CSAA7134Card@@QAEXW4eAudioFMDematrix@CSAA7134Common@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?SetAudioFMDematrix7133@CSAA7134Card@@QAEXW4eAudioFMDematrix@CSAA7134Common@@@Z$0
__ehfuncinfo$?SetAudioFMDematrix7133@CSAA7134Card@@QAEXW4eAudioFMDematrix@CSAA7134Common@@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?SetAudioFMDematrix7133@CSAA7134Card@@QAEXW4eAudioFMDematrix@CSAA7134Common@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?SetAudioFMDematrix7133@CSAA7134Card@@QAEXW4eAudioFMDematrix@CSAA7134Common@@@Z
_TEXT	SEGMENT
tv88 = -36						; size = 4
tv89 = -32						; size = 4
tv64 = -28						; size = 4
_this$ = -24						; size = 4
$T358945 = -20						; size = 4
_fmdemat$ = -13						; size = 1
__$EHRec$ = -12						; size = 12
_fmDematrix$ = 8					; size = 4
?SetAudioFMDematrix7133@CSAA7134Card@@QAEXW4eAudioFMDematrix@CSAA7134Common@@@Z PROC ; CSAA7134Card::SetAudioFMDematrix7133, COMDAT
; _this$ = ecx

; 1065 : {

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

; 1066 :     BYTE fmdemat = 0x0;

  00028	c6 45 f3 00	 mov	 BYTE PTR _fmdemat$[ebp], 0

; 1067 : 
; 1068 :     // Only in DDEP mode in expert mode
; 1069 : 
; 1070 :     switch (fmDematrix)

  0002c	8b 45 08	 mov	 eax, DWORD PTR _fmDematrix$[ebp]
  0002f	89 45 e4	 mov	 DWORD PTR tv64[ebp], eax
  00032	8b 4d e4	 mov	 ecx, DWORD PTR tv64[ebp]
  00035	83 e9 01	 sub	 ecx, 1
  00038	89 4d e4	 mov	 DWORD PTR tv64[ebp], ecx
  0003b	83 7d e4 06	 cmp	 DWORD PTR tv64[ebp], 6
  0003f	77 2e		 ja	 SHORT $LN8@SetAudioFM
  00041	8b 55 e4	 mov	 edx, DWORD PTR tv64[ebp]
  00044	ff 24 95 00 00
	00 00		 jmp	 DWORD PTR $LN14@SetAudioFM[edx*4]

; 1071 :     {
; 1072 :     case AUDIOFMDEMATRIX_AUTOSWITCHING:
; 1073 :         // SAA7133 doesn't seem to have auto switching.
; 1074 :         break;

  0004b	eb 22		 jmp	 SHORT $LN8@SetAudioFM
$LN6@SetAudioFM:

; 1075 :     case AUDIOFMDEMATRIX_MONO1:
; 1076 :         fmdemat = 0x0;

  0004d	c6 45 f3 00	 mov	 BYTE PTR _fmdemat$[ebp], 0

; 1077 :         break;

  00051	eb 1c		 jmp	 SHORT $LN8@SetAudioFM
$LN5@SetAudioFM:

; 1078 :     case AUDIOFMDEMATRIX_MONO2:
; 1079 :         fmdemat = 0x1;

  00053	c6 45 f3 01	 mov	 BYTE PTR _fmdemat$[ebp], 1

; 1080 :         break;

  00057	eb 16		 jmp	 SHORT $LN8@SetAudioFM
$LN4@SetAudioFM:

; 1081 :     case AUDIOFMDEMATRIX_DUAL:
; 1082 :         fmdemat = 0x2;

  00059	c6 45 f3 02	 mov	 BYTE PTR _fmdemat$[ebp], 2

; 1083 :         break;

  0005d	eb 10		 jmp	 SHORT $LN8@SetAudioFM
$LN3@SetAudioFM:

; 1084 :     case AUDIOFMDEMATRIX_DUAL_SWAPPED:
; 1085 :         fmdemat = 0x3;

  0005f	c6 45 f3 03	 mov	 BYTE PTR _fmdemat$[ebp], 3

; 1086 :         break;

  00063	eb 0a		 jmp	 SHORT $LN8@SetAudioFM
$LN2@SetAudioFM:

; 1087 :     case AUDIOFMDEMATRIX_STEREO_EUROPE:
; 1088 :         fmdemat = 0x4;

  00065	c6 45 f3 04	 mov	 BYTE PTR _fmdemat$[ebp], 4

; 1089 :         break;

  00069	eb 04		 jmp	 SHORT $LN8@SetAudioFM
$LN1@SetAudioFM:

; 1090 :     case AUDIOFMDEMATRIX_STEREO_KOREA__6DB:
; 1091 :     case AUDIOFMDEMATRIX_STEREO_KOREA:
; 1092 :         fmdemat = 0x05;

  0006b	c6 45 f3 05	 mov	 BYTE PTR _fmdemat$[ebp], 5
$LN8@SetAudioFM:

; 1093 :         break;
; 1094 :     }
; 1095 : 
; 1096 :     WriteDSPData7133(SAA7133_A_DEMDEC_OUT_CFG,
; 1097 :         _B(SAA7133_A_DEMDEC_OUT_CFG_FMDEMAT, fmdemat));

  0006f	0f b6 45 f3	 movzx	 eax, BYTE PTR _fmdemat$[ebp]
  00073	83 ec 0c	 sub	 esp, 12			; 0000000cH
  00076	8b cc		 mov	 ecx, esp
  00078	89 65 ec	 mov	 DWORD PTR $T358945[ebp], esp
  0007b	50		 push	 eax
  0007c	6a 07		 push	 7
  0007e	6a 02		 push	 2
  00080	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  00085	89 45 e0	 mov	 DWORD PTR tv89[ebp], eax
  00088	8b 4d e0	 mov	 ecx, DWORD PTR tv89[ebp]
  0008b	89 4d dc	 mov	 DWORD PTR tv88[ebp], ecx
  0008e	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00095	68 ff ff ff 00	 push	 16777215		; 00ffffffH
  0009a	68 3c 04 00 00	 push	 1084			; 0000043cH
  0009f	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  000a6	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  000a9	e8 00 00 00 00	 call	 ?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z ; CSAA7134Card::WriteDSPData7133

; 1098 : }

  000ae	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  000b1	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000b8	59		 pop	 ecx
  000b9	8b e5		 mov	 esp, ebp
  000bb	5d		 pop	 ebp
  000bc	c2 04 00	 ret	 4
  000bf	90		 npad	 1
$LN14@SetAudioFM:
  000c0	00 00 00 00	 DD	 $LN6@SetAudioFM
  000c4	00 00 00 00	 DD	 $LN5@SetAudioFM
  000c8	00 00 00 00	 DD	 $LN4@SetAudioFM
  000cc	00 00 00 00	 DD	 $LN3@SetAudioFM
  000d0	00 00 00 00	 DD	 $LN2@SetAudioFM
  000d4	00 00 00 00	 DD	 $LN1@SetAudioFM
  000d8	00 00 00 00	 DD	 $LN1@SetAudioFM
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?SetAudioFMDematrix7133@CSAA7134Card@@QAEXW4eAudioFMDematrix@CSAA7134Common@@@Z$0:
  00000	8b 4d ec	 mov	 ecx, DWORD PTR $T358945[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__ehhandler$?SetAudioFMDematrix7133@CSAA7134Card@@QAEXW4eAudioFMDematrix@CSAA7134Common@@@Z:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a e4	 mov	 ecx, DWORD PTR [edx-28]
  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$?SetAudioFMDematrix7133@CSAA7134Card@@QAEXW4eAudioFMDematrix@CSAA7134Common@@@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?SetAudioFMDematrix7133@CSAA7134Card@@QAEXW4eAudioFMDematrix@CSAA7134Common@@@Z ENDP ; CSAA7134Card::SetAudioFMDematrix7133
PUBLIC	?SetAudioFMDematrix@CSAA7134Card@@QAEXW4eAudioFMDematrix@CSAA7134Common@@@Z ; CSAA7134Card::SetAudioFMDematrix
; Function compile flags: /Odtp
;	COMDAT ?SetAudioFMDematrix@CSAA7134Card@@QAEXW4eAudioFMDematrix@CSAA7134Common@@@Z
_TEXT	SEGMENT
tv87 = -12						; size = 4
_this$ = -8						; size = 4
_FMDematrixSelect$ = -1					; size = 1
_FMDematrix$ = 8					; size = 4
?SetAudioFMDematrix@CSAA7134Card@@QAEXW4eAudioFMDematrix@CSAA7134Common@@@Z PROC ; CSAA7134Card::SetAudioFMDematrix, COMDAT
; _this$ = ecx

; 1010 : {

  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

; 1011 :     BYTE FMDematrixSelect = 0x00;

  00009	c6 45 ff 00	 mov	 BYTE PTR _FMDematrixSelect$[ebp], 0

; 1012 : 
; 1013 :     if (m_DeviceId == 0x7130)

  0000d	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  00010	0f b7 48 08	 movzx	 ecx, WORD PTR [eax+8]
  00014	81 f9 30 71 00
	00		 cmp	 ecx, 28976		; 00007130H
  0001a	75 05		 jne	 SHORT $LN13@SetAudioFM@2

; 1014 :     {
; 1015 :         // saa7130 doesn't support this
; 1016 :         return;

  0001c	e9 81 00 00 00	 jmp	 $LN14@SetAudioFM@2
$LN13@SetAudioFM@2:

; 1017 :     }
; 1018 :     if (m_DeviceId == 0x7133 || m_DeviceId == 0x7135)

  00021	8b 55 f8	 mov	 edx, DWORD PTR _this$[ebp]
  00024	0f b7 42 08	 movzx	 eax, WORD PTR [edx+8]
  00028	3d 33 71 00 00	 cmp	 eax, 28979		; 00007133H
  0002d	74 0f		 je	 SHORT $LN11@SetAudioFM@2
  0002f	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00032	0f b7 51 08	 movzx	 edx, WORD PTR [ecx+8]
  00036	81 fa 35 71 00
	00		 cmp	 edx, 28981		; 00007135H
  0003c	75 0e		 jne	 SHORT $LN12@SetAudioFM@2
$LN11@SetAudioFM@2:

; 1019 :     {
; 1020 :         SetAudioFMDematrix7133(FMDematrix);

  0003e	8b 45 08	 mov	 eax, DWORD PTR _FMDematrix$[ebp]
  00041	50		 push	 eax
  00042	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00045	e8 00 00 00 00	 call	 ?SetAudioFMDematrix7133@CSAA7134Card@@QAEXW4eAudioFMDematrix@CSAA7134Common@@@Z ; CSAA7134Card::SetAudioFMDematrix7133

; 1021 :         return;

  0004a	eb 56		 jmp	 SHORT $LN14@SetAudioFM@2
$LN12@SetAudioFM@2:

; 1022 :     }
; 1023 : 
; 1024 :     switch (FMDematrix)

  0004c	8b 4d 08	 mov	 ecx, DWORD PTR _FMDematrix$[ebp]
  0004f	89 4d f4	 mov	 DWORD PTR tv87[ebp], ecx
  00052	83 7d f4 07	 cmp	 DWORD PTR tv87[ebp], 7
  00056	77 38		 ja	 SHORT $LN9@SetAudioFM@2
  00058	8b 55 f4	 mov	 edx, DWORD PTR tv87[ebp]
  0005b	ff 24 95 00 00
	00 00		 jmp	 DWORD PTR $LN16@SetAudioFM@2[edx*4]
$LN8@SetAudioFM@2:

; 1025 :     {
; 1026 :     case AUDIOFMDEMATRIX_AUTOSWITCHING:
; 1027 :         FMDematrixSelect = 0x80;

  00062	c6 45 ff 80	 mov	 BYTE PTR _FMDematrixSelect$[ebp], 128 ; 00000080H

; 1028 :         break;

  00066	eb 28		 jmp	 SHORT $LN9@SetAudioFM@2
$LN7@SetAudioFM@2:

; 1029 : 
; 1030 :     case AUDIOFMDEMATRIX_MONO1:
; 1031 :         FMDematrixSelect = 0x00;

  00068	c6 45 ff 00	 mov	 BYTE PTR _FMDematrixSelect$[ebp], 0

; 1032 :         break;

  0006c	eb 22		 jmp	 SHORT $LN9@SetAudioFM@2
$LN6@SetAudioFM@2:

; 1033 : 
; 1034 :     case AUDIOFMDEMATRIX_MONO2:
; 1035 :         FMDematrixSelect = 0x01;

  0006e	c6 45 ff 01	 mov	 BYTE PTR _FMDematrixSelect$[ebp], 1

; 1036 :         break;

  00072	eb 1c		 jmp	 SHORT $LN9@SetAudioFM@2
$LN5@SetAudioFM@2:

; 1037 : 
; 1038 :     case AUDIOFMDEMATRIX_DUAL:
; 1039 :         FMDematrixSelect = 0x02;

  00074	c6 45 ff 02	 mov	 BYTE PTR _FMDematrixSelect$[ebp], 2

; 1040 :         break;

  00078	eb 16		 jmp	 SHORT $LN9@SetAudioFM@2
$LN4@SetAudioFM@2:

; 1041 : 
; 1042 :     case AUDIOFMDEMATRIX_DUAL_SWAPPED:
; 1043 :         FMDematrixSelect = 0x03;

  0007a	c6 45 ff 03	 mov	 BYTE PTR _FMDematrixSelect$[ebp], 3

; 1044 :         break;

  0007e	eb 10		 jmp	 SHORT $LN9@SetAudioFM@2
$LN3@SetAudioFM@2:

; 1045 : 
; 1046 :     case AUDIOFMDEMATRIX_STEREO_EUROPE:
; 1047 :         FMDematrixSelect = 0x04;

  00080	c6 45 ff 04	 mov	 BYTE PTR _FMDematrixSelect$[ebp], 4

; 1048 :         break;

  00084	eb 0a		 jmp	 SHORT $LN9@SetAudioFM@2
$LN2@SetAudioFM@2:

; 1049 : 
; 1050 :     case AUDIOFMDEMATRIX_STEREO_KOREA__6DB:
; 1051 :         FMDematrixSelect = 0x05;

  00086	c6 45 ff 05	 mov	 BYTE PTR _FMDematrixSelect$[ebp], 5

; 1052 :         break;

  0008a	eb 04		 jmp	 SHORT $LN9@SetAudioFM@2
$LN1@SetAudioFM@2:

; 1053 : 
; 1054 :     case AUDIOFMDEMATRIX_STEREO_KOREA:
; 1055 :         FMDematrixSelect = 0x06;

  0008c	c6 45 ff 06	 mov	 BYTE PTR _FMDematrixSelect$[ebp], 6
$LN9@SetAudioFM@2:

; 1056 :         break;
; 1057 : 
; 1058 :     }
; 1059 : 
; 1060 :     WriteByte(SAA7134_FM_DEMATRIX, FMDematrixSelect);

  00090	0f b6 45 ff	 movzx	 eax, BYTE PTR _FMDematrixSelect$[ebp]
  00094	50		 push	 eax
  00095	68 62 01 00 00	 push	 354			; 00000162H
  0009a	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0009d	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte
$LN14@SetAudioFM@2:

; 1061 : }

  000a2	8b e5		 mov	 esp, ebp
  000a4	5d		 pop	 ebp
  000a5	c2 04 00	 ret	 4
$LN16@SetAudioFM@2:
  000a8	00 00 00 00	 DD	 $LN8@SetAudioFM@2
  000ac	00 00 00 00	 DD	 $LN7@SetAudioFM@2
  000b0	00 00 00 00	 DD	 $LN6@SetAudioFM@2
  000b4	00 00 00 00	 DD	 $LN5@SetAudioFM@2
  000b8	00 00 00 00	 DD	 $LN4@SetAudioFM@2
  000bc	00 00 00 00	 DD	 $LN3@SetAudioFM@2
  000c0	00 00 00 00	 DD	 $LN2@SetAudioFM@2
  000c4	00 00 00 00	 DD	 $LN1@SetAudioFM@2
?SetAudioFMDematrix@CSAA7134Card@@QAEXW4eAudioFMDematrix@CSAA7134Common@@@Z ENDP ; CSAA7134Card::SetAudioFMDematrix
_TEXT	ENDS
PUBLIC	?SetFMDeemphasis7133@CSAA7134Card@@QAEXW4eAudioFMDeemphasis@CSAA7134Common@@@Z ; CSAA7134Card::SetFMDeemphasis7133
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?SetFMDeemphasis7133@CSAA7134Card@@QAEXW4eAudioFMDeemphasis@CSAA7134Common@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?SetFMDeemphasis7133@CSAA7134Card@@QAEXW4eAudioFMDeemphasis@CSAA7134Common@@@Z$0
__ehfuncinfo$?SetFMDeemphasis7133@CSAA7134Card@@QAEXW4eAudioFMDeemphasis@CSAA7134Common@@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?SetFMDeemphasis7133@CSAA7134Card@@QAEXW4eAudioFMDeemphasis@CSAA7134Common@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?SetFMDeemphasis7133@CSAA7134Card@@QAEXW4eAudioFMDeemphasis@CSAA7134Common@@@Z
_TEXT	SEGMENT
tv85 = -36						; size = 4
tv86 = -32						; size = 4
tv64 = -28						; size = 4
_this$ = -24						; size = 4
$T358959 = -20						; size = 4
_fmdeem$ = -13						; size = 1
__$EHRec$ = -12						; size = 12
_fmDeemphasis$ = 8					; size = 4
?SetFMDeemphasis7133@CSAA7134Card@@QAEXW4eAudioFMDeemphasis@CSAA7134Common@@@Z PROC ; CSAA7134Card::SetFMDeemphasis7133, COMDAT
; _this$ = ecx

; 927  : {

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

; 928  :     BYTE fmdeem = 0x0;

  00028	c6 45 f3 00	 mov	 BYTE PTR _fmdeem$[ebp], 0

; 929  : 
; 930  :     // Only in DDEP mode in expert mode
; 931  : 
; 932  :     switch (fmDeemphasis)

  0002c	8b 45 08	 mov	 eax, DWORD PTR _fmDeemphasis$[ebp]
  0002f	89 45 e4	 mov	 DWORD PTR tv64[ebp], eax
  00032	83 7d e4 04	 cmp	 DWORD PTR tv64[ebp], 4
  00036	77 28		 ja	 SHORT $LN1@SetFMDeemp
  00038	8b 4d e4	 mov	 ecx, DWORD PTR tv64[ebp]
  0003b	ff 24 8d 00 00
	00 00		 jmp	 DWORD PTR $LN13@SetFMDeemp[ecx*4]
$LN6@SetFMDeemp:

; 933  :     {
; 934  :     case AUDIOFMDEEMPHASIS_OFF:
; 935  :         fmdeem = 0x4;

  00042	c6 45 f3 04	 mov	 BYTE PTR _fmdeem$[ebp], 4

; 936  :         break;

  00046	eb 1a		 jmp	 SHORT $LN7@SetFMDeemp
$LN5@SetFMDeemp:

; 937  : 
; 938  :     case AUDIOFMDEEMPHASIS_50_MICROS:
; 939  :         fmdeem = 0x0;

  00048	c6 45 f3 00	 mov	 BYTE PTR _fmdeem$[ebp], 0

; 940  :         break;

  0004c	eb 14		 jmp	 SHORT $LN7@SetFMDeemp
$LN4@SetFMDeemp:

; 941  : 
; 942  :     case AUDIOFMDEEMPHASIS_60_MICROS:
; 943  :         fmdeem = 0x1;

  0004e	c6 45 f3 01	 mov	 BYTE PTR _fmdeem$[ebp], 1

; 944  :         break;

  00052	eb 0e		 jmp	 SHORT $LN7@SetFMDeemp
$LN3@SetFMDeemp:

; 945  : 
; 946  :     case AUDIOFMDEEMPHASIS_75_MICROS:
; 947  :         fmdeem = 0x2;

  00054	c6 45 f3 02	 mov	 BYTE PTR _fmdeem$[ebp], 2

; 948  :         break;

  00058	eb 08		 jmp	 SHORT $LN7@SetFMDeemp
$LN2@SetFMDeemp:

; 949  : 
; 950  :     case AUDIOFMDEEMPHASIS_J17:
; 951  :         fmdeem = 0x3;

  0005a	c6 45 f3 03	 mov	 BYTE PTR _fmdeem$[ebp], 3

; 952  :         break;

  0005e	eb 02		 jmp	 SHORT $LN7@SetFMDeemp
$LN1@SetFMDeemp:

; 953  : 
; 954  :     case AUDIOFMDEEMPHASIS_ADAPTIVE:
; 955  :         // Not supported.  (fall through)
; 956  :     default:
; 957  :         return;

  00060	eb 35		 jmp	 SHORT $LN9@SetFMDeemp
$LN7@SetFMDeemp:

; 958  :     }
; 959  : 
; 960  :     WriteDSPData7133(SAA7133_A_DEMDEC_CFG_FMDEEM, fmdeem);

  00062	0f b6 55 f3	 movzx	 edx, BYTE PTR _fmdeem$[ebp]
  00066	83 ec 0c	 sub	 esp, 12			; 0000000cH
  00069	8b cc		 mov	 ecx, esp
  0006b	89 65 ec	 mov	 DWORD PTR $T358959[ebp], esp
  0006e	52		 push	 edx
  0006f	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@K@Z	; CBitVector::CBitVector
  00074	89 45 e0	 mov	 DWORD PTR tv86[ebp], eax
  00077	8b 45 e0	 mov	 eax, DWORD PTR tv86[ebp]
  0007a	89 45 dc	 mov	 DWORD PTR tv85[ebp], eax
  0007d	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00084	6a 07		 push	 7
  00086	6a 03		 push	 3
  00088	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0008f	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00092	e8 00 00 00 00	 call	 ?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z ; CSAA7134Card::WriteDSPData7133
$LN9@SetFMDeemp:

; 961  : }

  00097	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0009a	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000a1	59		 pop	 ecx
  000a2	8b e5		 mov	 esp, ebp
  000a4	5d		 pop	 ebp
  000a5	c2 04 00	 ret	 4
$LN13@SetFMDeemp:
  000a8	00 00 00 00	 DD	 $LN6@SetFMDeemp
  000ac	00 00 00 00	 DD	 $LN5@SetFMDeemp
  000b0	00 00 00 00	 DD	 $LN4@SetFMDeemp
  000b4	00 00 00 00	 DD	 $LN3@SetFMDeemp
  000b8	00 00 00 00	 DD	 $LN2@SetFMDeemp
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?SetFMDeemphasis7133@CSAA7134Card@@QAEXW4eAudioFMDeemphasis@CSAA7134Common@@@Z$0:
  00000	8b 4d ec	 mov	 ecx, DWORD PTR $T358959[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__ehhandler$?SetFMDeemphasis7133@CSAA7134Card@@QAEXW4eAudioFMDeemphasis@CSAA7134Common@@@Z:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a e4	 mov	 ecx, DWORD PTR [edx-28]
  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$?SetFMDeemphasis7133@CSAA7134Card@@QAEXW4eAudioFMDeemphasis@CSAA7134Common@@@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?SetFMDeemphasis7133@CSAA7134Card@@QAEXW4eAudioFMDeemphasis@CSAA7134Common@@@Z ENDP ; CSAA7134Card::SetFMDeemphasis7133
PUBLIC	?SetCh1FMDeemphasis@CSAA7134Card@@QAEXW4eAudioFMDeemphasis@CSAA7134Common@@@Z ; CSAA7134Card::SetCh1FMDeemphasis
; Function compile flags: /Odtp
;	COMDAT ?SetCh1FMDeemphasis@CSAA7134Card@@QAEXW4eAudioFMDeemphasis@CSAA7134Common@@@Z
_TEXT	SEGMENT
tv87 = -12						; size = 4
_this$ = -8						; size = 4
_Ch1FMDeemphasis$ = -1					; size = 1
_FMDeemphasis$ = 8					; size = 4
?SetCh1FMDeemphasis@CSAA7134Card@@QAEXW4eAudioFMDeemphasis@CSAA7134Common@@@Z PROC ; CSAA7134Card::SetCh1FMDeemphasis, COMDAT
; _this$ = ecx

; 880  : {

  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

; 881  :     if (m_DeviceId == 0x7130)

  00009	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	0f b7 48 08	 movzx	 ecx, WORD PTR [eax+8]
  00010	81 f9 30 71 00
	00		 cmp	 ecx, 28976		; 00007130H
  00016	75 02		 jne	 SHORT $LN11@SetCh1FMDe

; 882  :     {
; 883  :         // saa7130 doesn't support this
; 884  :         return;

  00018	eb 7b		 jmp	 SHORT $LN12@SetCh1FMDe
$LN11@SetCh1FMDe:

; 885  :     }
; 886  :     if (m_DeviceId == 0x7133 || m_DeviceId == 0x7135)

  0001a	8b 55 f8	 mov	 edx, DWORD PTR _this$[ebp]
  0001d	0f b7 42 08	 movzx	 eax, WORD PTR [edx+8]
  00021	3d 33 71 00 00	 cmp	 eax, 28979		; 00007133H
  00026	74 0f		 je	 SHORT $LN9@SetCh1FMDe
  00028	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0002b	0f b7 51 08	 movzx	 edx, WORD PTR [ecx+8]
  0002f	81 fa 35 71 00
	00		 cmp	 edx, 28981		; 00007135H
  00035	75 0e		 jne	 SHORT $LN10@SetCh1FMDe
$LN9@SetCh1FMDe:

; 887  :     {
; 888  :         // SAA7133 doesn't support separate per channel.
; 889  :         SetFMDeemphasis7133(FMDeemphasis);

  00037	8b 45 08	 mov	 eax, DWORD PTR _FMDeemphasis$[ebp]
  0003a	50		 push	 eax
  0003b	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0003e	e8 00 00 00 00	 call	 ?SetFMDeemphasis7133@CSAA7134Card@@QAEXW4eAudioFMDeemphasis@CSAA7134Common@@@Z ; CSAA7134Card::SetFMDeemphasis7133

; 890  :         return;

  00043	eb 50		 jmp	 SHORT $LN12@SetCh1FMDe
$LN10@SetCh1FMDe:

; 891  :     }
; 892  : 
; 893  :     BYTE Ch1FMDeemphasis = 0x00;

  00045	c6 45 ff 00	 mov	 BYTE PTR _Ch1FMDeemphasis$[ebp], 0

; 894  : 
; 895  :     switch (FMDeemphasis)

  00049	8b 4d 08	 mov	 ecx, DWORD PTR _FMDeemphasis$[ebp]
  0004c	89 4d f4	 mov	 DWORD PTR tv87[ebp], ecx
  0004f	83 7d f4 05	 cmp	 DWORD PTR tv87[ebp], 5
  00053	77 2c		 ja	 SHORT $LN7@SetCh1FMDe
  00055	8b 55 f4	 mov	 edx, DWORD PTR tv87[ebp]
  00058	ff 24 95 00 00
	00 00		 jmp	 DWORD PTR $LN14@SetCh1FMDe[edx*4]
$LN6@SetCh1FMDe:

; 896  :     {
; 897  :     case AUDIOFMDEEMPHASIS_OFF:
; 898  :         Ch1FMDeemphasis = 0x04;

  0005f	c6 45 ff 04	 mov	 BYTE PTR _Ch1FMDeemphasis$[ebp], 4

; 899  :         break;

  00063	eb 1c		 jmp	 SHORT $LN7@SetCh1FMDe
$LN5@SetCh1FMDe:

; 900  : 
; 901  :     case AUDIOFMDEEMPHASIS_50_MICROS:
; 902  :         Ch1FMDeemphasis = 0x00;

  00065	c6 45 ff 00	 mov	 BYTE PTR _Ch1FMDeemphasis$[ebp], 0

; 903  :         break;

  00069	eb 16		 jmp	 SHORT $LN7@SetCh1FMDe
$LN4@SetCh1FMDe:

; 904  : 
; 905  :     case AUDIOFMDEEMPHASIS_60_MICROS:
; 906  :         Ch1FMDeemphasis = 0x01;

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

; 907  :         break;

  0006f	eb 10		 jmp	 SHORT $LN7@SetCh1FMDe
$LN3@SetCh1FMDe:

; 908  : 
; 909  :     case AUDIOFMDEEMPHASIS_75_MICROS:
; 910  :         Ch1FMDeemphasis = 0x02;

  00071	c6 45 ff 02	 mov	 BYTE PTR _Ch1FMDeemphasis$[ebp], 2

; 911  :         break;

  00075	eb 0a		 jmp	 SHORT $LN7@SetCh1FMDe
$LN2@SetCh1FMDe:

; 912  : 
; 913  :     case AUDIOFMDEEMPHASIS_J17:
; 914  :         Ch1FMDeemphasis = 0x03;

  00077	c6 45 ff 03	 mov	 BYTE PTR _Ch1FMDeemphasis$[ebp], 3

; 915  :         break;

  0007b	eb 04		 jmp	 SHORT $LN7@SetCh1FMDe
$LN1@SetCh1FMDe:

; 916  : 
; 917  :     case AUDIOFMDEEMPHASIS_ADAPTIVE:
; 918  :         Ch1FMDeemphasis = 0x0C;

  0007d	c6 45 ff 0c	 mov	 BYTE PTR _Ch1FMDeemphasis$[ebp], 12 ; 0000000cH
$LN7@SetCh1FMDe:

; 919  :         break;
; 920  :     }
; 921  : 
; 922  :     MaskDataByte(SAA7134_FM_DEEMPHASIS, Ch1FMDeemphasis, 0x0F);

  00081	6a 0f		 push	 15			; 0000000fH
  00083	0f b6 45 ff	 movzx	 eax, BYTE PTR _Ch1FMDeemphasis$[ebp]
  00087	50		 push	 eax
  00088	68 61 01 00 00	 push	 353			; 00000161H
  0008d	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00090	e8 00 00 00 00	 call	 ?MaskDataByte@CPCICard@@QAEXKEE@Z ; CPCICard::MaskDataByte
$LN12@SetCh1FMDe:

; 923  : }

  00095	8b e5		 mov	 esp, ebp
  00097	5d		 pop	 ebp
  00098	c2 04 00	 ret	 4
  0009b	90		 npad	 1
$LN14@SetCh1FMDe:
  0009c	00 00 00 00	 DD	 $LN6@SetCh1FMDe
  000a0	00 00 00 00	 DD	 $LN5@SetCh1FMDe
  000a4	00 00 00 00	 DD	 $LN4@SetCh1FMDe
  000a8	00 00 00 00	 DD	 $LN3@SetCh1FMDe
  000ac	00 00 00 00	 DD	 $LN2@SetCh1FMDe
  000b0	00 00 00 00	 DD	 $LN1@SetCh1FMDe
?SetCh1FMDeemphasis@CSAA7134Card@@QAEXW4eAudioFMDeemphasis@CSAA7134Common@@@Z ENDP ; CSAA7134Card::SetCh1FMDeemphasis
_TEXT	ENDS
PUBLIC	?SetAudioCarrier2Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z ; CSAA7134Card::SetAudioCarrier2Mode7133
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?SetAudioCarrier2Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?SetAudioCarrier2Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?SetAudioCarrier2Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$?SetAudioCarrier2Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$?SetAudioCarrier2Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z$3
	DD	00H
	DD	FLAT:__unwindfunclet$?SetAudioCarrier2Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z$4
	DD	00H
	DD	FLAT:__unwindfunclet$?SetAudioCarrier2Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z$5
	DD	00H
	DD	FLAT:__unwindfunclet$?SetAudioCarrier2Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z$6
	DD	00H
	DD	FLAT:__unwindfunclet$?SetAudioCarrier2Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z$7
	DD	00H
	DD	FLAT:__unwindfunclet$?SetAudioCarrier2Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z$8
	DD	00H
	DD	FLAT:__unwindfunclet$?SetAudioCarrier2Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z$9
	DD	00H
	DD	FLAT:__unwindfunclet$?SetAudioCarrier2Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z$10
__ehfuncinfo$?SetAudioCarrier2Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z DD 019930522H
	DD	0bH
	DD	FLAT:__unwindtable$?SetAudioCarrier2Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?SetAudioCarrier2Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z
_TEXT	SEGMENT
tv224 = -228						; size = 4
tv233 = -224						; size = 4
tv222 = -220						; size = 4
tv232 = -216						; size = 4
tv220 = -212						; size = 4
tv231 = -208						; size = 4
tv218 = -204						; size = 4
tv230 = -200						; size = 4
tv216 = -196						; size = 4
tv229 = -192						; size = 4
tv214 = -188						; size = 4
tv228 = -184						; size = 4
tv212 = -180						; size = 4
tv227 = -176						; size = 4
tv68 = -172						; size = 4
tv210 = -168						; size = 4
tv226 = -164						; size = 4
tv208 = -160						; size = 4
tv225 = -156						; size = 4
tv77 = -152						; size = 4
tv206 = -148						; size = 4
tv65 = -144						; size = 4
_this$ = -140						; size = 4
$T358982 = -136						; size = 4
$T358981 = -132						; size = 12
$T358980 = -120						; size = 12
$T358979 = -108						; size = 12
$T358978 = -96						; size = 12
$T358977 = -84						; size = 12
$T358976 = -72						; size = 12
$T358975 = -60						; size = 12
$T358974 = -48						; size = 12
$T358973 = -36						; size = 12
_demdecCfg$ = -24					; size = 12
__$EHRec$ = -12						; size = 12
_mode$ = 8						; size = 4
?SetAudioCarrier2Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z PROC ; CSAA7134Card::SetAudioCarrier2Mode7133, COMDAT
; _this$ = ecx

; 642  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?SetAudioCarrier2Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	81 ec d8 00 00
	00		 sub	 esp, 216		; 000000d8H
  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001c	33 c5		 xor	 eax, ebp
  0001e	50		 push	 eax
  0001f	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00022	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00028	89 8d 74 ff ff
	ff		 mov	 DWORD PTR _this$[ebp], ecx

; 643  :     CBitVector demdecCfg;

  0002e	8d 4d e8	 lea	 ecx, DWORD PTR _demdecCfg$[ebp]
  00031	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@XZ	; CBitVector::CBitVector
  00036	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 644  : 
; 645  :     // Only in DDEP mode in expert mode
; 646  : 
; 647  :     // FM A2, FM-ident region = Europe (there's also a _T("Japan") in 7133/5)
; 648  :     demdecCfg = _B(SAA7133_A_DEMDEC_CFG_DECPATH, 0)|_B(SAA7133_A_DEMDEC_CFG_IDAREA, 0);

  0003d	6a 00		 push	 0
  0003f	6a 07		 push	 7
  00041	6a 00		 push	 0
  00043	8d 4d dc	 lea	 ecx, DWORD PTR $T358973[ebp]
  00046	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  0004b	89 85 70 ff ff
	ff		 mov	 DWORD PTR tv65[ebp], eax
  00051	8b 85 70 ff ff
	ff		 mov	 eax, DWORD PTR tv65[ebp]
  00057	89 85 6c ff ff
	ff		 mov	 DWORD PTR tv206[ebp], eax
  0005d	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  00061	8b 8d 6c ff ff
	ff		 mov	 ecx, DWORD PTR tv206[ebp]
  00067	89 8d 68 ff ff
	ff		 mov	 DWORD PTR tv77[ebp], ecx
  0006d	6a 00		 push	 0
  0006f	6a 03		 push	 3
  00071	6a 0f		 push	 15			; 0000000fH
  00073	8d 4d d0	 lea	 ecx, DWORD PTR $T358974[ebp]
  00076	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  0007b	89 85 64 ff ff
	ff		 mov	 DWORD PTR tv225[ebp], eax
  00081	8b 95 64 ff ff
	ff		 mov	 edx, DWORD PTR tv225[ebp]
  00087	89 95 60 ff ff
	ff		 mov	 DWORD PTR tv208[ebp], edx
  0008d	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  00091	8b 85 60 ff ff
	ff		 mov	 eax, DWORD PTR tv208[ebp]
  00097	50		 push	 eax
  00098	8d 4d c4	 lea	 ecx, DWORD PTR $T358975[ebp]
  0009b	51		 push	 ecx
  0009c	8b 95 68 ff ff
	ff		 mov	 edx, DWORD PTR tv77[ebp]
  000a2	8b 02		 mov	 eax, DWORD PTR [edx]
  000a4	8b 8d 68 ff ff
	ff		 mov	 ecx, DWORD PTR tv77[ebp]
  000aa	8b 50 2c	 mov	 edx, DWORD PTR [eax+44]
  000ad	ff d2		 call	 edx
  000af	89 85 5c ff ff
	ff		 mov	 DWORD PTR tv226[ebp], eax
  000b5	8b 85 5c ff ff
	ff		 mov	 eax, DWORD PTR tv226[ebp]
  000bb	89 85 58 ff ff
	ff		 mov	 DWORD PTR tv210[ebp], eax
  000c1	c6 45 fc 03	 mov	 BYTE PTR __$EHRec$[ebp+8], 3
  000c5	8b 8d 58 ff ff
	ff		 mov	 ecx, DWORD PTR tv210[ebp]
  000cb	51		 push	 ecx
  000cc	8d 4d e8	 lea	 ecx, DWORD PTR _demdecCfg$[ebp]
  000cf	e8 00 00 00 00	 call	 ??4CBitVector@@QAEAAV0@ABV0@@Z
  000d4	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  000d8	8d 4d c4	 lea	 ecx, DWORD PTR $T358975[ebp]
  000db	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  000e0	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  000e4	8d 4d d0	 lea	 ecx, DWORD PTR $T358974[ebp]
  000e7	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  000ec	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  000f0	8d 4d dc	 lea	 ecx, DWORD PTR $T358973[ebp]
  000f3	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector

; 649  : 
; 650  :     switch (mode)

  000f8	8b 55 08	 mov	 edx, DWORD PTR _mode$[ebp]
  000fb	89 95 54 ff ff
	ff		 mov	 DWORD PTR tv68[ebp], edx
  00101	8b 85 54 ff ff
	ff		 mov	 eax, DWORD PTR tv68[ebp]
  00107	83 e8 02	 sub	 eax, 2
  0010a	89 85 54 ff ff
	ff		 mov	 DWORD PTR tv68[ebp], eax
  00110	83 bd 54 ff ff
	ff 04		 cmp	 DWORD PTR tv68[ebp], 4
  00117	0f 87 b5 01 00
	00		 ja	 $LN7@SetAudioCa
  0011d	8b 8d 54 ff ff
	ff		 mov	 ecx, DWORD PTR tv68[ebp]
  00123	ff 24 8d 00 00
	00 00		 jmp	 DWORD PTR $LN23@SetAudioCa[ecx*4]

; 651  :     {
; 652  :     case AUDIOCHANNELMODE_FM:
; 653  :         break;

  0012a	e9 a3 01 00 00	 jmp	 $LN7@SetAudioCa
$LN5@SetAudioCa:

; 654  : 
; 655  :     case AUDIOCHANNELMODE_FM_KOREA:
; 656  :         // 1 = FM-ident region = Korea
; 657  :         demdecCfg += _B(SAA7133_A_DEMDEC_CFG_IDAREA, 1);

  0012f	6a 01		 push	 1
  00131	6a 03		 push	 3
  00133	6a 0f		 push	 15			; 0000000fH
  00135	8d 4d b8	 lea	 ecx, DWORD PTR $T358976[ebp]
  00138	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  0013d	89 85 50 ff ff
	ff		 mov	 DWORD PTR tv227[ebp], eax
  00143	8b 95 50 ff ff
	ff		 mov	 edx, DWORD PTR tv227[ebp]
  00149	89 95 4c ff ff
	ff		 mov	 DWORD PTR tv212[ebp], edx
  0014f	c6 45 fc 04	 mov	 BYTE PTR __$EHRec$[ebp+8], 4
  00153	8b 85 4c ff ff
	ff		 mov	 eax, DWORD PTR tv212[ebp]
  00159	50		 push	 eax
  0015a	8b 55 e8	 mov	 edx, DWORD PTR _demdecCfg$[ebp]
  0015d	8d 4d e8	 lea	 ecx, DWORD PTR _demdecCfg$[ebp]
  00160	8b 42 30	 mov	 eax, DWORD PTR [edx+48]
  00163	ff d0		 call	 eax
  00165	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  00169	8d 4d b8	 lea	 ecx, DWORD PTR $T358976[ebp]
  0016c	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector

; 658  :         break;

  00171	e9 5c 01 00 00	 jmp	 $LN7@SetAudioCa
$LN4@SetAudioCa:

; 659  : 
; 660  :     case AUDIOCHANNELMODE_AM:
; 661  :         // Explanation for this value is omitted in doc but 7130_4 doc
; 662  :         // says 0 = FM, 1 = AM, 2 = NICAM.
; 663  :         demdecCfg += _B(SAA7133_A_DEMDEC_CFG_CH2MOD, 1);

  00176	6a 01		 push	 1
  00178	6a 03		 push	 3
  0017a	6a 06		 push	 6
  0017c	8d 4d ac	 lea	 ecx, DWORD PTR $T358977[ebp]
  0017f	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  00184	89 85 48 ff ff
	ff		 mov	 DWORD PTR tv228[ebp], eax
  0018a	8b 8d 48 ff ff
	ff		 mov	 ecx, DWORD PTR tv228[ebp]
  00190	89 8d 44 ff ff
	ff		 mov	 DWORD PTR tv214[ebp], ecx
  00196	c6 45 fc 05	 mov	 BYTE PTR __$EHRec$[ebp+8], 5
  0019a	8b 95 44 ff ff
	ff		 mov	 edx, DWORD PTR tv214[ebp]
  001a0	52		 push	 edx
  001a1	8b 45 e8	 mov	 eax, DWORD PTR _demdecCfg$[ebp]
  001a4	8d 4d e8	 lea	 ecx, DWORD PTR _demdecCfg$[ebp]
  001a7	8b 50 30	 mov	 edx, DWORD PTR [eax+48]
  001aa	ff d2		 call	 edx
  001ac	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  001b0	8d 4d ac	 lea	 ecx, DWORD PTR $T358977[ebp]
  001b3	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector

; 664  :         break;

  001b8	e9 15 01 00 00	 jmp	 $LN7@SetAudioCa
$LN3@SetAudioCa:

; 665  : 
; 666  :     case AUDIOCHANNELMODE_NICAM:
; 667  :         // 2 = Unverfied: NICAM
; 668  :         demdecCfg += _B(SAA7133_A_DEMDEC_CFG_CH2MOD, 2);

  001bd	6a 02		 push	 2
  001bf	6a 03		 push	 3
  001c1	6a 06		 push	 6
  001c3	8d 4d a0	 lea	 ecx, DWORD PTR $T358978[ebp]
  001c6	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  001cb	89 85 40 ff ff
	ff		 mov	 DWORD PTR tv229[ebp], eax
  001d1	8b 85 40 ff ff
	ff		 mov	 eax, DWORD PTR tv229[ebp]
  001d7	89 85 3c ff ff
	ff		 mov	 DWORD PTR tv216[ebp], eax
  001dd	c6 45 fc 06	 mov	 BYTE PTR __$EHRec$[ebp+8], 6
  001e1	8b 8d 3c ff ff
	ff		 mov	 ecx, DWORD PTR tv216[ebp]
  001e7	51		 push	 ecx
  001e8	8b 55 e8	 mov	 edx, DWORD PTR _demdecCfg$[ebp]
  001eb	8d 4d e8	 lea	 ecx, DWORD PTR _demdecCfg$[ebp]
  001ee	8b 42 30	 mov	 eax, DWORD PTR [edx+48]
  001f1	ff d0		 call	 eax
  001f3	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  001f7	8d 4d a0	 lea	 ecx, DWORD PTR $T358978[ebp]
  001fa	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector

; 669  :         // 3 = NICAM + analog mono (not sure if above is necessary)
; 670  :         demdecCfg += _B(SAA7133_A_DEMDEC_CFG_DECPATH, 3);

  001ff	6a 03		 push	 3
  00201	6a 07		 push	 7
  00203	6a 00		 push	 0
  00205	8d 4d 94	 lea	 ecx, DWORD PTR $T358979[ebp]
  00208	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  0020d	89 85 38 ff ff
	ff		 mov	 DWORD PTR tv230[ebp], eax
  00213	8b 8d 38 ff ff
	ff		 mov	 ecx, DWORD PTR tv230[ebp]
  00219	89 8d 34 ff ff
	ff		 mov	 DWORD PTR tv218[ebp], ecx
  0021f	c6 45 fc 07	 mov	 BYTE PTR __$EHRec$[ebp+8], 7
  00223	8b 95 34 ff ff
	ff		 mov	 edx, DWORD PTR tv218[ebp]
  00229	52		 push	 edx
  0022a	8b 45 e8	 mov	 eax, DWORD PTR _demdecCfg$[ebp]
  0022d	8d 4d e8	 lea	 ecx, DWORD PTR _demdecCfg$[ebp]
  00230	8b 50 30	 mov	 edx, DWORD PTR [eax+48]
  00233	ff d2		 call	 edx
  00235	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  00239	8d 4d 94	 lea	 ecx, DWORD PTR $T358979[ebp]
  0023c	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector

; 671  :         break;

  00241	e9 8c 00 00 00	 jmp	 $LN7@SetAudioCa
$LN2@SetAudioCa:

; 672  : 
; 673  :     case AUDIOCHANNELMODE_BTSC:
; 674  :         // 4 = BTSC stereo + SAP with 150 ms deemphasis
; 675  :         demdecCfg += _B(SAA7133_A_DEMDEC_CFG_DECPATH, 4);

  00246	6a 04		 push	 4
  00248	6a 07		 push	 7
  0024a	6a 00		 push	 0
  0024c	8d 4d 88	 lea	 ecx, DWORD PTR $T358980[ebp]
  0024f	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  00254	89 85 30 ff ff
	ff		 mov	 DWORD PTR tv231[ebp], eax
  0025a	8b 85 30 ff ff
	ff		 mov	 eax, DWORD PTR tv231[ebp]
  00260	89 85 2c ff ff
	ff		 mov	 DWORD PTR tv220[ebp], eax
  00266	c6 45 fc 08	 mov	 BYTE PTR __$EHRec$[ebp+8], 8
  0026a	8b 8d 2c ff ff
	ff		 mov	 ecx, DWORD PTR tv220[ebp]
  00270	51		 push	 ecx
  00271	8b 55 e8	 mov	 edx, DWORD PTR _demdecCfg$[ebp]
  00274	8d 4d e8	 lea	 ecx, DWORD PTR _demdecCfg$[ebp]
  00277	8b 42 30	 mov	 eax, DWORD PTR [edx+48]
  0027a	ff d0		 call	 eax
  0027c	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  00280	8d 4d 88	 lea	 ecx, DWORD PTR $T358980[ebp]
  00283	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector

; 676  :         break;

  00288	eb 48		 jmp	 SHORT $LN7@SetAudioCa
$LN1@SetAudioCa:

; 677  :     case AUDIOCHANNELMODE_EIAJ:
; 678  :         // 6 = EIAJ stereo
; 679  :         demdecCfg += _B(SAA7133_A_DEMDEC_CFG_DECPATH, 6);

  0028a	6a 06		 push	 6
  0028c	6a 07		 push	 7
  0028e	6a 00		 push	 0
  00290	8d 8d 7c ff ff
	ff		 lea	 ecx, DWORD PTR $T358981[ebp]
  00296	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  0029b	89 85 28 ff ff
	ff		 mov	 DWORD PTR tv232[ebp], eax
  002a1	8b 8d 28 ff ff
	ff		 mov	 ecx, DWORD PTR tv232[ebp]
  002a7	89 8d 24 ff ff
	ff		 mov	 DWORD PTR tv222[ebp], ecx
  002ad	c6 45 fc 09	 mov	 BYTE PTR __$EHRec$[ebp+8], 9
  002b1	8b 95 24 ff ff
	ff		 mov	 edx, DWORD PTR tv222[ebp]
  002b7	52		 push	 edx
  002b8	8b 45 e8	 mov	 eax, DWORD PTR _demdecCfg$[ebp]
  002bb	8d 4d e8	 lea	 ecx, DWORD PTR _demdecCfg$[ebp]
  002be	8b 50 30	 mov	 edx, DWORD PTR [eax+48]
  002c1	ff d2		 call	 edx
  002c3	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  002c7	8d 8d 7c ff ff
	ff		 lea	 ecx, DWORD PTR $T358981[ebp]
  002cd	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
$LN7@SetAudioCa:

; 680  :         break;
; 681  :     }
; 682  : 
; 683  :     WriteDSPData7133(SAA7133_A_DEMDEC_CFG, demdecCfg);

  002d2	83 ec 0c	 sub	 esp, 12			; 0000000cH
  002d5	8b cc		 mov	 ecx, esp
  002d7	89 a5 78 ff ff
	ff		 mov	 DWORD PTR $T358982[ebp], esp
  002dd	8d 45 e8	 lea	 eax, DWORD PTR _demdecCfg$[ebp]
  002e0	50		 push	 eax
  002e1	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@ABV0@@Z
  002e6	89 85 20 ff ff
	ff		 mov	 DWORD PTR tv233[ebp], eax
  002ec	8b 8d 20 ff ff
	ff		 mov	 ecx, DWORD PTR tv233[ebp]
  002f2	89 8d 1c ff ff
	ff		 mov	 DWORD PTR tv224[ebp], ecx
  002f8	c6 45 fc 0a	 mov	 BYTE PTR __$EHRec$[ebp+8], 10 ; 0000000aH
  002fc	68 ff ff 3f 00	 push	 4194303			; 003fffffH
  00301	68 28 04 00 00	 push	 1064			; 00000428H
  00306	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  0030a	8b 8d 74 ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00310	e8 00 00 00 00	 call	 ?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z ; CSAA7134Card::WriteDSPData7133

; 684  : }

  00315	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0031c	8d 4d e8	 lea	 ecx, DWORD PTR _demdecCfg$[ebp]
  0031f	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  00324	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00327	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0032e	59		 pop	 ecx
  0032f	8b e5		 mov	 esp, ebp
  00331	5d		 pop	 ebp
  00332	c2 04 00	 ret	 4
  00335	8d 49 00	 npad	 3
$LN23@SetAudioCa:
  00338	00 00 00 00	 DD	 $LN5@SetAudioCa
  0033c	00 00 00 00	 DD	 $LN4@SetAudioCa
  00340	00 00 00 00	 DD	 $LN3@SetAudioCa
  00344	00 00 00 00	 DD	 $LN2@SetAudioCa
  00348	00 00 00 00	 DD	 $LN1@SetAudioCa
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?SetAudioCarrier2Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z$0:
  00000	8d 4d e8	 lea	 ecx, DWORD PTR _demdecCfg$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioCarrier2Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z$1:
  00008	8d 4d dc	 lea	 ecx, DWORD PTR $T358973[ebp]
  0000b	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioCarrier2Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z$2:
  00010	8d 4d d0	 lea	 ecx, DWORD PTR $T358974[ebp]
  00013	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioCarrier2Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z$3:
  00018	8d 4d c4	 lea	 ecx, DWORD PTR $T358975[ebp]
  0001b	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioCarrier2Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z$4:
  00020	8d 4d b8	 lea	 ecx, DWORD PTR $T358976[ebp]
  00023	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioCarrier2Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z$5:
  00028	8d 4d ac	 lea	 ecx, DWORD PTR $T358977[ebp]
  0002b	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioCarrier2Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z$6:
  00030	8d 4d a0	 lea	 ecx, DWORD PTR $T358978[ebp]
  00033	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioCarrier2Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z$7:
  00038	8d 4d 94	 lea	 ecx, DWORD PTR $T358979[ebp]
  0003b	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioCarrier2Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z$8:
  00040	8d 4d 88	 lea	 ecx, DWORD PTR $T358980[ebp]
  00043	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioCarrier2Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z$9:
  00048	8d 8d 7c ff ff
	ff		 lea	 ecx, DWORD PTR $T358981[ebp]
  0004e	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioCarrier2Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z$10:
  00053	8b 8d 78 ff ff
	ff		 mov	 ecx, DWORD PTR $T358982[ebp]
  00059	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__ehhandler$?SetAudioCarrier2Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z:
  0005e	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00062	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00065	8b 8a 24 ff ff
	ff		 mov	 ecx, DWORD PTR [edx-220]
  0006b	33 c8		 xor	 ecx, eax
  0006d	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00072	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?SetAudioCarrier2Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z
  00077	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?SetAudioCarrier2Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z ENDP ; CSAA7134Card::SetAudioCarrier2Mode7133
PUBLIC	?SetAudioCarrier2Mode@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z ; CSAA7134Card::SetAudioCarrier2Mode
; Function compile flags: /Odtp
;	COMDAT ?SetAudioCarrier2Mode@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z
_TEXT	SEGMENT
tv87 = -12						; size = 4
_this$ = -8						; size = 4
_Demodulator$ = -3					; size = 1
_IdentCtrl$ = -2					; size = 1
_AudioPLLCtrl$ = -1					; size = 1
_mode$ = 8						; size = 4
?SetAudioCarrier2Mode@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z PROC ; CSAA7134Card::SetAudioCarrier2Mode, COMDAT
; _this$ = ecx

; 587  : {

  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

; 588  :     if (m_DeviceId == 0x7130)

  00009	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	0f b7 48 08	 movzx	 ecx, WORD PTR [eax+8]
  00010	81 f9 30 71 00
	00		 cmp	 ecx, 28976		; 00007130H
  00016	75 05		 jne	 SHORT $LN10@SetAudioCa@2

; 589  :     {
; 590  :         // saa7130 doesn't support this
; 591  :         return;

  00018	e9 bf 00 00 00	 jmp	 $LN11@SetAudioCa@2
$LN10@SetAudioCa@2:

; 592  :     }
; 593  :     if (m_DeviceId == 0x7133 || m_DeviceId == 0x7135)

  0001d	8b 55 f8	 mov	 edx, DWORD PTR _this$[ebp]
  00020	0f b7 42 08	 movzx	 eax, WORD PTR [edx+8]
  00024	3d 33 71 00 00	 cmp	 eax, 28979		; 00007133H
  00029	74 0f		 je	 SHORT $LN8@SetAudioCa@2
  0002b	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0002e	0f b7 51 08	 movzx	 edx, WORD PTR [ecx+8]
  00032	81 fa 35 71 00
	00		 cmp	 edx, 28981		; 00007135H
  00038	75 11		 jne	 SHORT $LN9@SetAudioCa@2
$LN8@SetAudioCa@2:

; 594  :     {
; 595  :         SetAudioCarrier2Mode7133(mode);

  0003a	8b 45 08	 mov	 eax, DWORD PTR _mode$[ebp]
  0003d	50		 push	 eax
  0003e	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00041	e8 00 00 00 00	 call	 ?SetAudioCarrier2Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z ; CSAA7134Card::SetAudioCarrier2Mode7133

; 596  :         return;

  00046	e9 91 00 00 00	 jmp	 $LN11@SetAudioCa@2
$LN9@SetAudioCa@2:

; 597  :     }
; 598  : 
; 599  :     BYTE IdentCtrl      = 0x00;

  0004b	c6 45 fe 00	 mov	 BYTE PTR _IdentCtrl$[ebp], 0

; 600  :     BYTE Demodulator    = 0x00;

  0004f	c6 45 fd 00	 mov	 BYTE PTR _Demodulator$[ebp], 0

; 601  :     BYTE AudioPLLCtrl   = 0x00;

  00053	c6 45 ff 00	 mov	 BYTE PTR _AudioPLLCtrl$[ebp], 0

; 602  : 
; 603  :     switch (mode)

  00057	8b 4d 08	 mov	 ecx, DWORD PTR _mode$[ebp]
  0005a	89 4d f4	 mov	 DWORD PTR tv87[ebp], ecx
  0005d	8b 55 f4	 mov	 edx, DWORD PTR tv87[ebp]
  00060	83 ea 01	 sub	 edx, 1
  00063	89 55 f4	 mov	 DWORD PTR tv87[ebp], edx
  00066	83 7d f4 03	 cmp	 DWORD PTR tv87[ebp], 3
  0006a	77 34		 ja	 SHORT $LN6@SetAudioCa@2
  0006c	8b 45 f4	 mov	 eax, DWORD PTR tv87[ebp]
  0006f	ff 24 85 00 00
	00 00		 jmp	 DWORD PTR $LN13@SetAudioCa@2[eax*4]
$LN5@SetAudioCa@2:

; 604  :     {
; 605  :     case AUDIOCHANNELMODE_FM:
; 606  :         Demodulator = 0x00;

  00076	c6 45 fd 00	 mov	 BYTE PTR _Demodulator$[ebp], 0

; 607  :         break;

  0007a	eb 24		 jmp	 SHORT $LN6@SetAudioCa@2
$LN4@SetAudioCa@2:

; 608  : 
; 609  :     case AUDIOCHANNELMODE_FM_KOREA:
; 610  :         IdentCtrl |= SAA7134_DCXO_IDENT_CTRL_IDAREA;

  0007c	0f b6 4d fe	 movzx	 ecx, BYTE PTR _IdentCtrl$[ebp]
  00080	83 c9 01	 or	 ecx, 1
  00083	88 4d fe	 mov	 BYTE PTR _IdentCtrl$[ebp], cl

; 611  :         Demodulator = 0x00;

  00086	c6 45 fd 00	 mov	 BYTE PTR _Demodulator$[ebp], 0

; 612  :         break;

  0008a	eb 14		 jmp	 SHORT $LN6@SetAudioCa@2
$LN3@SetAudioCa@2:

; 613  : 
; 614  :     case AUDIOCHANNELMODE_AM:
; 615  :         Demodulator = 0x01;

  0008c	c6 45 fd 01	 mov	 BYTE PTR _Demodulator$[ebp], 1

; 616  :         break;

  00090	eb 0e		 jmp	 SHORT $LN6@SetAudioCa@2
$LN2@SetAudioCa@2:

; 617  : 
; 618  :     case AUDIOCHANNELMODE_NICAM:
; 619  :         AudioPLLCtrl |= SAA7134_AUDIO_PLL_CTRL_SWLOOP;

  00092	0f b6 55 ff	 movzx	 edx, BYTE PTR _AudioPLLCtrl$[ebp]
  00096	83 ca 01	 or	 edx, 1
  00099	88 55 ff	 mov	 BYTE PTR _AudioPLLCtrl$[ebp], dl

; 620  :         Demodulator = 0x10;

  0009c	c6 45 fd 10	 mov	 BYTE PTR _Demodulator$[ebp], 16 ; 00000010H
$LN6@SetAudioCa@2:

; 621  :         break;
; 622  : 
; 623  :     case AUDIOCHANNELMODE_BTSC:
; 624  :     case AUDIOCHANNELMODE_EIAJ:
; 625  :         // not supported by saa7134
; 626  :         break;
; 627  :     }
; 628  : 
; 629  :     MaskDataByte(SAA7134_DEMODULATOR, Demodulator,
; 630  :         SAA7134_DEMODULATOR_CH2MOD0 |
; 631  :         SAA7134_DEMODULATOR_CH2MOD1);

  000a0	6a 11		 push	 17			; 00000011H
  000a2	0f b6 45 fd	 movzx	 eax, BYTE PTR _Demodulator$[ebp]
  000a6	50		 push	 eax
  000a7	68 4b 01 00 00	 push	 331			; 0000014bH
  000ac	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  000af	e8 00 00 00 00	 call	 ?MaskDataByte@CPCICard@@QAEXKEE@Z ; CPCICard::MaskDataByte

; 632  : 
; 633  :     MaskDataByte(SAA7134_DCXO_IDENT_CTRL, IdentCtrl,
; 634  :         SAA7134_DCXO_IDENT_CTRL_IDAREA);

  000b4	6a 01		 push	 1
  000b6	0f b6 4d fe	 movzx	 ecx, BYTE PTR _IdentCtrl$[ebp]
  000ba	51		 push	 ecx
  000bb	68 4a 01 00 00	 push	 330			; 0000014aH
  000c0	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  000c3	e8 00 00 00 00	 call	 ?MaskDataByte@CPCICard@@QAEXKEE@Z ; CPCICard::MaskDataByte

; 635  : 
; 636  :     MaskDataByte(SAA7134_AUDIO_PLL_CTRL, AudioPLLCtrl,
; 637  :         SAA7134_AUDIO_PLL_CTRL_SWLOOP);

  000c8	6a 01		 push	 1
  000ca	0f b6 55 ff	 movzx	 edx, BYTE PTR _AudioPLLCtrl$[ebp]
  000ce	52		 push	 edx
  000cf	68 73 01 00 00	 push	 371			; 00000173H
  000d4	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  000d7	e8 00 00 00 00	 call	 ?MaskDataByte@CPCICard@@QAEXKEE@Z ; CPCICard::MaskDataByte
$LN11@SetAudioCa@2:

; 638  : }

  000dc	8b e5		 mov	 esp, ebp
  000de	5d		 pop	 ebp
  000df	c2 04 00	 ret	 4
  000e2	8b ff		 npad	 2
$LN13@SetAudioCa@2:
  000e4	00 00 00 00	 DD	 $LN5@SetAudioCa@2
  000e8	00 00 00 00	 DD	 $LN4@SetAudioCa@2
  000ec	00 00 00 00	 DD	 $LN3@SetAudioCa@2
  000f0	00 00 00 00	 DD	 $LN2@SetAudioCa@2
?SetAudioCarrier2Mode@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z ENDP ; CSAA7134Card::SetAudioCarrier2Mode
_TEXT	ENDS
PUBLIC	?SetAudioCarrier1Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z ; CSAA7134Card::SetAudioCarrier1Mode7133
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?SetAudioCarrier1Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?SetAudioCarrier1Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z$0
__ehfuncinfo$?SetAudioCarrier1Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?SetAudioCarrier1Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?SetAudioCarrier1Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z
_TEXT	SEGMENT
tv86 = -28						; size = 4
tv87 = -24						; size = 4
_this$ = -20						; size = 4
$T359006 = -16						; size = 4
__$EHRec$ = -12						; size = 12
_mode$ = 8						; size = 4
?SetAudioCarrier1Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z PROC ; CSAA7134Card::SetAudioCarrier1Mode7133, COMDAT
; _this$ = ecx

; 579  : {

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

; 580  :     // Only in DDEP mode in expert mode
; 581  :     WriteDSPData7133(SAA7133_A_DEMDEC_CFG,
; 582  :         _B(SAA7133_A_DEMDEC_CFG_CH1MOD, mode == AUDIOCHANNELMODE_AM ? 1 : 0));

  00028	33 c0		 xor	 eax, eax
  0002a	83 7d 08 03	 cmp	 DWORD PTR _mode$[ebp], 3
  0002e	0f 94 c0	 sete	 al
  00031	83 ec 0c	 sub	 esp, 12			; 0000000cH
  00034	8b cc		 mov	 ecx, esp
  00036	89 65 f0	 mov	 DWORD PTR $T359006[ebp], esp
  00039	50		 push	 eax
  0003a	6a 07		 push	 7
  0003c	6a 08		 push	 8
  0003e	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  00043	89 45 e8	 mov	 DWORD PTR tv87[ebp], eax
  00046	8b 4d e8	 mov	 ecx, DWORD PTR tv87[ebp]
  00049	89 4d e4	 mov	 DWORD PTR tv86[ebp], ecx
  0004c	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00053	68 ff ff 3f 00	 push	 4194303			; 003fffffH
  00058	68 28 04 00 00	 push	 1064			; 00000428H
  0005d	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00064	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00067	e8 00 00 00 00	 call	 ?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z ; CSAA7134Card::WriteDSPData7133

; 583  : }

  0006c	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0006f	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00076	59		 pop	 ecx
  00077	8b e5		 mov	 esp, ebp
  00079	5d		 pop	 ebp
  0007a	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?SetAudioCarrier1Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR $T359006[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__ehhandler$?SetAudioCarrier1Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a ec	 mov	 ecx, DWORD PTR [edx-20]
  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$?SetAudioCarrier1Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?SetAudioCarrier1Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z ENDP ; CSAA7134Card::SetAudioCarrier1Mode7133
PUBLIC	?SetAudioCarrier1Mode@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z ; CSAA7134Card::SetAudioCarrier1Mode
; Function compile flags: /Odtp
;	COMDAT ?SetAudioCarrier1Mode@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_mode$ = 8						; size = 4
?SetAudioCarrier1Mode@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z PROC ; CSAA7134Card::SetAudioCarrier1Mode, COMDAT
; _this$ = ecx

; 555  : {

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

; 556  :     if (m_DeviceId == 0x7130)

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	0f b7 48 08	 movzx	 ecx, WORD PTR [eax+8]
  0000e	81 f9 30 71 00
	00		 cmp	 ecx, 28976		; 00007130H
  00014	75 02		 jne	 SHORT $LN5@SetAudioCa@3

; 557  :     {
; 558  :         // saa7130 doesn't support this
; 559  :         return;

  00016	eb 54		 jmp	 SHORT $LN6@SetAudioCa@3
$LN5@SetAudioCa@3:

; 560  :     }
; 561  :     if (m_DeviceId == 0x7133 || m_DeviceId == 0x7135)

  00018	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  0001b	0f b7 42 08	 movzx	 eax, WORD PTR [edx+8]
  0001f	3d 33 71 00 00	 cmp	 eax, 28979		; 00007133H
  00024	74 0f		 je	 SHORT $LN3@SetAudioCa@3
  00026	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00029	0f b7 51 08	 movzx	 edx, WORD PTR [ecx+8]
  0002d	81 fa 35 71 00
	00		 cmp	 edx, 28981		; 00007135H
  00033	75 0e		 jne	 SHORT $LN4@SetAudioCa@3
$LN3@SetAudioCa@3:

; 562  :     {
; 563  :         SetAudioCarrier1Mode7133(mode);

  00035	8b 45 08	 mov	 eax, DWORD PTR _mode$[ebp]
  00038	50		 push	 eax
  00039	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0003c	e8 00 00 00 00	 call	 ?SetAudioCarrier1Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z ; CSAA7134Card::SetAudioCarrier1Mode7133

; 564  :         return;

  00041	eb 29		 jmp	 SHORT $LN6@SetAudioCa@3
$LN4@SetAudioCa@3:

; 565  :     }
; 566  : 
; 567  :     if (mode == AUDIOCHANNELMODE_AM)

  00043	83 7d 08 03	 cmp	 DWORD PTR _mode$[ebp], 3
  00047	75 11		 jne	 SHORT $LN2@SetAudioCa@3

; 568  :     {
; 569  :         OrDataByte(SAA7134_DEMODULATOR, SAA7134_DEMODULATOR_CH1MODE);

  00049	6a 02		 push	 2
  0004b	68 4b 01 00 00	 push	 331			; 0000014bH
  00050	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00053	e8 00 00 00 00	 call	 ?OrDataByte@CPCICard@@QAEXKE@Z ; CPCICard::OrDataByte

; 570  :     }
; 571  :     else

  00058	eb 12		 jmp	 SHORT $LN6@SetAudioCa@3
$LN2@SetAudioCa@3:

; 572  :     {
; 573  :         AndDataByte(SAA7134_DEMODULATOR, ~SAA7134_DEMODULATOR_CH1MODE);

  0005a	68 fd 00 00 00	 push	 253			; 000000fdH
  0005f	68 4b 01 00 00	 push	 331			; 0000014bH
  00064	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00067	e8 00 00 00 00	 call	 ?AndDataByte@CPCICard@@QAEXKE@Z ; CPCICard::AndDataByte
$LN6@SetAudioCa@3:

; 574  :     }
; 575  : }

  0006c	8b e5		 mov	 esp, ebp
  0006e	5d		 pop	 ebp
  0006f	c2 04 00	 ret	 4
?SetAudioCarrier1Mode@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z ENDP ; CSAA7134Card::SetAudioCarrier1Mode
_TEXT	ENDS
PUBLIC	?SetAudioCarrier2Freq7133@CSAA7134Card@@QAEXK@Z	; CSAA7134Card::SetAudioCarrier2Freq7133
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?SetAudioCarrier2Freq7133@CSAA7134Card@@QAEXK@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?SetAudioCarrier2Freq7133@CSAA7134Card@@QAEXK@Z$0
__ehfuncinfo$?SetAudioCarrier2Freq7133@CSAA7134Card@@QAEXK@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?SetAudioCarrier2Freq7133@CSAA7134Card@@QAEXK@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?SetAudioCarrier2Freq7133@CSAA7134Card@@QAEXK@Z
_TEXT	SEGMENT
tv82 = -28						; size = 4
tv83 = -24						; size = 4
_this$ = -20						; size = 4
$T359018 = -16						; size = 4
__$EHRec$ = -12						; size = 12
_Carrier$ = 8						; size = 4
?SetAudioCarrier2Freq7133@CSAA7134Card@@QAEXK@Z PROC	; CSAA7134Card::SetAudioCarrier2Freq7133, COMDAT
; _this$ = ecx

; 548  : {

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

; 549  :     // Only in DDEP mode in expert mode
; 550  :     WriteDSPData7133(SAA7133_A_DEMDEC_CARRIER2, Carrier);

  00028	83 ec 0c	 sub	 esp, 12			; 0000000cH
  0002b	8b cc		 mov	 ecx, esp
  0002d	89 65 f0	 mov	 DWORD PTR $T359018[ebp], esp
  00030	8b 45 08	 mov	 eax, DWORD PTR _Carrier$[ebp]
  00033	50		 push	 eax
  00034	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@K@Z	; CBitVector::CBitVector
  00039	89 45 e8	 mov	 DWORD PTR tv83[ebp], eax
  0003c	8b 4d e8	 mov	 ecx, DWORD PTR tv83[ebp]
  0003f	89 4d e4	 mov	 DWORD PTR tv82[ebp], ecx
  00042	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00049	68 ff ff ff 00	 push	 16777215		; 00ffffffH
  0004e	68 30 04 00 00	 push	 1072			; 00000430H
  00053	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0005a	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  0005d	e8 00 00 00 00	 call	 ?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z ; CSAA7134Card::WriteDSPData7133

; 551  : }

  00062	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00065	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0006c	59		 pop	 ecx
  0006d	8b e5		 mov	 esp, ebp
  0006f	5d		 pop	 ebp
  00070	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?SetAudioCarrier2Freq7133@CSAA7134Card@@QAEXK@Z$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR $T359018[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__ehhandler$?SetAudioCarrier2Freq7133@CSAA7134Card@@QAEXK@Z:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a ec	 mov	 ecx, DWORD PTR [edx-20]
  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$?SetAudioCarrier2Freq7133@CSAA7134Card@@QAEXK@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?SetAudioCarrier2Freq7133@CSAA7134Card@@QAEXK@Z ENDP	; CSAA7134Card::SetAudioCarrier2Freq7133
PUBLIC	?SetAudioCarrier2Freq@CSAA7134Card@@QAEXK@Z	; CSAA7134Card::SetAudioCarrier2Freq
; Function compile flags: /Odtp
;	COMDAT ?SetAudioCarrier2Freq@CSAA7134Card@@QAEXK@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_Carrier$ = 8						; size = 4
?SetAudioCarrier2Freq@CSAA7134Card@@QAEXK@Z PROC	; CSAA7134Card::SetAudioCarrier2Freq, COMDAT
; _this$ = ecx

; 531  : {

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

; 532  :     if (m_DeviceId == 0x7130)

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	0f b7 48 08	 movzx	 ecx, WORD PTR [eax+8]
  0000e	81 f9 30 71 00
	00		 cmp	 ecx, 28976		; 00007130H
  00014	75 02		 jne	 SHORT $LN3@SetAudioCa@4

; 533  :     {
; 534  :         // saa7130 doesn't support this
; 535  :         return;

  00016	eb 3c		 jmp	 SHORT $LN4@SetAudioCa@4
$LN3@SetAudioCa@4:

; 536  :     }
; 537  :     if (m_DeviceId == 0x7133 || m_DeviceId == 0x7135)

  00018	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  0001b	0f b7 42 08	 movzx	 eax, WORD PTR [edx+8]
  0001f	3d 33 71 00 00	 cmp	 eax, 28979		; 00007133H
  00024	74 0f		 je	 SHORT $LN1@SetAudioCa@4
  00026	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00029	0f b7 51 08	 movzx	 edx, WORD PTR [ecx+8]
  0002d	81 fa 35 71 00
	00		 cmp	 edx, 28981		; 00007135H
  00033	75 0e		 jne	 SHORT $LN2@SetAudioCa@4
$LN1@SetAudioCa@4:

; 538  :     {
; 539  :         SetAudioCarrier2Freq7133(Carrier);

  00035	8b 45 08	 mov	 eax, DWORD PTR _Carrier$[ebp]
  00038	50		 push	 eax
  00039	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0003c	e8 00 00 00 00	 call	 ?SetAudioCarrier2Freq7133@CSAA7134Card@@QAEXK@Z ; CSAA7134Card::SetAudioCarrier2Freq7133

; 540  :         return;

  00041	eb 11		 jmp	 SHORT $LN4@SetAudioCa@4
$LN2@SetAudioCa@4:

; 541  :     }
; 542  : 
; 543  :     WriteDword(SAA7134_CARRIER2_FREQ, Carrier);

  00043	8b 4d 08	 mov	 ecx, DWORD PTR _Carrier$[ebp]
  00046	51		 push	 ecx
  00047	68 54 01 00 00	 push	 340			; 00000154H
  0004c	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0004f	e8 00 00 00 00	 call	 ?WriteDword@CPCICard@@QAEXKK@Z ; CPCICard::WriteDword
$LN4@SetAudioCa@4:

; 544  : }

  00054	8b e5		 mov	 esp, ebp
  00056	5d		 pop	 ebp
  00057	c2 04 00	 ret	 4
?SetAudioCarrier2Freq@CSAA7134Card@@QAEXK@Z ENDP	; CSAA7134Card::SetAudioCarrier2Freq
_TEXT	ENDS
PUBLIC	?SetAudioCarrier1Freq7133@CSAA7134Card@@QAEXK@Z	; CSAA7134Card::SetAudioCarrier1Freq7133
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?SetAudioCarrier1Freq7133@CSAA7134Card@@QAEXK@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?SetAudioCarrier1Freq7133@CSAA7134Card@@QAEXK@Z$0
__ehfuncinfo$?SetAudioCarrier1Freq7133@CSAA7134Card@@QAEXK@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?SetAudioCarrier1Freq7133@CSAA7134Card@@QAEXK@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?SetAudioCarrier1Freq7133@CSAA7134Card@@QAEXK@Z
_TEXT	SEGMENT
tv82 = -28						; size = 4
tv83 = -24						; size = 4
_this$ = -20						; size = 4
$T359030 = -16						; size = 4
__$EHRec$ = -12						; size = 12
_Carrier$ = 8						; size = 4
?SetAudioCarrier1Freq7133@CSAA7134Card@@QAEXK@Z PROC	; CSAA7134Card::SetAudioCarrier1Freq7133, COMDAT
; _this$ = ecx

; 524  : {

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

; 525  :     // Only in DDEP mode in expert mode
; 526  :     WriteDSPData7133(SAA7133_A_DEMDEC_CARRIER1, Carrier);

  00028	83 ec 0c	 sub	 esp, 12			; 0000000cH
  0002b	8b cc		 mov	 ecx, esp
  0002d	89 65 f0	 mov	 DWORD PTR $T359030[ebp], esp
  00030	8b 45 08	 mov	 eax, DWORD PTR _Carrier$[ebp]
  00033	50		 push	 eax
  00034	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@K@Z	; CBitVector::CBitVector
  00039	89 45 e8	 mov	 DWORD PTR tv83[ebp], eax
  0003c	8b 4d e8	 mov	 ecx, DWORD PTR tv83[ebp]
  0003f	89 4d e4	 mov	 DWORD PTR tv82[ebp], ecx
  00042	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00049	68 ff ff ff 00	 push	 16777215		; 00ffffffH
  0004e	68 2c 04 00 00	 push	 1068			; 0000042cH
  00053	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0005a	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  0005d	e8 00 00 00 00	 call	 ?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z ; CSAA7134Card::WriteDSPData7133

; 527  : }

  00062	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00065	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0006c	59		 pop	 ecx
  0006d	8b e5		 mov	 esp, ebp
  0006f	5d		 pop	 ebp
  00070	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?SetAudioCarrier1Freq7133@CSAA7134Card@@QAEXK@Z$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR $T359030[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__ehhandler$?SetAudioCarrier1Freq7133@CSAA7134Card@@QAEXK@Z:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a ec	 mov	 ecx, DWORD PTR [edx-20]
  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$?SetAudioCarrier1Freq7133@CSAA7134Card@@QAEXK@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?SetAudioCarrier1Freq7133@CSAA7134Card@@QAEXK@Z ENDP	; CSAA7134Card::SetAudioCarrier1Freq7133
PUBLIC	?SetAudioCarrier1Freq@CSAA7134Card@@QAEXK@Z	; CSAA7134Card::SetAudioCarrier1Freq
; Function compile flags: /Odtp
;	COMDAT ?SetAudioCarrier1Freq@CSAA7134Card@@QAEXK@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_Carrier$ = 8						; size = 4
?SetAudioCarrier1Freq@CSAA7134Card@@QAEXK@Z PROC	; CSAA7134Card::SetAudioCarrier1Freq, COMDAT
; _this$ = ecx

; 507  : {

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

; 508  :     if (m_DeviceId == 0x7130)

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	0f b7 48 08	 movzx	 ecx, WORD PTR [eax+8]
  0000e	81 f9 30 71 00
	00		 cmp	 ecx, 28976		; 00007130H
  00014	75 02		 jne	 SHORT $LN3@SetAudioCa@5

; 509  :     {
; 510  :         // saa7130 doesn't support this
; 511  :         return;

  00016	eb 3c		 jmp	 SHORT $LN4@SetAudioCa@5
$LN3@SetAudioCa@5:

; 512  :     }
; 513  :     if (m_DeviceId == 0x7133 || m_DeviceId == 0x7135)

  00018	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  0001b	0f b7 42 08	 movzx	 eax, WORD PTR [edx+8]
  0001f	3d 33 71 00 00	 cmp	 eax, 28979		; 00007133H
  00024	74 0f		 je	 SHORT $LN1@SetAudioCa@5
  00026	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00029	0f b7 51 08	 movzx	 edx, WORD PTR [ecx+8]
  0002d	81 fa 35 71 00
	00		 cmp	 edx, 28981		; 00007135H
  00033	75 0e		 jne	 SHORT $LN2@SetAudioCa@5
$LN1@SetAudioCa@5:

; 514  :     {
; 515  :         SetAudioCarrier1Freq7133(Carrier);

  00035	8b 45 08	 mov	 eax, DWORD PTR _Carrier$[ebp]
  00038	50		 push	 eax
  00039	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0003c	e8 00 00 00 00	 call	 ?SetAudioCarrier1Freq7133@CSAA7134Card@@QAEXK@Z ; CSAA7134Card::SetAudioCarrier1Freq7133

; 516  :         return;

  00041	eb 11		 jmp	 SHORT $LN4@SetAudioCa@5
$LN2@SetAudioCa@5:

; 517  :     }
; 518  : 
; 519  :     WriteDword(SAA7134_CARRIER1_FREQ, Carrier);

  00043	8b 4d 08	 mov	 ecx, DWORD PTR _Carrier$[ebp]
  00046	51		 push	 ecx
  00047	68 50 01 00 00	 push	 336			; 00000150H
  0004c	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0004f	e8 00 00 00 00	 call	 ?WriteDword@CPCICard@@QAEXKK@Z ; CPCICard::WriteDword
$LN4@SetAudioCa@5:

; 520  : }

  00054	8b e5		 mov	 esp, ebp
  00056	5d		 pop	 ebp
  00057	c2 04 00	 ret	 4
?SetAudioCarrier1Freq@CSAA7134Card@@QAEXK@Z ENDP	; CSAA7134Card::SetAudioCarrier1Freq
_TEXT	ENDS
PUBLIC	?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z ; CSAA7134Card::SetAudioStandard7133
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$3
	DD	03H
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$4
	DD	04H
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$5
	DD	05H
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$6
	DD	06H
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$7
	DD	07H
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$8
	DD	08H
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$9
	DD	09H
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$10
	DD	0aH
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$11
	DD	0bH
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$12
	DD	0cH
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$13
	DD	0dH
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$14
	DD	0eH
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$15
	DD	0fH
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$16
	DD	010H
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$17
	DD	011H
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$18
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$19
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$20
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$21
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$22
	DD	016H
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$23
	DD	017H
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$24
	DD	018H
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$25
	DD	019H
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$26
	DD	01aH
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$27
	DD	01bH
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$28
	DD	01cH
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$29
	DD	01dH
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$30
	DD	01eH
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$31
	DD	01fH
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$32
	DD	020H
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$33
	DD	021H
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$34
	DD	022H
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$35
	DD	023H
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$36
	DD	024H
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$37
	DD	025H
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$38
	DD	026H
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$39
	DD	027H
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$40
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$41
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$42
__ehfuncinfo$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z DD 019930522H
	DD	02bH
	DD	FLAT:__unwindtable$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z
_TEXT	SEGMENT
tv696 = -900						; size = 4
tv741 = -896						; size = 4
tv694 = -892						; size = 4
tv740 = -888						; size = 4
tv692 = -884						; size = 4
tv738 = -880						; size = 4
tv689 = -876						; size = 4
tv737 = -872						; size = 4
tv526 = -868						; size = 4
tv687 = -864						; size = 4
tv736 = -860						; size = 4
tv685 = -856						; size = 4
tv735 = -852						; size = 4
tv510 = -848						; size = 4
tv683 = -844						; size = 4
tv734 = -840						; size = 4
tv681 = -836						; size = 4
tv733 = -832						; size = 4
tv494 = -828						; size = 4
tv679 = -824						; size = 4
tv732 = -820						; size = 4
tv677 = -816						; size = 4
tv731 = -812						; size = 4
tv478 = -808						; size = 4
tv675 = -804						; size = 4
tv730 = -800						; size = 4
tv673 = -796						; size = 4
tv729 = -792						; size = 4
tv462 = -788						; size = 4
tv671 = -784						; size = 4
tv728 = -780						; size = 4
tv669 = -776						; size = 4
tv727 = -772						; size = 4
tv414 = -768						; size = 4
tv667 = -764						; size = 4
tv726 = -760						; size = 4
tv665 = -756						; size = 4
tv725 = -752						; size = 4
tv398 = -748						; size = 4
tv663 = -744						; size = 4
tv724 = -740						; size = 4
tv661 = -736						; size = 4
tv723 = -732						; size = 4
tv382 = -728						; size = 4
tv659 = -724						; size = 4
tv722 = -720						; size = 4
tv657 = -716						; size = 4
tv721 = -712						; size = 4
tv366 = -708						; size = 4
tv655 = -704						; size = 4
tv720 = -700						; size = 4
tv653 = -696						; size = 4
tv719 = -692						; size = 4
tv651 = -688						; size = 4
tv718 = -684						; size = 4
tv649 = -680						; size = 4
tv717 = -676						; size = 4
tv647 = -672						; size = 4
tv715 = -668						; size = 4
tv644 = -664						; size = 4
tv714 = -660						; size = 4
tv245 = -656						; size = 4
tv642 = -652						; size = 4
tv713 = -648						; size = 4
tv640 = -644						; size = 4
tv712 = -640						; size = 4
tv229 = -636						; size = 4
tv638 = -632						; size = 4
tv711 = -628						; size = 4
tv636 = -624						; size = 4
tv710 = -620						; size = 4
tv213 = -616						; size = 4
tv634 = -612						; size = 4
tv709 = -608						; size = 4
tv632 = -604						; size = 4
tv708 = -600						; size = 4
tv197 = -596						; size = 4
tv630 = -592						; size = 4
tv707 = -588						; size = 4
tv628 = -584						; size = 4
tv706 = -580						; size = 4
tv181 = -576						; size = 4
tv626 = -572						; size = 4
tv705 = -568						; size = 4
tv624 = -564						; size = 4
tv704 = -560						; size = 4
tv165 = -556						; size = 4
tv622 = -552						; size = 4
tv703 = -548						; size = 4
tv620 = -544						; size = 4
tv702 = -540						; size = 4
tv149 = -536						; size = 4
tv618 = -532						; size = 4
tv701 = -528						; size = 4
tv616 = -524						; size = 4
tv700 = -520						; size = 4
tv133 = -516						; size = 4
tv614 = -512						; size = 4
tv699 = -508						; size = 4
tv612 = -504						; size = 4
tv698 = -500						; size = 4
tv84 = -496						; size = 4
tv610 = -492						; size = 4
tv697 = -488						; size = 4
tv66 = -484						; size = 4
_this$ = -480						; size = 4
$T359084 = -476						; size = 4
$T359083 = -472						; size = 4
$T359082 = -468						; size = 12
$T359081 = -456						; size = 12
$T359080 = -444						; size = 12
$T359079 = -432						; size = 12
$T359078 = -420						; size = 12
$T359077 = -408						; size = 12
$T359076 = -396						; size = 12
$T359075 = -384						; size = 12
$T359074 = -372						; size = 12
$T359073 = -360						; size = 12
$T359072 = -348						; size = 12
$T359071 = -336						; size = 12
$T359070 = -324						; size = 12
$T359069 = -312						; size = 12
$T359068 = -300						; size = 12
$T359067 = -288						; size = 12
$T359066 = -276						; size = 12
$T359065 = -264						; size = 12
$T359064 = -252						; size = 4
$T359063 = -248						; size = 4
$T359062 = -244						; size = 4
$T359061 = -240						; size = 4
$T359060 = -236						; size = 12
$T359059 = -224						; size = 12
$T359058 = -212						; size = 12
$T359057 = -200						; size = 12
$T359056 = -188						; size = 12
$T359055 = -176						; size = 12
$T359054 = -164						; size = 12
$T359053 = -152						; size = 12
$T359052 = -140						; size = 12
$T359051 = -128						; size = 12
$T359050 = -116						; size = 12
$T359049 = -104						; size = 12
$T359048 = -92						; size = 12
$T359047 = -80						; size = 12
$T359046 = -68						; size = 12
$T359045 = -56						; size = 12
$T359044 = -44						; size = 12
$T359043 = -32						; size = 12
$T359042 = -20						; size = 4
_dcstd$145486 = -16					; size = 1
_stdsel$145485 = -15					; size = 1
_stdsel$145389 = -14					; size = 1
_mode$ = -13						; size = 1
__$EHRec$ = -12						; size = 12
_audioStandard$ = 8					; size = 4
?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z PROC ; CSAA7134Card::SetAudioStandard7133, COMDAT
; _this$ = ecx

; 338  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	81 ec 78 03 00
	00		 sub	 esp, 888		; 00000378H
  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001c	33 c5		 xor	 eax, ebp
  0001e	50		 push	 eax
  0001f	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00022	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00028	89 8d 20 fe ff
	ff		 mov	 DWORD PTR _this$[ebp], ecx

; 339  :     // SAA7133 supports three modes of setting audio standards.
; 340  :     // 1. Automatic standard detection.
; 341  :     // 2. Static standard selection.
; 342  :     // 3. Manual setting of standard related attributes. (expert mode)
; 343  :     //
; 344  :     // Expert mode is required to handle the _T("Custom Standard...")
; 345  :     // dialog in CSAA7134Source which allows for the setting of user
; 346  :     // chosen frequency, deemphasis mode, etc.
; 347  :     //
; 348  :     // Automatic standard detection mode requires the detection
; 349  :     // process to be restarted every time the SIF input audio standard
; 350  :     // changes.  (i.e. Change change, video format change, input change)
; 351  :     // This is too much effort at this point.
; 352  : 
; 353  :     enum
; 354  :     {
; 355  :         SAA7133_DDEP_AUTO,
; 356  :         SAA7133_DDEP_STATIC,
; 357  :         SAA7133_DDEP_EXPERT
; 358  :     };
; 359  : 
; 360  :     // Use static standard select mode for now.  (Maybe change to expert
; 361  :     // mode in future.)
; 362  :     BYTE mode = SAA7133_DDEP_STATIC;

  0002e	c6 45 f3 01	 mov	 BYTE PTR _mode$[ebp], 1

; 363  : 
; 364  :     if (mode == SAA7133_DDEP_STATIC)

  00032	0f b6 45 f3	 movzx	 eax, BYTE PTR _mode$[ebp]
  00036	83 f8 01	 cmp	 eax, 1
  00039	0f 85 94 05 00
	00		 jne	 $LN26@SetAudioSt@8

; 365  :     {
; 366  :         BYTE stdsel = 0x00;

  0003f	c6 45 f2 00	 mov	 BYTE PTR _stdsel$145389[ebp], 0

; 367  : 
; 368  :         // The ones with no match are probably not even used for me to worry
; 369  :         // about.  Expert mode could be used but expert mode setting functions
; 370  :         // are untested.
; 371  :         switch (audioStandard)

  00043	8b 4d 08	 mov	 ecx, DWORD PTR _audioStandard$[ebp]
  00046	89 8d 1c fe ff
	ff		 mov	 DWORD PTR tv66[ebp], ecx
  0004c	83 bd 1c fe ff
	ff 0f		 cmp	 DWORD PTR tv66[ebp], 15	; 0000000fH
  00053	77 51		 ja	 SHORT $LN24@SetAudioSt@8
  00055	8b 95 1c fe ff
	ff		 mov	 edx, DWORD PTR tv66[ebp]
  0005b	ff 24 95 00 00
	00 00		 jmp	 DWORD PTR $LN73@SetAudioSt@8[edx*4]
$LN23@SetAudioSt@8:

; 372  :         {
; 373  :         case AUDIOSTANDARD_BG_DUAL_FM:
; 374  :             stdsel = 0x04;

  00062	c6 45 f2 04	 mov	 BYTE PTR _stdsel$145389[ebp], 4

; 375  :             break;

  00066	eb 3e		 jmp	 SHORT $LN24@SetAudioSt@8
$LN22@SetAudioSt@8:

; 376  :         case AUDIOSTANDARD_DK1_DUAL_FM:
; 377  :         case AUDIOSTANDARD_DK_FM_MONO: // no match
; 378  :             stdsel = 0x06;

  00068	c6 45 f2 06	 mov	 BYTE PTR _stdsel$145389[ebp], 6

; 379  :             break;

  0006c	eb 38		 jmp	 SHORT $LN24@SetAudioSt@8
$LN21@SetAudioSt@8:

; 380  :         case AUDIOSTANDARD_DK2_DUAL_FM:
; 381  :             stdsel = 0x07;

  0006e	c6 45 f2 07	 mov	 BYTE PTR _stdsel$145389[ebp], 7

; 382  :             break;

  00072	eb 32		 jmp	 SHORT $LN24@SetAudioSt@8
$LN20@SetAudioSt@8:

; 383  :         case AUDIOSTANDARD_DK3_DUAL_FM:
; 384  :             stdsel = 0x08;

  00074	c6 45 f2 08	 mov	 BYTE PTR _stdsel$145389[ebp], 8

; 385  :             break;

  00078	eb 2c		 jmp	 SHORT $LN24@SetAudioSt@8
$LN19@SetAudioSt@8:

; 386  :         case AUDIOSTANDARD_M_DUAL_FM: // no match
; 387  :             stdsel = 0x0c; // M Korea

  0007a	c6 45 f2 0c	 mov	 BYTE PTR _stdsel$145389[ebp], 12 ; 0000000cH

; 388  :             break;

  0007e	eb 26		 jmp	 SHORT $LN24@SetAudioSt@8
$LN18@SetAudioSt@8:

; 389  :         case AUDIOSTANDARD_BG_NICAM_FM:
; 390  :             stdsel = 0x05;

  00080	c6 45 f2 05	 mov	 BYTE PTR _stdsel$145389[ebp], 5
$LN17@SetAudioSt@8:

; 391  :         case AUDIOSTANDARD_L_NICAM_AM:
; 392  :             stdsel = 0x0a;

  00084	c6 45 f2 0a	 mov	 BYTE PTR _stdsel$145389[ebp], 10 ; 0000000aH

; 393  :             break;

  00088	eb 1c		 jmp	 SHORT $LN24@SetAudioSt@8
$LN16@SetAudioSt@8:

; 394  :         case AUDIOSTANDARD_I_NICAM_FM:
; 395  :             stdsel = 0x0b;

  0008a	c6 45 f2 0b	 mov	 BYTE PTR _stdsel$145389[ebp], 11 ; 0000000bH

; 396  :             break;

  0008e	eb 16		 jmp	 SHORT $LN24@SetAudioSt@8
$LN15@SetAudioSt@8:

; 397  :         case AUDIOSTANDARD_DK_NICAM_FM:
; 398  :         case AUDIOSTANDARD_DK_NICAM_FM_HDEV2: // no match
; 399  :         case AUDIOSTANDARD_DK_NICAM_FM_HDEV3: // no match
; 400  :             stdsel = 0x09;

  00090	c6 45 f2 09	 mov	 BYTE PTR _stdsel$145389[ebp], 9

; 401  :             break;

  00094	eb 10		 jmp	 SHORT $LN24@SetAudioSt@8
$LN14@SetAudioSt@8:

; 402  :         case AUDIOSTANDARD_M_BTSC:
; 403  :         case AUDIOSTANDARD_M_BTSC_MONO: // no match
; 404  :             stdsel = 0x0d;

  00096	c6 45 f2 0d	 mov	 BYTE PTR _stdsel$145389[ebp], 13 ; 0000000dH

; 405  :             break;

  0009a	eb 0a		 jmp	 SHORT $LN24@SetAudioSt@8
$LN13@SetAudioSt@8:

; 406  :         case AUDIOSTANDARD_M_EIAJ:
; 407  :             stdsel = 0x0e;

  0009c	c6 45 f2 0e	 mov	 BYTE PTR _stdsel$145389[ebp], 14 ; 0000000eH

; 408  :             break;

  000a0	eb 04		 jmp	 SHORT $LN24@SetAudioSt@8
$LN12@SetAudioSt@8:

; 409  :         case AUDIOSTANDARD_FM_RADIO:
; 410  :             stdsel = 0x0f; // 10.7 MHz, 50 us

  000a2	c6 45 f2 0f	 mov	 BYTE PTR _stdsel$145389[ebp], 15 ; 0000000fH
$LN24@SetAudioSt@8:

; 411  :             break;
; 412  :         case AUDIOSTANDARD_SAT: // no match
; 413  :         case AUDIOSTANDARD_SAT_MONO: // no match
; 414  :         case AUDIOSTANDARD_SAT_ADR: // no match
; 415  :             break;
; 416  :         }
; 417  :         // Static Standard Select
; 418  :         WriteDSPData7133(SAA7133_A_EASY_PROGRAMMING,
; 419  :             _B(SAA7133_A_EASY_PROGRAMMING_EPMODE, 0x1)|
; 420  :             _B(SAA7133_A_EASY_PROGRAMMING_STDSEL, stdsel)|
; 421  :             _B(SAA7133_A_EASY_PROGRAMMING_REST, 0)|
; 422  :             _B(SAA7133_A_EASY_PROGRAMMING_OVMADPT, 0)|
; 423  :             _B(SAA7133_A_EASY_PROGRAMMING_DDMUTE, 0)|
; 424  :             _B(SAA7133_A_EASY_PROGRAMMING_FILTBW, 0x0)|
; 425  :             _B(SAA7133_A_EASY_PROGRAMMING_IDMOD, 0x0)|
; 426  :             _B(SAA7133_A_EASY_PROGRAMMING_SAPDBX, 0)|
; 427  :             _B(SAA7133_A_EASY_PROGRAMMING_FHPAL, 0)|
; 428  :             _B(SAA7133_A_EASY_PROGRAMMING_OVMTHR, 0x0));

  000a6	6a 01		 push	 1
  000a8	6a 03		 push	 3
  000aa	6a 00		 push	 0
  000ac	8d 4d e0	 lea	 ecx, DWORD PTR $T359043[ebp]
  000af	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  000b4	89 85 18 fe ff
	ff		 mov	 DWORD PTR tv697[ebp], eax
  000ba	8b 85 18 fe ff
	ff		 mov	 eax, DWORD PTR tv697[ebp]
  000c0	89 85 14 fe ff
	ff		 mov	 DWORD PTR tv610[ebp], eax
  000c6	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  000cd	8b 8d 14 fe ff
	ff		 mov	 ecx, DWORD PTR tv610[ebp]
  000d3	89 8d 10 fe ff
	ff		 mov	 DWORD PTR tv84[ebp], ecx
  000d9	0f b6 55 f2	 movzx	 edx, BYTE PTR _stdsel$145389[ebp]
  000dd	52		 push	 edx
  000de	6a 1f		 push	 31			; 0000001fH
  000e0	6a 02		 push	 2
  000e2	8d 4d d4	 lea	 ecx, DWORD PTR $T359044[ebp]
  000e5	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  000ea	89 85 0c fe ff
	ff		 mov	 DWORD PTR tv698[ebp], eax
  000f0	8b 85 0c fe ff
	ff		 mov	 eax, DWORD PTR tv698[ebp]
  000f6	89 85 08 fe ff
	ff		 mov	 DWORD PTR tv612[ebp], eax
  000fc	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  00100	8b 8d 08 fe ff
	ff		 mov	 ecx, DWORD PTR tv612[ebp]
  00106	51		 push	 ecx
  00107	8d 55 c8	 lea	 edx, DWORD PTR $T359045[ebp]
  0010a	52		 push	 edx
  0010b	8b 85 10 fe ff
	ff		 mov	 eax, DWORD PTR tv84[ebp]
  00111	8b 10		 mov	 edx, DWORD PTR [eax]
  00113	8b 8d 10 fe ff
	ff		 mov	 ecx, DWORD PTR tv84[ebp]
  00119	8b 42 2c	 mov	 eax, DWORD PTR [edx+44]
  0011c	ff d0		 call	 eax
  0011e	89 85 04 fe ff
	ff		 mov	 DWORD PTR tv699[ebp], eax
  00124	8b 8d 04 fe ff
	ff		 mov	 ecx, DWORD PTR tv699[ebp]
  0012a	89 8d 00 fe ff
	ff		 mov	 DWORD PTR tv614[ebp], ecx
  00130	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  00134	8b 95 00 fe ff
	ff		 mov	 edx, DWORD PTR tv614[ebp]
  0013a	89 95 fc fd ff
	ff		 mov	 DWORD PTR tv133[ebp], edx
  00140	6a 00		 push	 0
  00142	6a 01		 push	 1
  00144	6a 07		 push	 7
  00146	8d 4d bc	 lea	 ecx, DWORD PTR $T359046[ebp]
  00149	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  0014e	89 85 f8 fd ff
	ff		 mov	 DWORD PTR tv700[ebp], eax
  00154	8b 85 f8 fd ff
	ff		 mov	 eax, DWORD PTR tv700[ebp]
  0015a	89 85 f4 fd ff
	ff		 mov	 DWORD PTR tv616[ebp], eax
  00160	c6 45 fc 03	 mov	 BYTE PTR __$EHRec$[ebp+8], 3
  00164	8b 8d f4 fd ff
	ff		 mov	 ecx, DWORD PTR tv616[ebp]
  0016a	51		 push	 ecx
  0016b	8d 55 b0	 lea	 edx, DWORD PTR $T359047[ebp]
  0016e	52		 push	 edx
  0016f	8b 85 fc fd ff
	ff		 mov	 eax, DWORD PTR tv133[ebp]
  00175	8b 10		 mov	 edx, DWORD PTR [eax]
  00177	8b 8d fc fd ff
	ff		 mov	 ecx, DWORD PTR tv133[ebp]
  0017d	8b 42 2c	 mov	 eax, DWORD PTR [edx+44]
  00180	ff d0		 call	 eax
  00182	89 85 f0 fd ff
	ff		 mov	 DWORD PTR tv701[ebp], eax
  00188	8b 8d f0 fd ff
	ff		 mov	 ecx, DWORD PTR tv701[ebp]
  0018e	89 8d ec fd ff
	ff		 mov	 DWORD PTR tv618[ebp], ecx
  00194	c6 45 fc 04	 mov	 BYTE PTR __$EHRec$[ebp+8], 4
  00198	8b 95 ec fd ff
	ff		 mov	 edx, DWORD PTR tv618[ebp]
  0019e	89 95 e8 fd ff
	ff		 mov	 DWORD PTR tv149[ebp], edx
  001a4	6a 00		 push	 0
  001a6	6a 01		 push	 1
  001a8	6a 08		 push	 8
  001aa	8d 4d a4	 lea	 ecx, DWORD PTR $T359048[ebp]
  001ad	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  001b2	89 85 e4 fd ff
	ff		 mov	 DWORD PTR tv702[ebp], eax
  001b8	8b 85 e4 fd ff
	ff		 mov	 eax, DWORD PTR tv702[ebp]
  001be	89 85 e0 fd ff
	ff		 mov	 DWORD PTR tv620[ebp], eax
  001c4	c6 45 fc 05	 mov	 BYTE PTR __$EHRec$[ebp+8], 5
  001c8	8b 8d e0 fd ff
	ff		 mov	 ecx, DWORD PTR tv620[ebp]
  001ce	51		 push	 ecx
  001cf	8d 55 98	 lea	 edx, DWORD PTR $T359049[ebp]
  001d2	52		 push	 edx
  001d3	8b 85 e8 fd ff
	ff		 mov	 eax, DWORD PTR tv149[ebp]
  001d9	8b 10		 mov	 edx, DWORD PTR [eax]
  001db	8b 8d e8 fd ff
	ff		 mov	 ecx, DWORD PTR tv149[ebp]
  001e1	8b 42 2c	 mov	 eax, DWORD PTR [edx+44]
  001e4	ff d0		 call	 eax
  001e6	89 85 dc fd ff
	ff		 mov	 DWORD PTR tv703[ebp], eax
  001ec	8b 8d dc fd ff
	ff		 mov	 ecx, DWORD PTR tv703[ebp]
  001f2	89 8d d8 fd ff
	ff		 mov	 DWORD PTR tv622[ebp], ecx
  001f8	c6 45 fc 06	 mov	 BYTE PTR __$EHRec$[ebp+8], 6
  001fc	8b 95 d8 fd ff
	ff		 mov	 edx, DWORD PTR tv622[ebp]
  00202	89 95 d4 fd ff
	ff		 mov	 DWORD PTR tv165[ebp], edx
  00208	6a 00		 push	 0
  0020a	6a 01		 push	 1
  0020c	6a 09		 push	 9
  0020e	8d 4d 8c	 lea	 ecx, DWORD PTR $T359050[ebp]
  00211	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  00216	89 85 d0 fd ff
	ff		 mov	 DWORD PTR tv704[ebp], eax
  0021c	8b 85 d0 fd ff
	ff		 mov	 eax, DWORD PTR tv704[ebp]
  00222	89 85 cc fd ff
	ff		 mov	 DWORD PTR tv624[ebp], eax
  00228	c6 45 fc 07	 mov	 BYTE PTR __$EHRec$[ebp+8], 7
  0022c	8b 8d cc fd ff
	ff		 mov	 ecx, DWORD PTR tv624[ebp]
  00232	51		 push	 ecx
  00233	8d 55 80	 lea	 edx, DWORD PTR $T359051[ebp]
  00236	52		 push	 edx
  00237	8b 85 d4 fd ff
	ff		 mov	 eax, DWORD PTR tv165[ebp]
  0023d	8b 10		 mov	 edx, DWORD PTR [eax]
  0023f	8b 8d d4 fd ff
	ff		 mov	 ecx, DWORD PTR tv165[ebp]
  00245	8b 42 2c	 mov	 eax, DWORD PTR [edx+44]
  00248	ff d0		 call	 eax
  0024a	89 85 c8 fd ff
	ff		 mov	 DWORD PTR tv705[ebp], eax
  00250	8b 8d c8 fd ff
	ff		 mov	 ecx, DWORD PTR tv705[ebp]
  00256	89 8d c4 fd ff
	ff		 mov	 DWORD PTR tv626[ebp], ecx
  0025c	c6 45 fc 08	 mov	 BYTE PTR __$EHRec$[ebp+8], 8
  00260	8b 95 c4 fd ff
	ff		 mov	 edx, DWORD PTR tv626[ebp]
  00266	89 95 c0 fd ff
	ff		 mov	 DWORD PTR tv181[ebp], edx
  0026c	6a 00		 push	 0
  0026e	6a 03		 push	 3
  00270	6a 0a		 push	 10			; 0000000aH
  00272	8d 8d 74 ff ff
	ff		 lea	 ecx, DWORD PTR $T359052[ebp]
  00278	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  0027d	89 85 bc fd ff
	ff		 mov	 DWORD PTR tv706[ebp], eax
  00283	8b 85 bc fd ff
	ff		 mov	 eax, DWORD PTR tv706[ebp]
  00289	89 85 b8 fd ff
	ff		 mov	 DWORD PTR tv628[ebp], eax
  0028f	c6 45 fc 09	 mov	 BYTE PTR __$EHRec$[ebp+8], 9
  00293	8b 8d b8 fd ff
	ff		 mov	 ecx, DWORD PTR tv628[ebp]
  00299	51		 push	 ecx
  0029a	8d 95 68 ff ff
	ff		 lea	 edx, DWORD PTR $T359053[ebp]
  002a0	52		 push	 edx
  002a1	8b 85 c0 fd ff
	ff		 mov	 eax, DWORD PTR tv181[ebp]
  002a7	8b 10		 mov	 edx, DWORD PTR [eax]
  002a9	8b 8d c0 fd ff
	ff		 mov	 ecx, DWORD PTR tv181[ebp]
  002af	8b 42 2c	 mov	 eax, DWORD PTR [edx+44]
  002b2	ff d0		 call	 eax
  002b4	89 85 b4 fd ff
	ff		 mov	 DWORD PTR tv707[ebp], eax
  002ba	8b 8d b4 fd ff
	ff		 mov	 ecx, DWORD PTR tv707[ebp]
  002c0	89 8d b0 fd ff
	ff		 mov	 DWORD PTR tv630[ebp], ecx
  002c6	c6 45 fc 0a	 mov	 BYTE PTR __$EHRec$[ebp+8], 10 ; 0000000aH
  002ca	8b 95 b0 fd ff
	ff		 mov	 edx, DWORD PTR tv630[ebp]
  002d0	89 95 ac fd ff
	ff		 mov	 DWORD PTR tv197[ebp], edx
  002d6	6a 00		 push	 0
  002d8	6a 03		 push	 3
  002da	6a 0c		 push	 12			; 0000000cH
  002dc	8d 8d 5c ff ff
	ff		 lea	 ecx, DWORD PTR $T359054[ebp]
  002e2	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  002e7	89 85 a8 fd ff
	ff		 mov	 DWORD PTR tv708[ebp], eax
  002ed	8b 85 a8 fd ff
	ff		 mov	 eax, DWORD PTR tv708[ebp]
  002f3	89 85 a4 fd ff
	ff		 mov	 DWORD PTR tv632[ebp], eax
  002f9	c6 45 fc 0b	 mov	 BYTE PTR __$EHRec$[ebp+8], 11 ; 0000000bH
  002fd	8b 8d a4 fd ff
	ff		 mov	 ecx, DWORD PTR tv632[ebp]
  00303	51		 push	 ecx
  00304	8d 95 50 ff ff
	ff		 lea	 edx, DWORD PTR $T359055[ebp]
  0030a	52		 push	 edx
  0030b	8b 85 ac fd ff
	ff		 mov	 eax, DWORD PTR tv197[ebp]
  00311	8b 10		 mov	 edx, DWORD PTR [eax]
  00313	8b 8d ac fd ff
	ff		 mov	 ecx, DWORD PTR tv197[ebp]
  00319	8b 42 2c	 mov	 eax, DWORD PTR [edx+44]
  0031c	ff d0		 call	 eax
  0031e	89 85 a0 fd ff
	ff		 mov	 DWORD PTR tv709[ebp], eax
  00324	8b 8d a0 fd ff
	ff		 mov	 ecx, DWORD PTR tv709[ebp]
  0032a	89 8d 9c fd ff
	ff		 mov	 DWORD PTR tv634[ebp], ecx
  00330	c6 45 fc 0c	 mov	 BYTE PTR __$EHRec$[ebp+8], 12 ; 0000000cH
  00334	8b 95 9c fd ff
	ff		 mov	 edx, DWORD PTR tv634[ebp]
  0033a	89 95 98 fd ff
	ff		 mov	 DWORD PTR tv213[ebp], edx
  00340	6a 00		 push	 0
  00342	6a 01		 push	 1
  00344	6a 10		 push	 16			; 00000010H
  00346	8d 8d 44 ff ff
	ff		 lea	 ecx, DWORD PTR $T359056[ebp]
  0034c	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  00351	89 85 94 fd ff
	ff		 mov	 DWORD PTR tv710[ebp], eax
  00357	8b 85 94 fd ff
	ff		 mov	 eax, DWORD PTR tv710[ebp]
  0035d	89 85 90 fd ff
	ff		 mov	 DWORD PTR tv636[ebp], eax
  00363	c6 45 fc 0d	 mov	 BYTE PTR __$EHRec$[ebp+8], 13 ; 0000000dH
  00367	8b 8d 90 fd ff
	ff		 mov	 ecx, DWORD PTR tv636[ebp]
  0036d	51		 push	 ecx
  0036e	8d 95 38 ff ff
	ff		 lea	 edx, DWORD PTR $T359057[ebp]
  00374	52		 push	 edx
  00375	8b 85 98 fd ff
	ff		 mov	 eax, DWORD PTR tv213[ebp]
  0037b	8b 10		 mov	 edx, DWORD PTR [eax]
  0037d	8b 8d 98 fd ff
	ff		 mov	 ecx, DWORD PTR tv213[ebp]
  00383	8b 42 2c	 mov	 eax, DWORD PTR [edx+44]
  00386	ff d0		 call	 eax
  00388	89 85 8c fd ff
	ff		 mov	 DWORD PTR tv711[ebp], eax
  0038e	8b 8d 8c fd ff
	ff		 mov	 ecx, DWORD PTR tv711[ebp]
  00394	89 8d 88 fd ff
	ff		 mov	 DWORD PTR tv638[ebp], ecx
  0039a	c6 45 fc 0e	 mov	 BYTE PTR __$EHRec$[ebp+8], 14 ; 0000000eH
  0039e	8b 95 88 fd ff
	ff		 mov	 edx, DWORD PTR tv638[ebp]
  003a4	89 95 84 fd ff
	ff		 mov	 DWORD PTR tv229[ebp], edx
  003aa	6a 00		 push	 0
  003ac	6a 01		 push	 1
  003ae	6a 11		 push	 17			; 00000011H
  003b0	8d 8d 2c ff ff
	ff		 lea	 ecx, DWORD PTR $T359058[ebp]
  003b6	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  003bb	89 85 80 fd ff
	ff		 mov	 DWORD PTR tv712[ebp], eax
  003c1	8b 85 80 fd ff
	ff		 mov	 eax, DWORD PTR tv712[ebp]
  003c7	89 85 7c fd ff
	ff		 mov	 DWORD PTR tv640[ebp], eax
  003cd	c6 45 fc 0f	 mov	 BYTE PTR __$EHRec$[ebp+8], 15 ; 0000000fH
  003d1	8b 8d 7c fd ff
	ff		 mov	 ecx, DWORD PTR tv640[ebp]
  003d7	51		 push	 ecx
  003d8	8d 95 20 ff ff
	ff		 lea	 edx, DWORD PTR $T359059[ebp]
  003de	52		 push	 edx
  003df	8b 85 84 fd ff
	ff		 mov	 eax, DWORD PTR tv229[ebp]
  003e5	8b 10		 mov	 edx, DWORD PTR [eax]
  003e7	8b 8d 84 fd ff
	ff		 mov	 ecx, DWORD PTR tv229[ebp]
  003ed	8b 42 2c	 mov	 eax, DWORD PTR [edx+44]
  003f0	ff d0		 call	 eax
  003f2	89 85 78 fd ff
	ff		 mov	 DWORD PTR tv713[ebp], eax
  003f8	8b 8d 78 fd ff
	ff		 mov	 ecx, DWORD PTR tv713[ebp]
  003fe	89 8d 74 fd ff
	ff		 mov	 DWORD PTR tv642[ebp], ecx
  00404	c6 45 fc 10	 mov	 BYTE PTR __$EHRec$[ebp+8], 16 ; 00000010H
  00408	8b 95 74 fd ff
	ff		 mov	 edx, DWORD PTR tv642[ebp]
  0040e	89 95 70 fd ff
	ff		 mov	 DWORD PTR tv245[ebp], edx
  00414	6a 00		 push	 0
  00416	6a 03		 push	 3
  00418	6a 12		 push	 18			; 00000012H
  0041a	8d 8d 14 ff ff
	ff		 lea	 ecx, DWORD PTR $T359060[ebp]
  00420	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  00425	89 85 6c fd ff
	ff		 mov	 DWORD PTR tv714[ebp], eax
  0042b	8b 85 6c fd ff
	ff		 mov	 eax, DWORD PTR tv714[ebp]
  00431	89 85 68 fd ff
	ff		 mov	 DWORD PTR tv644[ebp], eax
  00437	c6 45 fc 11	 mov	 BYTE PTR __$EHRec$[ebp+8], 17 ; 00000011H
  0043b	83 ec 0c	 sub	 esp, 12			; 0000000cH
  0043e	8b cc		 mov	 ecx, esp
  00440	89 65 ec	 mov	 DWORD PTR $T359042[ebp], esp
  00443	8b 95 68 fd ff
	ff		 mov	 edx, DWORD PTR tv644[ebp]
  00449	52		 push	 edx
  0044a	51		 push	 ecx
  0044b	8b 85 70 fd ff
	ff		 mov	 eax, DWORD PTR tv245[ebp]
  00451	8b 10		 mov	 edx, DWORD PTR [eax]
  00453	8b 8d 70 fd ff
	ff		 mov	 ecx, DWORD PTR tv245[ebp]
  00459	8b 42 2c	 mov	 eax, DWORD PTR [edx+44]
  0045c	ff d0		 call	 eax
  0045e	89 85 64 fd ff
	ff		 mov	 DWORD PTR tv715[ebp], eax
  00464	8b 8d 64 fd ff
	ff		 mov	 ecx, DWORD PTR tv715[ebp]
  0046a	89 8d 60 fd ff
	ff		 mov	 DWORD PTR tv647[ebp], ecx
  00470	c6 45 fc 12	 mov	 BYTE PTR __$EHRec$[ebp+8], 18 ; 00000012H
  00474	68 ff ff 0f 00	 push	 1048575			; 000fffffH
  00479	68 54 04 00 00	 push	 1108			; 00000454H
  0047e	c6 45 fc 11	 mov	 BYTE PTR __$EHRec$[ebp+8], 17 ; 00000011H
  00482	8b 8d 20 fe ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00488	e8 00 00 00 00	 call	 ?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z ; CSAA7134Card::WriteDSPData7133
  0048d	c6 45 fc 10	 mov	 BYTE PTR __$EHRec$[ebp+8], 16 ; 00000010H
  00491	8d 8d 14 ff ff
	ff		 lea	 ecx, DWORD PTR $T359060[ebp]
  00497	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  0049c	c6 45 fc 0f	 mov	 BYTE PTR __$EHRec$[ebp+8], 15 ; 0000000fH
  004a0	8d 8d 20 ff ff
	ff		 lea	 ecx, DWORD PTR $T359059[ebp]
  004a6	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  004ab	c6 45 fc 0e	 mov	 BYTE PTR __$EHRec$[ebp+8], 14 ; 0000000eH
  004af	8d 8d 2c ff ff
	ff		 lea	 ecx, DWORD PTR $T359058[ebp]
  004b5	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  004ba	c6 45 fc 0d	 mov	 BYTE PTR __$EHRec$[ebp+8], 13 ; 0000000dH
  004be	8d 8d 38 ff ff
	ff		 lea	 ecx, DWORD PTR $T359057[ebp]
  004c4	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  004c9	c6 45 fc 0c	 mov	 BYTE PTR __$EHRec$[ebp+8], 12 ; 0000000cH
  004cd	8d 8d 44 ff ff
	ff		 lea	 ecx, DWORD PTR $T359056[ebp]
  004d3	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  004d8	c6 45 fc 0b	 mov	 BYTE PTR __$EHRec$[ebp+8], 11 ; 0000000bH
  004dc	8d 8d 50 ff ff
	ff		 lea	 ecx, DWORD PTR $T359055[ebp]
  004e2	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  004e7	c6 45 fc 0a	 mov	 BYTE PTR __$EHRec$[ebp+8], 10 ; 0000000aH
  004eb	8d 8d 5c ff ff
	ff		 lea	 ecx, DWORD PTR $T359054[ebp]
  004f1	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  004f6	c6 45 fc 09	 mov	 BYTE PTR __$EHRec$[ebp+8], 9
  004fa	8d 8d 68 ff ff
	ff		 lea	 ecx, DWORD PTR $T359053[ebp]
  00500	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  00505	c6 45 fc 08	 mov	 BYTE PTR __$EHRec$[ebp+8], 8
  00509	8d 8d 74 ff ff
	ff		 lea	 ecx, DWORD PTR $T359052[ebp]
  0050f	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  00514	c6 45 fc 07	 mov	 BYTE PTR __$EHRec$[ebp+8], 7
  00518	8d 4d 80	 lea	 ecx, DWORD PTR $T359051[ebp]
  0051b	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  00520	c6 45 fc 06	 mov	 BYTE PTR __$EHRec$[ebp+8], 6
  00524	8d 4d 8c	 lea	 ecx, DWORD PTR $T359050[ebp]
  00527	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  0052c	c6 45 fc 05	 mov	 BYTE PTR __$EHRec$[ebp+8], 5
  00530	8d 4d 98	 lea	 ecx, DWORD PTR $T359049[ebp]
  00533	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  00538	c6 45 fc 04	 mov	 BYTE PTR __$EHRec$[ebp+8], 4
  0053c	8d 4d a4	 lea	 ecx, DWORD PTR $T359048[ebp]
  0053f	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  00544	c6 45 fc 03	 mov	 BYTE PTR __$EHRec$[ebp+8], 3
  00548	8d 4d b0	 lea	 ecx, DWORD PTR $T359047[ebp]
  0054b	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  00550	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  00554	8d 4d bc	 lea	 ecx, DWORD PTR $T359046[ebp]
  00557	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  0055c	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  00560	8d 4d c8	 lea	 ecx, DWORD PTR $T359045[ebp]
  00563	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  00568	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  0056c	8d 4d d4	 lea	 ecx, DWORD PTR $T359044[ebp]
  0056f	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  00574	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0057b	8d 4d e0	 lea	 ecx, DWORD PTR $T359043[ebp]
  0057e	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector

; 429  : 
; 430  :         // Restart Automatic Standard Detection.
; 431  :         WriteDSPData7133(SAA7133_A_EASY_PROGRAMMING,
; 432  :             _B(SAA7133_A_EASY_PROGRAMMING_REST, 1));

  00583	83 ec 0c	 sub	 esp, 12			; 0000000cH
  00586	8b cc		 mov	 ecx, esp
  00588	89 a5 10 ff ff
	ff		 mov	 DWORD PTR $T359061[ebp], esp
  0058e	6a 01		 push	 1
  00590	6a 01		 push	 1
  00592	6a 07		 push	 7
  00594	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  00599	89 85 5c fd ff
	ff		 mov	 DWORD PTR tv717[ebp], eax
  0059f	8b 95 5c fd ff
	ff		 mov	 edx, DWORD PTR tv717[ebp]
  005a5	89 95 58 fd ff
	ff		 mov	 DWORD PTR tv649[ebp], edx
  005ab	c7 45 fc 13 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 19 ; 00000013H
  005b2	68 ff ff 0f 00	 push	 1048575			; 000fffffH
  005b7	68 54 04 00 00	 push	 1108			; 00000454H
  005bc	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  005c3	8b 8d 20 fe ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  005c9	e8 00 00 00 00	 call	 ?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z ; CSAA7134Card::WriteDSPData7133
  005ce	e9 6d 07 00 00	 jmp	 $LN27@SetAudioSt@8
$LN26@SetAudioSt@8:

; 433  :     }
; 434  :     else if (mode == SAA7133_DDEP_EXPERT)

  005d3	0f b6 45 f3	 movzx	 eax, BYTE PTR _mode$[ebp]
  005d7	83 f8 02	 cmp	 eax, 2
  005da	0f 85 13 01 00
	00		 jne	 $LN9@SetAudioSt@8

; 435  :     {
; 436  :         // DEMDEC expert mode (fully manual).
; 437  :         WriteDSPData7133(SAA7133_A_EASY_PROGRAMMING,
; 438  :             _B(SAA7133_A_EASY_PROGRAMMING_EPMODE, 0x3));

  005e0	83 ec 0c	 sub	 esp, 12			; 0000000cH
  005e3	8b cc		 mov	 ecx, esp
  005e5	89 a5 0c ff ff
	ff		 mov	 DWORD PTR $T359062[ebp], esp
  005eb	6a 03		 push	 3
  005ed	6a 03		 push	 3
  005ef	6a 00		 push	 0
  005f1	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  005f6	89 85 54 fd ff
	ff		 mov	 DWORD PTR tv718[ebp], eax
  005fc	8b 8d 54 fd ff
	ff		 mov	 ecx, DWORD PTR tv718[ebp]
  00602	89 8d 50 fd ff
	ff		 mov	 DWORD PTR tv651[ebp], ecx
  00608	c7 45 fc 14 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 20 ; 00000014H
  0060f	68 ff ff 0f 00	 push	 1048575			; 000fffffH
  00614	68 54 04 00 00	 push	 1108			; 00000454H
  00619	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00620	8b 8d 20 fe ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00626	e8 00 00 00 00	 call	 ?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z ; CSAA7134Card::WriteDSPData7133

; 439  : 
; 440  :         SetAudioCarrier1Freq7133(m_AudioStandards[audioStandard].Carrier1);

  0062b	8b 55 08	 mov	 edx, DWORD PTR _audioStandard$[ebp]
  0062e	6b d2 1c	 imul	 edx, 28			; 0000001cH
  00631	8b 82 04 00 00
	00		 mov	 eax, DWORD PTR ?m_AudioStandards@CSAA7134Common@@1PAUTAudioStandardDefinition@1@A[edx+4]
  00637	50		 push	 eax
  00638	8b 8d 20 fe ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  0063e	e8 00 00 00 00	 call	 ?SetAudioCarrier1Freq7133@CSAA7134Card@@QAEXK@Z ; CSAA7134Card::SetAudioCarrier1Freq7133

; 441  :         SetAudioCarrier2Freq7133(m_AudioStandards[audioStandard].Carrier2);

  00643	8b 4d 08	 mov	 ecx, DWORD PTR _audioStandard$[ebp]
  00646	6b c9 1c	 imul	 ecx, 28			; 0000001cH
  00649	8b 91 08 00 00
	00		 mov	 edx, DWORD PTR ?m_AudioStandards@CSAA7134Common@@1PAUTAudioStandardDefinition@1@A[ecx+8]
  0064f	52		 push	 edx
  00650	8b 8d 20 fe ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00656	e8 00 00 00 00	 call	 ?SetAudioCarrier2Freq7133@CSAA7134Card@@QAEXK@Z ; CSAA7134Card::SetAudioCarrier2Freq7133

; 442  : 
; 443  :         SetAudioCarrier1Mode7133(m_AudioStandards[audioStandard].Carrier1Mode);

  0065b	8b 45 08	 mov	 eax, DWORD PTR _audioStandard$[ebp]
  0065e	6b c0 1c	 imul	 eax, 28			; 0000001cH
  00661	8b 88 0c 00 00
	00		 mov	 ecx, DWORD PTR ?m_AudioStandards@CSAA7134Common@@1PAUTAudioStandardDefinition@1@A[eax+12]
  00667	51		 push	 ecx
  00668	8b 8d 20 fe ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  0066e	e8 00 00 00 00	 call	 ?SetAudioCarrier1Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z ; CSAA7134Card::SetAudioCarrier1Mode7133

; 444  :         SetAudioCarrier2Mode7133(m_AudioStandards[audioStandard].Carrier2Mode);

  00673	8b 55 08	 mov	 edx, DWORD PTR _audioStandard$[ebp]
  00676	6b d2 1c	 imul	 edx, 28			; 0000001cH
  00679	8b 82 10 00 00
	00		 mov	 eax, DWORD PTR ?m_AudioStandards@CSAA7134Common@@1PAUTAudioStandardDefinition@1@A[edx+16]
  0067f	50		 push	 eax
  00680	8b 8d 20 fe ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00686	e8 00 00 00 00	 call	 ?SetAudioCarrier2Mode7133@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z ; CSAA7134Card::SetAudioCarrier2Mode7133

; 445  : 
; 446  :         SetFMDeemphasis7133(m_AudioStandards[audioStandard].Ch1FMDeemphasis);

  0068b	8b 4d 08	 mov	 ecx, DWORD PTR _audioStandard$[ebp]
  0068e	6b c9 1c	 imul	 ecx, 28			; 0000001cH
  00691	8b 91 14 00 00
	00		 mov	 edx, DWORD PTR ?m_AudioStandards@CSAA7134Common@@1PAUTAudioStandardDefinition@1@A[ecx+20]
  00697	52		 push	 edx
  00698	8b 8d 20 fe ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  0069e	e8 00 00 00 00	 call	 ?SetFMDeemphasis7133@CSAA7134Card@@QAEXW4eAudioFMDeemphasis@CSAA7134Common@@@Z ; CSAA7134Card::SetFMDeemphasis7133

; 447  : 
; 448  :         // Restart Automatic Standard Detection.
; 449  :         WriteDSPData7133(SAA7133_A_EASY_PROGRAMMING,
; 450  :             _B(SAA7133_A_EASY_PROGRAMMING_REST, 1));

  006a3	83 ec 0c	 sub	 esp, 12			; 0000000cH
  006a6	8b cc		 mov	 ecx, esp
  006a8	89 a5 08 ff ff
	ff		 mov	 DWORD PTR $T359063[ebp], esp
  006ae	6a 01		 push	 1
  006b0	6a 01		 push	 1
  006b2	6a 07		 push	 7
  006b4	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  006b9	89 85 4c fd ff
	ff		 mov	 DWORD PTR tv719[ebp], eax
  006bf	8b 85 4c fd ff
	ff		 mov	 eax, DWORD PTR tv719[ebp]
  006c5	89 85 48 fd ff
	ff		 mov	 DWORD PTR tv653[ebp], eax
  006cb	c7 45 fc 15 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 21 ; 00000015H
  006d2	68 ff ff 0f 00	 push	 1048575			; 000fffffH
  006d7	68 54 04 00 00	 push	 1108			; 00000454H
  006dc	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  006e3	8b 8d 20 fe ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  006e9	e8 00 00 00 00	 call	 ?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z ; CSAA7134Card::WriteDSPData7133
  006ee	e9 4d 06 00 00	 jmp	 $LN27@SetAudioSt@8
$LN9@SetAudioSt@8:

; 451  :     }
; 452  :     else if (mode == SAA7133_DDEP_AUTO)

  006f3	0f b6 4d f3	 movzx	 ecx, BYTE PTR _mode$[ebp]
  006f7	85 c9		 test	 ecx, ecx
  006f9	0f 85 41 06 00
	00		 jne	 $LN27@SetAudioSt@8

; 453  :     {
; 454  :         // Write Automatic Standard Detection
; 455  :         WriteDSPData7133(SAA7133_A_EASY_PROGRAMMING,
; 456  :             _B(SAA7133_A_EASY_PROGRAMMING_EPMODE, 0x0)|
; 457  :             _B(SAA7133_A_EASY_PROGRAMMING_STDSEL, 0x00)|
; 458  :             _B(SAA7133_A_EASY_PROGRAMMING_REST, 0)|
; 459  :             _B(SAA7133_A_EASY_PROGRAMMING_OVMADPT, 0)|
; 460  :             _B(SAA7133_A_EASY_PROGRAMMING_DDMUTE, 0)|
; 461  :             _B(SAA7133_A_EASY_PROGRAMMING_FILTBW, 0x0)|
; 462  :             _B(SAA7133_A_EASY_PROGRAMMING_IDMOD, 0x0)|
; 463  :             _B(SAA7133_A_EASY_PROGRAMMING_SAPDBX, 0)|
; 464  :             _B(SAA7133_A_EASY_PROGRAMMING_FHPAL, 0)|
; 465  :             _B(SAA7133_A_EASY_PROGRAMMING_OVMTHR, 0x0));

  006ff	6a 00		 push	 0
  00701	6a 03		 push	 3
  00703	6a 00		 push	 0
  00705	8d 8d f8 fe ff
	ff		 lea	 ecx, DWORD PTR $T359065[ebp]
  0070b	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  00710	89 85 44 fd ff
	ff		 mov	 DWORD PTR tv720[ebp], eax
  00716	8b 95 44 fd ff
	ff		 mov	 edx, DWORD PTR tv720[ebp]
  0071c	89 95 40 fd ff
	ff		 mov	 DWORD PTR tv655[ebp], edx
  00722	c7 45 fc 16 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 22 ; 00000016H
  00729	8b 85 40 fd ff
	ff		 mov	 eax, DWORD PTR tv655[ebp]
  0072f	89 85 3c fd ff
	ff		 mov	 DWORD PTR tv366[ebp], eax
  00735	6a 00		 push	 0
  00737	6a 1f		 push	 31			; 0000001fH
  00739	6a 02		 push	 2
  0073b	8d 8d ec fe ff
	ff		 lea	 ecx, DWORD PTR $T359066[ebp]
  00741	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  00746	89 85 38 fd ff
	ff		 mov	 DWORD PTR tv721[ebp], eax
  0074c	8b 8d 38 fd ff
	ff		 mov	 ecx, DWORD PTR tv721[ebp]
  00752	89 8d 34 fd ff
	ff		 mov	 DWORD PTR tv657[ebp], ecx
  00758	c6 45 fc 17	 mov	 BYTE PTR __$EHRec$[ebp+8], 23 ; 00000017H
  0075c	8b 95 34 fd ff
	ff		 mov	 edx, DWORD PTR tv657[ebp]
  00762	52		 push	 edx
  00763	8d 85 e0 fe ff
	ff		 lea	 eax, DWORD PTR $T359067[ebp]
  00769	50		 push	 eax
  0076a	8b 8d 3c fd ff
	ff		 mov	 ecx, DWORD PTR tv366[ebp]
  00770	8b 11		 mov	 edx, DWORD PTR [ecx]
  00772	8b 8d 3c fd ff
	ff		 mov	 ecx, DWORD PTR tv366[ebp]
  00778	8b 42 2c	 mov	 eax, DWORD PTR [edx+44]
  0077b	ff d0		 call	 eax
  0077d	89 85 30 fd ff
	ff		 mov	 DWORD PTR tv722[ebp], eax
  00783	8b 8d 30 fd ff
	ff		 mov	 ecx, DWORD PTR tv722[ebp]
  00789	89 8d 2c fd ff
	ff		 mov	 DWORD PTR tv659[ebp], ecx
  0078f	c6 45 fc 18	 mov	 BYTE PTR __$EHRec$[ebp+8], 24 ; 00000018H
  00793	8b 95 2c fd ff
	ff		 mov	 edx, DWORD PTR tv659[ebp]
  00799	89 95 28 fd ff
	ff		 mov	 DWORD PTR tv382[ebp], edx
  0079f	6a 00		 push	 0
  007a1	6a 01		 push	 1
  007a3	6a 07		 push	 7
  007a5	8d 8d d4 fe ff
	ff		 lea	 ecx, DWORD PTR $T359068[ebp]
  007ab	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  007b0	89 85 24 fd ff
	ff		 mov	 DWORD PTR tv723[ebp], eax
  007b6	8b 85 24 fd ff
	ff		 mov	 eax, DWORD PTR tv723[ebp]
  007bc	89 85 20 fd ff
	ff		 mov	 DWORD PTR tv661[ebp], eax
  007c2	c6 45 fc 19	 mov	 BYTE PTR __$EHRec$[ebp+8], 25 ; 00000019H
  007c6	8b 8d 20 fd ff
	ff		 mov	 ecx, DWORD PTR tv661[ebp]
  007cc	51		 push	 ecx
  007cd	8d 95 c8 fe ff
	ff		 lea	 edx, DWORD PTR $T359069[ebp]
  007d3	52		 push	 edx
  007d4	8b 85 28 fd ff
	ff		 mov	 eax, DWORD PTR tv382[ebp]
  007da	8b 10		 mov	 edx, DWORD PTR [eax]
  007dc	8b 8d 28 fd ff
	ff		 mov	 ecx, DWORD PTR tv382[ebp]
  007e2	8b 42 2c	 mov	 eax, DWORD PTR [edx+44]
  007e5	ff d0		 call	 eax
  007e7	89 85 1c fd ff
	ff		 mov	 DWORD PTR tv724[ebp], eax
  007ed	8b 8d 1c fd ff
	ff		 mov	 ecx, DWORD PTR tv724[ebp]
  007f3	89 8d 18 fd ff
	ff		 mov	 DWORD PTR tv663[ebp], ecx
  007f9	c6 45 fc 1a	 mov	 BYTE PTR __$EHRec$[ebp+8], 26 ; 0000001aH
  007fd	8b 95 18 fd ff
	ff		 mov	 edx, DWORD PTR tv663[ebp]
  00803	89 95 14 fd ff
	ff		 mov	 DWORD PTR tv398[ebp], edx
  00809	6a 00		 push	 0
  0080b	6a 01		 push	 1
  0080d	6a 08		 push	 8
  0080f	8d 8d bc fe ff
	ff		 lea	 ecx, DWORD PTR $T359070[ebp]
  00815	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  0081a	89 85 10 fd ff
	ff		 mov	 DWORD PTR tv725[ebp], eax
  00820	8b 85 10 fd ff
	ff		 mov	 eax, DWORD PTR tv725[ebp]
  00826	89 85 0c fd ff
	ff		 mov	 DWORD PTR tv665[ebp], eax
  0082c	c6 45 fc 1b	 mov	 BYTE PTR __$EHRec$[ebp+8], 27 ; 0000001bH
  00830	8b 8d 0c fd ff
	ff		 mov	 ecx, DWORD PTR tv665[ebp]
  00836	51		 push	 ecx
  00837	8d 95 b0 fe ff
	ff		 lea	 edx, DWORD PTR $T359071[ebp]
  0083d	52		 push	 edx
  0083e	8b 85 14 fd ff
	ff		 mov	 eax, DWORD PTR tv398[ebp]
  00844	8b 10		 mov	 edx, DWORD PTR [eax]
  00846	8b 8d 14 fd ff
	ff		 mov	 ecx, DWORD PTR tv398[ebp]
  0084c	8b 42 2c	 mov	 eax, DWORD PTR [edx+44]
  0084f	ff d0		 call	 eax
  00851	89 85 08 fd ff
	ff		 mov	 DWORD PTR tv726[ebp], eax
  00857	8b 8d 08 fd ff
	ff		 mov	 ecx, DWORD PTR tv726[ebp]
  0085d	89 8d 04 fd ff
	ff		 mov	 DWORD PTR tv667[ebp], ecx
  00863	c6 45 fc 1c	 mov	 BYTE PTR __$EHRec$[ebp+8], 28 ; 0000001cH
  00867	8b 95 04 fd ff
	ff		 mov	 edx, DWORD PTR tv667[ebp]
  0086d	89 95 00 fd ff
	ff		 mov	 DWORD PTR tv414[ebp], edx
  00873	6a 00		 push	 0
  00875	6a 01		 push	 1
  00877	6a 09		 push	 9
  00879	8d 8d a4 fe ff
	ff		 lea	 ecx, DWORD PTR $T359072[ebp]
  0087f	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  00884	89 85 fc fc ff
	ff		 mov	 DWORD PTR tv727[ebp], eax
  0088a	8b 85 fc fc ff
	ff		 mov	 eax, DWORD PTR tv727[ebp]
  00890	89 85 f8 fc ff
	ff		 mov	 DWORD PTR tv669[ebp], eax
  00896	c6 45 fc 1d	 mov	 BYTE PTR __$EHRec$[ebp+8], 29 ; 0000001dH
  0089a	8b 8d f8 fc ff
	ff		 mov	 ecx, DWORD PTR tv669[ebp]
  008a0	51		 push	 ecx
  008a1	8d 95 98 fe ff
	ff		 lea	 edx, DWORD PTR $T359073[ebp]
  008a7	52		 push	 edx
  008a8	8b 85 00 fd ff
	ff		 mov	 eax, DWORD PTR tv414[ebp]
  008ae	8b 10		 mov	 edx, DWORD PTR [eax]
  008b0	8b 8d 00 fd ff
	ff		 mov	 ecx, DWORD PTR tv414[ebp]
  008b6	8b 42 2c	 mov	 eax, DWORD PTR [edx+44]
  008b9	ff d0		 call	 eax
  008bb	89 85 f4 fc ff
	ff		 mov	 DWORD PTR tv728[ebp], eax
  008c1	8b 8d f4 fc ff
	ff		 mov	 ecx, DWORD PTR tv728[ebp]
  008c7	89 8d f0 fc ff
	ff		 mov	 DWORD PTR tv671[ebp], ecx
  008cd	c6 45 fc 1e	 mov	 BYTE PTR __$EHRec$[ebp+8], 30 ; 0000001eH
  008d1	8b 95 f0 fc ff
	ff		 mov	 edx, DWORD PTR tv671[ebp]
  008d7	89 95 ec fc ff
	ff		 mov	 DWORD PTR tv462[ebp], edx
  008dd	6a 00		 push	 0
  008df	6a 03		 push	 3
  008e1	6a 0a		 push	 10			; 0000000aH
  008e3	8d 8d 8c fe ff
	ff		 lea	 ecx, DWORD PTR $T359074[ebp]
  008e9	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  008ee	89 85 e8 fc ff
	ff		 mov	 DWORD PTR tv729[ebp], eax
  008f4	8b 85 e8 fc ff
	ff		 mov	 eax, DWORD PTR tv729[ebp]
  008fa	89 85 e4 fc ff
	ff		 mov	 DWORD PTR tv673[ebp], eax
  00900	c6 45 fc 1f	 mov	 BYTE PTR __$EHRec$[ebp+8], 31 ; 0000001fH
  00904	8b 8d e4 fc ff
	ff		 mov	 ecx, DWORD PTR tv673[ebp]
  0090a	51		 push	 ecx
  0090b	8d 95 80 fe ff
	ff		 lea	 edx, DWORD PTR $T359075[ebp]
  00911	52		 push	 edx
  00912	8b 85 ec fc ff
	ff		 mov	 eax, DWORD PTR tv462[ebp]
  00918	8b 10		 mov	 edx, DWORD PTR [eax]
  0091a	8b 8d ec fc ff
	ff		 mov	 ecx, DWORD PTR tv462[ebp]
  00920	8b 42 2c	 mov	 eax, DWORD PTR [edx+44]
  00923	ff d0		 call	 eax
  00925	89 85 e0 fc ff
	ff		 mov	 DWORD PTR tv730[ebp], eax
  0092b	8b 8d e0 fc ff
	ff		 mov	 ecx, DWORD PTR tv730[ebp]
  00931	89 8d dc fc ff
	ff		 mov	 DWORD PTR tv675[ebp], ecx
  00937	c6 45 fc 20	 mov	 BYTE PTR __$EHRec$[ebp+8], 32 ; 00000020H
  0093b	8b 95 dc fc ff
	ff		 mov	 edx, DWORD PTR tv675[ebp]
  00941	89 95 d8 fc ff
	ff		 mov	 DWORD PTR tv478[ebp], edx
  00947	6a 00		 push	 0
  00949	6a 03		 push	 3
  0094b	6a 0c		 push	 12			; 0000000cH
  0094d	8d 8d 74 fe ff
	ff		 lea	 ecx, DWORD PTR $T359076[ebp]
  00953	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  00958	89 85 d4 fc ff
	ff		 mov	 DWORD PTR tv731[ebp], eax
  0095e	8b 85 d4 fc ff
	ff		 mov	 eax, DWORD PTR tv731[ebp]
  00964	89 85 d0 fc ff
	ff		 mov	 DWORD PTR tv677[ebp], eax
  0096a	c6 45 fc 21	 mov	 BYTE PTR __$EHRec$[ebp+8], 33 ; 00000021H
  0096e	8b 8d d0 fc ff
	ff		 mov	 ecx, DWORD PTR tv677[ebp]
  00974	51		 push	 ecx
  00975	8d 95 68 fe ff
	ff		 lea	 edx, DWORD PTR $T359077[ebp]
  0097b	52		 push	 edx
  0097c	8b 85 d8 fc ff
	ff		 mov	 eax, DWORD PTR tv478[ebp]
  00982	8b 10		 mov	 edx, DWORD PTR [eax]
  00984	8b 8d d8 fc ff
	ff		 mov	 ecx, DWORD PTR tv478[ebp]
  0098a	8b 42 2c	 mov	 eax, DWORD PTR [edx+44]
  0098d	ff d0		 call	 eax
  0098f	89 85 cc fc ff
	ff		 mov	 DWORD PTR tv732[ebp], eax
  00995	8b 8d cc fc ff
	ff		 mov	 ecx, DWORD PTR tv732[ebp]
  0099b	89 8d c8 fc ff
	ff		 mov	 DWORD PTR tv679[ebp], ecx
  009a1	c6 45 fc 22	 mov	 BYTE PTR __$EHRec$[ebp+8], 34 ; 00000022H
  009a5	8b 95 c8 fc ff
	ff		 mov	 edx, DWORD PTR tv679[ebp]
  009ab	89 95 c4 fc ff
	ff		 mov	 DWORD PTR tv494[ebp], edx
  009b1	6a 00		 push	 0
  009b3	6a 01		 push	 1
  009b5	6a 10		 push	 16			; 00000010H
  009b7	8d 8d 5c fe ff
	ff		 lea	 ecx, DWORD PTR $T359078[ebp]
  009bd	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  009c2	89 85 c0 fc ff
	ff		 mov	 DWORD PTR tv733[ebp], eax
  009c8	8b 85 c0 fc ff
	ff		 mov	 eax, DWORD PTR tv733[ebp]
  009ce	89 85 bc fc ff
	ff		 mov	 DWORD PTR tv681[ebp], eax
  009d4	c6 45 fc 23	 mov	 BYTE PTR __$EHRec$[ebp+8], 35 ; 00000023H
  009d8	8b 8d bc fc ff
	ff		 mov	 ecx, DWORD PTR tv681[ebp]
  009de	51		 push	 ecx
  009df	8d 95 50 fe ff
	ff		 lea	 edx, DWORD PTR $T359079[ebp]
  009e5	52		 push	 edx
  009e6	8b 85 c4 fc ff
	ff		 mov	 eax, DWORD PTR tv494[ebp]
  009ec	8b 10		 mov	 edx, DWORD PTR [eax]
  009ee	8b 8d c4 fc ff
	ff		 mov	 ecx, DWORD PTR tv494[ebp]
  009f4	8b 42 2c	 mov	 eax, DWORD PTR [edx+44]
  009f7	ff d0		 call	 eax
  009f9	89 85 b8 fc ff
	ff		 mov	 DWORD PTR tv734[ebp], eax
  009ff	8b 8d b8 fc ff
	ff		 mov	 ecx, DWORD PTR tv734[ebp]
  00a05	89 8d b4 fc ff
	ff		 mov	 DWORD PTR tv683[ebp], ecx
  00a0b	c6 45 fc 24	 mov	 BYTE PTR __$EHRec$[ebp+8], 36 ; 00000024H
  00a0f	8b 95 b4 fc ff
	ff		 mov	 edx, DWORD PTR tv683[ebp]
  00a15	89 95 b0 fc ff
	ff		 mov	 DWORD PTR tv510[ebp], edx
  00a1b	6a 00		 push	 0
  00a1d	6a 01		 push	 1
  00a1f	6a 11		 push	 17			; 00000011H
  00a21	8d 8d 44 fe ff
	ff		 lea	 ecx, DWORD PTR $T359080[ebp]
  00a27	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  00a2c	89 85 ac fc ff
	ff		 mov	 DWORD PTR tv735[ebp], eax
  00a32	8b 85 ac fc ff
	ff		 mov	 eax, DWORD PTR tv735[ebp]
  00a38	89 85 a8 fc ff
	ff		 mov	 DWORD PTR tv685[ebp], eax
  00a3e	c6 45 fc 25	 mov	 BYTE PTR __$EHRec$[ebp+8], 37 ; 00000025H
  00a42	8b 8d a8 fc ff
	ff		 mov	 ecx, DWORD PTR tv685[ebp]
  00a48	51		 push	 ecx
  00a49	8d 95 38 fe ff
	ff		 lea	 edx, DWORD PTR $T359081[ebp]
  00a4f	52		 push	 edx
  00a50	8b 85 b0 fc ff
	ff		 mov	 eax, DWORD PTR tv510[ebp]
  00a56	8b 10		 mov	 edx, DWORD PTR [eax]
  00a58	8b 8d b0 fc ff
	ff		 mov	 ecx, DWORD PTR tv510[ebp]
  00a5e	8b 42 2c	 mov	 eax, DWORD PTR [edx+44]
  00a61	ff d0		 call	 eax
  00a63	89 85 a4 fc ff
	ff		 mov	 DWORD PTR tv736[ebp], eax
  00a69	8b 8d a4 fc ff
	ff		 mov	 ecx, DWORD PTR tv736[ebp]
  00a6f	89 8d a0 fc ff
	ff		 mov	 DWORD PTR tv687[ebp], ecx
  00a75	c6 45 fc 26	 mov	 BYTE PTR __$EHRec$[ebp+8], 38 ; 00000026H
  00a79	8b 95 a0 fc ff
	ff		 mov	 edx, DWORD PTR tv687[ebp]
  00a7f	89 95 9c fc ff
	ff		 mov	 DWORD PTR tv526[ebp], edx
  00a85	6a 00		 push	 0
  00a87	6a 03		 push	 3
  00a89	6a 12		 push	 18			; 00000012H
  00a8b	8d 8d 2c fe ff
	ff		 lea	 ecx, DWORD PTR $T359082[ebp]
  00a91	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  00a96	89 85 98 fc ff
	ff		 mov	 DWORD PTR tv737[ebp], eax
  00a9c	8b 85 98 fc ff
	ff		 mov	 eax, DWORD PTR tv737[ebp]
  00aa2	89 85 94 fc ff
	ff		 mov	 DWORD PTR tv689[ebp], eax
  00aa8	c6 45 fc 27	 mov	 BYTE PTR __$EHRec$[ebp+8], 39 ; 00000027H
  00aac	83 ec 0c	 sub	 esp, 12			; 0000000cH
  00aaf	8b cc		 mov	 ecx, esp
  00ab1	89 a5 04 ff ff
	ff		 mov	 DWORD PTR $T359064[ebp], esp
  00ab7	8b 95 94 fc ff
	ff		 mov	 edx, DWORD PTR tv689[ebp]
  00abd	52		 push	 edx
  00abe	51		 push	 ecx
  00abf	8b 85 9c fc ff
	ff		 mov	 eax, DWORD PTR tv526[ebp]
  00ac5	8b 10		 mov	 edx, DWORD PTR [eax]
  00ac7	8b 8d 9c fc ff
	ff		 mov	 ecx, DWORD PTR tv526[ebp]
  00acd	8b 42 2c	 mov	 eax, DWORD PTR [edx+44]
  00ad0	ff d0		 call	 eax
  00ad2	89 85 90 fc ff
	ff		 mov	 DWORD PTR tv738[ebp], eax
  00ad8	8b 8d 90 fc ff
	ff		 mov	 ecx, DWORD PTR tv738[ebp]
  00ade	89 8d 8c fc ff
	ff		 mov	 DWORD PTR tv692[ebp], ecx
  00ae4	c6 45 fc 28	 mov	 BYTE PTR __$EHRec$[ebp+8], 40 ; 00000028H
  00ae8	68 ff ff 0f 00	 push	 1048575			; 000fffffH
  00aed	68 54 04 00 00	 push	 1108			; 00000454H
  00af2	c6 45 fc 27	 mov	 BYTE PTR __$EHRec$[ebp+8], 39 ; 00000027H
  00af6	8b 8d 20 fe ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00afc	e8 00 00 00 00	 call	 ?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z ; CSAA7134Card::WriteDSPData7133
  00b01	c6 45 fc 26	 mov	 BYTE PTR __$EHRec$[ebp+8], 38 ; 00000026H
  00b05	8d 8d 2c fe ff
	ff		 lea	 ecx, DWORD PTR $T359082[ebp]
  00b0b	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  00b10	c6 45 fc 25	 mov	 BYTE PTR __$EHRec$[ebp+8], 37 ; 00000025H
  00b14	8d 8d 38 fe ff
	ff		 lea	 ecx, DWORD PTR $T359081[ebp]
  00b1a	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  00b1f	c6 45 fc 24	 mov	 BYTE PTR __$EHRec$[ebp+8], 36 ; 00000024H
  00b23	8d 8d 44 fe ff
	ff		 lea	 ecx, DWORD PTR $T359080[ebp]
  00b29	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  00b2e	c6 45 fc 23	 mov	 BYTE PTR __$EHRec$[ebp+8], 35 ; 00000023H
  00b32	8d 8d 50 fe ff
	ff		 lea	 ecx, DWORD PTR $T359079[ebp]
  00b38	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  00b3d	c6 45 fc 22	 mov	 BYTE PTR __$EHRec$[ebp+8], 34 ; 00000022H
  00b41	8d 8d 5c fe ff
	ff		 lea	 ecx, DWORD PTR $T359078[ebp]
  00b47	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  00b4c	c6 45 fc 21	 mov	 BYTE PTR __$EHRec$[ebp+8], 33 ; 00000021H
  00b50	8d 8d 68 fe ff
	ff		 lea	 ecx, DWORD PTR $T359077[ebp]
  00b56	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  00b5b	c6 45 fc 20	 mov	 BYTE PTR __$EHRec$[ebp+8], 32 ; 00000020H
  00b5f	8d 8d 74 fe ff
	ff		 lea	 ecx, DWORD PTR $T359076[ebp]
  00b65	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  00b6a	c6 45 fc 1f	 mov	 BYTE PTR __$EHRec$[ebp+8], 31 ; 0000001fH
  00b6e	8d 8d 80 fe ff
	ff		 lea	 ecx, DWORD PTR $T359075[ebp]
  00b74	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  00b79	c6 45 fc 1e	 mov	 BYTE PTR __$EHRec$[ebp+8], 30 ; 0000001eH
  00b7d	8d 8d 8c fe ff
	ff		 lea	 ecx, DWORD PTR $T359074[ebp]
  00b83	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  00b88	c6 45 fc 1d	 mov	 BYTE PTR __$EHRec$[ebp+8], 29 ; 0000001dH
  00b8c	8d 8d 98 fe ff
	ff		 lea	 ecx, DWORD PTR $T359073[ebp]
  00b92	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  00b97	c6 45 fc 1c	 mov	 BYTE PTR __$EHRec$[ebp+8], 28 ; 0000001cH
  00b9b	8d 8d a4 fe ff
	ff		 lea	 ecx, DWORD PTR $T359072[ebp]
  00ba1	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  00ba6	c6 45 fc 1b	 mov	 BYTE PTR __$EHRec$[ebp+8], 27 ; 0000001bH
  00baa	8d 8d b0 fe ff
	ff		 lea	 ecx, DWORD PTR $T359071[ebp]
  00bb0	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  00bb5	c6 45 fc 1a	 mov	 BYTE PTR __$EHRec$[ebp+8], 26 ; 0000001aH
  00bb9	8d 8d bc fe ff
	ff		 lea	 ecx, DWORD PTR $T359070[ebp]
  00bbf	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  00bc4	c6 45 fc 19	 mov	 BYTE PTR __$EHRec$[ebp+8], 25 ; 00000019H
  00bc8	8d 8d c8 fe ff
	ff		 lea	 ecx, DWORD PTR $T359069[ebp]
  00bce	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  00bd3	c6 45 fc 18	 mov	 BYTE PTR __$EHRec$[ebp+8], 24 ; 00000018H
  00bd7	8d 8d d4 fe ff
	ff		 lea	 ecx, DWORD PTR $T359068[ebp]
  00bdd	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  00be2	c6 45 fc 17	 mov	 BYTE PTR __$EHRec$[ebp+8], 23 ; 00000017H
  00be6	8d 8d e0 fe ff
	ff		 lea	 ecx, DWORD PTR $T359067[ebp]
  00bec	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  00bf1	c6 45 fc 16	 mov	 BYTE PTR __$EHRec$[ebp+8], 22 ; 00000016H
  00bf5	8d 8d ec fe ff
	ff		 lea	 ecx, DWORD PTR $T359066[ebp]
  00bfb	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  00c00	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00c07	8d 8d f8 fe ff
	ff		 lea	 ecx, DWORD PTR $T359065[ebp]
  00c0d	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector

; 466  : 
; 467  :         // Decide main norm for Auto standard detection
; 468  :         Sleep(500);

  00c12	68 f4 01 00 00	 push	 500			; 000001f4H
  00c17	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__Sleep@4

; 469  :         BYTE stdsel = 0x00;

  00c1d	c6 45 f1 00	 mov	 BYTE PTR _stdsel$145485[ebp], 0

; 470  :         BYTE dcstd;
; 471  :         dcstd = ReadByte(SAA7134_STATUS_VIDEO) & SAA7134_STATUS_VIDEO_DCSTD;

  00c21	68 1e 01 00 00	 push	 286			; 0000011eH
  00c26	8b 8d 20 fe ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00c2c	e8 00 00 00 00	 call	 ?ReadByte@CPCICard@@QAEEK@Z ; CPCICard::ReadByte
  00c31	0f b6 d0	 movzx	 edx, al
  00c34	83 e2 03	 and	 edx, 3
  00c37	88 55 f0	 mov	 BYTE PTR _dcstd$145486[ebp], dl

; 472  :         // Read DCSTD Bit's (0:1) : 00 = B/W
; 473  :         //                          01 = NTSC
; 474  :         //                          10 = PAL
; 475  :         //                          11 = SECAM
; 476  :         if (dcstd == 0x01)

  00c3a	0f b6 45 f0	 movzx	 eax, BYTE PTR _dcstd$145486[ebp]
  00c3e	83 f8 01	 cmp	 eax, 1
  00c41	75 15		 jne	 SHORT $LN6@SetAudioSt@8

; 477  :         {
; 478  :             stdsel = 0x10; // M

  00c43	c6 45 f1 10	 mov	 BYTE PTR _stdsel$145485[ebp], 16 ; 00000010H

; 479  :             LOG(1, _T("SAA713x: NTSC signal detected for sound."));

  00c47	68 00 00 00 00	 push	 OFFSET ??_C@_1FC@MDIODBPF@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AAx?$AA?3?$AA?5?$AAN?$AAT?$AAS?$AAC?$AA?5?$AAs?$AAi?$AAg?$AAn?$AAa?$AAl?$AA?5?$AAd?$AAe?$AAt?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAf?$AAo@
  00c4c	6a 01		 push	 1
  00c4e	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00c53	83 c4 08	 add	 esp, 8
  00c56	eb 4f		 jmp	 SHORT $LN5@SetAudioSt@8
$LN6@SetAudioSt@8:

; 480  :         }
; 481  :         else if  (dcstd == 0x02)

  00c58	0f b6 4d f0	 movzx	 ecx, BYTE PTR _dcstd$145486[ebp]
  00c5c	83 f9 02	 cmp	 ecx, 2
  00c5f	75 15		 jne	 SHORT $LN4@SetAudioSt@8

; 482  :         {
; 483  :             stdsel = 0x0b; // B/G + D/K + I

  00c61	c6 45 f1 0b	 mov	 BYTE PTR _stdsel$145485[ebp], 11 ; 0000000bH

; 484  :             LOG(1, _T("SAA713x: PAL signal detected for sound."));

  00c65	68 00 00 00 00	 push	 OFFSET ??_C@_1FA@GBAEFPIE@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AAx?$AA?3?$AA?5?$AAP?$AAA?$AAL?$AA?5?$AAs?$AAi?$AAg?$AAn?$AAa?$AAl?$AA?5?$AAd?$AAe?$AAt?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAf?$AAo?$AAr@
  00c6a	6a 01		 push	 1
  00c6c	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00c71	83 c4 08	 add	 esp, 8
  00c74	eb 31		 jmp	 SHORT $LN5@SetAudioSt@8
$LN4@SetAudioSt@8:

; 485  :         }
; 486  :         else if  (dcstd == 0x03)

  00c76	0f b6 55 f0	 movzx	 edx, BYTE PTR _dcstd$145486[ebp]
  00c7a	83 fa 03	 cmp	 edx, 3
  00c7d	75 15		 jne	 SHORT $LN2@SetAudioSt@8

; 487  :         {
; 488  :             stdsel = 0x06; // L + D/K

  00c7f	c6 45 f1 06	 mov	 BYTE PTR _stdsel$145485[ebp], 6

; 489  :             LOG(1, _T("SAA713x: SECAM signal detected for sound."));

  00c83	68 00 00 00 00	 push	 OFFSET ??_C@_1FE@MFMAKCIL@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AAx?$AA?3?$AA?5?$AAS?$AAE?$AAC?$AAA?$AAM?$AA?5?$AAs?$AAi?$AAg?$AAn?$AAa?$AAl?$AA?5?$AAd?$AAe?$AAt?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAf@
  00c88	6a 01		 push	 1
  00c8a	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00c8f	83 c4 08	 add	 esp, 8

; 490  :         }
; 491  :         else

  00c92	eb 13		 jmp	 SHORT $LN5@SetAudioSt@8
$LN2@SetAudioSt@8:

; 492  :         {
; 493  :             stdsel = 0x1f; // Enable detection of all standards

  00c94	c6 45 f1 1f	 mov	 BYTE PTR _stdsel$145485[ebp], 31 ; 0000001fH

; 494  :             LOG(1, _T("SAA713x: BW signal detected for sound."));

  00c98	68 00 00 00 00	 push	 OFFSET ??_C@_1EO@BKFBBIBF@?$AAS?$AAA?$AAA?$AA7?$AA1?$AA3?$AAx?$AA?3?$AA?5?$AAB?$AAW?$AA?5?$AAs?$AAi?$AAg?$AAn?$AAa?$AAl?$AA?5?$AAd?$AAe?$AAt?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAf?$AAo?$AAr?$AA?5@
  00c9d	6a 01		 push	 1
  00c9f	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00ca4	83 c4 08	 add	 esp, 8
$LN5@SetAudioSt@8:

; 495  :         }
; 496  : 
; 497  :         // Write norm and restart Automatic Standard Detection.
; 498  :         WriteDSPData7133(SAA7133_A_EASY_PROGRAMMING,
; 499  :             _B(SAA7133_A_EASY_PROGRAMMING_STDSEL, stdsel));

  00ca7	0f b6 45 f1	 movzx	 eax, BYTE PTR _stdsel$145485[ebp]
  00cab	83 ec 0c	 sub	 esp, 12			; 0000000cH
  00cae	8b cc		 mov	 ecx, esp
  00cb0	89 a5 28 fe ff
	ff		 mov	 DWORD PTR $T359083[ebp], esp
  00cb6	50		 push	 eax
  00cb7	6a 1f		 push	 31			; 0000001fH
  00cb9	6a 02		 push	 2
  00cbb	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  00cc0	89 85 88 fc ff
	ff		 mov	 DWORD PTR tv740[ebp], eax
  00cc6	8b 8d 88 fc ff
	ff		 mov	 ecx, DWORD PTR tv740[ebp]
  00ccc	89 8d 84 fc ff
	ff		 mov	 DWORD PTR tv694[ebp], ecx
  00cd2	c7 45 fc 29 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 41 ; 00000029H
  00cd9	68 ff ff 0f 00	 push	 1048575			; 000fffffH
  00cde	68 54 04 00 00	 push	 1108			; 00000454H
  00ce3	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00cea	8b 8d 20 fe ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00cf0	e8 00 00 00 00	 call	 ?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z ; CSAA7134Card::WriteDSPData7133

; 500  :         WriteDSPData7133(SAA7133_A_EASY_PROGRAMMING,
; 501  :             _B(SAA7133_A_EASY_PROGRAMMING_REST, 1));

  00cf5	83 ec 0c	 sub	 esp, 12			; 0000000cH
  00cf8	8b cc		 mov	 ecx, esp
  00cfa	89 a5 24 fe ff
	ff		 mov	 DWORD PTR $T359084[ebp], esp
  00d00	6a 01		 push	 1
  00d02	6a 01		 push	 1
  00d04	6a 07		 push	 7
  00d06	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  00d0b	89 85 80 fc ff
	ff		 mov	 DWORD PTR tv741[ebp], eax
  00d11	8b 95 80 fc ff
	ff		 mov	 edx, DWORD PTR tv741[ebp]
  00d17	89 95 7c fc ff
	ff		 mov	 DWORD PTR tv696[ebp], edx
  00d1d	c7 45 fc 2a 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 42 ; 0000002aH
  00d24	68 ff ff 0f 00	 push	 1048575			; 000fffffH
  00d29	68 54 04 00 00	 push	 1108			; 00000454H
  00d2e	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00d35	8b 8d 20 fe ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00d3b	e8 00 00 00 00	 call	 ?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z ; CSAA7134Card::WriteDSPData7133
$LN27@SetAudioSt@8:

; 502  :     }
; 503  : }

  00d40	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00d43	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00d4a	59		 pop	 ecx
  00d4b	8b e5		 mov	 esp, ebp
  00d4d	5d		 pop	 ebp
  00d4e	c2 04 00	 ret	 4
  00d51	8d 49 00	 npad	 3
$LN73@SetAudioSt@8:
  00d54	00 00 00 00	 DD	 $LN23@SetAudioSt@8
  00d58	00 00 00 00	 DD	 $LN22@SetAudioSt@8
  00d5c	00 00 00 00	 DD	 $LN21@SetAudioSt@8
  00d60	00 00 00 00	 DD	 $LN22@SetAudioSt@8
  00d64	00 00 00 00	 DD	 $LN20@SetAudioSt@8
  00d68	00 00 00 00	 DD	 $LN19@SetAudioSt@8
  00d6c	00 00 00 00	 DD	 $LN18@SetAudioSt@8
  00d70	00 00 00 00	 DD	 $LN17@SetAudioSt@8
  00d74	00 00 00 00	 DD	 $LN16@SetAudioSt@8
  00d78	00 00 00 00	 DD	 $LN15@SetAudioSt@8
  00d7c	00 00 00 00	 DD	 $LN15@SetAudioSt@8
  00d80	00 00 00 00	 DD	 $LN15@SetAudioSt@8
  00d84	00 00 00 00	 DD	 $LN14@SetAudioSt@8
  00d88	00 00 00 00	 DD	 $LN14@SetAudioSt@8
  00d8c	00 00 00 00	 DD	 $LN13@SetAudioSt@8
  00d90	00 00 00 00	 DD	 $LN12@SetAudioSt@8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$0:
  00000	8d 4d e0	 lea	 ecx, DWORD PTR $T359043[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$1:
  00008	8d 4d d4	 lea	 ecx, DWORD PTR $T359044[ebp]
  0000b	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$2:
  00010	8d 4d c8	 lea	 ecx, DWORD PTR $T359045[ebp]
  00013	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$3:
  00018	8d 4d bc	 lea	 ecx, DWORD PTR $T359046[ebp]
  0001b	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$4:
  00020	8d 4d b0	 lea	 ecx, DWORD PTR $T359047[ebp]
  00023	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$5:
  00028	8d 4d a4	 lea	 ecx, DWORD PTR $T359048[ebp]
  0002b	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$6:
  00030	8d 4d 98	 lea	 ecx, DWORD PTR $T359049[ebp]
  00033	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$7:
  00038	8d 4d 8c	 lea	 ecx, DWORD PTR $T359050[ebp]
  0003b	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$8:
  00040	8d 4d 80	 lea	 ecx, DWORD PTR $T359051[ebp]
  00043	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$9:
  00048	8d 8d 74 ff ff
	ff		 lea	 ecx, DWORD PTR $T359052[ebp]
  0004e	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$10:
  00053	8d 8d 68 ff ff
	ff		 lea	 ecx, DWORD PTR $T359053[ebp]
  00059	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$11:
  0005e	8d 8d 5c ff ff
	ff		 lea	 ecx, DWORD PTR $T359054[ebp]
  00064	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$12:
  00069	8d 8d 50 ff ff
	ff		 lea	 ecx, DWORD PTR $T359055[ebp]
  0006f	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$13:
  00074	8d 8d 44 ff ff
	ff		 lea	 ecx, DWORD PTR $T359056[ebp]
  0007a	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$14:
  0007f	8d 8d 38 ff ff
	ff		 lea	 ecx, DWORD PTR $T359057[ebp]
  00085	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$15:
  0008a	8d 8d 2c ff ff
	ff		 lea	 ecx, DWORD PTR $T359058[ebp]
  00090	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$16:
  00095	8d 8d 20 ff ff
	ff		 lea	 ecx, DWORD PTR $T359059[ebp]
  0009b	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$17:
  000a0	8d 8d 14 ff ff
	ff		 lea	 ecx, DWORD PTR $T359060[ebp]
  000a6	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$18:
  000ab	8b 4d ec	 mov	 ecx, DWORD PTR $T359042[ebp]
  000ae	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$19:
  000b3	8b 8d 10 ff ff
	ff		 mov	 ecx, DWORD PTR $T359061[ebp]
  000b9	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$20:
  000be	8b 8d 0c ff ff
	ff		 mov	 ecx, DWORD PTR $T359062[ebp]
  000c4	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$21:
  000c9	8b 8d 08 ff ff
	ff		 mov	 ecx, DWORD PTR $T359063[ebp]
  000cf	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$22:
  000d4	8d 8d f8 fe ff
	ff		 lea	 ecx, DWORD PTR $T359065[ebp]
  000da	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$23:
  000df	8d 8d ec fe ff
	ff		 lea	 ecx, DWORD PTR $T359066[ebp]
  000e5	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$24:
  000ea	8d 8d e0 fe ff
	ff		 lea	 ecx, DWORD PTR $T359067[ebp]
  000f0	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$25:
  000f5	8d 8d d4 fe ff
	ff		 lea	 ecx, DWORD PTR $T359068[ebp]
  000fb	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$26:
  00100	8d 8d c8 fe ff
	ff		 lea	 ecx, DWORD PTR $T359069[ebp]
  00106	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$27:
  0010b	8d 8d bc fe ff
	ff		 lea	 ecx, DWORD PTR $T359070[ebp]
  00111	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$28:
  00116	8d 8d b0 fe ff
	ff		 lea	 ecx, DWORD PTR $T359071[ebp]
  0011c	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$29:
  00121	8d 8d a4 fe ff
	ff		 lea	 ecx, DWORD PTR $T359072[ebp]
  00127	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$30:
  0012c	8d 8d 98 fe ff
	ff		 lea	 ecx, DWORD PTR $T359073[ebp]
  00132	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$31:
  00137	8d 8d 8c fe ff
	ff		 lea	 ecx, DWORD PTR $T359074[ebp]
  0013d	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$32:
  00142	8d 8d 80 fe ff
	ff		 lea	 ecx, DWORD PTR $T359075[ebp]
  00148	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$33:
  0014d	8d 8d 74 fe ff
	ff		 lea	 ecx, DWORD PTR $T359076[ebp]
  00153	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$34:
  00158	8d 8d 68 fe ff
	ff		 lea	 ecx, DWORD PTR $T359077[ebp]
  0015e	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$35:
  00163	8d 8d 5c fe ff
	ff		 lea	 ecx, DWORD PTR $T359078[ebp]
  00169	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$36:
  0016e	8d 8d 50 fe ff
	ff		 lea	 ecx, DWORD PTR $T359079[ebp]
  00174	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$37:
  00179	8d 8d 44 fe ff
	ff		 lea	 ecx, DWORD PTR $T359080[ebp]
  0017f	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$38:
  00184	8d 8d 38 fe ff
	ff		 lea	 ecx, DWORD PTR $T359081[ebp]
  0018a	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$39:
  0018f	8d 8d 2c fe ff
	ff		 lea	 ecx, DWORD PTR $T359082[ebp]
  00195	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$40:
  0019a	8b 8d 04 ff ff
	ff		 mov	 ecx, DWORD PTR $T359064[ebp]
  001a0	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$41:
  001a5	8b 8d 28 fe ff
	ff		 mov	 ecx, DWORD PTR $T359083[ebp]
  001ab	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z$42:
  001b0	8b 8d 24 fe ff
	ff		 mov	 ecx, DWORD PTR $T359084[ebp]
  001b6	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__ehhandler$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z:
  001bb	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  001bf	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  001c2	8b 8a 84 fc ff
	ff		 mov	 ecx, DWORD PTR [edx-892]
  001c8	33 c8		 xor	 ecx, eax
  001ca	e8 00 00 00 00	 call	 @__security_check_cookie@4
  001cf	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z
  001d4	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z ENDP ; CSAA7134Card::SetAudioStandard7133
PUBLIC	?SetAudioStandard@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z ; CSAA7134Card::SetAudioStandard
; Function compile flags: /Odtp
;	COMDAT ?SetAudioStandard@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_AudioStandard$ = 8					; size = 4
?SetAudioStandard@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z PROC ; CSAA7134Card::SetAudioStandard, COMDAT
; _this$ = ecx

; 314  : {

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

; 315  :     if (m_DeviceId == 0x7130)

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	0f b7 48 08	 movzx	 ecx, WORD PTR [eax+8]
  0000e	81 f9 30 71 00
	00		 cmp	 ecx, 28976		; 00007130H
  00014	75 05		 jne	 SHORT $LN3@SetAudioSt@9

; 316  :     {
; 317  :         // saa7130 doesn't support this
; 318  :         return;

  00016	e9 a9 00 00 00	 jmp	 $LN4@SetAudioSt@9
$LN3@SetAudioSt@9:

; 319  :     }
; 320  :     if (m_DeviceId == 0x7133 || m_DeviceId == 0x7135)

  0001b	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  0001e	0f b7 42 08	 movzx	 eax, WORD PTR [edx+8]
  00022	3d 33 71 00 00	 cmp	 eax, 28979		; 00007133H
  00027	74 0f		 je	 SHORT $LN1@SetAudioSt@9
  00029	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0002c	0f b7 51 08	 movzx	 edx, WORD PTR [ecx+8]
  00030	81 fa 35 71 00
	00		 cmp	 edx, 28981		; 00007135H
  00036	75 0e		 jne	 SHORT $LN2@SetAudioSt@9
$LN1@SetAudioSt@9:

; 321  :     {
; 322  :         SetAudioStandard7133(AudioStandard);

  00038	8b 45 08	 mov	 eax, DWORD PTR _AudioStandard$[ebp]
  0003b	50		 push	 eax
  0003c	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0003f	e8 00 00 00 00	 call	 ?SetAudioStandard7133@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z ; CSAA7134Card::SetAudioStandard7133

; 323  :         return;

  00044	eb 7e		 jmp	 SHORT $LN4@SetAudioSt@9
$LN2@SetAudioSt@9:

; 324  :     }
; 325  : 
; 326  :     SetAudioCarrier1Freq(m_AudioStandards[AudioStandard].Carrier1);

  00046	8b 4d 08	 mov	 ecx, DWORD PTR _AudioStandard$[ebp]
  00049	6b c9 1c	 imul	 ecx, 28			; 0000001cH
  0004c	8b 91 04 00 00
	00		 mov	 edx, DWORD PTR ?m_AudioStandards@CSAA7134Common@@1PAUTAudioStandardDefinition@1@A[ecx+4]
  00052	52		 push	 edx
  00053	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00056	e8 00 00 00 00	 call	 ?SetAudioCarrier1Freq@CSAA7134Card@@QAEXK@Z ; CSAA7134Card::SetAudioCarrier1Freq

; 327  :     SetAudioCarrier2Freq(m_AudioStandards[AudioStandard].Carrier2);

  0005b	8b 45 08	 mov	 eax, DWORD PTR _AudioStandard$[ebp]
  0005e	6b c0 1c	 imul	 eax, 28			; 0000001cH
  00061	8b 88 08 00 00
	00		 mov	 ecx, DWORD PTR ?m_AudioStandards@CSAA7134Common@@1PAUTAudioStandardDefinition@1@A[eax+8]
  00067	51		 push	 ecx
  00068	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0006b	e8 00 00 00 00	 call	 ?SetAudioCarrier2Freq@CSAA7134Card@@QAEXK@Z ; CSAA7134Card::SetAudioCarrier2Freq

; 328  : 
; 329  :     SetAudioCarrier1Mode(m_AudioStandards[AudioStandard].Carrier1Mode);

  00070	8b 55 08	 mov	 edx, DWORD PTR _AudioStandard$[ebp]
  00073	6b d2 1c	 imul	 edx, 28			; 0000001cH
  00076	8b 82 0c 00 00
	00		 mov	 eax, DWORD PTR ?m_AudioStandards@CSAA7134Common@@1PAUTAudioStandardDefinition@1@A[edx+12]
  0007c	50		 push	 eax
  0007d	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00080	e8 00 00 00 00	 call	 ?SetAudioCarrier1Mode@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z ; CSAA7134Card::SetAudioCarrier1Mode

; 330  :     SetAudioCarrier2Mode(m_AudioStandards[AudioStandard].Carrier2Mode);

  00085	8b 4d 08	 mov	 ecx, DWORD PTR _AudioStandard$[ebp]
  00088	6b c9 1c	 imul	 ecx, 28			; 0000001cH
  0008b	8b 91 10 00 00
	00		 mov	 edx, DWORD PTR ?m_AudioStandards@CSAA7134Common@@1PAUTAudioStandardDefinition@1@A[ecx+16]
  00091	52		 push	 edx
  00092	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00095	e8 00 00 00 00	 call	 ?SetAudioCarrier2Mode@CSAA7134Card@@QAEXW4eAudioCarrierMode@CSAA7134Common@@@Z ; CSAA7134Card::SetAudioCarrier2Mode

; 331  : 
; 332  :     SetCh1FMDeemphasis(m_AudioStandards[AudioStandard].Ch1FMDeemphasis);

  0009a	8b 45 08	 mov	 eax, DWORD PTR _AudioStandard$[ebp]
  0009d	6b c0 1c	 imul	 eax, 28			; 0000001cH
  000a0	8b 88 14 00 00
	00		 mov	 ecx, DWORD PTR ?m_AudioStandards@CSAA7134Common@@1PAUTAudioStandardDefinition@1@A[eax+20]
  000a6	51		 push	 ecx
  000a7	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000aa	e8 00 00 00 00	 call	 ?SetCh1FMDeemphasis@CSAA7134Card@@QAEXW4eAudioFMDeemphasis@CSAA7134Common@@@Z ; CSAA7134Card::SetCh1FMDeemphasis

; 333  :     SetCh2FMDeemphasis(m_AudioStandards[AudioStandard].Ch2FMDeemphasis);

  000af	8b 55 08	 mov	 edx, DWORD PTR _AudioStandard$[ebp]
  000b2	6b d2 1c	 imul	 edx, 28			; 0000001cH
  000b5	8b 82 18 00 00
	00		 mov	 eax, DWORD PTR ?m_AudioStandards@CSAA7134Common@@1PAUTAudioStandardDefinition@1@A[edx+24]
  000bb	50		 push	 eax
  000bc	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000bf	e8 00 00 00 00	 call	 ?SetCh2FMDeemphasis@CSAA7134Card@@QAEXW4eAudioFMDeemphasis@CSAA7134Common@@@Z ; CSAA7134Card::SetCh2FMDeemphasis
$LN4@SetAudioSt@9:

; 334  : }

  000c4	8b e5		 mov	 esp, ebp
  000c6	5d		 pop	 ebp
  000c7	c2 04 00	 ret	 4
?SetAudioStandard@CSAA7134Card@@QAEXW4eAudioStandard@CSAA7134Common@@@Z ENDP ; CSAA7134Card::SetAudioStandard
PUBLIC	?SetAudioUnMute@CSAA7134Card@@QAEXXZ		; CSAA7134Card::SetAudioUnMute
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?SetAudioUnMute@CSAA7134Card@@QAEXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?SetAudioUnMute@CSAA7134Card@@QAEXXZ$0
__ehfuncinfo$?SetAudioUnMute@CSAA7134Card@@QAEXXZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?SetAudioUnMute@CSAA7134Card@@QAEXXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?SetAudioUnMute@CSAA7134Card@@QAEXXZ
_TEXT	SEGMENT
tv158 = -28						; size = 4
tv159 = -24						; size = 4
_this$ = -20						; size = 4
$T360315 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?SetAudioUnMute@CSAA7134Card@@QAEXXZ PROC		; CSAA7134Card::SetAudioUnMute, COMDAT
; _this$ = ecx

; 1908 : {

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

; 1909 :     if (m_DeviceId == 0x7130)

  00028	8b 45 ec	 mov	 eax, DWORD PTR _this$[ebp]
  0002b	0f b7 48 08	 movzx	 ecx, WORD PTR [eax+8]
  0002f	81 f9 30 71 00
	00		 cmp	 ecx, 28976		; 00007130H
  00035	75 24		 jne	 SHORT $LN6@SetAudioUn@2

; 1910 :     {
; 1911 :         m_bAudioLineReservedForMute = FALSE;

  00037	8b 55 ec	 mov	 edx, DWORD PTR _this$[ebp]
  0003a	c7 82 b4 00 00
	00 00 00 00 00	 mov	 DWORD PTR [edx+180], 0

; 1912 :         SetAudioSource(m_AudioInputSource);

  00044	8b 45 ec	 mov	 eax, DWORD PTR _this$[ebp]
  00047	8b 88 b0 00 00
	00		 mov	 ecx, DWORD PTR [eax+176]
  0004d	51		 push	 ecx
  0004e	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00051	e8 00 00 00 00	 call	 ?SetAudioSource@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@@Z ; CSAA7134Card::SetAudioSource
  00056	e9 93 00 00 00	 jmp	 $LN7@SetAudioUn@2
$LN6@SetAudioUn@2:

; 1913 :     }
; 1914 :     else if (m_DeviceId == 0x7134)

  0005b	8b 55 ec	 mov	 edx, DWORD PTR _this$[ebp]
  0005e	0f b7 42 08	 movzx	 eax, WORD PTR [edx+8]
  00062	3d 34 71 00 00	 cmp	 eax, 28980		; 00007134H
  00067	75 13		 jne	 SHORT $LN4@SetAudioUn@2

; 1915 :     {
; 1916 :         MaskDataByte(SAA7134_AUDIO_MUTE_CTRL, 0x00, SAA7134_AUDIO_MUTE_CTRL_MUTSOUT);

  00069	6a 04		 push	 4
  0006b	6a 00		 push	 0
  0006d	68 6c 01 00 00	 push	 364			; 0000016cH
  00072	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00075	e8 00 00 00 00	 call	 ?MaskDataByte@CPCICard@@QAEXKEE@Z ; CPCICard::MaskDataByte
  0007a	eb 72		 jmp	 SHORT $LN7@SetAudioUn@2
$LN4@SetAudioUn@2:

; 1917 :     }
; 1918 :     else if (m_DeviceId == 0x7133 || m_DeviceId == 0x7135)

  0007c	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  0007f	0f b7 51 08	 movzx	 edx, WORD PTR [ecx+8]
  00083	81 fa 33 71 00
	00		 cmp	 edx, 28979		; 00007133H
  00089	74 0f		 je	 SHORT $LN1@SetAudioUn@2
  0008b	8b 45 ec	 mov	 eax, DWORD PTR _this$[ebp]
  0008e	0f b7 48 08	 movzx	 ecx, WORD PTR [eax+8]
  00092	81 f9 35 71 00
	00		 cmp	 ecx, 28981		; 00007135H
  00098	75 54		 jne	 SHORT $LN7@SetAudioUn@2
$LN1@SetAudioUn@2:

; 1919 :     {
; 1920 :         // Restore the selected audio line to ummute.
; 1921 :         m_bAudioLineReservedForMute = FALSE;

  0009a	8b 55 ec	 mov	 edx, DWORD PTR _this$[ebp]
  0009d	c7 82 b4 00 00
	00 00 00 00 00	 mov	 DWORD PTR [edx+180], 0

; 1922 :         SetAudioSource(m_AudioInputSource);

  000a7	8b 45 ec	 mov	 eax, DWORD PTR _this$[ebp]
  000aa	8b 88 b0 00 00
	00		 mov	 ecx, DWORD PTR [eax+176]
  000b0	51		 push	 ecx
  000b1	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  000b4	e8 00 00 00 00	 call	 ?SetAudioSource@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@@Z ; CSAA7134Card::SetAudioSource

; 1923 :         // Unmute soft-mute control so it doesn't interfere.
; 1924 :         WriteDSPData7133(SAA7133_A_SOFTMUTE_CTRL, 0x00);

  000b9	83 ec 0c	 sub	 esp, 12			; 0000000cH
  000bc	8b cc		 mov	 ecx, esp
  000be	89 65 f0	 mov	 DWORD PTR $T360315[ebp], esp
  000c1	6a 00		 push	 0
  000c3	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@K@Z	; CBitVector::CBitVector
  000c8	89 45 e8	 mov	 DWORD PTR tv159[ebp], eax
  000cb	8b 55 e8	 mov	 edx, DWORD PTR tv159[ebp]
  000ce	89 55 e4	 mov	 DWORD PTR tv158[ebp], edx
  000d1	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  000d8	6a 1f		 push	 31			; 0000001fH
  000da	68 74 04 00 00	 push	 1140			; 00000474H
  000df	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  000e6	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  000e9	e8 00 00 00 00	 call	 ?WriteDSPData7133@CSAA7134Card@@QAEHKKVCBitVector@@@Z ; CSAA7134Card::WriteDSPData7133
$LN7@SetAudioUn@2:

; 1925 :     }
; 1926 : }

  000ee	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  000f1	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000f8	59		 pop	 ecx
  000f9	8b e5		 mov	 esp, ebp
  000fb	5d		 pop	 ebp
  000fc	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?SetAudioUnMute@CSAA7134Card@@QAEXXZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR $T360315[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__ehhandler$?SetAudioUnMute@CSAA7134Card@@QAEXXZ:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a ec	 mov	 ecx, DWORD PTR [edx-20]
  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$?SetAudioUnMute@CSAA7134Card@@QAEXXZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?SetAudioUnMute@CSAA7134Card@@QAEXXZ ENDP		; CSAA7134Card::SetAudioUnMute
PUBLIC	?SetAudioMute@CSAA7134Card@@QAEXXZ		; CSAA7134Card::SetAudioMute
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?SetAudioMute@CSAA7134Card@@QAEXXZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?SetAudioMute@CSAA7134Card@@QAEXXZ$0
__ehfuncinfo$?SetAudioMute@CSAA7134Card@@QAEXXZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?SetAudioMute@CSAA7134Card@@QAEXXZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?SetAudioMute@CSAA7134Card@@QAEXXZ
_TEXT	SEGMENT
tv168 = -28						; size = 4
tv169 = -24						; size = 4
_this$ = -20						; size = 4
$T360325 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?SetAudioMute@CSAA7134Card@@QAEXXZ PROC			; CSAA7134Card::SetAudioMute, COMDAT
; _this$ = ecx

; 1878 : {

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

; 1879 :     if (m_DeviceId == 0x7130)

  00028	8b 45 ec	 mov	 eax, DWORD PTR _this$[ebp]
  0002b	0f b7 48 08	 movzx	 ecx, WORD PTR [eax+8]
  0002f	81 f9 30 71 00
	00		 cmp	 ecx, 28976		; 00007130H
  00035	75 35		 jne	 SHORT $LN6@SetAudioMu@2

; 1880 :     {
; 1881 :         // Mute by setting a different input and output crossbar.
; 1882 :         // Input crossbar line 2.
; 1883 :         OrDataByte(SAA7134_ANALOG_IO_SELECT, SAA7134_ANALOG_IO_SELECT_ICS);

  00037	6a 08		 push	 8
  00039	68 6e 01 00 00	 push	 366			; 0000016eH
  0003e	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00041	e8 00 00 00 00	 call	 ?OrDataByte@CPCICard@@QAEXKE@Z ; CPCICard::OrDataByte

; 1884 :         // Output crossbar line 1.
; 1885 :         _SetIOSelectOCS(AUDIOINPUTSOURCE_LINE1, m_bStereoExternalLines);

  00046	8b 55 ec	 mov	 edx, DWORD PTR _this$[ebp]
  00049	8b 82 b8 00 00
	00		 mov	 eax, DWORD PTR [edx+184]
  0004f	50		 push	 eax
  00050	6a 00		 push	 0
  00052	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00055	e8 00 00 00 00	 call	 ?_SetIOSelectOCS@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z ; CSAA7134Card::_SetIOSelectOCS

; 1886 : 
; 1887 :         // Set this so we know the audio line is reserved
; 1888 :         m_bAudioLineReservedForMute = TRUE;

  0005a	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  0005d	c7 81 b4 00 00
	00 01 00 00 00	 mov	 DWORD PTR [ecx+180], 1
  00067	e9 86 00 00 00	 jmp	 $LN7@SetAudioMu@2
$LN6@SetAudioMu@2:

; 1889 :     }
; 1890 :     else if (m_DeviceId == 0x7134)

  0006c	8b 55 ec	 mov	 edx, DWORD PTR _this$[ebp]
  0006f	0f b7 42 08	 movzx	 eax, WORD PTR [edx+8]
  00073	3d 34 71 00 00	 cmp	 eax, 28980		; 00007134H
  00078	75 14		 jne	 SHORT $LN4@SetAudioMu@2

; 1891 :     {
; 1892 :         WriteByte(SAA7134_AUDIO_MUTE_CTRL, 0xFF);

  0007a	68 ff 00 00 00	 push	 255			; 000000ffH
  0007f	68 6c 01 00 00	 push	 364			; 0000016cH
  00084	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00087	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte
  0008c	eb 64		 jmp	 SHORT $LN7@SetAudioMu@2
$LN4@SetAudioMu@2:

; 1893 :     }
; 1894 :     else if (m_DeviceId == 0x7133 || m_DeviceId == 0x7135)

  0008e	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00091	0f b7 51 08	 movzx	 edx, WORD PTR [ecx+8]
  00095	81 fa 33 71 00
	00		 cmp	 edx, 28979		; 00007133H
  0009b	74 0f		 je	 SHORT $LN1@SetAudioMu@2
  0009d	8b 45 ec	 mov	 eax, DWORD PTR _this$[ebp]
  000a0	0f b7 48 08	 movzx	 ecx, WORD PTR [eax+8]
  000a4	81 f9 35 71 00
	00		 cmp	 ecx, 28981		; 00007135H
  000aa	75 46		 jne	 SHORT $LN7@SetAudioMu@2
$LN1@SetAudioMu@2:

; 1895 :     {
; 1896 :         // Select _T("no output enabled") for the output crossbar select.  There're
; 1897 :         // other ways to mute the SAA7133 but this seems to be the most straight
; 1898 :         // forward.  (Other ways offer selective muting of different lines.)
; 1899 :         WriteData(SAA7133_ANALOG_IO_SELECT, _B(SAA7133_ANALOG_IO_SELECT_OCS, 0x7));

  000ac	83 ec 0c	 sub	 esp, 12			; 0000000cH
  000af	8b cc		 mov	 ecx, esp
  000b1	89 65 f0	 mov	 DWORD PTR $T360325[ebp], esp
  000b4	6a 07		 push	 7
  000b6	6a 07		 push	 7
  000b8	6a 00		 push	 0
  000ba	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@EEK@Z ; CBitVector::CBitVector
  000bf	89 45 e8	 mov	 DWORD PTR tv169[ebp], eax
  000c2	8b 55 e8	 mov	 edx, DWORD PTR tv169[ebp]
  000c5	89 55 e4	 mov	 DWORD PTR tv168[ebp], edx
  000c8	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  000cf	6a 3f		 push	 63			; 0000003fH
  000d1	68 94 05 00 00	 push	 1428			; 00000594H
  000d6	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  000dd	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  000e0	e8 00 00 00 00	 call	 ?WriteData@CPCICard@@QAEXKKVCBitVector@@@Z ; CPCICard::WriteData

; 1900 : 
; 1901 :         // Set this so we know the audio line is reserved
; 1902 :         m_bAudioLineReservedForMute = TRUE;

  000e5	8b 45 ec	 mov	 eax, DWORD PTR _this$[ebp]
  000e8	c7 80 b4 00 00
	00 01 00 00 00	 mov	 DWORD PTR [eax+180], 1
$LN7@SetAudioMu@2:

; 1903 :     }
; 1904 : }

  000f2	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  000f5	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000fc	59		 pop	 ecx
  000fd	8b e5		 mov	 esp, ebp
  000ff	5d		 pop	 ebp
  00100	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?SetAudioMute@CSAA7134Card@@QAEXXZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR $T360325[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__ehhandler$?SetAudioMute@CSAA7134Card@@QAEXXZ:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a ec	 mov	 ecx, DWORD PTR [edx-20]
  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$?SetAudioMute@CSAA7134Card@@QAEXXZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?SetAudioMute@CSAA7134Card@@QAEXXZ ENDP			; CSAA7134Card::SetAudioMute
PUBLIC	?GetAudioChannel7133@CSAA7134Card@@QAE?AW4eAudioChannel@CSAA7134Common@@XZ ; CSAA7134Card::GetAudioChannel7133
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?GetAudioChannel7133@CSAA7134Card@@QAE?AW4eAudioChannel@CSAA7134Common@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?GetAudioChannel7133@CSAA7134Card@@QAE?AW4eAudioChannel@CSAA7134Common@@XZ$0
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?GetAudioChannel7133@CSAA7134Card@@QAE?AW4eAudioChannel@CSAA7134Common@@XZ$1
__ehfuncinfo$?GetAudioChannel7133@CSAA7134Card@@QAE?AW4eAudioChannel@CSAA7134Common@@XZ DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$?GetAudioChannel7133@CSAA7134Card@@QAE?AW4eAudioChannel@CSAA7134Common@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?GetAudioChannel7133@CSAA7134Card@@QAE?AW4eAudioChannel@CSAA7134Common@@XZ
_TEXT	SEGMENT
tv135 = -76						; size = 4
tv90 = -72						; size = 4
_this$ = -68						; size = 4
$T360341 = -64						; size = 4
$T360340 = -60						; size = 4
$T360339 = -56						; size = 4
$T360338 = -52						; size = 4
$T360337 = -48						; size = 4
$T360336 = -44						; size = 4
$T360335 = -40						; size = 4
_b$146047 = -36						; size = 12
_b$ = -24						; size = 12
__$EHRec$ = -12						; size = 12
?GetAudioChannel7133@CSAA7134Card@@QAE?AW4eAudioChannel@CSAA7134Common@@XZ PROC ; CSAA7134Card::GetAudioChannel7133, COMDAT
; _this$ = ecx

; 1613 : {

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

; 1614 :     if (m_AudioInputSource == AUDIOINPUTSOURCE_LINE1 ||
; 1615 :         m_AudioInputSource == AUDIOINPUTSOURCE_LINE2 ||
; 1616 :         m_AudioInputSource == AUDIOINPUTSOURCE_DAC_LINE1 ||
; 1617 :         m_AudioInputSource == AUDIOINPUTSOURCE_DAC_LINE2)

  00028	8b 45 bc	 mov	 eax, DWORD PTR _this$[ebp]
  0002b	83 b8 b0 00 00
	00 00		 cmp	 DWORD PTR [eax+176], 0
  00032	74 28		 je	 SHORT $LN17@GetAudioCh
  00034	8b 4d bc	 mov	 ecx, DWORD PTR _this$[ebp]
  00037	83 b9 b0 00 00
	00 01		 cmp	 DWORD PTR [ecx+176], 1
  0003e	74 1c		 je	 SHORT $LN17@GetAudioCh
  00040	8b 55 bc	 mov	 edx, DWORD PTR _this$[ebp]
  00043	83 ba b0 00 00
	00 03		 cmp	 DWORD PTR [edx+176], 3
  0004a	74 10		 je	 SHORT $LN17@GetAudioCh
  0004c	8b 45 bc	 mov	 eax, DWORD PTR _this$[ebp]
  0004f	83 b8 b0 00 00
	00 04		 cmp	 DWORD PTR [eax+176], 4
  00056	0f 85 bc 00 00
	00		 jne	 $LN18@GetAudioCh
$LN17@GetAudioCh:

; 1618 :     {
; 1619 :         if (m_bAudioLineReservedForMute)

  0005c	8b 4d bc	 mov	 ecx, DWORD PTR _this$[ebp]
  0005f	83 b9 b4 00 00
	00 00		 cmp	 DWORD PTR [ecx+180], 0
  00066	74 1d		 je	 SHORT $LN16@GetAudioCh

; 1620 :         {
; 1621 :             if (m_bStereoExternalLines)

  00068	8b 55 bc	 mov	 edx, DWORD PTR _this$[ebp]
  0006b	83 ba b8 00 00
	00 00		 cmp	 DWORD PTR [edx+184], 0
  00072	74 0a		 je	 SHORT $LN15@GetAudioCh

; 1622 :             {
; 1623 :                 return AUDIOCHANNEL_EXTERNAL;

  00074	b8 04 00 00 00	 mov	 eax, 4
  00079	e9 7a 01 00 00	 jmp	 $LN19@GetAudioCh
$LN15@GetAudioCh:

; 1624 :             }
; 1625 :             return AUDIOCHANNEL_MONO;

  0007e	33 c0		 xor	 eax, eax
  00080	e9 73 01 00 00	 jmp	 $LN19@GetAudioCh
$LN16@GetAudioCh:

; 1626 :         }
; 1627 : 
; 1628 :         //todo fix: This won't work for via DAC lines.
; 1629 :         CBitVector b = ReadData(SAA7133_ANALOG_IO_SELECT);

  00085	6a 3f		 push	 63			; 0000003fH
  00087	68 94 05 00 00	 push	 1428			; 00000594H
  0008c	8d 45 dc	 lea	 eax, DWORD PTR _b$146047[ebp]
  0008f	50		 push	 eax
  00090	8b 4d bc	 mov	 ecx, DWORD PTR _this$[ebp]
  00093	e8 00 00 00 00	 call	 ?ReadData@CPCICard@@QAE?AVCBitVector@@KK@Z ; CPCICard::ReadData
  00098	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 1630 :         switch (b.value(SAA7133_ANALOG_IO_SELECT_OCS))

  0009f	6a 07		 push	 7
  000a1	6a 00		 push	 0
  000a3	8d 4d dc	 lea	 ecx, DWORD PTR _b$146047[ebp]
  000a6	e8 00 00 00 00	 call	 ?value@CBitVector@@UBEKEE@Z ; CBitVector::value
  000ab	89 45 b8	 mov	 DWORD PTR tv90[ebp], eax
  000ae	83 7d b8 05	 cmp	 DWORD PTR tv90[ebp], 5
  000b2	77 46		 ja	 SHORT $LN13@GetAudioCh
  000b4	8b 4d b8	 mov	 ecx, DWORD PTR tv90[ebp]
  000b7	ff 24 8d 00 00
	00 00		 jmp	 DWORD PTR $LN24@GetAudioCh[ecx*4]
$LN12@GetAudioCh:

; 1631 :         {
; 1632 :         case 0x00:
; 1633 :         case 0x01:
; 1634 :             return AUDIOCHANNEL_EXTERNAL;

  000be	c7 45 d8 04 00
	00 00		 mov	 DWORD PTR $T360335[ebp], 4
  000c5	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  000cc	8d 4d dc	 lea	 ecx, DWORD PTR _b$146047[ebp]
  000cf	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  000d4	8b 45 d8	 mov	 eax, DWORD PTR $T360335[ebp]
  000d7	e9 1c 01 00 00	 jmp	 $LN19@GetAudioCh
$LN11@GetAudioCh:

; 1635 :         case 0x03:
; 1636 :         case 0x05:
; 1637 :             return AUDIOCHANNEL_MONO;

  000dc	c7 45 d4 00 00
	00 00		 mov	 DWORD PTR $T360336[ebp], 0
  000e3	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  000ea	8d 4d dc	 lea	 ecx, DWORD PTR _b$146047[ebp]
  000ed	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  000f2	8b 45 d4	 mov	 eax, DWORD PTR $T360336[ebp]
  000f5	e9 fe 00 00 00	 jmp	 $LN19@GetAudioCh
$LN13@GetAudioCh:

; 1638 :         default:
; 1639 :             // NEVER_GET_HERE;
; 1640 :             break;
; 1641 :         }
; 1642 :         return AUDIOCHANNEL_MONO;

  000fa	c7 45 d0 00 00
	00 00		 mov	 DWORD PTR $T360337[ebp], 0
  00101	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00108	8d 4d dc	 lea	 ecx, DWORD PTR _b$146047[ebp]
  0010b	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  00110	8b 45 d0	 mov	 eax, DWORD PTR $T360337[ebp]
  00113	e9 e0 00 00 00	 jmp	 $LN19@GetAudioCh
$LN18@GetAudioCh:

; 1643 :     }
; 1644 : 
; 1645 :     // Auto stereo isn't used for SAA7133 so that's one less thing this
; 1646 :     // needs to worry about.
; 1647 : 
; 1648 :     CBitVector b;

  00118	8d 4d e8	 lea	 ecx, DWORD PTR _b$[ebp]
  0011b	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@XZ	; CBitVector::CBitVector
  00120	c7 45 fc 01 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 1

; 1649 : 
; 1650 :     ReadDSPData7133(SAA7133_A_DIGITAL_INPUT_XBAR1, b);

  00127	8d 55 e8	 lea	 edx, DWORD PTR _b$[ebp]
  0012a	52		 push	 edx
  0012b	68 ff ff 00 00	 push	 65535			; 0000ffffH
  00130	68 64 04 00 00	 push	 1124			; 00000464H
  00135	8b 4d bc	 mov	 ecx, DWORD PTR _this$[ebp]
  00138	e8 00 00 00 00	 call	 ?ReadDSPData7133@CSAA7134Card@@QAEHKKAAVCBitVector@@@Z ; CSAA7134Card::ReadDSPData7133

; 1651 :     switch (b.value(SAA7133_A_DIGITAL_INPUT_XBAR1_MAINDM))

  0013d	6a 07		 push	 7
  0013f	6a 05		 push	 5
  00141	8d 4d e8	 lea	 ecx, DWORD PTR _b$[ebp]
  00144	e8 00 00 00 00	 call	 ?value@CBitVector@@UBEKEE@Z ; CBitVector::value
  00149	89 45 b4	 mov	 DWORD PTR tv135[ebp], eax
  0014c	83 7d b4 07	 cmp	 DWORD PTR tv135[ebp], 7
  00150	0f 87 89 00 00
	00		 ja	 $LN8@GetAudioCh
  00156	8b 45 b4	 mov	 eax, DWORD PTR tv135[ebp]
  00159	ff 24 85 00 00
	00 00		 jmp	 DWORD PTR $LN25@GetAudioCh[eax*4]
$LN7@GetAudioCh:

; 1652 :     {
; 1653 :     case 0: // LR
; 1654 :     case 4: // RL
; 1655 :         if (IsAudioChannelDetected(AUDIOCHANNEL_STEREO))

  00160	6a 01		 push	 1
  00162	8b 4d bc	 mov	 ecx, DWORD PTR _this$[ebp]
  00165	e8 00 00 00 00	 call	 ?IsAudioChannelDetected@CSAA7134Card@@QAEHW4eAudioChannel@CSAA7134Common@@@Z ; CSAA7134Card::IsAudioChannelDetected
  0016a	85 c0		 test	 eax, eax
  0016c	74 1b		 je	 SHORT $LN6@GetAudioCh

; 1656 :         {
; 1657 :             return AUDIOCHANNEL_STEREO;

  0016e	c7 45 cc 01 00
	00 00		 mov	 DWORD PTR $T360338[ebp], 1
  00175	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0017c	8d 4d e8	 lea	 ecx, DWORD PTR _b$[ebp]
  0017f	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  00184	8b 45 cc	 mov	 eax, DWORD PTR $T360338[ebp]
  00187	eb 6f		 jmp	 SHORT $LN19@GetAudioCh
$LN6@GetAudioCh:

; 1658 :         }
; 1659 :         break;

  00189	eb 54		 jmp	 SHORT $LN8@GetAudioCh
$LN5@GetAudioCh:

; 1660 :     case 2: // LL (automatrix off)
; 1661 :     case 6: // language A (automatrix on)
; 1662 :         if (IsAudioChannelDetected(AUDIOCHANNEL_LANGUAGE1))

  0018b	6a 02		 push	 2
  0018d	8b 4d bc	 mov	 ecx, DWORD PTR _this$[ebp]
  00190	e8 00 00 00 00	 call	 ?IsAudioChannelDetected@CSAA7134Card@@QAEHW4eAudioChannel@CSAA7134Common@@@Z ; CSAA7134Card::IsAudioChannelDetected
  00195	85 c0		 test	 eax, eax
  00197	74 1b		 je	 SHORT $LN4@GetAudioCh

; 1663 :         {
; 1664 :             return AUDIOCHANNEL_LANGUAGE1;

  00199	c7 45 c8 02 00
	00 00		 mov	 DWORD PTR $T360339[ebp], 2
  001a0	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  001a7	8d 4d e8	 lea	 ecx, DWORD PTR _b$[ebp]
  001aa	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  001af	8b 45 c8	 mov	 eax, DWORD PTR $T360339[ebp]
  001b2	eb 44		 jmp	 SHORT $LN19@GetAudioCh
$LN4@GetAudioCh:

; 1665 :         }
; 1666 :         break;

  001b4	eb 29		 jmp	 SHORT $LN8@GetAudioCh
$LN3@GetAudioCh:

; 1667 :     case 3: // RR (automatrix off)
; 1668 :     case 7: // language B (automatrix on)
; 1669 :         if (IsAudioChannelDetected(AUDIOCHANNEL_LANGUAGE2))

  001b6	6a 03		 push	 3
  001b8	8b 4d bc	 mov	 ecx, DWORD PTR _this$[ebp]
  001bb	e8 00 00 00 00	 call	 ?IsAudioChannelDetected@CSAA7134Card@@QAEHW4eAudioChannel@CSAA7134Common@@@Z ; CSAA7134Card::IsAudioChannelDetected
  001c0	85 c0		 test	 eax, eax
  001c2	74 1b		 je	 SHORT $LN8@GetAudioCh

; 1670 :         {
; 1671 :             return AUDIOCHANNEL_LANGUAGE2;

  001c4	c7 45 c4 03 00
	00 00		 mov	 DWORD PTR $T360340[ebp], 3
  001cb	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  001d2	8d 4d e8	 lea	 ecx, DWORD PTR _b$[ebp]
  001d5	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  001da	8b 45 c4	 mov	 eax, DWORD PTR $T360340[ebp]
  001dd	eb 19		 jmp	 SHORT $LN19@GetAudioCh
$LN8@GetAudioCh:

; 1672 :         }
; 1673 :         break;
; 1674 :     case 1: // (L + R)/2
; 1675 :         break;
; 1676 :     }
; 1677 :     return AUDIOCHANNEL_MONO;

  001df	c7 45 c0 00 00
	00 00		 mov	 DWORD PTR $T360341[ebp], 0
  001e6	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  001ed	8d 4d e8	 lea	 ecx, DWORD PTR _b$[ebp]
  001f0	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  001f5	8b 45 c0	 mov	 eax, DWORD PTR $T360341[ebp]
$LN19@GetAudioCh:

; 1678 : }

  001f8	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  001fb	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00202	59		 pop	 ecx
  00203	8b e5		 mov	 esp, ebp
  00205	5d		 pop	 ebp
  00206	c3		 ret	 0
  00207	90		 npad	 1
$LN24@GetAudioCh:
  00208	00 00 00 00	 DD	 $LN12@GetAudioCh
  0020c	00 00 00 00	 DD	 $LN12@GetAudioCh
  00210	00 00 00 00	 DD	 $LN13@GetAudioCh
  00214	00 00 00 00	 DD	 $LN11@GetAudioCh
  00218	00 00 00 00	 DD	 $LN13@GetAudioCh
  0021c	00 00 00 00	 DD	 $LN11@GetAudioCh
$LN25@GetAudioCh:
  00220	00 00 00 00	 DD	 $LN7@GetAudioCh
  00224	00 00 00 00	 DD	 $LN8@GetAudioCh
  00228	00 00 00 00	 DD	 $LN5@GetAudioCh
  0022c	00 00 00 00	 DD	 $LN3@GetAudioCh
  00230	00 00 00 00	 DD	 $LN7@GetAudioCh
  00234	00 00 00 00	 DD	 $LN8@GetAudioCh
  00238	00 00 00 00	 DD	 $LN5@GetAudioCh
  0023c	00 00 00 00	 DD	 $LN3@GetAudioCh
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?GetAudioChannel7133@CSAA7134Card@@QAE?AW4eAudioChannel@CSAA7134Common@@XZ$0:
  00000	8d 4d dc	 lea	 ecx, DWORD PTR _b$146047[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?GetAudioChannel7133@CSAA7134Card@@QAE?AW4eAudioChannel@CSAA7134Common@@XZ$1:
  00008	8d 4d e8	 lea	 ecx, DWORD PTR _b$[ebp]
  0000b	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__ehhandler$?GetAudioChannel7133@CSAA7134Card@@QAE?AW4eAudioChannel@CSAA7134Common@@XZ:
  00010	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00014	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00017	8b 4a bc	 mov	 ecx, DWORD PTR [edx-68]
  0001a	33 c8		 xor	 ecx, eax
  0001c	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00021	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?GetAudioChannel7133@CSAA7134Card@@QAE?AW4eAudioChannel@CSAA7134Common@@XZ
  00026	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?GetAudioChannel7133@CSAA7134Card@@QAE?AW4eAudioChannel@CSAA7134Common@@XZ ENDP ; CSAA7134Card::GetAudioChannel7133
PUBLIC	?GetAudioChannel@CSAA7134Card@@QAE?AW4eAudioChannel@CSAA7134Common@@XZ ; CSAA7134Card::GetAudioChannel
; Function compile flags: /Odtp
;	COMDAT ?GetAudioChannel@CSAA7134Card@@QAE?AW4eAudioChannel@CSAA7134Common@@XZ
_TEXT	SEGMENT
tv170 = -16						; size = 4
tv131 = -12						; size = 4
_this$ = -8						; size = 4
_AudioLine$146016 = -1					; size = 1
?GetAudioChannel@CSAA7134Card@@QAE?AW4eAudioChannel@CSAA7134Common@@XZ PROC ; CSAA7134Card::GetAudioChannel, COMDAT
; _this$ = ecx

; 1513 : {

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

; 1514 :     if (m_DeviceId == 0x7133 || m_DeviceId == 0x7135)

  00009	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	0f b7 48 08	 movzx	 ecx, WORD PTR [eax+8]
  00010	81 f9 33 71 00
	00		 cmp	 ecx, 28979		; 00007133H
  00016	74 0e		 je	 SHORT $LN24@GetAudioCh@2
  00018	8b 55 f8	 mov	 edx, DWORD PTR _this$[ebp]
  0001b	0f b7 42 08	 movzx	 eax, WORD PTR [edx+8]
  0001f	3d 35 71 00 00	 cmp	 eax, 28981		; 00007135H
  00024	75 0d		 jne	 SHORT $LN25@GetAudioCh@2
$LN24@GetAudioCh@2:

; 1515 :     {
; 1516 :         return GetAudioChannel7133();

  00026	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00029	e8 00 00 00 00	 call	 ?GetAudioChannel7133@CSAA7134Card@@QAE?AW4eAudioChannel@CSAA7134Common@@XZ ; CSAA7134Card::GetAudioChannel7133
  0002e	e9 5f 01 00 00	 jmp	 $LN26@GetAudioCh@2
$LN25@GetAudioCh@2:

; 1517 :     }
; 1518 : 
; 1519 :     if (m_AudioInputSource == AUDIOINPUTSOURCE_LINE1 ||
; 1520 :         m_AudioInputSource == AUDIOINPUTSOURCE_LINE2)

  00033	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00036	83 b9 b0 00 00
	00 00		 cmp	 DWORD PTR [ecx+176], 0
  0003d	74 0c		 je	 SHORT $LN22@GetAudioCh@2
  0003f	8b 55 f8	 mov	 edx, DWORD PTR _this$[ebp]
  00042	83 ba b0 00 00
	00 01		 cmp	 DWORD PTR [edx+176], 1
  00049	75 6e		 jne	 SHORT $LN23@GetAudioCh@2
$LN22@GetAudioCh@2:

; 1521 :     {
; 1522 :         if (m_bAudioLineReservedForMute)

  0004b	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  0004e	83 b8 b4 00 00
	00 00		 cmp	 DWORD PTR [eax+180], 0
  00055	74 1d		 je	 SHORT $LN21@GetAudioCh@2

; 1523 :         {
; 1524 :             if (m_bStereoExternalLines)

  00057	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0005a	83 b9 b8 00 00
	00 00		 cmp	 DWORD PTR [ecx+184], 0
  00061	74 0a		 je	 SHORT $LN20@GetAudioCh@2

; 1525 :             {
; 1526 :                 // Although the card is configured to accept
; 1527 :                 // stereo, the actual format is dependant
; 1528 :                 // on the external source.  For this reason, we
; 1529 :                 // return ``AUDIOCHANNEL_EXTERNAL'', to mean
; 1530 :                 // _T("depends on the external source").
; 1531 : 
; 1532 :                 return AUDIOCHANNEL_EXTERNAL;

  00063	b8 04 00 00 00	 mov	 eax, 4
  00068	e9 25 01 00 00	 jmp	 $LN26@GetAudioCh@2
$LN20@GetAudioCh@2:

; 1533 :             }
; 1534 : 
; 1535 :             return AUDIOCHANNEL_MONO;

  0006d	33 c0		 xor	 eax, eax
  0006f	e9 1e 01 00 00	 jmp	 $LN26@GetAudioCh@2
$LN21@GetAudioCh@2:

; 1536 :         }
; 1537 : 
; 1538 :         BYTE AudioLine;
; 1539 : 
; 1540 :         AudioLine = ReadByte(SAA7134_ANALOG_IO_SELECT) &
; 1541 :             SAA7134_ANALOG_IO_SELECT_OCS;

  00074	68 6e 01 00 00	 push	 366			; 0000016eH
  00079	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0007c	e8 00 00 00 00	 call	 ?ReadByte@CPCICard@@QAEEK@Z ; CPCICard::ReadByte
  00081	0f b6 d0	 movzx	 edx, al
  00084	83 e2 07	 and	 edx, 7
  00087	88 55 ff	 mov	 BYTE PTR _AudioLine$146016[ebp], dl

; 1542 : 
; 1543 :         switch (AudioLine)

  0008a	0f b6 45 ff	 movzx	 eax, BYTE PTR _AudioLine$146016[ebp]
  0008e	89 45 f4	 mov	 DWORD PTR tv131[ebp], eax
  00091	83 7d f4 05	 cmp	 DWORD PTR tv131[ebp], 5
  00095	77 1b		 ja	 SHORT $LN18@GetAudioCh@2
  00097	8b 4d f4	 mov	 ecx, DWORD PTR tv131[ebp]
  0009a	ff 24 8d 00 00
	00 00		 jmp	 DWORD PTR $LN29@GetAudioCh@2[ecx*4]
$LN17@GetAudioCh@2:

; 1544 :         {
; 1545 :         case 0x00:
; 1546 :         case 0x01:
; 1547 :             return AUDIOCHANNEL_EXTERNAL;

  000a1	b8 04 00 00 00	 mov	 eax, 4
  000a6	e9 e7 00 00 00	 jmp	 $LN26@GetAudioCh@2
$LN16@GetAudioCh@2:

; 1548 : 
; 1549 :         case 0x03:
; 1550 :         case 0x05:
; 1551 :             return AUDIOCHANNEL_MONO;

  000ab	33 c0		 xor	 eax, eax
  000ad	e9 e0 00 00 00	 jmp	 $LN26@GetAudioCh@2
$LN18@GetAudioCh@2:

; 1552 : 
; 1553 :         default:
; 1554 :             // NEVER_GET_HERE;
; 1555 :             break;
; 1556 :         }
; 1557 :         return AUDIOCHANNEL_MONO;

  000b2	33 c0		 xor	 eax, eax
  000b4	e9 d9 00 00 00	 jmp	 $LN26@GetAudioCh@2
$LN23@GetAudioCh@2:

; 1558 :     }
; 1559 : 
; 1560 :     // If automatic select is enabled, things work a bit different
; 1561 :     if (ReadByte(SAA7134_DSP_OUTPUT_SELECT) & SAA7134_DSP_OUTPUT_SELECT_AASDMA)

  000b9	68 6b 01 00 00	 push	 363			; 0000016bH
  000be	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  000c1	e8 00 00 00 00	 call	 ?ReadByte@CPCICard@@QAEEK@Z ; CPCICard::ReadByte
  000c6	0f b6 d0	 movzx	 edx, al
  000c9	81 e2 80 00 00
	00		 and	 edx, 128		; 00000080H
  000cf	74 4f		 je	 SHORT $LN14@GetAudioCh@2

; 1562 :     {
; 1563 :         if (IsAudioChannelDetected(AUDIOCHANNEL_STEREO))

  000d1	6a 01		 push	 1
  000d3	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  000d6	e8 00 00 00 00	 call	 ?IsAudioChannelDetected@CSAA7134Card@@QAEHW4eAudioChannel@CSAA7134Common@@@Z ; CSAA7134Card::IsAudioChannelDetected
  000db	85 c0		 test	 eax, eax
  000dd	74 0c		 je	 SHORT $LN13@GetAudioCh@2

; 1564 :         {
; 1565 :             return AUDIOCHANNEL_STEREO;

  000df	b8 01 00 00 00	 mov	 eax, 1
  000e4	e9 a9 00 00 00	 jmp	 $LN26@GetAudioCh@2
  000e9	eb 31		 jmp	 SHORT $LN12@GetAudioCh@2
$LN13@GetAudioCh@2:

; 1566 :         }
; 1567 :         else if (IsAudioChannelDetected(AUDIOCHANNEL_LANGUAGE2))

  000eb	6a 03		 push	 3
  000ed	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  000f0	e8 00 00 00 00	 call	 ?IsAudioChannelDetected@CSAA7134Card@@QAEHW4eAudioChannel@CSAA7134Common@@@Z ; CSAA7134Card::IsAudioChannelDetected
  000f5	85 c0		 test	 eax, eax
  000f7	74 23		 je	 SHORT $LN12@GetAudioCh@2

; 1568 :         {
; 1569 :             if (ReadByte(SAA7134_DSP_OUTPUT_SELECT) & 0x20)

  000f9	68 6b 01 00 00	 push	 363			; 0000016bH
  000fe	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00101	e8 00 00 00 00	 call	 ?ReadByte@CPCICard@@QAEEK@Z ; CPCICard::ReadByte
  00106	0f b6 c0	 movzx	 eax, al
  00109	83 e0 20	 and	 eax, 32			; 00000020H
  0010c	74 07		 je	 SHORT $LN10@GetAudioCh@2

; 1570 :             {
; 1571 :                 return AUDIOCHANNEL_LANGUAGE2;

  0010e	b8 03 00 00 00	 mov	 eax, 3
  00113	eb 7d		 jmp	 SHORT $LN26@GetAudioCh@2
$LN10@GetAudioCh@2:

; 1572 :             }
; 1573 :             return AUDIOCHANNEL_LANGUAGE1;

  00115	b8 02 00 00 00	 mov	 eax, 2
  0011a	eb 76		 jmp	 SHORT $LN26@GetAudioCh@2
$LN12@GetAudioCh@2:

; 1574 :         }
; 1575 :         return AUDIOCHANNEL_MONO;

  0011c	33 c0		 xor	 eax, eax
  0011e	eb 72		 jmp	 SHORT $LN26@GetAudioCh@2
$LN14@GetAudioCh@2:

; 1576 :     }
; 1577 : 
; 1578 :     switch (ReadByte(SAA7134_DSP_OUTPUT_SELECT) &
; 1579 :         SAA7134_DSP_OUTPUT_SELECT_CSM)

  00120	68 6b 01 00 00	 push	 363			; 0000016bH
  00125	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00128	e8 00 00 00 00	 call	 ?ReadByte@CPCICard@@QAEEK@Z ; CPCICard::ReadByte
  0012d	0f b6 c8	 movzx	 ecx, al
  00130	83 e1 70	 and	 ecx, 112		; 00000070H
  00133	89 4d f0	 mov	 DWORD PTR tv170[ebp], ecx
  00136	83 7d f0 40	 cmp	 DWORD PTR tv170[ebp], 64 ; 00000040H
  0013a	77 54		 ja	 SHORT $LN8@GetAudioCh@2
  0013c	8b 55 f0	 mov	 edx, DWORD PTR tv170[ebp]
  0013f	0f b6 82 00 00
	00 00		 movzx	 eax, BYTE PTR $LN28@GetAudioCh@2[edx]
  00146	ff 24 85 00 00
	00 00		 jmp	 DWORD PTR $LN30@GetAudioCh@2[eax*4]
$LN7@GetAudioCh@2:

; 1580 :     {
; 1581 :     case 0x00:  // L / R
; 1582 :     case 0x30:  // R / L
; 1583 :     case 0x40:  // (L+R)/2 / (L+R)/2
; 1584 :         if (IsAudioChannelDetected(AUDIOCHANNEL_STEREO))

  0014d	6a 01		 push	 1
  0014f	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00152	e8 00 00 00 00	 call	 ?IsAudioChannelDetected@CSAA7134Card@@QAEHW4eAudioChannel@CSAA7134Common@@@Z ; CSAA7134Card::IsAudioChannelDetected
  00157	85 c0		 test	 eax, eax
  00159	74 07		 je	 SHORT $LN6@GetAudioCh@2

; 1585 :         {
; 1586 :             return AUDIOCHANNEL_STEREO;

  0015b	b8 01 00 00 00	 mov	 eax, 1
  00160	eb 30		 jmp	 SHORT $LN26@GetAudioCh@2
$LN6@GetAudioCh@2:

; 1587 :         }
; 1588 :         break;

  00162	eb 2c		 jmp	 SHORT $LN8@GetAudioCh@2
$LN5@GetAudioCh@2:

; 1589 : 
; 1590 :     case 0x10:
; 1591 :         if (IsAudioChannelDetected(AUDIOCHANNEL_LANGUAGE1))

  00164	6a 02		 push	 2
  00166	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00169	e8 00 00 00 00	 call	 ?IsAudioChannelDetected@CSAA7134Card@@QAEHW4eAudioChannel@CSAA7134Common@@@Z ; CSAA7134Card::IsAudioChannelDetected
  0016e	85 c0		 test	 eax, eax
  00170	74 07		 je	 SHORT $LN4@GetAudioCh@2

; 1592 :         {
; 1593 :             return AUDIOCHANNEL_LANGUAGE1;

  00172	b8 02 00 00 00	 mov	 eax, 2
  00177	eb 19		 jmp	 SHORT $LN26@GetAudioCh@2
$LN4@GetAudioCh@2:

; 1594 :         }
; 1595 :         break;

  00179	eb 15		 jmp	 SHORT $LN8@GetAudioCh@2
$LN3@GetAudioCh@2:

; 1596 : 
; 1597 :     case 0x20:
; 1598 :         if (IsAudioChannelDetected(AUDIOCHANNEL_LANGUAGE2))

  0017b	6a 03		 push	 3
  0017d	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00180	e8 00 00 00 00	 call	 ?IsAudioChannelDetected@CSAA7134Card@@QAEHW4eAudioChannel@CSAA7134Common@@@Z ; CSAA7134Card::IsAudioChannelDetected
  00185	85 c0		 test	 eax, eax
  00187	74 07		 je	 SHORT $LN8@GetAudioCh@2

; 1599 :         {
; 1600 :             return AUDIOCHANNEL_LANGUAGE2;

  00189	b8 03 00 00 00	 mov	 eax, 3
  0018e	eb 02		 jmp	 SHORT $LN26@GetAudioCh@2
$LN8@GetAudioCh@2:

; 1601 :         }
; 1602 :         break;
; 1603 : 
; 1604 :     default:
; 1605 :         // NEVER_GET_HERE;
; 1606 :         break;
; 1607 :     }
; 1608 :     return AUDIOCHANNEL_MONO;

  00190	33 c0		 xor	 eax, eax
$LN26@GetAudioCh@2:

; 1609 : }

  00192	8b e5		 mov	 esp, ebp
  00194	5d		 pop	 ebp
  00195	c3		 ret	 0
  00196	8b ff		 npad	 2
$LN29@GetAudioCh@2:
  00198	00 00 00 00	 DD	 $LN17@GetAudioCh@2
  0019c	00 00 00 00	 DD	 $LN17@GetAudioCh@2
  001a0	00 00 00 00	 DD	 $LN18@GetAudioCh@2
  001a4	00 00 00 00	 DD	 $LN16@GetAudioCh@2
  001a8	00 00 00 00	 DD	 $LN18@GetAudioCh@2
  001ac	00 00 00 00	 DD	 $LN16@GetAudioCh@2
$LN30@GetAudioCh@2:
  001b0	00 00 00 00	 DD	 $LN7@GetAudioCh@2
  001b4	00 00 00 00	 DD	 $LN5@GetAudioCh@2
  001b8	00 00 00 00	 DD	 $LN3@GetAudioCh@2
  001bc	00 00 00 00	 DD	 $LN8@GetAudioCh@2
$LN28@GetAudioCh@2:
  001c0	00		 DB	 0
  001c1	03		 DB	 3
  001c2	03		 DB	 3
  001c3	03		 DB	 3
  001c4	03		 DB	 3
  001c5	03		 DB	 3
  001c6	03		 DB	 3
  001c7	03		 DB	 3
  001c8	03		 DB	 3
  001c9	03		 DB	 3
  001ca	03		 DB	 3
  001cb	03		 DB	 3
  001cc	03		 DB	 3
  001cd	03		 DB	 3
  001ce	03		 DB	 3
  001cf	03		 DB	 3
  001d0	01		 DB	 1
  001d1	03		 DB	 3
  001d2	03		 DB	 3
  001d3	03		 DB	 3
  001d4	03		 DB	 3
  001d5	03		 DB	 3
  001d6	03		 DB	 3
  001d7	03		 DB	 3
  001d8	03		 DB	 3
  001d9	03		 DB	 3
  001da	03		 DB	 3
  001db	03		 DB	 3
  001dc	03		 DB	 3
  001dd	03		 DB	 3
  001de	03		 DB	 3
  001df	03		 DB	 3
  001e0	02		 DB	 2
  001e1	03		 DB	 3
  001e2	03		 DB	 3
  001e3	03		 DB	 3
  001e4	03		 DB	 3
  001e5	03		 DB	 3
  001e6	03		 DB	 3
  001e7	03		 DB	 3
  001e8	03		 DB	 3
  001e9	03		 DB	 3
  001ea	03		 DB	 3
  001eb	03		 DB	 3
  001ec	03		 DB	 3
  001ed	03		 DB	 3
  001ee	03		 DB	 3
  001ef	03		 DB	 3
  001f0	00		 DB	 0
  001f1	03		 DB	 3
  001f2	03		 DB	 3
  001f3	03		 DB	 3
  001f4	03		 DB	 3
  001f5	03		 DB	 3
  001f6	03		 DB	 3
  001f7	03		 DB	 3
  001f8	03		 DB	 3
  001f9	03		 DB	 3
  001fa	03		 DB	 3
  001fb	03		 DB	 3
  001fc	03		 DB	 3
  001fd	03		 DB	 3
  001fe	03		 DB	 3
  001ff	03		 DB	 3
  00200	00		 DB	 0
?GetAudioChannel@CSAA7134Card@@QAE?AW4eAudioChannel@CSAA7134Common@@XZ ENDP ; CSAA7134Card::GetAudioChannel
_TEXT	ENDS
PUBLIC	?SetAudioChannel@CSAA7134Card@@QAEXW4eAudioChannel@CSAA7134Common@@@Z ; CSAA7134Card::SetAudioChannel
; Function compile flags: /Odtp
;	COMDAT ?SetAudioChannel@CSAA7134Card@@QAEXW4eAudioChannel@CSAA7134Common@@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_AudioChannel$ = 8					; size = 4
?SetAudioChannel@CSAA7134Card@@QAEXW4eAudioChannel@CSAA7134Common@@@Z PROC ; CSAA7134Card::SetAudioChannel, COMDAT
; _this$ = ecx

; 1415 : {

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

; 1416 :     if (m_AudioInputSource == AUDIOINPUTSOURCE_LINE1 ||
; 1417 :         m_AudioInputSource == AUDIOINPUTSOURCE_LINE2 ||
; 1418 :         m_AudioInputSource == AUDIOINPUTSOURCE_DAC_LINE1 ||
; 1419 :         m_AudioInputSource == AUDIOINPUTSOURCE_DAC_LINE2)

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	83 b8 b0 00 00
	00 00		 cmp	 DWORD PTR [eax+176], 0
  00011	74 24		 je	 SHORT $LN9@SetAudioCh@2
  00013	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00016	83 b9 b0 00 00
	00 01		 cmp	 DWORD PTR [ecx+176], 1
  0001d	74 18		 je	 SHORT $LN9@SetAudioCh@2
  0001f	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00022	83 ba b0 00 00
	00 03		 cmp	 DWORD PTR [edx+176], 3
  00029	74 0c		 je	 SHORT $LN9@SetAudioCh@2
  0002b	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0002e	83 b8 b0 00 00
	00 04		 cmp	 DWORD PTR [eax+176], 4
  00035	75 44		 jne	 SHORT $LN10@SetAudioCh@2
$LN9@SetAudioCh@2:

; 1420 :     {
; 1421 :         m_bStereoExternalLines = (AudioChannel == AUDIOCHANNEL_STEREO);

  00037	33 c9		 xor	 ecx, ecx
  00039	83 7d 08 01	 cmp	 DWORD PTR _AudioChannel$[ebp], 1
  0003d	0f 94 c1	 sete	 cl
  00040	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00043	89 8a b8 00 00
	00		 mov	 DWORD PTR [edx+184], ecx

; 1422 : 
; 1423 :         if (m_bAudioLineReservedForMute != FALSE)

  00049	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0004c	83 b8 b4 00 00
	00 00		 cmp	 DWORD PTR [eax+180], 0
  00053	74 05		 je	 SHORT $LN8@SetAudioCh@2

; 1424 :         {
; 1425 :             return;

  00055	e9 db 00 00 00	 jmp	 $LN11@SetAudioCh@2
$LN8@SetAudioCh@2:

; 1426 :         }
; 1427 : 
; 1428 :         _SetIOSelectOCS(m_AudioInputSource, m_bStereoExternalLines);

  0005a	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0005d	8b 91 b8 00 00
	00		 mov	 edx, DWORD PTR [ecx+184]
  00063	52		 push	 edx
  00064	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00067	8b 88 b0 00 00
	00		 mov	 ecx, DWORD PTR [eax+176]
  0006d	51		 push	 ecx
  0006e	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00071	e8 00 00 00 00	 call	 ?_SetIOSelectOCS@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@H@Z ; CSAA7134Card::_SetIOSelectOCS

; 1429 :         return;

  00076	e9 ba 00 00 00	 jmp	 $LN11@SetAudioCh@2
$LN10@SetAudioCh@2:

; 1430 :     }
; 1431 : 
; 1432 :     if (m_DeviceId == 0x7133 || m_DeviceId == 0x7135)

  0007b	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  0007e	0f b7 42 08	 movzx	 eax, WORD PTR [edx+8]
  00082	3d 33 71 00 00	 cmp	 eax, 28979		; 00007133H
  00087	74 0f		 je	 SHORT $LN6@SetAudioCh@2
  00089	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0008c	0f b7 51 08	 movzx	 edx, WORD PTR [ecx+8]
  00090	81 fa 35 71 00
	00		 cmp	 edx, 28981		; 00007135H
  00096	75 11		 jne	 SHORT $LN7@SetAudioCh@2
$LN6@SetAudioCh@2:

; 1433 :     {
; 1434 :         _SetAudioChannel7133(AudioChannel);

  00098	8b 45 08	 mov	 eax, DWORD PTR _AudioChannel$[ebp]
  0009b	50		 push	 eax
  0009c	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0009f	e8 00 00 00 00	 call	 ?_SetAudioChannel7133@CSAA7134Card@@QAEXW4eAudioChannel@CSAA7134Common@@@Z ; CSAA7134Card::_SetAudioChannel7133

; 1435 :         return;

  000a4	e9 8c 00 00 00	 jmp	 $LN11@SetAudioCh@2
$LN7@SetAudioCh@2:

; 1436 :     }
; 1437 : 
; 1438 :     if (AudioChannel == AUDIOCHANNEL_MONO)

  000a9	83 7d 08 00	 cmp	 DWORD PTR _AudioChannel$[ebp], 0
  000ad	75 33		 jne	 SHORT $LN5@SetAudioCh@2

; 1439 :     {
; 1440 :         // Select Left/Left
; 1441 :         MaskDataByte(SAA7134_DSP_OUTPUT_SELECT, 0x10,
; 1442 :             SAA7134_DSP_OUTPUT_SELECT_CSM);

  000af	6a 70		 push	 112			; 00000070H
  000b1	6a 10		 push	 16			; 00000010H
  000b3	68 6b 01 00 00	 push	 363			; 0000016bH
  000b8	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000bb	e8 00 00 00 00	 call	 ?MaskDataByte@CPCICard@@QAEXKEE@Z ; CPCICard::MaskDataByte

; 1443 : 
; 1444 :         // Disable automatic stereo adjustment
; 1445 :         AndDataByte(SAA7134_DSP_OUTPUT_SELECT, ~SAA7134_DSP_OUTPUT_SELECT_AASDMA);

  000c0	6a 7f		 push	 127			; 0000007fH
  000c2	68 6b 01 00 00	 push	 363			; 0000016bH
  000c7	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000ca	e8 00 00 00 00	 call	 ?AndDataByte@CPCICard@@QAEXKE@Z ; CPCICard::AndDataByte

; 1446 : 
; 1447 :         // Selecting 00 will force FM/AM.  This means selecting mono
; 1448 :         // when on NICAM will revert to ch1 FM
; 1449 :         MaskDataByte(SAA7134_STEREO_DAC_OUTPUT_SELECT, 0x00,
; 1450 :             SAA7134_STEREO_DAC_OUTPUT_SELECT_SDOS);

  000cf	6a 03		 push	 3
  000d1	6a 00		 push	 0
  000d3	68 67 01 00 00	 push	 359			; 00000167H
  000d8	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000db	e8 00 00 00 00	 call	 ?MaskDataByte@CPCICard@@QAEXKEE@Z ; CPCICard::MaskDataByte

; 1451 :     }
; 1452 :     else

  000e0	eb 53		 jmp	 SHORT $LN11@SetAudioCh@2
$LN5@SetAudioCh@2:

; 1453 :     {
; 1454 :         // When AASDMA is on, SDOS 01 will select NICAM over
; 1455 :         // FM only if it is available
; 1456 :         MaskDataByte(SAA7134_STEREO_DAC_OUTPUT_SELECT, 0x01,
; 1457 :             SAA7134_STEREO_DAC_OUTPUT_SELECT_SDOS);

  000e2	6a 03		 push	 3
  000e4	6a 01		 push	 1
  000e6	68 67 01 00 00	 push	 359			; 00000167H
  000eb	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000ee	e8 00 00 00 00	 call	 ?MaskDataByte@CPCICard@@QAEXKEE@Z ; CPCICard::MaskDataByte

; 1458 : 
; 1459 :         // Enable automatic stereo adjustment and the card
; 1460 :         // will sort itself out
; 1461 :         OrDataByte(SAA7134_DSP_OUTPUT_SELECT, SAA7134_DSP_OUTPUT_SELECT_AASDMA);

  000f3	68 80 00 00 00	 push	 128			; 00000080H
  000f8	68 6b 01 00 00	 push	 363			; 0000016bH
  000fd	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00100	e8 00 00 00 00	 call	 ?OrDataByte@CPCICard@@QAEXKE@Z ; CPCICard::OrDataByte

; 1462 : 
; 1463 :         if (AudioChannel == AUDIOCHANNEL_LANGUAGE1)

  00105	83 7d 08 02	 cmp	 DWORD PTR _AudioChannel$[ebp], 2
  00109	75 13		 jne	 SHORT $LN3@SetAudioCh@2

; 1464 :         {
; 1465 :             MaskDataByte(SAA7134_DSP_OUTPUT_SELECT, 0x10,
; 1466 :                 SAA7134_DSP_OUTPUT_SELECT_CSM);

  0010b	6a 70		 push	 112			; 00000070H
  0010d	6a 10		 push	 16			; 00000010H
  0010f	68 6b 01 00 00	 push	 363			; 0000016bH
  00114	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00117	e8 00 00 00 00	 call	 ?MaskDataByte@CPCICard@@QAEXKEE@Z ; CPCICard::MaskDataByte
  0011c	eb 17		 jmp	 SHORT $LN11@SetAudioCh@2
$LN3@SetAudioCh@2:

; 1467 :         }
; 1468 :         else if (AudioChannel == AUDIOCHANNEL_LANGUAGE2)

  0011e	83 7d 08 03	 cmp	 DWORD PTR _AudioChannel$[ebp], 3
  00122	75 11		 jne	 SHORT $LN11@SetAudioCh@2

; 1469 :         {
; 1470 :             MaskDataByte(SAA7134_DSP_OUTPUT_SELECT, 0x20,
; 1471 :                 SAA7134_DSP_OUTPUT_SELECT_CSM);

  00124	6a 70		 push	 112			; 00000070H
  00126	6a 20		 push	 32			; 00000020H
  00128	68 6b 01 00 00	 push	 363			; 0000016bH
  0012d	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00130	e8 00 00 00 00	 call	 ?MaskDataByte@CPCICard@@QAEXKEE@Z ; CPCICard::MaskDataByte
$LN11@SetAudioCh@2:

; 1472 :         }
; 1473 :     }
; 1474 : }

  00135	8b e5		 mov	 esp, ebp
  00137	5d		 pop	 ebp
  00138	c2 04 00	 ret	 4
?SetAudioChannel@CSAA7134Card@@QAEXW4eAudioChannel@CSAA7134Common@@@Z ENDP ; CSAA7134Card::SetAudioChannel
_TEXT	ENDS
PUBLIC	?InitAudio@CSAA7134Card@@QAEXXZ			; CSAA7134Card::InitAudio
; Function compile flags: /Odtp
;	COMDAT ?InitAudio@CSAA7134Card@@QAEXXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?InitAudio@CSAA7134Card@@QAEXXZ PROC			; CSAA7134Card::InitAudio, COMDAT
; _this$ = ecx

; 45   : {

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

; 46   :     if (m_DeviceId == 0x7133 || m_DeviceId == 0x7135)

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	0f b7 48 08	 movzx	 ecx, WORD PTR [eax+8]
  0000e	81 f9 33 71 00
	00		 cmp	 ecx, 28979		; 00007133H
  00014	74 0e		 je	 SHORT $LN2@InitAudio@2
  00016	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00019	0f b7 42 08	 movzx	 eax, WORD PTR [edx+8]
  0001d	3d 35 71 00 00	 cmp	 eax, 28981		; 00007135H
  00022	75 0d		 jne	 SHORT $LN3@InitAudio@2
$LN2@InitAudio@2:

; 47   :     {
; 48   :         // SAA7133 and SAA7135 takes a different path.
; 49   :         InitAudio7133();

  00024	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00027	e8 00 00 00 00	 call	 ?InitAudio7133@CSAA7134Card@@QAEXXZ ; CSAA7134Card::InitAudio7133

; 50   :         return;

  0002c	e9 91 01 00 00	 jmp	 $LN4@InitAudio@2
$LN3@InitAudio@2:

; 51   :     }
; 52   : 
; 53   :     SetAudioSource(AUDIOINPUTSOURCE_LINE1);

  00031	6a 00		 push	 0
  00033	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00036	e8 00 00 00 00	 call	 ?SetAudioSource@CSAA7134Card@@QAEXW4eAudioInputSource@CSAA7134Common@@@Z ; CSAA7134Card::SetAudioSource

; 54   : 
; 55   :     // Initially mute everything
; 56   :     SetAudioMute();

  0003b	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0003e	e8 00 00 00 00	 call	 ?SetAudioMute@CSAA7134Card@@QAEXXZ ; CSAA7134Card::SetAudioMute

; 57   : 
; 58   :     if (m_DeviceId == 0x7130)

  00043	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00046	0f b7 51 08	 movzx	 edx, WORD PTR [ecx+8]
  0004a	81 fa 30 71 00
	00		 cmp	 edx, 28976		; 00007130H
  00050	75 05		 jne	 SHORT $LN1@InitAudio@2

; 59   :     {
; 60   :         // saa7130 doesn't support most audio stuff
; 61   :         return;

  00052	e9 6b 01 00 00	 jmp	 $LN4@InitAudio@2
$LN1@InitAudio@2:

; 62   :     }
; 63   : 
; 64   :     // auto gain control enabled
; 65   :     WriteByte(SAA7134_AGC_GAIN_SELECT,          0x00);

  00057	6a 00		 push	 0
  00059	68 4c 01 00 00	 push	 332			; 0000014cH
  0005e	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00061	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 66   : 
; 67   :     WriteByte(SAA7134_SIF_SAMPLE_FREQ,          0x40);

  00066	6a 40		 push	 64			; 00000040H
  00068	68 6d 01 00 00	 push	 365			; 0000016dH
  0006d	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00070	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 68   : 
; 69   :     WriteByte(SAA7134_MONITOR_SELECT,           0xA0);

  00075	68 a0 00 00 00	 push	 160			; 000000a0H
  0007a	68 60 01 00 00	 push	 352			; 00000160H
  0007f	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00082	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 70   :     WriteByte(SAA7134_NICAM_ERROR_LOW,          0x14);

  00087	6a 14		 push	 20			; 00000014H
  00089	68 48 01 00 00	 push	 328			; 00000148H
  0008e	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00091	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 71   :     WriteByte(SAA7134_NICAM_ERROR_HIGH,         0x50);

  00096	6a 50		 push	 80			; 00000050H
  00098	68 49 01 00 00	 push	 329			; 00000149H
  0009d	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000a0	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 72   :     WriteByte(SAA7134_NICAM_CONFIG,             0x00);

  000a5	6a 00		 push	 0
  000a7	68 65 01 00 00	 push	 357			; 00000165H
  000ac	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000af	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 73   : 
; 74   :     WriteByte(SAA7134_DEMODULATOR,              0x00);

  000b4	6a 00		 push	 0
  000b6	68 4b 01 00 00	 push	 331			; 0000014bH
  000bb	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000be	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 75   :     WriteByte(SAA7134_DCXO_IDENT_CTRL,          0x00);

  000c3	6a 00		 push	 0
  000c5	68 4a 01 00 00	 push	 330			; 0000014aH
  000ca	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000cd	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 76   :     WriteByte(SAA7134_FM_DEEMPHASIS,            0x22);

  000d2	6a 22		 push	 34			; 00000022H
  000d4	68 61 01 00 00	 push	 353			; 00000161H
  000d9	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000dc	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 77   :     WriteByte(SAA7134_STEREO_DAC_OUTPUT_SELECT, 0x21);

  000e1	6a 21		 push	 33			; 00000021H
  000e3	68 67 01 00 00	 push	 359			; 00000167H
  000e8	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000eb	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 78   : 
; 79   :     SetAudioFMDematrix(AUDIOFMDEMATRIX_AUTOSWITCHING);

  000f0	6a 00		 push	 0
  000f2	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  000f5	e8 00 00 00 00	 call	 ?SetAudioFMDematrix@CSAA7134Card@@QAEXW4eAudioFMDematrix@CSAA7134Common@@@Z ; CSAA7134Card::SetAudioFMDematrix

; 80   : 
; 81   :     WriteByte(SAA7134_DSP_OUTPUT_SELECT,        0x80);

  000fa	68 80 00 00 00	 push	 128			; 00000080H
  000ff	68 6b 01 00 00	 push	 363			; 0000016bH
  00104	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00107	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 82   : 
; 83   :     // input signal is less or equal 2.0Vrms
; 84   :     OrDataByte(SAA7134_ANALOG_IO_SELECT,        SAA7134_ANALOG_IO_SELECT_VSEL1);

  0010c	6a 10		 push	 16			; 00000010H
  0010e	68 6e 01 00 00	 push	 366			; 0000016eH
  00113	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00116	e8 00 00 00 00	 call	 ?OrDataByte@CPCICard@@QAEXKE@Z ; CPCICard::OrDataByte

; 85   :     OrDataByte(SAA7134_ANALOG_IO_SELECT,        SAA7134_ANALOG_IO_SELECT_VSEL2);

  0011b	6a 20		 push	 32			; 00000020H
  0011d	68 6e 01 00 00	 push	 366			; 0000016eH
  00122	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00125	e8 00 00 00 00	 call	 ?OrDataByte@CPCICard@@QAEXKE@Z ; CPCICard::OrDataByte

; 86   : 
; 87   :     // no audio capture through DMA
; 88   :     MaskDataDword(SAA7134_NUM_SAMPLES,          0x00, SAA7134_NUM_SAMPLES_MASK);

  0012a	68 ff ff 3f 00	 push	 4194303			; 003fffffH
  0012f	6a 00		 push	 0
  00131	68 58 01 00 00	 push	 344			; 00000158H
  00136	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00139	e8 00 00 00 00	 call	 ?MaskDataDword@CPCICard@@QAEXKKK@Z ; CPCICard::MaskDataDword

; 89   :     WriteByte(SAA7134_AUDIO_FORMAT_CTRL,        0xDD);

  0013e	68 dd 00 00 00	 push	 221			; 000000ddH
  00143	68 5b 01 00 00	 push	 347			; 0000015bH
  00148	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0014b	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 90   : 
; 91   :     // normal output gain
; 92   :     MaskDataByte(SAA7134_CHANNEL1_LEVEL,        0x00, 0x1F);

  00150	6a 1f		 push	 31			; 0000001fH
  00152	6a 00		 push	 0
  00154	68 63 01 00 00	 push	 355			; 00000163H
  00159	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0015c	e8 00 00 00 00	 call	 ?MaskDataByte@CPCICard@@QAEXKEE@Z ; CPCICard::MaskDataByte

; 93   :     MaskDataByte(SAA7134_CHANNEL2_LEVEL,        0x00, 0x1F);

  00161	6a 1f		 push	 31			; 0000001fH
  00163	6a 00		 push	 0
  00165	68 64 01 00 00	 push	 356			; 00000164H
  0016a	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0016d	e8 00 00 00 00	 call	 ?MaskDataByte@CPCICard@@QAEXKEE@Z ; CPCICard::MaskDataByte

; 94   : 
; 95   :     // no I2S output
; 96   :     WriteByte(SAA7134_I2S_OUTPUT_FORMAT,        0x00);

  00172	6a 00		 push	 0
  00174	68 68 01 00 00	 push	 360			; 00000168H
  00179	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0017c	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 97   :     WriteByte(SAA7134_I2S_OUTPUT_SELECT,        0x00);

  00181	6a 00		 push	 0
  00183	68 69 01 00 00	 push	 361			; 00000169H
  00188	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0018b	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 98   :     WriteByte(SAA7134_I2S_OUTPUT_LEVEL,         0x00);

  00190	6a 00		 push	 0
  00192	68 6a 01 00 00	 push	 362			; 0000016aH
  00197	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0019a	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 99   :     WriteByte(SAA7134_I2S_AUDIO_OUTPUT,         0x01);

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

; 100  : 
; 101  :     // Zero is for no plus or minus gain
; 102  :     SetAudioVolume(0);

  001ae	6a 00		 push	 0
  001b0	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  001b3	e8 00 00 00 00	 call	 ?SetAudioVolume@CSAA7134Card@@QAEXE@Z ; CSAA7134Card::SetAudioVolume

; 103  : 
; 104  :     // Setting this FALSE for NICAM doesn't work
; 105  :     SetAudioLockToVideo(TRUE);

  001b8	6a 01		 push	 1
  001ba	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  001bd	e8 00 00 00 00	 call	 ?SetAudioLockToVideo@CSAA7134Card@@QAEXH@Z ; CSAA7134Card::SetAudioLockToVideo
$LN4@InitAudio@2:

; 106  : }

  001c2	8b e5		 mov	 esp, ebp
  001c4	5d		 pop	 ebp
  001c5	c3		 ret	 0
?InitAudio@CSAA7134Card@@QAEXXZ ENDP			; CSAA7134Card::InitAudio
END
