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

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

INCLUDELIB OLDNAMES

PUBLIC	??_C@_1HI@LFBFNKOI@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAD?$AAe?$AAt?$AAe?$AAc?$AAt?$AAi?$AAn?$AAg?$AA?5?$AAs?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?4?$AA?5?$AAM?$AAa?$AAj@ ; `string'
PUBLIC	??_C@_1JA@CAOCNMGL@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAD?$AAe?$AAt?$AAe?$AAc?$AAt?$AAi?$AAn?$AAg?$AA?5?$AAs?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?4?$AA?5?$AAF?$AAo?$AAu@ ; `string'
PUBLIC	??_C@_1HI@KFFBIJNI@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAD?$AAe?$AAt?$AAe?$AAc?$AAt?$AAi?$AAn?$AAg?$AA?5?$AAs?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?4?$AA?5?$AAM?$AAi?$AAn@ ; `string'
PUBLIC	??_C@_1HK@FOKIJHAH@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAD?$AAe?$AAt?$AAe?$AAc?$AAt?$AAi?$AAn?$AAg?$AA?5?$AAs?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?4?$AA?5?$AAF?$AAo?$AAu@ ; `string'
PUBLIC	??_C@_1FO@OADDNIBD@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAS?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?5?$AAc?$AAa?$AAn?$AA?5?$AAb?$AAe?$AA?5?$AAB?$AAT?$AAS?$AAC?$AA?5?$AAo?$AAr@ ; `string'
PUBLIC	??_C@_19FEONDAKC@?$AAB?$AAT?$AAS?$AAC?$AA?$AA@	; `string'
PUBLIC	??_C@_1BK@FLPIMEMH@?$AAJ?$AAa?$AAp?$AAa?$AAn?$AA?5?$AAS?$AAt?$AAe?$AAr?$AAe?$AAo?$AA?$AA@ ; `string'
PUBLIC	??_C@_1FK@LNFGHHDN@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAC?$AAh?$AAo?$AAs?$AAe?$AA?5?$AA?$CF?$AAs?$AA?5?$AAb?$AAa?$AAs?$AAe?$AAd?$AA?5?$AAo?$AAn?$AA?5?$AAv?$AAi?$AAd?$AAe?$AAo@ ; `string'
PUBLIC	??_C@_1FC@MPFHDM@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAS?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?5?$AAc?$AAa?$AAn?$AA?5?$AAb?$AAe?$AA?5?$AAN?$AAI?$AAC?$AAA?$AAM?$AA?5?$AAA@ ; `string'
PUBLIC	??_C@_17PPFKOCPI@?$AAN?$AAo?$AA?5?$AA?$AA@	; `string'
PUBLIC	??_C@_15ODEHAHHF@?$AAA?$AAM?$AA?$AA@		; `string'
PUBLIC	??_C@_15POECDHMN@?$AAF?$AAM?$AA?$AA@		; `string'
PUBLIC	??_C@_1HK@KHOAFMPC@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAC?$AAh?$AAo?$AAs?$AAe?$AA?5?$AAN?$AAI?$AAC?$AAA?$AAM?$AA?5?$AA?$CF?$AAs?$AA?5?$AAb?$AAa?$AAs?$AAe?$AAd?$AA?5?$AAo?$AAn@ ; `string'
PUBLIC	??_C@_1GI@KALADABB@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAS?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?5?$AAc?$AAa?$AAn?$AA?5?$AAb?$AAe?$AA?5?$AAD?$AA?1?$AAK?$AA?5?$AAF?$AAM?$AA?9@ ; `string'
PUBLIC	??_C@_1CI@EDPOODKL@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAC?$AAh?$AAo?$AAs?$AAe?$AA?5?$AAS?$AAA?$AAT?$AA?4?$AA?$AA@ ; `string'
PUBLIC	??_C@_1HE@ILPMMDIJ@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAD?$AAe?$AAt?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAs?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?3?$AA?5?$AA?$CF?$AAd?$AA?5?$AAw@ ; `string'
PUBLIC	??_C@_1JE@CKJBNHOH@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAD?$AAe?$AAt?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAs?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?3?$AA?5?$AAU?$AAn?$AAk?$AAn@ ; `string'
PUBLIC	??_C@_1EC@KFJEOFDO@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAS?$AAt?$AAe?$AAr?$AAe?$AAo?$AA?5?$AAd?$AAe?$AAt?$AAe?$AAc?$AAt?$AA?3?$AA?5?$AAv?$AAa?$AAl?$AA?5?$AA?$DN?$AA?5?$AA?$CF?$AAd@ ; `string'
PUBLIC	??_C@_1GE@JCANCBAH@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAS?$AAt?$AAe?$AAr?$AAe?$AAo?$AA?5?$AAd?$AAe?$AAt?$AAe?$AAc?$AAt?$AA?3?$AA?5?$AAN?$AAi?$AAc?$AAa?$AAm?$AA?5?$AAs?$AAy@ ; `string'
PUBLIC	??_C@_1FK@LIGACKKI@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAS?$AAt?$AAe?$AAr?$AAe?$AAo?$AA?5?$AAd?$AAe?$AAt?$AAe?$AAc?$AAt?$AA?3?$AA?5?$AAB?$AAT?$AAS?$AAC?$AA?5?$AAs?$AAt?$AAa@ ; `string'
;	COMDAT ??_C@_1FK@LIGACKKI@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAS?$AAt?$AAe?$AAr?$AAe?$AAo?$AA?5?$AAd?$AAe?$AAt?$AAe?$AAc?$AAt?$AA?3?$AA?5?$AAB?$AAT?$AAS?$AAC?$AA?5?$AAs?$AAt?$AAa@
CONST	SEGMENT
??_C@_1FK@LIGACKKI@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAS?$AAt?$AAe?$AAr?$AAe?$AAo?$AA?5?$AAd?$AAe?$AAt?$AAe?$AAc?$AAt?$AA?3?$AA?5?$AAB?$AAT?$AAS?$AAC?$AA?5?$AAs?$AAt?$AAa@ DB 'M'
	DB	00H, 'S', 00H, 'P', 00H, '3', 00H, '4', 00H, '0', 00H, '0', 00H
	DB	':', 00H, ' ', 00H, 'S', 00H, 't', 00H, 'e', 00H, 'r', 00H, 'e'
	DB	00H, 'o', 00H, ' ', 00H, 'd', 00H, 'e', 00H, 't', 00H, 'e', 00H
	DB	'c', 00H, 't', 00H, ':', 00H, ' ', 00H, 'B', 00H, 'T', 00H, 'S'
	DB	00H, 'C', 00H, ' ', 00H, 's', 00H, 't', 00H, 'a', 00H, 't', 00H
	DB	'u', 00H, 's', 00H, ' ', 00H, '=', 00H, ' ', 00H, '0', 00H, 'x'
	DB	00H, '%', 00H, '0', 00H, '4', 00H, 'x', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1GE@JCANCBAH@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAS?$AAt?$AAe?$AAr?$AAe?$AAo?$AA?5?$AAd?$AAe?$AAt?$AAe?$AAc?$AAt?$AA?3?$AA?5?$AAN?$AAi?$AAc?$AAa?$AAm?$AA?5?$AAs?$AAy@
CONST	SEGMENT
??_C@_1GE@JCANCBAH@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAS?$AAt?$AAe?$AAr?$AAe?$AAo?$AA?5?$AAd?$AAe?$AAt?$AAe?$AAc?$AAt?$AA?3?$AA?5?$AAN?$AAi?$AAc?$AAa?$AAm?$AA?5?$AAs?$AAy@ DB 'M'
	DB	00H, 'S', 00H, 'P', 00H, '3', 00H, '4', 00H, '0', 00H, '0', 00H
	DB	':', 00H, ' ', 00H, 'S', 00H, 't', 00H, 'e', 00H, 'r', 00H, 'e'
	DB	00H, 'o', 00H, ' ', 00H, 'd', 00H, 'e', 00H, 't', 00H, 'e', 00H
	DB	'c', 00H, 't', 00H, ':', 00H, ' ', 00H, 'N', 00H, 'i', 00H, 'c'
	DB	00H, 'a', 00H, 'm', 00H, ' ', 00H, 's', 00H, 'y', 00H, 'n', 00H
	DB	'c', 00H, ' ', 00H, '=', 00H, ' ', 00H, '%', 00H, 'd', 00H, ','
	DB	00H, ' ', 00H, 'v', 00H, 'a', 00H, 'l', 00H, ' ', 00H, '=', 00H
	DB	' ', 00H, '%', 00H, 'd', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_1EC@KFJEOFDO@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAS?$AAt?$AAe?$AAr?$AAe?$AAo?$AA?5?$AAd?$AAe?$AAt?$AAe?$AAc?$AAt?$AA?3?$AA?5?$AAv?$AAa?$AAl?$AA?5?$AA?$DN?$AA?5?$AA?$CF?$AAd@
CONST	SEGMENT
??_C@_1EC@KFJEOFDO@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAS?$AAt?$AAe?$AAr?$AAe?$AAo?$AA?5?$AAd?$AAe?$AAt?$AAe?$AAc?$AAt?$AA?3?$AA?5?$AAv?$AAa?$AAl?$AA?5?$AA?$DN?$AA?5?$AA?$CF?$AAd@ DB 'M'
	DB	00H, 'S', 00H, 'P', 00H, '3', 00H, '4', 00H, '0', 00H, '0', 00H
	DB	':', 00H, ' ', 00H, 'S', 00H, 't', 00H, 'e', 00H, 'r', 00H, 'e'
	DB	00H, 'o', 00H, ' ', 00H, 'd', 00H, 'e', 00H, 't', 00H, 'e', 00H
	DB	'c', 00H, 't', 00H, ':', 00H, ' ', 00H, 'v', 00H, 'a', 00H, 'l'
	DB	00H, ' ', 00H, '=', 00H, ' ', 00H, '%', 00H, 'd', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1JE@CKJBNHOH@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAD?$AAe?$AAt?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAs?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?3?$AA?5?$AAU?$AAn?$AAk?$AAn@
CONST	SEGMENT
??_C@_1JE@CKJBNHOH@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAD?$AAe?$AAt?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAs?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?3?$AA?5?$AAU?$AAn?$AAk?$AAn@ DB 'M'
	DB	00H, 'S', 00H, 'P', 00H, '3', 00H, '4', 00H, '0', 00H, '0', 00H
	DB	':', 00H, ' ', 00H, 'D', 00H, 'e', 00H, 't', 00H, 'e', 00H, 'c'
	DB	00H, 't', 00H, 'e', 00H, 'd', 00H, ' ', 00H, 's', 00H, 't', 00H
	DB	'a', 00H, 'n', 00H, 'd', 00H, 'a', 00H, 'r', 00H, 'd', 00H, ':'
	DB	00H, ' ', 00H, 'U', 00H, 'n', 00H, 'k', 00H, 'n', 00H, 'o', 00H
	DB	'w', 00H, 'n', 00H, '.', 00H, ' ', 00H, 'S', 00H, 'e', 00H, 't'
	DB	00H, ' ', 00H, 't', 00H, 'o', 00H, ' ', 00H, '%', 00H, 'd', 00H
	DB	' ', 00H, 'w', 00H, 'i', 00H, 't', 00H, 'h', 00H, ' ', 00H, 'c'
	DB	00H, 'a', 00H, 'r', 00H, 'r', 00H, 'i', 00H, 'e', 00H, 'r', 00H
	DB	's', 00H, ' ', 00H, 'a', 00H, 't', 00H, ' ', 00H, '%', 00H, 'g'
	DB	00H, '/', 00H, '%', 00H, 'g', 00H, ' ', 00H, 'M', 00H, 'h', 00H
	DB	'z', 00H, 00H, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_1HE@ILPMMDIJ@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAD?$AAe?$AAt?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAs?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?3?$AA?5?$AA?$CF?$AAd?$AA?5?$AAw@
CONST	SEGMENT
??_C@_1HE@ILPMMDIJ@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAD?$AAe?$AAt?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAs?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?3?$AA?5?$AA?$CF?$AAd?$AA?5?$AAw@ DB 'M'
	DB	00H, 'S', 00H, 'P', 00H, '3', 00H, '4', 00H, '0', 00H, '0', 00H
	DB	':', 00H, ' ', 00H, 'D', 00H, 'e', 00H, 't', 00H, 'e', 00H, 'c'
	DB	00H, 't', 00H, 'e', 00H, 'd', 00H, ' ', 00H, 's', 00H, 't', 00H
	DB	'a', 00H, 'n', 00H, 'd', 00H, 'a', 00H, 'r', 00H, 'd', 00H, ':'
	DB	00H, ' ', 00H, '%', 00H, 'd', 00H, ' ', 00H, 'w', 00H, 'i', 00H
	DB	't', 00H, 'h', 00H, ' ', 00H, 'c', 00H, 'a', 00H, 'r', 00H, 'r'
	DB	00H, 'i', 00H, 'e', 00H, 'r', 00H, 's', 00H, ' ', 00H, 'a', 00H
	DB	't', 00H, ' ', 00H, '%', 00H, 'g', 00H, '/', 00H, '%', 00H, 'g'
	DB	00H, ' ', 00H, 'M', 00H, 'h', 00H, 'z', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1CI@EDPOODKL@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAC?$AAh?$AAo?$AAs?$AAe?$AA?5?$AAS?$AAA?$AAT?$AA?4?$AA?$AA@
CONST	SEGMENT
??_C@_1CI@EDPOODKL@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAC?$AAh?$AAo?$AAs?$AAe?$AA?5?$AAS?$AAA?$AAT?$AA?4?$AA?$AA@ DB 'M'
	DB	00H, 'S', 00H, 'P', 00H, '3', 00H, '4', 00H, '0', 00H, '0', 00H
	DB	':', 00H, ' ', 00H, 'C', 00H, 'h', 00H, 'o', 00H, 's', 00H, 'e'
	DB	00H, ' ', 00H, 'S', 00H, 'A', 00H, 'T', 00H, '.', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1GI@KALADABB@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAS?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?5?$AAc?$AAa?$AAn?$AA?5?$AAb?$AAe?$AA?5?$AAD?$AA?1?$AAK?$AA?5?$AAF?$AAM?$AA?9@
CONST	SEGMENT
??_C@_1GI@KALADABB@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAS?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?5?$AAc?$AAa?$AAn?$AA?5?$AAb?$AAe?$AA?5?$AAD?$AA?1?$AAK?$AA?5?$AAF?$AAM?$AA?9@ DB 'M'
	DB	00H, 'S', 00H, 'P', 00H, '3', 00H, '4', 00H, '0', 00H, '0', 00H
	DB	':', 00H, ' ', 00H, 'S', 00H, 't', 00H, 'a', 00H, 'n', 00H, 'd'
	DB	00H, 'a', 00H, 'r', 00H, 'd', 00H, ' ', 00H, 'c', 00H, 'a', 00H
	DB	'n', 00H, ' ', 00H, 'b', 00H, 'e', 00H, ' ', 00H, 'D', 00H, '/'
	DB	00H, 'K', 00H, ' ', 00H, 'F', 00H, 'M', 00H, '-', 00H, 'M', 00H
	DB	'O', 00H, 'N', 00H, 'O', 00H, '(', 00H, 'H', 00H, 'D', 00H, 'E'
	DB	00H, 'V', 00H, '3', 00H, ')', 00H, ' ', 00H, 'o', 00H, 'r', 00H
	DB	' ', 00H, 'S', 00H, 'A', 00H, 'T', 00H, '.', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1HK@KHOAFMPC@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAC?$AAh?$AAo?$AAs?$AAe?$AA?5?$AAN?$AAI?$AAC?$AAA?$AAM?$AA?5?$AA?$CF?$AAs?$AA?5?$AAb?$AAa?$AAs?$AAe?$AAd?$AA?5?$AAo?$AAn@
CONST	SEGMENT
??_C@_1HK@KHOAFMPC@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAC?$AAh?$AAo?$AAs?$AAe?$AA?5?$AAN?$AAI?$AAC?$AAA?$AAM?$AA?5?$AA?$CF?$AAs?$AA?5?$AAb?$AAa?$AAs?$AAe?$AAd?$AA?5?$AAo?$AAn@ DB 'M'
	DB	00H, 'S', 00H, 'P', 00H, '3', 00H, '4', 00H, '0', 00H, '0', 00H
	DB	':', 00H, ' ', 00H, 'C', 00H, 'h', 00H, 'o', 00H, 's', 00H, 'e'
	DB	00H, ' ', 00H, 'N', 00H, 'I', 00H, 'C', 00H, 'A', 00H, 'M', 00H
	DB	' ', 00H, '%', 00H, 's', 00H, ' ', 00H, 'b', 00H, 'a', 00H, 's'
	DB	00H, 'e', 00H, 'd', 00H, ' ', 00H, 'o', 00H, 'n', 00H, ' ', 00H
	DB	'v', 00H, 'i', 00H, 'd', 00H, 'e', 00H, 'o', 00H, ' ', 00H, 'f'
	DB	00H, 'o', 00H, 'r', 00H, 'm', 00H, 'a', 00H, 't', 00H, ' ', 00H
	DB	'(', 00H, '%', 00H, 'd', 00H, ')', 00H, ' ', 00H, '(', 00H, '%'
	DB	00H, 's', 00H, 'S', 00H, 'E', 00H, 'C', 00H, 'A', 00H, 'M', 00H
	DB	')', 00H, 00H, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_15POECDHMN@?$AAF?$AAM?$AA?$AA@
CONST	SEGMENT
??_C@_15POECDHMN@?$AAF?$AAM?$AA?$AA@ DB 'F', 00H, 'M', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_15ODEHAHHF@?$AAA?$AAM?$AA?$AA@
CONST	SEGMENT
??_C@_15ODEHAHHF@?$AAA?$AAM?$AA?$AA@ DB 'A', 00H, 'M', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_17PPFKOCPI@?$AAN?$AAo?$AA?5?$AA?$AA@
CONST	SEGMENT
??_C@_17PPFKOCPI@?$AAN?$AAo?$AA?5?$AA?$AA@ DB 'N', 00H, 'o', 00H, ' ', 00H
	DB	00H, 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_1FC@MPFHDM@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAS?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?5?$AAc?$AAa?$AAn?$AA?5?$AAb?$AAe?$AA?5?$AAN?$AAI?$AAC?$AAA?$AAM?$AA?5?$AAA@
CONST	SEGMENT
??_C@_1FC@MPFHDM@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAS?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?5?$AAc?$AAa?$AAn?$AA?5?$AAb?$AAe?$AA?5?$AAN?$AAI?$AAC?$AAA?$AAM?$AA?5?$AAA@ DB 'M'
	DB	00H, 'S', 00H, 'P', 00H, '3', 00H, '4', 00H, '0', 00H, '0', 00H
	DB	':', 00H, ' ', 00H, 'S', 00H, 't', 00H, 'a', 00H, 'n', 00H, 'd'
	DB	00H, 'a', 00H, 'r', 00H, 'd', 00H, ' ', 00H, 'c', 00H, 'a', 00H
	DB	'n', 00H, ' ', 00H, 'b', 00H, 'e', 00H, ' ', 00H, 'N', 00H, 'I'
	DB	00H, 'C', 00H, 'A', 00H, 'M', 00H, ' ', 00H, 'A', 00H, 'M', 00H
	DB	' ', 00H, 'o', 00H, 'r', 00H, ' ', 00H, 'F', 00H, 'M', 00H, '.'
	DB	00H, 00H, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_1FK@LNFGHHDN@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAC?$AAh?$AAo?$AAs?$AAe?$AA?5?$AA?$CF?$AAs?$AA?5?$AAb?$AAa?$AAs?$AAe?$AAd?$AA?5?$AAo?$AAn?$AA?5?$AAv?$AAi?$AAd?$AAe?$AAo@
CONST	SEGMENT
??_C@_1FK@LNFGHHDN@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAC?$AAh?$AAo?$AAs?$AAe?$AA?5?$AA?$CF?$AAs?$AA?5?$AAb?$AAa?$AAs?$AAe?$AAd?$AA?5?$AAo?$AAn?$AA?5?$AAv?$AAi?$AAd?$AAe?$AAo@ DB 'M'
	DB	00H, 'S', 00H, 'P', 00H, '3', 00H, '4', 00H, '0', 00H, '0', 00H
	DB	':', 00H, ' ', 00H, 'C', 00H, 'h', 00H, 'o', 00H, 's', 00H, 'e'
	DB	00H, ' ', 00H, '%', 00H, 's', 00H, ' ', 00H, 'b', 00H, 'a', 00H
	DB	's', 00H, 'e', 00H, 'd', 00H, ' ', 00H, 'o', 00H, 'n', 00H, ' '
	DB	00H, 'v', 00H, 'i', 00H, 'd', 00H, 'e', 00H, 'o', 00H, ' ', 00H
	DB	'f', 00H, 'o', 00H, 'r', 00H, 'm', 00H, 'a', 00H, 't', 00H, ' '
	DB	00H, '(', 00H, '%', 00H, 'd', 00H, ')', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1BK@FLPIMEMH@?$AAJ?$AAa?$AAp?$AAa?$AAn?$AA?5?$AAS?$AAt?$AAe?$AAr?$AAe?$AAo?$AA?$AA@
CONST	SEGMENT
??_C@_1BK@FLPIMEMH@?$AAJ?$AAa?$AAp?$AAa?$AAn?$AA?5?$AAS?$AAt?$AAe?$AAr?$AAe?$AAo?$AA?$AA@ DB 'J'
	DB	00H, 'a', 00H, 'p', 00H, 'a', 00H, 'n', 00H, ' ', 00H, 'S', 00H
	DB	't', 00H, 'e', 00H, 'r', 00H, 'e', 00H, 'o', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_19FEONDAKC@?$AAB?$AAT?$AAS?$AAC?$AA?$AA@
CONST	SEGMENT
??_C@_19FEONDAKC@?$AAB?$AAT?$AAS?$AAC?$AA?$AA@ DB 'B', 00H, 'T', 00H, 'S', 00H
	DB	'C', 00H, 00H, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_1FO@OADDNIBD@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAS?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?5?$AAc?$AAa?$AAn?$AA?5?$AAb?$AAe?$AA?5?$AAB?$AAT?$AAS?$AAC?$AA?5?$AAo?$AAr@
