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

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

INCLUDELIB OLDNAMES

PUBLIC	?GetDefaultAddress@CSAA7118@@MBEEXZ		; CSAA7118::GetDefaultAddress
PUBLIC	??_R4CSAA7118@@6B@				; CSAA7118::`RTTI Complete Object Locator'
PUBLIC	??_R3CSAA7118@@8				; CSAA7118::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2CSAA7118@@8				; CSAA7118::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@CSAA7118@@8			; CSAA7118::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVCSAA7118@@@8				; CSAA7118 `RTTI Type Descriptor'
PUBLIC	??1CSAA7118@@UAE@XZ				; CSAA7118::~CSAA7118
PUBLIC	??_GCSAA7118@@UAEPAXI@Z				; CSAA7118::`scalar deleting destructor'
PUBLIC	??_C@_1BG@LNKNJJJH@?$AA?$CF?$AA0?$AA2?$AAx?$AA?7?$AA?$CF?$AA0?$AA2?$AAx?$AA?6?$AA?$AA@ ; `string'
PUBLIC	??_7CSAA7118@@6B@				; CSAA7118::`vftable'
EXTRN	??_ECSAA7118@@UAEPAXI@Z:PROC			; CSAA7118::`vector deleting destructor'
;	COMDAT ??_7CSAA7118@@6B@
CONST	SEGMENT
??_7CSAA7118@@6B@ DD FLAT:??_R4CSAA7118@@6B@		; CSAA7118::`vftable'
	DD	FLAT:??_ECSAA7118@@UAEPAXI@Z
	DD	FLAT:?GetDefaultAddress@CSAA7118@@MBEEXZ
CONST	ENDS
;	COMDAT ??_R4CSAA7118@@6B@
rdata$r	SEGMENT
??_R4CSAA7118@@6B@ DD 00H				; CSAA7118::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVCSAA7118@@@8
	DD	FLAT:??_R3CSAA7118@@8
rdata$r	ENDS
;	COMDAT ??_R3CSAA7118@@8
rdata$r	SEGMENT
??_R3CSAA7118@@8 DD 00H					; CSAA7118::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2CSAA7118@@8
rdata$r	ENDS
;	COMDAT ??_R2CSAA7118@@8
rdata$r	SEGMENT
??_R2CSAA7118@@8 DD FLAT:??_R1A@?0A@EA@CSAA7118@@8	; CSAA7118::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@CI2CDevice@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@CSAA7118@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@CSAA7118@@8 DD FLAT:??_R0?AVCSAA7118@@@8	; CSAA7118::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3CSAA7118@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVCSAA7118@@@8
_DATA	SEGMENT
??_R0?AVCSAA7118@@@8 DD FLAT:??_7type_info@@6B@		; CSAA7118 `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVCSAA7118@@', 00H
_DATA	ENDS
;	COMDAT ??_C@_1BG@LNKNJJJH@?$AA?$CF?$AA0?$AA2?$AAx?$AA?7?$AA?$CF?$AA0?$AA2?$AAx?$AA?6?$AA?$AA@
CONST	SEGMENT
??_C@_1BG@LNKNJJJH@?$AA?$CF?$AA0?$AA2?$AAx?$AA?7?$AA?$CF?$AA0?$AA2?$AAx?$AA?6?$AA?$AA@ DB '%'
	DB	00H, '0', 00H, '2', 00H, 'x', 00H, 09H, 00H, '%', 00H, '0', 00H
	DB	'2', 00H, 'x', 00H, 0aH, 00H, 00H, 00H	; `string'
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\saa7118.cpp
;	COMDAT ?GetDefaultAddress@CSAA7118@@MBEEXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetDefaultAddress@CSAA7118@@MBEEXZ PROC		; CSAA7118::GetDefaultAddress, COMDAT
; _this$ = ecx

; 127  : {

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

; 128  :     return 0x42>>1;

  00007	b0 21		 mov	 al, 33			; 00000021H

; 129  : }

  00009	8b e5		 mov	 esp, ebp
  0000b	5d		 pop	 ebp
  0000c	c3		 ret	 0
?GetDefaultAddress@CSAA7118@@MBEEXZ ENDP		; CSAA7118::GetDefaultAddress
PUBLIC	?GetRegister@CSAA7118@@QAEEE@Z			; CSAA7118::GetRegister
; Function compile flags: /Odtp
;	COMDAT ?GetRegister@CSAA7118@@QAEEE@Z
_TEXT	SEGMENT
_this$ = -8						; size = 4
_Result$ = -1						; size = 1
_Register$ = 8						; size = 1
?GetRegister@CSAA7118@@QAEEE@Z PROC			; CSAA7118::GetRegister, COMDAT
; _this$ = ecx

; 91   : {

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

; 92   :     BYTE Result(0);

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

; 93   :     ReadFromSubAddress(Register, &Result, 1);

  0000d	6a 01		 push	 1
  0000f	8d 45 ff	 lea	 eax, DWORD PTR _Result$[ebp]
  00012	50		 push	 eax
  00013	0f b6 4d 08	 movzx	 ecx, BYTE PTR _Register$[ebp]
  00017	51		 push	 ecx
  00018	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0001b	e8 00 00 00 00	 call	 ?ReadFromSubAddress@CI2CDevice@@QAEHEPAEI@Z ; CI2CDevice::ReadFromSubAddress

; 94   :     return Result;

  00020	8a 45 ff	 mov	 al, BYTE PTR _Result$[ebp]

; 95   : }

  00023	8b e5		 mov	 esp, ebp
  00025	5d		 pop	 ebp
  00026	c2 04 00	 ret	 4
?GetRegister@CSAA7118@@QAEEE@Z ENDP			; CSAA7118::GetRegister
_TEXT	ENDS
PUBLIC	?SetRegister@CSAA7118@@QAEXEE@Z			; CSAA7118::SetRegister
; Function compile flags: /Odtp
;	COMDAT ?SetRegister@CSAA7118@@QAEXEE@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_Register$ = 8						; size = 1
_Value$ = 12						; size = 1
?SetRegister@CSAA7118@@QAEXEE@Z PROC			; CSAA7118::SetRegister, COMDAT
; _this$ = ecx

; 86   : {

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

; 87   :     WriteToSubAddress(Register, &Value, 1);

  00007	6a 01		 push	 1
  00009	8d 45 0c	 lea	 eax, DWORD PTR _Value$[ebp]
  0000c	50		 push	 eax
  0000d	0f b6 4d 08	 movzx	 ecx, BYTE PTR _Register$[ebp]
  00011	51		 push	 ecx
  00012	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00015	e8 00 00 00 00	 call	 ?WriteToSubAddress@CI2CDevice@@QAEHEPBEI@Z ; CI2CDevice::WriteToSubAddress

; 88   : }

  0001a	8b e5		 mov	 esp, ebp
  0001c	5d		 pop	 ebp
  0001d	c2 08 00	 ret	 8
?SetRegister@CSAA7118@@QAEXEE@Z ENDP			; CSAA7118::SetRegister
_TEXT	ENDS
PUBLIC	?GetVersion@CSAA7118@@QAEEXZ			; CSAA7118::GetVersion
; Function compile flags: /Odtp
;	COMDAT ?GetVersion@CSAA7118@@QAEEXZ
_TEXT	SEGMENT
_this$ = -8						; size = 4
_Result$ = -1						; size = 1
?GetVersion@CSAA7118@@QAEEXZ PROC			; CSAA7118::GetVersion, COMDAT
; _this$ = ecx

; 79   : {

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

; 80   :     BYTE Result(0);

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

; 81   :     ReadFromSubAddress(0x00, &Result, 1);

  0000d	6a 01		 push	 1
  0000f	8d 45 ff	 lea	 eax, DWORD PTR _Result$[ebp]
  00012	50		 push	 eax
  00013	6a 00		 push	 0
  00015	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00018	e8 00 00 00 00	 call	 ?ReadFromSubAddress@CI2CDevice@@QAEHEPAEI@Z ; CI2CDevice::ReadFromSubAddress

; 82   :     return Result;

  0001d	8a 45 ff	 mov	 al, BYTE PTR _Result$[ebp]

; 83   : }

  00020	8b e5		 mov	 esp, ebp
  00022	5d		 pop	 ebp
  00023	c3		 ret	 0
?GetVersion@CSAA7118@@QAEEXZ ENDP			; CSAA7118::GetVersion
_TEXT	ENDS
PUBLIC	?SetComponentSaturation@CSAA7118@@QAEXE@Z	; CSAA7118::SetComponentSaturation
; Function compile flags: /Odtp
;	COMDAT ?SetComponentSaturation@CSAA7118@@QAEXE@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_Saturation$ = 8					; size = 1
?SetComponentSaturation@CSAA7118@@QAEXE@Z PROC		; CSAA7118::SetComponentSaturation, COMDAT
; _this$ = ecx

; 72   : {

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

; 73   :     // Saturation limited to 0-128
; 74   :     Saturation = Saturation >> 1;

  00007	0f b6 45 08	 movzx	 eax, BYTE PTR _Saturation$[ebp]
  0000b	d1 f8		 sar	 eax, 1
  0000d	88 45 08	 mov	 BYTE PTR _Saturation$[ebp], al

; 75   :     WriteToSubAddress(0x2c, &Saturation, 1);

  00010	6a 01		 push	 1
  00012	8d 4d 08	 lea	 ecx, DWORD PTR _Saturation$[ebp]
  00015	51		 push	 ecx
  00016	6a 2c		 push	 44			; 0000002cH
  00018	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0001b	e8 00 00 00 00	 call	 ?WriteToSubAddress@CI2CDevice@@QAEHEPBEI@Z ; CI2CDevice::WriteToSubAddress

; 76   : }

  00020	8b e5		 mov	 esp, ebp
  00022	5d		 pop	 ebp
  00023	c2 04 00	 ret	 4
?SetComponentSaturation@CSAA7118@@QAEXE@Z ENDP		; CSAA7118::SetComponentSaturation
_TEXT	ENDS
PUBLIC	?SetSaturation@CSAA7118@@QAEXE@Z		; CSAA7118::SetSaturation
; Function compile flags: /Odtp
;	COMDAT ?SetSaturation@CSAA7118@@QAEXE@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_Saturation$ = 8					; size = 1
?SetSaturation@CSAA7118@@QAEXE@Z PROC			; CSAA7118::SetSaturation, COMDAT
; _this$ = ecx

; 64   : {

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

; 65   :     // Saturation limited to 0-128
; 66   :     Saturation = Saturation >> 1;

  00007	0f b6 45 08	 movzx	 eax, BYTE PTR _Saturation$[ebp]
  0000b	d1 f8		 sar	 eax, 1
  0000d	88 45 08	 mov	 BYTE PTR _Saturation$[ebp], al

; 67   :     WriteToSubAddress(0x0c, &Saturation, 1);

  00010	6a 01		 push	 1
  00012	8d 4d 08	 lea	 ecx, DWORD PTR _Saturation$[ebp]
  00015	51		 push	 ecx
  00016	6a 0c		 push	 12			; 0000000cH
  00018	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0001b	e8 00 00 00 00	 call	 ?WriteToSubAddress@CI2CDevice@@QAEHEPBEI@Z ; CI2CDevice::WriteToSubAddress

; 68   : }

  00020	8b e5		 mov	 esp, ebp
  00022	5d		 pop	 ebp
  00023	c2 04 00	 ret	 4
?SetSaturation@CSAA7118@@QAEXE@Z ENDP			; CSAA7118::SetSaturation
_TEXT	ENDS
PUBLIC	?SetHue@CSAA7118@@QAEXE@Z			; CSAA7118::SetHue
; Function compile flags: /Odtp
;	COMDAT ?SetHue@CSAA7118@@QAEXE@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_Hue$ = 8						; size = 1
?SetHue@CSAA7118@@QAEXE@Z PROC				; CSAA7118::SetHue, COMDAT
; _this$ = ecx

; 58   : {

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

; 59   :     Hue = (BYTE)(signed char)(Hue - 0x80);

  00007	0f b6 45 08	 movzx	 eax, BYTE PTR _Hue$[ebp]
  0000b	2d 80 00 00 00	 sub	 eax, 128		; 00000080H
  00010	88 45 08	 mov	 BYTE PTR _Hue$[ebp], al

; 60   :     WriteToSubAddress(0x0d, &Hue, 1);

  00013	6a 01		 push	 1
  00015	8d 4d 08	 lea	 ecx, DWORD PTR _Hue$[ebp]
  00018	51		 push	 ecx
  00019	6a 0d		 push	 13			; 0000000dH
  0001b	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0001e	e8 00 00 00 00	 call	 ?WriteToSubAddress@CI2CDevice@@QAEHEPBEI@Z ; CI2CDevice::WriteToSubAddress

; 61   : }

  00023	8b e5		 mov	 esp, ebp
  00025	5d		 pop	 ebp
  00026	c2 04 00	 ret	 4
?SetHue@CSAA7118@@QAEXE@Z ENDP				; CSAA7118::SetHue
_TEXT	ENDS
PUBLIC	?SetComponentContrast@CSAA7118@@QAEXE@Z		; CSAA7118::SetComponentContrast
; Function compile flags: /Odtp
;	COMDAT ?SetComponentContrast@CSAA7118@@QAEXE@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_Contrast$ = 8						; size = 1
?SetComponentContrast@CSAA7118@@QAEXE@Z PROC		; CSAA7118::SetComponentContrast, COMDAT
; _this$ = ecx

; 51   : {

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

; 52   :     // Contrast limited to 0-128
; 53   :     Contrast = Contrast >> 1;

  00007	0f b6 45 08	 movzx	 eax, BYTE PTR _Contrast$[ebp]
  0000b	d1 f8		 sar	 eax, 1
  0000d	88 45 08	 mov	 BYTE PTR _Contrast$[ebp], al

; 54   :     WriteToSubAddress(0x2b, &Contrast, 1);

  00010	6a 01		 push	 1
  00012	8d 4d 08	 lea	 ecx, DWORD PTR _Contrast$[ebp]
  00015	51		 push	 ecx
  00016	6a 2b		 push	 43			; 0000002bH
  00018	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0001b	e8 00 00 00 00	 call	 ?WriteToSubAddress@CI2CDevice@@QAEHEPBEI@Z ; CI2CDevice::WriteToSubAddress

; 55   : }

  00020	8b e5		 mov	 esp, ebp
  00022	5d		 pop	 ebp
  00023	c2 04 00	 ret	 4
?SetComponentContrast@CSAA7118@@QAEXE@Z ENDP		; CSAA7118::SetComponentContrast
_TEXT	ENDS
PUBLIC	?SetContrast@CSAA7118@@QAEXE@Z			; CSAA7118::SetContrast
; Function compile flags: /Odtp
;	COMDAT ?SetContrast@CSAA7118@@QAEXE@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_Contrast$ = 8						; size = 1
?SetContrast@CSAA7118@@QAEXE@Z PROC			; CSAA7118::SetContrast, COMDAT
; _this$ = ecx

; 44   : {

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

; 45   :     // Contrast limited to 0-128
; 46   :     Contrast = Contrast >> 1;

  00007	0f b6 45 08	 movzx	 eax, BYTE PTR _Contrast$[ebp]
  0000b	d1 f8		 sar	 eax, 1
  0000d	88 45 08	 mov	 BYTE PTR _Contrast$[ebp], al

; 47   :     WriteToSubAddress(0x0b, &Contrast, 1);

  00010	6a 01		 push	 1
  00012	8d 4d 08	 lea	 ecx, DWORD PTR _Contrast$[ebp]
  00015	51		 push	 ecx
  00016	6a 0b		 push	 11			; 0000000bH
  00018	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0001b	e8 00 00 00 00	 call	 ?WriteToSubAddress@CI2CDevice@@QAEHEPBEI@Z ; CI2CDevice::WriteToSubAddress

; 48   : }

  00020	8b e5		 mov	 esp, ebp
  00022	5d		 pop	 ebp
  00023	c2 04 00	 ret	 4
?SetContrast@CSAA7118@@QAEXE@Z ENDP			; CSAA7118::SetContrast
_TEXT	ENDS
PUBLIC	?SetComponentBrightness@CSAA7118@@QAEXE@Z	; CSAA7118::SetComponentBrightness
; Function compile flags: /Odtp
;	COMDAT ?SetComponentBrightness@CSAA7118@@QAEXE@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_Brightness$ = 8					; size = 1
?SetComponentBrightness@CSAA7118@@QAEXE@Z PROC		; CSAA7118::SetComponentBrightness, COMDAT
; _this$ = ecx

; 39   : {

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

; 40   :     WriteToSubAddress(0x2a, &Brightness, 1);

  00007	6a 01		 push	 1
  00009	8d 45 08	 lea	 eax, DWORD PTR _Brightness$[ebp]
  0000c	50		 push	 eax
  0000d	6a 2a		 push	 42			; 0000002aH
  0000f	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00012	e8 00 00 00 00	 call	 ?WriteToSubAddress@CI2CDevice@@QAEHEPBEI@Z ; CI2CDevice::WriteToSubAddress

; 41   : }

  00017	8b e5		 mov	 esp, ebp
  00019	5d		 pop	 ebp
  0001a	c2 04 00	 ret	 4
?SetComponentBrightness@CSAA7118@@QAEXE@Z ENDP		; CSAA7118::SetComponentBrightness
_TEXT	ENDS
PUBLIC	?SetBrightness@CSAA7118@@QAEXE@Z		; CSAA7118::SetBrightness
; Function compile flags: /Odtp
;	COMDAT ?SetBrightness@CSAA7118@@QAEXE@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_Brightness$ = 8					; size = 1
?SetBrightness@CSAA7118@@QAEXE@Z PROC			; CSAA7118::SetBrightness, COMDAT
; _this$ = ecx

; 34   : {

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

; 35   :     WriteToSubAddress(0x0a, &Brightness, 1);

  00007	6a 01		 push	 1
  00009	8d 45 08	 lea	 eax, DWORD PTR _Brightness$[ebp]
  0000c	50		 push	 eax
  0000d	6a 0a		 push	 10			; 0000000aH
  0000f	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00012	e8 00 00 00 00	 call	 ?WriteToSubAddress@CI2CDevice@@QAEHEPBEI@Z ; CI2CDevice::WriteToSubAddress

; 36   : }

  00017	8b e5		 mov	 esp, ebp
  00019	5d		 pop	 ebp
  0001a	c2 04 00	 ret	 4
?SetBrightness@CSAA7118@@QAEXE@Z ENDP			; CSAA7118::SetBrightness
_TEXT	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1CSAA7118@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1CSAA7118@@UAE@XZ$0
__ehfuncinfo$??1CSAA7118@@UAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1CSAA7118@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??1CSAA7118@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1CSAA7118@@UAE@XZ PROC				; CSAA7118::~CSAA7118, COMDAT
; _this$ = ecx
  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??1CSAA7118@@UAE@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	51		 push	 ecx
  00012	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00017	33 c5		 xor	 eax, ebp
  00019	50		 push	 eax
  0001a	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001d	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00023	89 4d f0	 mov	 DWORD PTR _this$[ebp], ecx
  00026	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  0002d	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00034	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00037	e8 00 00 00 00	 call	 ??1CI2CDevice@@UAE@XZ	; CI2CDevice::~CI2CDevice
  0003c	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0003f	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00046	59		 pop	 ecx
  00047	8b e5		 mov	 esp, ebp
  00049	5d		 pop	 ebp
  0004a	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1CSAA7118@@UAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CI2CDevice@@UAE@XZ	; CI2CDevice::~CI2CDevice
__ehhandler$??1CSAA7118@@UAE@XZ:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  00012	33 c8		 xor	 ecx, eax
  00014	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00019	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??1CSAA7118@@UAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1CSAA7118@@UAE@XZ ENDP				; CSAA7118::~CSAA7118
; Function compile flags: /Odtp
;	COMDAT ??_GCSAA7118@@UAEPAXI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___flags$ = 8						; size = 4
??_GCSAA7118@@UAEPAXI@Z PROC				; CSAA7118::`scalar deleting destructor', COMDAT
; _this$ = ecx
  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx
  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	e8 00 00 00 00	 call	 ??1CSAA7118@@UAE@XZ
  0000f	8b 45 08	 mov	 eax, DWORD PTR ___flags$[ebp]
  00012	83 e0 01	 and	 eax, 1
  00015	74 0c		 je	 SHORT $LN1@scalar@34
  00017	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0001a	51		 push	 ecx
  0001b	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00020	83 c4 04	 add	 esp, 4
