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

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

INCLUDELIB OLDNAMES

PUBLIC	??_R4CPCICard@@6B@				; CPCICard::`RTTI Complete Object Locator'
PUBLIC	??_C@_1CM@EIICGFLF@?$AAM?$AAa?$AAp?$AAM?$AAe?$AAm?$AAo?$AAr?$AAy?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AA0?$AAx?$AA?$CF?$AAx?$AA?$AA@ ; `string'
PUBLIC	??_C@_1FA@DJKBOENM@?$AAG?$AAe?$AAt?$AAP?$AAC?$AAI?$AAI?$AAn?$AAf?$AAo?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AA?$CF?$AAX?$AA?5?$AA?$CF?$AAX?$AA?5?$AAf?$AAa?$AAi?$AAl@ ; `string'
PUBLIC	??_C@_1DA@PEDDHBBH@?$AAU?$AAn?$AAm?$AAa?$AAp?$AAM?$AAe?$AAm?$AAo?$AAr?$AAy?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AA0?$AAx?$AA?$CF?$AAx?$AA?$AA@ ; `string'
PUBLIC	??_C@_1DI@KHNLKHIL@?$AAW?$AAr?$AAi?$AAt?$AAe?$AAM?$AAe?$AAm?$AAo?$AAr?$AAy?$AAB?$AAY?$AAT?$AAE?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AA0?$AAx?$AA?$CF?$AAx?$AA?$AA@ ; `string'
PUBLIC	??_C@_1DI@OIAHGFDN@?$AAW?$AAr?$AAi?$AAt?$AAe?$AAM?$AAe?$AAm?$AAo?$AAr?$AAy?$AAW?$AAO?$AAR?$AAD?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AA0?$AAx?$AA?$CF?$AAx?$AA?$AA@ ; `string'
PUBLIC	??_C@_1DK@NFIGMMIM@?$AAW?$AAr?$AAi?$AAt?$AAe?$AAM?$AAe?$AAm?$AAo?$AAr?$AAy?$AAD?$AAW?$AAO?$AAR?$AAD?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AA0?$AAx?$AA?$CF?$AAx?$AA?$AA@ ; `string'
PUBLIC	??_C@_1DG@EBHCMFMH@?$AAR?$AAe?$AAa?$AAd?$AAM?$AAe?$AAm?$AAo?$AAr?$AAy?$AAB?$AAY?$AAT?$AAE?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AA0?$AAx?$AA?$CF?$AAx?$AA?$AA@ ; `string'
PUBLIC	??_C@_1DG@OKOAHHB@?$AAR?$AAe?$AAa?$AAd?$AAM?$AAe?$AAm?$AAo?$AAr?$AAy?$AAW?$AAO?$AAR?$AAD?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AA0?$AAx?$AA?$CF?$AAx?$AA?$AA@ ; `string'
PUBLIC	??_C@_1DI@CKPGCKFI@?$AAR?$AAe?$AAa?$AAd?$AAM?$AAe?$AAm?$AAo?$AAr?$AAy?$AAD?$AAW?$AAO?$AAR?$AAD?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AA0?$AAx?$AA?$CF?$AAx?$AA?$AA@ ; `string'
PUBLIC	??_C@_1GA@BPNKKHAB@?$AAG?$AAe?$AAt?$AAP?$AAC?$AAI?$AAC?$AAo?$AAn?$AAf?$AAi?$AAg?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?4?$AA?5?$AAp?$AAP?$AAC?$AAI?$AA_?$AAC?$AAO?$AAM?$AAM?$AAO?$AAN@ ; `string'
PUBLIC	??_C@_1FE@INJPBNJJ@?$AAG?$AAe?$AAt?$AAP?$AAC?$AAI?$AAC?$AAo?$AAn?$AAf?$AAi?$AAg?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AA?$CF?$AAX?$AA?5?$AA?$CF?$AAX?$AA?5?$AAf?$AAa@ ; `string'
PUBLIC	??_C@_1GA@EICAHOCB@?$AAS?$AAe?$AAt?$AAP?$AAC?$AAI?$AAC?$AAo?$AAn?$AAf?$AAi?$AAg?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?4?$AA?5?$AAp?$AAP?$AAC?$AAI?$AA_?$AAC?$AAO?$AAM?$AAM?$AAO?$AAN@ ; `string'
PUBLIC	??_C@_1FE@JOINIHND@?$AAS?$AAe?$AAt?$AAP?$AAC?$AAI?$AAC?$AAo?$AAn?$AAf?$AAi?$AAg?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AA?$CF?$AAX?$AA?5?$AA?$CF?$AAX?$AA?5?$AAf?$AAa@ ; `string'
PUBLIC	??_C@_1FO@CJEANBBB@?$AAG?$AAe?$AAt?$AAP?$AAC?$AAI?$AAC?$AAo?$AAn?$AAf?$AAi?$AAg?$AAO?$AAf?$AAf?$AAs?$AAe?$AAt?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?4?$AA?5?$AAp?$AAb?$AAP?$AAC?$AAI@ ; `string'
PUBLIC	??_C@_1FO@FOHBJKLH@?$AAG?$AAe?$AAt?$AAP?$AAC?$AAI?$AAC?$AAo?$AAn?$AAf?$AAi?$AAg?$AAO?$AAf?$AAf?$AAe?$AAt?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AA?$CF?$AAX?$AA?5@ ; `string'
PUBLIC	??_C@_1FO@JHMLDONN@?$AAS?$AAe?$AAt?$AAP?$AAC?$AAI?$AAC?$AAo?$AAn?$AAf?$AAi?$AAg?$AAO?$AAf?$AAf?$AAs?$AAe?$AAt?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?4?$AA?5?$AAp?$AAb?$AAP?$AAC?$AAI@ ; `string'
PUBLIC	??_C@_1GA@MMOICEAH@?$AAS?$AAe?$AAt?$AAP?$AAC?$AAI?$AAC?$AAo?$AAn?$AAf?$AAi?$AAg?$AAO?$AAf?$AAf?$AAs?$AAe?$AAt?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AA?$CF?$AAX@ ; `string'
PUBLIC	??_C@_1FA@PCAMNHL@?$AAC?$AAa?$AAn?$AA?8?$AAt?$AA?5?$AAc?$AAr?$AAe?$AAa?$AAt?$AAe?$AA?5?$AAT?$AAe?$AAm?$AAp?$AA?5?$AAp?$AAa?$AAt?$AAh?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAs?$AAa?$AAv?$AAi?$AAn@ ; `string'
PUBLIC	??_C@_17MCFJPJCO@?$AAD?$AAS?$AA4?$AA?$AA@	; `string'
PUBLIC	??_C@_1FK@KJNMPPNO@?$AAC?$AAa?$AAn?$AA?8?$AAt?$AA?5?$AAc?$AAr?$AAe?$AAa?$AAt?$AAe?$AA?5?$AAT?$AAe?$AAm?$AAp?$AA?5?$AAf?$AAi?$AAl?$AAe?$AA?5?$AAn?$AAa?$AAm?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5@ ; `string'
PUBLIC	??_C@_1FA@NKJGJMFN@?$AAC?$AAa?$AAn?$AA?8?$AAt?$AA?5?$AAc?$AAr?$AAe?$AAa?$AAt?$AAe?$AA?5?$AAT?$AAe?$AAm?$AAp?$AA?5?$AAf?$AAi?$AAl?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAs?$AAa?$AAv?$AAi?$AAn@ ; `string'
PUBLIC	??_C@_1DM@LDEDLMKE@?$AAI?$AAn?$AAa?$AAv?$AAl?$AAi?$AAd?$AA?5?$AAv?$AAe?$AAr?$AAs?$AAi?$AAo?$AAn?$AA?5?$AAo?$AAn?$AA?5?$AAs?$AAt?$AAa?$AAt?$AAe?$AA?5?$AAf?$AAi?$AAl?$AAe?$AA?$AA@ ; `string'
PUBLIC	??_C@_1EA@JJINBDPA@?$AAB?$AAu?$AAs?$AA?5?$AA?$CF?$AAd?$AA?5?$AAC?$AAa?$AAr?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AAA?$AAC?$AAP?$AAI?$AA?5?$AAs?$AAt?$AAa?$AAt?$AAu?$AAs?$AA?3?$AA?5?$AAD?$AA?$CF?$AAd?$AA?$AA@ ; `string'
PUBLIC	??_C@_1GI@FBNOBCHH@?$AAA?$AAt?$AAt?$AAe?$AAm?$AAp?$AAt?$AAi?$AAn?$AAg?$AA?5?$AAt?$AAo?$AA?5?$AAs?$AAe?$AAt?$AA?5?$AAB?$AAu?$AAs?$AA?5?$AA?$CF?$AAd?$AA?5?$AAC?$AAa?$AAr?$AAd?$AA?5?$AA?$CF?$AAd@ ; `string'
PUBLIC	??_C@_1DC@NCIEFMAC@?$AAS?$AAe?$AAt?$AA?5?$AAA?$AAC?$AAP?$AAI?$AA?5?$AAs?$AAt?$AAa?$AAt?$AAu?$AAs?$AA?5?$AAc?$AAo?$AAm?$AAp?$AAl?$AAe?$AAt?$AAe?$AA?$AA@ ; `string'
PUBLIC	??_7CPCICard@@6B@				; CPCICard::`vftable'
EXTRN	__imp__GetTempPathW@8:PROC
EXTRN	__imp__GetTempFileNameW@16:PROC
;	COMDAT ??_7CPCICard@@6B@
CONST	SEGMENT
??_7CPCICard@@6B@ DD FLAT:??_R4CPCICard@@6B@		; CPCICard::`vftable'
	DD	FLAT:__purecall
	DD	FLAT:__purecall
	DD	FLAT:__purecall
CONST	ENDS
;	COMDAT ??_R4CPCICard@@6B@
rdata$r	SEGMENT
??_R4CPCICard@@6B@ DD 00H				; CPCICard::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVCPCICard@@@8
	DD	FLAT:??_R3CPCICard@@8
rdata$r	ENDS
;	COMDAT ??_C@_1DC@NCIEFMAC@?$AAS?$AAe?$AAt?$AA?5?$AAA?$AAC?$AAP?$AAI?$AA?5?$AAs?$AAt?$AAa?$AAt?$AAu?$AAs?$AA?5?$AAc?$AAo?$AAm?$AAp?$AAl?$AAe?$AAt?$AAe?$AA?$AA@
CONST	SEGMENT
??_C@_1DC@NCIEFMAC@?$AAS?$AAe?$AAt?$AA?5?$AAA?$AAC?$AAP?$AAI?$AA?5?$AAs?$AAt?$AAa?$AAt?$AAu?$AAs?$AA?5?$AAc?$AAo?$AAm?$AAp?$AAl?$AAe?$AAt?$AAe?$AA?$AA@ DB 'S'
	DB	00H, 'e', 00H, 't', 00H, ' ', 00H, 'A', 00H, 'C', 00H, 'P', 00H
	DB	'I', 00H, ' ', 00H, 's', 00H, 't', 00H, 'a', 00H, 't', 00H, 'u'
	DB	00H, 's', 00H, ' ', 00H, 'c', 00H, 'o', 00H, 'm', 00H, 'p', 00H
	DB	'l', 00H, 'e', 00H, 't', 00H, 'e', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1GI@FBNOBCHH@?$AAA?$AAt?$AAt?$AAe?$AAm?$AAp?$AAt?$AAi?$AAn?$AAg?$AA?5?$AAt?$AAo?$AA?5?$AAs?$AAe?$AAt?$AA?5?$AAB?$AAu?$AAs?$AA?5?$AA?$CF?$AAd?$AA?5?$AAC?$AAa?$AAr?$AAd?$AA?5?$AA?$CF?$AAd@
CONST	SEGMENT
??_C@_1GI@FBNOBCHH@?$AAA?$AAt?$AAt?$AAe?$AAm?$AAp?$AAt?$AAi?$AAn?$AAg?$AA?5?$AAt?$AAo?$AA?5?$AAs?$AAe?$AAt?$AA?5?$AAB?$AAu?$AAs?$AA?5?$AA?$CF?$AAd?$AA?5?$AAC?$AAa?$AAr?$AAd?$AA?5?$AA?$CF?$AAd@ DB 'A'
	DB	00H, 't', 00H, 't', 00H, 'e', 00H, 'm', 00H, 'p', 00H, 't', 00H
	DB	'i', 00H, 'n', 00H, 'g', 00H, ' ', 00H, 't', 00H, 'o', 00H, ' '
	DB	00H, 's', 00H, 'e', 00H, 't', 00H, ' ', 00H, 'B', 00H, 'u', 00H
	DB	's', 00H, ' ', 00H, '%', 00H, 'd', 00H, ' ', 00H, 'C', 00H, 'a'
	DB	00H, 'r', 00H, 'd', 00H, ' ', 00H, '%', 00H, 'd', 00H, ' ', 00H
	DB	'A', 00H, 'C', 00H, 'P', 00H, 'I', 00H, ' ', 00H, 's', 00H, 't'
	DB	00H, 'a', 00H, 't', 00H, 'u', 00H, 's', 00H, ' ', 00H, 't', 00H
	DB	'o', 00H, ' ', 00H, 'D', 00H, '%', 00H, 'd', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1EA@JJINBDPA@?$AAB?$AAu?$AAs?$AA?5?$AA?$CF?$AAd?$AA?5?$AAC?$AAa?$AAr?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AAA?$AAC?$AAP?$AAI?$AA?5?$AAs?$AAt?$AAa?$AAt?$AAu?$AAs?$AA?3?$AA?5?$AAD?$AA?$CF?$AAd?$AA?$AA@
CONST	SEGMENT
??_C@_1EA@JJINBDPA@?$AAB?$AAu?$AAs?$AA?5?$AA?$CF?$AAd?$AA?5?$AAC?$AAa?$AAr?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AAA?$AAC?$AAP?$AAI?$AA?5?$AAs?$AAt?$AAa?$AAt?$AAu?$AAs?$AA?3?$AA?5?$AAD?$AA?$CF?$AAd?$AA?$AA@ DB 'B'
	DB	00H, 'u', 00H, 's', 00H, ' ', 00H, '%', 00H, 'd', 00H, ' ', 00H
	DB	'C', 00H, 'a', 00H, 'r', 00H, 'd', 00H, ' ', 00H, '%', 00H, 'd'
	DB	00H, ' ', 00H, 'A', 00H, 'C', 00H, 'P', 00H, 'I', 00H, ' ', 00H
	DB	's', 00H, 't', 00H, 'a', 00H, 't', 00H, 'u', 00H, 's', 00H, ':'
	DB	00H, ' ', 00H, 'D', 00H, '%', 00H, 'd', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1DM@LDEDLMKE@?$AAI?$AAn?$AAa?$AAv?$AAl?$AAi?$AAd?$AA?5?$AAv?$AAe?$AAr?$AAs?$AAi?$AAo?$AAn?$AA?5?$AAo?$AAn?$AA?5?$AAs?$AAt?$AAa?$AAt?$AAe?$AA?5?$AAf?$AAi?$AAl?$AAe?$AA?$AA@
CONST	SEGMENT
??_C@_1DM@LDEDLMKE@?$AAI?$AAn?$AAa?$AAv?$AAl?$AAi?$AAd?$AA?5?$AAv?$AAe?$AAr?$AAs?$AAi?$AAo?$AAn?$AA?5?$AAo?$AAn?$AA?5?$AAs?$AAt?$AAa?$AAt?$AAe?$AA?5?$AAf?$AAi?$AAl?$AAe?$AA?$AA@ DB 'I'
	DB	00H, 'n', 00H, 'a', 00H, 'v', 00H, 'l', 00H, 'i', 00H, 'd', 00H
	DB	' ', 00H, 'v', 00H, 'e', 00H, 'r', 00H, 's', 00H, 'i', 00H, 'o'
	DB	00H, 'n', 00H, ' ', 00H, 'o', 00H, 'n', 00H, ' ', 00H, 's', 00H
	DB	't', 00H, 'a', 00H, 't', 00H, 'e', 00H, ' ', 00H, 'f', 00H, 'i'
	DB	00H, 'l', 00H, 'e', 00H, 00H, 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_1FA@NKJGJMFN@?$AAC?$AAa?$AAn?$AA?8?$AAt?$AA?5?$AAc?$AAr?$AAe?$AAa?$AAt?$AAe?$AA?5?$AAT?$AAe?$AAm?$AAp?$AA?5?$AAf?$AAi?$AAl?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAs?$AAa?$AAv?$AAi?$AAn@
CONST	SEGMENT
??_C@_1FA@NKJGJMFN@?$AAC?$AAa?$AAn?$AA?8?$AAt?$AA?5?$AAc?$AAr?$AAe?$AAa?$AAt?$AAe?$AA?5?$AAT?$AAe?$AAm?$AAp?$AA?5?$AAf?$AAi?$AAl?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAs?$AAa?$AAv?$AAi?$AAn@ DB 'C'
	DB	00H, 'a', 00H, 'n', 00H, '''', 00H, 't', 00H, ' ', 00H, 'c', 00H
	DB	'r', 00H, 'e', 00H, 'a', 00H, 't', 00H, 'e', 00H, ' ', 00H, 'T'
	DB	00H, 'e', 00H, 'm', 00H, 'p', 00H, ' ', 00H, 'f', 00H, 'i', 00H
	DB	'l', 00H, 'e', 00H, ' ', 00H, 'f', 00H, 'o', 00H, 'r', 00H, ' '
	DB	00H, 's', 00H, 'a', 00H, 'v', 00H, 'i', 00H, 'n', 00H, 'g', 00H
	DB	' ', 00H, 's', 00H, 't', 00H, 'a', 00H, 't', 00H, 'e', 00H, 00H
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_1FK@KJNMPPNO@?$AAC?$AAa?$AAn?$AA?8?$AAt?$AA?5?$AAc?$AAr?$AAe?$AAa?$AAt?$AAe?$AA?5?$AAT?$AAe?$AAm?$AAp?$AA?5?$AAf?$AAi?$AAl?$AAe?$AA?5?$AAn?$AAa?$AAm?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5@
CONST	SEGMENT
??_C@_1FK@KJNMPPNO@?$AAC?$AAa?$AAn?$AA?8?$AAt?$AA?5?$AAc?$AAr?$AAe?$AAa?$AAt?$AAe?$AA?5?$AAT?$AAe?$AAm?$AAp?$AA?5?$AAf?$AAi?$AAl?$AAe?$AA?5?$AAn?$AAa?$AAm?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5@ DB 'C'
	DB	00H, 'a', 00H, 'n', 00H, '''', 00H, 't', 00H, ' ', 00H, 'c', 00H
	DB	'r', 00H, 'e', 00H, 'a', 00H, 't', 00H, 'e', 00H, ' ', 00H, 'T'
	DB	00H, 'e', 00H, 'm', 00H, 'p', 00H, ' ', 00H, 'f', 00H, 'i', 00H
	DB	'l', 00H, 'e', 00H, ' ', 00H, 'n', 00H, 'a', 00H, 'm', 00H, 'e'
	DB	00H, ' ', 00H, 'f', 00H, 'o', 00H, 'r', 00H, ' ', 00H, 's', 00H
	DB	'a', 00H, 'v', 00H, 'i', 00H, 'n', 00H, 'g', 00H, ' ', 00H, 's'
	DB	00H, 't', 00H, 'a', 00H, 't', 00H, 'e', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_17MCFJPJCO@?$AAD?$AAS?$AA4?$AA?$AA@
CONST	SEGMENT
??_C@_17MCFJPJCO@?$AAD?$AAS?$AA4?$AA?$AA@ DB 'D', 00H, 'S', 00H, '4', 00H
	DB	00H, 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_1FA@PCAMNHL@?$AAC?$AAa?$AAn?$AA?8?$AAt?$AA?5?$AAc?$AAr?$AAe?$AAa?$AAt?$AAe?$AA?5?$AAT?$AAe?$AAm?$AAp?$AA?5?$AAp?$AAa?$AAt?$AAh?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAs?$AAa?$AAv?$AAi?$AAn@