CONST	SEGMENT
??_C@_1FO@OADDNIBD@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAS?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?5?$AAc?$AAa?$AAn?$AA?5?$AAb?$AAe?$AA?5?$AAB?$AAT?$AAS?$AAC?$AA?5?$AAo?$AAr@ DB 'M'
	DB	00H, 'S', 00H, 'P', 00H, '3', 00H, '4', 00H, '0', 00H, '0', 00H
	DB	':', 00H, ' ', 00H, 'S', 00H, 't', 00H, 'a', 00H, 'n', 00H, 'd'
	DB	00H, 'a', 00H, 'r', 00H, 'd', 00H, ' ', 00H, 'c', 00H, 'a', 00H
	DB	'n', 00H, ' ', 00H, 'b', 00H, 'e', 00H, ' ', 00H, 'B', 00H, 'T'
	DB	00H, 'S', 00H, 'C', 00H, ' ', 00H, 'o', 00H, 'r', 00H, ' ', 00H
	DB	'J', 00H, 'a', 00H, 'p', 00H, 'a', 00H, 'n', 00H, ' ', 00H, 'S'
	DB	00H, 't', 00H, 'e', 00H, 'r', 00H, 'e', 00H, 'o', 00H, '.', 00H
	DB	00H, 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_1HK@FOKIJHAH@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAD?$AAe?$AAt?$AAe?$AAc?$AAt?$AAi?$AAn?$AAg?$AA?5?$AAs?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?4?$AA?5?$AAF?$AAo?$AAu@
CONST	SEGMENT
??_C@_1HK@FOKIJHAH@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAD?$AAe?$AAt?$AAe?$AAc?$AAt?$AAi?$AAn?$AAg?$AA?5?$AAs?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?4?$AA?5?$AAF?$AAo?$AAu@ DB 'M'
	DB	00H, 'S', 00H, 'P', 00H, '3', 00H, '4', 00H, '0', 00H, '0', 00H
	DB	':', 00H, ' ', 00H, 'D', 00H, 'e', 00H, 't', 00H, 'e', 00H, 'c'
	DB	00H, 't', 00H, 'i', 00H, 'n', 00H, 'g', 00H, ' ', 00H, 's', 00H
	DB	't', 00H, 'a', 00H, 'n', 00H, 'd', 00H, 'a', 00H, 'r', 00H, 'd'
	DB	00H, '.', 00H, ' ', 00H, 'F', 00H, 'o', 00H, 'u', 00H, 'n', 00H
	DB	'd', 00H, ' ', 00H, 'M', 00H, 'a', 00H, 'j', 00H, 'o', 00H, 'r'
	DB	00H, '/', 00H, 'M', 00H, 'i', 00H, 'n', 00H, 'o', 00H, 'r', 00H
	DB	' ', 00H, ':', 00H, ' ', 00H, '%', 00H, 'g', 00H, ' ', 00H, '/'
	DB	00H, ' ', 00H, '%', 00H, 'g', 00H, ' ', 00H, 'M', 00H, 'h', 00H
	DB	'z', 00H, 00H, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_1HI@KFFBIJNI@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAD?$AAe?$AAt?$AAe?$AAc?$AAt?$AAi?$AAn?$AAg?$AA?5?$AAs?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?4?$AA?5?$AAM?$AAi?$AAn@
CONST	SEGMENT
??_C@_1HI@KFFBIJNI@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAD?$AAe?$AAt?$AAe?$AAc?$AAt?$AAi?$AAn?$AAg?$AA?5?$AAs?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?4?$AA?5?$AAM?$AAi?$AAn@ DB 'M'
	DB	00H, 'S', 00H, 'P', 00H, '3', 00H, '4', 00H, '0', 00H, '0', 00H
	DB	':', 00H, ' ', 00H, 'D', 00H, 'e', 00H, 't', 00H, 'e', 00H, 'c'
	DB	00H, 't', 00H, 'i', 00H, 'n', 00H, 'g', 00H, ' ', 00H, 's', 00H
	DB	't', 00H, 'a', 00H, 'n', 00H, 'd', 00H, 'a', 00H, 'r', 00H, 'd'
	DB	00H, '.', 00H, ' ', 00H, 'M', 00H, 'i', 00H, 'n', 00H, 'o', 00H
	DB	'r', 00H, ' ', 00H, 'c', 00H, 'a', 00H, 'r', 00H, 'r', 00H, 'i'
	DB	00H, 'e', 00H, 'r', 00H, ' ', 00H, '=', 00H, ' ', 00H, '%', 00H
	DB	'g', 00H, ' ', 00H, 'M', 00H, 'h', 00H, 'z', 00H, ',', 00H, ' '
	DB	00H, 'v', 00H, 'a', 00H, 'l', 00H, '=', 00H, '%', 00H, 'd', 00H
	DB	00H, 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_1JA@CAOCNMGL@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAD?$AAe?$AAt?$AAe?$AAc?$AAt?$AAi?$AAn?$AAg?$AA?5?$AAs?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?4?$AA?5?$AAF?$AAo?$AAu@
CONST	SEGMENT
??_C@_1JA@CAOCNMGL@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAD?$AAe?$AAt?$AAe?$AAc?$AAt?$AAi?$AAn?$AAg?$AA?5?$AAs?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?4?$AA?5?$AAF?$AAo?$AAu@ DB 'M'
	DB	00H, 'S', 00H, 'P', 00H, '3', 00H, '4', 00H, '0', 00H, '0', 00H
	DB	':', 00H, ' ', 00H, 'D', 00H, 'e', 00H, 't', 00H, 'e', 00H, 'c'
	DB	00H, 't', 00H, 'i', 00H, 'n', 00H, 'g', 00H, ' ', 00H, 's', 00H
	DB	't', 00H, 'a', 00H, 'n', 00H, 'd', 00H, 'a', 00H, 'r', 00H, 'd'
	DB	00H, '.', 00H, ' ', 00H, 'F', 00H, 'o', 00H, 'u', 00H, 'n', 00H
	DB	'd', 00H, ' ', 00H, 'M', 00H, 'a', 00H, 'j', 00H, 'o', 00H, 'r'
	DB	00H, ' ', 00H, 'c', 00H, 'a', 00H, 'r', 00H, 'r', 00H, 'i', 00H
	DB	'e', 00H, 'r', 00H, ' ', 00H, '=', 00H, ' ', 00H, '%', 00H, 'g'
	DB	00H, ' ', 00H, 'M', 00H, 'h', 00H, 'z', 00H, '.', 00H, ' ', 00H
	DB	'S', 00H, 'e', 00H, 't', 00H, 'u', 00H, 'p', 00H, ' ', 00H, 'M'
	DB	00H, 'i', 00H, 'n', 00H, 'o', 00H, 'r', 00H, '.', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1HI@LFBFNKOI@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAD?$AAe?$AAt?$AAe?$AAc?$AAt?$AAi?$AAn?$AAg?$AA?5?$AAs?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?4?$AA?5?$AAM?$AAa?$AAj@
CONST	SEGMENT
??_C@_1HI@LFBFNKOI@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAD?$AAe?$AAt?$AAe?$AAc?$AAt?$AAi?$AAn?$AAg?$AA?5?$AAs?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?4?$AA?5?$AAM?$AAa?$AAj@ DB 'M'
	DB	00H, 'S', 00H, 'P', 00H, '3', 00H, '4', 00H, '0', 00H, '0', 00H
	DB	':', 00H, ' ', 00H, 'D', 00H, 'e', 00H, 't', 00H, 'e', 00H, 'c'
	DB	00H, 't', 00H, 'i', 00H, 'n', 00H, 'g', 00H, ' ', 00H, 's', 00H
	DB	't', 00H, 'a', 00H, 'n', 00H, 'd', 00H, 'a', 00H, 'r', 00H, 'd'
	DB	00H, '.', 00H, ' ', 00H, 'M', 00H, 'a', 00H, 'j', 00H, 'o', 00H
	DB	'r', 00H, ' ', 00H, 'c', 00H, 'a', 00H, 'r', 00H, 'r', 00H, 'i'
	DB	00H, 'e', 00H, 'r', 00H, ' ', 00H, '=', 00H, ' ', 00H, '%', 00H
	DB	'g', 00H, ' ', 00H, 'M', 00H, 'h', 00H, 'z', 00H, ',', 00H, ' '
	DB	00H, 'v', 00H, 'a', 00H, 'l', 00H, '=', 00H, '%', 00H, 'd', 00H
	DB	00H, 00H					; `string'
PUBLIC	?InitializeRevA@CMSP34x0AudioDecoder@@AAEXXZ	; CMSP34x0AudioDecoder::InitializeRevA
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\msp34xx_reva.cpp
;	COMDAT ?InitializeRevA@CMSP34x0AudioDecoder@@AAEXXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?InitializeRevA@CMSP34x0AudioDecoder@@AAEXXZ PROC	; CMSP34x0AudioDecoder::InitializeRevA, COMDAT
; _this$ = ecx

; 454  : {

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

; 455  :     //Everything is set up in SetStandard3400 and SetSoundChannel3400
; 456  : }

  00007	8b e5		 mov	 esp, ebp
  00009	5d		 pop	 ebp
  0000a	c3		 ret	 0
?InitializeRevA@CMSP34x0AudioDecoder@@AAEXXZ ENDP	; CMSP34x0AudioDecoder::InitializeRevA
PUBLIC	?SetCarrierRevA@CMSP34x0AudioDecoder@@AAEXW4eCarrier@1@0@Z ; CMSP34x0AudioDecoder::SetCarrierRevA
; Function compile flags: /Odtp
;	COMDAT ?SetCarrierRevA@CMSP34x0AudioDecoder@@AAEXW4eCarrier@1@0@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_MajorCarrier$ = 8					; size = 4
_MinorCarrier$ = 12					; size = 4
?SetCarrierRevA@CMSP34x0AudioDecoder@@AAEXW4eCarrier@1@0@Z PROC ; CMSP34x0AudioDecoder::SetCarrierRevA, COMDAT
; _this$ = ecx

; 681  : {

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

; 682  :    /// Step 7, 8, 9 and 10: DCO1_LO, DCO1_HI, DCO2_LO and DCO2_HI
; 683  :     SetDEMRegister(DEM_WR_DCO1_LO, MinorCarrier & 0xfff);

  00007	8b 45 0c	 mov	 eax, DWORD PTR _MinorCarrier$[ebp]
  0000a	25 ff 0f 00 00	 and	 eax, 4095		; 00000fffH
  0000f	50		 push	 eax
  00010	68 93 00 00 00	 push	 147			; 00000093H
  00015	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00018	e8 00 00 00 00	 call	 ?SetDEMRegister@CMSP34x0@@IAEXW4eDEMWriteRegister@1@G@Z ; CMSP34x0::SetDEMRegister

; 684  :     SetDEMRegister(DEM_WR_DCO1_HI, MinorCarrier >> 12);

  0001d	8b 4d 0c	 mov	 ecx, DWORD PTR _MinorCarrier$[ebp]
  00020	c1 f9 0c	 sar	 ecx, 12			; 0000000cH
  00023	51		 push	 ecx
  00024	68 9b 00 00 00	 push	 155			; 0000009bH
  00029	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0002c	e8 00 00 00 00	 call	 ?SetDEMRegister@CMSP34x0@@IAEXW4eDEMWriteRegister@1@G@Z ; CMSP34x0::SetDEMRegister

; 685  :     SetDEMRegister(DEM_WR_DCO2_LO, MajorCarrier & 0xfff);

  00031	8b 55 08	 mov	 edx, DWORD PTR _MajorCarrier$[ebp]
  00034	81 e2 ff 0f 00
	00		 and	 edx, 4095		; 00000fffH
  0003a	52		 push	 edx
  0003b	68 a3 00 00 00	 push	 163			; 000000a3H
  00040	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00043	e8 00 00 00 00	 call	 ?SetDEMRegister@CMSP34x0@@IAEXW4eDEMWriteRegister@1@G@Z ; CMSP34x0::SetDEMRegister

; 686  :     SetDEMRegister(DEM_WR_DCO2_HI, MajorCarrier >> 12);

  00048	8b 45 08	 mov	 eax, DWORD PTR _MajorCarrier$[ebp]
  0004b	c1 f8 0c	 sar	 eax, 12			; 0000000cH
  0004e	50		 push	 eax
  0004f	68 ab 00 00 00	 push	 171			; 000000abH
  00054	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00057	e8 00 00 00 00	 call	 ?SetDEMRegister@CMSP34x0@@IAEXW4eDEMWriteRegister@1@G@Z ; CMSP34x0::SetDEMRegister

; 687  : 
; 688  :     SetDEMRegister(DEM_WR_LOAD_REG_12, 0);

  0005c	6a 00		 push	 0
  0005e	6a 56		 push	 86			; 00000056H
  00060	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00063	e8 00 00 00 00	 call	 ?SetDEMRegister@CMSP34x0@@IAEXW4eDEMWriteRegister@1@G@Z ; CMSP34x0::SetDEMRegister

; 689  : }

  00068	8b e5		 mov	 esp, ebp
  0006a	5d		 pop	 ebp
  0006b	c2 08 00	 ret	 8
?SetCarrierRevA@CMSP34x0AudioDecoder@@AAEXW4eCarrier@1@0@Z ENDP ; CMSP34x0AudioDecoder::SetCarrierRevA
_TEXT	ENDS
PUBLIC	?DetectSoundChannelsRevA@CMSP34x0AudioDecoder@@AAE?AW4eSupportedSoundChannels@@XZ ; CMSP34x0AudioDecoder::DetectSoundChannelsRevA
; Function compile flags: /Odtp
;	COMDAT ?DetectSoundChannelsRevA@CMSP34x0AudioDecoder@@AAE?AW4eSupportedSoundChannels@@XZ
_TEXT	SEGMENT
tv138 = -28						; size = 4
tv69 = -24						; size = 4
_this$ = -20						; size = 4
_val$140714 = -16					; size = 4
_val$140701 = -12					; size = 4
_val$140694 = -8					; size = 4
_supported$ = -4					; size = 4
?DetectSoundChannelsRevA@CMSP34x0AudioDecoder@@AAE?AW4eSupportedSoundChannels@@XZ PROC ; CMSP34x0AudioDecoder::DetectSoundChannelsRevA, COMDAT
; _this$ = ecx

; 251  : {

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

; 252  :     int supported = SUPPORTEDSOUNDCHANNEL_MONO;

  00009	c7 45 fc 01 00
	00 00		 mov	 DWORD PTR _supported$[ebp], 1

; 253  :     switch (m_AudioStandard)

  00010	8b 45 ec	 mov	 eax, DWORD PTR _this$[ebp]
  00013	8b 48 1c	 mov	 ecx, DWORD PTR [eax+28]
  00016	89 4d e8	 mov	 DWORD PTR tv69[ebp], ecx
  00019	8b 55 e8	 mov	 edx, DWORD PTR tv69[ebp]
  0001c	83 ea 02	 sub	 edx, 2
  0001f	89 55 e8	 mov	 DWORD PTR tv69[ebp], edx
  00022	83 7d e8 2e	 cmp	 DWORD PTR tv69[ebp], 46	; 0000002eH
  00026	0f 87 4e 01 00
	00		 ja	 $LN19@DetectSoun@2
  0002c	8b 45 e8	 mov	 eax, DWORD PTR tv69[ebp]
  0002f	0f b6 88 00 00
	00 00		 movzx	 ecx, BYTE PTR $LN23@DetectSoun@2[eax]
  00036	ff 24 8d 00 00
	00 00		 jmp	 DWORD PTR $LN25@DetectSoun@2[ecx*4]
$LN18@DetectSoun@2:

; 254  :     {
; 255  :     case MSP34x0_STANDARD_M_DUAL_FM:
; 256  :     case MSP34x0_STANDARD_BG_DUAL_FM:
; 257  :     case MSP34x0_STANDARD_DK1_DUAL_FM:
; 258  :     case MSP34x0_STANDARD_DK2_DUAL_FM:
; 259  :     case MSP34x0_STANDARD_DK_FM_MONO:
; 260  :     case MSP34x0_STANDARD_DK3_DUAL_FM:
; 261  :     case MSP34x0_STANDARD_M_EIA_J:
; 262  :         {
; 263  :             int val = GetDSPRegister(DSP_RD_A2_STEREO_DETECT);

  0003d	6a 18		 push	 24			; 00000018H
  0003f	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00042	e8 00 00 00 00	 call	 ?GetDSPRegister@CMSP34x0@@IAEGW4eDSPReadRegister@1@@Z ; CMSP34x0::GetDSPRegister
  00047	0f b7 d0	 movzx	 edx, ax
  0004a	89 55 f8	 mov	 DWORD PTR _val$140694[ebp], edx

; 264  :             if (val > 32767) { val -= 65536; }

  0004d	81 7d f8 ff 7f
	00 00		 cmp	 DWORD PTR _val$140694[ebp], 32767 ; 00007fffH
  00054	7e 0b		 jle	 SHORT $LN17@DetectSoun@2
  00056	8b 45 f8	 mov	 eax, DWORD PTR _val$140694[ebp]
  00059	2d 00 00 01 00	 sub	 eax, 65536		; 00010000H
  0005e	89 45 f8	 mov	 DWORD PTR _val$140694[ebp], eax
$LN17@DetectSoun@2:

; 265  : 
; 266  :             if (val > 4096)

  00061	81 7d f8 00 10
	00 00		 cmp	 DWORD PTR _val$140694[ebp], 4096 ; 00001000H
  00068	7e 0b		 jle	 SHORT $LN16@DetectSoun@2

; 267  :             {
; 268  :                 supported |= SUPPORTEDSOUNDCHANNEL_STEREO;

  0006a	8b 4d fc	 mov	 ecx, DWORD PTR _supported$[ebp]
  0006d	83 c9 02	 or	 ecx, 2
  00070	89 4d fc	 mov	 DWORD PTR _supported$[ebp], ecx
  00073	eb 12		 jmp	 SHORT $LN15@DetectSoun@2
$LN16@DetectSoun@2:

; 269  :             }
; 270  :             else if (val < -4096)

  00075	81 7d f8 00 f0
	ff ff		 cmp	 DWORD PTR _val$140694[ebp], -4096 ; fffff000H
  0007c	7d 09		 jge	 SHORT $LN15@DetectSoun@2

; 271  :             {
; 272  :                 supported |= SUPPORTEDSOUNDCHANNEL_LANG1|SUPPORTEDSOUNDCHANNEL_LANG2;

  0007e	8b 55 fc	 mov	 edx, DWORD PTR _supported$[ebp]
  00081	83 ca 0c	 or	 edx, 12			; 0000000cH
  00084	89 55 fc	 mov	 DWORD PTR _supported$[ebp], edx
$LN15@DetectSoun@2:

; 273  :             }
; 274  :             LOG(2,_T("MSP3400: Stereo detect: val = %d"),val);

  00087	8b 45 f8	 mov	 eax, DWORD PTR _val$140694[ebp]
  0008a	50		 push	 eax
  0008b	68 00 00 00 00	 push	 OFFSET ??_C@_1EC@KFJEOFDO@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAS?$AAt?$AAe?$AAr?$AAe?$AAo?$AA?5?$AAd?$AAe?$AAt?$AAe?$AAc?$AAt?$AA?3?$AA?5?$AAv?$AAa?$AAl?$AA?5?$AA?$DN?$AA?5?$AA?$CF?$AAd@
  00090	6a 02		 push	 2
  00092	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00097	83 c4 0c	 add	 esp, 12			; 0000000cH

; 275  :         }
; 276  :         break;

  0009a	e9 db 00 00 00	 jmp	 $LN19@DetectSoun@2
$LN13@DetectSoun@2:

; 277  :     case MSP34x0_STANDARD_BG_NICAM_FM:
; 278  :     case MSP34x0_STANDARD_I_NICAM_FM:
; 279  :     case MSP34x0_STANDARD_DK_NICAM_FM:
; 280  :     case MSP34x0_STANDARD_DK_NICAM_FM_HDEV2:
; 281  :     case MSP34x0_STANDARD_DK_NICAM_FM_HDEV3:
; 282  :     case MSP34x0_STANDARD_L_NICAM_AM:
; 283  :         {
; 284  :             int val = GetDEMRegister(DEM_RD_C_AD_BITS);

  0009f	6a 23		 push	 35			; 00000023H
  000a1	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  000a4	e8 00 00 00 00	 call	 ?GetDEMRegister@CMSP34x0@@IAEGW4eDEMReadRegister@1@@Z ; CMSP34x0::GetDEMRegister
  000a9	0f b7 c8	 movzx	 ecx, ax
  000ac	89 4d f4	 mov	 DWORD PTR _val$140701[ebp], ecx

; 285  :             LOG(2,_T("MSP3400: Stereo detect: Nicam sync = %d, val = %d"),val&1,(val&0x1e)>>1);

  000af	8b 55 f4	 mov	 edx, DWORD PTR _val$140701[ebp]
  000b2	83 e2 1e	 and	 edx, 30			; 0000001eH
  000b5	d1 fa		 sar	 edx, 1
  000b7	52		 push	 edx
  000b8	8b 45 f4	 mov	 eax, DWORD PTR _val$140701[ebp]
  000bb	83 e0 01	 and	 eax, 1
  000be	50		 push	 eax
  000bf	68 00 00 00 00	 push	 OFFSET ??_C@_1GE@JCANCBAH@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAS?$AAt?$AAe?$AAr?$AAe?$AAo?$AA?5?$AAd?$AAe?$AAt?$AAe?$AAc?$AAt?$AA?3?$AA?5?$AAN?$AAi?$AAc?$AAa?$AAm?$AA?5?$AAs?$AAy@
  000c4	6a 02		 push	 2
  000c6	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  000cb	83 c4 10	 add	 esp, 16			; 00000010H

; 286  :             if (val&1)

  000ce	8b 4d f4	 mov	 ecx, DWORD PTR _val$140701[ebp]
  000d1	83 e1 01	 and	 ecx, 1
  000d4	74 4e		 je	 SHORT $LN12@DetectSoun@2

; 287  :             {
; 288  :                 // nicam synced
; 289  :                 switch ((val & 0x1e) >> 1)

  000d6	8b 55 f4	 mov	 edx, DWORD PTR _val$140701[ebp]
  000d9	83 e2 1e	 and	 edx, 30			; 0000001eH
  000dc	d1 fa		 sar	 edx, 1
  000de	89 55 e4	 mov	 DWORD PTR tv138[ebp], edx
  000e1	83 7d e4 0a	 cmp	 DWORD PTR tv138[ebp], 10 ; 0000000aH
  000e5	77 32		 ja	 SHORT $LN6@DetectSoun@2
  000e7	8b 45 e4	 mov	 eax, DWORD PTR tv138[ebp]
  000ea	0f b6 88 00 00
	00 00		 movzx	 ecx, BYTE PTR $LN24@DetectSoun@2[eax]
  000f1	ff 24 8d 00 00
	00 00		 jmp	 DWORD PTR $LN26@DetectSoun@2[ecx*4]
$LN9@DetectSoun@2:

; 290  :                 {
; 291  :                 case 0:
; 292  :                 case 8:
; 293  :                     supported |= SUPPORTEDSOUNDCHANNEL_STEREO;

  000f8	8b 55 fc	 mov	 edx, DWORD PTR _supported$[ebp]
  000fb	83 ca 02	 or	 edx, 2
  000fe	89 55 fc	 mov	 DWORD PTR _supported$[ebp], edx

; 294  :                     break;

  00101	eb 1f		 jmp	 SHORT $LN10@DetectSoun@2
$LN8@DetectSoun@2:

; 295  :                 case 1:
; 296  :                 case 9:
; 297  :                     supported |= SUPPORTEDSOUNDCHANNEL_LANG1;

  00103	8b 45 fc	 mov	 eax, DWORD PTR _supported$[ebp]
  00106	83 c8 04	 or	 eax, 4
  00109	89 45 fc	 mov	 DWORD PTR _supported$[ebp], eax

; 298  :                     break;

  0010c	eb 14		 jmp	 SHORT $LN10@DetectSoun@2
$LN7@DetectSoun@2:

; 299  :                 case 2:
; 300  :                 case 10:
; 301  :                     supported |= SUPPORTEDSOUNDCHANNEL_LANG1|SUPPORTEDSOUNDCHANNEL_LANG2;

  0010e	8b 4d fc	 mov	 ecx, DWORD PTR _supported$[ebp]
  00111	83 c9 0c	 or	 ecx, 12			; 0000000cH
  00114	89 4d fc	 mov	 DWORD PTR _supported$[ebp], ecx

; 302  :                     break;

  00117	eb 09		 jmp	 SHORT $LN10@DetectSoun@2
$LN6@DetectSoun@2:

; 303  :                 default:
; 304  :                     supported |= SUPPORTEDSOUNDCHANNEL_MONO;

  00119	8b 55 fc	 mov	 edx, DWORD PTR _supported$[ebp]
  0011c	83 ca 01	 or	 edx, 1
  0011f	89 55 fc	 mov	 DWORD PTR _supported$[ebp], edx
$LN10@DetectSoun@2:

; 305  :                     break;
; 306  :                 }
; 307  :             }
; 308  :             else

  00122	eb 09		 jmp	 SHORT $LN5@DetectSoun@2
$LN12@DetectSoun@2:

; 309  :             {
; 310  :                 supported |= SUPPORTEDSOUNDCHANNEL_MONO;

  00124	8b 45 fc	 mov	 eax, DWORD PTR _supported$[ebp]
  00127	83 c8 01	 or	 eax, 1
  0012a	89 45 fc	 mov	 DWORD PTR _supported$[ebp], eax
$LN5@DetectSoun@2:

; 311  :             }
; 312  :         }
; 313  :         break;

  0012d	eb 4b		 jmp	 SHORT $LN19@DetectSoun@2
$LN4@DetectSoun@2:

; 314  :     case MSP34x0_STANDARD_M_BTSC:
; 315  :     case MSP34x0_STANDARD_M_BTSC_MONO:
; 316  :         {
; 317  :             int val = GetDEMRegister(DEM_RD_STATUS);

  0012f	68 00 02 00 00	 push	 512			; 00000200H
  00134	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00137	e8 00 00 00 00	 call	 ?GetDEMRegister@CMSP34x0@@IAEGW4eDEMReadRegister@1@@Z ; CMSP34x0::GetDEMRegister
  0013c	0f b7 c8	 movzx	 ecx, ax
  0013f	89 4d f0	 mov	 DWORD PTR _val$140714[ebp], ecx

; 318  :             LOG(2,_T("MSP3400: Stereo detect: BTSC status = 0x%04x"),val);

  00142	8b 55 f0	 mov	 edx, DWORD PTR _val$140714[ebp]
  00145	52		 push	 edx
  00146	68 00 00 00 00	 push	 OFFSET ??_C@_1FK@LIGACKKI@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAS?$AAt?$AAe?$AAr?$AAe?$AAo?$AA?5?$AAd?$AAe?$AAt?$AAe?$AAc?$AAt?$AA?3?$AA?5?$AAB?$AAT?$AAS?$AAC?$AA?5?$AAs?$AAt?$AAa@
  0014b	6a 02		 push	 2
  0014d	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00152	83 c4 0c	 add	 esp, 12			; 0000000cH

; 319  :             if (val&0x0040)

  00155	8b 45 f0	 mov	 eax, DWORD PTR _val$140714[ebp]
  00158	83 e0 40	 and	 eax, 64			; 00000040H
  0015b	74 09		 je	 SHORT $LN3@DetectSoun@2

; 320  :             {
; 321  :                 supported |= SUPPORTEDSOUNDCHANNEL_STEREO;

  0015d	8b 4d fc	 mov	 ecx, DWORD PTR _supported$[ebp]
  00160	83 c9 02	 or	 ecx, 2
  00163	89 4d fc	 mov	 DWORD PTR _supported$[ebp], ecx
$LN3@DetectSoun@2:

; 322  :             }
; 323  :             if (val&0x0180)

  00166	8b 55 f0	 mov	 edx, DWORD PTR _val$140714[ebp]
  00169	81 e2 80 01 00
	00		 and	 edx, 384		; 00000180H
  0016f	74 09		 je	 SHORT $LN19@DetectSoun@2

; 324  :             {
; 325  :                 supported |= SUPPORTEDSOUNDCHANNEL_LANG1|SUPPORTEDSOUNDCHANNEL_LANG2;

  00171	8b 45 fc	 mov	 eax, DWORD PTR _supported$[ebp]
  00174	83 c8 0c	 or	 eax, 12			; 0000000cH
  00177	89 45 fc	 mov	 DWORD PTR _supported$[ebp], eax
$LN19@DetectSoun@2:

; 326  :             }
; 327  :         }
; 328  :         break;
; 329  :     default:
; 330  :         break;
; 331  :     }
; 332  :     return (eSupportedSoundChannels)supported;

  0017a	8b 45 fc	 mov	 eax, DWORD PTR _supported$[ebp]

; 333  : }

  0017d	8b e5		 mov	 esp, ebp
  0017f	5d		 pop	 ebp
  00180	c3		 ret	 0
  00181	8d 49 00	 npad	 3
$LN25@DetectSoun@2:
  00184	00 00 00 00	 DD	 $LN18@DetectSoun@2
  00188	00 00 00 00	 DD	 $LN13@DetectSoun@2
  0018c	00 00 00 00	 DD	 $LN4@DetectSoun@2
  00190	00 00 00 00	 DD	 $LN19@DetectSoun@2
$LN23@DetectSoun@2:
  00194	00		 DB	 0
  00195	00		 DB	 0
  00196	00		 DB	 0
  00197	00		 DB	 0
  00198	00		 DB	 0
  00199	00		 DB	 0
  0019a	01		 DB	 1
  0019b	01		 DB	 1
  0019c	01		 DB	 1
  0019d	01		 DB	 1
  0019e	01		 DB	 1
  0019f	01		 DB	 1
  001a0	03		 DB	 3
  001a1	03		 DB	 3
  001a2	03		 DB	 3
  001a3	03		 DB	 3
  001a4	03		 DB	 3
  001a5	03		 DB	 3
  001a6	03		 DB	 3
  001a7	03		 DB	 3
  001a8	03		 DB	 3
  001a9	03		 DB	 3
  001aa	03		 DB	 3
  001ab	03		 DB	 3
  001ac	03		 DB	 3
  001ad	03		 DB	 3
  001ae	03		 DB	 3
  001af	03		 DB	 3
  001b0	03		 DB	 3
  001b1	03		 DB	 3
  001b2	02		 DB	 2
  001b3	02		 DB	 2
  001b4	03		 DB	 3
  001b5	03		 DB	 3
  001b6	03		 DB	 3
  001b7	03		 DB	 3
  001b8	03		 DB	 3
  001b9	03		 DB	 3
  001ba	03		 DB	 3
  001bb	03		 DB	 3
  001bc	03		 DB	 3
  001bd	03		 DB	 3
  001be	03		 DB	 3
  001bf	03		 DB	 3
  001c0	03		 DB	 3
  001c1	03		 DB	 3
  001c2	00		 DB	 0
  001c3	90		 npad	 1
$LN26@DetectSoun@2:
  001c4	00 00 00 00	 DD	 $LN9@DetectSoun@2
  001c8	00 00 00 00	 DD	 $LN8@DetectSoun@2
  001cc	00 00 00 00	 DD	 $LN7@DetectSoun@2
  001d0	00 00 00 00	 DD	 $LN6@DetectSoun@2
$LN24@DetectSoun@2:
  001d4	00		 DB	 0
  001d5	01		 DB	 1
  001d6	02		 DB	 2
  001d7	03		 DB	 3
  001d8	03		 DB	 3
  001d9	03		 DB	 3
  001da	03		 DB	 3
  001db	03		 DB	 3
  001dc	00		 DB	 0
  001dd	01		 DB	 1
  001de	02		 DB	 2
?DetectSoundChannelsRevA@CMSP34x0AudioDecoder@@AAE?AW4eSupportedSoundChannels@@XZ ENDP ; CMSP34x0AudioDecoder::DetectSoundChannelsRevA
_TEXT	ENDS
PUBLIC	__real@40326e978d4fdf3b
PUBLIC	?DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@1@XZ ; CMSP34x0AudioDecoder::DetectStandardRevA
;	COMDAT ?m_MinorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
_BSS	SEGMENT
?m_MinorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA DD 01H DUP (?) ; `CMSP34x0AudioDecoder::DetectStandardRevA'::`2'::m_MinorIndex
_BSS	ENDS
;	COMDAT ?m_MajorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
_BSS	SEGMENT
?m_MajorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA DD 01H DUP (?) ; `CMSP34x0AudioDecoder::DetectStandardRevA'::`2'::m_MajorIndex
_BSS	ENDS
;	COMDAT ?m_IndexMax1@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
_BSS	SEGMENT
?m_IndexMax1@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA DD 01H DUP (?) ; `CMSP34x0AudioDecoder::DetectStandardRevA'::`2'::m_IndexMax1
_BSS	ENDS
;	COMDAT ?m_IndexMax2@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
_BSS	SEGMENT
?m_IndexMax2@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA DD 01H DUP (?) ; `CMSP34x0AudioDecoder::DetectStandardRevA'::`2'::m_IndexMax2
_BSS	ENDS
;	COMDAT ?m_IndexVal1@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
_BSS	SEGMENT
?m_IndexVal1@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA DD 01H DUP (?) ; `CMSP34x0AudioDecoder::DetectStandardRevA'::`2'::m_IndexVal1
_BSS	ENDS
;	COMDAT ?m_IndexVal2@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
_BSS	SEGMENT
?m_IndexVal2@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA DD 01H DUP (?) ; `CMSP34x0AudioDecoder::DetectStandardRevA'::`2'::m_IndexVal2
_BSS	ENDS
;	COMDAT __real@40326e978d4fdf3b
CONST	SEGMENT
__real@40326e978d4fdf3b DQ 040326e978d4fdf3br	; 18.432
; Function compile flags: /Odtp
CONST	ENDS
;	COMDAT ?DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@1@XZ
_TEXT	SEGMENT
tv361 = -44						; size = 4
tv352 = -40						; size = 4
tv328 = -36						; size = 4
_this$ = -32						; size = 4
_MinorCarrier$140639 = -28				; size = 4
_MajorCarrier$140638 = -24				; size = 4
_Standard$140646 = -20					; size = 4
_n$140647 = -16						; size = 4
_val$140629 = -12					; size = 4
_n$140620 = -8						; size = 4
_val$140606 = -4					; size = 4
?DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@1@XZ PROC ; CMSP34x0AudioDecoder::DetectStandardRevA, COMDAT
; _this$ = ecx