$LN1@scalar@34:
  00023	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00026	8b e5		 mov	 esp, ebp
  00028	5d		 pop	 ebp
  00029	c2 04 00	 ret	 4
??_GCSAA7118@@UAEPAXI@Z ENDP				; CSAA7118::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??0CSAA7118@@QAE@XZ				; CSAA7118::CSAA7118
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0CSAA7118@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0CSAA7118@@QAE@XZ$0
__ehfuncinfo$??0CSAA7118@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0CSAA7118@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0CSAA7118@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0CSAA7118@@QAE@XZ PROC				; CSAA7118::CSAA7118, COMDAT
; _this$ = ecx

; 30   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0CSAA7118@@QAE@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	51		 push	 ecx
  00012	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00017	33 c5		 xor	 eax, ebp
  00019	50		 push	 eax
  0001a	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001d	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00023	89 4d f0	 mov	 DWORD PTR _this$[ebp], ecx
  00026	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00029	e8 00 00 00 00	 call	 ??0CI2CDevice@@QAE@XZ	; CI2CDevice::CI2CDevice
  0002e	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00035	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  00038	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], OFFSET ??_7CSAA7118@@6B@

; 31   : }

  0003e	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00045	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  00048	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0004b	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00052	59		 pop	 ecx
  00053	8b e5		 mov	 esp, ebp
  00055	5d		 pop	 ebp
  00056	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0CSAA7118@@QAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CI2CDevice@@UAE@XZ	; CI2CDevice::~CI2CDevice