CONST	SEGMENT
??_C@_1FA@PCAMNHL@?$AAC?$AAa?$AAn?$AA?8?$AAt?$AA?5?$AAc?$AAr?$AAe?$AAa?$AAt?$AAe?$AA?5?$AAT?$AAe?$AAm?$AAp?$AA?5?$AAp?$AAa?$AAt?$AAh?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAs?$AAa?$AAv?$AAi?$AAn@ DB 'C'
	DB	00H, 'a', 00H, 'n', 00H, '''', 00H, 't', 00H, ' ', 00H, 'c', 00H
	DB	'r', 00H, 'e', 00H, 'a', 00H, 't', 00H, 'e', 00H, ' ', 00H, 'T'
	DB	00H, 'e', 00H, 'm', 00H, 'p', 00H, ' ', 00H, 'p', 00H, 'a', 00H
	DB	't', 00H, 'h', 00H, ' ', 00H, 'f', 00H, 'o', 00H, 'r', 00H, ' '
	DB	00H, 's', 00H, 'a', 00H, 'v', 00H, 'i', 00H, 'n', 00H, 'g', 00H
	DB	' ', 00H, 's', 00H, 't', 00H, 'a', 00H, 't', 00H, 'e', 00H, 00H
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_1GA@MMOICEAH@?$AAS?$AAe?$AAt?$AAP?$AAC?$AAI?$AAC?$AAo?$AAn?$AAf?$AAi?$AAg?$AAO?$AAf?$AAf?$AAs?$AAe?$AAt?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AA?$CF?$AAX@
CONST	SEGMENT
??_C@_1GA@MMOICEAH@?$AAS?$AAe?$AAt?$AAP?$AAC?$AAI?$AAC?$AAo?$AAn?$AAf?$AAi?$AAg?$AAO?$AAf?$AAf?$AAs?$AAe?$AAt?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AA?$CF?$AAX@ DB 'S'
	DB	00H, 'e', 00H, 't', 00H, 'P', 00H, 'C', 00H, 'I', 00H, 'C', 00H
	DB	'o', 00H, 'n', 00H, 'f', 00H, 'i', 00H, 'g', 00H, 'O', 00H, 'f'
	DB	00H, 'f', 00H, 's', 00H, 'e', 00H, 't', 00H, ' ', 00H, 'f', 00H
	DB	'a', 00H, 'i', 00H, 'l', 00H, 'e', 00H, 'd', 00H, ' ', 00H, 'f'
	DB	00H, 'o', 00H, 'r', 00H, ' ', 00H, '%', 00H, 'X', 00H, ' ', 00H
	DB	'%', 00H, 'X', 00H, ' ', 00H, 'f', 00H, 'a', 00H, 'i', 00H, 'l'
	DB	00H, 'e', 00H, 'd', 00H, ' ', 00H, '0', 00H, 'x', 00H, '%', 00H
	DB	'x', 00H, 00H, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_1FO@JHMLDONN@?$AAS?$AAe?$AAt?$AAP?$AAC?$AAI?$AAC?$AAo?$AAn?$AAf?$AAi?$AAg?$AAO?$AAf?$AAf?$AAs?$AAe?$AAt?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?4?$AA?5?$AAp?$AAb?$AAP?$AAC?$AAI@
CONST	SEGMENT
??_C@_1FO@JHMLDONN@?$AAS?$AAe?$AAt?$AAP?$AAC?$AAI?$AAC?$AAo?$AAn?$AAf?$AAi?$AAg?$AAO?$AAf?$AAf?$AAs?$AAe?$AAt?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?4?$AA?5?$AAp?$AAb?$AAP?$AAC?$AAI@ DB 'S'
	DB	00H, 'e', 00H, 't', 00H, 'P', 00H, 'C', 00H, 'I', 00H, 'C', 00H
	DB	'o', 00H, 'n', 00H, 'f', 00H, 'i', 00H, 'g', 00H, 'O', 00H, 'f'
	DB	00H, 'f', 00H, 's', 00H, 'e', 00H, 't', 00H, ' ', 00H, 'f', 00H
	DB	'a', 00H, 'i', 00H, 'l', 00H, 'e', 00H, 'd', 00H, '.', 00H, ' '
	DB	00H, 'p', 00H, 'b', 00H, 'P', 00H, 'C', 00H, 'I', 00H, 'C', 00H
	DB	'o', 00H, 'n', 00H, 'f', 00H, 'i', 00H, 'g', 00H, ' ', 00H, '='
	DB	00H, '=', 00H, ' ', 00H, 'N', 00H, 'U', 00H, 'L', 00H, 'L', 00H
	DB	00H, 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_1FO@FOHBJKLH@?$AAG?$AAe?$AAt?$AAP?$AAC?$AAI?$AAC?$AAo?$AAn?$AAf?$AAi?$AAg?$AAO?$AAf?$AAf?$AAe?$AAt?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AA?$CF?$AAX?$AA?5@
CONST	SEGMENT
??_C@_1FO@FOHBJKLH@?$AAG?$AAe?$AAt?$AAP?$AAC?$AAI?$AAC?$AAo?$AAn?$AAf?$AAi?$AAg?$AAO?$AAf?$AAf?$AAe?$AAt?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AA?$CF?$AAX?$AA?5@ DB 'G'
	DB	00H, 'e', 00H, 't', 00H, 'P', 00H, 'C', 00H, 'I', 00H, 'C', 00H
	DB	'o', 00H, 'n', 00H, 'f', 00H, 'i', 00H, 'g', 00H, 'O', 00H, 'f'
	DB	00H, 'f', 00H, 'e', 00H, 't', 00H, ' ', 00H, 'f', 00H, 'a', 00H
	DB	'i', 00H, 'l', 00H, 'e', 00H, 'd', 00H, ' ', 00H, 'f', 00H, 'o'
	DB	00H, 'r', 00H, ' ', 00H, '%', 00H, 'X', 00H, ' ', 00H, '%', 00H
	DB	'X', 00H, ' ', 00H, 'f', 00H, 'a', 00H, 'i', 00H, 'l', 00H, 'e'
	DB	00H, 'd', 00H, ' ', 00H, '0', 00H, 'x', 00H, '%', 00H, 'x', 00H
	DB	00H, 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_1FO@CJEANBBB@?$AAG?$AAe?$AAt?$AAP?$AAC?$AAI?$AAC?$AAo?$AAn?$AAf?$AAi?$AAg?$AAO?$AAf?$AAf?$AAs?$AAe?$AAt?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?4?$AA?5?$AAp?$AAb?$AAP?$AAC?$AAI@
CONST	SEGMENT
??_C@_1FO@CJEANBBB@?$AAG?$AAe?$AAt?$AAP?$AAC?$AAI?$AAC?$AAo?$AAn?$AAf?$AAi?$AAg?$AAO?$AAf?$AAf?$AAs?$AAe?$AAt?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?4?$AA?5?$AAp?$AAb?$AAP?$AAC?$AAI@ DB 'G'
	DB	00H, 'e', 00H, 't', 00H, 'P', 00H, 'C', 00H, 'I', 00H, 'C', 00H
	DB	'o', 00H, 'n', 00H, 'f', 00H, 'i', 00H, 'g', 00H, 'O', 00H, 'f'
	DB	00H, 'f', 00H, 's', 00H, 'e', 00H, 't', 00H, ' ', 00H, 'f', 00H
	DB	'a', 00H, 'i', 00H, 'l', 00H, 'e', 00H, 'd', 00H, '.', 00H, ' '
	DB	00H, 'p', 00H, 'b', 00H, 'P', 00H, 'C', 00H, 'I', 00H, 'C', 00H
	DB	'o', 00H, 'n', 00H, 'f', 00H, 'i', 00H, 'g', 00H, ' ', 00H, '='
	DB	00H, '=', 00H, ' ', 00H, 'N', 00H, 'U', 00H, 'L', 00H, 'L', 00H
	DB	00H, 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_1FE@JOINIHND@?$AAS?$AAe?$AAt?$AAP?$AAC?$AAI?$AAC?$AAo?$AAn?$AAf?$AAi?$AAg?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AA?$CF?$AAX?$AA?5?$AA?$CF?$AAX?$AA?5?$AAf?$AAa@
CONST	SEGMENT
??_C@_1FE@JOINIHND@?$AAS?$AAe?$AAt?$AAP?$AAC?$AAI?$AAC?$AAo?$AAn?$AAf?$AAi?$AAg?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AA?$CF?$AAX?$AA?5?$AA?$CF?$AAX?$AA?5?$AAf?$AAa@ DB 'S'
	DB	00H, 'e', 00H, 't', 00H, 'P', 00H, 'C', 00H, 'I', 00H, 'C', 00H
	DB	'o', 00H, 'n', 00H, 'f', 00H, 'i', 00H, 'g', 00H, ' ', 00H, 'f'
	DB	00H, 'a', 00H, 'i', 00H, 'l', 00H, 'e', 00H, 'd', 00H, ' ', 00H
	DB	'f', 00H, 'o', 00H, 'r', 00H, ' ', 00H, '%', 00H, 'X', 00H, ' '
	DB	00H, '%', 00H, 'X', 00H, ' ', 00H, 'f', 00H, 'a', 00H, 'i', 00H
	DB	'l', 00H, 'e', 00H, 'd', 00H, ' ', 00H, '0', 00H, 'x', 00H, '%'
	DB	00H, 'x', 00H, 00H, 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_1GA@EICAHOCB@?$AAS?$AAe?$AAt?$AAP?$AAC?$AAI?$AAC?$AAo?$AAn?$AAf?$AAi?$AAg?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?4?$AA?5?$AAp?$AAP?$AAC?$AAI?$AA_?$AAC?$AAO?$AAM?$AAM?$AAO?$AAN@
CONST	SEGMENT
??_C@_1GA@EICAHOCB@?$AAS?$AAe?$AAt?$AAP?$AAC?$AAI?$AAC?$AAo?$AAn?$AAf?$AAi?$AAg?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?4?$AA?5?$AAp?$AAP?$AAC?$AAI?$AA_?$AAC?$AAO?$AAM?$AAM?$AAO?$AAN@ DB 'S'
	DB	00H, 'e', 00H, 't', 00H, 'P', 00H, 'C', 00H, 'I', 00H, 'C', 00H
	DB	'o', 00H, 'n', 00H, 'f', 00H, 'i', 00H, 'g', 00H, ' ', 00H, 'f'
	DB	00H, 'a', 00H, 'i', 00H, 'l', 00H, 'e', 00H, 'd', 00H, '.', 00H
	DB	' ', 00H, 'p', 00H, 'P', 00H, 'C', 00H, 'I', 00H, '_', 00H, 'C'
	DB	00H, 'O', 00H, 'M', 00H, 'M', 00H, 'O', 00H, 'N', 00H, '_', 00H
	DB	'C', 00H, 'O', 00H, 'N', 00H, 'F', 00H, 'I', 00H, 'G', 00H, ' '
	DB	00H, '=', 00H, '=', 00H, ' ', 00H, 'N', 00H, 'U', 00H, 'L', 00H
	DB	'L', 00H, 00H, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_1FE@INJPBNJJ@?$AAG?$AAe?$AAt?$AAP?$AAC?$AAI?$AAC?$AAo?$AAn?$AAf?$AAi?$AAg?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AA?$CF?$AAX?$AA?5?$AA?$CF?$AAX?$AA?5?$AAf?$AAa@
CONST	SEGMENT
??_C@_1FE@INJPBNJJ@?$AAG?$AAe?$AAt?$AAP?$AAC?$AAI?$AAC?$AAo?$AAn?$AAf?$AAi?$AAg?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AA?$CF?$AAX?$AA?5?$AA?$CF?$AAX?$AA?5?$AAf?$AAa@ DB 'G'
	DB	00H, 'e', 00H, 't', 00H, 'P', 00H, 'C', 00H, 'I', 00H, 'C', 00H
	DB	'o', 00H, 'n', 00H, 'f', 00H, 'i', 00H, 'g', 00H, ' ', 00H, 'f'
	DB	00H, 'a', 00H, 'i', 00H, 'l', 00H, 'e', 00H, 'd', 00H, ' ', 00H
	DB	'f', 00H, 'o', 00H, 'r', 00H, ' ', 00H, '%', 00H, 'X', 00H, ' '
	DB	00H, '%', 00H, 'X', 00H, ' ', 00H, 'f', 00H, 'a', 00H, 'i', 00H
	DB	'l', 00H, 'e', 00H, 'd', 00H, ' ', 00H, '0', 00H, 'x', 00H, '%'
	DB	00H, 'x', 00H, 00H, 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_1GA@BPNKKHAB@?$AAG?$AAe?$AAt?$AAP?$AAC?$AAI?$AAC?$AAo?$AAn?$AAf?$AAi?$AAg?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?4?$AA?5?$AAp?$AAP?$AAC?$AAI?$AA_?$AAC?$AAO?$AAM?$AAM?$AAO?$AAN@
CONST	SEGMENT
??_C@_1GA@BPNKKHAB@?$AAG?$AAe?$AAt?$AAP?$AAC?$AAI?$AAC?$AAo?$AAn?$AAf?$AAi?$AAg?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?4?$AA?5?$AAp?$AAP?$AAC?$AAI?$AA_?$AAC?$AAO?$AAM?$AAM?$AAO?$AAN@ DB 'G'
	DB	00H, 'e', 00H, 't', 00H, 'P', 00H, 'C', 00H, 'I', 00H, 'C', 00H
	DB	'o', 00H, 'n', 00H, 'f', 00H, 'i', 00H, 'g', 00H, ' ', 00H, 'f'
	DB	00H, 'a', 00H, 'i', 00H, 'l', 00H, 'e', 00H, 'd', 00H, '.', 00H
	DB	' ', 00H, 'p', 00H, 'P', 00H, 'C', 00H, 'I', 00H, '_', 00H, 'C'
	DB	00H, 'O', 00H, 'M', 00H, 'M', 00H, 'O', 00H, 'N', 00H, '_', 00H
	DB	'C', 00H, 'O', 00H, 'N', 00H, 'F', 00H, 'I', 00H, 'G', 00H, ' '
	DB	00H, '=', 00H, '=', 00H, ' ', 00H, 'N', 00H, 'U', 00H, 'L', 00H
	DB	'L', 00H, 00H, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_1DI@CKPGCKFI@?$AAR?$AAe?$AAa?$AAd?$AAM?$AAe?$AAm?$AAo?$AAr?$AAy?$AAD?$AAW?$AAO?$AAR?$AAD?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AA0?$AAx?$AA?$CF?$AAx?$AA?$AA@
CONST	SEGMENT
??_C@_1DI@CKPGCKFI@?$AAR?$AAe?$AAa?$AAd?$AAM?$AAe?$AAm?$AAo?$AAr?$AAy?$AAD?$AAW?$AAO?$AAR?$AAD?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AA0?$AAx?$AA?$CF?$AAx?$AA?$AA@ DB 'R'
	DB	00H, 'e', 00H, 'a', 00H, 'd', 00H, 'M', 00H, 'e', 00H, 'm', 00H
	DB	'o', 00H, 'r', 00H, 'y', 00H, 'D', 00H, 'W', 00H, 'O', 00H, 'R'
	DB	00H, 'D', 00H, ' ', 00H, 'f', 00H, 'a', 00H, 'i', 00H, 'l', 00H
	DB	'e', 00H, 'd', 00H, ' ', 00H, '0', 00H, 'x', 00H, '%', 00H, 'x'
	DB	00H, 00H, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_1DG@OKOAHHB@?$AAR?$AAe?$AAa?$AAd?$AAM?$AAe?$AAm?$AAo?$AAr?$AAy?$AAW?$AAO?$AAR?$AAD?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AA0?$AAx?$AA?$CF?$AAx?$AA?$AA@
CONST	SEGMENT
??_C@_1DG@OKOAHHB@?$AAR?$AAe?$AAa?$AAd?$AAM?$AAe?$AAm?$AAo?$AAr?$AAy?$AAW?$AAO?$AAR?$AAD?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AA0?$AAx?$AA?$CF?$AAx?$AA?$AA@ DB 'R'
	DB	00H, 'e', 00H, 'a', 00H, 'd', 00H, 'M', 00H, 'e', 00H, 'm', 00H
	DB	'o', 00H, 'r', 00H, 'y', 00H, 'W', 00H, 'O', 00H, 'R', 00H, 'D'
	DB	00H, ' ', 00H, 'f', 00H, 'a', 00H, 'i', 00H, 'l', 00H, 'e', 00H
	DB	'd', 00H, ' ', 00H, '0', 00H, 'x', 00H, '%', 00H, 'x', 00H, 00H
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_1DG@EBHCMFMH@?$AAR?$AAe?$AAa?$AAd?$AAM?$AAe?$AAm?$AAo?$AAr?$AAy?$AAB?$AAY?$AAT?$AAE?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AA0?$AAx?$AA?$CF?$AAx?$AA?$AA@
CONST	SEGMENT
??_C@_1DG@EBHCMFMH@?$AAR?$AAe?$AAa?$AAd?$AAM?$AAe?$AAm?$AAo?$AAr?$AAy?$AAB?$AAY?$AAT?$AAE?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AA0?$AAx?$AA?$CF?$AAx?$AA?$AA@ DB 'R'
	DB	00H, 'e', 00H, 'a', 00H, 'd', 00H, 'M', 00H, 'e', 00H, 'm', 00H
	DB	'o', 00H, 'r', 00H, 'y', 00H, 'B', 00H, 'Y', 00H, 'T', 00H, 'E'
	DB	00H, ' ', 00H, 'f', 00H, 'a', 00H, 'i', 00H, 'l', 00H, 'e', 00H
	DB	'd', 00H, ' ', 00H, '0', 00H, 'x', 00H, '%', 00H, 'x', 00H, 00H
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_1DK@NFIGMMIM@?$AAW?$AAr?$AAi?$AAt?$AAe?$AAM?$AAe?$AAm?$AAo?$AAr?$AAy?$AAD?$AAW?$AAO?$AAR?$AAD?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AA0?$AAx?$AA?$CF?$AAx?$AA?$AA@
CONST	SEGMENT
??_C@_1DK@NFIGMMIM@?$AAW?$AAr?$AAi?$AAt?$AAe?$AAM?$AAe?$AAm?$AAo?$AAr?$AAy?$AAD?$AAW?$AAO?$AAR?$AAD?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AA0?$AAx?$AA?$CF?$AAx?$AA?$AA@ DB 'W'
	DB	00H, 'r', 00H, 'i', 00H, 't', 00H, 'e', 00H, 'M', 00H, 'e', 00H
	DB	'm', 00H, 'o', 00H, 'r', 00H, 'y', 00H, 'D', 00H, 'W', 00H, 'O'
	DB	00H, 'R', 00H, 'D', 00H, ' ', 00H, 'f', 00H, 'a', 00H, 'i', 00H
	DB	'l', 00H, 'e', 00H, 'd', 00H, ' ', 00H, '0', 00H, 'x', 00H, '%'
	DB	00H, 'x', 00H, 00H, 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_1DI@OIAHGFDN@?$AAW?$AAr?$AAi?$AAt?$AAe?$AAM?$AAe?$AAm?$AAo?$AAr?$AAy?$AAW?$AAO?$AAR?$AAD?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AA0?$AAx?$AA?$CF?$AAx?$AA?$AA@
CONST	SEGMENT
??_C@_1DI@OIAHGFDN@?$AAW?$AAr?$AAi?$AAt?$AAe?$AAM?$AAe?$AAm?$AAo?$AAr?$AAy?$AAW?$AAO?$AAR?$AAD?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AA0?$AAx?$AA?$CF?$AAx?$AA?$AA@ DB 'W'
	DB	00H, 'r', 00H, 'i', 00H, 't', 00H, 'e', 00H, 'M', 00H, 'e', 00H
	DB	'm', 00H, 'o', 00H, 'r', 00H, 'y', 00H, 'W', 00H, 'O', 00H, 'R'
	DB	00H, 'D', 00H, ' ', 00H, 'f', 00H, 'a', 00H, 'i', 00H, 'l', 00H
	DB	'e', 00H, 'd', 00H, ' ', 00H, '0', 00H, 'x', 00H, '%', 00H, 'x'
	DB	00H, 00H, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_1DI@KHNLKHIL@?$AAW?$AAr?$AAi?$AAt?$AAe?$AAM?$AAe?$AAm?$AAo?$AAr?$AAy?$AAB?$AAY?$AAT?$AAE?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AA0?$AAx?$AA?$CF?$AAx?$AA?$AA@
CONST	SEGMENT
??_C@_1DI@KHNLKHIL@?$AAW?$AAr?$AAi?$AAt?$AAe?$AAM?$AAe?$AAm?$AAo?$AAr?$AAy?$AAB?$AAY?$AAT?$AAE?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AA0?$AAx?$AA?$CF?$AAx?$AA?$AA@ DB 'W'
	DB	00H, 'r', 00H, 'i', 00H, 't', 00H, 'e', 00H, 'M', 00H, 'e', 00H
	DB	'm', 00H, 'o', 00H, 'r', 00H, 'y', 00H, 'B', 00H, 'Y', 00H, 'T'
	DB	00H, 'E', 00H, ' ', 00H, 'f', 00H, 'a', 00H, 'i', 00H, 'l', 00H
	DB	'e', 00H, 'd', 00H, ' ', 00H, '0', 00H, 'x', 00H, '%', 00H, 'x'
	DB	00H, 00H, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_1DA@PEDDHBBH@?$AAU?$AAn?$AAm?$AAa?$AAp?$AAM?$AAe?$AAm?$AAo?$AAr?$AAy?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AA0?$AAx?$AA?$CF?$AAx?$AA?$AA@
CONST	SEGMENT
??_C@_1DA@PEDDHBBH@?$AAU?$AAn?$AAm?$AAa?$AAp?$AAM?$AAe?$AAm?$AAo?$AAr?$AAy?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AA0?$AAx?$AA?$CF?$AAx?$AA?$AA@ DB 'U'
	DB	00H, 'n', 00H, 'm', 00H, 'a', 00H, 'p', 00H, 'M', 00H, 'e', 00H
	DB	'm', 00H, 'o', 00H, 'r', 00H, 'y', 00H, ' ', 00H, 'f', 00H, 'a'
	DB	00H, 'i', 00H, 'l', 00H, 'e', 00H, 'd', 00H, ' ', 00H, '0', 00H
	DB	'x', 00H, '%', 00H, 'x', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_1FA@DJKBOENM@?$AAG?$AAe?$AAt?$AAP?$AAC?$AAI?$AAI?$AAn?$AAf?$AAo?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AA?$CF?$AAX?$AA?5?$AA?$CF?$AAX?$AA?5?$AAf?$AAa?$AAi?$AAl@
CONST	SEGMENT
??_C@_1FA@DJKBOENM@?$AAG?$AAe?$AAt?$AAP?$AAC?$AAI?$AAI?$AAn?$AAf?$AAo?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AA?$CF?$AAX?$AA?5?$AA?$CF?$AAX?$AA?5?$AAf?$AAa?$AAi?$AAl@ DB 'G'
	DB	00H, 'e', 00H, 't', 00H, 'P', 00H, 'C', 00H, 'I', 00H, 'I', 00H
	DB	'n', 00H, 'f', 00H, 'o', 00H, ' ', 00H, 'f', 00H, 'a', 00H, 'i'
	DB	00H, 'l', 00H, 'e', 00H, 'd', 00H, ' ', 00H, 'f', 00H, 'o', 00H
	DB	'r', 00H, ' ', 00H, '%', 00H, 'X', 00H, ' ', 00H, '%', 00H, 'X'
	DB	00H, ' ', 00H, 'f', 00H, 'a', 00H, 'i', 00H, 'l', 00H, 'e', 00H
	DB	'd', 00H, ' ', 00H, '0', 00H, 'x', 00H, '%', 00H, 'x', 00H, 00H
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_1CM@EIICGFLF@?$AAM?$AAa?$AAp?$AAM?$AAe?$AAm?$AAo?$AAr?$AAy?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AA0?$AAx?$AA?$CF?$AAx?$AA?$AA@
CONST	SEGMENT
??_C@_1CM@EIICGFLF@?$AAM?$AAa?$AAp?$AAM?$AAe?$AAm?$AAo?$AAr?$AAy?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AA0?$AAx?$AA?$CF?$AAx?$AA?$AA@ DB 'M'
	DB	00H, 'a', 00H, 'p', 00H, 'M', 00H, 'e', 00H, 'm', 00H, 'o', 00H
	DB	'r', 00H, 'y', 00H, ' ', 00H, 'f', 00H, 'a', 00H, 'i', 00H, 'l'
	DB	00H, 'e', 00H, 'd', 00H, ' ', 00H, '0', 00H, 'x', 00H, '%', 00H
	DB	'x', 00H, 00H, 00H				; `string'
PUBLIC	?UnlockCard@CPCICard@@QAEXXZ			; CPCICard::UnlockCard
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\pcicard.cpp
;	COMDAT ?UnlockCard@CPCICard@@QAEXXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?UnlockCard@CPCICard@@QAEXXZ PROC			; CPCICard::UnlockCard, COMDAT
; _this$ = ecx

; 846  : {

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

; 847  :     LeaveCriticalSection(&m_CriticalSection);

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	83 c0 3c	 add	 eax, 60			; 0000003cH
  0000d	50		 push	 eax
  0000e	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__LeaveCriticalSection@4

; 848  : }

  00014	8b e5		 mov	 esp, ebp
  00016	5d		 pop	 ebp
  00017	c3		 ret	 0
?UnlockCard@CPCICard@@QAEXXZ ENDP			; CPCICard::UnlockCard
_TEXT	ENDS
PUBLIC	?LockCard@CPCICard@@QAEXXZ			; CPCICard::LockCard
; Function compile flags: /Odtp
;	COMDAT ?LockCard@CPCICard@@QAEXXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?LockCard@CPCICard@@QAEXXZ PROC				; CPCICard::LockCard, COMDAT
; _this$ = ecx

; 841  : {

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

; 842  :     EnterCriticalSection(&m_CriticalSection);

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	83 c0 3c	 add	 eax, 60			; 0000003cH
  0000d	50		 push	 eax
  0000e	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnterCriticalSection@4

; 843  : }

  00014	8b e5		 mov	 esp, ebp
  00016	5d		 pop	 ebp
  00017	c3		 ret	 0
?LockCard@CPCICard@@QAEXXZ ENDP				; CPCICard::LockCard
_TEXT	ENDS
PUBLIC	?GetVendorId@CPCICard@@QAEGXZ			; CPCICard::GetVendorId
; Function compile flags: /Odtp
;	COMDAT ?GetVendorId@CPCICard@@QAEGXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetVendorId@CPCICard@@QAEGXZ PROC			; CPCICard::GetVendorId, COMDAT
; _this$ = ecx

; 68   : {

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

; 69   :     return m_VendorId;

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	66 8b 40 0a	 mov	 ax, WORD PTR [eax+10]

; 70   : }

  0000e	8b e5		 mov	 esp, ebp
  00010	5d		 pop	 ebp
  00011	c3		 ret	 0
?GetVendorId@CPCICard@@QAEGXZ ENDP			; CPCICard::GetVendorId
_TEXT	ENDS
PUBLIC	?GetDeviceId@CPCICard@@QAEGXZ			; CPCICard::GetDeviceId
; Function compile flags: /Odtp
;	COMDAT ?GetDeviceId@CPCICard@@QAEGXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetDeviceId@CPCICard@@QAEGXZ PROC			; CPCICard::GetDeviceId, COMDAT
; _this$ = ecx

; 63   : {

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

; 64   :     return m_DeviceId;

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	66 8b 40 08	 mov	 ax, WORD PTR [eax+8]

; 65   : }

  0000e	8b e5		 mov	 esp, ebp
  00010	5d		 pop	 ebp
  00011	c3		 ret	 0
?GetDeviceId@CPCICard@@QAEGXZ ENDP			; CPCICard::GetDeviceId
_TEXT	ENDS
PUBLIC	?GetSubSystemId@CPCICard@@QAEKXZ		; CPCICard::GetSubSystemId
; Function compile flags: /Odtp
;	COMDAT ?GetSubSystemId@CPCICard@@QAEKXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetSubSystemId@CPCICard@@QAEKXZ PROC			; CPCICard::GetSubSystemId, 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   :     return m_SubSystemId;

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	8b 40 04	 mov	 eax, DWORD PTR [eax+4]

; 60   : }

  0000d	8b e5		 mov	 esp, ebp
  0000f	5d		 pop	 ebp
  00010	c3		 ret	 0
?GetSubSystemId@CPCICard@@QAEKXZ ENDP			; CPCICard::GetSubSystemId
PUBLIC	?RestoreState@CPCICard@@AAEXXZ			; CPCICard::RestoreState
; Function compile flags: /Odtp
;	COMDAT ?RestoreState@CPCICard@@AAEXXZ
_TEXT	SEGMENT
_this$ = -12						; size = 4
_BytesRead$141539 = -8					; size = 4
_StoredBuildNumber$141538 = -4				; size = 4
?RestoreState@CPCICard@@AAEXXZ PROC			; CPCICard::RestoreState, COMDAT
; _this$ = ecx

; 690  : {

  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

; 691  :     if(m_hStateFile != INVALID_HANDLE_VALUE)

  00009	8b 45 f4	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	83 78 30 ff	 cmp	 DWORD PTR [eax+48], -1
  00010	74 75		 je	 SHORT $LN4@RestoreSta@4

; 692  :     {
; 693  :         // reset the pointer to the start of the file
; 694  :         SetFilePointer(m_hStateFile, 0, NULL, FILE_BEGIN);

  00012	6a 00		 push	 0
  00014	6a 00		 push	 0
  00016	6a 00		 push	 0
  00018	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  0001b	8b 51 30	 mov	 edx, DWORD PTR [ecx+48]
  0001e	52		 push	 edx
  0001f	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__SetFilePointer@16

; 695  : 
; 696  :         long StoredBuildNumber(0);

  00025	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _StoredBuildNumber$141538[ebp], 0

; 697  :         DWORD BytesRead(0);

  0002c	c7 45 f8 00 00
	00 00		 mov	 DWORD PTR _BytesRead$141539[ebp], 0

; 698  : 
; 699  :         ReadFile(m_hStateFile, &StoredBuildNumber, 4, &BytesRead, NULL);

  00033	6a 00		 push	 0
  00035	8d 45 f8	 lea	 eax, DWORD PTR _BytesRead$141539[ebp]
  00038	50		 push	 eax
  00039	6a 04		 push	 4
  0003b	8d 4d fc	 lea	 ecx, DWORD PTR _StoredBuildNumber$141538[ebp]
  0003e	51		 push	 ecx
  0003f	8b 55 f4	 mov	 edx, DWORD PTR _this$[ebp]
  00042	8b 42 30	 mov	 eax, DWORD PTR [edx+48]
  00045	50		 push	 eax
  00046	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__ReadFile@20

; 700  : 
; 701  :         if(StoredBuildNumber == GetBuildNum())

  0004c	e8 00 00 00 00	 call	 ?GetBuildNum@@YAJXZ	; GetBuildNum
  00051	39 45 fc	 cmp	 DWORD PTR _StoredBuildNumber$141538[ebp], eax
  00054	75 15		 jne	 SHORT $LN2@RestoreSta@4

; 702  :         {
; 703  :             m_bStateIsReading = TRUE;

  00056	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  00059	c6 41 34 01	 mov	 BYTE PTR [ecx+52], 1

; 704  :             ManageMyState();

  0005d	8b 55 f4	 mov	 edx, DWORD PTR _this$[ebp]
  00060	8b 02		 mov	 eax, DWORD PTR [edx]
  00062	8b 4d f4	 mov	 ecx, DWORD PTR _this$[ebp]
  00065	8b 10		 mov	 edx, DWORD PTR [eax]
  00067	ff d2		 call	 edx

; 705  :         }
; 706  :         else

  00069	eb 0f		 jmp	 SHORT $LN1@RestoreSta@4
$LN2@RestoreSta@4:

; 707  :         {
; 708  :             LOG(0, _T("Inavlid version on state file"));

  0006b	68 00 00 00 00	 push	 OFFSET ??_C@_1DM@LDEDLMKE@?$AAI?$AAn?$AAa?$AAv?$AAl?$AAi?$AAd?$AA?5?$AAv?$AAe?$AAr?$AAs?$AAi?$AAo?$AAn?$AA?5?$AAo?$AAn?$AA?5?$AAs?$AAt?$AAa?$AAt?$AAe?$AA?5?$AAf?$AAi?$AAl?$AAe?$AA?$AA@
  00070	6a 00		 push	 0
  00072	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00077	83 c4 08	 add	 esp, 8
$LN1@RestoreSta@4:

; 709  :         }
; 710  : 
; 711  :         CloseHandle(m_hStateFile);

  0007a	8b 45 f4	 mov	 eax, DWORD PTR _this$[ebp]
  0007d	8b 48 30	 mov	 ecx, DWORD PTR [eax+48]
  00080	51		 push	 ecx
  00081	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CloseHandle@4
$LN4@RestoreSta@4:

; 712  :     }
; 713  : }

  00087	8b e5		 mov	 esp, ebp
  00089	5d		 pop	 ebp
  0008a	c3		 ret	 0
?RestoreState@CPCICard@@AAEXXZ ENDP			; CPCICard::RestoreState
_TEXT	ENDS
PUBLIC	__$ArrayPad$
PUBLIC	?SaveState@CPCICard@@AAEXXZ			; CPCICard::SaveState
; Function compile flags: /Odtp
;	COMDAT ?SaveState@CPCICard@@AAEXXZ
_TEXT	SEGMENT
_this$ = -1064						; size = 4
_BuildNum$ = -1060					; size = 4
_TempFileName$ = -1056					; size = 520
_BytesWritten$ = -532					; size = 4
_TempPath$ = -528					; size = 520
__$ArrayPad$ = -4					; size = 4
?SaveState@CPCICard@@AAEXXZ PROC			; CPCICard::SaveState, COMDAT
; _this$ = ecx

; 648  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	81 ec 28 04 00
	00		 sub	 esp, 1064		; 00000428H
  00009	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0000e	33 c5		 xor	 eax, ebp
  00010	89 45 fc	 mov	 DWORD PTR __$ArrayPad$[ebp], eax
  00013	89 8d d8 fb ff
	ff		 mov	 DWORD PTR _this$[ebp], ecx

; 649  :     TCHAR TempPath[MAX_PATH];
; 650  :     TCHAR TempFileName[MAX_PATH];
; 651  : 
; 652  :     if(GetTempPath(MAX_PATH, TempPath) == 0)

  00019	8d 85 f0 fd ff
	ff		 lea	 eax, DWORD PTR _TempPath$[ebp]
  0001f	50		 push	 eax
  00020	68 04 01 00 00	 push	 260			; 00000104H
  00025	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__GetTempPathW@8
  0002b	85 c0		 test	 eax, eax
  0002d	75 14		 jne	 SHORT $LN3@SaveState

; 653  :     {
; 654  :         LOG(0, _T("Can't create Temp path for saving state"));

  0002f	68 00 00 00 00	 push	 OFFSET ??_C@_1FA@PCAMNHL@?$AAC?$AAa?$AAn?$AA?8?$AAt?$AA?5?$AAc?$AAr?$AAe?$AAa?$AAt?$AAe?$AA?5?$AAT?$AAe?$AAm?$AAp?$AA?5?$AAp?$AAa?$AAt?$AAh?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAs?$AAa?$AAv?$AAi?$AAn@
  00034	6a 00		 push	 0
  00036	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  0003b	83 c4 08	 add	 esp, 8

; 655  :         return;

  0003e	e9 cb 00 00 00	 jmp	 $LN4@SaveState
$LN3@SaveState:

; 656  :     }
; 657  : 
; 658  :     if(GetTempFileName(TempPath, _T("DS4"), 0, TempFileName) == 0)

  00043	8d 8d e0 fb ff
	ff		 lea	 ecx, DWORD PTR _TempFileName$[ebp]
  00049	51		 push	 ecx
  0004a	6a 00		 push	 0
  0004c	68 00 00 00 00	 push	 OFFSET ??_C@_17MCFJPJCO@?$AAD?$AAS?$AA4?$AA?$AA@
  00051	8d 95 f0 fd ff
	ff		 lea	 edx, DWORD PTR _TempPath$[ebp]
  00057	52		 push	 edx
  00058	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__GetTempFileNameW@16
  0005e	85 c0		 test	 eax, eax
  00060	75 14		 jne	 SHORT $LN2@SaveState

; 659  :     {
; 660  :         LOG(0, _T("Can't create Temp file name for saving state"));

  00062	68 00 00 00 00	 push	 OFFSET ??_C@_1FK@KJNMPPNO@?$AAC?$AAa?$AAn?$AA?8?$AAt?$AA?5?$AAc?$AAr?$AAe?$AAa?$AAt?$AAe?$AA?5?$AAT?$AAe?$AAm?$AAp?$AA?5?$AAf?$AAi?$AAl?$AAe?$AA?5?$AAn?$AAa?$AAm?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5@
  00067	6a 00		 push	 0
  00069	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  0006e	83 c4 08	 add	 esp, 8

; 661  :         return;

  00071	e9 98 00 00 00	 jmp	 $LN4@SaveState
$LN2@SaveState:

; 662  :     }
; 663  : 
; 664  :     m_hStateFile = CreateFile(
; 665  :                                 TempFileName,
; 666  :                                 GENERIC_READ | GENERIC_WRITE,
; 667  :                                 0,
; 668  :                                 NULL,
; 669  :                                 CREATE_ALWAYS,
; 670  :                                 FILE_ATTRIBUTE_NORMAL | FILE_FLAG_DELETE_ON_CLOSE,
; 671  :                                 NULL
; 672  :                              );

  00076	6a 00		 push	 0
  00078	68 80 00 00 04	 push	 67108992		; 04000080H
  0007d	6a 02		 push	 2
  0007f	6a 00		 push	 0
  00081	6a 00		 push	 0
  00083	68 00 00 00 c0	 push	 -1073741824		; c0000000H
  00088	8d 85 e0 fb ff
	ff		 lea	 eax, DWORD PTR _TempFileName$[ebp]
  0008e	50		 push	 eax
  0008f	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CreateFileW@28
  00095	8b 8d d8 fb ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  0009b	89 41 30	 mov	 DWORD PTR [ecx+48], eax

; 673  : 
; 674  :     if(m_hStateFile == INVALID_HANDLE_VALUE)

  0009e	8b 95 d8 fb ff
	ff		 mov	 edx, DWORD PTR _this$[ebp]
  000a4	83 7a 30 ff	 cmp	 DWORD PTR [edx+48], -1
  000a8	75 11		 jne	 SHORT $LN1@SaveState

; 675  :     {
; 676  :         LOG(0, _T("Can't create Temp file for saving state"));

  000aa	68 00 00 00 00	 push	 OFFSET ??_C@_1FA@NKJGJMFN@?$AAC?$AAa?$AAn?$AA?8?$AAt?$AA?5?$AAc?$AAr?$AAe?$AAa?$AAt?$AAe?$AA?5?$AAT?$AAe?$AAm?$AAp?$AA?5?$AAf?$AAi?$AAl?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAs?$AAa?$AAv?$AAi?$AAn@
  000af	6a 00		 push	 0
  000b1	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  000b6	83 c4 08	 add	 esp, 8

; 677  :         return;

  000b9	eb 53		 jmp	 SHORT $LN4@SaveState
$LN1@SaveState:

; 678  :     }
; 679  : 
; 680  :     DWORD BytesWritten(0);

  000bb	c7 85 ec fd ff
	ff 00 00 00 00	 mov	 DWORD PTR _BytesWritten$[ebp], 0

; 681  : 
; 682  :     long BuildNum(GetBuildNum());

  000c5	e8 00 00 00 00	 call	 ?GetBuildNum@@YAJXZ	; GetBuildNum
  000ca	89 85 dc fb ff
	ff		 mov	 DWORD PTR _BuildNum$[ebp], eax

; 683  :     WriteFile(m_hStateFile, &BuildNum, 4, &BytesWritten, NULL);

  000d0	6a 00		 push	 0
  000d2	8d 85 ec fd ff
	ff		 lea	 eax, DWORD PTR _BytesWritten$[ebp]
  000d8	50		 push	 eax
  000d9	6a 04		 push	 4
  000db	8d 8d dc fb ff
	ff		 lea	 ecx, DWORD PTR _BuildNum$[ebp]
  000e1	51		 push	 ecx
  000e2	8b 95 d8 fb ff
	ff		 mov	 edx, DWORD PTR _this$[ebp]
  000e8	8b 42 30	 mov	 eax, DWORD PTR [edx+48]
  000eb	50		 push	 eax
  000ec	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__WriteFile@20

; 684  : 
; 685  :     m_bStateIsReading = FALSE;

  000f2	8b 8d d8 fb ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  000f8	c6 41 34 00	 mov	 BYTE PTR [ecx+52], 0

; 686  :     ManageMyState();

  000fc	8b 95 d8 fb ff
	ff		 mov	 edx, DWORD PTR _this$[ebp]
  00102	8b 02		 mov	 eax, DWORD PTR [edx]
  00104	8b 8d d8 fb ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  0010a	8b 10		 mov	 edx, DWORD PTR [eax]
  0010c	ff d2		 call	 edx
$LN4@SaveState:

; 687  : }

  0010e	8b 4d fc	 mov	 ecx, DWORD PTR __$ArrayPad$[ebp]
  00111	33 cd		 xor	 ecx, ebp
  00113	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00118	8b e5		 mov	 esp, ebp
  0011a	5d		 pop	 ebp
  0011b	c3		 ret	 0
?SaveState@CPCICard@@AAEXXZ ENDP			; CPCICard::SaveState
PUBLIC	?SetPCIConfigOffset@CPCICard@@QAEHPAEKKK@Z	; CPCICard::SetPCIConfigOffset
; Function compile flags: /Odtp
;	COMDAT ?SetPCIConfigOffset@CPCICard@@QAEHPAEKKK@Z
_TEXT	SEGMENT
_this$ = -24						; size = 4
_dwStatus$ = -20					; size = 4
_dwLength$ = -16					; size = 4
_hwParam$ = -12						; size = 12
_pbPCIConfig$ = 8					; size = 4
_Offset$ = 12						; size = 4
_Bus$ = 16						; size = 4
_Slot$ = 20						; size = 4
?SetPCIConfigOffset@CPCICard@@QAEHPAEKKK@Z PROC		; CPCICard::SetPCIConfigOffset, COMDAT
; _this$ = ecx

; 616  : {

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

; 617  :     if(pbPCIConfig == NULL)

  00009	83 7d 08 00	 cmp	 DWORD PTR _pbPCIConfig$[ebp], 0
  0000d	75 13		 jne	 SHORT $LN2@SetPCIConf

; 618  :     {
; 619  :         LOG(1, _T("SetPCIConfigOffset failed. pbPCIConfig == NULL"));

  0000f	68 00 00 00 00	 push	 OFFSET ??_C@_1FO@JHMLDONN@?$AAS?$AAe?$AAt?$AAP?$AAC?$AAI?$AAC?$AAo?$AAn?$AAf?$AAi?$AAg?$AAO?$AAf?$AAf?$AAs?$AAe?$AAt?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?4?$AA?5?$AAp?$AAb?$AAP?$AAC?$AAI@
  00014	6a 01		 push	 1
  00016	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  0001b	83 c4 08	 add	 esp, 8

; 620  :         return FALSE;

  0001e	33 c0		 xor	 eax, eax
  00020	eb 66		 jmp	 SHORT $LN3@SetPCIConf
$LN2@SetPCIConf:

; 621  :     }
; 622  : 
; 623  :     TDSDrvParam hwParam;
; 624  :     DWORD dwStatus;
; 625  :     DWORD dwLength;
; 626  : 
; 627  :     hwParam.dwAddress = Bus;

  00022	8b 45 10	 mov	 eax, DWORD PTR _Bus$[ebp]
  00025	89 45 f4	 mov	 DWORD PTR _hwParam$[ebp], eax

; 628  :     hwParam.dwValue = Slot;

  00028	8b 4d 14	 mov	 ecx, DWORD PTR _Slot$[ebp]
  0002b	89 4d f8	 mov	 DWORD PTR _hwParam$[ebp+4], ecx

; 629  :     hwParam.dwFlags = Offset;

  0002e	8b 55 0c	 mov	 edx, DWORD PTR _Offset$[ebp]
  00031	89 55 fc	 mov	 DWORD PTR _hwParam$[ebp+8], edx

; 630  : 
; 631  :     dwStatus = m_pDriver->SendCommand(IOCTL_DSDRV_SETPCICONFIGOFFSET,
; 632  :                                         &hwParam,
; 633  :                                         sizeof(hwParam),
; 634  :                                         pbPCIConfig,
; 635  :                                         1,
; 636  :                                         &dwLength);

  00034	8d 45 f0	 lea	 eax, DWORD PTR _dwLength$[ebp]
  00037	50		 push	 eax
  00038	6a 01		 push	 1
  0003a	8b 4d 08	 mov	 ecx, DWORD PTR _pbPCIConfig$[ebp]
  0003d	51		 push	 ecx
  0003e	6a 0c		 push	 12			; 0000000cH
  00040	8d 55 f4	 lea	 edx, DWORD PTR _hwParam$[ebp]
  00043	52		 push	 edx
  00044	68 5a 28 00 8d	 push	 -1929369510		; 8d00285aH
  00049	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0004c	83 c1 28	 add	 ecx, 40			; 00000028H
  0004f	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCHardwareDriver@@@@QBEPAVCHardwareDriver@@XZ ; SmartPtr<CHardwareDriver>::operator->
  00054	8b c8		 mov	 ecx, eax
  00056	e8 00 00 00 00	 call	 ?SendCommand@CHardwareDriver@@QAEKKPAXK0KPAK@Z ; CHardwareDriver::SendCommand
  0005b	89 45 ec	 mov	 DWORD PTR _dwStatus$[ebp], eax

; 637  : 
; 638  :     if(dwStatus != ERROR_SUCCESS)

  0005e	83 7d ec 00	 cmp	 DWORD PTR _dwStatus$[ebp], 0
  00062	74 1f		 je	 SHORT $LN1@SetPCIConf

; 639  :     {
; 640  :         LOG(1, _T("SetPCIConfigOffset failed for %X %X failed 0x%x"), Bus, Slot, dwStatus);

  00064	8b 45 ec	 mov	 eax, DWORD PTR _dwStatus$[ebp]
  00067	50		 push	 eax
  00068	8b 4d 14	 mov	 ecx, DWORD PTR _Slot$[ebp]
  0006b	51		 push	 ecx
  0006c	8b 55 10	 mov	 edx, DWORD PTR _Bus$[ebp]
  0006f	52		 push	 edx
  00070	68 00 00 00 00	 push	 OFFSET ??_C@_1GA@MMOICEAH@?$AAS?$AAe?$AAt?$AAP?$AAC?$AAI?$AAC?$AAo?$AAn?$AAf?$AAi?$AAg?$AAO?$AAf?$AAf?$AAs?$AAe?$AAt?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AA?$CF?$AAX@
  00075	6a 01		 push	 1
  00077	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  0007c	83 c4 14	 add	 esp, 20			; 00000014H

; 641  :         return FALSE;

  0007f	33 c0		 xor	 eax, eax
  00081	eb 05		 jmp	 SHORT $LN3@SetPCIConf
$LN1@SetPCIConf:

; 642  :     }
; 643  :     return TRUE;

  00083	b8 01 00 00 00	 mov	 eax, 1
$LN3@SetPCIConf:

; 644  : }

  00088	8b e5		 mov	 esp, ebp
  0008a	5d		 pop	 ebp
  0008b	c2 10 00	 ret	 16			; 00000010H
?SetPCIConfigOffset@CPCICard@@QAEHPAEKKK@Z ENDP		; CPCICard::SetPCIConfigOffset
_TEXT	ENDS
PUBLIC	?GetPCIConfigOffset@CPCICard@@QAEHPAEKKK@Z	; CPCICard::GetPCIConfigOffset
; Function compile flags: /Odtp
;	COMDAT ?GetPCIConfigOffset@CPCICard@@QAEHPAEKKK@Z
_TEXT	SEGMENT
_this$ = -24						; size = 4
_dwStatus$ = -20					; size = 4
_dwLength$ = -16					; size = 4
_hwParam$ = -12						; size = 12
_pbPCIConfig$ = 8					; size = 4
_Offset$ = 12						; size = 4
_Bus$ = 16						; size = 4
_Slot$ = 20						; size = 4
?GetPCIConfigOffset@CPCICard@@QAEHPAEKKK@Z PROC		; CPCICard::GetPCIConfigOffset, COMDAT
; _this$ = ecx

; 585  : {

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

; 586  :     if(pbPCIConfig == NULL)

  00009	83 7d 08 00	 cmp	 DWORD PTR _pbPCIConfig$[ebp], 0
  0000d	75 13		 jne	 SHORT $LN2@GetPCIConf

; 587  :     {
; 588  :         LOG(1, _T("GetPCIConfigOffset failed. pbPCIConfig == NULL"));

  0000f	68 00 00 00 00	 push	 OFFSET ??_C@_1FO@CJEANBBB@?$AAG?$AAe?$AAt?$AAP?$AAC?$AAI?$AAC?$AAo?$AAn?$AAf?$AAi?$AAg?$AAO?$AAf?$AAf?$AAs?$AAe?$AAt?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?4?$AA?5?$AAp?$AAb?$AAP?$AAC?$AAI@
  00014	6a 01		 push	 1
  00016	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  0001b	83 c4 08	 add	 esp, 8

; 589  :         return FALSE;

  0001e	33 c0		 xor	 eax, eax
  00020	eb 66		 jmp	 SHORT $LN3@GetPCIConf
$LN2@GetPCIConf:

; 590  :     }
; 591  : 
; 592  :     TDSDrvParam hwParam;
; 593  :     DWORD dwStatus;
; 594  :     DWORD dwLength;
; 595  : 
; 596  :     hwParam.dwAddress = Bus;

  00022	8b 45 10	 mov	 eax, DWORD PTR _Bus$[ebp]
  00025	89 45 f4	 mov	 DWORD PTR _hwParam$[ebp], eax

; 597  :     hwParam.dwValue = Slot;

  00028	8b 4d 14	 mov	 ecx, DWORD PTR _Slot$[ebp]
  0002b	89 4d f8	 mov	 DWORD PTR _hwParam$[ebp+4], ecx

; 598  :     hwParam.dwFlags = Offset;

  0002e	8b 55 0c	 mov	 edx, DWORD PTR _Offset$[ebp]
  00031	89 55 fc	 mov	 DWORD PTR _hwParam$[ebp+8], edx

; 599  : 
; 600  :     dwStatus = m_pDriver->SendCommand(IOCTL_DSDRV_GETPCICONFIGOFFSET,
; 601  :                                         &hwParam,
; 602  :                                         sizeof(hwParam),
; 603  :                                         pbPCIConfig,
; 604  :                                         1,
; 605  :                                         &dwLength);

  00034	8d 45 f0	 lea	 eax, DWORD PTR _dwLength$[ebp]
  00037	50		 push	 eax
  00038	6a 01		 push	 1
  0003a	8b 4d 08	 mov	 ecx, DWORD PTR _pbPCIConfig$[ebp]
  0003d	51		 push	 ecx
  0003e	6a 0c		 push	 12			; 0000000cH
  00040	8d 55 f4	 lea	 edx, DWORD PTR _hwParam$[ebp]
  00043	52		 push	 edx
  00044	68 56 28 00 8d	 push	 -1929369514		; 8d002856H
  00049	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0004c	83 c1 28	 add	 ecx, 40			; 00000028H
  0004f	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCHardwareDriver@@@@QBEPAVCHardwareDriver@@XZ ; SmartPtr<CHardwareDriver>::operator->
  00054	8b c8		 mov	 ecx, eax
  00056	e8 00 00 00 00	 call	 ?SendCommand@CHardwareDriver@@QAEKKPAXK0KPAK@Z ; CHardwareDriver::SendCommand
  0005b	89 45 ec	 mov	 DWORD PTR _dwStatus$[ebp], eax

; 606  : 
; 607  :     if(dwStatus != ERROR_SUCCESS)

  0005e	83 7d ec 00	 cmp	 DWORD PTR _dwStatus$[ebp], 0
  00062	74 1f		 je	 SHORT $LN1@GetPCIConf

; 608  :     {
; 609  :         LOG(1, _T("GetPCIConfigOffet failed for %X %X failed 0x%x"), Bus, Slot, dwStatus);

  00064	8b 45 ec	 mov	 eax, DWORD PTR _dwStatus$[ebp]
  00067	50		 push	 eax
  00068	8b 4d 14	 mov	 ecx, DWORD PTR _Slot$[ebp]
  0006b	51		 push	 ecx
  0006c	8b 55 10	 mov	 edx, DWORD PTR _Bus$[ebp]
  0006f	52		 push	 edx
  00070	68 00 00 00 00	 push	 OFFSET ??_C@_1FO@FOHBJKLH@?$AAG?$AAe?$AAt?$AAP?$AAC?$AAI?$AAC?$AAo?$AAn?$AAf?$AAi?$AAg?$AAO?$AAf?$AAf?$AAe?$AAt?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AA?$CF?$AAX?$AA?5@
  00075	6a 01		 push	 1
  00077	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  0007c	83 c4 14	 add	 esp, 20			; 00000014H

; 610  :         return FALSE;

  0007f	33 c0		 xor	 eax, eax
  00081	eb 05		 jmp	 SHORT $LN3@GetPCIConf
$LN1@GetPCIConf:

; 611  :     }
; 612  :     return TRUE;

  00083	b8 01 00 00 00	 mov	 eax, 1
$LN3@GetPCIConf:

; 613  : }

  00088	8b e5		 mov	 esp, ebp
  0008a	5d		 pop	 ebp
  0008b	c2 10 00	 ret	 16			; 00000010H
?GetPCIConfigOffset@CPCICard@@QAEHPAEKKK@Z ENDP		; CPCICard::GetPCIConfigOffset
_TEXT	ENDS
PUBLIC	?SetPCIConfig@CPCICard@@AAEHPAU_PCI_COMMON_CONFIG@@KK@Z ; CPCICard::SetPCIConfig
; Function compile flags: /Odtp
;	COMDAT ?SetPCIConfig@CPCICard@@AAEHPAU_PCI_COMMON_CONFIG@@KK@Z
_TEXT	SEGMENT
_this$ = -24						; size = 4
_dwStatus$ = -20					; size = 4
_dwLength$ = -16					; size = 4
_hwParam$ = -12						; size = 12
_pPCI_COMMON_CONFIG$ = 8				; size = 4
_Bus$ = 12						; size = 4
_Slot$ = 16						; size = 4
?SetPCIConfig@CPCICard@@AAEHPAU_PCI_COMMON_CONFIG@@KK@Z PROC ; CPCICard::SetPCIConfig, COMDAT
; _this$ = ecx

; 555  : {

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

; 556  :     if(pPCI_COMMON_CONFIG == NULL)

  00009	83 7d 08 00	 cmp	 DWORD PTR _pPCI_COMMON_CONFIG$[ebp], 0
  0000d	75 13		 jne	 SHORT $LN2@SetPCIConf@2

; 557  :     {
; 558  :         LOG(1, _T("SetPCIConfig failed. pPCI_COMMON_CONFIG == NULL"));

  0000f	68 00 00 00 00	 push	 OFFSET ??_C@_1GA@EICAHOCB@?$AAS?$AAe?$AAt?$AAP?$AAC?$AAI?$AAC?$AAo?$AAn?$AAf?$AAi?$AAg?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?4?$AA?5?$AAp?$AAP?$AAC?$AAI?$AA_?$AAC?$AAO?$AAM?$AAM?$AAO?$AAN@
  00014	6a 01		 push	 1
  00016	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  0001b	83 c4 08	 add	 esp, 8

; 559  :         return FALSE;

  0001e	33 c0		 xor	 eax, eax
  00020	eb 63		 jmp	 SHORT $LN3@SetPCIConf@2
$LN2@SetPCIConf@2:

; 560  :     }
; 561  : 
; 562  :     TDSDrvParam hwParam;
; 563  :     DWORD dwStatus;
; 564  :     DWORD dwLength;
; 565  : 
; 566  :     hwParam.dwAddress = Bus;

  00022	8b 45 0c	 mov	 eax, DWORD PTR _Bus$[ebp]
  00025	89 45 f4	 mov	 DWORD PTR _hwParam$[ebp], eax

; 567  :     hwParam.dwValue = Slot;

  00028	8b 4d 10	 mov	 ecx, DWORD PTR _Slot$[ebp]
  0002b	89 4d f8	 mov	 DWORD PTR _hwParam$[ebp+4], ecx

; 568  : 
; 569  :     dwStatus = m_pDriver->SendCommand(IOCTL_DSDRV_SETPCICONFIG,
; 570  :                                         &hwParam,
; 571  :                                         sizeof(hwParam),
; 572  :                                         pPCI_COMMON_CONFIG,
; 573  :                                         sizeof(PCI_COMMON_CONFIG),
; 574  :                                         &dwLength);

  0002e	8d 55 f0	 lea	 edx, DWORD PTR _dwLength$[ebp]
  00031	52		 push	 edx
  00032	68 00 01 00 00	 push	 256			; 00000100H
  00037	8b 45 08	 mov	 eax, DWORD PTR _pPCI_COMMON_CONFIG$[ebp]
  0003a	50		 push	 eax
  0003b	6a 0c		 push	 12			; 0000000cH
  0003d	8d 4d f4	 lea	 ecx, DWORD PTR _hwParam$[ebp]
  00040	51		 push	 ecx
  00041	68 52 28 00 8d	 push	 -1929369518		; 8d002852H
  00046	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00049	83 c1 28	 add	 ecx, 40			; 00000028H
  0004c	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCHardwareDriver@@@@QBEPAVCHardwareDriver@@XZ ; SmartPtr<CHardwareDriver>::operator->
  00051	8b c8		 mov	 ecx, eax
  00053	e8 00 00 00 00	 call	 ?SendCommand@CHardwareDriver@@QAEKKPAXK0KPAK@Z ; CHardwareDriver::SendCommand
  00058	89 45 ec	 mov	 DWORD PTR _dwStatus$[ebp], eax

; 575  : 
; 576  :     if(dwStatus != ERROR_SUCCESS)

  0005b	83 7d ec 00	 cmp	 DWORD PTR _dwStatus$[ebp], 0
  0005f	74 1f		 je	 SHORT $LN1@SetPCIConf@2

; 577  :     {
; 578  :         LOG(1, _T("SetPCIConfig failed for %X %X failed 0x%x"), Bus, Slot, dwStatus);

  00061	8b 55 ec	 mov	 edx, DWORD PTR _dwStatus$[ebp]
  00064	52		 push	 edx
  00065	8b 45 10	 mov	 eax, DWORD PTR _Slot$[ebp]
  00068	50		 push	 eax
  00069	8b 4d 0c	 mov	 ecx, DWORD PTR _Bus$[ebp]
  0006c	51		 push	 ecx
  0006d	68 00 00 00 00	 push	 OFFSET ??_C@_1FE@JOINIHND@?$AAS?$AAe?$AAt?$AAP?$AAC?$AAI?$AAC?$AAo?$AAn?$AAf?$AAi?$AAg?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AA?$CF?$AAX?$AA?5?$AA?$CF?$AAX?$AA?5?$AAf?$AAa@
  00072	6a 01		 push	 1
  00074	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00079	83 c4 14	 add	 esp, 20			; 00000014H

; 579  :         return FALSE;

  0007c	33 c0		 xor	 eax, eax
  0007e	eb 05		 jmp	 SHORT $LN3@SetPCIConf@2
$LN1@SetPCIConf@2:

; 580  :     }
; 581  :     return TRUE;

  00080	b8 01 00 00 00	 mov	 eax, 1
$LN3@SetPCIConf@2:

; 582  : }

  00085	8b e5		 mov	 esp, ebp
  00087	5d		 pop	 ebp
  00088	c2 0c 00	 ret	 12			; 0000000cH
?SetPCIConfig@CPCICard@@AAEHPAU_PCI_COMMON_CONFIG@@KK@Z ENDP ; CPCICard::SetPCIConfig
_TEXT	ENDS
PUBLIC	?GetPCIConfig@CPCICard@@AAEHPAU_PCI_COMMON_CONFIG@@KK@Z ; CPCICard::GetPCIConfig
; Function compile flags: /Odtp
;	COMDAT ?GetPCIConfig@CPCICard@@AAEHPAU_PCI_COMMON_CONFIG@@KK@Z
_TEXT	SEGMENT
_this$ = -24						; size = 4
_dwStatus$ = -20					; size = 4
_dwLength$ = -16					; size = 4
_hwParam$ = -12						; size = 12
_pPCI_COMMON_CONFIG$ = 8				; size = 4
_Bus$ = 12						; size = 4
_Slot$ = 16						; size = 4
?GetPCIConfig@CPCICard@@AAEHPAU_PCI_COMMON_CONFIG@@KK@Z PROC ; CPCICard::GetPCIConfig, COMDAT
; _this$ = ecx

; 525  : {

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

; 526  :     if(pPCI_COMMON_CONFIG == NULL)

  00009	83 7d 08 00	 cmp	 DWORD PTR _pPCI_COMMON_CONFIG$[ebp], 0
  0000d	75 13		 jne	 SHORT $LN2@GetPCIConf@2

; 527  :     {
; 528  :         LOG(1, _T("GetPCIConfig failed. pPCI_COMMON_CONFIG == NULL"));

  0000f	68 00 00 00 00	 push	 OFFSET ??_C@_1GA@BPNKKHAB@?$AAG?$AAe?$AAt?$AAP?$AAC?$AAI?$AAC?$AAo?$AAn?$AAf?$AAi?$AAg?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?4?$AA?5?$AAp?$AAP?$AAC?$AAI?$AA_?$AAC?$AAO?$AAM?$AAM?$AAO?$AAN@
  00014	6a 01		 push	 1
  00016	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  0001b	83 c4 08	 add	 esp, 8

; 529  :         return FALSE;

  0001e	33 c0		 xor	 eax, eax
  00020	eb 63		 jmp	 SHORT $LN3@GetPCIConf@2
$LN2@GetPCIConf@2:

; 530  :     }
; 531  : 
; 532  :     TDSDrvParam hwParam;
; 533  :     DWORD dwStatus;
; 534  :     DWORD dwLength;
; 535  : 
; 536  :     hwParam.dwAddress = Bus;

  00022	8b 45 0c	 mov	 eax, DWORD PTR _Bus$[ebp]
  00025	89 45 f4	 mov	 DWORD PTR _hwParam$[ebp], eax

; 537  :     hwParam.dwValue = Slot;

  00028	8b 4d 10	 mov	 ecx, DWORD PTR _Slot$[ebp]
  0002b	89 4d f8	 mov	 DWORD PTR _hwParam$[ebp+4], ecx

; 538  : 
; 539  :     dwStatus = m_pDriver->SendCommand(IOCTL_DSDRV_GETPCICONFIG,
; 540  :                                         &hwParam,
; 541  :                                         sizeof(hwParam),
; 542  :                                         pPCI_COMMON_CONFIG,
; 543  :                                         sizeof(PCI_COMMON_CONFIG),
; 544  :                                         &dwLength);

  0002e	8d 55 f0	 lea	 edx, DWORD PTR _dwLength$[ebp]
  00031	52		 push	 edx
  00032	68 00 01 00 00	 push	 256			; 00000100H
  00037	8b 45 08	 mov	 eax, DWORD PTR _pPCI_COMMON_CONFIG$[ebp]
  0003a	50		 push	 eax
  0003b	6a 0c		 push	 12			; 0000000cH
  0003d	8d 4d f4	 lea	 ecx, DWORD PTR _hwParam$[ebp]
  00040	51		 push	 ecx
  00041	68 4e 28 00 8d	 push	 -1929369522		; 8d00284eH
  00046	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00049	83 c1 28	 add	 ecx, 40			; 00000028H
  0004c	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCHardwareDriver@@@@QBEPAVCHardwareDriver@@XZ ; SmartPtr<CHardwareDriver>::operator->
  00051	8b c8		 mov	 ecx, eax
  00053	e8 00 00 00 00	 call	 ?SendCommand@CHardwareDriver@@QAEKKPAXK0KPAK@Z ; CHardwareDriver::SendCommand
  00058	89 45 ec	 mov	 DWORD PTR _dwStatus$[ebp], eax

; 545  : 
; 546  :     if(dwStatus != ERROR_SUCCESS)

  0005b	83 7d ec 00	 cmp	 DWORD PTR _dwStatus$[ebp], 0
  0005f	74 1f		 je	 SHORT $LN1@GetPCIConf@2

; 547  :     {
; 548  :         LOG(1, _T("GetPCIConfig failed for %X %X failed 0x%x"), Bus, Slot, dwStatus);

  00061	8b 55 ec	 mov	 edx, DWORD PTR _dwStatus$[ebp]
  00064	52		 push	 edx
  00065	8b 45 10	 mov	 eax, DWORD PTR _Slot$[ebp]
  00068	50		 push	 eax
  00069	8b 4d 0c	 mov	 ecx, DWORD PTR _Bus$[ebp]
  0006c	51		 push	 ecx
  0006d	68 00 00 00 00	 push	 OFFSET ??_C@_1FE@INJPBNJJ@?$AAG?$AAe?$AAt?$AAP?$AAC?$AAI?$AAC?$AAo?$AAn?$AAf?$AAi?$AAg?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AA?$CF?$AAX?$AA?5?$AA?$CF?$AAX?$AA?5?$AAf?$AAa@
  00072	6a 01		 push	 1
  00074	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00079	83 c4 14	 add	 esp, 20			; 00000014H

; 549  :         return FALSE;

  0007c	33 c0		 xor	 eax, eax
  0007e	eb 05		 jmp	 SHORT $LN3@GetPCIConf@2
$LN1@GetPCIConf@2:

; 550  :     }
; 551  :     return TRUE;

  00080	b8 01 00 00 00	 mov	 eax, 1
$LN3@GetPCIConf@2:

; 552  : }

  00085	8b e5		 mov	 esp, ebp
  00087	5d		 pop	 ebp
  00088	c2 0c 00	 ret	 12			; 0000000cH
?GetPCIConfig@CPCICard@@AAEHPAU_PCI_COMMON_CONFIG@@KK@Z ENDP ; CPCICard::GetPCIConfig
_TEXT	ENDS
PUBLIC	?ReadDword@CPCICard@@QAEKK@Z			; CPCICard::ReadDword
; Function compile flags: /Odtp
;	COMDAT ?ReadDword@CPCICard@@QAEKK@Z
_TEXT	SEGMENT
_this$ = -28						; size = 4
_dwReturnedLength$ = -24				; size = 4
_dwValue$ = -20						; size = 4
_dwStatus$ = -16					; size = 4
_hwParam$ = -12						; size = 12
_Offset$ = 8						; size = 4
?ReadDword@CPCICard@@QAEKK@Z PROC			; CPCICard::ReadDword, COMDAT
; _this$ = ecx

; 288  : {

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

; 289  :     LockCard();

  00009	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  0000c	e8 00 00 00 00	 call	 ?LockCard@CPCICard@@QAEXXZ ; CPCICard::LockCard

; 290  :     TDSDrvParam hwParam;
; 291  :     DWORD dwReturnedLength;
; 292  :     DWORD dwValue(0);

  00011	c7 45 ec 00 00
	00 00		 mov	 DWORD PTR _dwValue$[ebp], 0

; 293  : 
; 294  :     hwParam.dwAddress = m_MemoryBase + Offset;

  00018	8b 45 e4	 mov	 eax, DWORD PTR _this$[ebp]
  0001b	8b 48 24	 mov	 ecx, DWORD PTR [eax+36]
  0001e	03 4d 08	 add	 ecx, DWORD PTR _Offset$[ebp]
  00021	89 4d f4	 mov	 DWORD PTR _hwParam$[ebp], ecx

; 295  :     DWORD dwStatus = m_pDriver->SendCommand(IOCTL_DSDRV_READMEMORYDWORD,
; 296  :                                             &hwParam,
; 297  :                                             sizeof(hwParam.dwAddress),
; 298  :                                             &dwValue,
; 299  :                                             sizeof(dwValue),
; 300  :                                             &dwReturnedLength);

  00024	8d 55 e8	 lea	 edx, DWORD PTR _dwReturnedLength$[ebp]
  00027	52		 push	 edx
  00028	6a 04		 push	 4
  0002a	8d 45 ec	 lea	 eax, DWORD PTR _dwValue$[ebp]
  0002d	50		 push	 eax
  0002e	6a 04		 push	 4
  00030	8d 4d f4	 lea	 ecx, DWORD PTR _hwParam$[ebp]
  00033	51		 push	 ecx
  00034	68 32 28 00 8d	 push	 -1929369550		; 8d002832H
  00039	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  0003c	83 c1 28	 add	 ecx, 40			; 00000028H
  0003f	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCHardwareDriver@@@@QBEPAVCHardwareDriver@@XZ ; SmartPtr<CHardwareDriver>::operator->
  00044	8b c8		 mov	 ecx, eax
  00046	e8 00 00 00 00	 call	 ?SendCommand@CHardwareDriver@@QAEKKPAXK0KPAK@Z ; CHardwareDriver::SendCommand
  0004b	89 45 f0	 mov	 DWORD PTR _dwStatus$[ebp], eax

; 301  : 
; 302  :     if (dwStatus != ERROR_SUCCESS)

  0004e	83 7d f0 00	 cmp	 DWORD PTR _dwStatus$[ebp], 0
  00052	74 13		 je	 SHORT $LN1@ReadDword

; 303  :     {
; 304  :         LOG(1, _T("ReadMemoryDWORD failed 0x%x"), dwStatus);

  00054	8b 55 f0	 mov	 edx, DWORD PTR _dwStatus$[ebp]
  00057	52		 push	 edx
  00058	68 00 00 00 00	 push	 OFFSET ??_C@_1DI@CKPGCKFI@?$AAR?$AAe?$AAa?$AAd?$AAM?$AAe?$AAm?$AAo?$AAr?$AAy?$AAD?$AAW?$AAO?$AAR?$AAD?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AA0?$AAx?$AA?$CF?$AAx?$AA?$AA@
  0005d	6a 01		 push	 1
  0005f	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00064	83 c4 0c	 add	 esp, 12			; 0000000cH
$LN1@ReadDword:

; 305  :     }
; 306  :     UnlockCard();

  00067	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  0006a	e8 00 00 00 00	 call	 ?UnlockCard@CPCICard@@QAEXXZ ; CPCICard::UnlockCard

; 307  :     return dwValue;

  0006f	8b 45 ec	 mov	 eax, DWORD PTR _dwValue$[ebp]

; 308  : }

  00072	8b e5		 mov	 esp, ebp
  00074	5d		 pop	 ebp
  00075	c2 04 00	 ret	 4
?ReadDword@CPCICard@@QAEKK@Z ENDP			; CPCICard::ReadDword
_TEXT	ENDS
PUBLIC	?ReadWord@CPCICard@@QAEGK@Z			; CPCICard::ReadWord
; Function compile flags: /Odtp
;	COMDAT ?ReadWord@CPCICard@@QAEGK@Z
_TEXT	SEGMENT
_this$ = -28						; size = 4
_dwReturnedLength$ = -24				; size = 4
_dwStatus$ = -20					; size = 4
_hwParam$ = -16						; size = 12
_wValue$ = -4						; size = 2
_Offset$ = 8						; size = 4
?ReadWord@CPCICard@@QAEGK@Z PROC			; CPCICard::ReadWord, COMDAT
; _this$ = ecx

; 265  : {

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

; 266  :     LockCard();

  00009	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  0000c	e8 00 00 00 00	 call	 ?LockCard@CPCICard@@QAEXXZ ; CPCICard::LockCard

; 267  :     TDSDrvParam hwParam;
; 268  :     DWORD dwReturnedLength;
; 269  :     WORD wValue(0);

  00011	33 c0		 xor	 eax, eax
  00013	66 89 45 fc	 mov	 WORD PTR _wValue$[ebp], ax

; 270  : 
; 271  :     hwParam.dwAddress = m_MemoryBase + Offset;

  00017	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  0001a	8b 51 24	 mov	 edx, DWORD PTR [ecx+36]
  0001d	03 55 08	 add	 edx, DWORD PTR _Offset$[ebp]
  00020	89 55 f0	 mov	 DWORD PTR _hwParam$[ebp], edx

; 272  :     DWORD dwStatus = m_pDriver->SendCommand(IOCTL_DSDRV_READMEMORYWORD,
; 273  :                                             &hwParam,
; 274  :                                             sizeof(hwParam.dwAddress),
; 275  :                                             &wValue,
; 276  :                                             sizeof(wValue),
; 277  :                                             &dwReturnedLength);

  00023	8d 45 e8	 lea	 eax, DWORD PTR _dwReturnedLength$[ebp]
  00026	50		 push	 eax
  00027	6a 02		 push	 2
  00029	8d 4d fc	 lea	 ecx, DWORD PTR _wValue$[ebp]
  0002c	51		 push	 ecx
  0002d	6a 04		 push	 4
  0002f	8d 55 f0	 lea	 edx, DWORD PTR _hwParam$[ebp]
  00032	52		 push	 edx
  00033	68 3a 28 00 8d	 push	 -1929369542		; 8d00283aH
  00038	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  0003b	83 c1 28	 add	 ecx, 40			; 00000028H
  0003e	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCHardwareDriver@@@@QBEPAVCHardwareDriver@@XZ ; SmartPtr<CHardwareDriver>::operator->
  00043	8b c8		 mov	 ecx, eax
  00045	e8 00 00 00 00	 call	 ?SendCommand@CHardwareDriver@@QAEKKPAXK0KPAK@Z ; CHardwareDriver::SendCommand
  0004a	89 45 ec	 mov	 DWORD PTR _dwStatus$[ebp], eax

; 278  : 
; 279  :     if (dwStatus != ERROR_SUCCESS)

  0004d	83 7d ec 00	 cmp	 DWORD PTR _dwStatus$[ebp], 0
  00051	74 13		 je	 SHORT $LN1@ReadWord

; 280  :     {
; 281  :         LOG(1, _T("ReadMemoryWORD failed 0x%x"), dwStatus);

  00053	8b 45 ec	 mov	 eax, DWORD PTR _dwStatus$[ebp]
  00056	50		 push	 eax
  00057	68 00 00 00 00	 push	 OFFSET ??_C@_1DG@OKOAHHB@?$AAR?$AAe?$AAa?$AAd?$AAM?$AAe?$AAm?$AAo?$AAr?$AAy?$AAW?$AAO?$AAR?$AAD?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AA0?$AAx?$AA?$CF?$AAx?$AA?$AA@
  0005c	6a 01		 push	 1
  0005e	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00063	83 c4 0c	 add	 esp, 12			; 0000000cH
$LN1@ReadWord:

; 282  :     }
; 283  :     UnlockCard();

  00066	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00069	e8 00 00 00 00	 call	 ?UnlockCard@CPCICard@@QAEXXZ ; CPCICard::UnlockCard

; 284  :     return wValue;

  0006e	66 8b 45 fc	 mov	 ax, WORD PTR _wValue$[ebp]

; 285  : }

  00072	8b e5		 mov	 esp, ebp
  00074	5d		 pop	 ebp
  00075	c2 04 00	 ret	 4
?ReadWord@CPCICard@@QAEGK@Z ENDP			; CPCICard::ReadWord
_TEXT	ENDS
PUBLIC	?ReadByte@CPCICard@@QAEEK@Z			; CPCICard::ReadByte
; Function compile flags: /Odtp
;	COMDAT ?ReadByte@CPCICard@@QAEEK@Z
_TEXT	SEGMENT
_this$ = -28						; size = 4
_bValue$ = -21						; size = 1
_dwReturnedLength$ = -20				; size = 4
_dwStatus$ = -16					; size = 4
_hwParam$ = -12						; size = 12
_Offset$ = 8						; size = 4
?ReadByte@CPCICard@@QAEEK@Z PROC			; CPCICard::ReadByte, COMDAT
; _this$ = ecx

; 242  : {

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

; 243  :     LockCard();

  00009	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  0000c	e8 00 00 00 00	 call	 ?LockCard@CPCICard@@QAEXXZ ; CPCICard::LockCard

; 244  :     TDSDrvParam hwParam;
; 245  :     DWORD dwReturnedLength;
; 246  :     BYTE bValue(0);

  00011	c6 45 eb 00	 mov	 BYTE PTR _bValue$[ebp], 0

; 247  : 
; 248  :     hwParam.dwAddress = m_MemoryBase + Offset;

  00015	8b 45 e4	 mov	 eax, DWORD PTR _this$[ebp]
  00018	8b 48 24	 mov	 ecx, DWORD PTR [eax+36]
  0001b	03 4d 08	 add	 ecx, DWORD PTR _Offset$[ebp]
  0001e	89 4d f4	 mov	 DWORD PTR _hwParam$[ebp], ecx

; 249  :     DWORD dwStatus = m_pDriver->SendCommand(IOCTL_DSDRV_READMEMORYBYTE,
; 250  :                                             &hwParam,
; 251  :                                             sizeof(hwParam.dwAddress),
; 252  :                                             &bValue,
; 253  :                                             sizeof(bValue),
; 254  :                                             &dwReturnedLength);

  00021	8d 55 ec	 lea	 edx, DWORD PTR _dwReturnedLength$[ebp]
  00024	52		 push	 edx
  00025	6a 01		 push	 1
  00027	8d 45 eb	 lea	 eax, DWORD PTR _bValue$[ebp]
  0002a	50		 push	 eax
  0002b	6a 04		 push	 4
  0002d	8d 4d f4	 lea	 ecx, DWORD PTR _hwParam$[ebp]
  00030	51		 push	 ecx
  00031	68 42 28 00 8d	 push	 -1929369534		; 8d002842H
  00036	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00039	83 c1 28	 add	 ecx, 40			; 00000028H
  0003c	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCHardwareDriver@@@@QBEPAVCHardwareDriver@@XZ ; SmartPtr<CHardwareDriver>::operator->
  00041	8b c8		 mov	 ecx, eax
  00043	e8 00 00 00 00	 call	 ?SendCommand@CHardwareDriver@@QAEKKPAXK0KPAK@Z ; CHardwareDriver::SendCommand
  00048	89 45 f0	 mov	 DWORD PTR _dwStatus$[ebp], eax

; 255  : 
; 256  :     if (dwStatus != ERROR_SUCCESS)

  0004b	83 7d f0 00	 cmp	 DWORD PTR _dwStatus$[ebp], 0
  0004f	74 13		 je	 SHORT $LN1@ReadByte

; 257  :     {
; 258  :         LOG(1, _T("ReadMemoryBYTE failed 0x%x"), dwStatus);

  00051	8b 55 f0	 mov	 edx, DWORD PTR _dwStatus$[ebp]
  00054	52		 push	 edx
  00055	68 00 00 00 00	 push	 OFFSET ??_C@_1DG@EBHCMFMH@?$AAR?$AAe?$AAa?$AAd?$AAM?$AAe?$AAm?$AAo?$AAr?$AAy?$AAB?$AAY?$AAT?$AAE?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AA0?$AAx?$AA?$CF?$AAx?$AA?$AA@
  0005a	6a 01		 push	 1
  0005c	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00061	83 c4 0c	 add	 esp, 12			; 0000000cH
$LN1@ReadByte:

; 259  :     }
; 260  :     UnlockCard();

  00064	8b 4d e4	 mov	 ecx, DWORD PTR _this$[ebp]
  00067	e8 00 00 00 00	 call	 ?UnlockCard@CPCICard@@QAEXXZ ; CPCICard::UnlockCard

; 261  :     return bValue;

  0006c	8a 45 eb	 mov	 al, BYTE PTR _bValue$[ebp]

; 262  : }

  0006f	8b e5		 mov	 esp, ebp
  00071	5d		 pop	 ebp
  00072	c2 04 00	 ret	 4
?ReadByte@CPCICard@@QAEEK@Z ENDP			; CPCICard::ReadByte
_TEXT	ENDS
PUBLIC	?WriteDword@CPCICard@@QAEXKK@Z			; CPCICard::WriteDword
; Function compile flags: /Odtp
;	COMDAT ?WriteDword@CPCICard@@QAEXKK@Z
_TEXT	SEGMENT
_this$ = -20						; size = 4
_dwStatus$ = -16					; size = 4
_hwParam$ = -12						; size = 12
_Offset$ = 8						; size = 4
_Data$ = 12						; size = 4
?WriteDword@CPCICard@@QAEXKK@Z PROC			; CPCICard::WriteDword, COMDAT
; _this$ = ecx

; 223  : {

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

; 224  :     LockCard();

  00009	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  0000c	e8 00 00 00 00	 call	 ?LockCard@CPCICard@@QAEXXZ ; CPCICard::LockCard

; 225  :     TDSDrvParam hwParam;
; 226  : 
; 227  :     hwParam.dwAddress = m_MemoryBase + Offset;

  00011	8b 45 ec	 mov	 eax, DWORD PTR _this$[ebp]
  00014	8b 48 24	 mov	 ecx, DWORD PTR [eax+36]
  00017	03 4d 08	 add	 ecx, DWORD PTR _Offset$[ebp]
  0001a	89 4d f4	 mov	 DWORD PTR _hwParam$[ebp], ecx

; 228  :     hwParam.dwValue = Data;

  0001d	8b 55 0c	 mov	 edx, DWORD PTR _Data$[ebp]
  00020	89 55 f8	 mov	 DWORD PTR _hwParam$[ebp+4], edx

; 229  : 
; 230  :     DWORD dwStatus = m_pDriver->SendCommand(IOCTL_DSDRV_WRITEMEMORYDWORD,
; 231  :                                             &hwParam,
; 232  :                                             sizeof(hwParam));

  00023	6a 0c		 push	 12			; 0000000cH
  00025	8d 45 f4	 lea	 eax, DWORD PTR _hwParam$[ebp]
  00028	50		 push	 eax
  00029	68 35 28 00 8d	 push	 -1929369547		; 8d002835H
  0002e	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00031	83 c1 28	 add	 ecx, 40			; 00000028H
  00034	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCHardwareDriver@@@@QBEPAVCHardwareDriver@@XZ ; SmartPtr<CHardwareDriver>::operator->
  00039	8b c8		 mov	 ecx, eax
  0003b	e8 00 00 00 00	 call	 ?SendCommand@CHardwareDriver@@QAEKKPAXK@Z ; CHardwareDriver::SendCommand
  00040	89 45 f0	 mov	 DWORD PTR _dwStatus$[ebp], eax

; 233  : 
; 234  :     if (dwStatus != ERROR_SUCCESS)

  00043	83 7d f0 00	 cmp	 DWORD PTR _dwStatus$[ebp], 0
  00047	74 13		 je	 SHORT $LN1@WriteDword

; 235  :     {
; 236  :         LOG(1, _T("WriteMemoryDWORD failed 0x%x"), dwStatus);

  00049	8b 4d f0	 mov	 ecx, DWORD PTR _dwStatus$[ebp]
  0004c	51		 push	 ecx
  0004d	68 00 00 00 00	 push	 OFFSET ??_C@_1DK@NFIGMMIM@?$AAW?$AAr?$AAi?$AAt?$AAe?$AAM?$AAe?$AAm?$AAo?$AAr?$AAy?$AAD?$AAW?$AAO?$AAR?$AAD?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AA0?$AAx?$AA?$CF?$AAx?$AA?$AA@
  00052	6a 01		 push	 1
  00054	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00059	83 c4 0c	 add	 esp, 12			; 0000000cH
$LN1@WriteDword:

; 237  :     }
; 238  :     UnlockCard();

  0005c	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  0005f	e8 00 00 00 00	 call	 ?UnlockCard@CPCICard@@QAEXXZ ; CPCICard::UnlockCard

; 239  : }

  00064	8b e5		 mov	 esp, ebp
  00066	5d		 pop	 ebp
  00067	c2 08 00	 ret	 8
?WriteDword@CPCICard@@QAEXKK@Z ENDP			; CPCICard::WriteDword
_TEXT	ENDS
PUBLIC	?WriteWord@CPCICard@@QAEXKG@Z			; CPCICard::WriteWord
; Function compile flags: /Odtp
;	COMDAT ?WriteWord@CPCICard@@QAEXKG@Z
_TEXT	SEGMENT
_this$ = -20						; size = 4
_dwStatus$ = -16					; size = 4
_hwParam$ = -12						; size = 12
_Offset$ = 8						; size = 4
_Data$ = 12						; size = 2
?WriteWord@CPCICard@@QAEXKG@Z PROC			; CPCICard::WriteWord, COMDAT
; _this$ = ecx

; 204  : {

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

; 205  :     LockCard();

  00009	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  0000c	e8 00 00 00 00	 call	 ?LockCard@CPCICard@@QAEXXZ ; CPCICard::LockCard

; 206  :     TDSDrvParam hwParam;
; 207  : 
; 208  :     hwParam.dwAddress = m_MemoryBase + Offset;

  00011	8b 45 ec	 mov	 eax, DWORD PTR _this$[ebp]
  00014	8b 48 24	 mov	 ecx, DWORD PTR [eax+36]
  00017	03 4d 08	 add	 ecx, DWORD PTR _Offset$[ebp]
  0001a	89 4d f4	 mov	 DWORD PTR _hwParam$[ebp], ecx

; 209  :     hwParam.dwValue = Data;

  0001d	0f b7 55 0c	 movzx	 edx, WORD PTR _Data$[ebp]
  00021	89 55 f8	 mov	 DWORD PTR _hwParam$[ebp+4], edx

; 210  : 
; 211  :     DWORD dwStatus = m_pDriver->SendCommand(IOCTL_DSDRV_WRITEMEMORYWORD,
; 212  :                                             &hwParam,
; 213  :                                             sizeof(hwParam));

  00024	6a 0c		 push	 12			; 0000000cH
  00026	8d 45 f4	 lea	 eax, DWORD PTR _hwParam$[ebp]
  00029	50		 push	 eax
  0002a	68 3d 28 00 8d	 push	 -1929369539		; 8d00283dH
  0002f	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00032	83 c1 28	 add	 ecx, 40			; 00000028H
  00035	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCHardwareDriver@@@@QBEPAVCHardwareDriver@@XZ ; SmartPtr<CHardwareDriver>::operator->
  0003a	8b c8		 mov	 ecx, eax
  0003c	e8 00 00 00 00	 call	 ?SendCommand@CHardwareDriver@@QAEKKPAXK@Z ; CHardwareDriver::SendCommand
  00041	89 45 f0	 mov	 DWORD PTR _dwStatus$[ebp], eax

; 214  : 
; 215  :     if (dwStatus != ERROR_SUCCESS)

  00044	83 7d f0 00	 cmp	 DWORD PTR _dwStatus$[ebp], 0
  00048	74 13		 je	 SHORT $LN1@WriteWord

; 216  :     {
; 217  :         LOG(1, _T("WriteMemoryWORD failed 0x%x"), dwStatus);

  0004a	8b 4d f0	 mov	 ecx, DWORD PTR _dwStatus$[ebp]
  0004d	51		 push	 ecx
  0004e	68 00 00 00 00	 push	 OFFSET ??_C@_1DI@OIAHGFDN@?$AAW?$AAr?$AAi?$AAt?$AAe?$AAM?$AAe?$AAm?$AAo?$AAr?$AAy?$AAW?$AAO?$AAR?$AAD?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AA0?$AAx?$AA?$CF?$AAx?$AA?$AA@
  00053	6a 01		 push	 1
  00055	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  0005a	83 c4 0c	 add	 esp, 12			; 0000000cH
$LN1@WriteWord:

; 218  :     }
; 219  :     UnlockCard();

  0005d	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00060	e8 00 00 00 00	 call	 ?UnlockCard@CPCICard@@QAEXXZ ; CPCICard::UnlockCard

; 220  : }

  00065	8b e5		 mov	 esp, ebp
  00067	5d		 pop	 ebp
  00068	c2 08 00	 ret	 8
?WriteWord@CPCICard@@QAEXKG@Z ENDP			; CPCICard::WriteWord
_TEXT	ENDS
PUBLIC	?WriteByte@CPCICard@@QAEXKE@Z			; CPCICard::WriteByte
; Function compile flags: /Odtp
;	COMDAT ?WriteByte@CPCICard@@QAEXKE@Z
_TEXT	SEGMENT
_this$ = -20						; size = 4
_dwStatus$ = -16					; size = 4
_hwParam$ = -12						; size = 12
_Offset$ = 8						; size = 4
_Data$ = 12						; size = 1
?WriteByte@CPCICard@@QAEXKE@Z PROC			; CPCICard::WriteByte, COMDAT
; _this$ = ecx

; 185  : {

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

; 186  :     LockCard();

  00009	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  0000c	e8 00 00 00 00	 call	 ?LockCard@CPCICard@@QAEXXZ ; CPCICard::LockCard

; 187  :     TDSDrvParam hwParam;
; 188  : 
; 189  :     hwParam.dwAddress = m_MemoryBase + Offset;

  00011	8b 45 ec	 mov	 eax, DWORD PTR _this$[ebp]
  00014	8b 48 24	 mov	 ecx, DWORD PTR [eax+36]
  00017	03 4d 08	 add	 ecx, DWORD PTR _Offset$[ebp]
  0001a	89 4d f4	 mov	 DWORD PTR _hwParam$[ebp], ecx

; 190  :     hwParam.dwValue = Data;

  0001d	0f b6 55 0c	 movzx	 edx, BYTE PTR _Data$[ebp]
  00021	89 55 f8	 mov	 DWORD PTR _hwParam$[ebp+4], edx

; 191  : 
; 192  :     DWORD dwStatus = m_pDriver->SendCommand(IOCTL_DSDRV_WRITEMEMORYBYTE,
; 193  :                                             &hwParam,
; 194  :                                             sizeof(hwParam));

  00024	6a 0c		 push	 12			; 0000000cH
  00026	8d 45 f4	 lea	 eax, DWORD PTR _hwParam$[ebp]
  00029	50		 push	 eax
  0002a	68 45 28 00 8d	 push	 -1929369531		; 8d002845H
  0002f	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00032	83 c1 28	 add	 ecx, 40			; 00000028H
  00035	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCHardwareDriver@@@@QBEPAVCHardwareDriver@@XZ ; SmartPtr<CHardwareDriver>::operator->
  0003a	8b c8		 mov	 ecx, eax
  0003c	e8 00 00 00 00	 call	 ?SendCommand@CHardwareDriver@@QAEKKPAXK@Z ; CHardwareDriver::SendCommand
  00041	89 45 f0	 mov	 DWORD PTR _dwStatus$[ebp], eax

; 195  : 
; 196  :     if (dwStatus != ERROR_SUCCESS)

  00044	83 7d f0 00	 cmp	 DWORD PTR _dwStatus$[ebp], 0
  00048	74 13		 je	 SHORT $LN1@WriteByte

; 197  :     {
; 198  :         LOG(1, _T("WriteMemoryBYTE failed 0x%x"), dwStatus);

  0004a	8b 4d f0	 mov	 ecx, DWORD PTR _dwStatus$[ebp]
  0004d	51		 push	 ecx
  0004e	68 00 00 00 00	 push	 OFFSET ??_C@_1DI@KHNLKHIL@?$AAW?$AAr?$AAi?$AAt?$AAe?$AAM?$AAe?$AAm?$AAo?$AAr?$AAy?$AAB?$AAY?$AAT?$AAE?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AA0?$AAx?$AA?$CF?$AAx?$AA?$AA@
  00053	6a 01		 push	 1
  00055	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  0005a	83 c4 0c	 add	 esp, 12			; 0000000cH
$LN1@WriteByte:

; 199  :     }
; 200  :     UnlockCard();

  0005d	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00060	e8 00 00 00 00	 call	 ?UnlockCard@CPCICard@@QAEXXZ ; CPCICard::UnlockCard

; 201  : }

  00065	8b e5		 mov	 esp, ebp
  00067	5d		 pop	 ebp
  00068	c2 08 00	 ret	 8
?WriteByte@CPCICard@@QAEXKE@Z ENDP			; CPCICard::WriteByte
_TEXT	ENDS
PUBLIC	??0CPCICard@@IAE@V?$SmartPtr@VCHardwareDriver@@@@@Z ; CPCICard::CPCICard
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0CPCICard@@IAE@V?$SmartPtr@VCHardwareDriver@@@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0CPCICard@@IAE@V?$SmartPtr@VCHardwareDriver@@@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$??0CPCICard@@IAE@V?$SmartPtr@VCHardwareDriver@@@@@Z$1
__ehfuncinfo$??0CPCICard@@IAE@V?$SmartPtr@VCHardwareDriver@@@@@Z DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$??0CPCICard@@IAE@V?$SmartPtr@VCHardwareDriver@@@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0CPCICard@@IAE@V?$SmartPtr@VCHardwareDriver@@@@@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
_pDriver$ = 8						; size = 8
??0CPCICard@@IAE@V?$SmartPtr@VCHardwareDriver@@@@@Z PROC ; CPCICard::CPCICard, COMDAT
; _this$ = ecx

; 44   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0CPCICard@@IAE@V?$SmartPtr@VCHardwareDriver@@@@@Z
  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	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  00030	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], OFFSET ??_7CPCICard@@6B@
  00036	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00039	c7 41 04 00 00
	00 00		 mov	 DWORD PTR [ecx+4], 0
  00040	8b 55 f0	 mov	 edx, DWORD PTR _this$[ebp]
  00043	c7 42 0c 00 00
	00 00		 mov	 DWORD PTR [edx+12], 0
  0004a	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  0004d	c7 40 10 00 00
	00 00		 mov	 DWORD PTR [eax+16], 0
  00054	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00057	c7 41 14 00 00
	00 00		 mov	 DWORD PTR [ecx+20], 0
  0005e	8b 55 f0	 mov	 edx, DWORD PTR _this$[ebp]
  00061	c7 42 18 00 00
	00 00		 mov	 DWORD PTR [edx+24], 0
  00068	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  0006b	c7 40 1c 00 00
	00 00		 mov	 DWORD PTR [eax+28], 0
  00072	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00075	c7 41 20 00 00
	00 00		 mov	 DWORD PTR [ecx+32], 0
  0007c	8b 55 f0	 mov	 edx, DWORD PTR _this$[ebp]
  0007f	c7 42 24 00 00
	00 00		 mov	 DWORD PTR [edx+36], 0
  00086	8d 45 08	 lea	 eax, DWORD PTR _pDriver$[ebp]
  00089	50		 push	 eax
  0008a	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0008d	83 c1 28	 add	 ecx, 40			; 00000028H
  00090	e8 00 00 00 00	 call	 ??0?$SmartPtr@VCHardwareDriver@@@@QAE@ABV0@@Z ; SmartPtr<CHardwareDriver>::SmartPtr<CHardwareDriver>
  00095	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  00099	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0009c	c7 41 30 ff ff
	ff ff		 mov	 DWORD PTR [ecx+48], -1
  000a3	8b 55 f0	 mov	 edx, DWORD PTR _this$[ebp]
  000a6	c6 42 34 00	 mov	 BYTE PTR [edx+52], 0
  000aa	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  000ad	c7 40 38 00 00
	00 00		 mov	 DWORD PTR [eax+56], 0

; 45   :     InitializeCriticalSection(&m_CriticalSection);

  000b4	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  000b7	83 c1 3c	 add	 ecx, 60			; 0000003cH
  000ba	51		 push	 ecx
  000bb	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__InitializeCriticalSection@4

; 46   : }

  000c1	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  000c8	8d 4d 08	 lea	 ecx, DWORD PTR _pDriver$[ebp]
  000cb	e8 00 00 00 00	 call	 ??1?$SmartPtr@VCHardwareDriver@@@@QAE@XZ ; SmartPtr<CHardwareDriver>::~SmartPtr<CHardwareDriver>
  000d0	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  000d3	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  000d6	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000dd	59		 pop	 ecx
  000de	8b e5		 mov	 esp, ebp
  000e0	5d		 pop	 ebp
  000e1	c2 08 00	 ret	 8
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0CPCICard@@IAE@V?$SmartPtr@VCHardwareDriver@@@@@Z$0:
  00000	8d 4d 08	 lea	 ecx, DWORD PTR _pDriver$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VCHardwareDriver@@@@QAE@XZ ; SmartPtr<CHardwareDriver>::~SmartPtr<CHardwareDriver>
__unwindfunclet$??0CPCICard@@IAE@V?$SmartPtr@VCHardwareDriver@@@@@Z$1:
  00008	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0000b	83 c1 28	 add	 ecx, 40			; 00000028H
  0000e	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VCHardwareDriver@@@@QAE@XZ ; SmartPtr<CHardwareDriver>::~SmartPtr<CHardwareDriver>
__ehhandler$??0CPCICard@@IAE@V?$SmartPtr@VCHardwareDriver@@@@@Z:
  00013	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00017	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0001a	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  0001d	33 c8		 xor	 ecx, eax
  0001f	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00024	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0CPCICard@@IAE@V?$SmartPtr@VCHardwareDriver@@@@@Z
  00029	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0CPCICard@@IAE@V?$SmartPtr@VCHardwareDriver@@@@@Z ENDP ; CPCICard::CPCICard
PUBLIC	?SetACPIStatus@CPCICard@@AAEXH@Z		; CPCICard::SetACPIStatus
; Function compile flags: /Odtp
;	COMDAT ?SetACPIStatus@CPCICard@@AAEXH@Z
_TEXT	SEGMENT
_this$ = -8						; size = 4
_ACPIStatusNew$ = -1					; size = 1
_ACPIStatus$ = 8					; size = 4
?SetACPIStatus@CPCICard@@AAEXH@Z PROC			; CPCICard::SetACPIStatus, COMDAT
; _this$ = ecx

; 815  : {

  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

; 816  :     // only some cards are able to power down
; 817  :     if(!SupportsACPI())

  00009	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	8b 10		 mov	 edx, DWORD PTR [eax]
  0000e	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00011	8b 42 04	 mov	 eax, DWORD PTR [edx+4]
  00014	ff d0		 call	 eax
  00016	85 c0		 test	 eax, eax
  00018	75 05		 jne	 SHORT $LN3@SetACPISta

; 818  :     {
; 819  :         return;

  0001a	e9 a3 00 00 00	 jmp	 $LN4@SetACPISta
$LN3@SetACPISta:

; 820  :     }
; 821  : 
; 822  :     BYTE ACPIStatusNew = 0;

  0001f	c6 45 ff 00	 mov	 BYTE PTR _ACPIStatusNew$[ebp], 0

; 823  :     if(GetPCIConfigOffset(&ACPIStatusNew, 0x50, m_BusNumber, m_SlotNumber))

  00023	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00026	8b 51 10	 mov	 edx, DWORD PTR [ecx+16]
  00029	52		 push	 edx
  0002a	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  0002d	8b 48 0c	 mov	 ecx, DWORD PTR [eax+12]
  00030	51		 push	 ecx
  00031	6a 50		 push	 80			; 00000050H
  00033	8d 55 ff	 lea	 edx, DWORD PTR _ACPIStatusNew$[ebp]
  00036	52		 push	 edx
  00037	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0003a	e8 00 00 00 00	 call	 ?GetPCIConfigOffset@CPCICard@@QAEHPAEKKK@Z ; CPCICard::GetPCIConfigOffset
  0003f	85 c0		 test	 eax, eax
  00041	74 7f		 je	 SHORT $LN4@SetACPISta

; 824  :     {
; 825  :         ACPIStatusNew &= ~3;

  00043	0f b6 45 ff	 movzx	 eax, BYTE PTR _ACPIStatusNew$[ebp]
  00047	83 e0 fc	 and	 eax, -4			; fffffffcH
  0004a	88 45 ff	 mov	 BYTE PTR _ACPIStatusNew$[ebp], al

; 826  :         ACPIStatusNew |= ACPIStatus;

  0004d	0f b6 4d ff	 movzx	 ecx, BYTE PTR _ACPIStatusNew$[ebp]
  00051	0b 4d 08	 or	 ecx, DWORD PTR _ACPIStatus$[ebp]
  00054	88 4d ff	 mov	 BYTE PTR _ACPIStatusNew$[ebp], cl

; 827  : 
; 828  :         LOG(1, _T("Attempting to set Bus %d Card %d ACPI status to D%d"), m_BusNumber, m_SlotNumber, ACPIStatusNew);

  00057	0f b6 55 ff	 movzx	 edx, BYTE PTR _ACPIStatusNew$[ebp]
  0005b	52		 push	 edx
  0005c	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  0005f	8b 48 10	 mov	 ecx, DWORD PTR [eax+16]
  00062	51		 push	 ecx
  00063	8b 55 f8	 mov	 edx, DWORD PTR _this$[ebp]
  00066	8b 42 0c	 mov	 eax, DWORD PTR [edx+12]
  00069	50		 push	 eax
  0006a	68 00 00 00 00	 push	 OFFSET ??_C@_1GI@FBNOBCHH@?$AAA?$AAt?$AAt?$AAe?$AAm?$AAp?$AAt?$AAi?$AAn?$AAg?$AA?5?$AAt?$AAo?$AA?5?$AAs?$AAe?$AAt?$AA?5?$AAB?$AAu?$AAs?$AA?5?$AA?$CF?$AAd?$AA?5?$AAC?$AAa?$AAr?$AAd?$AA?5?$AA?$CF?$AAd@
  0006f	6a 01		 push	 1
  00071	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00076	83 c4 14	 add	 esp, 20			; 00000014H

; 829  : 
; 830  :         SetPCIConfigOffset(&ACPIStatusNew, 0x50, m_BusNumber, m_SlotNumber);

  00079	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0007c	8b 51 10	 mov	 edx, DWORD PTR [ecx+16]
  0007f	52		 push	 edx
  00080	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  00083	8b 48 0c	 mov	 ecx, DWORD PTR [eax+12]
  00086	51		 push	 ecx
  00087	6a 50		 push	 80			; 00000050H
  00089	8d 55 ff	 lea	 edx, DWORD PTR _ACPIStatusNew$[ebp]
  0008c	52		 push	 edx
  0008d	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00090	e8 00 00 00 00	 call	 ?SetPCIConfigOffset@CPCICard@@QAEHPAEKKK@Z ; CPCICard::SetPCIConfigOffset

; 831  : 
; 832  :         if(ACPIStatus == 0)

  00095	83 7d 08 00	 cmp	 DWORD PTR _ACPIStatus$[ebp], 0
  00099	75 18		 jne	 SHORT $LN1@SetACPISta

; 833  :         {
; 834  :             ::Sleep(500);

  0009b	68 f4 01 00 00	 push	 500			; 000001f4H
  000a0	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__Sleep@4

; 835  :             ResetChip();

  000a6	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  000a9	8b 10		 mov	 edx, DWORD PTR [eax]
  000ab	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  000ae	8b 42 08	 mov	 eax, DWORD PTR [edx+8]
  000b1	ff d0		 call	 eax
$LN1@SetACPISta:

; 836  :         }
; 837  :         LOG(1, _T("Set ACPI status complete"));

  000b3	68 00 00 00 00	 push	 OFFSET ??_C@_1DC@NCIEFMAC@?$AAS?$AAe?$AAt?$AA?5?$AAA?$AAC?$AAP?$AAI?$AA?5?$AAs?$AAt?$AAa?$AAt?$AAu?$AAs?$AA?5?$AAc?$AAo?$AAm?$AAp?$AAl?$AAe?$AAt?$AAe?$AA?$AA@
  000b8	6a 01		 push	 1
  000ba	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  000bf	83 c4 08	 add	 esp, 8
$LN4@SetACPISta:

; 838  :     }
; 839  : }

  000c2	8b e5		 mov	 esp, ebp
  000c4	5d		 pop	 ebp
  000c5	c2 04 00	 ret	 4
?SetACPIStatus@CPCICard@@AAEXH@Z ENDP			; CPCICard::SetACPIStatus
_TEXT	ENDS
PUBLIC	?GetACPIStatus@CPCICard@@AAEHXZ			; CPCICard::GetACPIStatus
; Function compile flags: /Odtp
;	COMDAT ?GetACPIStatus@CPCICard@@AAEHXZ
_TEXT	SEGMENT
_this$ = -8						; size = 4
_ACPIStatus$ = -1					; size = 1
?GetACPIStatus@CPCICard@@AAEHXZ PROC			; CPCICard::GetACPIStatus, COMDAT
; _this$ = ecx

; 794  : {

  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

; 795  :     // only some cards are able to power down
; 796  :     if(!SupportsACPI())

  00009	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	8b 10		 mov	 edx, DWORD PTR [eax]
  0000e	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00011	8b 42 04	 mov	 eax, DWORD PTR [edx+4]
  00014	ff d0		 call	 eax
  00016	85 c0		 test	 eax, eax
  00018	75 04		 jne	 SHORT $LN2@GetACPISta

; 797  :     {
; 798  :         return 0;

  0001a	33 c0		 xor	 eax, eax
  0001c	eb 58		 jmp	 SHORT $LN3@GetACPISta
$LN2@GetACPISta:

; 799  :     }
; 800  : 
; 801  :     BYTE ACPIStatus = 0;

  0001e	c6 45 ff 00	 mov	 BYTE PTR _ACPIStatus$[ebp], 0

; 802  :     if(GetPCIConfigOffset(&ACPIStatus, 0x50, m_BusNumber, m_SlotNumber))

  00022	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00025	8b 51 10	 mov	 edx, DWORD PTR [ecx+16]
  00028	52		 push	 edx
  00029	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  0002c	8b 48 0c	 mov	 ecx, DWORD PTR [eax+12]
  0002f	51		 push	 ecx
  00030	6a 50		 push	 80			; 00000050H
  00032	8d 55 ff	 lea	 edx, DWORD PTR _ACPIStatus$[ebp]
  00035	52		 push	 edx
  00036	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00039	e8 00 00 00 00	 call	 ?GetPCIConfigOffset@CPCICard@@QAEHPAEKKK@Z ; CPCICard::GetPCIConfigOffset
  0003e	85 c0		 test	 eax, eax
  00040	74 32		 je	 SHORT $LN1@GetACPISta

; 803  :     {
; 804  :         ACPIStatus = ACPIStatus & 3;

  00042	0f b6 45 ff	 movzx	 eax, BYTE PTR _ACPIStatus$[ebp]
  00046	83 e0 03	 and	 eax, 3
  00049	88 45 ff	 mov	 BYTE PTR _ACPIStatus$[ebp], al

; 805  : 
; 806  :         LOG(1, _T("Bus %d Card %d ACPI status: D%d"), m_BusNumber, m_SlotNumber, ACPIStatus);

  0004c	0f b6 4d ff	 movzx	 ecx, BYTE PTR _ACPIStatus$[ebp]
  00050	51		 push	 ecx
  00051	8b 55 f8	 mov	 edx, DWORD PTR _this$[ebp]
  00054	8b 42 10	 mov	 eax, DWORD PTR [edx+16]
  00057	50		 push	 eax
  00058	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0005b	8b 51 0c	 mov	 edx, DWORD PTR [ecx+12]
  0005e	52		 push	 edx
  0005f	68 00 00 00 00	 push	 OFFSET ??_C@_1EA@JJINBDPA@?$AAB?$AAu?$AAs?$AA?5?$AA?$CF?$AAd?$AA?5?$AAC?$AAa?$AAr?$AAd?$AA?5?$AA?$CF?$AAd?$AA?5?$AAA?$AAC?$AAP?$AAI?$AA?5?$AAs?$AAt?$AAa?$AAt?$AAu?$AAs?$AA?3?$AA?5?$AAD?$AA?$CF?$AAd?$AA?$AA@
  00064	6a 01		 push	 1
  00066	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  0006b	83 c4 14	 add	 esp, 20			; 00000014H

; 807  :         return ACPIStatus;

  0006e	0f b6 45 ff	 movzx	 eax, BYTE PTR _ACPIStatus$[ebp]
  00072	eb 02		 jmp	 SHORT $LN3@GetACPISta
$LN1@GetACPISta:

; 808  :     }
; 809  : 
; 810  :     return 0;

  00074	33 c0		 xor	 eax, eax
$LN3@GetACPISta:

; 811  : }

  00076	8b e5		 mov	 esp, ebp
  00078	5d		 pop	 ebp
  00079	c3		 ret	 0
?GetACPIStatus@CPCICard@@AAEHXZ ENDP			; CPCICard::GetACPIStatus
_TEXT	ENDS
PUBLIC	?ManageByte@CPCICard@@IAEXK@Z			; CPCICard::ManageByte
; Function compile flags: /Odtp
;	COMDAT ?ManageByte@CPCICard@@IAEXK@Z
_TEXT	SEGMENT
_this$ = -20						; size = 4
_BytesWritten$141592 = -16				; size = 4
_WriteData$141591 = -9					; size = 1
_BytesRead$141586 = -8					; size = 4
_ReadData$141585 = -1					; size = 1
_Offset$ = 8						; size = 4
?ManageByte@CPCICard@@IAEXK@Z PROC			; CPCICard::ManageByte, COMDAT
; _this$ = ecx

; 766  : {

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

; 767  :     if(m_hStateFile != INVALID_HANDLE_VALUE)

  00009	8b 45 ec	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	83 78 30 ff	 cmp	 DWORD PTR [eax+48], -1
  00010	74 7b		 je	 SHORT $LN5@ManageByte@3

; 768  :     {
; 769  :         if(m_bStateIsReading)

  00012	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00015	0f b6 51 34	 movzx	 edx, BYTE PTR [ecx+52]
  00019	85 d2		 test	 edx, edx
  0001b	74 3d		 je	 SHORT $LN3@ManageByte@3

; 770  :         {
; 771  :             BYTE ReadData(0);

  0001d	c6 45 ff 00	 mov	 BYTE PTR _ReadData$141585[ebp], 0

; 772  :             DWORD BytesRead(0);

  00021	c7 45 f8 00 00
	00 00		 mov	 DWORD PTR _BytesRead$141586[ebp], 0

; 773  :             ReadFile(m_hStateFile, &ReadData, sizeof(BYTE), &BytesRead, NULL);

  00028	6a 00		 push	 0
  0002a	8d 45 f8	 lea	 eax, DWORD PTR _BytesRead$141586[ebp]
  0002d	50		 push	 eax
  0002e	6a 01		 push	 1
  00030	8d 4d ff	 lea	 ecx, DWORD PTR _ReadData$141585[ebp]
  00033	51		 push	 ecx
  00034	8b 55 ec	 mov	 edx, DWORD PTR _this$[ebp]
  00037	8b 42 30	 mov	 eax, DWORD PTR [edx+48]
  0003a	50		 push	 eax
  0003b	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__ReadFile@20

; 774  :             if(BytesRead == sizeof(BYTE))

  00041	83 7d f8 01	 cmp	 DWORD PTR _BytesRead$141586[ebp], 1
  00045	75 11		 jne	 SHORT $LN2@ManageByte@3

; 775  :             {
; 776  :                 WriteByte(Offset, ReadData);

  00047	0f b6 4d ff	 movzx	 ecx, BYTE PTR _ReadData$141585[ebp]
  0004b	51		 push	 ecx
  0004c	8b 55 08	 mov	 edx, DWORD PTR _Offset$[ebp]
  0004f	52		 push	 edx
  00050	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00053	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte
$LN2@ManageByte@3:

; 777  :             }
; 778  :         }
; 779  :         else

  00058	eb 33		 jmp	 SHORT $LN5@ManageByte@3
$LN3@ManageByte@3:

; 780  :         {
; 781  :             BYTE WriteData(0);

  0005a	c6 45 f7 00	 mov	 BYTE PTR _WriteData$141591[ebp], 0

; 782  :             DWORD BytesWritten(0);

  0005e	c7 45 f0 00 00
	00 00		 mov	 DWORD PTR _BytesWritten$141592[ebp], 0

; 783  : 
; 784  :             WriteData = ReadByte(Offset);

  00065	8b 45 08	 mov	 eax, DWORD PTR _Offset$[ebp]
  00068	50		 push	 eax
  00069	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  0006c	e8 00 00 00 00	 call	 ?ReadByte@CPCICard@@QAEEK@Z ; CPCICard::ReadByte
  00071	88 45 f7	 mov	 BYTE PTR _WriteData$141591[ebp], al

; 785  :             WriteFile(m_hStateFile, &WriteData, sizeof(BYTE), &BytesWritten, NULL);

  00074	6a 00		 push	 0
  00076	8d 4d f0	 lea	 ecx, DWORD PTR _BytesWritten$141592[ebp]
  00079	51		 push	 ecx
  0007a	6a 01		 push	 1
  0007c	8d 55 f7	 lea	 edx, DWORD PTR _WriteData$141591[ebp]
  0007f	52		 push	 edx
  00080	8b 45 ec	 mov	 eax, DWORD PTR _this$[ebp]
  00083	8b 48 30	 mov	 ecx, DWORD PTR [eax+48]
  00086	51		 push	 ecx
  00087	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__WriteFile@20
$LN5@ManageByte@3:

; 786  :         }
; 787  :     }
; 788  : }

  0008d	8b e5		 mov	 esp, ebp
  0008f	5d		 pop	 ebp
  00090	c2 04 00	 ret	 4
?ManageByte@CPCICard@@IAEXK@Z ENDP			; CPCICard::ManageByte
_TEXT	ENDS
PUBLIC	?ManageWord@CPCICard@@IAEXK@Z			; CPCICard::ManageWord
; Function compile flags: /Odtp
;	COMDAT ?ManageWord@CPCICard@@IAEXK@Z
_TEXT	SEGMENT
_this$ = -20						; size = 4
_BytesWritten$141575 = -16				; size = 4
_WriteData$141574 = -12					; size = 2
_BytesRead$141569 = -8					; size = 4
_ReadData$141568 = -4					; size = 2
_Offset$ = 8						; size = 4
?ManageWord@CPCICard@@IAEXK@Z PROC			; CPCICard::ManageWord, COMDAT
; _this$ = ecx

; 741  : {

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

; 742  :     if(m_hStateFile != INVALID_HANDLE_VALUE)

  00009	8b 45 ec	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	83 78 30 ff	 cmp	 DWORD PTR [eax+48], -1
  00010	0f 84 80 00 00
	00		 je	 $LN5@ManageWord

; 743  :     {
; 744  :         if(m_bStateIsReading)

  00016	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00019	0f b6 51 34	 movzx	 edx, BYTE PTR [ecx+52]
  0001d	85 d2		 test	 edx, edx
  0001f	74 3f		 je	 SHORT $LN3@ManageWord

; 745  :         {
; 746  :             WORD ReadData(0);

  00021	33 c0		 xor	 eax, eax
  00023	66 89 45 fc	 mov	 WORD PTR _ReadData$141568[ebp], ax

; 747  :             DWORD BytesRead(0);

  00027	c7 45 f8 00 00
	00 00		 mov	 DWORD PTR _BytesRead$141569[ebp], 0

; 748  :             ReadFile(m_hStateFile, &ReadData, sizeof(WORD), &BytesRead, NULL);

  0002e	6a 00		 push	 0
  00030	8d 4d f8	 lea	 ecx, DWORD PTR _BytesRead$141569[ebp]
  00033	51		 push	 ecx
  00034	6a 02		 push	 2
  00036	8d 55 fc	 lea	 edx, DWORD PTR _ReadData$141568[ebp]
  00039	52		 push	 edx
  0003a	8b 45 ec	 mov	 eax, DWORD PTR _this$[ebp]
  0003d	8b 48 30	 mov	 ecx, DWORD PTR [eax+48]
  00040	51		 push	 ecx
  00041	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__ReadFile@20

; 749  :             if(BytesRead == sizeof(WORD))

  00047	83 7d f8 02	 cmp	 DWORD PTR _BytesRead$141569[ebp], 2
  0004b	75 11		 jne	 SHORT $LN2@ManageWord

; 750  :             {
; 751  :                 WriteWord(Offset, ReadData);

  0004d	0f b7 55 fc	 movzx	 edx, WORD PTR _ReadData$141568[ebp]
  00051	52		 push	 edx
  00052	8b 45 08	 mov	 eax, DWORD PTR _Offset$[ebp]
  00055	50		 push	 eax
  00056	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00059	e8 00 00 00 00	 call	 ?WriteWord@CPCICard@@QAEXKG@Z ; CPCICard::WriteWord
$LN2@ManageWord:

; 752  :             }
; 753  :         }
; 754  :         else

  0005e	eb 36		 jmp	 SHORT $LN5@ManageWord
$LN3@ManageWord:

; 755  :         {
; 756  :             WORD WriteData(0);

  00060	33 c9		 xor	 ecx, ecx
  00062	66 89 4d f4	 mov	 WORD PTR _WriteData$141574[ebp], cx

; 757  :             DWORD BytesWritten(0);

  00066	c7 45 f0 00 00
	00 00		 mov	 DWORD PTR _BytesWritten$141575[ebp], 0

; 758  : 
; 759  :             WriteData = ReadWord(Offset);

  0006d	8b 55 08	 mov	 edx, DWORD PTR _Offset$[ebp]
  00070	52		 push	 edx
  00071	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00074	e8 00 00 00 00	 call	 ?ReadWord@CPCICard@@QAEGK@Z ; CPCICard::ReadWord
  00079	66 89 45 f4	 mov	 WORD PTR _WriteData$141574[ebp], ax

; 760  :             WriteFile(m_hStateFile, &WriteData, sizeof(WORD), &BytesWritten, NULL);

  0007d	6a 00		 push	 0
  0007f	8d 45 f0	 lea	 eax, DWORD PTR _BytesWritten$141575[ebp]
  00082	50		 push	 eax
  00083	6a 02		 push	 2
  00085	8d 4d f4	 lea	 ecx, DWORD PTR _WriteData$141574[ebp]
  00088	51		 push	 ecx
  00089	8b 55 ec	 mov	 edx, DWORD PTR _this$[ebp]
  0008c	8b 42 30	 mov	 eax, DWORD PTR [edx+48]
  0008f	50		 push	 eax
  00090	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__WriteFile@20
$LN5@ManageWord:

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

  00096	8b e5		 mov	 esp, ebp
  00098	5d		 pop	 ebp
  00099	c2 04 00	 ret	 4
?ManageWord@CPCICard@@IAEXK@Z ENDP			; CPCICard::ManageWord
_TEXT	ENDS
PUBLIC	?ManageDword@CPCICard@@IAEXK@Z			; CPCICard::ManageDword
; Function compile flags: /Odtp
;	COMDAT ?ManageDword@CPCICard@@IAEXK@Z
_TEXT	SEGMENT
_this$ = -20						; size = 4
_BytesWritten$141558 = -16				; size = 4
_WriteData$141557 = -12					; size = 4
_BytesRead$141552 = -8					; size = 4
_ReadData$141551 = -4					; size = 4
_Offset$ = 8						; size = 4
?ManageDword@CPCICard@@IAEXK@Z PROC			; CPCICard::ManageDword, COMDAT
; _this$ = ecx

; 716  : {

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

; 717  :     if(m_hStateFile != INVALID_HANDLE_VALUE)

  00009	8b 45 ec	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	83 78 30 ff	 cmp	 DWORD PTR [eax+48], -1
  00010	0f 84 80 00 00
	00		 je	 $LN5@ManageDwor

; 718  :     {
; 719  :         if(m_bStateIsReading)

  00016	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00019	0f b6 51 34	 movzx	 edx, BYTE PTR [ecx+52]
  0001d	85 d2		 test	 edx, edx
  0001f	74 3f		 je	 SHORT $LN3@ManageDwor

; 720  :         {
; 721  :             DWORD ReadData(0);

  00021	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _ReadData$141551[ebp], 0

; 722  :             DWORD BytesRead(0);

  00028	c7 45 f8 00 00
	00 00		 mov	 DWORD PTR _BytesRead$141552[ebp], 0

; 723  :             ReadFile(m_hStateFile, &ReadData, sizeof(DWORD), &BytesRead, NULL);

  0002f	6a 00		 push	 0
  00031	8d 45 f8	 lea	 eax, DWORD PTR _BytesRead$141552[ebp]
  00034	50		 push	 eax
  00035	6a 04		 push	 4
  00037	8d 4d fc	 lea	 ecx, DWORD PTR _ReadData$141551[ebp]
  0003a	51		 push	 ecx
  0003b	8b 55 ec	 mov	 edx, DWORD PTR _this$[ebp]
  0003e	8b 42 30	 mov	 eax, DWORD PTR [edx+48]
  00041	50		 push	 eax
  00042	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__ReadFile@20

; 724  :             if(BytesRead == sizeof(DWORD))

  00048	83 7d f8 04	 cmp	 DWORD PTR _BytesRead$141552[ebp], 4
  0004c	75 10		 jne	 SHORT $LN2@ManageDwor

; 725  :             {
; 726  :                 WriteDword(Offset, ReadData);

  0004e	8b 4d fc	 mov	 ecx, DWORD PTR _ReadData$141551[ebp]
  00051	51		 push	 ecx
  00052	8b 55 08	 mov	 edx, DWORD PTR _Offset$[ebp]
  00055	52		 push	 edx
  00056	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00059	e8 00 00 00 00	 call	 ?WriteDword@CPCICard@@QAEXKK@Z ; CPCICard::WriteDword
$LN2@ManageDwor:

; 727  :             }
; 728  :         }
; 729  :         else

  0005e	eb 36		 jmp	 SHORT $LN5@ManageDwor
$LN3@ManageDwor:

; 730  :         {
; 731  :             DWORD WriteData(0);

  00060	c7 45 f4 00 00
	00 00		 mov	 DWORD PTR _WriteData$141557[ebp], 0

; 732  :             DWORD BytesWritten(0);

  00067	c7 45 f0 00 00
	00 00		 mov	 DWORD PTR _BytesWritten$141558[ebp], 0

; 733  : 
; 734  :             WriteData = ReadDword(Offset);

  0006e	8b 45 08	 mov	 eax, DWORD PTR _Offset$[ebp]
  00071	50		 push	 eax
  00072	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00075	e8 00 00 00 00	 call	 ?ReadDword@CPCICard@@QAEKK@Z ; CPCICard::ReadDword
  0007a	89 45 f4	 mov	 DWORD PTR _WriteData$141557[ebp], eax

; 735  :             WriteFile(m_hStateFile, &WriteData, sizeof(DWORD), &BytesWritten, NULL);

  0007d	6a 00		 push	 0
  0007f	8d 4d f0	 lea	 ecx, DWORD PTR _BytesWritten$141558[ebp]
  00082	51		 push	 ecx
  00083	6a 04		 push	 4
  00085	8d 55 f4	 lea	 edx, DWORD PTR _WriteData$141557[ebp]
  00088	52		 push	 edx
  00089	8b 45 ec	 mov	 eax, DWORD PTR _this$[ebp]
  0008c	8b 48 30	 mov	 ecx, DWORD PTR [eax+48]
  0008f	51		 push	 ecx
  00090	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__WriteFile@20
$LN5@ManageDwor:

; 736  :         }
; 737  :     }
; 738  : }

  00096	8b e5		 mov	 esp, ebp
  00098	5d		 pop	 ebp
  00099	c2 04 00	 ret	 4
?ManageDword@CPCICard@@IAEXK@Z ENDP			; CPCICard::ManageDword
_TEXT	ENDS
PUBLIC	?OrDataDword@CPCICard@@QAEXKK@Z			; CPCICard::OrDataDword
; Function compile flags: /Odtp
;	COMDAT ?OrDataDword@CPCICard@@QAEXKK@Z
_TEXT	SEGMENT
_this$ = -8						; size = 4
_Result$ = -4						; size = 4
_Offset$ = 8						; size = 4
_Data$ = 12						; size = 4
?OrDataDword@CPCICard@@QAEXKK@Z PROC			; CPCICard::OrDataDword, COMDAT
; _this$ = ecx

; 515  : {

  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

; 516  :     LockCard();

  00009	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0000c	e8 00 00 00 00	 call	 ?LockCard@CPCICard@@QAEXXZ ; CPCICard::LockCard

; 517  :     DWORD Result(ReadDword(Offset));

  00011	8b 45 08	 mov	 eax, DWORD PTR _Offset$[ebp]
  00014	50		 push	 eax
  00015	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00018	e8 00 00 00 00	 call	 ?ReadDword@CPCICard@@QAEKK@Z ; CPCICard::ReadDword
  0001d	89 45 fc	 mov	 DWORD PTR _Result$[ebp], eax

; 518  :     Result |= Data;

  00020	8b 4d fc	 mov	 ecx, DWORD PTR _Result$[ebp]
  00023	0b 4d 0c	 or	 ecx, DWORD PTR _Data$[ebp]
  00026	89 4d fc	 mov	 DWORD PTR _Result$[ebp], ecx

; 519  :     WriteDword(Offset, Result);

  00029	8b 55 fc	 mov	 edx, DWORD PTR _Result$[ebp]
  0002c	52		 push	 edx
  0002d	8b 45 08	 mov	 eax, DWORD PTR _Offset$[ebp]
  00030	50		 push	 eax
  00031	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00034	e8 00 00 00 00	 call	 ?WriteDword@CPCICard@@QAEXKK@Z ; CPCICard::WriteDword

; 520  :     UnlockCard();

  00039	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0003c	e8 00 00 00 00	 call	 ?UnlockCard@CPCICard@@QAEXXZ ; CPCICard::UnlockCard

; 521  : }

  00041	8b e5		 mov	 esp, ebp
  00043	5d		 pop	 ebp
  00044	c2 08 00	 ret	 8
?OrDataDword@CPCICard@@QAEXKK@Z ENDP			; CPCICard::OrDataDword
_TEXT	ENDS
PUBLIC	?OrDataWord@CPCICard@@QAEXKG@Z			; CPCICard::OrDataWord
; Function compile flags: /Odtp
;	COMDAT ?OrDataWord@CPCICard@@QAEXKG@Z
_TEXT	SEGMENT
_this$ = -8						; size = 4
_Result$ = -4						; size = 2
_Offset$ = 8						; size = 4
_Data$ = 12						; size = 2
?OrDataWord@CPCICard@@QAEXKG@Z PROC			; CPCICard::OrDataWord, COMDAT
; _this$ = ecx

; 506  : {

  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

; 507  :     LockCard();

  00009	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0000c	e8 00 00 00 00	 call	 ?LockCard@CPCICard@@QAEXXZ ; CPCICard::LockCard

; 508  :     WORD Result(ReadWord(Offset));

  00011	8b 45 08	 mov	 eax, DWORD PTR _Offset$[ebp]
  00014	50		 push	 eax
  00015	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00018	e8 00 00 00 00	 call	 ?ReadWord@CPCICard@@QAEGK@Z ; CPCICard::ReadWord
  0001d	66 89 45 fc	 mov	 WORD PTR _Result$[ebp], ax

; 509  :     Result |= Data;

  00021	0f b7 4d 0c	 movzx	 ecx, WORD PTR _Data$[ebp]
  00025	0f b7 55 fc	 movzx	 edx, WORD PTR _Result$[ebp]
  00029	0b d1		 or	 edx, ecx
  0002b	66 89 55 fc	 mov	 WORD PTR _Result$[ebp], dx

; 510  :     WriteWord(Offset, Result);

  0002f	0f b7 45 fc	 movzx	 eax, WORD PTR _Result$[ebp]
  00033	50		 push	 eax
  00034	8b 4d 08	 mov	 ecx, DWORD PTR _Offset$[ebp]
  00037	51		 push	 ecx
  00038	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0003b	e8 00 00 00 00	 call	 ?WriteWord@CPCICard@@QAEXKG@Z ; CPCICard::WriteWord

; 511  :     UnlockCard();

  00040	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00043	e8 00 00 00 00	 call	 ?UnlockCard@CPCICard@@QAEXXZ ; CPCICard::UnlockCard

; 512  : }

  00048	8b e5		 mov	 esp, ebp
  0004a	5d		 pop	 ebp
  0004b	c2 08 00	 ret	 8
?OrDataWord@CPCICard@@QAEXKG@Z ENDP			; CPCICard::OrDataWord
_TEXT	ENDS
PUBLIC	?OrDataByte@CPCICard@@QAEXKE@Z			; CPCICard::OrDataByte
; Function compile flags: /Odtp
;	COMDAT ?OrDataByte@CPCICard@@QAEXKE@Z
_TEXT	SEGMENT
_this$ = -8						; size = 4
_Result$ = -1						; size = 1
_Offset$ = 8						; size = 4
_Data$ = 12						; size = 1
?OrDataByte@CPCICard@@QAEXKE@Z PROC			; CPCICard::OrDataByte, COMDAT
; _this$ = ecx

; 497  : {

  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

; 498  :     LockCard();

  00009	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0000c	e8 00 00 00 00	 call	 ?LockCard@CPCICard@@QAEXXZ ; CPCICard::LockCard

; 499  :     BYTE Result(ReadByte(Offset));

  00011	8b 45 08	 mov	 eax, DWORD PTR _Offset$[ebp]
  00014	50		 push	 eax
  00015	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00018	e8 00 00 00 00	 call	 ?ReadByte@CPCICard@@QAEEK@Z ; CPCICard::ReadByte
  0001d	88 45 ff	 mov	 BYTE PTR _Result$[ebp], al

; 500  :     Result |= Data;

  00020	0f b6 4d 0c	 movzx	 ecx, BYTE PTR _Data$[ebp]
  00024	0f b6 55 ff	 movzx	 edx, BYTE PTR _Result$[ebp]
  00028	0b d1		 or	 edx, ecx
  0002a	88 55 ff	 mov	 BYTE PTR _Result$[ebp], dl

; 501  :     WriteByte(Offset, Result);

  0002d	0f b6 45 ff	 movzx	 eax, BYTE PTR _Result$[ebp]
  00031	50		 push	 eax
  00032	8b 4d 08	 mov	 ecx, DWORD PTR _Offset$[ebp]
  00035	51		 push	 ecx
  00036	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00039	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 502  :     UnlockCard();

  0003e	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00041	e8 00 00 00 00	 call	 ?UnlockCard@CPCICard@@QAEXXZ ; CPCICard::UnlockCard

; 503  : }

  00046	8b e5		 mov	 esp, ebp
  00048	5d		 pop	 ebp
  00049	c2 08 00	 ret	 8
?OrDataByte@CPCICard@@QAEXKE@Z ENDP			; CPCICard::OrDataByte
_TEXT	ENDS
PUBLIC	?AndDataDword@CPCICard@@QAEXKK@Z		; CPCICard::AndDataDword
; Function compile flags: /Odtp
;	COMDAT ?AndDataDword@CPCICard@@QAEXKK@Z
_TEXT	SEGMENT
_this$ = -8						; size = 4
_Result$ = -4						; size = 4
_Offset$ = 8						; size = 4
_Data$ = 12						; size = 4
?AndDataDword@CPCICard@@QAEXKK@Z PROC			; CPCICard::AndDataDword, COMDAT
; _this$ = ecx

; 488  : {

  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

; 489  :     LockCard();

  00009	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0000c	e8 00 00 00 00	 call	 ?LockCard@CPCICard@@QAEXXZ ; CPCICard::LockCard

; 490  :     DWORD Result(ReadDword(Offset));

  00011	8b 45 08	 mov	 eax, DWORD PTR _Offset$[ebp]
  00014	50		 push	 eax
  00015	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00018	e8 00 00 00 00	 call	 ?ReadDword@CPCICard@@QAEKK@Z ; CPCICard::ReadDword
  0001d	89 45 fc	 mov	 DWORD PTR _Result$[ebp], eax

; 491  :     Result &= Data;

  00020	8b 4d fc	 mov	 ecx, DWORD PTR _Result$[ebp]
  00023	23 4d 0c	 and	 ecx, DWORD PTR _Data$[ebp]
  00026	89 4d fc	 mov	 DWORD PTR _Result$[ebp], ecx

; 492  :     WriteDword(Offset, Result);

  00029	8b 55 fc	 mov	 edx, DWORD PTR _Result$[ebp]
  0002c	52		 push	 edx
  0002d	8b 45 08	 mov	 eax, DWORD PTR _Offset$[ebp]
  00030	50		 push	 eax
  00031	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00034	e8 00 00 00 00	 call	 ?WriteDword@CPCICard@@QAEXKK@Z ; CPCICard::WriteDword

; 493  :     UnlockCard();

  00039	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0003c	e8 00 00 00 00	 call	 ?UnlockCard@CPCICard@@QAEXXZ ; CPCICard::UnlockCard

; 494  : }

  00041	8b e5		 mov	 esp, ebp
  00043	5d		 pop	 ebp
  00044	c2 08 00	 ret	 8
?AndDataDword@CPCICard@@QAEXKK@Z ENDP			; CPCICard::AndDataDword
_TEXT	ENDS
PUBLIC	?AndDataWord@CPCICard@@QAEXKG@Z			; CPCICard::AndDataWord
; Function compile flags: /Odtp
;	COMDAT ?AndDataWord@CPCICard@@QAEXKG@Z
_TEXT	SEGMENT
_this$ = -8						; size = 4
_Result$ = -4						; size = 2
_Offset$ = 8						; size = 4
_Data$ = 12						; size = 2
?AndDataWord@CPCICard@@QAEXKG@Z PROC			; CPCICard::AndDataWord, COMDAT
; _this$ = ecx

; 479  : {

  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

; 480  :     LockCard();

  00009	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0000c	e8 00 00 00 00	 call	 ?LockCard@CPCICard@@QAEXXZ ; CPCICard::LockCard

; 481  :     WORD Result(ReadWord(Offset));

  00011	8b 45 08	 mov	 eax, DWORD PTR _Offset$[ebp]
  00014	50		 push	 eax
  00015	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00018	e8 00 00 00 00	 call	 ?ReadWord@CPCICard@@QAEGK@Z ; CPCICard::ReadWord
  0001d	66 89 45 fc	 mov	 WORD PTR _Result$[ebp], ax

; 482  :     Result &= Data;

  00021	0f b7 4d 0c	 movzx	 ecx, WORD PTR _Data$[ebp]
  00025	0f b7 55 fc	 movzx	 edx, WORD PTR _Result$[ebp]
  00029	23 d1		 and	 edx, ecx
  0002b	66 89 55 fc	 mov	 WORD PTR _Result$[ebp], dx

; 483  :     WriteWord(Offset, Result);

  0002f	0f b7 45 fc	 movzx	 eax, WORD PTR _Result$[ebp]
  00033	50		 push	 eax
  00034	8b 4d 08	 mov	 ecx, DWORD PTR _Offset$[ebp]
  00037	51		 push	 ecx
  00038	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0003b	e8 00 00 00 00	 call	 ?WriteWord@CPCICard@@QAEXKG@Z ; CPCICard::WriteWord

; 484  :     UnlockCard();

  00040	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00043	e8 00 00 00 00	 call	 ?UnlockCard@CPCICard@@QAEXXZ ; CPCICard::UnlockCard

; 485  : }

  00048	8b e5		 mov	 esp, ebp
  0004a	5d		 pop	 ebp
  0004b	c2 08 00	 ret	 8
?AndDataWord@CPCICard@@QAEXKG@Z ENDP			; CPCICard::AndDataWord
_TEXT	ENDS
PUBLIC	?AndDataByte@CPCICard@@QAEXKE@Z			; CPCICard::AndDataByte
; Function compile flags: /Odtp
;	COMDAT ?AndDataByte@CPCICard@@QAEXKE@Z
_TEXT	SEGMENT
_this$ = -8						; size = 4
_Result$ = -1						; size = 1
_Offset$ = 8						; size = 4
_Data$ = 12						; size = 1
?AndDataByte@CPCICard@@QAEXKE@Z PROC			; CPCICard::AndDataByte, COMDAT
; _this$ = ecx

; 470  : {

  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

; 471  :     LockCard();

  00009	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0000c	e8 00 00 00 00	 call	 ?LockCard@CPCICard@@QAEXXZ ; CPCICard::LockCard

; 472  :     BYTE Result(ReadByte(Offset));

  00011	8b 45 08	 mov	 eax, DWORD PTR _Offset$[ebp]
  00014	50		 push	 eax
  00015	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00018	e8 00 00 00 00	 call	 ?ReadByte@CPCICard@@QAEEK@Z ; CPCICard::ReadByte
  0001d	88 45 ff	 mov	 BYTE PTR _Result$[ebp], al

; 473  :     Result &= Data;

  00020	0f b6 4d 0c	 movzx	 ecx, BYTE PTR _Data$[ebp]
  00024	0f b6 55 ff	 movzx	 edx, BYTE PTR _Result$[ebp]
  00028	23 d1		 and	 edx, ecx
  0002a	88 55 ff	 mov	 BYTE PTR _Result$[ebp], dl

; 474  :     WriteByte(Offset, Result);

  0002d	0f b6 45 ff	 movzx	 eax, BYTE PTR _Result$[ebp]
  00031	50		 push	 eax
  00032	8b 4d 08	 mov	 ecx, DWORD PTR _Offset$[ebp]
  00035	51		 push	 ecx
  00036	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00039	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 475  :     UnlockCard();

  0003e	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00041	e8 00 00 00 00	 call	 ?UnlockCard@CPCICard@@QAEXXZ ; CPCICard::UnlockCard

; 476  : }

  00046	8b e5		 mov	 esp, ebp
  00048	5d		 pop	 ebp
  00049	c2 08 00	 ret	 8
?AndDataByte@CPCICard@@QAEXKE@Z ENDP			; CPCICard::AndDataByte
_TEXT	ENDS
PUBLIC	?AndOrDataDword@CPCICard@@QAEXKKK@Z		; CPCICard::AndOrDataDword
; Function compile flags: /Odtp
;	COMDAT ?AndOrDataDword@CPCICard@@QAEXKKK@Z
_TEXT	SEGMENT
_this$ = -8						; size = 4
_Result$ = -4						; size = 4
_Offset$ = 8						; size = 4
_Data$ = 12						; size = 4
_Mask$ = 16						; size = 4
?AndOrDataDword@CPCICard@@QAEXKKK@Z PROC		; CPCICard::AndOrDataDword, COMDAT
; _this$ = ecx

; 461  : {

  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

; 462  :     LockCard();

  00009	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0000c	e8 00 00 00 00	 call	 ?LockCard@CPCICard@@QAEXXZ ; CPCICard::LockCard

; 463  :     DWORD Result(ReadDword(Offset));

  00011	8b 45 08	 mov	 eax, DWORD PTR _Offset$[ebp]
  00014	50		 push	 eax
  00015	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00018	e8 00 00 00 00	 call	 ?ReadDword@CPCICard@@QAEKK@Z ; CPCICard::ReadDword
  0001d	89 45 fc	 mov	 DWORD PTR _Result$[ebp], eax

; 464  :     Result = (Result & Mask) | Data;

  00020	8b 4d fc	 mov	 ecx, DWORD PTR _Result$[ebp]
  00023	23 4d 10	 and	 ecx, DWORD PTR _Mask$[ebp]
  00026	0b 4d 0c	 or	 ecx, DWORD PTR _Data$[ebp]
  00029	89 4d fc	 mov	 DWORD PTR _Result$[ebp], ecx

; 465  :     WriteDword(Offset, Result);

  0002c	8b 55 fc	 mov	 edx, DWORD PTR _Result$[ebp]
  0002f	52		 push	 edx
  00030	8b 45 08	 mov	 eax, DWORD PTR _Offset$[ebp]
  00033	50		 push	 eax
  00034	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00037	e8 00 00 00 00	 call	 ?WriteDword@CPCICard@@QAEXKK@Z ; CPCICard::WriteDword

; 466  :     UnlockCard();

  0003c	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0003f	e8 00 00 00 00	 call	 ?UnlockCard@CPCICard@@QAEXXZ ; CPCICard::UnlockCard

; 467  : }

  00044	8b e5		 mov	 esp, ebp
  00046	5d		 pop	 ebp
  00047	c2 0c 00	 ret	 12			; 0000000cH
?AndOrDataDword@CPCICard@@QAEXKKK@Z ENDP		; CPCICard::AndOrDataDword
_TEXT	ENDS
PUBLIC	?AndOrDataWord@CPCICard@@QAEXKKG@Z		; CPCICard::AndOrDataWord
; Function compile flags: /Odtp
;	COMDAT ?AndOrDataWord@CPCICard@@QAEXKKG@Z
_TEXT	SEGMENT
_this$ = -8						; size = 4
_Result$ = -4						; size = 2
_Offset$ = 8						; size = 4
_Data$ = 12						; size = 4
_Mask$ = 16						; size = 2
?AndOrDataWord@CPCICard@@QAEXKKG@Z PROC			; CPCICard::AndOrDataWord, COMDAT
; _this$ = ecx

; 452  : {

  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

; 453  :     LockCard();

  00009	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0000c	e8 00 00 00 00	 call	 ?LockCard@CPCICard@@QAEXXZ ; CPCICard::LockCard

; 454  :     WORD Result(ReadWord(Offset));

  00011	8b 45 08	 mov	 eax, DWORD PTR _Offset$[ebp]
  00014	50		 push	 eax
  00015	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00018	e8 00 00 00 00	 call	 ?ReadWord@CPCICard@@QAEGK@Z ; CPCICard::ReadWord
  0001d	66 89 45 fc	 mov	 WORD PTR _Result$[ebp], ax

; 455  :     Result = static_cast<BYTE>((Result & Mask) | Data);

  00021	0f b7 4d fc	 movzx	 ecx, WORD PTR _Result$[ebp]
  00025	0f b7 55 10	 movzx	 edx, WORD PTR _Mask$[ebp]
  00029	23 ca		 and	 ecx, edx
  0002b	0b 4d 0c	 or	 ecx, DWORD PTR _Data$[ebp]
  0002e	66 0f b6 c1	 movzx	 ax, cl
  00032	66 89 45 fc	 mov	 WORD PTR _Result$[ebp], ax

; 456  :     WriteWord(Offset, Result);

  00036	0f b7 4d fc	 movzx	 ecx, WORD PTR _Result$[ebp]
  0003a	51		 push	 ecx
  0003b	8b 55 08	 mov	 edx, DWORD PTR _Offset$[ebp]
  0003e	52		 push	 edx
  0003f	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00042	e8 00 00 00 00	 call	 ?WriteWord@CPCICard@@QAEXKG@Z ; CPCICard::WriteWord

; 457  :     UnlockCard();

  00047	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0004a	e8 00 00 00 00	 call	 ?UnlockCard@CPCICard@@QAEXXZ ; CPCICard::UnlockCard

; 458  : }

  0004f	8b e5		 mov	 esp, ebp
  00051	5d		 pop	 ebp
  00052	c2 0c 00	 ret	 12			; 0000000cH
?AndOrDataWord@CPCICard@@QAEXKKG@Z ENDP			; CPCICard::AndOrDataWord
_TEXT	ENDS
PUBLIC	?AndOrDataByte@CPCICard@@QAEXKKE@Z		; CPCICard::AndOrDataByte
; Function compile flags: /Odtp
;	COMDAT ?AndOrDataByte@CPCICard@@QAEXKKE@Z
_TEXT	SEGMENT
_this$ = -8						; size = 4
_Result$ = -1						; size = 1
_Offset$ = 8						; size = 4
_Data$ = 12						; size = 4
_Mask$ = 16						; size = 1
?AndOrDataByte@CPCICard@@QAEXKKE@Z PROC			; CPCICard::AndOrDataByte, COMDAT
; _this$ = ecx

; 443  : {

  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

; 444  :     LockCard();

  00009	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0000c	e8 00 00 00 00	 call	 ?LockCard@CPCICard@@QAEXXZ ; CPCICard::LockCard

; 445  :     BYTE Result(ReadByte(Offset));

  00011	8b 45 08	 mov	 eax, DWORD PTR _Offset$[ebp]
  00014	50		 push	 eax
  00015	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00018	e8 00 00 00 00	 call	 ?ReadByte@CPCICard@@QAEEK@Z ; CPCICard::ReadByte
  0001d	88 45 ff	 mov	 BYTE PTR _Result$[ebp], al

; 446  :     Result = static_cast<BYTE>((Result & Mask) | Data);

  00020	0f b6 4d ff	 movzx	 ecx, BYTE PTR _Result$[ebp]
  00024	0f b6 55 10	 movzx	 edx, BYTE PTR _Mask$[ebp]
  00028	23 ca		 and	 ecx, edx
  0002a	0b 4d 0c	 or	 ecx, DWORD PTR _Data$[ebp]
  0002d	88 4d ff	 mov	 BYTE PTR _Result$[ebp], cl

; 447  :     WriteByte(Offset, Result);

  00030	0f b6 45 ff	 movzx	 eax, BYTE PTR _Result$[ebp]
  00034	50		 push	 eax
  00035	8b 4d 08	 mov	 ecx, DWORD PTR _Offset$[ebp]
  00038	51		 push	 ecx
  00039	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0003c	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 448  :     UnlockCard();

  00041	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00044	e8 00 00 00 00	 call	 ?UnlockCard@CPCICard@@QAEXXZ ; CPCICard::UnlockCard

; 449  : }

  00049	8b e5		 mov	 esp, ebp
  0004b	5d		 pop	 ebp
  0004c	c2 0c 00	 ret	 12			; 0000000cH
?AndOrDataByte@CPCICard@@QAEXKKE@Z ENDP			; CPCICard::AndOrDataByte
_TEXT	ENDS
PUBLIC	?MaskDataDword@CPCICard@@QAEXKKK@Z		; CPCICard::MaskDataDword
; Function compile flags: /Odtp
;	COMDAT ?MaskDataDword@CPCICard@@QAEXKKK@Z
_TEXT	SEGMENT
_this$ = -8						; size = 4
_Result$ = -4						; size = 4
_Offset$ = 8						; size = 4
_Data$ = 12						; size = 4
_Mask$ = 16						; size = 4
?MaskDataDword@CPCICard@@QAEXKKK@Z PROC			; CPCICard::MaskDataDword, COMDAT
; _this$ = ecx

; 434  : {

  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

; 435  :     LockCard();

  00009	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0000c	e8 00 00 00 00	 call	 ?LockCard@CPCICard@@QAEXXZ ; CPCICard::LockCard

; 436  :     DWORD Result(ReadDword(Offset));

  00011	8b 45 08	 mov	 eax, DWORD PTR _Offset$[ebp]
  00014	50		 push	 eax
  00015	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00018	e8 00 00 00 00	 call	 ?ReadDword@CPCICard@@QAEKK@Z ; CPCICard::ReadDword
  0001d	89 45 fc	 mov	 DWORD PTR _Result$[ebp], eax

; 437  :     Result = (Result & ~Mask) | (Data & Mask);

  00020	8b 4d 10	 mov	 ecx, DWORD PTR _Mask$[ebp]
  00023	f7 d1		 not	 ecx
  00025	23 4d fc	 and	 ecx, DWORD PTR _Result$[ebp]
  00028	8b 55 0c	 mov	 edx, DWORD PTR _Data$[ebp]
  0002b	23 55 10	 and	 edx, DWORD PTR _Mask$[ebp]
  0002e	0b ca		 or	 ecx, edx
  00030	89 4d fc	 mov	 DWORD PTR _Result$[ebp], ecx

; 438  :     WriteDword(Offset, Result);

  00033	8b 45 fc	 mov	 eax, DWORD PTR _Result$[ebp]
  00036	50		 push	 eax
  00037	8b 4d 08	 mov	 ecx, DWORD PTR _Offset$[ebp]
  0003a	51		 push	 ecx
  0003b	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0003e	e8 00 00 00 00	 call	 ?WriteDword@CPCICard@@QAEXKK@Z ; CPCICard::WriteDword

; 439  :     UnlockCard();

  00043	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00046	e8 00 00 00 00	 call	 ?UnlockCard@CPCICard@@QAEXXZ ; CPCICard::UnlockCard

; 440  : }

  0004b	8b e5		 mov	 esp, ebp
  0004d	5d		 pop	 ebp
  0004e	c2 0c 00	 ret	 12			; 0000000cH
?MaskDataDword@CPCICard@@QAEXKKK@Z ENDP			; CPCICard::MaskDataDword
_TEXT	ENDS
PUBLIC	?MaskDataWord@CPCICard@@QAEXKGG@Z		; CPCICard::MaskDataWord
; Function compile flags: /Odtp
;	COMDAT ?MaskDataWord@CPCICard@@QAEXKGG@Z
_TEXT	SEGMENT
_this$ = -8						; size = 4
_Result$ = -4						; size = 2
_Offset$ = 8						; size = 4
_Data$ = 12						; size = 2
_Mask$ = 16						; size = 2
?MaskDataWord@CPCICard@@QAEXKGG@Z PROC			; CPCICard::MaskDataWord, COMDAT
; _this$ = ecx

; 425  : {

  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

; 426  :     LockCard();

  00009	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0000c	e8 00 00 00 00	 call	 ?LockCard@CPCICard@@QAEXXZ ; CPCICard::LockCard

; 427  :     WORD Result(ReadWord(Offset));

  00011	8b 45 08	 mov	 eax, DWORD PTR _Offset$[ebp]
  00014	50		 push	 eax
  00015	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00018	e8 00 00 00 00	 call	 ?ReadWord@CPCICard@@QAEGK@Z ; CPCICard::ReadWord
  0001d	66 89 45 fc	 mov	 WORD PTR _Result$[ebp], ax

; 428  :     Result = (Result & ~Mask) | (Data & Mask);

  00021	0f b7 4d fc	 movzx	 ecx, WORD PTR _Result$[ebp]
  00025	0f b7 55 10	 movzx	 edx, WORD PTR _Mask$[ebp]
  00029	f7 d2		 not	 edx
  0002b	23 ca		 and	 ecx, edx
  0002d	0f b7 45 0c	 movzx	 eax, WORD PTR _Data$[ebp]
  00031	0f b7 55 10	 movzx	 edx, WORD PTR _Mask$[ebp]
  00035	23 c2		 and	 eax, edx
  00037	0b c8		 or	 ecx, eax
  00039	66 89 4d fc	 mov	 WORD PTR _Result$[ebp], cx

; 429  :     WriteWord(Offset, Result);

  0003d	0f b7 45 fc	 movzx	 eax, WORD PTR _Result$[ebp]
  00041	50		 push	 eax
  00042	8b 4d 08	 mov	 ecx, DWORD PTR _Offset$[ebp]
  00045	51		 push	 ecx
  00046	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00049	e8 00 00 00 00	 call	 ?WriteWord@CPCICard@@QAEXKG@Z ; CPCICard::WriteWord

; 430  :     UnlockCard();

  0004e	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00051	e8 00 00 00 00	 call	 ?UnlockCard@CPCICard@@QAEXXZ ; CPCICard::UnlockCard

; 431  : }

  00056	8b e5		 mov	 esp, ebp
  00058	5d		 pop	 ebp
  00059	c2 0c 00	 ret	 12			; 0000000cH
?MaskDataWord@CPCICard@@QAEXKGG@Z ENDP			; CPCICard::MaskDataWord
_TEXT	ENDS
PUBLIC	?MaskDataByte@CPCICard@@QAEXKEE@Z		; CPCICard::MaskDataByte
; Function compile flags: /Odtp
;	COMDAT ?MaskDataByte@CPCICard@@QAEXKEE@Z
_TEXT	SEGMENT
_this$ = -8						; size = 4
_Result$ = -1						; size = 1
_Offset$ = 8						; size = 4
_Data$ = 12						; size = 1
_Mask$ = 16						; size = 1
?MaskDataByte@CPCICard@@QAEXKEE@Z PROC			; CPCICard::MaskDataByte, COMDAT
; _this$ = ecx

; 416  : {

  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

; 417  :     LockCard();

  00009	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0000c	e8 00 00 00 00	 call	 ?LockCard@CPCICard@@QAEXXZ ; CPCICard::LockCard

; 418  :     BYTE Result(ReadByte(Offset));

  00011	8b 45 08	 mov	 eax, DWORD PTR _Offset$[ebp]
  00014	50		 push	 eax
  00015	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00018	e8 00 00 00 00	 call	 ?ReadByte@CPCICard@@QAEEK@Z ; CPCICard::ReadByte
  0001d	88 45 ff	 mov	 BYTE PTR _Result$[ebp], al

; 419  :     Result = (Result & ~Mask) | (Data & Mask);

  00020	0f b6 4d ff	 movzx	 ecx, BYTE PTR _Result$[ebp]
  00024	0f b6 55 10	 movzx	 edx, BYTE PTR _Mask$[ebp]
  00028	f7 d2		 not	 edx
  0002a	23 ca		 and	 ecx, edx
  0002c	0f b6 45 0c	 movzx	 eax, BYTE PTR _Data$[ebp]
  00030	0f b6 55 10	 movzx	 edx, BYTE PTR _Mask$[ebp]
  00034	23 c2		 and	 eax, edx
  00036	0b c8		 or	 ecx, eax
  00038	88 4d ff	 mov	 BYTE PTR _Result$[ebp], cl

; 420  :     WriteByte(Offset, Result);

  0003b	0f b6 45 ff	 movzx	 eax, BYTE PTR _Result$[ebp]
  0003f	50		 push	 eax
  00040	8b 4d 08	 mov	 ecx, DWORD PTR _Offset$[ebp]
  00043	51		 push	 ecx
  00044	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00047	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 421  :     UnlockCard();

  0004c	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0004f	e8 00 00 00 00	 call	 ?UnlockCard@CPCICard@@QAEXXZ ; CPCICard::UnlockCard

; 422  : }

  00054	8b e5		 mov	 esp, ebp
  00056	5d		 pop	 ebp
  00057	c2 0c 00	 ret	 12			; 0000000cH
?MaskDataByte@CPCICard@@QAEXKEE@Z ENDP			; CPCICard::MaskDataByte
_TEXT	ENDS
PUBLIC	?ReadData@CPCICard@@QAE?AVCBitVector@@KK@Z	; CPCICard::ReadData
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?ReadData@CPCICard@@QAE?AVCBitVector@@KK@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?ReadData@CPCICard@@QAE?AVCBitVector@@KK@Z$0
__ehfuncinfo$?ReadData@CPCICard@@QAE?AVCBitVector@@KK@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?ReadData@CPCICard@@QAE?AVCBitVector@@KK@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?ReadData@CPCICard@@QAE?AVCBitVector@@KK@Z
_TEXT	SEGMENT
_this$ = -24						; size = 4
$T349856 = -20						; size = 4
_value$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
___$ReturnUdt$ = 8					; size = 4
_RegisterOffset$ = 12					; size = 4
_RegisterMask$ = 16					; size = 4
?ReadData@CPCICard@@QAE?AVCBitVector@@KK@Z PROC		; CPCICard::ReadData, COMDAT
; _this$ = ecx

; 351  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?ReadData@CPCICard@@QAE?AVCBitVector@@KK@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 0c	 sub	 esp, 12			; 0000000cH
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	50		 push	 eax
  0001c	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001f	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00025	89 4d e8	 mov	 DWORD PTR _this$[ebp], ecx
  00028	c7 45 ec 00 00
	00 00		 mov	 DWORD PTR $T349856[ebp], 0

; 352  :     unsigned long value = 0;

  0002f	c7 45 f0 00 00
	00 00		 mov	 DWORD PTR _value$[ebp], 0

; 353  : 
; 354  :     if (RegisterMask & 0xFFFF0000)

  00036	8b 45 10	 mov	 eax, DWORD PTR _RegisterMask$[ebp]
  00039	25 00 00 ff ff	 and	 eax, -65536		; ffff0000H
  0003e	74 11		 je	 SHORT $LN5@ReadData@3

; 355  :     {
; 356  :         value = static_cast<unsigned long>(ReadDword(RegisterOffset));

  00040	8b 4d 0c	 mov	 ecx, DWORD PTR _RegisterOffset$[ebp]
  00043	51		 push	 ecx
  00044	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00047	e8 00 00 00 00	 call	 ?ReadDword@CPCICard@@QAEKK@Z ; CPCICard::ReadDword
  0004c	89 45 f0	 mov	 DWORD PTR _value$[ebp], eax
  0004f	eb 3c		 jmp	 SHORT $LN4@ReadData@3
$LN5@ReadData@3:

; 357  :     }
; 358  :     else if (RegisterMask & 0xFF00)

  00051	8b 55 10	 mov	 edx, DWORD PTR _RegisterMask$[ebp]
  00054	81 e2 00 ff 00
	00		 and	 edx, 65280		; 0000ff00H
  0005a	74 14		 je	 SHORT $LN3@ReadData@3

; 359  :     {
; 360  :         value = static_cast<unsigned long>(ReadWord(RegisterOffset));

  0005c	8b 45 0c	 mov	 eax, DWORD PTR _RegisterOffset$[ebp]
  0005f	50		 push	 eax
  00060	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00063	e8 00 00 00 00	 call	 ?ReadWord@CPCICard@@QAEGK@Z ; CPCICard::ReadWord
  00068	0f b7 c8	 movzx	 ecx, ax
  0006b	89 4d f0	 mov	 DWORD PTR _value$[ebp], ecx
  0006e	eb 1d		 jmp	 SHORT $LN4@ReadData@3
$LN3@ReadData@3:

; 361  :     }
; 362  :     else if (RegisterMask & 0xFF)

  00070	8b 55 10	 mov	 edx, DWORD PTR _RegisterMask$[ebp]
  00073	81 e2 ff 00 00
	00		 and	 edx, 255		; 000000ffH
  00079	74 12		 je	 SHORT $LN4@ReadData@3

; 363  :     {
; 364  :         value = static_cast<unsigned long>(ReadByte(RegisterOffset));

  0007b	8b 45 0c	 mov	 eax, DWORD PTR _RegisterOffset$[ebp]
  0007e	50		 push	 eax
  0007f	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00082	e8 00 00 00 00	 call	 ?ReadByte@CPCICard@@QAEEK@Z ; CPCICard::ReadByte
  00087	0f b6 c8	 movzx	 ecx, al
  0008a	89 4d f0	 mov	 DWORD PTR _value$[ebp], ecx
$LN4@ReadData@3:

; 365  :     }
; 366  :     return CBitVector(RegisterMask, value);

  0008d	8b 55 f0	 mov	 edx, DWORD PTR _value$[ebp]
  00090	52		 push	 edx
  00091	8b 45 10	 mov	 eax, DWORD PTR _RegisterMask$[ebp]
  00094	50		 push	 eax
  00095	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  00098	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@KK@Z	; CBitVector::CBitVector
  0009d	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  000a4	8b 4d ec	 mov	 ecx, DWORD PTR $T349856[ebp]
  000a7	83 c9 01	 or	 ecx, 1
  000aa	89 4d ec	 mov	 DWORD PTR $T349856[ebp], ecx
  000ad	8b 45 08	 mov	 eax, DWORD PTR ___$ReturnUdt$[ebp]

; 367  : }

  000b0	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  000b3	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000ba	59		 pop	 ecx
  000bb	8b e5		 mov	 esp, ebp
  000bd	5d		 pop	 ebp
  000be	c2 0c 00	 ret	 12			; 0000000cH
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?ReadData@CPCICard@@QAE?AVCBitVector@@KK@Z$0:
  00000	8b 45 ec	 mov	 eax, DWORD PTR $T349856[ebp]
  00003	83 e0 01	 and	 eax, 1
  00006	0f 84 0c 00 00
	00		 je	 $LN9@ReadData@3
  0000c	83 65 ec fe	 and	 DWORD PTR $T349856[ebp], -2 ; fffffffeH
  00010	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  00013	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
$LN9@ReadData@3:
  00018	c3		 ret	 0
__ehhandler$?ReadData@CPCICard@@QAE?AVCBitVector@@KK@Z:
  00019	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0001d	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00020	8b 4a f0	 mov	 ecx, DWORD PTR [edx-16]
  00023	33 c8		 xor	 ecx, eax
  00025	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0002a	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?ReadData@CPCICard@@QAE?AVCBitVector@@KK@Z
  0002f	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?ReadData@CPCICard@@QAE?AVCBitVector@@KK@Z ENDP		; CPCICard::ReadData
PUBLIC	?WriteData@CPCICard@@QAEXKKVCBitVector@@@Z	; CPCICard::WriteData
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?WriteData@CPCICard@@QAEXKKVCBitVector@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?WriteData@CPCICard@@QAEXKKVCBitVector@@@Z$0
__ehfuncinfo$?WriteData@CPCICard@@QAEXKKVCBitVector@@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?WriteData@CPCICard@@QAEXKKVCBitVector@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?WriteData@CPCICard@@QAEXKKVCBitVector@@@Z
_TEXT	SEGMENT
_this$ = -24						; size = 4
_mask$ = -20						; size = 4
_value$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
_RegisterOffset$ = 8					; size = 4
_RegisterMask$ = 12					; size = 4
_Data$ = 16						; size = 12
?WriteData@CPCICard@@QAEXKKVCBitVector@@@Z PROC		; CPCICard::WriteData, COMDAT
; _this$ = ecx

; 311  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?WriteData@CPCICard@@QAEXKKVCBitVector@@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 0c	 sub	 esp, 12			; 0000000cH
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	50		 push	 eax
  0001c	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001f	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00025	89 4d e8	 mov	 DWORD PTR _this$[ebp], ecx
  00028	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 312  :     unsigned long mask = Data.mask() & RegisterMask;

  0002f	8d 4d 10	 lea	 ecx, DWORD PTR _Data$[ebp]
  00032	e8 00 00 00 00	 call	 ?mask@CBitVector@@UBEKXZ ; CBitVector::mask
  00037	23 45 0c	 and	 eax, DWORD PTR _RegisterMask$[ebp]
  0003a	89 45 ec	 mov	 DWORD PTR _mask$[ebp], eax

; 313  :     unsigned long value = Data.value();

  0003d	8d 4d 10	 lea	 ecx, DWORD PTR _Data$[ebp]
  00040	e8 00 00 00 00	 call	 ?value@CBitVector@@UBEKXZ ; CBitVector::value
  00045	89 45 f0	 mov	 DWORD PTR _value$[ebp], eax

; 314  : 
; 315  :     if (RegisterMask & 0xFFFF0000)

  00048	8b 45 0c	 mov	 eax, DWORD PTR _RegisterMask$[ebp]
  0004b	25 00 00 ff ff	 and	 eax, -65536		; ffff0000H
  00050	74 34		 je	 SHORT $LN11@WriteData@2

; 316  :     {
; 317  :         if (mask == 0xFFFFFFFF)

  00052	83 7d ec ff	 cmp	 DWORD PTR _mask$[ebp], -1
  00056	75 13		 jne	 SHORT $LN10@WriteData@2

; 318  :         {
; 319  :             WriteDword(RegisterOffset, static_cast<BYTE>(value));

  00058	0f b6 4d f0	 movzx	 ecx, BYTE PTR _value$[ebp]
  0005c	51		 push	 ecx
  0005d	8b 55 08	 mov	 edx, DWORD PTR _RegisterOffset$[ebp]
  00060	52		 push	 edx
  00061	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00064	e8 00 00 00 00	 call	 ?WriteDword@CPCICard@@QAEXKK@Z ; CPCICard::WriteDword

; 320  :         }
; 321  :         else

  00069	eb 16		 jmp	 SHORT $LN9@WriteData@2
$LN10@WriteData@2:

; 322  :         {
; 323  :             MaskDataDword(RegisterOffset, static_cast<BYTE>(value), static_cast<BYTE>(mask));

  0006b	0f b6 45 ec	 movzx	 eax, BYTE PTR _mask$[ebp]
  0006f	50		 push	 eax
  00070	0f b6 4d f0	 movzx	 ecx, BYTE PTR _value$[ebp]
  00074	51		 push	 ecx
  00075	8b 55 08	 mov	 edx, DWORD PTR _RegisterOffset$[ebp]
  00078	52		 push	 edx
  00079	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  0007c	e8 00 00 00 00	 call	 ?MaskDataDword@CPCICard@@QAEXKKK@Z ; CPCICard::MaskDataDword
$LN9@WriteData@2:

; 324  :         }

  00081	e9 86 00 00 00	 jmp	 $LN8@WriteData@2
$LN11@WriteData@2:

; 325  :     }
; 326  :     else if (RegisterMask & 0xFF00)

  00086	8b 45 0c	 mov	 eax, DWORD PTR _RegisterMask$[ebp]
  00089	25 00 ff 00 00	 and	 eax, 65280		; 0000ff00H
  0008e	74 40		 je	 SHORT $LN7@WriteData@2

; 327  :     {
; 328  :         if (mask == 0xFFFF)

  00090	81 7d ec ff ff
	00 00		 cmp	 DWORD PTR _mask$[ebp], 65535 ; 0000ffffH
  00097	75 17		 jne	 SHORT $LN6@WriteData@2

; 329  :         {
; 330  :             WriteWord(RegisterOffset, static_cast<BYTE>(value));

  00099	66 0f b6 4d f0	 movzx	 cx, BYTE PTR _value$[ebp]
  0009e	0f b7 d1	 movzx	 edx, cx
  000a1	52		 push	 edx
  000a2	8b 45 08	 mov	 eax, DWORD PTR _RegisterOffset$[ebp]
  000a5	50		 push	 eax
  000a6	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  000a9	e8 00 00 00 00	 call	 ?WriteWord@CPCICard@@QAEXKG@Z ; CPCICard::WriteWord

; 331  :         }
; 332  :         else

  000ae	eb 1e		 jmp	 SHORT $LN5@WriteData@2
$LN6@WriteData@2:

; 333  :         {
; 334  :             MaskDataWord(RegisterOffset, static_cast<BYTE>(value), static_cast<BYTE>(mask));

  000b0	66 0f b6 4d ec	 movzx	 cx, BYTE PTR _mask$[ebp]
  000b5	0f b7 d1	 movzx	 edx, cx
  000b8	52		 push	 edx
  000b9	66 0f b6 45 f0	 movzx	 ax, BYTE PTR _value$[ebp]
  000be	0f b7 c8	 movzx	 ecx, ax
  000c1	51		 push	 ecx
  000c2	8b 55 08	 mov	 edx, DWORD PTR _RegisterOffset$[ebp]
  000c5	52		 push	 edx
  000c6	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  000c9	e8 00 00 00 00	 call	 ?MaskDataWord@CPCICard@@QAEXKGG@Z ; CPCICard::MaskDataWord
$LN5@WriteData@2:

; 335  :         }

  000ce	eb 3c		 jmp	 SHORT $LN8@WriteData@2
$LN7@WriteData@2:

; 336  :     }
; 337  :     else if (RegisterMask & 0xFF)

  000d0	8b 45 0c	 mov	 eax, DWORD PTR _RegisterMask$[ebp]
  000d3	25 ff 00 00 00	 and	 eax, 255		; 000000ffH
  000d8	74 32		 je	 SHORT $LN8@WriteData@2

; 338  :     {
; 339  :         if (mask == 0xFF)

  000da	81 7d ec ff 00
	00 00		 cmp	 DWORD PTR _mask$[ebp], 255 ; 000000ffH
  000e1	75 13		 jne	 SHORT $LN2@WriteData@2

; 340  :         {
; 341  :             WriteByte(RegisterOffset, static_cast<BYTE>(value));

  000e3	0f b6 4d f0	 movzx	 ecx, BYTE PTR _value$[ebp]
  000e7	51		 push	 ecx
  000e8	8b 55 08	 mov	 edx, DWORD PTR _RegisterOffset$[ebp]
  000eb	52		 push	 edx
  000ec	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  000ef	e8 00 00 00 00	 call	 ?WriteByte@CPCICard@@QAEXKE@Z ; CPCICard::WriteByte

; 342  :         }
; 343  :         else

  000f4	eb 16		 jmp	 SHORT $LN8@WriteData@2
$LN2@WriteData@2:

; 344  :         {
; 345  :             MaskDataByte(RegisterOffset, static_cast<BYTE>(value), static_cast<BYTE>(mask));

  000f6	0f b6 45 ec	 movzx	 eax, BYTE PTR _mask$[ebp]
  000fa	50		 push	 eax
  000fb	0f b6 4d f0	 movzx	 ecx, BYTE PTR _value$[ebp]
  000ff	51		 push	 ecx
  00100	8b 55 08	 mov	 edx, DWORD PTR _RegisterOffset$[ebp]
  00103	52		 push	 edx
  00104	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  00107	e8 00 00 00 00	 call	 ?MaskDataByte@CPCICard@@QAEXKEE@Z ; CPCICard::MaskDataByte
$LN8@WriteData@2:

; 346  :         }
; 347  :     }
; 348  : }

  0010c	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00113	8d 4d 10	 lea	 ecx, DWORD PTR _Data$[ebp]
  00116	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
  0011b	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0011e	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00125	59		 pop	 ecx
  00126	8b e5		 mov	 esp, ebp
  00128	5d		 pop	 ebp
  00129	c2 14 00	 ret	 20			; 00000014H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?WriteData@CPCICard@@QAEXKKVCBitVector@@@Z$0:
  00000	8d 4d 10	 lea	 ecx, DWORD PTR _Data$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__ehhandler$?WriteData@CPCICard@@QAEXKKVCBitVector@@@Z:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a f0	 mov	 ecx, DWORD PTR [edx-16]
  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$?WriteData@CPCICard@@QAEXKKVCBitVector@@@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?WriteData@CPCICard@@QAEXKKVCBitVector@@@Z ENDP		; CPCICard::WriteData
PUBLIC	?ClosePCICard@CPCICard@@IAEXXZ			; CPCICard::ClosePCICard
; Function compile flags: /Odtp
;	COMDAT ?ClosePCICard@CPCICard@@IAEXXZ
_TEXT	SEGMENT
_this$ = -20						; size = 4
_dwStatus$141247 = -16					; size = 4
_hwParam$141246 = -12					; size = 12
?ClosePCICard@CPCICard@@IAEXXZ PROC			; CPCICard::ClosePCICard, COMDAT
; _this$ = ecx

; 154  : {

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

; 155  :     if(m_MemoryBase != NULL)

  00009	8b 45 ec	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	83 78 24 00	 cmp	 DWORD PTR [eax+36], 0
  00010	74 75		 je	 SHORT $LN4@ClosePCICa

; 156  :     {
; 157  :         RestoreState();

  00012	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00015	e8 00 00 00 00	 call	 ?RestoreState@CPCICard@@AAEXXZ ; CPCICard::RestoreState

; 158  : 
; 159  :         // if the chip was not in D0 state we restore the original ACPI power state
; 160  :         if(m_InitialACPIStatus != 0)

  0001a	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  0001d	83 79 38 00	 cmp	 DWORD PTR [ecx+56], 0
  00021	74 0f		 je	 SHORT $LN2@ClosePCICa

; 161  :         {
; 162  :             SetACPIStatus(m_InitialACPIStatus);

  00023	8b 55 ec	 mov	 edx, DWORD PTR _this$[ebp]
  00026	8b 42 38	 mov	 eax, DWORD PTR [edx+56]
  00029	50		 push	 eax
  0002a	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  0002d	e8 00 00 00 00	 call	 ?SetACPIStatus@CPCICard@@AAEXH@Z ; CPCICard::SetACPIStatus
$LN2@ClosePCICa:

; 163  :         }
; 164  : 
; 165  : 
; 166  :         TDSDrvParam hwParam;
; 167  : 
; 168  :         hwParam.dwAddress = m_MemoryBase;

  00032	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00035	8b 51 24	 mov	 edx, DWORD PTR [ecx+36]
  00038	89 55 f4	 mov	 DWORD PTR _hwParam$141246[ebp], edx

; 169  :         hwParam.dwValue   = m_MemoryLength;

  0003b	8b 45 ec	 mov	 eax, DWORD PTR _this$[ebp]
  0003e	8b 48 20	 mov	 ecx, DWORD PTR [eax+32]
  00041	89 4d f8	 mov	 DWORD PTR _hwParam$141246[ebp+4], ecx

; 170  : 
; 171  :         DWORD dwStatus = m_pDriver->SendCommand(IOCTL_DSDRV_UNMAPMEMORY,
; 172  :                                                 &hwParam,
; 173  :                                                 sizeof(hwParam));

  00044	6a 0c		 push	 12			; 0000000cH
  00046	8d 55 f4	 lea	 edx, DWORD PTR _hwParam$141246[ebp]
  00049	52		 push	 edx
  0004a	68 2c 28 00 8d	 push	 -1929369556		; 8d00282cH
  0004f	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00052	83 c1 28	 add	 ecx, 40			; 00000028H
  00055	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCHardwareDriver@@@@QBEPAVCHardwareDriver@@XZ ; SmartPtr<CHardwareDriver>::operator->
  0005a	8b c8		 mov	 ecx, eax
  0005c	e8 00 00 00 00	 call	 ?SendCommand@CHardwareDriver@@QAEKKPAXK@Z ; CHardwareDriver::SendCommand
  00061	89 45 f0	 mov	 DWORD PTR _dwStatus$141247[ebp], eax

; 174  : 
; 175  :         if (dwStatus != ERROR_SUCCESS)

  00064	83 7d f0 00	 cmp	 DWORD PTR _dwStatus$141247[ebp], 0
  00068	74 13		 je	 SHORT $LN1@ClosePCICa

; 176  :         {
; 177  :             LOG(1, _T("UnmapMemory failed 0x%x"), dwStatus);

  0006a	8b 45 f0	 mov	 eax, DWORD PTR _dwStatus$141247[ebp]
  0006d	50		 push	 eax
  0006e	68 00 00 00 00	 push	 OFFSET ??_C@_1DA@PEDDHBBH@?$AAU?$AAn?$AAm?$AAa?$AAp?$AAM?$AAe?$AAm?$AAo?$AAr?$AAy?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AA0?$AAx?$AA?$CF?$AAx?$AA?$AA@
  00073	6a 01		 push	 1
  00075	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  0007a	83 c4 0c	 add	 esp, 12			; 0000000cH
$LN1@ClosePCICa:

; 178  :         }
; 179  : 
; 180  :         m_bOpen = FALSE;

  0007d	8b 4d ec	 mov	 ecx, DWORD PTR _this$[ebp]
  00080	c7 41 14 00 00
	00 00		 mov	 DWORD PTR [ecx+20], 0
$LN4@ClosePCICa:

; 181  :     }
; 182  : }

  00087	8b e5		 mov	 esp, ebp
  00089	5d		 pop	 ebp
  0008a	c3		 ret	 0
?ClosePCICard@CPCICard@@IAEXXZ ENDP			; CPCICard::ClosePCICard
_TEXT	ENDS
PUBLIC	?OpenPCICard@CPCICard@@QAEHGGH@Z		; CPCICard::OpenPCICard
; Function compile flags: /Odtp
;	COMDAT ?OpenPCICard@CPCICard@@QAEHGGH@Z
_TEXT	SEGMENT
_this$ = -48						; size = 4
_dwReturnedLength$ = -44				; size = 4
_dwStatus$ = -40					; size = 4
_dwLength$ = -36					; size = 4
_PCICardInfo$ = -32					; size = 20
_hwParam$ = -12						; size = 12
_VendorID$ = 8						; size = 2
_DeviceID$ = 12						; size = 2
_DeviceIndex$ = 16					; size = 4
?OpenPCICard@CPCICard@@QAEHGGH@Z PROC			; CPCICard::OpenPCICard, COMDAT
; _this$ = ecx

; 73   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 30	 sub	 esp, 48			; 00000030H
  00006	89 4d d0	 mov	 DWORD PTR _this$[ebp], ecx

; 74   :     if(m_bOpen)

  00009	8b 45 d0	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	83 78 14 00	 cmp	 DWORD PTR [eax+20], 0
  00010	74 08		 je	 SHORT $LN7@OpenPCICar

; 75   :     {
; 76   :         ClosePCICard();

  00012	8b 4d d0	 mov	 ecx, DWORD PTR _this$[ebp]
  00015	e8 00 00 00 00	 call	 ?ClosePCICard@CPCICard@@IAEXXZ ; CPCICard::ClosePCICard
$LN7@OpenPCICar:

; 77   :     }
; 78   :     m_DeviceId = DeviceID;

  0001a	8b 4d d0	 mov	 ecx, DWORD PTR _this$[ebp]
  0001d	66 8b 55 0c	 mov	 dx, WORD PTR _DeviceID$[ebp]
  00021	66 89 51 08	 mov	 WORD PTR [ecx+8], dx

; 79   :     m_VendorId = VendorID;

  00025	8b 45 d0	 mov	 eax, DWORD PTR _this$[ebp]
  00028	66 8b 4d 08	 mov	 cx, WORD PTR _VendorID$[ebp]
  0002c	66 89 48 0a	 mov	 WORD PTR [eax+10], cx

; 80   : 
; 81   :     TDSDrvParam hwParam;
; 82   :     DWORD dwReturnedLength;
; 83   :     DWORD dwStatus;
; 84   :     DWORD dwLength;
; 85   :     TPCICARDINFO PCICardInfo;
; 86   : 
; 87   :     hwParam.dwAddress = VendorID;

  00030	0f b7 55 08	 movzx	 edx, WORD PTR _VendorID$[ebp]
  00034	89 55 f4	 mov	 DWORD PTR _hwParam$[ebp], edx

; 88   :     hwParam.dwValue = DeviceID;

  00037	0f b7 45 0c	 movzx	 eax, WORD PTR _DeviceID$[ebp]
  0003b	89 45 f8	 mov	 DWORD PTR _hwParam$[ebp+4], eax

; 89   :     hwParam.dwFlags = DeviceIndex;

  0003e	8b 4d 10	 mov	 ecx, DWORD PTR _DeviceIndex$[ebp]
  00041	89 4d fc	 mov	 DWORD PTR _hwParam$[ebp+8], ecx

; 90   : 
; 91   :     dwStatus = m_pDriver->SendCommand(IOCTL_DSDRV_GETPCIINFO,
; 92   :                                         &hwParam,
; 93   :                                         sizeof(hwParam),
; 94   :                                         &PCICardInfo,
; 95   :                                         sizeof(TPCICARDINFO),
; 96   :                                         &dwLength);

  00044	8d 55 dc	 lea	 edx, DWORD PTR _dwLength$[ebp]
  00047	52		 push	 edx
  00048	6a 14		 push	 20			; 00000014H
  0004a	8d 45 e0	 lea	 eax, DWORD PTR _PCICardInfo$[ebp]
  0004d	50		 push	 eax
  0004e	6a 0c		 push	 12			; 0000000cH
  00050	8d 4d f4	 lea	 ecx, DWORD PTR _hwParam$[ebp]
  00053	51		 push	 ecx
  00054	68 26 28 00 8d	 push	 -1929369562		; 8d002826H
  00059	8b 4d d0	 mov	 ecx, DWORD PTR _this$[ebp]
  0005c	83 c1 28	 add	 ecx, 40			; 00000028H
  0005f	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCHardwareDriver@@@@QBEPAVCHardwareDriver@@XZ ; SmartPtr<CHardwareDriver>::operator->
  00064	8b c8		 mov	 ecx, eax
  00066	e8 00 00 00 00	 call	 ?SendCommand@CHardwareDriver@@QAEKKPAXK0KPAK@Z ; CHardwareDriver::SendCommand
  0006b	89 45 d8	 mov	 DWORD PTR _dwStatus$[ebp], eax

; 97   : 
; 98   :     if ( dwStatus == ERROR_SUCCESS)

  0006e	83 7d d8 00	 cmp	 DWORD PTR _dwStatus$[ebp], 0
  00072	0f 85 e7 00 00
	00		 jne	 $LN6@OpenPCICar

; 99   :     {
; 100  :         m_MemoryAddress = PCICardInfo.dwMemoryAddress;

  00078	8b 55 d0	 mov	 edx, DWORD PTR _this$[ebp]
  0007b	8b 45 e0	 mov	 eax, DWORD PTR _PCICardInfo$[ebp]
  0007e	89 42 1c	 mov	 DWORD PTR [edx+28], eax

; 101  :         m_MemoryLength = PCICardInfo.dwMemoryLength;

  00081	8b 4d d0	 mov	 ecx, DWORD PTR _this$[ebp]
  00084	8b 55 e4	 mov	 edx, DWORD PTR _PCICardInfo$[ebp+4]
  00087	89 51 20	 mov	 DWORD PTR [ecx+32], edx

; 102  :         m_SubSystemId = PCICardInfo.dwSubSystemId;

  0008a	8b 45 d0	 mov	 eax, DWORD PTR _this$[ebp]
  0008d	8b 4d e8	 mov	 ecx, DWORD PTR _PCICardInfo$[ebp+8]
  00090	89 48 04	 mov	 DWORD PTR [eax+4], ecx

; 103  :         m_BusNumber = PCICardInfo.dwBusNumber;

  00093	8b 55 d0	 mov	 edx, DWORD PTR _this$[ebp]
  00096	8b 45 ec	 mov	 eax, DWORD PTR _PCICardInfo$[ebp+12]
  00099	89 42 0c	 mov	 DWORD PTR [edx+12], eax

; 104  :         m_SlotNumber = PCICardInfo.dwSlotNumber;

  0009c	8b 4d d0	 mov	 ecx, DWORD PTR _this$[ebp]
  0009f	8b 55 f0	 mov	 edx, DWORD PTR _PCICardInfo$[ebp+16]
  000a2	89 51 10	 mov	 DWORD PTR [ecx+16], edx

; 105  : 
; 106  :         hwParam.dwAddress = m_BusNumber;

  000a5	8b 45 d0	 mov	 eax, DWORD PTR _this$[ebp]
  000a8	8b 48 0c	 mov	 ecx, DWORD PTR [eax+12]
  000ab	89 4d f4	 mov	 DWORD PTR _hwParam$[ebp], ecx

; 107  :         hwParam.dwValue = m_MemoryAddress;

  000ae	8b 55 d0	 mov	 edx, DWORD PTR _this$[ebp]
  000b1	8b 42 1c	 mov	 eax, DWORD PTR [edx+28]
  000b4	89 45 f8	 mov	 DWORD PTR _hwParam$[ebp+4], eax

; 108  : 
; 109  :         // we need to map much more memory for the CX2388x
; 110  :         // \todo should make this a parameter
; 111  :         if((VendorID == 0x14F1) && (DeviceID == 0x8800))

  000b7	0f b7 4d 08	 movzx	 ecx, WORD PTR _VendorID$[ebp]
  000bb	81 f9 f1 14 00
	00		 cmp	 ecx, 5361		; 000014f1H
  000c1	75 16		 jne	 SHORT $LN5@OpenPCICar
  000c3	0f b7 55 0c	 movzx	 edx, WORD PTR _DeviceID$[ebp]
  000c7	81 fa 00 88 00
	00		 cmp	 edx, 34816		; 00008800H
  000cd	75 0a		 jne	 SHORT $LN5@OpenPCICar

; 112  :         {
; 113  :             m_MemoryLength = 0x400000;

  000cf	8b 45 d0	 mov	 eax, DWORD PTR _this$[ebp]
  000d2	c7 40 20 00 00
	40 00		 mov	 DWORD PTR [eax+32], 4194304 ; 00400000H
$LN5@OpenPCICar:

; 114  :         }
; 115  : 
; 116  :         hwParam.dwFlags = m_MemoryLength;

  000d9	8b 4d d0	 mov	 ecx, DWORD PTR _this$[ebp]
  000dc	8b 51 20	 mov	 edx, DWORD PTR [ecx+32]
  000df	89 55 fc	 mov	 DWORD PTR _hwParam$[ebp+8], edx

; 117  : 
; 118  :         dwStatus = m_pDriver->SendCommand(IOCTL_DSDRV_MAPMEMORY,
; 119  :                                             &hwParam,
; 120  :                                             sizeof(hwParam),
; 121  :                                             &(m_MemoryBase),
; 122  :                                             sizeof(DWORD),
; 123  :                                             &dwReturnedLength);

  000e2	8d 45 d4	 lea	 eax, DWORD PTR _dwReturnedLength$[ebp]
  000e5	50		 push	 eax
  000e6	6a 04		 push	 4
  000e8	8b 4d d0	 mov	 ecx, DWORD PTR _this$[ebp]
  000eb	83 c1 24	 add	 ecx, 36			; 00000024H
  000ee	51		 push	 ecx
  000ef	6a 0c		 push	 12			; 0000000cH
  000f1	8d 55 f4	 lea	 edx, DWORD PTR _hwParam$[ebp]
  000f4	52		 push	 edx
  000f5	68 28 28 00 8d	 push	 -1929369560		; 8d002828H
  000fa	8b 4d d0	 mov	 ecx, DWORD PTR _this$[ebp]
  000fd	83 c1 28	 add	 ecx, 40			; 00000028H
  00100	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCHardwareDriver@@@@QBEPAVCHardwareDriver@@XZ ; SmartPtr<CHardwareDriver>::operator->
  00105	8b c8		 mov	 ecx, eax
  00107	e8 00 00 00 00	 call	 ?SendCommand@CHardwareDriver@@QAEKKPAXK0KPAK@Z ; CHardwareDriver::SendCommand
  0010c	89 45 d8	 mov	 DWORD PTR _dwStatus$[ebp], eax

; 124  : 
; 125  :         if (dwStatus == ERROR_SUCCESS)

  0010f	83 7d d8 00	 cmp	 DWORD PTR _dwStatus$[ebp], 0
  00113	75 35		 jne	 SHORT $LN4@OpenPCICar

; 126  :         {
; 127  :             m_bOpen = TRUE;

  00115	8b 45 d0	 mov	 eax, DWORD PTR _this$[ebp]
  00118	c7 40 14 01 00
	00 00		 mov	 DWORD PTR [eax+20], 1

; 128  : 
; 129  :             m_InitialACPIStatus = GetACPIStatus();

  0011f	8b 4d d0	 mov	 ecx, DWORD PTR _this$[ebp]
  00122	e8 00 00 00 00	 call	 ?GetACPIStatus@CPCICard@@AAEHXZ ; CPCICard::GetACPIStatus
  00127	8b 4d d0	 mov	 ecx, DWORD PTR _this$[ebp]
  0012a	89 41 38	 mov	 DWORD PTR [ecx+56], eax

; 130  :             // if the chip is powered down we need to power it up
; 131  :             if(m_InitialACPIStatus != 0)

  0012d	8b 55 d0	 mov	 edx, DWORD PTR _this$[ebp]
  00130	83 7a 38 00	 cmp	 DWORD PTR [edx+56], 0
  00134	74 0a		 je	 SHORT $LN3@OpenPCICar

; 132  :             {
; 133  :                 SetACPIStatus(0);

  00136	6a 00		 push	 0
  00138	8b 4d d0	 mov	 ecx, DWORD PTR _this$[ebp]
  0013b	e8 00 00 00 00	 call	 ?SetACPIStatus@CPCICard@@AAEXH@Z ; CPCICard::SetACPIStatus
$LN3@OpenPCICar:

; 134  :             }
; 135  : 
; 136  :             SaveState();

  00140	8b 4d d0	 mov	 ecx, DWORD PTR _this$[ebp]
  00143	e8 00 00 00 00	 call	 ?SaveState@CPCICard@@AAEXXZ ; CPCICard::SaveState

; 137  :         }
; 138  :         else

  00148	eb 13		 jmp	 SHORT $LN2@OpenPCICar
$LN4@OpenPCICar:

; 139  :         {
; 140  :             LOG(1, _T("MapMemory failed 0x%x"), dwStatus);

  0014a	8b 45 d8	 mov	 eax, DWORD PTR _dwStatus$[ebp]
  0014d	50		 push	 eax
  0014e	68 00 00 00 00	 push	 OFFSET ??_C@_1CM@EIICGFLF@?$AAM?$AAa?$AAp?$AAM?$AAe?$AAm?$AAo?$AAr?$AAy?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AA0?$AAx?$AA?$CF?$AAx?$AA?$AA@
  00153	6a 01		 push	 1
  00155	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  0015a	83 c4 0c	 add	 esp, 12			; 0000000cH
$LN2@OpenPCICar:

; 141  :         }
; 142  : 
; 143  :     }
; 144  :     else

  0015d	eb 1d		 jmp	 SHORT $LN1@OpenPCICar
$LN6@OpenPCICar:

; 145  :     {
; 146  :         LOG(1, _T("GetPCIInfo failed for %X %X failed 0x%x"), VendorID, DeviceID, dwStatus);

  0015f	8b 4d d8	 mov	 ecx, DWORD PTR _dwStatus$[ebp]
  00162	51		 push	 ecx
  00163	0f b7 55 0c	 movzx	 edx, WORD PTR _DeviceID$[ebp]
  00167	52		 push	 edx
  00168	0f b7 45 08	 movzx	 eax, WORD PTR _VendorID$[ebp]
  0016c	50		 push	 eax
  0016d	68 00 00 00 00	 push	 OFFSET ??_C@_1FA@DJKBOENM@?$AAG?$AAe?$AAt?$AAP?$AAC?$AAI?$AAI?$AAn?$AAf?$AAo?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AA?$CF?$AAX?$AA?5?$AA?$CF?$AAX?$AA?5?$AAf?$AAa?$AAi?$AAl@
  00172	6a 01		 push	 1
  00174	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00179	83 c4 14	 add	 esp, 20			; 00000014H
$LN1@OpenPCICar:

; 147  :     }
; 148  : 
; 149  : 
; 150  :     return m_bOpen;

  0017c	8b 4d d0	 mov	 ecx, DWORD PTR _this$[ebp]
  0017f	8b 41 14	 mov	 eax, DWORD PTR [ecx+20]

; 151  : }

  00182	8b e5		 mov	 esp, ebp
  00184	5d		 pop	 ebp
  00185	c2 0c 00	 ret	 12			; 0000000cH
?OpenPCICard@CPCICard@@QAEHGGH@Z ENDP			; CPCICard::OpenPCICard
_TEXT	ENDS
PUBLIC	??1CPCICard@@IAE@XZ				; CPCICard::~CPCICard
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1CPCICard@@IAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1CPCICard@@IAE@XZ$0
__ehfuncinfo$??1CPCICard@@IAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1CPCICard@@IAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??1CPCICard@@IAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1CPCICard@@IAE@XZ PROC				; CPCICard::~CPCICard, COMDAT
; _this$ = ecx

; 49   : {

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

; 50   :     if(m_bOpen)

  00036	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00039	83 79 14 00	 cmp	 DWORD PTR [ecx+20], 0
  0003d	74 08		 je	 SHORT $LN1@CPCICard

; 51   :     {
; 52   :         ClosePCICard();

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

; 53   :     }
; 54   :     DeleteCriticalSection(&m_CriticalSection);

  00047	8b 55 f0	 mov	 edx, DWORD PTR _this$[ebp]
  0004a	83 c2 3c	 add	 edx, 60			; 0000003cH
  0004d	52		 push	 edx
  0004e	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__DeleteCriticalSection@4

; 55   : }

  00054	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0005b	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0005e	83 c1 28	 add	 ecx, 40			; 00000028H
  00061	e8 00 00 00 00	 call	 ??1?$SmartPtr@VCHardwareDriver@@@@QAE@XZ ; SmartPtr<CHardwareDriver>::~SmartPtr<CHardwareDriver>
  00066	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00069	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00070	59		 pop	 ecx
  00071	8b e5		 mov	 esp, ebp
  00073	5d		 pop	 ebp
  00074	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1CPCICard@@IAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	83 c1 28	 add	 ecx, 40			; 00000028H
  00006	e9 00 00 00 00	 jmp	 ??1?$SmartPtr@VCHardwareDriver@@@@QAE@XZ ; SmartPtr<CHardwareDriver>::~SmartPtr<CHardwareDriver>
__ehhandler$??1CPCICard@@IAE@XZ:
  0000b	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000f	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00012	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  00015	33 c8		 xor	 ecx, eax
  00017	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0001c	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??1CPCICard@@IAE@XZ
  00021	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1CPCICard@@IAE@XZ ENDP				; CPCICard::~CPCICard
PUBLIC	?ManageData@CPCICard@@QAEXKKVCBitMask@@@Z	; CPCICard::ManageData
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?ManageData@CPCICard@@QAEXKKVCBitMask@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?ManageData@CPCICard@@QAEXKKVCBitMask@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?ManageData@CPCICard@@QAEXKKVCBitMask@@@Z$1
	DD	00H
	DD	FLAT:__unwindfunclet$?ManageData@CPCICard@@QAEXKKVCBitMask@@@Z$2
__ehfuncinfo$?ManageData@CPCICard@@QAEXKKVCBitMask@@@Z DD 019930522H
	DD	03H
	DD	FLAT:__unwindtable$?ManageData@CPCICard@@QAEXKKVCBitMask@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?ManageData@CPCICard@@QAEXKKVCBitMask@@@Z
_TEXT	SEGMENT
tv157 = -64						; size = 4
tv160 = -60						; size = 4
_this$ = -56						; size = 4
$T352465 = -52						; size = 4
_bytesWritten$141379 = -48				; size = 4
_data$141376 = -44					; size = 12
_writeData$141378 = -32					; size = 4
_bytesRead$141370 = -28					; size = 4
_readData$141369 = -24					; size = 4
_minimalSize$141361 = -20				; size = 4
_minimalMask$141360 = -16				; size = 4
__$EHRec$ = -12						; size = 12
_RegisterOffset$ = 8					; size = 4
_RegisterMask$ = 12					; size = 4
_DataMask$ = 16						; size = 8
?ManageData@CPCICard@@QAEXKKVCBitMask@@@Z PROC		; CPCICard::ManageData, COMDAT
; _this$ = ecx

; 370  : {

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

; 371  :     if (m_hStateFile != INVALID_HANDLE_VALUE)

  00030	8b 45 c8	 mov	 eax, DWORD PTR _this$[ebp]
  00033	83 78 30 ff	 cmp	 DWORD PTR [eax+48], -1
  00037	0f 84 2d 01 00
	00		 je	 $LN11@ManageData

; 372  :     {
; 373  :         DWORD minimalMask = RegisterMask & DataMask.mask();

  0003d	8d 4d 10	 lea	 ecx, DWORD PTR _DataMask$[ebp]
  00040	e8 00 00 00 00	 call	 ?mask@CBitMask@@UBEKXZ	; CBitMask::mask
  00045	23 45 0c	 and	 eax, DWORD PTR _RegisterMask$[ebp]
  00048	89 45 f0	 mov	 DWORD PTR _minimalMask$141360[ebp], eax

; 374  :         DWORD minimalSize;
; 375  : 
; 376  :         if (minimalMask & 0xFFFF0000)

  0004b	8b 4d f0	 mov	 ecx, DWORD PTR _minimalMask$141360[ebp]
  0004e	81 e1 00 00 ff
	ff		 and	 ecx, -65536		; ffff0000H
  00054	74 09		 je	 SHORT $LN10@ManageData

; 377  :         {
; 378  :             minimalSize = 4;

  00056	c7 45 ec 04 00
	00 00		 mov	 DWORD PTR _minimalSize$141361[ebp], 4
  0005d	eb 3b		 jmp	 SHORT $LN9@ManageData
$LN10@ManageData:

; 379  :         }
; 380  :         else if (minimalMask & 0xFF00)

  0005f	8b 55 f0	 mov	 edx, DWORD PTR _minimalMask$141360[ebp]
  00062	81 e2 00 ff 00
	00		 and	 edx, 65280		; 0000ff00H
  00068	74 09		 je	 SHORT $LN8@ManageData

; 381  :         {
; 382  :             minimalSize = 2;

  0006a	c7 45 ec 02 00
	00 00		 mov	 DWORD PTR _minimalSize$141361[ebp], 2
  00071	eb 27		 jmp	 SHORT $LN9@ManageData
$LN8@ManageData:

; 383  :         }
; 384  :         else if (minimalMask & 0xFF)

  00073	8b 45 f0	 mov	 eax, DWORD PTR _minimalMask$141360[ebp]
  00076	25 ff 00 00 00	 and	 eax, 255		; 000000ffH
  0007b	74 09		 je	 SHORT $LN6@ManageData

; 385  :         {
; 386  :             minimalSize = 1;

  0007d	c7 45 ec 01 00
	00 00		 mov	 DWORD PTR _minimalSize$141361[ebp], 1

; 387  :         }
; 388  :         else

  00084	eb 14		 jmp	 SHORT $LN9@ManageData
$LN6@ManageData:

; 389  :         {
; 390  :             return;

  00086	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0008d	8d 4d 10	 lea	 ecx, DWORD PTR _DataMask$[ebp]
  00090	e8 00 00 00 00	 call	 ??1CBitMask@@UAE@XZ	; CBitMask::~CBitMask
  00095	e9 df 00 00 00	 jmp	 $LN12@ManageData
$LN9@ManageData:

; 391  :         }
; 392  : 
; 393  :         if (m_bStateIsReading)

  0009a	8b 4d c8	 mov	 ecx, DWORD PTR _this$[ebp]
  0009d	0f b6 51 34	 movzx	 edx, BYTE PTR [ecx+52]
  000a1	85 d2		 test	 edx, edx
  000a3	74 74		 je	 SHORT $LN4@ManageData

; 394  :         {
; 395  :             DWORD readData = 0;

  000a5	c7 45 e8 00 00
	00 00		 mov	 DWORD PTR _readData$141369[ebp], 0

; 396  :             DWORD bytesRead = 0;

  000ac	c7 45 e4 00 00
	00 00		 mov	 DWORD PTR _bytesRead$141370[ebp], 0

; 397  :             if (ReadFile(m_hStateFile, &readData, minimalSize, &bytesRead, NULL))

  000b3	6a 00		 push	 0
  000b5	8d 45 e4	 lea	 eax, DWORD PTR _bytesRead$141370[ebp]
  000b8	50		 push	 eax
  000b9	8b 4d ec	 mov	 ecx, DWORD PTR _minimalSize$141361[ebp]
  000bc	51		 push	 ecx
  000bd	8d 55 e8	 lea	 edx, DWORD PTR _readData$141369[ebp]
  000c0	52		 push	 edx
  000c1	8b 45 c8	 mov	 eax, DWORD PTR _this$[ebp]
  000c4	8b 48 30	 mov	 ecx, DWORD PTR [eax+48]
  000c7	51		 push	 ecx
  000c8	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__ReadFile@20
  000ce	85 c0		 test	 eax, eax
  000d0	74 45		 je	 SHORT $LN3@ManageData

; 398  :             {
; 399  :                 if (bytesRead == minimalSize)

  000d2	8b 55 e4	 mov	 edx, DWORD PTR _bytesRead$141370[ebp]
  000d5	3b 55 ec	 cmp	 edx, DWORD PTR _minimalSize$141361[ebp]
  000d8	75 3d		 jne	 SHORT $LN3@ManageData

; 400  :                 {
; 401  :                     WriteData(RegisterOffset, RegisterMask, CBitVector(DataMask.mask(), readData));

  000da	83 ec 0c	 sub	 esp, 12			; 0000000cH
  000dd	8b f4		 mov	 esi, esp
  000df	89 65 cc	 mov	 DWORD PTR $T352465[ebp], esp
  000e2	8b 45 e8	 mov	 eax, DWORD PTR _readData$141369[ebp]
  000e5	50		 push	 eax
  000e6	8d 4d 10	 lea	 ecx, DWORD PTR _DataMask$[ebp]
  000e9	e8 00 00 00 00	 call	 ?mask@CBitMask@@UBEKXZ	; CBitMask::mask
  000ee	50		 push	 eax
  000ef	8b ce		 mov	 ecx, esi
  000f1	e8 00 00 00 00	 call	 ??0CBitVector@@QAE@KK@Z	; CBitVector::CBitVector
  000f6	89 45 c4	 mov	 DWORD PTR tv160[ebp], eax
  000f9	8b 4d c4	 mov	 ecx, DWORD PTR tv160[ebp]
  000fc	89 4d c0	 mov	 DWORD PTR tv157[ebp], ecx
  000ff	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  00103	8b 55 0c	 mov	 edx, DWORD PTR _RegisterMask$[ebp]
  00106	52		 push	 edx
  00107	8b 45 08	 mov	 eax, DWORD PTR _RegisterOffset$[ebp]
  0010a	50		 push	 eax
  0010b	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  0010f	8b 4d c8	 mov	 ecx, DWORD PTR _this$[ebp]
  00112	e8 00 00 00 00	 call	 ?WriteData@CPCICard@@QAEXKKVCBitVector@@@Z ; CPCICard::WriteData
$LN3@ManageData:

; 402  :                 }
; 403  :             }
; 404  :         }
; 405  :         else

  00117	eb 51		 jmp	 SHORT $LN11@ManageData
$LN4@ManageData:

; 406  :         {
; 407  :             CBitVector data = ReadData(RegisterOffset, RegisterMask);

  00119	8b 4d 0c	 mov	 ecx, DWORD PTR _RegisterMask$[ebp]
  0011c	51		 push	 ecx
  0011d	8b 55 08	 mov	 edx, DWORD PTR _RegisterOffset$[ebp]
  00120	52		 push	 edx
  00121	8d 45 d4	 lea	 eax, DWORD PTR _data$141376[ebp]
  00124	50		 push	 eax
  00125	8b 4d c8	 mov	 ecx, DWORD PTR _this$[ebp]
  00128	e8 00 00 00 00	 call	 ?ReadData@CPCICard@@QAE?AVCBitVector@@KK@Z ; CPCICard::ReadData
  0012d	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2

; 408  :             DWORD writeData = data.value();

  00131	8d 4d d4	 lea	 ecx, DWORD PTR _data$141376[ebp]
  00134	e8 00 00 00 00	 call	 ?value@CBitVector@@UBEKXZ ; CBitVector::value
  00139	89 45 e0	 mov	 DWORD PTR _writeData$141378[ebp], eax

; 409  :             DWORD bytesWritten = 0;

  0013c	c7 45 d0 00 00
	00 00		 mov	 DWORD PTR _bytesWritten$141379[ebp], 0

; 410  :             WriteFile(m_hStateFile, &writeData, minimalSize, &bytesWritten, NULL);

  00143	6a 00		 push	 0
  00145	8d 4d d0	 lea	 ecx, DWORD PTR _bytesWritten$141379[ebp]
  00148	51		 push	 ecx
  00149	8b 55 ec	 mov	 edx, DWORD PTR _minimalSize$141361[ebp]
  0014c	52		 push	 edx
  0014d	8d 45 e0	 lea	 eax, DWORD PTR _writeData$141378[ebp]
  00150	50		 push	 eax
  00151	8b 4d c8	 mov	 ecx, DWORD PTR _this$[ebp]
  00154	8b 51 30	 mov	 edx, DWORD PTR [ecx+48]
  00157	52		 push	 edx
  00158	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__WriteFile@20

; 411  :         }

  0015e	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  00162	8d 4d d4	 lea	 ecx, DWORD PTR _data$141376[ebp]
  00165	e8 00 00 00 00	 call	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
$LN11@ManageData:

; 412  :     }
; 413  : }

  0016a	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00171	8d 4d 10	 lea	 ecx, DWORD PTR _DataMask$[ebp]
  00174	e8 00 00 00 00	 call	 ??1CBitMask@@UAE@XZ	; CBitMask::~CBitMask
$LN12@ManageData:
  00179	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0017c	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00183	59		 pop	 ecx
  00184	5e		 pop	 esi
  00185	8b e5		 mov	 esp, ebp
  00187	5d		 pop	 ebp
  00188	c2 10 00	 ret	 16			; 00000010H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?ManageData@CPCICard@@QAEXKKVCBitMask@@@Z$0:
  00000	8d 4d 10	 lea	 ecx, DWORD PTR _DataMask$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1CBitMask@@UAE@XZ	; CBitMask::~CBitMask
__unwindfunclet$?ManageData@CPCICard@@QAEXKKVCBitMask@@@Z$1:
  00008	8b 4d cc	 mov	 ecx, DWORD PTR $T352465[ebp]
  0000b	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__unwindfunclet$?ManageData@CPCICard@@QAEXKKVCBitMask@@@Z$2:
  00010	8d 4d d4	 lea	 ecx, DWORD PTR _data$141376[ebp]
  00013	e9 00 00 00 00	 jmp	 ??1CBitVector@@UAE@XZ	; CBitVector::~CBitVector
__ehhandler$?ManageData@CPCICard@@QAEXKKVCBitMask@@@Z:
  00018	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0001c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0001f	8b 4a c4	 mov	 ecx, DWORD PTR [edx-60]
  00022	33 c8		 xor	 ecx, eax
  00024	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00029	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?ManageData@CPCICard@@QAEXKKVCBitMask@@@Z
  0002e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?ManageData@CPCICard@@QAEXKKVCBitMask@@@Z ENDP		; CPCICard::ManageData
END