; 42   : {

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

; 43   :     static int m_IndexVal1;
; 44   :     static int m_IndexVal2;
; 45   :     static int m_IndexMax1;
; 46   :     static int m_IndexMax2;
; 47   :     static int m_MajorIndex;
; 48   :     static int m_MinorIndex;
; 49   : 
; 50   :     if (m_CarrierDetect_Phase == 0) //Setup

  00009	8b 45 e0	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	83 78 2c 00	 cmp	 DWORD PTR [eax+44], 0
  00010	0f 85 a1 00 00
	00		 jne	 $LN36@DetectStan@3

; 51   :     {
; 52   :         if (m_ForceAMSound && IsSECAMVideoFormat(m_VideoFormat))

  00016	8b 4d e0	 mov	 ecx, DWORD PTR _this$[ebp]
  00019	83 79 70 00	 cmp	 DWORD PTR [ecx+112], 0
  0001d	74 1d		 je	 SHORT $LN35@DetectStan@3
  0001f	8b 55 e0	 mov	 edx, DWORD PTR _this$[ebp]
  00022	8b 42 10	 mov	 eax, DWORD PTR [edx+16]
  00025	50		 push	 eax
  00026	e8 00 00 00 00	 call	 ?IsSECAMVideoFormat@@YAHW4eVideoFormat@@@Z ; IsSECAMVideoFormat
  0002b	83 c4 04	 add	 esp, 4
  0002e	85 c0		 test	 eax, eax
  00030	74 0a		 je	 SHORT $LN35@DetectStan@3

; 53   :         {
; 54   :            // autodetect doesn't work well with AM ...
; 55   :            return MSP34x0_STANDARD_L_NICAM_AM;

  00032	b8 09 00 00 00	 mov	 eax, 9
  00037	e9 08 07 00 00	 jmp	 $LN37@DetectStan@3
$LN35@DetectStan@3:

; 56   :         }
; 57   : 
; 58   :         m_IndexVal1 = m_IndexVal2 = 0;

  0003c	c7 05 00 00 00
	00 00 00 00 00	 mov	 DWORD PTR ?m_IndexVal2@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA, 0
  00046	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?m_IndexVal2@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  0004c	89 0d 00 00 00
	00		 mov	 DWORD PTR ?m_IndexVal1@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA, ecx

; 59   :         m_IndexMax1 = m_IndexMax2 = -1;

  00052	c7 05 00 00 00
	00 ff ff ff ff	 mov	 DWORD PTR ?m_IndexMax2@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA, -1
  0005c	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?m_IndexMax2@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  00062	89 15 00 00 00
	00		 mov	 DWORD PTR ?m_IndexMax1@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA, edx

; 60   : 
; 61   :         m_MajorIndex = 0;

  00068	c7 05 00 00 00
	00 00 00 00 00	 mov	 DWORD PTR ?m_MajorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA, 0

; 62   :         m_MinorIndex = 0;

  00072	c7 05 00 00 00
	00 00 00 00 00	 mov	 DWORD PTR ?m_MinorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA, 0

; 63   : 
; 64   :         SetCarrierRevA(CarrierDetectTable[m_MajorIndex].Major, CarrierDetectTable[m_MajorIndex].Major);

  0007c	a1 00 00 00 00	 mov	 eax, DWORD PTR ?m_MajorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  00081	6b c0 2c	 imul	 eax, 44			; 0000002cH
  00084	8b 88 00 00 00
	00		 mov	 ecx, DWORD PTR ?CarrierDetectTable@CMSP34x0AudioDecoder@@0PAUTCarrierDetect@1@A[eax]
  0008a	51		 push	 ecx
  0008b	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?m_MajorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  00091	6b d2 2c	 imul	 edx, 44			; 0000002cH
  00094	8b 82 00 00 00
	00		 mov	 eax, DWORD PTR ?CarrierDetectTable@CMSP34x0AudioDecoder@@0PAUTCarrierDetect@1@A[edx]
  0009a	50		 push	 eax
  0009b	8b 4d e0	 mov	 ecx, DWORD PTR _this$[ebp]
  0009e	e8 00 00 00 00	 call	 ?SetCarrierRevA@CMSP34x0AudioDecoder@@AAEXW4eCarrier@1@0@Z ; CMSP34x0AudioDecoder::SetCarrierRevA

; 65   : 
; 66   :         m_CarrierDetect_Phase = 1;

  000a3	8b 4d e0	 mov	 ecx, DWORD PTR _this$[ebp]
  000a6	c7 41 2c 01 00
	00 00		 mov	 DWORD PTR [ecx+44], 1

; 67   :         return MSP34x0_STANDARD_AUTODETECTION_IN_PROGRESS;

  000ad	b8 ff 07 00 00	 mov	 eax, 2047		; 000007ffH
  000b2	e9 8d 06 00 00	 jmp	 $LN37@DetectStan@3
$LN36@DetectStan@3:

; 68   :     }
; 69   : 
; 70   :     if (m_CarrierDetect_Phase == 1) //Detect Major

  000b7	8b 55 e0	 mov	 edx, DWORD PTR _this$[ebp]
  000ba	83 7a 2c 01	 cmp	 DWORD PTR [edx+44], 1
  000be	0f 85 58 02 00
	00		 jne	 $LN27@DetectStan@3

; 71   :     {
; 72   :         // Check carrier
; 73   :         int val = GetDSPRegister(DSP_RD_FM1_DCLVL);

  000c4	6a 1b		 push	 27			; 0000001bH
  000c6	8b 4d e0	 mov	 ecx, DWORD PTR _this$[ebp]
  000c9	e8 00 00 00 00	 call	 ?GetDSPRegister@CMSP34x0@@IAEGW4eDSPReadRegister@1@@Z ; CMSP34x0::GetDSPRegister
  000ce	0f b7 c0	 movzx	 eax, ax
  000d1	89 45 fc	 mov	 DWORD PTR _val$140606[ebp], eax

; 74   :         if (val > 32768) val-= 65536;

  000d4	81 7d fc 00 80
	00 00		 cmp	 DWORD PTR _val$140606[ebp], 32768 ; 00008000H
  000db	7e 0c		 jle	 SHORT $LN33@DetectStan@3
  000dd	8b 4d fc	 mov	 ecx, DWORD PTR _val$140606[ebp]
  000e0	81 e9 00 00 01
	00		 sub	 ecx, 65536		; 00010000H
  000e6	89 4d fc	 mov	 DWORD PTR _val$140606[ebp], ecx
$LN33@DetectStan@3:

; 75   :         if (m_IndexVal1 < val)

  000e9	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?m_IndexVal1@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  000ef	3b 55 fc	 cmp	 edx, DWORD PTR _val$140606[ebp]
  000f2	7d 14		 jge	 SHORT $LN32@DetectStan@3

; 76   :         {
; 77   :            m_IndexVal1 = val;

  000f4	8b 45 fc	 mov	 eax, DWORD PTR _val$140606[ebp]
  000f7	a3 00 00 00 00	 mov	 DWORD PTR ?m_IndexVal1@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA, eax

; 78   :            m_IndexMax1 = m_MajorIndex;

  000fc	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?m_MajorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  00102	89 0d 00 00 00
	00		 mov	 DWORD PTR ?m_IndexMax1@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA, ecx
$LN32@DetectStan@3:

; 79   :         }
; 80   : 
; 81   :         LOG(2,_T("MSP3400: Detecting standard. Major carrier = %g Mhz, val=%d"),MSP_UNCARRIER(CarrierDetectTable[m_MajorIndex].Major),val);

  00108	8b 55 fc	 mov	 edx, DWORD PTR _val$140606[ebp]
  0010b	52		 push	 edx
  0010c	a1 00 00 00 00	 mov	 eax, DWORD PTR ?m_MajorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  00111	6b c0 2c	 imul	 eax, 44			; 0000002cH
  00114	db 80 00 00 00
	00		 fild	 DWORD PTR ?CarrierDetectTable@CMSP34x0AudioDecoder@@0PAUTCarrierDetect@1@A[eax]
  0011a	dc 0d 00 00 00
	00		 fmul	 QWORD PTR __real@40326e978d4fdf3b
  00120	dc 35 00 00 00
	00		 fdiv	 QWORD PTR __real@4170000000000000
  00126	83 ec 08	 sub	 esp, 8
  00129	dd 1c 24	 fstp	 QWORD PTR [esp]
  0012c	68 00 00 00 00	 push	 OFFSET ??_C@_1HI@LFBFNKOI@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAD?$AAe?$AAt?$AAe?$AAc?$AAt?$AAi?$AAn?$AAg?$AA?5?$AAs?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?4?$AA?5?$AAM?$AAa?$AAj@
  00131	6a 02		 push	 2
  00133	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00138	83 c4 14	 add	 esp, 20			; 00000014H

; 82   : 
; 83   :         m_MajorIndex++;

  0013b	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?m_MajorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  00141	83 c1 01	 add	 ecx, 1
  00144	89 0d 00 00 00
	00		 mov	 DWORD PTR ?m_MajorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA, ecx

; 84   :         if (CarrierDetectTable[m_MajorIndex].Major != MSP34x0_NOCARRIER)

  0014a	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?m_MajorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  00150	6b d2 2c	 imul	 edx, 44			; 0000002cH
  00153	83 ba 00 00 00
	00 00		 cmp	 DWORD PTR ?CarrierDetectTable@CMSP34x0AudioDecoder@@0PAUTCarrierDetect@1@A[edx], 0
  0015a	74 36		 je	 SHORT $LN31@DetectStan@3

; 85   :         {
; 86   :             SetCarrierRevA(CarrierDetectTable[m_MajorIndex].Major, CarrierDetectTable[m_MajorIndex].Major);

  0015c	a1 00 00 00 00	 mov	 eax, DWORD PTR ?m_MajorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  00161	6b c0 2c	 imul	 eax, 44			; 0000002cH
  00164	8b 88 00 00 00
	00		 mov	 ecx, DWORD PTR ?CarrierDetectTable@CMSP34x0AudioDecoder@@0PAUTCarrierDetect@1@A[eax]
  0016a	51		 push	 ecx
  0016b	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?m_MajorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  00171	6b d2 2c	 imul	 edx, 44			; 0000002cH
  00174	8b 82 00 00 00
	00		 mov	 eax, DWORD PTR ?CarrierDetectTable@CMSP34x0AudioDecoder@@0PAUTCarrierDetect@1@A[edx]
  0017a	50		 push	 eax
  0017b	8b 4d e0	 mov	 ecx, DWORD PTR _this$[ebp]
  0017e	e8 00 00 00 00	 call	 ?SetCarrierRevA@CMSP34x0AudioDecoder@@AAEXW4eCarrier@1@0@Z ; CMSP34x0AudioDecoder::SetCarrierRevA

; 87   :             return MSP34x0_STANDARD_AUTODETECTION_IN_PROGRESS;

  00183	b8 ff 07 00 00	 mov	 eax, 2047		; 000007ffH
  00188	e9 b7 05 00 00	 jmp	 $LN37@DetectStan@3

; 88   :         }
; 89   :         else

  0018d	e9 8a 01 00 00	 jmp	 $LN27@DetectStan@3
$LN31@DetectStan@3:

; 90   :         {
; 91   :             LOG(2,_T("MSP3400: Detecting standard. Found Major carrier = %g Mhz. Setup Minor."),MSP_UNCARRIER(CarrierDetectTable[m_IndexMax1].Major));

  00192	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?m_IndexMax1@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  00198	6b c9 2c	 imul	 ecx, 44			; 0000002cH
  0019b	db 81 00 00 00
	00		 fild	 DWORD PTR ?CarrierDetectTable@CMSP34x0AudioDecoder@@0PAUTCarrierDetect@1@A[ecx]
  001a1	dc 0d 00 00 00
	00		 fmul	 QWORD PTR __real@40326e978d4fdf3b
  001a7	dc 35 00 00 00
	00		 fdiv	 QWORD PTR __real@4170000000000000
  001ad	83 ec 08	 sub	 esp, 8
  001b0	dd 1c 24	 fstp	 QWORD PTR [esp]
  001b3	68 00 00 00 00	 push	 OFFSET ??_C@_1JA@CAOCNMGL@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAD?$AAe?$AAt?$AAe?$AAc?$AAt?$AAi?$AAn?$AAg?$AA?5?$AAs?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?4?$AA?5?$AAF?$AAo?$AAu@
  001b8	6a 02		 push	 2
  001ba	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  001bf	83 c4 10	 add	 esp, 16			; 00000010H

; 92   : 
; 93   :             // Found Major carrier.
; 94   :             m_MajorIndex = m_IndexMax1;

  001c2	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?m_IndexMax1@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  001c8	89 15 00 00 00
	00		 mov	 DWORD PTR ?m_MajorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA, edx

; 95   : 
; 96   :             // Now setup the detection for the minor carrier
; 97   :             m_MinorIndex = 0;

  001ce	c7 05 00 00 00
	00 00 00 00 00	 mov	 DWORD PTR ?m_MinorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA, 0

; 98   :             if (CarrierDetectTable[m_MajorIndex].Minor[m_MinorIndex] ==
; 99   :                   CarrierDetectTable[m_MajorIndex].Major)

  001d8	a1 00 00 00 00	 mov	 eax, DWORD PTR ?m_MajorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  001dd	6b c0 2c	 imul	 eax, 44			; 0000002cH
  001e0	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?m_MajorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  001e6	6b c9 2c	 imul	 ecx, 44			; 0000002cH
  001e9	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?m_MinorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  001ef	8b 84 90 04 00
	00 00		 mov	 eax, DWORD PTR ?CarrierDetectTable@CMSP34x0AudioDecoder@@0PAUTCarrierDetect@1@A[eax+edx*4+4]
  001f6	3b 81 00 00 00
	00		 cmp	 eax, DWORD PTR ?CarrierDetectTable@CMSP34x0AudioDecoder@@0PAUTCarrierDetect@1@A[ecx]
  001fc	75 0f		 jne	 SHORT $LN29@DetectStan@3

; 100  :             {
; 101  :                //Did that already
; 102  :                m_MinorIndex++;

  001fe	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?m_MinorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  00204	83 c1 01	 add	 ecx, 1
  00207	89 0d 00 00 00
	00		 mov	 DWORD PTR ?m_MinorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA, ecx
$LN29@DetectStan@3:

; 103  :             }
; 104  : 
; 105  :             if (CarrierDetectTable[m_MajorIndex].Minor[m_MinorIndex] == MSP34x0_NOCARRIER)

  0020d	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?m_MajorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  00213	6b d2 2c	 imul	 edx, 44			; 0000002cH
  00216	a1 00 00 00 00	 mov	 eax, DWORD PTR ?m_MinorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  0021b	83 bc 82 04 00
	00 00 00	 cmp	 DWORD PTR ?CarrierDetectTable@CMSP34x0AudioDecoder@@0PAUTCarrierDetect@1@A[edx+eax*4+4], 0
  00223	75 0f		 jne	 SHORT $LN28@DetectStan@3

; 106  :             {
; 107  :                 m_CarrierDetect_Phase = 3;  //Finished

  00225	8b 4d e0	 mov	 ecx, DWORD PTR _this$[ebp]
  00228	c7 41 2c 03 00
	00 00		 mov	 DWORD PTR [ecx+44], 3

; 108  :             }
; 109  :             else

  0022f	e9 e8 00 00 00	 jmp	 $LN27@DetectStan@3
$LN28@DetectStan@3:

; 110  :             {
; 111  :                 SetCarrierRevA(CarrierDetectTable[m_MajorIndex].Minor[m_MinorIndex], CarrierDetectTable[m_MajorIndex].Minor[m_MinorIndex]);

  00234	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?m_MajorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  0023a	6b d2 2c	 imul	 edx, 44			; 0000002cH
  0023d	a1 00 00 00 00	 mov	 eax, DWORD PTR ?m_MinorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  00242	8b 8c 82 04 00
	00 00		 mov	 ecx, DWORD PTR ?CarrierDetectTable@CMSP34x0AudioDecoder@@0PAUTCarrierDetect@1@A[edx+eax*4+4]
  00249	51		 push	 ecx
  0024a	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?m_MajorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  00250	6b d2 2c	 imul	 edx, 44			; 0000002cH
  00253	a1 00 00 00 00	 mov	 eax, DWORD PTR ?m_MinorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  00258	8b 8c 82 04 00
	00 00		 mov	 ecx, DWORD PTR ?CarrierDetectTable@CMSP34x0AudioDecoder@@0PAUTCarrierDetect@1@A[edx+eax*4+4]
  0025f	51		 push	 ecx
  00260	8b 4d e0	 mov	 ecx, DWORD PTR _this$[ebp]
  00263	e8 00 00 00 00	 call	 ?SetCarrierRevA@CMSP34x0AudioDecoder@@AAEXW4eCarrier@1@0@Z ; CMSP34x0AudioDecoder::SetCarrierRevA

; 112  :                 m_CarrierDetect_Phase = 2;

  00268	8b 55 e0	 mov	 edx, DWORD PTR _this$[ebp]
  0026b	c7 42 2c 02 00
	00 00		 mov	 DWORD PTR [edx+44], 2

; 113  : 
; 114  :                 int n = 0;

  00272	c7 45 f8 00 00
	00 00		 mov	 DWORD PTR _n$140620[ebp], 0
$LN26@DetectStan@3:

; 115  :                 while (CarrierDetectTable[m_MajorIndex].Minor[n] != MSP34x0_NOCARRIER)

  00279	a1 00 00 00 00	 mov	 eax, DWORD PTR ?m_MajorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  0027e	6b c0 2c	 imul	 eax, 44			; 0000002cH
  00281	8b 4d f8	 mov	 ecx, DWORD PTR _n$140620[ebp]
  00284	83 bc 88 04 00
	00 00 00	 cmp	 DWORD PTR ?CarrierDetectTable@CMSP34x0AudioDecoder@@0PAUTCarrierDetect@1@A[eax+ecx*4+4], 0
  0028c	0f 84 80 00 00
	00		 je	 $LN25@DetectStan@3

; 116  :                 {
; 117  :                     if (CarrierDetectTable[m_MajorIndex].Minor[n] == CarrierDetectTable[m_MajorIndex].Major)

  00292	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?m_MajorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  00298	6b d2 2c	 imul	 edx, 44			; 0000002cH
  0029b	a1 00 00 00 00	 mov	 eax, DWORD PTR ?m_MajorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  002a0	6b c0 2c	 imul	 eax, 44			; 0000002cH
  002a3	8b 4d f8	 mov	 ecx, DWORD PTR _n$140620[ebp]
  002a6	8b 94 8a 04 00
	00 00		 mov	 edx, DWORD PTR ?CarrierDetectTable@CMSP34x0AudioDecoder@@0PAUTCarrierDetect@1@A[edx+ecx*4+4]
  002ad	3b 90 00 00 00
	00		 cmp	 edx, DWORD PTR ?CarrierDetectTable@CMSP34x0AudioDecoder@@0PAUTCarrierDetect@1@A[eax]
  002b3	75 4f		 jne	 SHORT $LN24@DetectStan@3

; 118  :                     {
; 119  :                         m_IndexVal2 = m_IndexVal1;

  002b5	a1 00 00 00 00	 mov	 eax, DWORD PTR ?m_IndexVal1@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  002ba	a3 00 00 00 00	 mov	 DWORD PTR ?m_IndexVal2@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA, eax

; 120  :                         m_IndexMax2 = n;

  002bf	8b 4d f8	 mov	 ecx, DWORD PTR _n$140620[ebp]
  002c2	89 0d 00 00 00
	00		 mov	 DWORD PTR ?m_IndexMax2@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA, ecx

; 121  : 
; 122  :                         LOG(2,_T("MSP3400: Detecting standard. Minor carrier = %g Mhz, val=%d"),MSP_UNCARRIER(CarrierDetectTable[m_MajorIndex].Minor[n]),m_IndexVal2);

  002c8	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?m_IndexVal2@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  002ce	52		 push	 edx
  002cf	a1 00 00 00 00	 mov	 eax, DWORD PTR ?m_MajorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  002d4	6b c0 2c	 imul	 eax, 44			; 0000002cH
  002d7	8b 4d f8	 mov	 ecx, DWORD PTR _n$140620[ebp]
  002da	db 84 88 04 00
	00 00		 fild	 DWORD PTR ?CarrierDetectTable@CMSP34x0AudioDecoder@@0PAUTCarrierDetect@1@A[eax+ecx*4+4]
  002e1	dc 0d 00 00 00
	00		 fmul	 QWORD PTR __real@40326e978d4fdf3b
  002e7	dc 35 00 00 00
	00		 fdiv	 QWORD PTR __real@4170000000000000
  002ed	83 ec 08	 sub	 esp, 8
  002f0	dd 1c 24	 fstp	 QWORD PTR [esp]
  002f3	68 00 00 00 00	 push	 OFFSET ??_C@_1HI@KFFBIJNI@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAD?$AAe?$AAt?$AAe?$AAc?$AAt?$AAi?$AAn?$AAg?$AA?5?$AAs?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?4?$AA?5?$AAM?$AAi?$AAn@
  002f8	6a 02		 push	 2
  002fa	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  002ff	83 c4 14	 add	 esp, 20			; 00000014H

; 123  :                         break;

  00302	eb 0e		 jmp	 SHORT $LN25@DetectStan@3
$LN24@DetectStan@3:

; 124  :                     }
; 125  :                     n++;

  00304	8b 55 f8	 mov	 edx, DWORD PTR _n$140620[ebp]
  00307	83 c2 01	 add	 edx, 1
  0030a	89 55 f8	 mov	 DWORD PTR _n$140620[ebp], edx

; 126  :                 }

  0030d	e9 67 ff ff ff	 jmp	 $LN26@DetectStan@3
$LN25@DetectStan@3:

; 127  :                 return MSP34x0_STANDARD_AUTODETECTION_IN_PROGRESS;

  00312	b8 ff 07 00 00	 mov	 eax, 2047		; 000007ffH
  00317	e9 28 04 00 00	 jmp	 $LN37@DetectStan@3
$LN27@DetectStan@3:

; 128  :             }
; 129  :         }
; 130  :     }
; 131  : 
; 132  :     if (m_CarrierDetect_Phase == 2) //Detect minor

  0031c	8b 45 e0	 mov	 eax, DWORD PTR _this$[ebp]
  0031f	83 78 2c 02	 cmp	 DWORD PTR [eax+44], 2
  00323	0f 85 23 01 00
	00		 jne	 $LN18@DetectStan@3

; 133  :     {
; 134  :         // Check carrier
; 135  :         int val = GetDSPRegister(DSP_RD_FM1_DCLVL);

  00329	6a 1b		 push	 27			; 0000001bH
  0032b	8b 4d e0	 mov	 ecx, DWORD PTR _this$[ebp]
  0032e	e8 00 00 00 00	 call	 ?GetDSPRegister@CMSP34x0@@IAEGW4eDSPReadRegister@1@@Z ; CMSP34x0::GetDSPRegister
  00333	0f b7 c8	 movzx	 ecx, ax
  00336	89 4d f4	 mov	 DWORD PTR _val$140629[ebp], ecx

; 136  :         if (val > 32768) val-= 65536;

  00339	81 7d f4 00 80
	00 00		 cmp	 DWORD PTR _val$140629[ebp], 32768 ; 00008000H
  00340	7e 0c		 jle	 SHORT $LN22@DetectStan@3
  00342	8b 55 f4	 mov	 edx, DWORD PTR _val$140629[ebp]
  00345	81 ea 00 00 01
	00		 sub	 edx, 65536		; 00010000H
  0034b	89 55 f4	 mov	 DWORD PTR _val$140629[ebp], edx
$LN22@DetectStan@3:

; 137  :         if (m_IndexVal2 < val)

  0034e	a1 00 00 00 00	 mov	 eax, DWORD PTR ?m_IndexVal2@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  00353	3b 45 f4	 cmp	 eax, DWORD PTR _val$140629[ebp]
  00356	7d 15		 jge	 SHORT $LN21@DetectStan@3

; 138  :         {
; 139  :             m_IndexVal2 = val;

  00358	8b 4d f4	 mov	 ecx, DWORD PTR _val$140629[ebp]
  0035b	89 0d 00 00 00
	00		 mov	 DWORD PTR ?m_IndexVal2@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA, ecx

; 140  :             m_IndexMax2 = m_MinorIndex;

  00361	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?m_MinorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  00367	89 15 00 00 00
	00		 mov	 DWORD PTR ?m_IndexMax2@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA, edx
$LN21@DetectStan@3:

; 141  :         }
; 142  : 
; 143  :         LOG(2,_T("MSP3400: Detecting standard. Minor carrier = %g Mhz, val=%d"),MSP_UNCARRIER(CarrierDetectTable[m_MajorIndex].Minor[m_MinorIndex]),val);

  0036d	8b 45 f4	 mov	 eax, DWORD PTR _val$140629[ebp]
  00370	50		 push	 eax
  00371	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?m_MajorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  00377	6b c9 2c	 imul	 ecx, 44			; 0000002cH
  0037a	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?m_MinorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  00380	db 84 91 04 00
	00 00		 fild	 DWORD PTR ?CarrierDetectTable@CMSP34x0AudioDecoder@@0PAUTCarrierDetect@1@A[ecx+edx*4+4]
  00387	dc 0d 00 00 00
	00		 fmul	 QWORD PTR __real@40326e978d4fdf3b
  0038d	dc 35 00 00 00
	00		 fdiv	 QWORD PTR __real@4170000000000000
  00393	83 ec 08	 sub	 esp, 8
  00396	dd 1c 24	 fstp	 QWORD PTR [esp]
  00399	68 00 00 00 00	 push	 OFFSET ??_C@_1HI@KFFBIJNI@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAD?$AAe?$AAt?$AAe?$AAc?$AAt?$AAi?$AAn?$AAg?$AA?5?$AAs?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?4?$AA?5?$AAM?$AAi?$AAn@
  0039e	6a 02		 push	 2
  003a0	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  003a5	83 c4 14	 add	 esp, 20			; 00000014H

; 144  : 
; 145  :         m_MinorIndex++;

  003a8	a1 00 00 00 00	 mov	 eax, DWORD PTR ?m_MinorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  003ad	83 c0 01	 add	 eax, 1
  003b0	a3 00 00 00 00	 mov	 DWORD PTR ?m_MinorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA, eax

; 146  :         if (CarrierDetectTable[m_MajorIndex].Minor[m_MinorIndex] ==
; 147  :                   CarrierDetectTable[m_MajorIndex].Major)

  003b5	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?m_MajorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  003bb	6b c9 2c	 imul	 ecx, 44			; 0000002cH
  003be	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?m_MajorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  003c4	6b d2 2c	 imul	 edx, 44			; 0000002cH
  003c7	a1 00 00 00 00	 mov	 eax, DWORD PTR ?m_MinorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  003cc	8b 8c 81 04 00
	00 00		 mov	 ecx, DWORD PTR ?CarrierDetectTable@CMSP34x0AudioDecoder@@0PAUTCarrierDetect@1@A[ecx+eax*4+4]
  003d3	3b 8a 00 00 00
	00		 cmp	 ecx, DWORD PTR ?CarrierDetectTable@CMSP34x0AudioDecoder@@0PAUTCarrierDetect@1@A[edx]
  003d9	75 0f		 jne	 SHORT $LN20@DetectStan@3

; 148  :         {
; 149  :             //Did that already
; 150  :             m_MinorIndex++;

  003db	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?m_MinorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  003e1	83 c2 01	 add	 edx, 1
  003e4	89 15 00 00 00
	00		 mov	 DWORD PTR ?m_MinorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA, edx
$LN20@DetectStan@3:

; 151  :         }
; 152  : 
; 153  :         if (CarrierDetectTable[m_MajorIndex].Minor[m_MinorIndex] != MSP34x0_NOCARRIER)

  003ea	a1 00 00 00 00	 mov	 eax, DWORD PTR ?m_MajorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  003ef	6b c0 2c	 imul	 eax, 44			; 0000002cH
  003f2	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?m_MinorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  003f8	83 bc 88 04 00
	00 00 00	 cmp	 DWORD PTR ?CarrierDetectTable@CMSP34x0AudioDecoder@@0PAUTCarrierDetect@1@A[eax+ecx*4+4], 0
  00400	74 40		 je	 SHORT $LN19@DetectStan@3

; 154  :         {
; 155  :             SetCarrierRevA(CarrierDetectTable[m_MajorIndex].Minor[m_MinorIndex], CarrierDetectTable[m_MajorIndex].Minor[m_MinorIndex]);

  00402	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?m_MajorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  00408	6b d2 2c	 imul	 edx, 44			; 0000002cH
  0040b	a1 00 00 00 00	 mov	 eax, DWORD PTR ?m_MinorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  00410	8b 8c 82 04 00
	00 00		 mov	 ecx, DWORD PTR ?CarrierDetectTable@CMSP34x0AudioDecoder@@0PAUTCarrierDetect@1@A[edx+eax*4+4]
  00417	51		 push	 ecx
  00418	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?m_MajorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  0041e	6b d2 2c	 imul	 edx, 44			; 0000002cH
  00421	a1 00 00 00 00	 mov	 eax, DWORD PTR ?m_MinorIndex@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  00426	8b 8c 82 04 00
	00 00		 mov	 ecx, DWORD PTR ?CarrierDetectTable@CMSP34x0AudioDecoder@@0PAUTCarrierDetect@1@A[edx+eax*4+4]
  0042d	51		 push	 ecx
  0042e	8b 4d e0	 mov	 ecx, DWORD PTR _this$[ebp]
  00431	e8 00 00 00 00	 call	 ?SetCarrierRevA@CMSP34x0AudioDecoder@@AAEXW4eCarrier@1@0@Z ; CMSP34x0AudioDecoder::SetCarrierRevA

; 156  :             return MSP34x0_STANDARD_AUTODETECTION_IN_PROGRESS;

  00436	b8 ff 07 00 00	 mov	 eax, 2047		; 000007ffH
  0043b	e9 04 03 00 00	 jmp	 $LN37@DetectStan@3

; 157  :         }
; 158  :         else

  00440	eb 0a		 jmp	 SHORT $LN18@DetectStan@3
$LN19@DetectStan@3:

; 159  :         {
; 160  :             m_CarrierDetect_Phase = 3;

  00442	8b 55 e0	 mov	 edx, DWORD PTR _this$[ebp]
  00445	c7 42 2c 03 00
	00 00		 mov	 DWORD PTR [edx+44], 3
$LN18@DetectStan@3:

; 161  :         }
; 162  :     }
; 163  :     if (m_CarrierDetect_Phase == 3) //Found carriers, determine standard

  0044c	8b 45 e0	 mov	 eax, DWORD PTR _this$[ebp]
  0044f	83 78 2c 03	 cmp	 DWORD PTR [eax+44], 3
  00453	0f 85 e9 02 00
	00		 jne	 $LN17@DetectStan@3

; 164  :     {
; 165  :           eCarrier MajorCarrier = CarrierDetectTable[ m_IndexMax1 ].Major;

  00459	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?m_IndexMax1@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  0045f	6b c9 2c	 imul	 ecx, 44			; 0000002cH
  00462	8b 91 00 00 00
	00		 mov	 edx, DWORD PTR ?CarrierDetectTable@CMSP34x0AudioDecoder@@0PAUTCarrierDetect@1@A[ecx]
  00468	89 55 e8	 mov	 DWORD PTR _MajorCarrier$140638[ebp], edx

; 166  :           eCarrier MinorCarrier = MajorCarrier;

  0046b	8b 45 e8	 mov	 eax, DWORD PTR _MajorCarrier$140638[ebp]
  0046e	89 45 e4	 mov	 DWORD PTR _MinorCarrier$140639[ebp], eax

; 167  :           if (m_IndexMax2 >= 0)

  00471	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?m_IndexMax2@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA, 0
  00478	7c 19		 jl	 SHORT $LN16@DetectStan@3

; 168  :           {
; 169  :               MinorCarrier = CarrierDetectTable[ m_IndexMax1 ].Minor[ m_IndexMax2 ];

  0047a	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?m_IndexMax1@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  00480	6b c9 2c	 imul	 ecx, 44			; 0000002cH
  00483	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?m_IndexMax2@?1??DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@2@XZ@4HA
  00489	8b 84 91 04 00
	00 00		 mov	 eax, DWORD PTR ?CarrierDetectTable@CMSP34x0AudioDecoder@@0PAUTCarrierDetect@1@A[ecx+edx*4+4]
  00490	89 45 e4	 mov	 DWORD PTR _MinorCarrier$140639[ebp], eax
$LN16@DetectStan@3:

; 170  :           }
; 171  : 
; 172  :           LOG(2,_T("MSP3400: Detecting standard. Found Major/Minor : %g / %g Mhz"),MSP_UNCARRIER(MajorCarrier),(MSP_UNCARRIER(MinorCarrier)));

  00493	db 45 e4	 fild	 DWORD PTR _MinorCarrier$140639[ebp]
  00496	dc 0d 00 00 00
	00		 fmul	 QWORD PTR __real@40326e978d4fdf3b
  0049c	dc 35 00 00 00
	00		 fdiv	 QWORD PTR __real@4170000000000000
  004a2	83 ec 08	 sub	 esp, 8
  004a5	dd 1c 24	 fstp	 QWORD PTR [esp]
  004a8	db 45 e8	 fild	 DWORD PTR _MajorCarrier$140638[ebp]
  004ab	dc 0d 00 00 00
	00		 fmul	 QWORD PTR __real@40326e978d4fdf3b
  004b1	dc 35 00 00 00
	00		 fdiv	 QWORD PTR __real@4170000000000000
  004b7	83 ec 08	 sub	 esp, 8
  004ba	dd 1c 24	 fstp	 QWORD PTR [esp]
  004bd	68 00 00 00 00	 push	 OFFSET ??_C@_1HK@FOKIJHAH@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAD?$AAe?$AAt?$AAe?$AAc?$AAt?$AAi?$AAn?$AAg?$AA?5?$AAs?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?4?$AA?5?$AAF?$AAo?$AAu@
  004c2	6a 02		 push	 2
  004c4	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  004c9	83 c4 18	 add	 esp, 24			; 00000018H

; 173  : 
; 174  :           eStandard Standard = MSP34x0_STANDARD_NONE;

  004cc	c7 45 ec 00 00
	00 00		 mov	 DWORD PTR _Standard$140646[ebp], 0

; 175  :           int n = 0;

  004d3	c7 45 f0 00 00
	00 00		 mov	 DWORD PTR _n$140647[ebp], 0
$LN15@DetectStan@3:

; 176  :           while (m_MSPStandards[n].Name != NULL)

  004da	8b 4d f0	 mov	 ecx, DWORD PTR _n$140647[ebp]
  004dd	6b c9 1c	 imul	 ecx, 28			; 0000001cH
  004e0	83 b9 00 00 00
	00 00		 cmp	 DWORD PTR ?m_MSPStandards@CMSP34x0AudioDecoder@@0PAUTStandardDefinition@1@A[ecx], 0
  004e7	74 3e		 je	 SHORT $LN14@DetectStan@3

; 177  :           {
; 178  :               if (    (m_MSPStandards[n].MajorCarrier == MajorCarrier)
; 179  :                    && (m_MSPStandards[n].MinorCarrier == MinorCarrier)
; 180  :                  )

  004e9	8b 55 f0	 mov	 edx, DWORD PTR _n$140647[ebp]
  004ec	6b d2 1c	 imul	 edx, 28			; 0000001cH
  004ef	8b 82 08 00 00
	00		 mov	 eax, DWORD PTR ?m_MSPStandards@CMSP34x0AudioDecoder@@0PAUTStandardDefinition@1@A[edx+8]
  004f5	3b 45 e8	 cmp	 eax, DWORD PTR _MajorCarrier$140638[ebp]
  004f8	75 22		 jne	 SHORT $LN13@DetectStan@3
  004fa	8b 4d f0	 mov	 ecx, DWORD PTR _n$140647[ebp]
  004fd	6b c9 1c	 imul	 ecx, 28			; 0000001cH
  00500	8b 91 0c 00 00
	00		 mov	 edx, DWORD PTR ?m_MSPStandards@CMSP34x0AudioDecoder@@0PAUTStandardDefinition@1@A[ecx+12]
  00506	3b 55 e4	 cmp	 edx, DWORD PTR _MinorCarrier$140639[ebp]
  00509	75 11		 jne	 SHORT $LN13@DetectStan@3

; 181  :               {
; 182  :                   Standard = m_MSPStandards[n].Standard;

  0050b	8b 45 f0	 mov	 eax, DWORD PTR _n$140647[ebp]
  0050e	6b c0 1c	 imul	 eax, 28			; 0000001cH
  00511	8b 88 04 00 00
	00		 mov	 ecx, DWORD PTR ?m_MSPStandards@CMSP34x0AudioDecoder@@0PAUTStandardDefinition@1@A[eax+4]
  00517	89 4d ec	 mov	 DWORD PTR _Standard$140646[ebp], ecx

; 183  :                   break;

  0051a	eb 0b		 jmp	 SHORT $LN14@DetectStan@3
$LN13@DetectStan@3:

; 184  :               }
; 185  :               n++;

  0051c	8b 55 f0	 mov	 edx, DWORD PTR _n$140647[ebp]
  0051f	83 c2 01	 add	 edx, 1
  00522	89 55 f0	 mov	 DWORD PTR _n$140647[ebp], edx

; 186  :           }

  00525	eb b3		 jmp	 SHORT $LN15@DetectStan@3
$LN14@DetectStan@3:

; 187  : 
; 188  :           //Duplicates
; 189  :           if ((MajorCarrier == MSP34x0_CARRIER_4_5) && (MinorCarrier == MSP34x0_CARRIER_4_5))

  00527	81 7d e8 00 80
	3e 00		 cmp	 DWORD PTR _MajorCarrier$140638[ebp], 4096000 ; 003e8000H
  0052e	75 66		 jne	 SHORT $LN12@DetectStan@3
  00530	81 7d e4 00 80
	3e 00		 cmp	 DWORD PTR _MinorCarrier$140639[ebp], 4096000 ; 003e8000H
  00537	75 5d		 jne	 SHORT $LN12@DetectStan@3

; 190  :           {
; 191  :               // BTSC or Japan Stereo?
; 192  : 
; 193  :               if (m_VideoFormat == VIDEOFORMAT_NTSC_M_Japan)

  00539	8b 45 e0	 mov	 eax, DWORD PTR _this$[ebp]
  0053c	83 78 10 12	 cmp	 DWORD PTR [eax+16], 18	; 00000012H
  00540	75 09		 jne	 SHORT $LN11@DetectStan@3

; 194  :               {
; 195  :                   Standard = MSP34x0_STANDARD_M_EIA_J;

  00542	c7 45 ec 30 00
	00 00		 mov	 DWORD PTR _Standard$140646[ebp], 48 ; 00000030H

; 196  :               }
; 197  :               else

  00549	eb 07		 jmp	 SHORT $LN10@DetectStan@3
$LN11@DetectStan@3:

; 198  :               {
; 199  :                   Standard = MSP34x0_STANDARD_M_BTSC;

  0054b	c7 45 ec 20 00
	00 00		 mov	 DWORD PTR _Standard$140646[ebp], 32 ; 00000020H
$LN10@DetectStan@3:

; 200  :               }
; 201  : 
; 202  :               LOG(2,_T("MSP3400: Standard can be BTSC or Japan Stereo."));

  00552	68 00 00 00 00	 push	 OFFSET ??_C@_1FO@OADDNIBD@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAS?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?5?$AAc?$AAa?$AAn?$AA?5?$AAb?$AAe?$AA?5?$AAB?$AAT?$AAS?$AAC?$AA?5?$AAo?$AAr@
  00557	6a 02		 push	 2
  00559	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  0055e	83 c4 08	 add	 esp, 8

; 203  :               LOG(2,_T("MSP3400: Chose %s based on video format (%d)"),(Standard==MSP34x0_STANDARD_M_BTSC)?_T("BTSC"):_T("Japan Stereo"),m_VideoFormat);

  00561	83 7d ec 20	 cmp	 DWORD PTR _Standard$140646[ebp], 32 ; 00000020H
  00565	75 09		 jne	 SHORT $LN39@DetectStan@3
  00567	c7 45 dc 00 00
	00 00		 mov	 DWORD PTR tv328[ebp], OFFSET ??_C@_19FEONDAKC@?$AAB?$AAT?$AAS?$AAC?$AA?$AA@
  0056e	eb 07		 jmp	 SHORT $LN40@DetectStan@3
$LN39@DetectStan@3:
  00570	c7 45 dc 00 00
	00 00		 mov	 DWORD PTR tv328[ebp], OFFSET ??_C@_1BK@FLPIMEMH@?$AAJ?$AAa?$AAp?$AAa?$AAn?$AA?5?$AAS?$AAt?$AAe?$AAr?$AAe?$AAo?$AA?$AA@
$LN40@DetectStan@3:
  00577	8b 4d e0	 mov	 ecx, DWORD PTR _this$[ebp]
  0057a	8b 51 10	 mov	 edx, DWORD PTR [ecx+16]
  0057d	52		 push	 edx
  0057e	8b 45 dc	 mov	 eax, DWORD PTR tv328[ebp]
  00581	50		 push	 eax
  00582	68 00 00 00 00	 push	 OFFSET ??_C@_1FK@LNFGHHDN@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAC?$AAh?$AAo?$AAs?$AAe?$AA?5?$AA?$CF?$AAs?$AA?5?$AAb?$AAa?$AAs?$AAe?$AAd?$AA?5?$AAo?$AAn?$AA?5?$AAv?$AAi?$AAd?$AAe?$AAo@
  00587	6a 02		 push	 2
  00589	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  0058e	83 c4 10	 add	 esp, 16			; 00000010H

; 204  :           }
; 205  :           else

  00591	e9 da 00 00 00	 jmp	 $LN5@DetectStan@3
$LN12@DetectStan@3:

; 206  :           if ((MajorCarrier == MSP34x0_CARRIER_6_5) && (MinorCarrier == MSP34x0_CARRIER_5_85))

  00596	81 7d e8 1c 47
	5a 00		 cmp	 DWORD PTR _MajorCarrier$140638[ebp], 5916444 ; 005a471cH
  0059d	0f 85 96 00 00
	00		 jne	 $LN8@DetectStan@3
  005a3	81 7d e4 00 40
	51 00		 cmp	 DWORD PTR _MinorCarrier$140639[ebp], 5324800 ; 00514000H
  005aa	0f 85 89 00 00
	00		 jne	 $LN8@DetectStan@3

; 207  :           {
; 208  :              Standard = MSP34x0_STANDARD_DK_NICAM_FM;

  005b0	c7 45 ec 0b 00
	00 00		 mov	 DWORD PTR _Standard$140646[ebp], 11 ; 0000000bH

; 209  :              if (IsSECAMVideoFormat(m_VideoFormat))

  005b7	8b 4d e0	 mov	 ecx, DWORD PTR _this$[ebp]
  005ba	8b 51 10	 mov	 edx, DWORD PTR [ecx+16]
  005bd	52		 push	 edx
  005be	e8 00 00 00 00	 call	 ?IsSECAMVideoFormat@@YAHW4eVideoFormat@@@Z ; IsSECAMVideoFormat
  005c3	83 c4 04	 add	 esp, 4
  005c6	85 c0		 test	 eax, eax
  005c8	74 07		 je	 SHORT $LN7@DetectStan@3

; 210  :              {
; 211  :                 Standard = MSP34x0_STANDARD_L_NICAM_AM;

  005ca	c7 45 ec 09 00
	00 00		 mov	 DWORD PTR _Standard$140646[ebp], 9
$LN7@DetectStan@3:

; 212  :              }
; 213  :              LOG(2,_T("MSP3400: Standard can be NICAM AM or FM."));

  005d1	68 00 00 00 00	 push	 OFFSET ??_C@_1FC@MPFHDM@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAS?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?5?$AAc?$AAa?$AAn?$AA?5?$AAb?$AAe?$AA?5?$AAN?$AAI?$AAC?$AAA?$AAM?$AA?5?$AAA@
  005d6	6a 02		 push	 2
  005d8	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  005dd	83 c4 08	 add	 esp, 8

; 214  :              LOG(2,_T("MSP3400: Chose NICAM %s based on video format (%d) (%sSECAM)"),(Standard==MSP34x0_STANDARD_L_NICAM_AM)?_T("AM"):_T("FM"),m_VideoFormat,IsSECAMVideoFormat(m_VideoFormat)?_T(""):_T("No "));

  005e0	8b 45 e0	 mov	 eax, DWORD PTR _this$[ebp]
  005e3	8b 48 10	 mov	 ecx, DWORD PTR [eax+16]
  005e6	51		 push	 ecx
  005e7	e8 00 00 00 00	 call	 ?IsSECAMVideoFormat@@YAHW4eVideoFormat@@@Z ; IsSECAMVideoFormat
  005ec	83 c4 04	 add	 esp, 4
  005ef	85 c0		 test	 eax, eax
  005f1	74 09		 je	 SHORT $LN41@DetectStan@3
  005f3	c7 45 d8 00 00
	00 00		 mov	 DWORD PTR tv352[ebp], OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
  005fa	eb 07		 jmp	 SHORT $LN42@DetectStan@3
$LN41@DetectStan@3:
  005fc	c7 45 d8 00 00
	00 00		 mov	 DWORD PTR tv352[ebp], OFFSET ??_C@_17PPFKOCPI@?$AAN?$AAo?$AA?5?$AA?$AA@
$LN42@DetectStan@3:
  00603	83 7d ec 09	 cmp	 DWORD PTR _Standard$140646[ebp], 9
  00607	75 09		 jne	 SHORT $LN43@DetectStan@3
  00609	c7 45 d4 00 00
	00 00		 mov	 DWORD PTR tv361[ebp], OFFSET ??_C@_15ODEHAHHF@?$AAA?$AAM?$AA?$AA@
  00610	eb 07		 jmp	 SHORT $LN44@DetectStan@3
$LN43@DetectStan@3:
  00612	c7 45 d4 00 00
	00 00		 mov	 DWORD PTR tv361[ebp], OFFSET ??_C@_15POECDHMN@?$AAF?$AAM?$AA?$AA@
$LN44@DetectStan@3:
  00619	8b 55 d8	 mov	 edx, DWORD PTR tv352[ebp]
  0061c	52		 push	 edx
  0061d	8b 45 e0	 mov	 eax, DWORD PTR _this$[ebp]
  00620	8b 48 10	 mov	 ecx, DWORD PTR [eax+16]
  00623	51		 push	 ecx
  00624	8b 55 d4	 mov	 edx, DWORD PTR tv361[ebp]
  00627	52		 push	 edx
  00628	68 00 00 00 00	 push	 OFFSET ??_C@_1HK@KHOAFMPC@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAC?$AAh?$AAo?$AAs?$AAe?$AA?5?$AAN?$AAI?$AAC?$AAA?$AAM?$AA?5?$AA?$CF?$AAs?$AA?5?$AAb?$AAa?$AAs?$AAe?$AAd?$AA?5?$AAo?$AAn@
  0062d	6a 02		 push	 2
  0062f	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00634	83 c4 14	 add	 esp, 20			; 00000014H

; 215  :           }
; 216  :           else

  00637	eb 37		 jmp	 SHORT $LN5@DetectStan@3
$LN8@DetectStan@3:

; 217  :           if ((MajorCarrier == MSP34x0_CARRIER_6_5) && (MinorCarrier == MSP34x0_CARRIER_6_5))

  00639	81 7d e8 1c 47
	5a 00		 cmp	 DWORD PTR _MajorCarrier$140638[ebp], 5916444 ; 005a471cH
  00640	75 2e		 jne	 SHORT $LN5@DetectStan@3
  00642	81 7d e4 1c 47
	5a 00		 cmp	 DWORD PTR _MinorCarrier$140639[ebp], 5916444 ; 005a471cH
  00649	75 25		 jne	 SHORT $LN5@DetectStan@3

; 218  :           {
; 219  :               Standard = MSP34x0_STANDARD_SAT;

  0064b	c7 45 ec 51 00
	00 00		 mov	 DWORD PTR _Standard$140646[ebp], 81 ; 00000051H

; 220  :               // D/K FM-Mono(HDEV3) or Sat?
; 221  :               LOG(2,_T("MSP3400: Standard can be D/K FM-MONO(HDEV3) or SAT."));

  00652	68 00 00 00 00	 push	 OFFSET ??_C@_1GI@KALADABB@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAS?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?5?$AAc?$AAa?$AAn?$AA?5?$AAb?$AAe?$AA?5?$AAD?$AA?1?$AAK?$AA?5?$AAF?$AAM?$AA?9@
  00657	6a 02		 push	 2
  00659	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  0065e	83 c4 08	 add	 esp, 8

; 222  :               LOG(2,_T("MSP3400: Chose SAT."));

  00661	68 00 00 00 00	 push	 OFFSET ??_C@_1CI@EDPOODKL@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAC?$AAh?$AAo?$AAs?$AAe?$AA?5?$AAS?$AAA?$AAT?$AA?4?$AA?$AA@
  00666	6a 02		 push	 2
  00668	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  0066d	83 c4 08	 add	 esp, 8
$LN5@DetectStan@3:

; 223  :           }
; 224  : 
; 225  :           m_AudioStandardMajorCarrier = MSP_UNCARRIER_HZ(MajorCarrier);

  00670	db 45 e8	 fild	 DWORD PTR _MajorCarrier$140638[ebp]
  00673	dc 0d 00 00 00
	00		 fmul	 QWORD PTR __real@4171940000000000
  00679	dc 35 00 00 00
	00		 fdiv	 QWORD PTR __real@4170000000000000
  0067f	e8 00 00 00 00	 call	 __ftol2_sse
  00684	8b 4d e0	 mov	 ecx, DWORD PTR _this$[ebp]
  00687	89 41 20	 mov	 DWORD PTR [ecx+32], eax

; 226  :           m_AudioStandardMinorCarrier = MSP_UNCARRIER_HZ(MinorCarrier);

  0068a	db 45 e4	 fild	 DWORD PTR _MinorCarrier$140639[ebp]
  0068d	dc 0d 00 00 00
	00		 fmul	 QWORD PTR __real@4171940000000000
  00693	dc 35 00 00 00
	00		 fdiv	 QWORD PTR __real@4170000000000000
  00699	e8 00 00 00 00	 call	 __ftol2_sse
  0069e	8b 55 e0	 mov	 edx, DWORD PTR _this$[ebp]
  006a1	89 42 24	 mov	 DWORD PTR [edx+36], eax

; 227  :           if (Standard != MSP34x0_STANDARD_NONE)

  006a4	83 7d ec 00	 cmp	 DWORD PTR _Standard$140646[ebp], 0
  006a8	74 39		 je	 SHORT $LN4@DetectStan@3

; 228  :           {
; 229  :               LOG(2,_T("MSP3400: Detected standard: %d with carriers at %g/%g Mhz"),Standard,(double)m_AudioStandardMajorCarrier/1000000.0, (double)m_AudioStandardMinorCarrier/1000000.0);

  006aa	8b 45 e0	 mov	 eax, DWORD PTR _this$[ebp]
  006ad	db 40 24	 fild	 DWORD PTR [eax+36]
  006b0	dc 35 00 00 00
	00		 fdiv	 QWORD PTR __real@412e848000000000
  006b6	83 ec 08	 sub	 esp, 8
  006b9	dd 1c 24	 fstp	 QWORD PTR [esp]
  006bc	8b 4d e0	 mov	 ecx, DWORD PTR _this$[ebp]
  006bf	db 41 20	 fild	 DWORD PTR [ecx+32]
  006c2	dc 35 00 00 00
	00		 fdiv	 QWORD PTR __real@412e848000000000
  006c8	83 ec 08	 sub	 esp, 8
  006cb	dd 1c 24	 fstp	 QWORD PTR [esp]
  006ce	8b 55 ec	 mov	 edx, DWORD PTR _Standard$140646[ebp]
  006d1	52		 push	 edx
  006d2	68 00 00 00 00	 push	 OFFSET ??_C@_1HE@ILPMMDIJ@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAD?$AAe?$AAt?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAs?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?3?$AA?5?$AA?$CF?$AAd?$AA?5?$AAw@
  006d7	6a 02		 push	 2
  006d9	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  006de	83 c4 1c	 add	 esp, 28			; 0000001cH

; 230  :           }
; 231  :           else

  006e1	eb 5a		 jmp	 SHORT $LN3@DetectStan@3
$LN4@DetectStan@3:

; 232  :           {
; 233  :               //Just try...
; 234  :               if (IsSECAMVideoFormat(m_VideoFormat))

  006e3	8b 45 e0	 mov	 eax, DWORD PTR _this$[ebp]
  006e6	8b 48 10	 mov	 ecx, DWORD PTR [eax+16]
  006e9	51		 push	 ecx
  006ea	e8 00 00 00 00	 call	 ?IsSECAMVideoFormat@@YAHW4eVideoFormat@@@Z ; IsSECAMVideoFormat
  006ef	83 c4 04	 add	 esp, 4
  006f2	85 c0		 test	 eax, eax
  006f4	74 09		 je	 SHORT $LN2@DetectStan@3

; 235  :               {
; 236  :                     Standard = MSP34x0_STANDARD_L_NICAM_AM;

  006f6	c7 45 ec 09 00
	00 00		 mov	 DWORD PTR _Standard$140646[ebp], 9

; 237  :               }
; 238  :               else

  006fd	eb 07		 jmp	 SHORT $LN1@DetectStan@3
$LN2@DetectStan@3:

; 239  :               {
; 240  :                     Standard = MSP34x0_STANDARD_M_DUAL_FM;

  006ff	c7 45 ec 02 00
	00 00		 mov	 DWORD PTR _Standard$140646[ebp], 2
$LN1@DetectStan@3:

; 241  :               }
; 242  :               LOG(2,_T("MSP3400: Detected standard: Unknown. Set to %d with carriers at %g/%g Mhz"),Standard,(double)m_AudioStandardMajorCarrier/1000000.0, (double)m_AudioStandardMinorCarrier/1000000.0);

  00706	8b 55 e0	 mov	 edx, DWORD PTR _this$[ebp]
  00709	db 42 24	 fild	 DWORD PTR [edx+36]
  0070c	dc 35 00 00 00
	00		 fdiv	 QWORD PTR __real@412e848000000000
  00712	83 ec 08	 sub	 esp, 8
  00715	dd 1c 24	 fstp	 QWORD PTR [esp]
  00718	8b 45 e0	 mov	 eax, DWORD PTR _this$[ebp]
  0071b	db 40 20	 fild	 DWORD PTR [eax+32]
  0071e	dc 35 00 00 00
	00		 fdiv	 QWORD PTR __real@412e848000000000
  00724	83 ec 08	 sub	 esp, 8
  00727	dd 1c 24	 fstp	 QWORD PTR [esp]
  0072a	8b 4d ec	 mov	 ecx, DWORD PTR _Standard$140646[ebp]
  0072d	51		 push	 ecx
  0072e	68 00 00 00 00	 push	 OFFSET ??_C@_1JE@CKJBNHOH@?$AAM?$AAS?$AAP?$AA3?$AA4?$AA0?$AA0?$AA?3?$AA?5?$AAD?$AAe?$AAt?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAs?$AAt?$AAa?$AAn?$AAd?$AAa?$AAr?$AAd?$AA?3?$AA?5?$AAU?$AAn?$AAk?$AAn@
  00733	6a 02		 push	 2
  00735	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  0073a	83 c4 1c	 add	 esp, 28			; 0000001cH
$LN3@DetectStan@3:

; 243  :           }
; 244  :           return Standard;

  0073d	8b 45 ec	 mov	 eax, DWORD PTR _Standard$140646[ebp]
  00740	eb 02		 jmp	 SHORT $LN37@DetectStan@3
$LN17@DetectStan@3:

; 245  :     }
; 246  : 
; 247  :     return MSP34x0_STANDARD_NONE;

  00742	33 c0		 xor	 eax, eax
$LN37@DetectStan@3:

; 248  : }

  00744	8b e5		 mov	 esp, ebp
  00746	5d		 pop	 ebp
  00747	c3		 ret	 0