__ehhandler$??0CSAA7118@@QAE@XZ:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  00012	33 c8		 xor	 ecx, eax
  00014	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00019	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0CSAA7118@@QAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0CSAA7118@@QAE@XZ ENDP				; CSAA7118::CSAA7118
PUBLIC	?DumpSettings@CSAA7118@@QAEXPB_W@Z		; CSAA7118::DumpSettings
; Function compile flags: /Odtp
;	COMDAT ?DumpSettings@CSAA7118@@QAEXPB_W@Z
_TEXT	SEGMENT
_this$ = -12						; size = 4
_hFile$ = -8						; size = 4
_i$ = -4						; size = 4
_Filename$ = 8						; size = 4
?DumpSettings@CSAA7118@@QAEXPB_W@Z PROC			; CSAA7118::DumpSettings, COMDAT
; _this$ = ecx

; 98   : {

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

; 99   :     FILE* hFile;
; 100  : 
; 101  :     hFile = _tfopen(Filename, _T("w"));

  00009	68 00 00 00 00	 push	 OFFSET ??_C@_13CIFDLIMG@?$AAw?$AA?$AA@
  0000e	8b 45 08	 mov	 eax, DWORD PTR _Filename$[ebp]
  00011	50		 push	 eax
  00012	e8 00 00 00 00	 call	 __wfopen
  00017	83 c4 08	 add	 esp, 8
  0001a	89 45 f8	 mov	 DWORD PTR _hFile$[ebp], eax

; 102  :     if(!hFile)

  0001d	83 7d f8 00	 cmp	 DWORD PTR _hFile$[ebp], 0
  00021	75 05		 jne	 SHORT $LN10@DumpSettin@2

; 103  :     {
; 104  :         return;

  00023	e9 cf 00 00 00	 jmp	 $LN11@DumpSettin@2
$LN10@DumpSettin@2:

; 105  :     }
; 106  : 
; 107  :     int i;
; 108  :     for(i = 0; i < 0x2d; ++i)

  00028	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _i$[ebp], 0
  0002f	eb 09		 jmp	 SHORT $LN9@DumpSettin@2
$LN8@DumpSettin@2:
  00031	8b 4d fc	 mov	 ecx, DWORD PTR _i$[ebp]
  00034	83 c1 01	 add	 ecx, 1
  00037	89 4d fc	 mov	 DWORD PTR _i$[ebp], ecx
$LN9@DumpSettin@2:
  0003a	83 7d fc 2d	 cmp	 DWORD PTR _i$[ebp], 45	; 0000002dH
  0003e	7d 28		 jge	 SHORT $LN7@DumpSettin@2

; 109  :     {
; 110  :         _ftprintf(hFile, _T("%02x\t%02x\n"), i, GetRegister(i));

  00040	0f b6 55 fc	 movzx	 edx, BYTE PTR _i$[ebp]
  00044	52		 push	 edx
  00045	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  00048	e8 00 00 00 00	 call	 ?GetRegister@CSAA7118@@QAEEE@Z ; CSAA7118::GetRegister
  0004d	0f b6 c0	 movzx	 eax, al
  00050	50		 push	 eax
  00051	8b 4d fc	 mov	 ecx, DWORD PTR _i$[ebp]
  00054	51		 push	 ecx
  00055	68 00 00 00 00	 push	 OFFSET ??_C@_1BG@LNKNJJJH@?$AA?$CF?$AA0?$AA2?$AAx?$AA?7?$AA?$CF?$AA0?$AA2?$AAx?$AA?6?$AA?$AA@
  0005a	8b 55 f8	 mov	 edx, DWORD PTR _hFile$[ebp]
  0005d	52		 push	 edx
  0005e	e8 00 00 00 00	 call	 _fwprintf
  00063	83 c4 10	 add	 esp, 16			; 00000010H

; 111  :     }

  00066	eb c9		 jmp	 SHORT $LN8@DumpSettin@2
$LN7@DumpSettin@2:

; 112  : 
; 113  :     for(i = 0x40; i <= 0x62; ++i)

  00068	c7 45 fc 40 00
	00 00		 mov	 DWORD PTR _i$[ebp], 64	; 00000040H
  0006f	eb 09		 jmp	 SHORT $LN6@DumpSettin@2
$LN5@DumpSettin@2:
  00071	8b 45 fc	 mov	 eax, DWORD PTR _i$[ebp]
  00074	83 c0 01	 add	 eax, 1
  00077	89 45 fc	 mov	 DWORD PTR _i$[ebp], eax
$LN6@DumpSettin@2:
  0007a	83 7d fc 62	 cmp	 DWORD PTR _i$[ebp], 98	; 00000062H
  0007e	7f 28		 jg	 SHORT $LN4@DumpSettin@2

; 114  :     {
; 115  :         _ftprintf(hFile, _T("%02x\t%02x\n"), i, GetRegister(i));

  00080	0f b6 4d fc	 movzx	 ecx, BYTE PTR _i$[ebp]
  00084	51		 push	 ecx
  00085	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  00088	e8 00 00 00 00	 call	 ?GetRegister@CSAA7118@@QAEEE@Z ; CSAA7118::GetRegister
  0008d	0f b6 d0	 movzx	 edx, al
  00090	52		 push	 edx
  00091	8b 45 fc	 mov	 eax, DWORD PTR _i$[ebp]
  00094	50		 push	 eax
  00095	68 00 00 00 00	 push	 OFFSET ??_C@_1BG@LNKNJJJH@?$AA?$CF?$AA0?$AA2?$AAx?$AA?7?$AA?$CF?$AA0?$AA2?$AAx?$AA?6?$AA?$AA@
  0009a	8b 4d f8	 mov	 ecx, DWORD PTR _hFile$[ebp]
  0009d	51		 push	 ecx
  0009e	e8 00 00 00 00	 call	 _fwprintf
  000a3	83 c4 10	 add	 esp, 16			; 00000010H

; 116  :     }

  000a6	eb c9		 jmp	 SHORT $LN5@DumpSettin@2
$LN4@DumpSettin@2:

; 117  : 
; 118  :     for(i = 0x80; i <= 0xBF; ++i)

  000a8	c7 45 fc 80 00
	00 00		 mov	 DWORD PTR _i$[ebp], 128	; 00000080H
  000af	eb 09		 jmp	 SHORT $LN3@DumpSettin@2
$LN2@DumpSettin@2:
  000b1	8b 55 fc	 mov	 edx, DWORD PTR _i$[ebp]
  000b4	83 c2 01	 add	 edx, 1
  000b7	89 55 fc	 mov	 DWORD PTR _i$[ebp], edx
$LN3@DumpSettin@2:
  000ba	81 7d fc bf 00
	00 00		 cmp	 DWORD PTR _i$[ebp], 191	; 000000bfH
  000c1	7f 28		 jg	 SHORT $LN1@DumpSettin@2

; 119  :     {
; 120  :         _ftprintf(hFile, _T("%02x\t%02x\n"), i, GetRegister(i));

  000c3	0f b6 45 fc	 movzx	 eax, BYTE PTR _i$[ebp]
  000c7	50		 push	 eax
  000c8	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  000cb	e8 00 00 00 00	 call	 ?GetRegister@CSAA7118@@QAEEE@Z ; CSAA7118::GetRegister
  000d0	0f b6 c8	 movzx	 ecx, al
  000d3	51		 push	 ecx
  000d4	8b 55 fc	 mov	 edx, DWORD PTR _i$[ebp]
  000d7	52		 push	 edx
  000d8	68 00 00 00 00	 push	 OFFSET ??_C@_1BG@LNKNJJJH@?$AA?$CF?$AA0?$AA2?$AAx?$AA?7?$AA?$CF?$AA0?$AA2?$AAx?$AA?6?$AA?$AA@
  000dd	8b 45 f8	 mov	 eax, DWORD PTR _hFile$[ebp]
  000e0	50		 push	 eax
  000e1	e8 00 00 00 00	 call	 _fwprintf
  000e6	83 c4 10	 add	 esp, 16			; 00000010H

; 121  :     }

  000e9	eb c6		 jmp	 SHORT $LN2@DumpSettin@2
$LN1@DumpSettin@2:

; 122  : 
; 123  :     fclose(hFile);

  000eb	8b 4d f8	 mov	 ecx, DWORD PTR _hFile$[ebp]
  000ee	51		 push	 ecx
  000ef	e8 00 00 00 00	 call	 _fclose
  000f4	83 c4 04	 add	 esp, 4
$LN11@DumpSettin@2:

; 124  : }

  000f7	8b e5		 mov	 esp, ebp
  000f9	5d		 pop	 ebp
  000fa	c2 04 00	 ret	 4
?DumpSettings@CSAA7118@@QAEXPB_W@Z ENDP			; CSAA7118::DumpSettings
END