?DetectStandardRevA@CMSP34x0AudioDecoder@@AAE?AW4eStandard@1@XZ ENDP ; CMSP34x0AudioDecoder::DetectStandardRevA
PUBLIC	?SetSoundChannelRevA@CMSP34x0AudioDecoder@@AAEXW4eSoundChannel@@@Z ; CMSP34x0AudioDecoder::SetSoundChannelRevA
; Function compile flags: /Odtp
;	COMDAT ?SetSoundChannelRevA@CMSP34x0AudioDecoder@@AAEXW4eSoundChannel@@@Z
_TEXT	SEGMENT
tv75 = -16						; size = 4
_this$ = -12						; size = 4
_source$ = -8						; size = 2
_nicam$ = -4						; size = 2
_SoundChannel$ = 8					; size = 4
?SetSoundChannelRevA@CMSP34x0AudioDecoder@@AAEXW4eSoundChannel@@@Z PROC ; CMSP34x0AudioDecoder::SetSoundChannelRevA, COMDAT
; _this$ = ecx

; 336  : {

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

; 337  :     WORD nicam = 0;  // channel source: FM/AM or nicam

  00009	33 c0		 xor	 eax, eax
  0000b	66 89 45 fc	 mov	 WORD PTR _nicam$[ebp], ax

; 338  :     WORD source = 0;

  0000f	33 c9		 xor	 ecx, ecx
  00011	66 89 4d f8	 mov	 WORD PTR _source$[ebp], cx

; 339  : 
; 340  :     if (m_AudioInput == AUDIOINPUT_EXTERNAL)

  00015	8b 55 f4	 mov	 edx, DWORD PTR _this$[ebp]
  00018	83 7a 18 02	 cmp	 DWORD PTR [edx+24], 2
  0001c	75 0e		 jne	 SHORT $LN29@SetSoundCh@6

; 341  :     {
; 342  :         nicam = 0x0200;

  0001e	b8 00 02 00 00	 mov	 eax, 512		; 00000200H
  00023	66 89 45 fc	 mov	 WORD PTR _nicam$[ebp], ax

; 343  :     }
; 344  :     else

  00027	e9 f8 00 00 00	 jmp	 $LN28@SetSoundCh@6
$LN29@SetSoundCh@6:

; 345  :     {
; 346  :         // switch demodulator
; 347  :         switch (m_AudioStandard)

  0002c	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  0002f	8b 51 1c	 mov	 edx, DWORD PTR [ecx+28]
  00032	89 55 f0	 mov	 DWORD PTR tv75[ebp], edx
  00035	8b 45 f0	 mov	 eax, DWORD PTR tv75[ebp]
  00038	83 e8 02	 sub	 eax, 2
  0003b	89 45 f0	 mov	 DWORD PTR tv75[ebp], eax
  0003e	83 7d f0 5e	 cmp	 DWORD PTR tv75[ebp], 94	; 0000005eH
  00042	0f 87 d7 00 00
	00		 ja	 $LN8@SetSoundCh@6
  00048	8b 4d f0	 mov	 ecx, DWORD PTR tv75[ebp]
  0004b	0f b6 91 00 00
	00 00		 movzx	 edx, BYTE PTR $LN32@SetSoundCh@6[ecx]
  00052	ff 24 95 00 00
	00 00		 jmp	 DWORD PTR $LN33@SetSoundCh@6[edx*4]
$LN25@SetSoundCh@6:

; 348  :         {
; 349  :         case MSP34x0_STANDARD_BG_DUAL_FM:
; 350  :             if (SoundChannel == SOUNDCHANNEL_STEREO)

  00059	83 7d 08 02	 cmp	 DWORD PTR _SoundChannel$[ebp], 2
  0005d	75 11		 jne	 SHORT $LN24@SetSoundCh@6

; 351  :             {
; 352  :                 SetDSPRegister(DSP_WR_FMAM_PRESCALE, 0x3001);

  0005f	68 01 30 00 00	 push	 12289			; 00003001H
  00064	6a 0e		 push	 14			; 0000000eH
  00066	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  00069	e8 00 00 00 00	 call	 ?SetDSPRegister@CMSP34x0@@IAEXW4eDSPWriteRegister@1@G@Z ; CMSP34x0::SetDSPRegister

; 353  :             }
; 354  :             else

  0006e	eb 0f		 jmp	 SHORT $LN23@SetSoundCh@6
$LN24@SetSoundCh@6:

; 355  :             {
; 356  :                 SetDSPRegister(DSP_WR_FMAM_PRESCALE, 0x3000);

  00070	68 00 30 00 00	 push	 12288			; 00003000H
  00075	6a 0e		 push	 14			; 0000000eH
  00077	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  0007a	e8 00 00 00 00	 call	 ?SetDSPRegister@CMSP34x0@@IAEXW4eDSPWriteRegister@1@G@Z ; CMSP34x0::SetDSPRegister
$LN23@SetSoundCh@6:

; 357  :             }
; 358  :             break;

  0007f	e9 a0 00 00 00	 jmp	 $LN28@SetSoundCh@6
$LN22@SetSoundCh@6:

; 359  :         case MSP34x0_STANDARD_M_DUAL_FM:
; 360  :             if (SoundChannel == SOUNDCHANNEL_STEREO)

  00084	83 7d 08 02	 cmp	 DWORD PTR _SoundChannel$[ebp], 2
  00088	75 11		 jne	 SHORT $LN21@SetSoundCh@6

; 361  :             {
; 362  :                 SetDSPRegister(DSP_WR_FMAM_PRESCALE, 0x3002);

  0008a	68 02 30 00 00	 push	 12290			; 00003002H
  0008f	6a 0e		 push	 14			; 0000000eH
  00091	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  00094	e8 00 00 00 00	 call	 ?SetDSPRegister@CMSP34x0@@IAEXW4eDSPWriteRegister@1@G@Z ; CMSP34x0::SetDSPRegister

; 363  :             }
; 364  :             else

  00099	eb 0f		 jmp	 SHORT $LN20@SetSoundCh@6
$LN21@SetSoundCh@6:

; 365  :             {
; 366  :                 SetDSPRegister(DSP_WR_FMAM_PRESCALE, 0x3000);

  0009b	68 00 30 00 00	 push	 12288			; 00003000H
  000a0	6a 0e		 push	 14			; 0000000eH
  000a2	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  000a5	e8 00 00 00 00	 call	 ?SetDSPRegister@CMSP34x0@@IAEXW4eDSPWriteRegister@1@G@Z ; CMSP34x0::SetDSPRegister
$LN20@SetSoundCh@6:

; 367  :             }
; 368  :             break;

  000aa	eb 78		 jmp	 SHORT $LN28@SetSoundCh@6
$LN19@SetSoundCh@6:

; 369  :         case MSP34x0_STANDARD_DK1_DUAL_FM:
; 370  :         case MSP34x0_STANDARD_DK2_DUAL_FM:
; 371  :         case MSP34x0_STANDARD_DK_FM_MONO:
; 372  :         case MSP34x0_STANDARD_DK3_DUAL_FM:
; 373  :         case MSP34x0_STANDARD_M_EIA_J:
; 374  :             break;

  000ac	eb 76		 jmp	 SHORT $LN28@SetSoundCh@6
$LN18@SetSoundCh@6:

; 375  :         case MSP34x0_STANDARD_SAT_MONO:
; 376  :         case MSP34x0_STANDARD_SAT:
; 377  :             if ( (SoundChannel == SOUNDCHANNEL_LANGUAGE1) || (SoundChannel == SOUNDCHANNEL_LANGUAGE2) )

  000ae	83 7d 08 03	 cmp	 DWORD PTR _SoundChannel$[ebp], 3
  000b2	74 06		 je	 SHORT $LN16@SetSoundCh@6
  000b4	83 7d 08 04	 cmp	 DWORD PTR _SoundChannel$[ebp], 4
  000b8	75 14		 jne	 SHORT $LN17@SetSoundCh@6
$LN16@SetSoundCh@6:

; 378  :             {
; 379  :                 SetCarrierRevA(MSP34x0_CARRIER_7_02, MSP34x0_CARRIER_7_38);

  000ba	68 00 80 66 00	 push	 6717440			; 00668000H
  000bf	68 00 80 61 00	 push	 6389760			; 00618000H
  000c4	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  000c7	e8 00 00 00 00	 call	 ?SetCarrierRevA@CMSP34x0AudioDecoder@@AAEXW4eCarrier@1@0@Z ; CMSP34x0AudioDecoder::SetCarrierRevA
  000cc	eb 2c		 jmp	 SHORT $LN15@SetSoundCh@6
$LN17@SetSoundCh@6:

; 380  :             }
; 381  :             else if (SoundChannel == SOUNDCHANNEL_STEREO)

  000ce	83 7d 08 02	 cmp	 DWORD PTR _SoundChannel$[ebp], 2
  000d2	75 14		 jne	 SHORT $LN14@SetSoundCh@6

; 382  :             {
; 383  :                 SetCarrierRevA(MSP34x0_CARRIER_7_02, MSP34x0_CARRIER_7_20);

  000d4	68 00 00 64 00	 push	 6553600			; 00640000H
  000d9	68 00 80 61 00	 push	 6389760			; 00618000H
  000de	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  000e1	e8 00 00 00 00	 call	 ?SetCarrierRevA@CMSP34x0AudioDecoder@@AAEXW4eCarrier@1@0@Z ; CMSP34x0AudioDecoder::SetCarrierRevA

; 384  :             }
; 385  :             else

  000e6	eb 12		 jmp	 SHORT $LN15@SetSoundCh@6
$LN14@SetSoundCh@6:

; 386  :             {
; 387  :                 SetCarrierRevA(MSP34x0_CARRIER_6_5, MSP34x0_CARRIER_6_5);

  000e8	68 1c 47 5a 00	 push	 5916444			; 005a471cH
  000ed	68 1c 47 5a 00	 push	 5916444			; 005a471cH
  000f2	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  000f5	e8 00 00 00 00	 call	 ?SetCarrierRevA@CMSP34x0AudioDecoder@@AAEXW4eCarrier@1@0@Z ; CMSP34x0AudioDecoder::SetCarrierRevA
$LN15@SetSoundCh@6:

; 388  :             }
; 389  :             break;

  000fa	eb 28		 jmp	 SHORT $LN28@SetSoundCh@6
$LN12@SetSoundCh@6:

; 390  :         case MSP34x0_STANDARD_SAT_ADR:
; 391  :             break;

  000fc	eb 26		 jmp	 SHORT $LN28@SetSoundCh@6
$LN11@SetSoundCh@6:

; 392  :         case MSP34x0_STANDARD_BG_NICAM_FM:
; 393  :         case MSP34x0_STANDARD_I_NICAM_FM:
; 394  :         case MSP34x0_STANDARD_DK_NICAM_FM:
; 395  :         case MSP34x0_STANDARD_DK_NICAM_FM_HDEV2:
; 396  :         case MSP34x0_STANDARD_DK_NICAM_FM_HDEV3:
; 397  :         case MSP34x0_STANDARD_L_NICAM_AM:
; 398  :             //SetCarrierRevA(m_MSPStandards[m_AudioStandard].MajorCarrier, m_MSPStandards[m_AudioStandard].MinorCarrier);
; 399  :             //if (m_NicamOn)
; 400  :             //{
; 401  :             nicam=0x0100;

  000fe	b8 00 01 00 00	 mov	 eax, 256		; 00000100H
  00103	66 89 45 fc	 mov	 WORD PTR _nicam$[ebp], ax

; 402  :             //}
; 403  :             break;

  00107	eb 1b		 jmp	 SHORT $LN28@SetSoundCh@6
$LN10@SetSoundCh@6:

; 404  :         case MSP34x0_STANDARD_M_BTSC:
; 405  :         case MSP34x0_STANDARD_M_BTSC_MONO:
; 406  :             nicam = 0x0300;

  00109	b9 00 03 00 00	 mov	 ecx, 768		; 00000300H
  0010e	66 89 4d fc	 mov	 WORD PTR _nicam$[ebp], cx

; 407  :             break;

  00112	eb 10		 jmp	 SHORT $LN28@SetSoundCh@6
$LN9@SetSoundCh@6:

; 408  :         case MSP34x0_STANDARD_FM_RADIO:
; 409  :             //SetSCARTxbar(MSP34x0_SCARTOUTPUT_DSP_INPUT, MSP34x0_SCARTINPUT_SCART_2);
; 410  :             //SetDSPRegister(DSP_WR_SCART_PRESCALE, 0x1900);
; 411  :             nicam = 0x0200;

  00114	ba 00 02 00 00	 mov	 edx, 512		; 00000200H
  00119	66 89 55 fc	 mov	 WORD PTR _nicam$[ebp], dx

; 412  :             break;

  0011d	eb 05		 jmp	 SHORT $LN28@SetSoundCh@6
$LN8@SetSoundCh@6:

; 413  :         default:
; 414  :             return;

  0011f	e9 b6 00 00 00	 jmp	 $LN30@SetSoundCh@6
$LN28@SetSoundCh@6:

; 415  :         }
; 416  :   }
; 417  : 
; 418  : 
; 419  :     if (SoundChannel == SOUNDCHANNEL_LANGUAGE1)

  00124	83 7d 08 03	 cmp	 DWORD PTR _SoundChannel$[ebp], 3
  00128	75 0a		 jne	 SHORT $LN7@SetSoundCh@6

; 420  :     {
; 421  :           source = 0x0000 | nicam;

  0012a	66 8b 45 fc	 mov	 ax, WORD PTR _nicam$[ebp]
  0012e	66 89 45 f8	 mov	 WORD PTR _source$[ebp], ax
  00132	eb 5b		 jmp	 SHORT $LN6@SetSoundCh@6
$LN7@SetSoundCh@6:

; 422  :     }
; 423  :     else if (SoundChannel == SOUNDCHANNEL_LANGUAGE2)

  00134	83 7d 08 04	 cmp	 DWORD PTR _SoundChannel$[ebp], 4
  00138	75 0d		 jne	 SHORT $LN5@SetSoundCh@6

; 424  :     {
; 425  :           source = 0x0010 | nicam;

  0013a	0f b7 4d fc	 movzx	 ecx, WORD PTR _nicam$[ebp]
  0013e	83 c9 10	 or	 ecx, 16			; 00000010H
  00141	66 89 4d f8	 mov	 WORD PTR _source$[ebp], cx
  00145	eb 48		 jmp	 SHORT $LN6@SetSoundCh@6
$LN5@SetSoundCh@6:

; 426  :     }
; 427  :     else if (SoundChannel == SOUNDCHANNEL_STEREO)

  00147	83 7d 08 02	 cmp	 DWORD PTR _SoundChannel$[ebp], 2
  0014b	75 0d		 jne	 SHORT $LN3@SetSoundCh@6

; 428  :     {
; 429  :           source = 0x0020 | nicam;

  0014d	0f b7 55 fc	 movzx	 edx, WORD PTR _nicam$[ebp]
  00151	83 ca 20	 or	 edx, 32			; 00000020H
  00154	66 89 55 f8	 mov	 WORD PTR _source$[ebp], dx

; 430  :     }
; 431  :     else

  00158	eb 35		 jmp	 SHORT $LN6@SetSoundCh@6
$LN3@SetSoundCh@6:

; 432  :     {
; 433  :         // Mono
; 434  :         source = 0x0000 | nicam;

  0015a	66 8b 45 fc	 mov	 ax, WORD PTR _nicam$[ebp]
  0015e	66 89 45 f8	 mov	 WORD PTR _source$[ebp], ax

; 435  : 
; 436  :         if (m_AudioStandard == MSP34x0_STANDARD_L_NICAM_AM)

  00162	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  00165	83 79 1c 09	 cmp	 DWORD PTR [ecx+28], 9
  00169	75 24		 jne	 SHORT $LN6@SetSoundCh@6

; 437  :         {
; 438  :             source = 0x200;

  0016b	ba 00 02 00 00	 mov	 edx, 512		; 00000200H
  00170	66 89 55 f8	 mov	 WORD PTR _source$[ebp], dx

; 439  :             /// AM mono decoding is handled by tuner, not MSP chip
; 440  :             SetSCARTxbar(MSP34x0_SCARTOUTPUT_DSP_INPUT, MSP34x0_SCARTINPUT_MONO);

  00174	6a 01		 push	 1
  00176	6a 00		 push	 0
  00178	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  0017b	e8 00 00 00 00	 call	 ?SetSCARTxbar@CMSP34x0AudioDecoder@@AAEXW4eScartOutput@1@W4eScartInput@1@@Z ; CMSP34x0AudioDecoder::SetSCARTxbar

; 441  :             SetDSPRegister(DSP_WR_SCART_PRESCALE, 0x1900);

  00180	68 00 19 00 00	 push	 6400			; 00001900H
  00185	6a 0d		 push	 13			; 0000000dH
  00187	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  0018a	e8 00 00 00 00	 call	 ?SetDSPRegister@CMSP34x0@@IAEXW4eDSPWriteRegister@1@G@Z ; CMSP34x0::SetDSPRegister
$LN6@SetSoundCh@6:

; 442  :          }
; 443  :     }
; 444  : 
; 445  :     SetDSPRegister(DSP_WR_LDSPK_SOURCE, source);

  0018f	0f b7 45 f8	 movzx	 eax, WORD PTR _source$[ebp]
  00193	50		 push	 eax
  00194	6a 08		 push	 8
  00196	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  00199	e8 00 00 00 00	 call	 ?SetDSPRegister@CMSP34x0@@IAEXW4eDSPWriteRegister@1@G@Z ; CMSP34x0::SetDSPRegister

; 446  :     SetDSPRegister(DSP_WR_HEADPH_SOURCE, source);

  0019e	0f b7 4d f8	 movzx	 ecx, WORD PTR _source$[ebp]
  001a2	51		 push	 ecx
  001a3	6a 09		 push	 9
  001a5	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  001a8	e8 00 00 00 00	 call	 ?SetDSPRegister@CMSP34x0@@IAEXW4eDSPWriteRegister@1@G@Z ; CMSP34x0::SetDSPRegister

; 447  :     SetDSPRegister(DSP_WR_SCART1_SOURCE, source);

  001ad	0f b7 55 f8	 movzx	 edx, WORD PTR _source$[ebp]
  001b1	52		 push	 edx
  001b2	6a 0a		 push	 10			; 0000000aH
  001b4	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  001b7	e8 00 00 00 00	 call	 ?SetDSPRegister@CMSP34x0@@IAEXW4eDSPWriteRegister@1@G@Z ; CMSP34x0::SetDSPRegister

; 448  :     SetDSPRegister(DSP_WR_SCART2_SOURCE, source);

  001bc	0f b7 45 f8	 movzx	 eax, WORD PTR _source$[ebp]
  001c0	50		 push	 eax
  001c1	6a 41		 push	 65			; 00000041H
  001c3	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  001c6	e8 00 00 00 00	 call	 ?SetDSPRegister@CMSP34x0@@IAEXW4eDSPWriteRegister@1@G@Z ; CMSP34x0::SetDSPRegister

; 449  :     SetDSPRegister(DSP_WR_I2S_SOURCE, source);

  001cb	0f b7 4d f8	 movzx	 ecx, WORD PTR _source$[ebp]
  001cf	51		 push	 ecx
  001d0	6a 0b		 push	 11			; 0000000bH
  001d2	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  001d5	e8 00 00 00 00	 call	 ?SetDSPRegister@CMSP34x0@@IAEXW4eDSPWriteRegister@1@G@Z ; CMSP34x0::SetDSPRegister
$LN30@SetSoundCh@6:

; 450  : }

  001da	8b e5		 mov	 esp, ebp
  001dc	5d		 pop	 ebp
  001dd	c2 04 00	 ret	 4
$LN33@SetSoundCh@6:
  001e0	00 00 00 00	 DD	 $LN22@SetSoundCh@6
  001e4	00 00 00 00	 DD	 $LN25@SetSoundCh@6
  001e8	00 00 00 00	 DD	 $LN19@SetSoundCh@6
  001ec	00 00 00 00	 DD	 $LN11@SetSoundCh@6
  001f0	00 00 00 00	 DD	 $LN10@SetSoundCh@6
  001f4	00 00 00 00	 DD	 $LN9@SetSoundCh@6
  001f8	00 00 00 00	 DD	 $LN18@SetSoundCh@6
  001fc	00 00 00 00	 DD	 $LN12@SetSoundCh@6
  00200	00 00 00 00	 DD	 $LN8@SetSoundCh@6
$LN32@SetSoundCh@6:
  00204	00		 DB	 0
  00205	01		 DB	 1
  00206	02		 DB	 2
  00207	02		 DB	 2
  00208	02		 DB	 2
  00209	02		 DB	 2
  0020a	03		 DB	 3
  0020b	03		 DB	 3
  0020c	03		 DB	 3
  0020d	03		 DB	 3
  0020e	03		 DB	 3
  0020f	03		 DB	 3
  00210	08		 DB	 8
  00211	08		 DB	 8
  00212	08		 DB	 8
  00213	08		 DB	 8
  00214	08		 DB	 8
  00215	08		 DB	 8
  00216	08		 DB	 8
  00217	08		 DB	 8
  00218	08		 DB	 8
  00219	08		 DB	 8
  0021a	08		 DB	 8
  0021b	08		 DB	 8
  0021c	08		 DB	 8
  0021d	08		 DB	 8
  0021e	08		 DB	 8
  0021f	08		 DB	 8
  00220	08		 DB	 8
  00221	08		 DB	 8
  00222	04		 DB	 4
  00223	04		 DB	 4
  00224	08		 DB	 8
  00225	08		 DB	 8
  00226	08		 DB	 8
  00227	08		 DB	 8
  00228	08		 DB	 8
  00229	08		 DB	 8
  0022a	08		 DB	 8
  0022b	08		 DB	 8
  0022c	08		 DB	 8
  0022d	08		 DB	 8
  0022e	08		 DB	 8
  0022f	08		 DB	 8
  00230	08		 DB	 8
  00231	08		 DB	 8
  00232	02		 DB	 2
  00233	08		 DB	 8
  00234	08		 DB	 8
  00235	08		 DB	 8
  00236	08		 DB	 8
  00237	08		 DB	 8
  00238	08		 DB	 8
  00239	08		 DB	 8
  0023a	08		 DB	 8
  0023b	08		 DB	 8
  0023c	08		 DB	 8
  0023d	08		 DB	 8
  0023e	08		 DB	 8
  0023f	08		 DB	 8
  00240	08		 DB	 8
  00241	08		 DB	 8
  00242	05		 DB	 5
  00243	08		 DB	 8
  00244	08		 DB	 8
  00245	08		 DB	 8
  00246	08		 DB	 8
  00247	08		 DB	 8
  00248	08		 DB	 8
  00249	08		 DB	 8
  0024a	08		 DB	 8
  0024b	08		 DB	 8
  0024c	08		 DB	 8
  0024d	08		 DB	 8
  0024e	08		 DB	 8
  0024f	08		 DB	 8
  00250	08		 DB	 8
  00251	08		 DB	 8
  00252	06		 DB	 6
  00253	06		 DB	 6
  00254	08		 DB	 8
  00255	08		 DB	 8
  00256	08		 DB	 8
  00257	08		 DB	 8
  00258	08		 DB	 8
  00259	08		 DB	 8
  0025a	08		 DB	 8
  0025b	08		 DB	 8
  0025c	08		 DB	 8
  0025d	08		 DB	 8
  0025e	08		 DB	 8
  0025f	08		 DB	 8
  00260	08		 DB	 8
  00261	08		 DB	 8
  00262	07		 DB	 7
?SetSoundChannelRevA@CMSP34x0AudioDecoder@@AAEXW4eSoundChannel@@@Z ENDP ; CMSP34x0AudioDecoder::SetSoundChannelRevA
PUBLIC	?SetStandardRevA@CMSP34x0AudioDecoder@@AAEXW4eStandard@1@W4eVideoFormat@@HW4eSoundChannel@@@Z ; CMSP34x0AudioDecoder::SetStandardRevA
; Function compile flags: /Odtp
;	COMDAT ?SetStandardRevA@CMSP34x0AudioDecoder@@AAEXW4eStandard@1@W4eVideoFormat@@HW4eSoundChannel@@@Z
_TEXT	SEGMENT
tv329 = -60						; size = 4
tv259 = -56						; size = 4
_this$ = -52						; size = 4
_standardIndex$140770 = -48				; size = 4
_StandardDefinition$ = -44				; size = 28
_FIRType$ = -16						; size = 4
_i$ = -12						; size = 4
_ModeReg$ = -8						; size = 2
_fmprescale$ = -4					; size = 2
_standard$ = 8						; size = 4
_videoformat$ = 12					; size = 4
_bCurrentCarriers$ = 16					; size = 4
_soundChannel$ = 20					; size = 4
?SetStandardRevA@CMSP34x0AudioDecoder@@AAEXW4eStandard@1@W4eVideoFormat@@HW4eSoundChannel@@@Z PROC ; CMSP34x0AudioDecoder::SetStandardRevA, COMDAT
; _this$ = ecx

; 459  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 3c	 sub	 esp, 60			; 0000003cH
  00006	56		 push	 esi
  00007	57		 push	 edi
  00008	89 4d cc	 mov	 DWORD PTR _this$[ebp], ecx

; 460  :     TStandardDefinition StandardDefinition;
; 461  : 
; 462  :     if (standard == MSP34x0_STANDARD_AUTO)

  0000b	83 7d 08 01	 cmp	 DWORD PTR _standard$[ebp], 1
  0000f	75 5f		 jne	 SHORT $LN46@SetStandar@2

; 463  :     {
; 464  :         StandardDefinition.Standard = MSP34x0_STANDARD_AUTO;

  00011	c7 45 d8 01 00
	00 00		 mov	 DWORD PTR _StandardDefinition$[ebp+4], 1

; 465  :         StandardDefinition.FIRType = FIR_AM_DETECT;

  00018	c7 45 ec 04 00
	00 00		 mov	 DWORD PTR _StandardDefinition$[ebp+24], 4

; 466  :         StandardDefinition.StereoType = STEREO_FM;

  0001f	c7 45 e8 01 00
	00 00		 mov	 DWORD PTR _StandardDefinition$[ebp+20], 1

; 467  :         StandardDefinition.MajorCarrier = MSP34x0_CARRIER_4_5;

  00026	c7 45 dc 00 80
	3e 00		 mov	 DWORD PTR _StandardDefinition$[ebp+8], 4096000 ; 003e8000H

; 468  :         StandardDefinition.MinorCarrier = MSP34x0_CARRIER_4_5;

  0002d	c7 45 e0 00 80
	3e 00		 mov	 DWORD PTR _StandardDefinition$[ebp+12], 4096000 ; 003e8000H

; 469  : 
; 470  :         m_CarrierDetect_Phase = 0;

  00034	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  00037	c7 40 2c 00 00
	00 00		 mov	 DWORD PTR [eax+44], 0

; 471  :         // Mute
; 472  :         SetDSPRegister(DSP_WR_LDSPK_VOLUME, 0x0000);

  0003e	6a 00		 push	 0
  00040	6a 00		 push	 0
  00042	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00045	e8 00 00 00 00	 call	 ?SetDSPRegister@CMSP34x0@@IAEXW4eDSPWriteRegister@1@G@Z ; CMSP34x0::SetDSPRegister

; 473  :         SetDSPRegister(DSP_WR_HEADPH_VOLUME, 0x0000);

  0004a	6a 00		 push	 0
  0004c	6a 06		 push	 6
  0004e	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00051	e8 00 00 00 00	 call	 ?SetDSPRegister@CMSP34x0@@IAEXW4eDSPWriteRegister@1@G@Z ; CMSP34x0::SetDSPRegister

; 474  :         SetDSPRegister(DSP_WR_SCART1_VOLUME, 0x0000);

  00056	6a 00		 push	 0
  00058	6a 07		 push	 7
  0005a	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  0005d	e8 00 00 00 00	 call	 ?SetDSPRegister@CMSP34x0@@IAEXW4eDSPWriteRegister@1@G@Z ; CMSP34x0::SetDSPRegister

; 475  :         SetDSPRegister(DSP_WR_SCART2_VOLUME, 0x0000);

  00062	6a 00		 push	 0
  00064	6a 40		 push	 64			; 00000040H
  00066	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00069	e8 00 00 00 00	 call	 ?SetDSPRegister@CMSP34x0@@IAEXW4eDSPWriteRegister@1@G@Z ; CMSP34x0::SetDSPRegister

; 476  :     }
; 477  :     else

  0006e	eb 51		 jmp	 SHORT $LN43@SetStandar@2
$LN46@SetStandar@2:

; 478  :     {
; 479  :         StandardDefinition.Standard = MSP34x0_STANDARD_NONE;

  00070	c7 45 d8 00 00
	00 00		 mov	 DWORD PTR _StandardDefinition$[ebp+4], 0

; 480  : 
; 481  :         int standardIndex = 0;

  00077	c7 45 d0 00 00
	00 00		 mov	 DWORD PTR _standardIndex$140770[ebp], 0
$LN44@SetStandar@2:

; 482  :         while (m_MSPStandards[standardIndex].Name != NULL)

  0007e	8b 4d d0	 mov	 ecx, DWORD PTR _standardIndex$140770[ebp]
  00081	6b c9 1c	 imul	 ecx, 28			; 0000001cH
  00084	83 b9 00 00 00
	00 00		 cmp	 DWORD PTR ?m_MSPStandards@CMSP34x0AudioDecoder@@0PAUTStandardDefinition@1@A[ecx], 0
  0008b	74 34		 je	 SHORT $LN43@SetStandar@2

; 483  :         {
; 484  :             if (m_MSPStandards[standardIndex].Standard == standard)

  0008d	8b 55 d0	 mov	 edx, DWORD PTR _standardIndex$140770[ebp]
  00090	6b d2 1c	 imul	 edx, 28			; 0000001cH
  00093	8b 82 04 00 00
	00		 mov	 eax, DWORD PTR ?m_MSPStandards@CMSP34x0AudioDecoder@@0PAUTStandardDefinition@1@A[edx+4]
  00099	3b 45 08	 cmp	 eax, DWORD PTR _standard$[ebp]
  0009c	75 18		 jne	 SHORT $LN42@SetStandar@2

; 485  :             {
; 486  :                 StandardDefinition = m_MSPStandards[standardIndex];

  0009e	8b 75 d0	 mov	 esi, DWORD PTR _standardIndex$140770[ebp]
  000a1	6b f6 1c	 imul	 esi, 28			; 0000001cH
  000a4	81 c6 00 00 00
	00		 add	 esi, OFFSET ?m_MSPStandards@CMSP34x0AudioDecoder@@0PAUTStandardDefinition@1@A ; CMSP34x0AudioDecoder::m_MSPStandards
  000aa	b9 07 00 00 00	 mov	 ecx, 7
  000af	8d 7d d4	 lea	 edi, DWORD PTR _StandardDefinition$[ebp]
  000b2	f3 a5		 rep movsd

; 487  :                 break;

  000b4	eb 0b		 jmp	 SHORT $LN43@SetStandar@2
$LN42@SetStandar@2:

; 488  :             }
; 489  :             standardIndex++;

  000b6	8b 4d d0	 mov	 ecx, DWORD PTR _standardIndex$140770[ebp]
  000b9	83 c1 01	 add	 ecx, 1
  000bc	89 4d d0	 mov	 DWORD PTR _standardIndex$140770[ebp], ecx

; 490  :         }

  000bf	eb bd		 jmp	 SHORT $LN44@SetStandar@2
$LN43@SetStandar@2:

; 491  :     }
; 492  : 
; 493  :     if (StandardDefinition.Standard == MSP34x0_STANDARD_NONE)

  000c1	83 7d d8 00	 cmp	 DWORD PTR _StandardDefinition$[ebp+4], 0
  000c5	75 0d		 jne	 SHORT $LN41@SetStandar@2

; 494  :     {
; 495  :         //No standard, mute
; 496  :         Reset();

  000c7	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  000ca	e8 00 00 00 00	 call	 ?Reset@CMSP34x0@@QAEXXZ	; CMSP34x0::Reset

; 497  :         return;

  000cf	e9 2f 03 00 00	 jmp	 $LN47@SetStandar@2
$LN41@SetStandar@2:

; 498  :     }
; 499  : 
; 500  :     /// Step 0: AD_CV
; 501  :     if(StandardDefinition.StereoType == STEREO_SAT)

  000d4	83 7d e8 05	 cmp	 DWORD PTR _StandardDefinition$[ebp+20], 5
  000d8	75 14		 jne	 SHORT $LN40@SetStandar@2

; 502  :     {
; 503  :         // set up for AGC bit 7
; 504  :         // and bits 6..1  100011 for SAT
; 505  :         SetDEMRegister(DEM_WR_AD_CV, 0xC6);

  000da	68 c6 00 00 00	 push	 198			; 000000c6H
  000df	68 bb 00 00 00	 push	 187			; 000000bbH
  000e4	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  000e7	e8 00 00 00 00	 call	 ?SetDEMRegister@CMSP34x0@@IAEXW4eDEMWriteRegister@1@G@Z ; CMSP34x0::SetDEMRegister
  000ec	eb 4c		 jmp	 SHORT $LN35@SetStandar@2
$LN40@SetStandar@2:

; 506  :     }
; 507  :     else if(StandardDefinition.StereoType == STEREO_ADR)

  000ee	83 7d e8 06	 cmp	 DWORD PTR _StandardDefinition$[ebp+20], 6
  000f2	75 14		 jne	 SHORT $LN38@SetStandar@2

; 508  :     {
; 509  :         // set up for AGC bit 7
; 510  :         // and bits 6..1  010100 for SAT ADR
; 511  :         SetDEMRegister(DEM_WR_AD_CV, 0xA8);

  000f4	68 a8 00 00 00	 push	 168			; 000000a8H
  000f9	68 bb 00 00 00	 push	 187			; 000000bbH
  000fe	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00101	e8 00 00 00 00	 call	 ?SetDEMRegister@CMSP34x0@@IAEXW4eDEMWriteRegister@1@G@Z ; CMSP34x0::SetDEMRegister

; 512  :     }
; 513  :     else if(StandardDefinition.StereoType == STEREO_NICAM &&

  00106	eb 32		 jmp	 SHORT $LN35@SetStandar@2
$LN38@SetStandar@2:

; 514  :                 StandardDefinition.MonoType == MONO_AM)

  00108	83 7d e8 02	 cmp	 DWORD PTR _StandardDefinition$[ebp+20], 2
  0010c	75 1a		 jne	 SHORT $LN36@SetStandar@2
  0010e	83 7d e4 01	 cmp	 DWORD PTR _StandardDefinition$[ebp+16], 1
  00112	75 14		 jne	 SHORT $LN36@SetStandar@2

; 515  :     {
; 516  :         // set up for AGC bit 7
; 517  :         // and bits 6..1  100011 AM and NICAM
; 518  :         SetDEMRegister(DEM_WR_AD_CV, 0xC6);

  00114	68 c6 00 00 00	 push	 198			; 000000c6H
  00119	68 bb 00 00 00	 push	 187			; 000000bbH
  0011e	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00121	e8 00 00 00 00	 call	 ?SetDEMRegister@CMSP34x0@@IAEXW4eDEMWriteRegister@1@G@Z ; CMSP34x0::SetDEMRegister

; 519  :     }
; 520  :     else

  00126	eb 12		 jmp	 SHORT $LN35@SetStandar@2
$LN36@SetStandar@2:

; 521  :     {
; 522  :         // set up for AGC bit 7
; 523  :         // and bits 6..1  101000 FM and NICAM
; 524  :         // or Dual FM
; 525  :         SetDEMRegister(DEM_WR_AD_CV, 0xD0);

  00128	68 d0 00 00 00	 push	 208			; 000000d0H
  0012d	68 bb 00 00 00	 push	 187			; 000000bbH
  00132	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00135	e8 00 00 00 00	 call	 ?SetDEMRegister@CMSP34x0@@IAEXW4eDEMWriteRegister@1@G@Z ; CMSP34x0::SetDEMRegister
$LN35@SetStandar@2:

; 526  :     }
; 527  : 
; 528  :     // I have no idea what this is supposed to do.
; 529  :     /// Step 1: AUDIO_PLL
; 530  :     // FIXME what should this be may need to be 0 for NICAM
; 531  :     // SetDEMRegister(DEM_WR_AUDIO_PLL, 1);
; 532  : 
; 533  :     /// Step 2: FAWCT_SOLL
; 534  :     if(StandardDefinition.StereoType == STEREO_NICAM)

  0013a	83 7d e8 02	 cmp	 DWORD PTR _StandardDefinition$[ebp+20], 2
  0013e	75 0f		 jne	 SHORT $LN34@SetStandar@2

; 535  :     {
; 536  :         SetDEMRegister(DEM_WR_FAWCT_SOLL, 12);

  00140	6a 0c		 push	 12			; 0000000cH
  00142	68 07 01 00 00	 push	 263			; 00000107H
  00147	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  0014a	e8 00 00 00 00	 call	 ?SetDEMRegister@CMSP34x0@@IAEXW4eDEMWriteRegister@1@G@Z ; CMSP34x0::SetDEMRegister
$LN34@SetStandar@2:

; 537  :     }
; 538  : 
; 539  :     /// Step 3: FAW_ER_TOL
; 540  :     if(StandardDefinition.StereoType == STEREO_NICAM)

  0014f	83 7d e8 02	 cmp	 DWORD PTR _StandardDefinition$[ebp+20], 2
  00153	75 0f		 jne	 SHORT $LN33@SetStandar@2

; 541  :     {
; 542  :         SetDEMRegister(DEM_WR_FAW_ER_TOL, 2);

  00155	6a 02		 push	 2
  00157	68 0f 01 00 00	 push	 271			; 0000010fH
  0015c	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  0015f	e8 00 00 00 00	 call	 ?SetDEMRegister@CMSP34x0@@IAEXW4eDEMWriteRegister@1@G@Z ; CMSP34x0::SetDEMRegister
$LN33@SetStandar@2:

; 543  :     }
; 544  : 
; 545  : 
; 546  :     // FIR data
; 547  : 
; 548  :     int FIRType = StandardDefinition.FIRType;

  00164	8b 55 ec	 mov	 edx, DWORD PTR _StandardDefinition$[ebp+24]
  00167	89 55 f0	 mov	 DWORD PTR _FIRType$[ebp], edx

; 549  :     int i;
; 550  :     for (i = 5; i >= 0; i--)

  0016a	c7 45 f4 05 00
	00 00		 mov	 DWORD PTR _i$[ebp], 5
  00171	eb 09		 jmp	 SHORT $LN32@SetStandar@2
$LN31@SetStandar@2:
  00173	8b 45 f4	 mov	 eax, DWORD PTR _i$[ebp]
  00176	83 e8 01	 sub	 eax, 1
  00179	89 45 f4	 mov	 DWORD PTR _i$[ebp], eax
$LN32@SetStandar@2:
  0017c	83 7d f4 00	 cmp	 DWORD PTR _i$[ebp], 0
  00180	7c 22		 jl	 SHORT $LN30@SetStandar@2

; 551  :     {
; 552  :         SetDEMRegister(DEM_WR_FIR1, m_FIRTypes[FIRType].FIR1[i]);

  00182	8b 4d f0	 mov	 ecx, DWORD PTR _FIRType$[ebp]
  00185	6b c9 0c	 imul	 ecx, 12			; 0000000cH
  00188	8b 55 f4	 mov	 edx, DWORD PTR _i$[ebp]
  0018b	66 0f b6 84 11
	00 00 00 00	 movzx	 ax, BYTE PTR ?m_FIRTypes@CMSP34x0AudioDecoder@@0PAUTFIRType@1@A[ecx+edx]
  00194	0f b7 c8	 movzx	 ecx, ax
  00197	51		 push	 ecx
  00198	6a 01		 push	 1
  0019a	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  0019d	e8 00 00 00 00	 call	 ?SetDEMRegister@CMSP34x0@@IAEXW4eDEMWriteRegister@1@G@Z ; CMSP34x0::SetDEMRegister

; 553  :     }

  001a2	eb cf		 jmp	 SHORT $LN31@SetStandar@2
$LN30@SetStandar@2:

; 554  : 
; 555  :     SetDEMRegister(DEM_WR_FIR2, 0x0004);

  001a4	6a 04		 push	 4
  001a6	6a 05		 push	 5
  001a8	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  001ab	e8 00 00 00 00	 call	 ?SetDEMRegister@CMSP34x0@@IAEXW4eDEMWriteRegister@1@G@Z ; CMSP34x0::SetDEMRegister

; 556  :     SetDEMRegister(DEM_WR_FIR2, 0x0040);

  001b0	6a 40		 push	 64			; 00000040H
  001b2	6a 05		 push	 5
  001b4	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  001b7	e8 00 00 00 00	 call	 ?SetDEMRegister@CMSP34x0@@IAEXW4eDEMWriteRegister@1@G@Z ; CMSP34x0::SetDEMRegister

; 557  :     SetDEMRegister(DEM_WR_FIR2, 0x0000);

  001bc	6a 00		 push	 0
  001be	6a 05		 push	 5
  001c0	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  001c3	e8 00 00 00 00	 call	 ?SetDEMRegister@CMSP34x0@@IAEXW4eDEMWriteRegister@1@G@Z ; CMSP34x0::SetDEMRegister

; 558  : 
; 559  :     for (i = 5; i >= 0; i--)

  001c8	c7 45 f4 05 00
	00 00		 mov	 DWORD PTR _i$[ebp], 5
  001cf	eb 09		 jmp	 SHORT $LN29@SetStandar@2
$LN28@SetStandar@2:
  001d1	8b 55 f4	 mov	 edx, DWORD PTR _i$[ebp]
  001d4	83 ea 01	 sub	 edx, 1
  001d7	89 55 f4	 mov	 DWORD PTR _i$[ebp], edx
$LN29@SetStandar@2:
  001da	83 7d f4 00	 cmp	 DWORD PTR _i$[ebp], 0
  001de	7c 22		 jl	 SHORT $LN27@SetStandar@2

; 560  :     {
; 561  :         SetDEMRegister(DEM_WR_FIR2, m_FIRTypes[FIRType].FIR2[i]);

  001e0	8b 45 f0	 mov	 eax, DWORD PTR _FIRType$[ebp]
  001e3	6b c0 0c	 imul	 eax, 12			; 0000000cH
  001e6	8b 4d f4	 mov	 ecx, DWORD PTR _i$[ebp]
  001e9	66 0f b6 94 08
	06 00 00 00	 movzx	 dx, BYTE PTR ?m_FIRTypes@CMSP34x0AudioDecoder@@0PAUTFIRType@1@A[eax+ecx+6]
  001f2	0f b7 c2	 movzx	 eax, dx
  001f5	50		 push	 eax
  001f6	6a 05		 push	 5
  001f8	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  001fb	e8 00 00 00 00	 call	 ?SetDEMRegister@CMSP34x0@@IAEXW4eDEMWriteRegister@1@G@Z ; CMSP34x0::SetDEMRegister

; 562  :     }

  00200	eb cf		 jmp	 SHORT $LN28@SetStandar@2
$LN27@SetStandar@2:

; 563  : 
; 564  :     // Mode reg
; 565  :     /// Step 6: MODE_REG
; 566  :     WORD ModeReg = 1 << 10;// bit 10 must be set according to documentation

  00202	b9 00 04 00 00	 mov	 ecx, 1024		; 00000400H
  00207	66 89 4d f8	 mov	 WORD PTR _ModeReg$[ebp], cx

; 567  :     if(StandardDefinition.StereoType == STEREO_NICAM)

  0020b	83 7d e8 02	 cmp	 DWORD PTR _StandardDefinition$[ebp+20], 2
  0020f	75 20		 jne	 SHORT $LN26@SetStandar@2

; 568  :     {
; 569  :         // set NICAM mode
; 570  :         ModeReg |= 1 << 6;

  00211	0f b7 55 f8	 movzx	 edx, WORD PTR _ModeReg$[ebp]
  00215	83 ca 40	 or	 edx, 64			; 00000040H
  00218	66 89 55 f8	 mov	 WORD PTR _ModeReg$[ebp], dx

; 571  :         if(StandardDefinition.MonoType == MONO_AM)

  0021c	83 7d e4 01	 cmp	 DWORD PTR _StandardDefinition$[ebp+16], 1
  00220	75 0d		 jne	 SHORT $LN25@SetStandar@2

; 572  :         {
; 573  :             // set MSP 1/2 to AM
; 574  :             ModeReg |= 1 << 8;

  00222	0f b7 45 f8	 movzx	 eax, WORD PTR _ModeReg$[ebp]
  00226	0d 00 01 00 00	 or	 eax, 256		; 00000100H
  0022b	66 89 45 f8	 mov	 WORD PTR _ModeReg$[ebp], ax
$LN25@SetStandar@2:

; 575  :         }
; 576  :     }
; 577  :     else

  0022f	eb 37		 jmp	 SHORT $LN21@SetStandar@2
$LN26@SetStandar@2:

; 578  :     {
; 579  :         if(StandardDefinition.StereoType != STEREO_NONE)

  00231	83 7d e8 00	 cmp	 DWORD PTR _StandardDefinition$[ebp+20], 0
  00235	74 0e		 je	 SHORT $LN23@SetStandar@2

; 580  :         {
; 581  :             // set Two carrier FM mode
; 582  :             ModeReg |= 1 << 7;

  00237	0f b7 4d f8	 movzx	 ecx, WORD PTR _ModeReg$[ebp]
  0023b	81 c9 80 00 00
	00		 or	 ecx, 128		; 00000080H
  00241	66 89 4d f8	 mov	 WORD PTR _ModeReg$[ebp], cx
$LN23@SetStandar@2:

; 583  :         }
; 584  :         if(StandardDefinition.MonoType == MONO_FM)

  00245	83 7d e4 00	 cmp	 DWORD PTR _StandardDefinition$[ebp+16], 0
  00249	75 10		 jne	 SHORT $LN22@SetStandar@2

; 585  :         {
; 586  :             // set MSP channel1 to FM
; 587  :             ModeReg |= 1 << 7;

  0024b	0f b7 55 f8	 movzx	 edx, WORD PTR _ModeReg$[ebp]
  0024f	81 ca 80 00 00
	00		 or	 edx, 128		; 00000080H
  00255	66 89 55 f8	 mov	 WORD PTR _ModeReg$[ebp], dx

; 588  :         }
; 589  :         else

  00259	eb 0d		 jmp	 SHORT $LN21@SetStandar@2
$LN22@SetStandar@2:

; 590  :         {
; 591  :             // set MSP 1/2 to AM
; 592  :             ModeReg |= 1 << 8;

  0025b	0f b7 45 f8	 movzx	 eax, WORD PTR _ModeReg$[ebp]
  0025f	0d 00 01 00 00	 or	 eax, 256		; 00000100H
  00264	66 89 45 f8	 mov	 WORD PTR _ModeReg$[ebp], ax
$LN21@SetStandar@2:

; 593  :         }
; 594  :     }
; 595  :     if (StandardDefinition.StereoType == STEREO_ADR)
; 596  :     {
; 597  :         // Set Mode of ADR Interface to ADR Mode
; 598  :         //ModeReg |= 1<<14;
; 599  :     }
; 600  : 
; 601  :     switch(standard)

  00268	8b 4d 08	 mov	 ecx, DWORD PTR _standard$[ebp]
  0026b	89 4d c8	 mov	 DWORD PTR tv259[ebp], ecx
  0026e	8b 55 c8	 mov	 edx, DWORD PTR tv259[ebp]
  00271	83 ea 01	 sub	 edx, 1
  00274	89 55 c8	 mov	 DWORD PTR tv259[ebp], edx
  00277	83 7d c8 08	 cmp	 DWORD PTR tv259[ebp], 8
  0027b	77 35		 ja	 SHORT $LN14@SetStandar@2
  0027d	8b 45 c8	 mov	 eax, DWORD PTR tv259[ebp]
  00280	0f b6 88 00 00
	00 00		 movzx	 ecx, BYTE PTR $LN49@SetStandar@2[eax]
  00287	ff 24 8d 00 00
	00 00		 jmp	 DWORD PTR $LN51@SetStandar@2[ecx*4]
$LN17@SetStandar@2:

; 602  :     {
; 603  :     case MSP34x0_STANDARD_BG_DUAL_FM:
; 604  :     case MSP34x0_STANDARD_DK1_DUAL_FM:
; 605  :         ModeReg |= 1 << 13;

  0028e	0f b7 55 f8	 movzx	 edx, WORD PTR _ModeReg$[ebp]
  00292	81 ca 00 20 00
	00		 or	 edx, 8192		; 00002000H
  00298	66 89 55 f8	 mov	 WORD PTR _ModeReg$[ebp], dx

; 606  :         break;

  0029c	eb 14		 jmp	 SHORT $LN18@SetStandar@2
$LN16@SetStandar@2:

; 607  :     case MSP34x0_STANDARD_AUTO:
; 608  :         ModeReg = 0x500;

  0029e	b8 00 05 00 00	 mov	 eax, 1280		; 00000500H
  002a3	66 89 45 f8	 mov	 WORD PTR _ModeReg$[ebp], ax

; 609  :         break;

  002a7	eb 09		 jmp	 SHORT $LN18@SetStandar@2
$LN15@SetStandar@2:

; 610  :     case MSP34x0_STANDARD_L_NICAM_AM:
; 611  :         ModeReg = 0x140;

  002a9	b9 40 01 00 00	 mov	 ecx, 320		; 00000140H
  002ae	66 89 4d f8	 mov	 WORD PTR _ModeReg$[ebp], cx
$LN14@SetStandar@2:
$LN18@SetStandar@2:

; 612  :     default:
; 613  :         break;
; 614  :     }
; 615  : 
; 616  :     SetDEMRegister(DEM_WR_MODE_REG, ModeReg);

  002b2	0f b7 55 f8	 movzx	 edx, WORD PTR _ModeReg$[ebp]
  002b6	52		 push	 edx
  002b7	68 83 00 00 00	 push	 131			; 00000083H
  002bc	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  002bf	e8 00 00 00 00	 call	 ?SetDEMRegister@CMSP34x0@@IAEXW4eDEMWriteRegister@1@G@Z ; CMSP34x0::SetDEMRegister

; 617  : 
; 618  : 
; 619  :     // Set Carrier
; 620  :     if (bCurrentCarriers && (m_AudioStandardMajorCarrier!=0) && (m_AudioStandardMinorCarrier!=0) )

  002c4	83 7d 10 00	 cmp	 DWORD PTR _bCurrentCarriers$[ebp], 0
  002c8	74 4c		 je	 SHORT $LN13@SetStandar@2
  002ca	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  002cd	83 78 20 00	 cmp	 DWORD PTR [eax+32], 0
  002d1	74 43		 je	 SHORT $LN13@SetStandar@2
  002d3	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  002d6	83 79 24 00	 cmp	 DWORD PTR [ecx+36], 0
  002da	74 3a		 je	 SHORT $LN13@SetStandar@2

; 621  :     {
; 622  :         SetCarrierRevA((eCarrier)MSP_CARRIER_HZ(m_AudioStandardMajorCarrier), (eCarrier)MSP_CARRIER_HZ(m_AudioStandardMinorCarrier));

  002dc	8b 55 cc	 mov	 edx, DWORD PTR _this$[ebp]
  002df	db 42 24	 fild	 DWORD PTR [edx+36]
  002e2	dc 35 00 00 00
	00		 fdiv	 QWORD PTR __real@4171940000000000
  002e8	dc 0d 00 00 00
	00		 fmul	 QWORD PTR __real@4170000000000000
  002ee	e8 00 00 00 00	 call	 __ftol2_sse
  002f3	50		 push	 eax
  002f4	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  002f7	db 40 20	 fild	 DWORD PTR [eax+32]
  002fa	dc 35 00 00 00
	00		 fdiv	 QWORD PTR __real@4171940000000000
  00300	dc 0d 00 00 00
	00		 fmul	 QWORD PTR __real@4170000000000000
  00306	e8 00 00 00 00	 call	 __ftol2_sse
  0030b	50		 push	 eax
  0030c	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  0030f	e8 00 00 00 00	 call	 ?SetCarrierRevA@CMSP34x0AudioDecoder@@AAEXW4eCarrier@1@0@Z ; CMSP34x0AudioDecoder::SetCarrierRevA

; 623  :     }
; 624  :     else

  00314	eb 10		 jmp	 SHORT $LN12@SetStandar@2
$LN13@SetStandar@2:

; 625  :     {
; 626  :         SetCarrierRevA(StandardDefinition.MajorCarrier, StandardDefinition.MinorCarrier);

  00316	8b 4d e0	 mov	 ecx, DWORD PTR _StandardDefinition$[ebp+12]
  00319	51		 push	 ecx
  0031a	8b 55 dc	 mov	 edx, DWORD PTR _StandardDefinition$[ebp+8]
  0031d	52		 push	 edx
  0031e	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  00321	e8 00 00 00 00	 call	 ?SetCarrierRevA@CMSP34x0AudioDecoder@@AAEXW4eCarrier@1@0@Z ; CMSP34x0AudioDecoder::SetCarrierRevA
$LN12@SetStandar@2:

; 627  :     }
; 628  : 
; 629  :     /// Step 12 NICAM_START
; 630  :     if(m_MSPStandards[m_AudioStandard].StereoType == STEREO_NICAM)

  00326	8b 45 cc	 mov	 eax, DWORD PTR _this$[ebp]
  00329	8b 48 1c	 mov	 ecx, DWORD PTR [eax+28]
  0032c	6b c9 1c	 imul	 ecx, 28			; 0000001cH
  0032f	83 b9 14 00 00
	00 02		 cmp	 DWORD PTR ?m_MSPStandards@CMSP34x0AudioDecoder@@0PAUTStandardDefinition@1@A[ecx+20], 2
  00336	75 0c		 jne	 SHORT $LN11@SetStandar@2

; 631  :     {
; 632  :         SetDEMRegister(DEM_WR_SEARCH_NICAM, 0);

  00338	6a 00		 push	 0
  0033a	6a 78		 push	 120			; 00000078H
  0033c	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  0033f	e8 00 00 00 00	 call	 ?SetDEMRegister@CMSP34x0@@IAEXW4eDEMWriteRegister@1@G@Z ; CMSP34x0::SetDEMRegister
$LN11@SetStandar@2:

; 633  :     }
; 634  : 
; 635  :     // FM and NICAM prescale
; 636  :     WORD fmprescale = 0x3000;

  00344	ba 00 30 00 00	 mov	 edx, 12288		; 00003000H
  00349	66 89 55 fc	 mov	 WORD PTR _fmprescale$[ebp], dx

; 637  :     switch(standard)

  0034d	8b 45 08	 mov	 eax, DWORD PTR _standard$[ebp]
  00350	89 45 c4	 mov	 DWORD PTR tv329[ebp], eax
  00353	8b 4d c4	 mov	 ecx, DWORD PTR tv329[ebp]
  00356	83 e9 02	 sub	 ecx, 2
  00359	89 4d c4	 mov	 DWORD PTR tv329[ebp], ecx
  0035c	83 7d c4 3e	 cmp	 DWORD PTR tv329[ebp], 62 ; 0000003eH
  00360	77 3d		 ja	 SHORT $LN4@SetStandar@2
  00362	8b 55 c4	 mov	 edx, DWORD PTR tv329[ebp]
  00365	0f b6 82 00 00
	00 00		 movzx	 eax, BYTE PTR $LN50@SetStandar@2[edx]
  0036c	ff 24 85 00 00
	00 00		 jmp	 DWORD PTR $LN52@SetStandar@2[eax*4]
$LN8@SetStandar@2:

; 638  :     {
; 639  :     case MSP34x0_STANDARD_BG_DUAL_FM:
; 640  :         fmprescale |= 1;    //B/G stereo

  00373	0f b7 4d fc	 movzx	 ecx, WORD PTR _fmprescale$[ebp]
  00377	83 c9 01	 or	 ecx, 1
  0037a	66 89 4d fc	 mov	 WORD PTR _fmprescale$[ebp], cx

; 641  :         break;

  0037e	eb 1f		 jmp	 SHORT $LN9@SetStandar@2
$LN7@SetStandar@2:

; 642  :     case MSP34x0_STANDARD_M_DUAL_FM:
; 643  :         fmprescale |= 2;    //M stereo (Korean)

  00380	0f b7 55 fc	 movzx	 edx, WORD PTR _fmprescale$[ebp]
  00384	83 ca 02	 or	 edx, 2
  00387	66 89 55 fc	 mov	 WORD PTR _fmprescale$[ebp], dx

; 644  :         break;

  0038b	eb 12		 jmp	 SHORT $LN9@SetStandar@2
$LN6@SetStandar@2:

; 645  :     case MSP34x0_STANDARD_L_NICAM_AM:
; 646  :         fmprescale = 0x7c03;

  0038d	b8 03 7c 00 00	 mov	 eax, 31747		; 00007c03H
  00392	66 89 45 fc	 mov	 WORD PTR _fmprescale$[ebp], ax
$LN5@SetStandar@2:

; 647  :     case MSP34x0_STANDARD_FM_RADIO:
; 648  :         fmprescale = 0x2403;

  00396	b9 03 24 00 00	 mov	 ecx, 9219		; 00002403H
  0039b	66 89 4d fc	 mov	 WORD PTR _fmprescale$[ebp], cx
$LN4@SetStandar@2:
$LN9@SetStandar@2:

; 649  :     default:
; 650  :         break;
; 651  :     }
; 652  : 
; 653  :     SetDSPRegister(DSP_WR_FMAM_PRESCALE, fmprescale);

  0039f	0f b7 55 fc	 movzx	 edx, WORD PTR _fmprescale$[ebp]
  003a3	52		 push	 edx
  003a4	6a 0e		 push	 14			; 0000000eH
  003a6	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  003a9	e8 00 00 00 00	 call	 ?SetDSPRegister@CMSP34x0@@IAEXW4eDSPWriteRegister@1@G@Z ; CMSP34x0::SetDSPRegister

; 654  :     SetDSPRegister(DSP_WR_NICAM_PRESCALE, 0x5A00);

  003ae	68 00 5a 00 00	 push	 23040			; 00005a00H
  003b3	6a 10		 push	 16			; 00000010H
  003b5	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  003b8	e8 00 00 00 00	 call	 ?SetDSPRegister@CMSP34x0@@IAEXW4eDSPWriteRegister@1@G@Z ; CMSP34x0::SetDSPRegister

; 655  : 
; 656  :     // Source
; 657  :     SetSoundChannelRevA(soundChannel);

  003bd	8b 45 14	 mov	 eax, DWORD PTR _soundChannel$[ebp]
  003c0	50		 push	 eax
  003c1	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  003c4	e8 00 00 00 00	 call	 ?SetSoundChannelRevA@CMSP34x0AudioDecoder@@AAEXW4eSoundChannel@@@Z ; CMSP34x0AudioDecoder::SetSoundChannelRevA

; 658  : 
; 659  : 
; 660  :     // reset the ident filter
; 661  :     SetDSPRegister(DSP_WR_IDENT_MODE, 0x3f);

  003c9	6a 3f		 push	 63			; 0000003fH
  003cb	6a 15		 push	 21			; 00000015H
  003cd	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  003d0	e8 00 00 00 00	 call	 ?SetDSPRegister@CMSP34x0@@IAEXW4eDSPWriteRegister@1@G@Z ; CMSP34x0::SetDSPRegister

; 662  :     Sleep(1);

  003d5	6a 01		 push	 1
  003d7	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__Sleep@4

; 663  :     if (standard == MSP34x0_STANDARD_M_DUAL_FM)

  003dd	83 7d 08 02	 cmp	 DWORD PTR _standard$[ebp], 2
  003e1	75 0e		 jne	 SHORT $LN3@SetStandar@2

; 664  :     {
; 665  :         SetDSPRegister(DSP_WR_IDENT_MODE, 0x01);

  003e3	6a 01		 push	 1
  003e5	6a 15		 push	 21			; 00000015H
  003e7	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  003ea	e8 00 00 00 00	 call	 ?SetDSPRegister@CMSP34x0@@IAEXW4eDSPWriteRegister@1@G@Z ; CMSP34x0::SetDSPRegister
  003ef	eb 12		 jmp	 SHORT $LN1@SetStandar@2
$LN3@SetStandar@2:

; 666  :     }
; 667  :     else if (standard == MSP34x0_STANDARD_BG_DUAL_FM)

  003f1	83 7d 08 03	 cmp	 DWORD PTR _standard$[ebp], 3
  003f5	75 0c		 jne	 SHORT $LN1@SetStandar@2

; 668  :     {
; 669  :         SetDSPRegister(DSP_WR_IDENT_MODE, 0x00);

  003f7	6a 00		 push	 0
  003f9	6a 15		 push	 21			; 00000015H
  003fb	8b 4d cc	 mov	 ecx, DWORD PTR _this$[ebp]
  003fe	e8 00 00 00 00	 call	 ?SetDSPRegister@CMSP34x0@@IAEXW4eDSPWriteRegister@1@G@Z ; CMSP34x0::SetDSPRegister
$LN1@SetStandar@2:
$LN47@SetStandar@2:

; 670  :     }
; 671  : 
; 672  :     /*SetDSPRegister(DSP_WR_LDSPK_VOLUME, 0x7300);
; 673  :     SetDSPRegister(DSP_WR_HEADPH_VOLUME, 0x7300);
; 674  : 
; 675  :     SetDSPRegister(DSP_WR_SCART1_VOLUME, 0x4000);
; 676  :     SetDSPRegister(DSP_WR_SCART2_VOLUME, 0x4000);
; 677  :     */
; 678  : }

  00403	5f		 pop	 edi
  00404	5e		 pop	 esi
  00405	8b e5		 mov	 esp, ebp
  00407	5d		 pop	 ebp
  00408	c2 10 00	 ret	 16			; 00000010H
  0040b	90		 npad	 1
$LN51@SetStandar@2:
  0040c	00 00 00 00	 DD	 $LN16@SetStandar@2
  00410	00 00 00 00	 DD	 $LN17@SetStandar@2
  00414	00 00 00 00	 DD	 $LN15@SetStandar@2
  00418	00 00 00 00	 DD	 $LN14@SetStandar@2
$LN49@SetStandar@2:
  0041c	00		 DB	 0
  0041d	03		 DB	 3
  0041e	01		 DB	 1
  0041f	01		 DB	 1
  00420	03		 DB	 3
  00421	03		 DB	 3
  00422	03		 DB	 3
  00423	03		 DB	 3
  00424	02		 DB	 2
  00425	8d 49 00	 npad	 3
$LN52@SetStandar@2:
  00428	00 00 00 00	 DD	 $LN7@SetStandar@2
  0042c	00 00 00 00	 DD	 $LN8@SetStandar@2
  00430	00 00 00 00	 DD	 $LN6@SetStandar@2
  00434	00 00 00 00	 DD	 $LN5@SetStandar@2
  00438	00 00 00 00	 DD	 $LN4@SetStandar@2
$LN50@SetStandar@2:
  0043c	00		 DB	 0
  0043d	01		 DB	 1
  0043e	04		 DB	 4
  0043f	04		 DB	 4
  00440	04		 DB	 4
  00441	04		 DB	 4
  00442	04		 DB	 4
  00443	02		 DB	 2
  00444	04		 DB	 4
  00445	04		 DB	 4
  00446	04		 DB	 4
  00447	04		 DB	 4
  00448	04		 DB	 4
  00449	04		 DB	 4
  0044a	04		 DB	 4
  0044b	04		 DB	 4
  0044c	04		 DB	 4
  0044d	04		 DB	 4
  0044e	04		 DB	 4
  0044f	04		 DB	 4
  00450	04		 DB	 4
  00451	04		 DB	 4
  00452	04		 DB	 4
  00453	04		 DB	 4
  00454	04		 DB	 4
  00455	04		 DB	 4
  00456	04		 DB	 4
  00457	04		 DB	 4
  00458	04		 DB	 4
  00459	04		 DB	 4
  0045a	04		 DB	 4
  0045b	04		 DB	 4
  0045c	04		 DB	 4
  0045d	04		 DB	 4
  0045e	04		 DB	 4
  0045f	04		 DB	 4
  00460	04		 DB	 4
  00461	04		 DB	 4
  00462	04		 DB	 4
  00463	04		 DB	 4
  00464	04		 DB	 4
  00465	04		 DB	 4
  00466	04		 DB	 4
  00467	04		 DB	 4
  00468	04		 DB	 4
  00469	04		 DB	 4
  0046a	04		 DB	 4
  0046b	04		 DB	 4
  0046c	04		 DB	 4
  0046d	04		 DB	 4
  0046e	04		 DB	 4
  0046f	04		 DB	 4
  00470	04		 DB	 4
  00471	04		 DB	 4
  00472	04		 DB	 4
  00473	04		 DB	 4
  00474	04		 DB	 4
  00475	04		 DB	 4
  00476	04		 DB	 4
  00477	04		 DB	 4
  00478	04		 DB	 4
  00479	04		 DB	 4
  0047a	03		 DB	 3
?SetStandardRevA@CMSP34x0AudioDecoder@@AAEXW4eStandard@1@W4eVideoFormat@@HW4eSoundChannel@@@Z ENDP ; CMSP34x0AudioDecoder::SetStandardRevA
END
